docs: establish simulation architecture gate
This commit is contained in:
@@ -112,7 +112,7 @@ type proves what is actually common.
|
||||
|
||||
## Fit with the current code
|
||||
|
||||
The existing flow is:
|
||||
Before this migration, the flow was:
|
||||
|
||||
```text
|
||||
SimNPC chooses a task string
|
||||
@@ -124,7 +124,7 @@ SimNPC chooses a task string
|
||||
-> SimVillage applies a hard-coded task result
|
||||
```
|
||||
|
||||
The migrated flow should become:
|
||||
The migrated flow is:
|
||||
|
||||
```text
|
||||
SimNPC chooses an action
|
||||
@@ -139,15 +139,16 @@ SimNPC chooses an action
|
||||
-> reservation is released
|
||||
```
|
||||
|
||||
During migration:
|
||||
Current target behavior:
|
||||
|
||||
```text
|
||||
gather_food -> prefer matching ResourceNode -> fallback FarmZone
|
||||
gather_wood -> prefer matching ResourceNode -> fallback ForestZone
|
||||
gather_food -> matching ResourceNode -> recover/wander when unavailable
|
||||
gather_wood -> matching ResourceNode -> recover/wander when unavailable
|
||||
other tasks -> existing zones
|
||||
```
|
||||
|
||||
Fallbacks should log clearly so accidental reliance on zones is visible.
|
||||
Food and wood zone fallback was deliberately removed to preserve resource
|
||||
conservation.
|
||||
|
||||
## Repository-specific file layout
|
||||
|
||||
@@ -472,6 +473,12 @@ authoritative-yield rules.
|
||||
|
||||
### Phase 5 — Jajce world placement
|
||||
|
||||
This phase is a bounded handoff to
|
||||
[the build-in-public visual plan](BUILD_IN_PUBLIC_PLAN.md), not permission for
|
||||
open-ended environment polish. Complete the scaffold, placement, and navigation
|
||||
proof, then pass the learning roadmap's architecture gate before the beauty
|
||||
baseline.
|
||||
|
||||
- place bushes and trees as real world objects in `JajceWorld`;
|
||||
- keep their IDs stable;
|
||||
- validate interaction points against terrain and navigation;
|
||||
@@ -516,7 +523,7 @@ At minimum, exercise:
|
||||
7. NPC dies while working;
|
||||
8. navigation fails;
|
||||
9. node is disabled while reserved;
|
||||
10. fallback zone is used because no matching node exists;
|
||||
10. no matching node causes recovery without zone production; ✅ implemented
|
||||
11. player and NPC contend for the same source; ✅ automated
|
||||
12. duplicate node IDs are detected.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user