# Project map ## Reference client - Root: `../40250/Server Client TMP4/ClientVS22/source` - High-level game and packet flow: `UserInterface` - actors, motion, maps, flying objects: `GameLib` - rendering, input, collision primitives: `EterLib` - effects: `EffectLib` - Granny integration: `EterGrnLib` - audio: `MilesLib` - terrain: `PRTerrainLib` Use the Visual Studio project and active preprocessor flags to distinguish reachable product code from disabled, obsolete, and third-party code. ## Current client - GDScript runtime and tests: `project/` - native extension: `extension/` - format readers: `formats/` - shared/native libraries: `libgr2/` - extracted assets and tables: `assets/` - numerical reference oracle: `oracle/` - host-side tools: `tools/` ## Existing evidence - `docs/CLIENT-GAP.md`: historical broad gap analysis; migrate useful claims into contracts rather than trusting status text. - `docs/CLIENT-PARITY-AUDIT-AND-FIX-GUIDE.md`: existing methodology and high-risk domains. - `docs/CLIENT-40250-PORT.md`: porting context. - `docs/PARITY-GAP.md`: visual/rendering gap notes. - `oracle/run-diff-suite.sh`: Granny numerical comparison suite. - `project/test_*_parity.gd` and `project/*_test.gd`: existing tests; inspect assertions before treating them as evidence. ## Typical verification commands Run a narrow Godot test with: ```bash godot --headless --path project --script project/test_name.gd ``` Some scripts expect the path relative to `project/` instead: ```bash godot --headless --path project --script test_name.gd ``` Follow the convention already used by the selected test. Always finish code changes with `git diff --check`.