|
| 1 | +# BUILD_PR_LEVEL_01_RENDERING_VECTOR_BOUNDARY_AND_PHYSICS_CLOSEOUT |
| 2 | + |
| 3 | +## Purpose |
| 4 | +Close the combined section-1 residue for rendering/vector boundary placement and physics boundary truthfulness. |
| 5 | + |
| 6 | +## Applied Delta |
| 7 | + |
| 8 | +### 1) Vector drawing moved to rendering ownership |
| 9 | +- Added canonical rendering-owned module: |
| 10 | + - `src/engine/rendering/VectorDrawing.js` |
| 11 | +- Updated rendering barrel: |
| 12 | + - `src/engine/rendering/index.js` now exports `transformPoints` and `drawVectorShape` |
| 13 | +- Kept compatibility for legacy vector boundary imports: |
| 14 | + - `src/engine/vector/VectorDrawing.js` re-exports from rendering |
| 15 | + - `src/engine/vector/index.js` now resolves drawing exports from rendering path |
| 16 | + |
| 17 | +### 2) Vector math moved to shared math ownership |
| 18 | +- Added canonical shared math module: |
| 19 | + - `src/shared/math/vectorMath.js` |
| 20 | +- Updated compatibility layer: |
| 21 | + - `src/engine/vector/VectorMath.js` re-exports from shared math |
| 22 | + - `src/engine/vector/index.js` resolves `vectorFromAngle` from shared math |
| 23 | + |
| 24 | +### 3) Physics boundary now contains real reusable helpers |
| 25 | +- Added reusable helpers under `src/engine/physics/`: |
| 26 | + - `drag.js` (`applyDrag`) |
| 27 | + - `arcadeBody.js` (`stepArcadeBody`) |
| 28 | + - `integration.js` (`integrateVelocity2D`) |
| 29 | + - `index.js` export surface |
| 30 | +- Normalized existing physics-system surface to use engine physics boundary: |
| 31 | + - `src/engine/systems/PhysicsSystem.js` now re-exports from `src/engine/physics` |
| 32 | + |
| 33 | +### 4) Import normalization where touched |
| 34 | +- Updated representative runtime imports: |
| 35 | + - `games/GravityWell/game/GravityWellWorld.js` |
| 36 | + - `games/GravityWell/game/GravityWellScene.js` |
| 37 | +- Updated focused tests to canonical boundaries: |
| 38 | + - `tests/vector/VectorMath.test.mjs` |
| 39 | + - `tests/final/PrecisionCollisionSystems.test.mjs` |
| 40 | + - `tests/core/Section1FinalResidueStructure.test.mjs` |
| 41 | + |
| 42 | +## Roadmap Status Marker Updates |
| 43 | +- `implementation PRs executed` -> `[x]` |
| 44 | +- `src/engine/physics` -> `[x]` |
| 45 | + |
| 46 | +No roadmap prose text was rewritten. |
| 47 | + |
| 48 | +## Validation |
| 49 | +- `node --check` on touched source/test files. |
| 50 | +- `node tests/core/Section1FinalResidueStructure.test.mjs` |
| 51 | +- `node tests/render/Renderer.test.mjs` |
| 52 | +- `node tests/scenes/SceneManager.test.mjs` |
| 53 | +- `node --input-type=module -e "import { run } from './tests/vector/VectorMath.test.mjs'; run();"` |
| 54 | +- `node --input-type=module -e "import { run } from './tests/final/PrecisionCollisionSystems.test.mjs'; run();"` |
| 55 | +- `rg -n "from '/src/engine/rendering/.*vectorMath|from '/src/shared/math/.*VectorDrawing" src shared` (boundary sanity check) |
| 56 | + |
| 57 | +## Result Summary |
| 58 | +- `VectorDrawing` now lives in rendering ownership. |
| 59 | +- `VectorMath` now lives in shared math ownership. |
| 60 | +- `src/engine/physics` now contains reusable physics-domain helpers, not proxy-only exports. |
| 61 | +- Section-1 rendering/physics markers are truthfully complete for this boundary slice. |
| 62 | + |
0 commit comments