This repository is the single authoritative source tree for EDMG Studio.
Studio is not a sidecar anymore. The desktop shell, React frontend, FastAPI backend, vendored EDMG engine packages, setup flow, release packaging, and support tooling all converge on one product path:
studio/edmg-studio/
The older standalone-engine installers, duplicate Electron shell, and extra README entrypoints have been retired so the repo presents one product instead of multiple competing workflows.
The legacy standalone web UI prototypes have also been retired. Their planning and audio-reactive capabilities now live inside the Studio app workbenches:
studio/edmg-studio/src/workbenches/AiNlpWorkbench.tsxstudio/edmg-studio/src/workbenches/AudioReactiveWorkbench.tsx
Windows:
RUN_ME.batmacOS/Linux:
./run_me.shThose launchers open the Studio dev launcher in studio/edmg-studio/tools/launcher_gui.py, which
keeps the UI, backend, and Studio Home storage aligned with the same settings
used by the packaged app.
studio/edmg-studio/Electron shell, preload, main-process runtime, React/Vite frontend, packaging scripts, release validation, and the only Node/pnpm package root in the repo.studio/edmg-studio/python_backend/FastAPI backend plus the vendoredenhanced_deforum_music_generatoranddeforum_musicengine packages that power planning, analysis, schedules, and EDMG Core support.studio/edmg-studio/tools/launcher_gui.pyShared dev launcher and Studio Home bootstrap flow.studio/edmg-studio/packaging/windows/Windows-first release orchestration for the packaged Studio app.
Studio separates the app install directory from the heavy runtime storage root.
The Studio Home contains:
datamodelscachelogsexternalelectron
That keeps large downloads, render caches, and external tools off the app
install path and allows migration to another drive or mount such as D:\ on
Windows or /mnt/media/EDMG-Studio on Linux.
- Run all JS/Electron commands from
studio/edmg-studio/. - Use Node.js
20.19+or22.12+; Node 22 LTS is pinned instudio/edmg-studio/.node-version. - The canonical package manager is
pnpm@10.33.0, pinned instudio/edmg-studio/package.json. - The shipped desktop app version also comes from
studio/edmg-studio/package.json#version.
- Python is pinned to 3.12 in
.python-version. uv0.11.28 manages Python acquisition, the backend environment, locking, tests, linting, and PyInstaller builds.studio/edmg-studio/python_backend/uv.lockis committed release input.- Select exactly one accelerator extra:
cpu,directml, orcuda; compose it with capability extras such asaudio,asr, andinternal-video. - Packaged Electron applications include the PyInstaller backend and do not require end users to install Python or uv.
See docs/PYTHON_TOOLCHAIN.md for commands and the lock-update policy.
- studio/edmg-studio/README.md
- docs/TESTING_QUICKSTART.md
- docs/PYTHON_TOOLCHAIN.md
- docs/UV_MIGRATION_INVENTORY.md
- RELEASE.md
- docs/STUDIO_RELEASE_RUNBOOK.md
- docs/STUDIO_REPO_MAP.md
- docs/MODEL_MANAGER.md
- studio/edmg-studio/docs/STUDIO_MODULARITY.md
- docs/STUDIO_FORGE.md
- docs/UNIFIED_INTERNAL_RENDERER_PLAN.md
- docs/VISUAL_DNA_AND_RENDER_CONDUCTOR_SPEC.md
- docs/STARLIFT_VM_DEPLOY.md
- docs/GCP_GPU_VM_DEPLOY.md
- docs/AI_PROVIDERS.md
- docs/HF_VIDEO_MODELS.md
- Repo-level tests live under
tests/; backend tests live understudio/edmg-studio/python_backend/. - Run both scopes from the repo root with
uv run --project studio/edmg-studio/python_backend --frozen --extra cpu --extra core --extra audio --group test python scripts/run_pytest_scopes.py. - The runner checks the committed lock and performs a frozen CPU-profile sync before executing either scope.
- Planner default: NVIDIA Nemotron Ultra via
nemotron_cloud(NIM) - Local Ollama planner:
nemotron-3-ultra:cloudor low-resourceqwen3:4b - OpenAI-compatible default model:
nvidia/llama-3.1-nemotron-ultra-253b-v1 - Broad still-image default: SDXL Base 1.0
- Fast still-image option: SD3.5 Large Turbo
- Reference still guidance: SD3.5 ControlNet Blur, Canny, and Depth
- Primary HF video backend: Wan2.2 TI2V 5B
- Short image-to-video fallback: SVD XT Img2Vid
- Low-spec:
qwen3:4b(Ollama) + SDXL Base 1.0 - Mid-range: Nemotron cloud or
qwen3:8b+ SDXL Base 1.0 + SD3.5 Large Turbo + SD3.5 Blur/Canny - High-end: Nemotron cloud + SDXL Base 1.0 + SD3.5 Large Turbo + SD3.5 Blur/Canny/Depth + Wan2.2 TI2V 5B
- Repo-root
sitecustomize.pyand the repo-rootlibrosa/package are source-tree compatibility shims for development and tests. - Packaged/backend install flows rely on the declared Python dependencies and do not package those repo-root shims.
- Studio-side bridge: usable. The repo can preview, export, build an Unreal import plan, and import returned renders back into canonical project outputs.
- Unreal-side runtime integration: partial. There is no verified in-editor smoke test on this machine, no packaged Unreal plugin/module, no live OSC/WebSocket/Remote Control execution path, no one-click Unreal render job launcher, and no deeper Sequencer build beyond the first importer pass.
The repo root now keeps only thin launch aliases and monolith-level docs. The
runtime code, packaging logic, backend engine packages, and operator tooling
live under studio/edmg-studio/.