28 lines
957 B
Markdown
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.
|