MetaCore/docs/architecture.md

28 lines
957 B
Markdown

# MetaCore Architecture Notes
## Runtime split
- `MetaEditor` owns editor tooling and future Dear ImGui/ImGuizmo integration.
- `MetaPlayer` owns runtime playback and future RmlUi integration.
- `MetaCore` owns shared domain logic and backend abstractions.
## Data split
- Project data: `MetaCore.project.json`
- Scene data: `Scenes/*.mcscene.json`
- Asset metadata: `Library/AssetDB.json` and per-asset `.meta`
- Editor layout data: `Library/Layout/editor_layout.json`
## Backend split
- `platform/panda` hides Panda-specific details.
- `engine/render` owns renderer-facing types and shader library definitions.
- `engine/runtime_ui` owns runtime UI-facing document abstractions.
## Design rules
- UI never mutates the domain directly.
- Scene data never stores editor-only or runtime cache state.
- Renderer configuration is driven by data objects, not by ad-hoc tag strings.
- New engine modules should expose narrow service-oriented interfaces.