docs: document simulation readability layer
This commit is contained in:
@@ -23,7 +23,8 @@ SimulationManager tick
|
|||||||
- reads NPC and village state;
|
- reads NPC and village state;
|
||||||
- evaluates current utility scores;
|
- evaluates current utility scores;
|
||||||
- consumes the NPC's deterministic decision RNG;
|
- consumes the NPC's deterministic decision RNG;
|
||||||
- returns an action ID and optional urgent-duration override;
|
- returns an action ID, optional urgent-duration override, branch reason, and
|
||||||
|
compared utility scores;
|
||||||
- does not mutate targets, navigation, or visuals.
|
- does not mutate targets, navigation, or visuals.
|
||||||
|
|
||||||
### ActionExecutionSystem
|
### ActionExecutionSystem
|
||||||
@@ -60,6 +61,8 @@ SimulationManager tick
|
|||||||
SimulationManager remains the orchestrator and event boundary. It owns
|
SimulationManager remains the orchestrator and event boundary. It owns
|
||||||
simulation records, invokes the focused systems, stores selected actions and
|
simulation records, invokes the focused systems, stores selected actions and
|
||||||
targets, and translates presentation callbacks into simulation transitions.
|
targets, and translates presentation callbacks into simulation transitions.
|
||||||
|
It also publishes the latest `ActionSelectionResult` for presentation; the UI
|
||||||
|
does not recompute decisions.
|
||||||
Further decomposition should follow measured pressure rather than splitting it
|
Further decomposition should follow measured pressure rather than splitting it
|
||||||
into managers for their own sake.
|
into managers for their own sake.
|
||||||
|
|
||||||
|
|||||||
@@ -460,6 +460,13 @@ Add presentation for systems that already exist:
|
|||||||
Do not fake activity that contradicts simulation state. A farmer icon should
|
Do not fake activity that contradicts simulation state. A farmer icon should
|
||||||
represent a real chosen task.
|
represent a real chosen task.
|
||||||
|
|
||||||
|
**Status: core readability complete.** Profession definitions now drive
|
||||||
|
distinct NPC colors and props, world labels identify each villager, and the
|
||||||
|
Tab-cycled inspector shows authoritative need values, task state, destination,
|
||||||
|
decision branch, and utility scores. The existing carried-food prop and village
|
||||||
|
panel expose immediate consequences. A cinematic/debug toggle and repeatable
|
||||||
|
demo reset remain Phase 6 capture tooling.
|
||||||
|
|
||||||
### Exit condition
|
### Exit condition
|
||||||
|
|
||||||
A viewer can distinguish at least three professions and understand one NPC's
|
A viewer can distinguish at least three professions and understand one NPC's
|
||||||
@@ -617,7 +624,7 @@ Completed:
|
|||||||
Next:
|
Next:
|
||||||
|
|
||||||
1. Capture and visually review “Jajce Lookdev 01.”
|
1. Capture and visually review “Jajce Lookdev 01.”
|
||||||
2. Add profession/readability presentation and the reason inspector.
|
2. Add the cinematic/debug toggle and repeatable demo reset.
|
||||||
3. Capture “Simulation Garden 01.”
|
3. Capture “Simulation Garden 01.”
|
||||||
|
|
||||||
Do not start with GIS data, a full city, a large asset pack, or more NPC
|
Do not start with GIS data, a full city, a large asset pack, or more NPC
|
||||||
|
|||||||
@@ -647,12 +647,14 @@ Completed after the architecture gate:
|
|||||||
- an integrated Jajce beauty baseline with shaped Terrain3D data, a bounded
|
- an integrated Jajce beauty baseline with shaped Terrain3D data, a bounded
|
||||||
six-layer palette, atmospheric lighting, shader water, foliage motion,
|
six-layer palette, atmospheric lighting, shader water, foliage motion,
|
||||||
building blockouts, and visible smoke/mist.
|
building blockouts, and visible smoke/mist.
|
||||||
|
- definition-driven profession colors/props and a selected-NPC inspector fed
|
||||||
|
by real decision branches, destinations, needs, and utility scores.
|
||||||
|
|
||||||
The practical next sequence is:
|
The practical next sequence is:
|
||||||
|
|
||||||
1. Capture and visually review the bounded Jajce look-development shot.
|
1. Replace the remaining generic activity markers with typed world sites,
|
||||||
2. Add stylized character and profession readability plus the reason
|
beginning with the pantry/storage presentation.
|
||||||
inspector.
|
2. Add a cinematic/debug toggle and repeatable simulation-garden demo reset.
|
||||||
3. Expand persistence only when schedules, player state, or a real save menu
|
3. Expand persistence only when schedules, player state, or a real save menu
|
||||||
creates a concrete requirement.
|
creates a concrete requirement.
|
||||||
|
|
||||||
|
|||||||
@@ -342,8 +342,11 @@ A small village panel displays:
|
|||||||
- knowledge;
|
- knowledge;
|
||||||
- starving NPC count;
|
- starving NPC count;
|
||||||
- selected village modifiers.
|
- selected village modifiers.
|
||||||
|
- a Tab-cycled NPC inspector with profession, needs, task state, destination,
|
||||||
|
decision reason, and utility scores.
|
||||||
|
|
||||||
Most deeper reasoning is currently visible only through verbose debug output.
|
NPC name/profession labels, definition-driven colors and props, and the
|
||||||
|
carried-food visual make active simulation state readable in the world.
|
||||||
|
|
||||||
## Runtime architecture
|
## Runtime architecture
|
||||||
|
|
||||||
@@ -518,7 +521,8 @@ These are expected prototype constraints, not necessarily isolated bugs:
|
|||||||
and the village pantry.
|
and the village pantry.
|
||||||
- NPCs do not have homes, schedules, possessions, memories, relationships,
|
- NPCs do not have homes, schedules, possessions, memories, relationships,
|
||||||
goals, or social knowledge.
|
goals, or social knowledge.
|
||||||
- NPC reasoning is logged but not presented through an in-game inspector.
|
- The reason inspector exposes current decisions, but deeper historical traces
|
||||||
|
and rejected preconditions are not yet retained.
|
||||||
- Active navigation is used as if all agents are local; no simulation LOD exists.
|
- Active navigation is used as if all agents are local; no simulation LOD exists.
|
||||||
- Unloaded traveling NPCs preserve their state but do not yet advance through
|
- Unloaded traveling NPCs preserve their state but do not yet advance through
|
||||||
abstract travel time.
|
abstract travel time.
|
||||||
|
|||||||
@@ -32,8 +32,9 @@ instead of maintaining a separate gather-action map.
|
|||||||
|
|
||||||
## Current profession contract
|
## Current profession contract
|
||||||
|
|
||||||
Each profession definition contains a stable `profession_id` and display name.
|
Each profession definition contains a stable `profession_id`, display name,
|
||||||
The current professions are farmer, woodcutter, guard, scholar, and wanderer.
|
body color, and prop color. The current professions are farmer, woodcutter,
|
||||||
|
guard, scholar, and wanderer.
|
||||||
|
|
||||||
NPC generation chooses from the registry's stable IDs. NPC state stores and
|
NPC generation chooses from the registry's stable IDs. NPC state stores and
|
||||||
restores those IDs as `StringName`, and rejects records that reference an
|
restores those IDs as `StringName`, and rejects records that reference an
|
||||||
@@ -67,7 +68,7 @@ the prototype. They do not yet own:
|
|||||||
- reservation strategy;
|
- reservation strategy;
|
||||||
- detailed target-selection policy beyond current resource/activity/free
|
- detailed target-selection policy beyond current resource/activity/free
|
||||||
metadata;
|
metadata;
|
||||||
- presentation hints beyond target type.
|
- richer presentation hints beyond the current profession palette.
|
||||||
|
|
||||||
Selection, execution, target resolution, and visual travel are now separate
|
Selection, execution, target resolution, and visual travel are now separate
|
||||||
responsibilities. The remaining concerns should move into definitions only
|
responsibilities. The remaining concerns should move into definitions only
|
||||||
|
|||||||
Reference in New Issue
Block a user