Reorganize: move studio services to editor folder, group by functionality
Goal
Reorganize the Studio codebase by moving many services from studio/services/ into the editor/ folder, making the studio project more focused on UI-only concerns. Additionally, reorganize the editor/ folder by grouping files by general functionality rather than having a flat structure.
Context / integration points
studio/services/contains many modules that are not inherently UI-related and could live ineditor/.- The
editor/folder has grown organically and lacks functional grouping. - The goal is to make Studio a thinner UI shell, with editor logic in the
editor/crate/folder. - This is an incremental refactoring — not everything needs to move at once, but we should identify candidates and establish the new structure.
Proposed structure
editor/
project/ # Project management: open, close, settings, version migration
assets/ # Asset import, catalog, meta, watcher
scene/ # Scene editing, hierarchy, serialization
ui/ # Editor panels, Inspector, Asset Browser, theme, i18n
tasks/ # Background tasks, progress tracking
input/ # Editor input handling, shortcuts
dirty_check.zig # Dirty asset tracking API (shared with window-close)
...Tasks
- Audit
studio/services/and identify candidates for moving toeditor/ - Propose the new
editor/folder structure with functional groupings - Move identified modules (with deprecation shims or direct updates)
- Update all imports and build paths in Studio
- Verify everything still compiles and works
- Remove old files after confirming migration
- Document the new structure in a brief README or ADR
Acceptance criteria
- Studio contains primarily UI code (panels, docking, shell).
- Editor logic lives in
editor/with clear functional grouping. - All existing functionality continues to work.
- The new structure is documented.