Alpha v0.1.0 PyCharm 2025.1+

BlendCharm

BlendCharm bridges PyCharm and Blender's extension system, giving you project scaffolding, hot-reload, manifest management, and integrated run configurations — without leaving the IDE.

Vendor Rich Spencer
Plugin ID com.richspencer.blendcharm
Platform IntelliJ Platform 2.11.0
Language Kotlin 2.3.10

Features

Project Scaffolding

Create a fully structured Blender extension repository project and/or individual extensions. BlendCharm creates the directory layout in .blendcharm, and sees run configurations automatically.

TCP Hot-Reload Bridge

A lightweight TCP server runs inside PyCharm. Blender connects to BlendCharm and relays commands: reload extensions, execute scripts, activate themes, query Blender state. File saves trigger automatic reloads with a configurable debounce.

Manifest Management

blender_manifest.toml is a first-class citizen. A tabbed editor covers General, Permissions, Platforms, and License fields. BlendCharm validates manifests on startup and detects content drift between project state and disk.

Extension Lifecycle

The BlendCharm tool window lists registered extensions with validation status, active state, and pending-deletion markers. Enable, disable, add, edit, reload, or defer deletion — all without touching Blender directly.

Blender Detection

Cross-platform auto-detection on Windows, macOS, and Linux. BlendCharm probes installations to extract version, Python version, and user resource path. Validation runs at startup with balloon notifications for missing installations.

SPDX License Catalog

Browse and select from the full SPDX license list directly in the manifest editor. License details — OSI approval, FSF libre status, and full license text — are available without leaving PyCharm.

Run Configurations

DEV

Launches Blender and loads your extension source directories. Supports auto-install of active extensions on connect and file-save triggered reload.

DIST

Runs Blender as a background batch process. Output is reported to a dedicated run console with timestamped entries.

VALIDATE

Runs Blender as a background batch process with progress reporting. Useful for pre-submission checks without launching Blender's full UI.

Requirements

IDE
PyCharm Community
2025.1 or later
Blender
4.2 or later
Extension system required
Platform
Windows · macOS · Linux
JVM 21, 64-bit

Configuration

All settings are available under Settings → Tools → BlendCharm.

Setting Default Description
RPC Host 127.0.0.1 Host for the TCP bridge server
Run RPC Port 8888 Port Blender's bridge script connects to
Auto-start RPC server true Start server automatically when a run config launches
Auto-install active extensions true Push active extensions to Blender on first connect
Auto-reload on save true Trigger extension reload when tracked files are saved
Reload debounce 500ms Delay before reload fires after a file save
Tracked file extensions py, toml, xml File types that trigger auto-reload (configurable)
Reload active only true Limit auto-reload to extensions currently marked active
Auto-delete pending on close true Process deferred extension deletions when the project closes

Release Notes

0.1.0 Alpha Initial Release

First public release of BlendCharm. The core development loop is functional: scaffold a project, connect to a running Blender instance, manage extension manifests, and iterate with live-reload. This is an early alpha — expect rough edges, and please report issues on the project repository.

What's Included
  • New Project wizard — blank, new extension, and import-existing modes
  • blender_manifest.toml generation via Velocity templates
  • TCP bridge server with heartbeat, repo caching, and graceful shutdown
  • DEV, DIST, and VALIDATE run configurations with auto-seeding on first open
  • Symlink-based dev repo management with automatic stale-link pruning
  • Extension state machine — enable, disable, deferred-delete lifecycle
  • File-save auto-reload with configurable debounce and tracked extension filter
  • Manifest validation and disk-sync detection on startup
  • SPDX license catalog browser with OSI / FSF libre status
  • Blender installation auto-detection on Windows, macOS, and Linux
  • Tool window with live connection status, uptime counter, and extension list
  • Project view decorator — strikethrough styling for pending-deletion extensions
  • Run console with timestamped output helpers
Known Limitations
  • Debug run mode is scaffolded but disabled for all modes. Debugger support is planned for 0.2.0.
  • Manifest parsing uses regex rather than a proper TOML library. Works for standard blender_manifest.toml structure but may be fragile for unusual formatting.
  • Some diagnostic output is logged at WARN level instead of DEBUG or INFO (tracked as BC-119).