docs: mark Jajce scaffold proof complete

This commit is contained in:
2026-07-04 21:08:16 +02:00
parent 556d0fdc26
commit b50fae671a
4 changed files with 98 additions and 46 deletions
+35 -7
View File
@@ -2,7 +2,7 @@
> Agent-facing context for understanding the project quickly.
>
> Snapshot basis: repository state after commit `0900022`, July 2026. Treat the
> Snapshot basis: repository state after commit `556d0fd`, July 2026. Treat the
> code as the source of truth when this document and the implementation differ.
See the [documentation map](README.md) for the authority and scope of each plan.
@@ -191,6 +191,8 @@ non-resource tasks. The 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
- **Terrain compatibility floor:** Godot 4.4 according to the bundled extension
- **Version control:** Git
- **Primary branch:** `main`
@@ -313,6 +315,24 @@ Storage, rest, study, and guard behavior should later migrate to target types
that match their actual semantics rather than treating every usable object as a
resource source.
### Jajce scaffold
`world/jajce/JajceWorld.tscn` now provides a reusable environment scaffold
separate from `main.tscn`:
- a centered 512 m flat Terrain3D seed split across four regions;
- dedicated terrain data and assets;
- greybox ridge, fortress, terraces, houses, mill, bridge, river, and waterfall;
- four ResourceNodes preserving the flat-map stable IDs;
- remaining food, guard, study, and rest activity markers;
- 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.
### Current UI
A small village panel displays:
@@ -447,8 +467,18 @@ NpcVisual navigates through the active world
│ ├── SimVillage.gd
│ └── SimulationManager.gd
├── tests/
│ ├── flat_map_baseline_test.gd
│ ├── jajce_world_scaffold_test.gd
│ └── resource_node_player_parity_test.gd
├── terrain/jajce/ Dedicated Terrain3D seed data and assets
├── tools/
│ └── generate_jajce_terrain_seed.gd
├── world/
│ ├── jajce/
│ │ ├── JajceWorld.tscn
│ │ ├── JajceLookdev.tscn
│ │ ├── jajce_world.gd
│ │ └── beauty_camera.gd
│ ├── resource_nodes/
│ │ ├── ResourceNode.gd
│ │ ├── ResourceNode.gd.uid
@@ -676,13 +706,11 @@ visual milestone should support or reveal actual simulation state.
## Immediate milestone: scaffold, architecture gate, then simulation garden
Food and wood migration on the flat test map is complete. The next visual step
is a deliberately minimal `JajceWorld` scaffold, greybox, navigation spike, and
resource-placement proof. Do not proceed directly from that proof into
open-ended beauty production.
Food and wood migration and the deliberately minimal `JajceWorld` scaffold,
greybox, navigation spike, and stable-ID placement proof are complete. Do not
proceed directly from that proof into open-ended beauty production.
After the scaffold proves terrain and navigation, complete the architecture
gate:
The architecture gate is now the active milestone:
- deterministic clock and controlled random source;
- fixed-seed headless scenarios with final-state checksums;