3.0 KiB
Windows setup notes
Current scaffold assumptions
- Visual Studio 2022 is available
- CMake is available
vcpkgmay not be installed yet- Panda3D C++ SDK may not be installed yet
Bootstrap
cd D:\MetaCore
.\scripts\bootstrap_vcpkg.ps1
.\scripts\detect_panda_sdk.ps1
cmake --preset vs2022-debug
cmake --build --preset build-debug
ctest --preset test-debug
Integration build on this machine
Installed/confirmed dependencies:
- Panda3D SDK:
D:\PythonProject\Panda3D-1.10.16-x64 vcpkg:D:\vcpkgimguiimguizmormluifmt
Integration configure/build/test:
cd D:\MetaCore
cmake --preset vs2022-integration-debug
cmake --build --preset build-integration-debug
ctest --preset test-integration-debug
Confirmed Panda3D SDK path on this machine
Current detected candidate:
D:\PythonProject\Panda3D-1.10.16-x64
The project also exposes METACORE_PANDA3D_ROOT as a CMake cache path so the Panda backend integration can
use this installation directly once the stub backend is replaced.
External integrations still stubbed
- Panda3D window/context creation and message loop
- Dear ImGui renderer/backend pair
- ImGuizmo viewport manipulator binding
- RmlUi backend renderer and input bridge
These are already isolated behind the current app and engine interfaces, so the next implementation step is to replace the no-op/stub logic rather than redesign the domain model.
Editor shell abstraction
MetaEditor now uses:
IEditorShellas the stable shell interfaceNullEditorShellas the default no-dependency implementationDearImGuiEditorShellas the future Dear ImGui docking implementation
When METACORE_ENABLE_IMGUI is enabled and the real Dear ImGui integration is added, the editor can swap shell
implementations without changing EditorApplication, presenter logic, or the editor-domain services.
DearImGuiEditorShell is now the handoff point for:
- main menu construction
- toolbar group construction
- dock section composition
- inspector field presentation
- shell debug export for layout verification
Current runtime behavior:
NullEditorShellis the stable default pathDearImGuiEditorShellis selectable withMETACORE_EDITOR_SHELL=dearimguiDearImGuiEditorShelldefaults to a stable non-rendering mode- experimental headless ImGui frame generation can be enabled with
METACORE_ENABLE_HEADLESS_IMGUI=1 - the experimental headless ImGui mode is not yet considered stable
- when
METACORE_ENABLE_PANDA_WINDOW=1and no frame budget is provided,MetaEditorstays open until the Panda window closes METACORE_EDITOR_FRAME_COUNTcan be set to bound editor runtime during probes and CI-like runs
Optional GUI feature toggles
The project already exposes these CMake options:
METACORE_ENABLE_PANDA3DMETACORE_ENABLE_IMGUIMETACORE_ENABLE_IMGUIZMOMETACORE_ENABLE_RMLUI
They currently act as compile-time integration flags and are safe to leave OFF until the matching SDKs are installed.