docs: mark action separation phase complete
This commit is contained in:
+18
-17
@@ -409,18 +409,14 @@ The UI subscribes to village changes and formats aggregate village state.
|
||||
|
||||
```text
|
||||
SimulationManager tick
|
||||
|
|
||||
v
|
||||
SimNPC updates needs and chooses/advances a task
|
||||
|
|
||||
v
|
||||
npc_task_changed signal
|
||||
|
|
||||
v
|
||||
WorldViewManager resolves target:
|
||||
gather_food/wood -> nearest available ResourceNode (interaction point)
|
||||
wander -> random offset from current position
|
||||
other -> task-zone marker (guard, study, rest, eat)
|
||||
-> ActionExecutionSystem advances needs/work
|
||||
-> ActionSelectionSystem chooses an action for idle NPCs
|
||||
-> npc_target_requested
|
||||
-> WorldViewManager supplies the active visual position
|
||||
-> ActionTargetResolver consumes ActiveWorldAdapter facts
|
||||
-> SimulationManager stores/reserves the target
|
||||
-> npc_travel_requested
|
||||
-> WorldViewManager commands visual travel
|
||||
|
|
||||
v
|
||||
NpcVisual navigates through the active world
|
||||
@@ -465,9 +461,11 @@ NpcVisual navigates through the active world
|
||||
│ ├── SimVillage.gd
|
||||
│ ├── SimulationClock.gd
|
||||
│ ├── SimulationManager.gd
|
||||
│ ├── actions/ Selection, execution, and target resolution
|
||||
│ ├── definitions/ Stable IDs and custom definition resources
|
||||
│ └── state/ Versioned simulation-state records
|
||||
├── tests/
|
||||
│ ├── action_system_boundaries_test.gd
|
||||
│ ├── deterministic_simulation_test.gd
|
||||
│ ├── flat_map_baseline_test.gd
|
||||
│ ├── jajce_world_scaffold_test.gd
|
||||
@@ -487,6 +485,7 @@ NpcVisual navigates through the active world
|
||||
│ │ ├── ResourceNode.gd
|
||||
│ │ ├── ResourceNode.gd.uid
|
||||
│ │ └── ResourceNode.tscn
|
||||
│ ├── active_world_adapter.gd
|
||||
│ ├── world_view_manager.gd
|
||||
│ └── ui/ui.gd
|
||||
├── main.tscn
|
||||
@@ -517,8 +516,9 @@ These are expected prototype constraints, not necessarily isolated bugs:
|
||||
- NPC reasoning is logged but not presented through an in-game inspector.
|
||||
- Active navigation is used as if all agents are local; no simulation LOD exists.
|
||||
- There is no spatial query/index layer for large populations.
|
||||
- Simulation, orchestration, and player-facing mutation APIs are concentrated
|
||||
in `SimulationManager`.
|
||||
- SimulationManager still orchestrates multiple systems and player-facing
|
||||
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.
|
||||
- Combat, companions, factions, politics, trade, rumours, quests, persistence,
|
||||
@@ -719,7 +719,7 @@ 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.
|
||||
|
||||
The architecture gate is now the active milestone. Its first four slices are
|
||||
The architecture gate is now the active milestone. Its first five slices are
|
||||
complete:
|
||||
|
||||
- explicit fixed-step simulation clock;
|
||||
@@ -730,11 +730,12 @@ complete:
|
||||
- simulation-owned resource amount/reservation state with ResourceNode
|
||||
presentation binding and unload/rebind coverage;
|
||||
- stable StringName action/profession IDs plus validated custom definition
|
||||
resources used by simulation, targeting, generation, and persistence.
|
||||
resources used by simulation, targeting, generation, and persistence;
|
||||
- separate selection, execution, target resolution, active-world query, and
|
||||
visual travel responsibilities.
|
||||
|
||||
The remaining gate work is:
|
||||
|
||||
- separated action selection, execution, target resolution, and visual travel;
|
||||
- explicit synchronization of active NPC position.
|
||||
|
||||
The coherent visual slice can then aim for:
|
||||
|
||||
Reference in New Issue
Block a user