Releases: 3dvm/openstudiohub
Release list
v0.7.0: Architecture & Stability Update
Welcome to v0.7.0! As outlined in our roadmap, this release represents a massive milestone for OpenStudioHub. Before introducing new AI features and render farm orchestration, we dedicated this update to technical excellence. We have completely overhauled the codebase to follow a Domain-Driven Design (DDD) and MVVM architecture, significantly reducing technical debt, increasing test coverage, and laying a rock-solid foundation for v1.0.0.
Major Architectural Refactor (Domain-Driven Design)
We have dismantled the legacy "God objects" (AuthManager, VaultManager, ProjectBuilder, LocalInstaller, env_launcher) and decoupled the interface from the business logic.
- Domain Layer (
src/domain/): Introduced pure, isolated domain models and value objects across bounded contexts:identity,production,qa,vault,workspace, andshared_kernel. - Application Services (
src/application/): Extracted orchestrators into dedicated services (LaunchService,InstallationService,ProductionManager, etc.) and introduced an in-process Message Bus for domain events. - Infrastructure Layer (
src/infrastructure/): Created theKitsuProductionRepositoryas an anti-corruption layer for Gazu, alongside isolated VCS, NAS, and Sandbox adapters. - MVVM Interface (
src/interfaces/qt/): Fully migrated the PySide6 UI to a Model-View-ViewModel pattern, separating state management (viewmodels/) from presentation (views/,components/,widgets/). - App Renaming: Standardized the main entry point to
openstudiohub.py(formerlyopenstudio_hub.py).
New Features & Core Improvements
Project Audit & Repair Engine
Added a robust health-check and repair system (ProjectAuditService & ProjectRepairService) to automatically detect and fix state desyncs between your NAS and Kitsu. Includes a new TD UI Dialog to fix:
- NAS Ghosts: Filesystem topography exists, but the Kitsu project is missing.
- Kitsu Orphans: Kitsu project exists, but the local physical topography is missing.
- Blueprint Recovery: Automatically regenerates missing or corrupted
project_init.jsonfiles.
Strict Sandbox Environment Contract
Replaced the scattered string-based environment variables with a strongly-typed SandboxEnvironment contract (src/domain/shared_kernel/env_contract.py). This guarantees 100% parity and safety when injecting Kitsu credentials, project topography, and context data into the isolated Blender subprocesses.
Blender 4.2+ Extension Support
Rewrote the Vault's add-on parser (src/domain/vault/addon.py). The Hub now safely parses modern blender_manifest.toml files alongside legacy __init__.py (bl_info) dicts using pure Regex, eliminating the need to execute untrusted code during validation.
Unified Naming Policy
Introduced NamingPolicy as the single source of truth for semantic topography. Slugification (lowercase, spaces to underscores), workfile path generation, and Sparse Checkout (Jailing) paths are now completely standardized across the Hub and Headless Builders.
Add-on & DCC Integrations (OpenStudio Toolkit)
- Publish Manager UI: Revamped the viewport panel from "Kitsu: Shot Builder" to the "OpenStudio: Publish Manager". It now reads the active production context directly from the injected Hub environment.
- Gatekeeper Enhancements: Extracted the QA sanity rules (
is_dirty_transform,is_out_of_bounds,is_valid_object_name) into pure Python domain rules so they can be validated outside of Blender. - Safe Kitsu Wake-up: Improved
bootstrap.pyandheadless_builder.pyto safely wake up and authenticate the Kitsu extension in Blender 4.2+ without triggering RNA memory crashes.
Testing, CI/CD & Documentation
- Massive Test Coverage: Added over 60 unit tests covering Identity, Production, Vault manifests, Workspace jailing, QA rules, and ViewModels.
- GitHub Actions: Added a new
build-develop.ymlworkflow for manual and development branch compilation. - Production Manager Guide: Added a comprehensive
pm-guide.mddocumentation covering the Pipeline Wizard, Batch Spawning, and Editorial Hand-offs. - Roadmap Published: Added our official roadmap tracking the journey from v0.7.0 to v1.0.0.
Full Changelog: v0.6.5...v0.7.0
v0.6.5
Full Changelog: v0.5.5...v0.6.5
Release Notes - OpenStudioHub v0.6.5 (Unstable)
Welcome to version 0.6.5! This update marks a milestone in the development of OpenStudioHub. We have closed the main work cycle ("Golden Path"): from the inception of a project to the rendering of shots, including automatic quality control and local infrastructure management.
Although we are still polishing details and fixing bugs (it's Unstable after all!), the core engine of the application is now ready to boost your studio's productions.
##Main Features (For Artists and Managers)
The Gatekeeper: Your new best friend before Publishing (v0.5.0)
No more stress over sending broken files and endless manual reviews.
-
Auto-repair (Sanity Check): The Gatekeeper now silently audits and corrects dirty geometry, purges orphan data, and fixes unapplied scales.
-
"The Janitor": If you used a downloaded texture in your personal folder, the system detects it (Out-of-Bounds), alerts you, and automatically copies the files to the secure project folders on the studio's network.
-
The Synergy Hook: Upon passing the checks, the Hub automatically triggers Blender Studio Tools addon (Blender Kitsu) to generate and publish your playblast without friction.
Big Kitsu Integration: Batch Creation & Path Resolver (v0.6.3)
The Production Manager now has absolute control directly from the Hub interface.
-
Batch Spawning: The PM can read approved shots and assets in Kitsu and inject all their folders and master
.blendfiles into the SVN repository at once with a single click. -
Automatic Resolution: Zero human error when creating folders. The Hub translates Kitsu data into structured physical paths (e.g.,
shots/sq010/sh010) using itsPathResolverengine.
New Artist Dashboard & Injected Environment (v0.5.5 - v0.5.7)
-
Visual Redesign: A much cleaner, elastic interface adapted to our corporate colors to list your active tasks.
-
Magic Pre-Flight: Upon hitting "Launch Project", the Hub now silently injects your credentials, project ID, and the studio's physical preferences directly into Blender's memory (RNA). Everything is ready for the Kitsu add-on to work without you configuring anything.
-
Contextual Workspaces: If you open a "Storyboard" or "Editorial" task, the Hub forces Blender to directly open that specific workspace to save you clicks.
Watchtower Integration (v0.6.5)
- Visualize the entire production progress. Supervisors and PMs can now see a visual report of the rendered videos and playblasts by simply pressing the "Watchtower" button in the Hub, which spins up a temporary server without extra configurations.
Infrastructure and Backend (For the Tech Team / TD)
The magic behind the scenes that keeps the studio secure and standardized:
-
ProjectBuilder and B2B Vault (v0.6.0): The New Project Wizard now dynamically extracts templates and dependencies directly from the NAS. The engine builds the entire base topography of the project, makes the initial commit, and updates the SSoT.
-
Jailing / Sparse Checkout Engine (v0.4.0): Industrial-grade security for freelancers. The Hub reads
*-meta.jsonmanifests and executes a recursive algorithm to download exclusively the files and textures the artist needs, isolating the rest of the intellectual property. -
Process Guardian and Version Control: The system now handles file locking (
svn lock) upon opening them for editing and prohibits closing the Hub if it detects Blender is still running, avoiding repository corruption and preventing files from getting locked on the server. -
ConfigFactory (v0.6.1-patch): A new visual panel for the TD to configure the Nextcloud path, SVN, and Cloud servers directly, saving changes bidirectionally in a secure master file (
settings.json). -
Migration to PySide6: Goodbye to 4K monitor rendering issues. We have migrated the graphical architecture to Qt to ensure full Thread-Safe support and a smooth experience.
Additional Notes and Known Bugs
- We are aware that Kitsu validation might fail if there are discrepancies between the physical disk and the name in Gazu. An initial SSoT system has been implemented to mitigate this, but we suggest maintaining manual sync if projects are renamed.
Thank you for being part of this milestone! Your feedback is vital as we move towards version 1.0.0.
OpenStudio Hub v0.2.0: Context-Aware Tooling & Blender 5.0 Integration
This release consolidates the foundation of our dynamic environment injection. OpenStudio Hub is now capable of orchestrating the Blender ecosystem, ensuring artists have exactly the tools they need based on their discipline, shielding credential security, and guaranteeing native compatibility with Blender 5.0+.
Key Features
- Official Rebranding: Complete transition from Macuare Hub to OpenStudio Hub.
- Context-Aware Tooling: Add-ons are now loaded and injected exclusively based on the TaskType. For example, the
asset_pipelineis only activated for asset creation tasks, keeping the interface clean for other disciplines. - Blender 5.0+ Compatibility: The sandboxing architecture was restructured to support the new extension system (
user_default), correctly mapping the namespaces (bl_ext.user_default.*).
Security & Authentication (Zero-Disk Passwords)
- Ephemeral Credential Injection: Kitsu credentials are now extracted into RAM and passed to the Blender subprocess as OS environment variables (
OPENSTUDIO_KITSU_USER,OPENSTUDIO_KITSU_PWD). - Security Monkey Patching (RBAC): The
bootstrap.pyinjector now reads the user's role. If it detects an artist without Lead or TD privileges, it intercepts the Blender API and hides destructive buttons (like Force Push) to protect the repository.
Bugfixes & Stability
- UI Main Thread Protection: Visual updates for the login process were delegated to the CustomTkinter main thread using
.after(0, callback), eradicating unexpected crashes caused by concurrency issues (TclError). - Safe Download Handling: Implemented protection against corrupt downloads (
BadZipFile) during tool extraction from the Nextcloud server. - Accurate Role Detection: Adjusted the logic in the
AuthManagerto correctly interpret Leads by crossing the role and position variables from the Kitsu API.
Full Changelog: v0.1.0...v0.2.0
Macuare Hub v0.1.0 - Initial MVP Alpha
Macuare Hub v0.1.0 - Initial MVP Alpha
We are proud to present the first foundational release of Macuare Hub, a deterministic, data-driven environment manager and launcher tailored for animation and VFX studio scaling.
This standalone executable completely abstracts infrastructure complexity, providing artists with a bulletproof, zero-configuration pipeline setup while enforcing strict security standards.
Key Technical Milestones
- Deterministic DCC Sandboxing: Dynamically intercepts and overrides core environment variables (
BLENDER_USER_RESOURCES,BLENDER_USER_SCRIPTS) at runtime. Forces Blender to isolate preferences, configs, and custom scripts inside local project structures (06_conf_LOCAL), enabling concurrent execution of conflicting DCC versions with a zero global footprint on the artist's workstation. - Just-In-Time (JIT) Credential Interception: Implements a volatile, in-memory credential vault. Production tracking (Kitsu) and version control (SVN) credentials live strictly within volatile RAM during active sessions and are completely wiped upon logout, eliminating the risk of unencrypted plain-text passwords stored on shared disks.
- Role-Based Single Sign-On (SSO): Integrated natively with the CGWire Gazu API. Validates user tokens and permissions directly from the studio's production tracker to display tailored artist dashboards versus advanced TD configuration wizards.
- Production-Ready Freezing: Deployed as a fully standalone frozen binary via PyInstaller, eliminating the need for local Python runtimes or manual dependency management at the artist's machine.
Assets & Distribution Notes
The standalone frozen executable for Linux x64 - GLIBC 2.38 has been compiled and attached below.
Installation (Production Mode):
- Download the attached
Macuare Hubstandalone executable from the Assets section below. - Grant execution permissions:
chmod +x "Macuare Hub" - Launch the Hub directly. No local Python installation or network
pipconfigurations required.
Developed by Ernesto Del Valle M. - Pipeline TD & Technical Artist.