|
| 1 | +# BUILD_PR_LEVEL_02_ENGINE_CORE_BASELINE_AND_BOUNDARY_PASS |
| 2 | + |
| 3 | +## Purpose |
| 4 | +Complete the first combined Section-2 baseline pass with one coherent engine-core boundary normalization slice. |
| 5 | + |
| 6 | +## What was implemented |
| 7 | + |
| 8 | +### 1) Engine-core baseline boundary surface |
| 9 | +- Added `src/engine/core/index.js` as the core public home for: |
| 10 | + - engine boot (`Engine`) |
| 11 | + - timing/frame services (`FrameClock`, `FixedTicker`, `RuntimeMetrics`) |
| 12 | + - event routing integration (`EventBus`) |
| 13 | + - camera integration (`Camera2D`, `followCameraTarget`, `worldRectToScreen`, `updateZoneCamera`) |
| 14 | + |
| 15 | +### 2) Engine-level contracts + public boundary documentation |
| 16 | +- Updated `docs/architecture/engine-api-boundary.md` with: |
| 17 | + - explicit Section-2 baseline public homes for `core`, `scene`, `rendering`, `input`, `physics`, `audio`, `systems` |
| 18 | + - practical public-contract rules for domain `index.js` boundaries |
| 19 | + - explicit combined service cluster contract (timing/frame + events + camera) |
| 20 | +- Updated `src/engine/README.md` to reflect normalized boundaries: |
| 21 | + - `scene/` (not `scenes/`) |
| 22 | + - `rendering/` (not `render/`) |
| 23 | + - removed stale `vector/` key-area reference |
| 24 | + - clarified core bootstrap policy via `core/index.js` |
| 25 | + |
| 26 | +### 3) Focused boundary validation coverage |
| 27 | +- Added `tests/core/EngineCoreBoundaryBaseline.test.mjs` to validate: |
| 28 | + - Section-2 domain public homes are importable and expose expected contracts |
| 29 | + - combined service cluster behavior for timing/frame, event routing, and camera integration |
| 30 | + |
| 31 | +## Section-2 closure status |
| 32 | +- Closed in this PR: |
| 33 | + - core bootstrapping normalized |
| 34 | + - scene management normalized |
| 35 | + - rendering layer normalized |
| 36 | + - input layer normalized |
| 37 | + - physics layer normalized |
| 38 | + - audio layer normalized |
| 39 | + - systems layer normalized |
| 40 | + - engine-level contracts documented |
| 41 | + - engine public boundaries clarified |
| 42 | + - timing/frame services stabilized |
| 43 | + - event routing stabilized |
| 44 | + - camera integration stabilized |
| 45 | +- Remaining residue: |
| 46 | + - none identified in Section-2 checklist after this pass |
| 47 | + |
| 48 | +## Roadmap handling |
| 49 | +- Updated Section-2 status markers only in `docs/dev/roadmaps/MASTER_ROADMAP_HIGH_LEVEL.md`. |
| 50 | +- No roadmap prose rewrites were performed. |
| 51 | + |
| 52 | +## Validation run |
| 53 | +- `node --check src/engine/core/index.js` |
| 54 | +- `node --check tests/core/EngineCoreBoundaryBaseline.test.mjs` |
| 55 | +- `node --input-type=module -e "import { run } from './tests/core/EngineCoreBoundaryBaseline.test.mjs'; run();"` |
| 56 | +- `node --input-type=module -e "import { run } from './tests/core/EngineTiming.test.mjs'; run();"` |
| 57 | +- `node --input-type=module -e "import { run } from './tests/events/EventBus.test.mjs'; run();"` |
| 58 | +- `node --input-type=module -e "import { run } from './tests/scenes/SceneManager.test.mjs'; run();"` |
| 59 | +- `node tests/render/Renderer.test.mjs` |
| 60 | +- `node --input-type=module -e "import { run } from './tests/input/InputService.test.mjs'; run();"` |
| 61 | +- `node --input-type=module -e "import { run } from './tests/audio/AudioService.test.mjs'; run();"` |
| 62 | +- `node tests/core/Section1FinalResidueStructure.test.mjs` |
| 63 | + |
| 64 | +## Packaging |
| 65 | +`<project folder>/tmp/BUILD_PR_LEVEL_02_ENGINE_CORE_BASELINE_AND_BOUNDARY_PASS.zip` |
0 commit comments