Development & Testing ===================== The "Testing" Run Configuration ------------------------------- Upon project creation, a **Start Blender** (Testing) configuration is created automatically. It is pre-configured for active development: - **Blender Version Dropdown**: Choose between Managed versions (automatically downloaded by the plugin, including 4.2+ and 5.0/5.1), **System Discovered** versions (found on your machine), or **Custom/Pre-installed** (where you manually provide a path). - **Inline Download Button**: If a selected Blender version is missing, an inline **Download** button appears next to the dropdown to fetch it instantly. - **Enable Sandboxed Environment**: (Recommended) Runs Blender using a project-local directory (``.venv/blender_sandbox``). This prevents your development settings from affecting your main Blender installation. - **Import User Configuration**: When sandboxing is enabled, check this to copy your main Blender preferences, startup file, and bookmarks into the sandbox. - **Addon Source Directory**: Specifies where your source code is located (defaults to ``src``). This field supports multiple, comma-separated paths for projects with complex structures. - **Addon Symlink Name**: The name of the folder inside Blender's extension repository that will point to your source. Custom Splash Screens --------------------- In sandboxed mode, the plugin uses a default splash screen to remind you you're in a development session. To use your own, simply place a ``splash.png`` file in your project root. Unit & Integration Testing -------------------------- The plugin includes a comprehensive test suite to ensure stability across different environments: - **Unit Tests**: Cover core plugin functionality, including path resolution and manifest parsing. - **Headless Integration Tests**: Specialized tests for the TCP heartbeat mechanism and hot-reload logic. These tests run a headless instance of Blender to verify bidirectional communication. Offline Telemetry ----------------- To help with debugging without compromising privacy, the plugin includes local-only telemetry. This system records error reports and performance metrics within your project's ``.blender-sandbox`` for manual inspection or troubleshooting assistance.