88 lines
5.4 KiB
Markdown
88 lines
5.4 KiB
Markdown
# Implementation checkpoints
|
|
|
|
This log records working implementation and observed validation. It does not replace
|
|
the acceptance criteria in `PLAN.md`. Incomplete platform or workflow checks remain open.
|
|
|
|
## Checkpoint 1 — native foundation and independent subsystems
|
|
|
|
Implemented:
|
|
|
|
- C++20 CMake presets, pinned dependency archives with SHA-256 verification, and separate targets.
|
|
- Core persistent IDs, SHA-256, atomic file replacement, JSON IO, and project path boundaries.
|
|
- Explicit schema registration, document transactions, revisions, retry keys, Undo/Redo,
|
|
recovery records, unknown extension preservation, migrations, and nested template resolution.
|
|
- EnTT runtime with real Box2D/Box3D, fixed ticks, deferred changes, checked handles,
|
|
interpolation, and statically linked example behaviors.
|
|
- GLB/glTF asset import, cooked mesh data, stable source identity, cache generations,
|
|
reimport conflicts, cancellation, and the optional Blender export add-on.
|
|
- Direct Vulkan renderer, Slang shaders, sprites/meshes, basic PBR and directional
|
|
shadows, texture upload, resize, capture, and SDL input.
|
|
- English MkDocs/Material manual and an image prototype for the future retained editor UI.
|
|
|
|
Observed validation on Linux:
|
|
|
|
- Integrated headless CTest: authoring, runtime, asset pipeline, Blender bundle, core — 5/5 passed.
|
|
- Integrated Clang 21.1.8/Ninja build with Vulkan: 7/7 tests passed, including offscreen GPU rendering.
|
|
- Independent runtime and asset AddressSanitizer/UndefinedBehaviorSanitizer checks passed.
|
|
- Renderer offscreen/visible tests exercised NVIDIA RTX 2080 Ti with Vulkan validation.
|
|
- MkDocs strict build passed with MkDocs 1.6.1 and Material 9.7.7.
|
|
|
|
The full editor, user-project build pipeline, MCP integration, standalone exports,
|
|
and Windows acceptance were still being implemented at that checkpoint. Later progress is recorded below.
|
|
|
|
Known intermediate constraints include box-only physics colliders, root-level physics
|
|
objects, static glTF triangles/UV0, a conservative serial renderer, and then-unfinished
|
|
world-preserving authoring reparent operations (completed in checkpoint 2). These remain implementation work or
|
|
explicit profile limits to review during final acceptance.
|
|
|
|
## Checkpoint 2 — integrated Editor, gameplay iteration and export
|
|
|
|
Implemented and integrated:
|
|
|
|
- Separate Player and SchemaExporter executables; statically linked project gameplay,
|
|
configurable simulation settings, real contact-based grounded queries, and four
|
|
compiled scripting tutorials embedded directly into the English MkDocs manual.
|
|
- Shared authoring commands and a real stdio MCP server, optimistic revisions,
|
|
transactional retries, jobs/cancellation, recovery of unsaved documents, and
|
|
viewport capture in graphical sessions only.
|
|
- Cancellable native subprocess execution, incremental project builds, schema export,
|
|
binary scene/resource packaging, distinct Debug development and Release export
|
|
directories, immutable published generations and retained last-good builds.
|
|
- A native retained UI with pinned FreeType/HarfBuzz and bundled Noto Sans:
|
|
scene tree, schema Inspector, viewport camera/picking/gizmos, assets, diagnostics,
|
|
build/play controls, commands, recovery and startup-loaded extension action panels.
|
|
- Exact-build native Editor SDK, dependency validation, owner-bound registrations,
|
|
example Beacon runtime component/editor command/panel, and unknown-data preservation.
|
|
- Full world-preserving TRS reparent with explicit rejection of unsupported shear.
|
|
- Read-only cooked asset target for Player. Import/build/editor/MCP services remain
|
|
outside the shipping runtime dependency graph.
|
|
|
|
Observed validation:
|
|
|
|
- Integrated Linux Clang 21 build: 19 CTests pass, including GPU rendering, retained
|
|
widgets, Editor authoring interaction, actual plugin loading, real MCP stdio,
|
|
process/cook contracts, and all four compiled gameplay tutorials.
|
|
- Real 2D and imported-glTF 3D standalone exports render with zero Vulkan validation
|
|
errors on NVIDIA RTX 2080 Ti. Changing gameplay rebuilds metadata; failed C++
|
|
compilation preserves the last successful published build.
|
|
- Runtime/tutorial checks also pass with Clang 18; runtime ASan/UBSan checks pass.
|
|
- Unmodified Blender 4.5.3 exports through the optional add-on. Real Editor imports
|
|
preserve output IDs after rename/geometry edits, report deleted-output conflicts,
|
|
retain the last generation on failure, and preserve separate scene placement/color.
|
|
Reproduce with `tools/verify_blender_roundtrip.py --blender PATH --editor PATH`.
|
|
- Strict MkDocs build passes. Tutorial source snippets are compiled by CTest.
|
|
- Previous checkpoint headless Linux and Windows GitHub CI passed after portability
|
|
fixes. New checkpoint and full Windows graphical/export checks are separate work;
|
|
Linux validation does not imply Windows validation.
|
|
|
|
This is an implementation checkpoint, not an MVP release. Finished playable sample
|
|
projects, complete Windows graphical/export acceptance, fresh-install checks,
|
|
performance measurements, and final UX review remain. Standalone image import is
|
|
integrated but its dedicated PNG/JPEG edge-case checks are the next asset task.
|
|
|
|
The baseline profile currently uses box colliders, root-level rigid bodies, static
|
|
triangle glTF meshes/UV0, basic PBR/directional shadows and a conservative serial
|
|
Vulkan renderer. Advanced rendering and broader content profiles remain later work.
|
|
The generated UI reference determines visual direction only; architecture, behavior
|
|
and acceptance criteria remain authoritative.
|