a8ae331f514c049ffe1bad22c7bab41ec4dd3c24
- NpcVisual emits position_changed signal during _physics_process - SimulationManager.synchronize_npc_position() writes active position into SimNPC state on movement, arrival, and navigation failure - WorldViewManager forwards position_changed and syncs before despawn/reload - SimNPC stores travel_target_position and has_travel_target as versioned state; NPCStateRecord v2 persists them with v1 migration - WorldViewManager.spawn_npc_visual() resumes travel for traveling NPCs via SimulationManager.request_current_travel() - WorldViewManager.despawn_npc_visual() syncs position before removal - WorldViewManager.reload_npc_visual() spawns a visual from persisted state without rerolling target selection - tests/npc_visual_lifecycle_test.gd proves unload/reload preserves action, target, reservation, position, RNG state, and checksum - simulation_state_serialization_test adds legacy v1 NPC migration test that does not invent an active travel target
Documentation map
The project uses a small hierarchy so overlapping plans do not become competing sources of truth.
PROJECT_CONTEXT.mdis the canonical description of the vision, current implementation, target architecture, and active constraints.LEARNING_ROADMAP.mdowns milestone order, architecture gates, reusable-system exit tests, and intentionally deferred work.BUILD_IN_PUBLIC_PLAN.mdowns the scoped Jajce visual slice. It must respect the architecture gates in the learning roadmap.RESOURCE_NODE_MIGRATION.mdis a focused migration plan. Phases 1–4 are complete; its Phase 5 hands world placement to the visual-slice plan.ACTION_SYSTEM_ARCHITECTURE.md,SIMULATION_DEFINITIONS.md, andSIMULATION_STATE_SCHEMA.mddocument the current data contracts.decisions/contains durable architectural decisions, including consequences and revisit conditions.
When documents disagree:
- code and tests describe current behavior;
- the newest accepted decision record governs architecture;
PROJECT_CONTEXT.mdgoverns product intent;LEARNING_ROADMAP.mdgoverns what should be built next;- focused plans govern only their stated scope.
Update the smallest relevant set of documents after a decision or milestone. Do not copy full status tables into every plan.
Description
Languages
GDScript
86.6%
GDShader
9%
PowerShell
2.4%
Shell
2%