Commit Graph

17 Commits

Author SHA1 Message Date
Rijad Zuzo ead75fca68 feat: add physical animal care delivery 2026-07-31 00:19:41 +02:00
Rijad Zuzo e284d3774d fix: enforce storage and tooling invariants 2026-07-30 13:00:59 +02:00
Rijad Zuzo e3aa3440a2 feat: add deterministic goat routine 2026-07-26 23:52:56 +02:00
Rijad Zuzo f79c2bb630 feat: introduce identity-backed goat 2026-07-26 22:26:00 +02:00
Rijad Zuzo 79dd503343 feat: add missing wood opportunities 2026-07-16 01:50:19 +02:00
Rijad Zuzo c722e32a88 feat: add knowledge-gated pantry opportunities 2026-07-13 00:46:56 +02:00
Rijad Zuzo 99b8146f75 feat: add bounded npc memory retention 2026-07-12 01:10:10 +02:00
Rijad Zuzo 9a479ba182 feat: add provenance-aware npc communication 2026-07-11 19:58:47 +02:00
Rijad Zuzo 81409650df feat: add witnessed knowledge and wind ambience 2026-07-11 11:27:40 +02:00
Rijad Zuzo ce8f71082b refactor: clarify simulation ownership 2026-07-10 11:02:11 +02:00
admin 036c9d5141 feat: score resource discovery by comfort and safety 2026-07-07 15:10:06 +02:00
admin 4463e524aa style: apply gdformat formatting across the entire project
Auto-format all GDScript files using gdformat from gdtoolkit.
This is a baseline formatting pass to ensure consistent style:

- Normalizes indentation and spacing
- Wraps long lines to 100 characters
- Removes trailing whitespace
- Standardizes blank lines between functions

68 files reformatted, 8 files left unchanged (3rd-party addon files
with parse errors excluded).
2026-07-05 23:06:23 +02:00
admin f9601a67d1 feat: add structured economic events 2026-07-05 18:04:11 +02:00
admin 6dbb395bd6 feat: add location-based food storage loop 2026-07-05 17:57:24 +02:00
admin a8ae331f51 feat: synchronize authoritative npc position
- 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
2026-07-05 17:21:17 +02:00
admin 363620b731 refactor: move resource authority into simulation 2026-07-05 13:26:19 +02:00
admin 30cac28fc0 feat: add versioned simulation state records 2026-07-05 12:52:07 +02:00