docs: mark jajce runtime integration complete

This commit is contained in:
2026-07-05 18:18:08 +02:00
parent 5851c0362a
commit f12fb6ad78
5 changed files with 40 additions and 31 deletions
+16 -9
View File
@@ -253,7 +253,7 @@ This becomes both a regression reference and excellent before/after material.
There is a reproducible baseline showing the existing flat prototype and its
working behaviors.
`tests/flat_map_baseline_test.gd` and
`tests/jajce_runtime_integration_test.gd` and
`docs/baselines/FLAT_MAP_BASELINE.md` establish the executable behavior
baseline. A visual before-clip and frame-time capture remain useful content work
but do not block the architecture gate.
@@ -423,6 +423,14 @@ Once the world composition is stable:
Do not move simulation ownership into `JajceWorld` to make wiring convenient.
**Status: runtime integration complete.** `main.tscn` now instances the reusable
world and points player/simulation adapters at its stable-ID resources and
remaining activity markers. The duplicate flat world objects were removed.
The runtime regression checks Terrain3D presence, 24 navigation routes, core
task execution, starvation/death, player extraction parity, reservations, and
NPC visual lifecycle. Terrain sculpting and presentation polish remain
separate work, not blockers for this wiring milestone.
### Exit condition
The current three NPCs and player can perform all existing prototype behaviors
@@ -593,17 +601,16 @@ Completed:
3. `JajceWorld`, dedicated 512 m Terrain3D seed, and lookdev camera.
4. Initial landmark greybox, stable-ID resources, activity markers, and
navigation spike.
5. Architecture gate, food transactions/events, and validated quicksave.
6. `JajceWorld` runtime integration with bindings and regression coverage.
Next:
1. Pass the mandatory architecture gate before beauty production.
2. Sculpt the Terrain3D ridge, river valley, terraces, and waterfall drop.
3. Establish terrain materials, lighting, water, mist, and foliage.
4. Capture “Jajce Lookdev 01.”
5. Instance `JajceWorld` into `main.tscn`.
6. Reconnect activity markers, rebake navigation, and run regression scenarios.
7. Add profession/readability presentation and the reason inspector.
8. Capture “Simulation Garden 01.”
1. Sculpt the Terrain3D ridge, river valley, terraces, and waterfall drop.
2. Establish terrain materials, lighting, water, mist, and foliage.
3. Capture “Jajce Lookdev 01.”
4. Add profession/readability presentation and the reason inspector.
5. Capture “Simulation Garden 01.”
Do not start with GIS data, a full city, a large asset pack, or more NPC
mechanics. The next proof is a beautiful stage for the systems that already
+2 -2
View File
@@ -647,8 +647,8 @@ Completed after the architecture gate:
The practical next sequence is:
1. Resume Terrain3D sculpting, runtime integration, and the simulation-garden
beauty pass.
1. Sculpt and texture the integrated Terrain3D world as a bounded
simulation-garden beauty pass.
2. Add stylized character and profession readability plus the reason
inspector.
3. Expand persistence only when schedules, player state, or a real save menu
+11 -10
View File
@@ -192,8 +192,8 @@ migration is documented in
- **Language:** GDScript (`odig` analysis with warnings treated as errors)
- **Main scene:** `res://main.tscn`
- **Terrain:** Terrain3D 1.0.2 is installed and enabled
- **Jajce scaffold:** separate 512 m Terrain3D seed, greybox landmarks, stable
ResourceNode placement, lookdev camera, and temporary navigation spike
- **Jajce runtime:** reusable 512 m Terrain3D seed, greybox landmarks, stable
ResourceNode placement, lookdev camera, and tested runtime navigation
- **Terrain compatibility floor:** Godot 4.4 according to the bundled extension
- **Version control:** Git
- **Primary branch:** `main`
@@ -315,8 +315,8 @@ resource source.
### Jajce scaffold
`world/jajce/JajceWorld.tscn` now provides a reusable environment scaffold
separate from `main.tscn`:
`world/jajce/JajceWorld.tscn` provides the reusable environment instanced by
`main.tscn`:
- a centered 512 m flat Terrain3D seed split across four regions;
- dedicated terrain data and assets;
@@ -326,10 +326,10 @@ separate from `main.tscn`:
- a temporary baked navigation loop with 24 tested routes;
- a look-development scene and camera.
This is a placement and integration proof, not the final terrain composition.
`main.tscn` still runs the flat prototype. Terrain3D startup requires several
physics frames before reliable NavigationServer path queries; the scaffold test
captures that synchronization requirement.
This is a runtime integration proof, not the final terrain composition.
Terrain3D startup requires several physics frames before reliable
NavigationServer path queries; the scaffold and runtime tests capture that
synchronization requirement.
### Current UI
@@ -467,9 +467,9 @@ NpcVisual navigates through the active world
├── tests/
│ ├── action_system_boundaries_test.gd
│ ├── deterministic_simulation_test.gd
│ ├── flat_map_baseline_test.gd
│ ├── food_storage_loop_test.gd
│ ├── jajce_world_scaffold_test.gd
│ ├── jajce_runtime_integration_test.gd
│ ├── npc_visual_lifecycle_test.gd
│ ├── resource_node_player_parity_test.gd
│ ├── simulation_definitions_test.gd
@@ -526,7 +526,8 @@ These are expected prototype constraints, not necessarily isolated bugs:
mutation APIs, but selection, execution, target resolution, and active-world
queries now have focused collaborators.
- Path failure and interruption emit a `navigation_failed` signal and send the NPC to wander; this is functional but not yet polished.
- Terrain3D is enabled but not yet used by the main game scene.
- Terrain3D and the Jajce scaffold now run in the main game scene; terrain
sculpting and final presentation are still pending.
- Combat, companions, factions, politics, trade, rumours, quests, persistence,
and regional travel do not yet exist.
- Placeholder geometry is sufficient for debugging but not for build-in-public
+7 -6
View File
@@ -9,7 +9,7 @@
| **3** | Authoritative extraction on completion | ✅ Complete |
| **4a** | Wood target selection (NPC) | ✅ Complete |
| **4b** | Player parity (extraction contract) | ✅ Complete |
| **5** | Jajce world placement | 🔶 Scaffold/navigation proof complete |
| **5** | Jajce world placement and runtime integration | ✅ Complete |
| **6** | Replace remaining activity markers | 🔶 Resource zones removed; activity targets pending |
### Key divergences from the original plan
@@ -493,10 +493,11 @@ baseline.
- use the old task zones only for rest, eat, patrol, and study;
- verify target discovery does not rely on parent scene paths.
**Progress:** `556d0fd` adds the standalone Jajce scaffold, four stable-ID
resources, dedicated Terrain3D seed data, remaining activity markers, and 24
headless navigation-route checks. Runtime `main.tscn` migration is intentionally
deferred until after the architecture gate, so this phase is not yet complete.
**Status: complete.** `556d0fd` added the standalone scaffold and the runtime
now instances it from `main.tscn`. Four stable-ID resources, the remaining
activity markers, player bindings, active-world targeting, and all 24
navigation routes run through `JajceWorld`; duplicate flat-map objects were
removed.
**Exit:** the existing food and wood loops work after moving from the flat map
to Terrain3D.
@@ -584,7 +585,7 @@ resource conservation through debug presentation.
| 10 | Add navigation failure handling (replaces regression scenarios) | ✅ Done | `b8752f8` |
| 11 | Migrate wood | ✅ Done | `c6033b6`, `8049c52` |
| 12 | Give the player the same extraction path | ✅ Done | `326df51` |
| 13 | Continue with the Jajce world scaffold | 🔶 Placement proof done; runtime migration pending | `556d0fd` |
| 13 | Integrate the Jajce world scaffold into runtime | ✅ Done | `556d0fd`, current phase |
## Definition of done for the first migration
+4 -4
View File
@@ -2,13 +2,13 @@
- **Captured:** 2026-07-04
- **Scene:** `res://main.tscn`
- **Automated check:** `res://tests/flat_map_baseline_test.gd`
- **Current contract check:** `res://tests/jajce_runtime_integration_test.gd`
- **Companion resource test:** `res://tests/resource_node_player_parity_test.gd`
## Contract
The flat prototype remains the regression reference while `JajceWorld` is
developed separately.
The captured flat prototype remains the historical behavior reference. The
same contract now runs against the integrated `JajceWorld` runtime.
The automated baseline verifies:
@@ -29,7 +29,7 @@ The companion player-parity scenario verifies:
```powershell
& "C:\Program Files (x86)\Godot\Godot_v4.5.1-stable_win64_console.exe" `
--headless --path . --script res://tests/flat_map_baseline_test.gd
--headless --path . --script res://tests/jajce_runtime_integration_test.gd
& "C:\Program Files (x86)\Godot\Godot_v4.5.1-stable_win64_console.exe" `
--headless --path . --script res://tests/resource_node_player_parity_test.gd