admin 734fe12098 perf: cache SimulationDefinitions lookups in memory
Previously get_action(), get_profession(), get_actions(), get_professions(), get_profession_ids(), and validate() reloaded all .tres files from disk on every call. These are called per-tick (action selection, task completion, NPC inspector refresh) producing unnecessary disk I/O. Now definitions are loaded once and stored in static dicts/lists keyed by ID. Add invalidate_cache() for hot-reload scenarios.
2026-07-05 23:54:55 +02:00
2026-07-05 23:50:18 +02:00
2026-07-05 23:50:18 +02:00
2026-07-05 23:50:18 +02:00
2026-07-05 23:50:18 +02:00

Documentation map

The project uses a small hierarchy so overlapping plans do not become competing sources of truth.

  1. PROJECT_CONTEXT.md is the canonical description of the vision, current implementation, target architecture, and active constraints.
  2. LEARNING_ROADMAP.md owns milestone order, architecture gates, reusable-system exit tests, and intentionally deferred work.
  3. BUILD_IN_PUBLIC_PLAN.md owns the scoped Jajce visual slice. It must respect the architecture gates in the learning roadmap.
  4. RESOURCE_NODE_MIGRATION.md is a focused migration plan. Phases 15 are complete; Phase 6 tracks replacement of the remaining temporary activity markers.
  5. ACTION_SYSTEM_ARCHITECTURE.md, ECONOMIC_EVENTS.md, FOOD_STORAGE_ARCHITECTURE.md, SIMULATION_DEFINITIONS.md, and SIMULATION_STATE_SCHEMA.md document the current data contracts.
  6. 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.md governs product intent;
  • LEARNING_ROADMAP.md governs 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.

S
Description
No description provided
Readme 48 MiB
Languages
GDScript 86.6%
GDShader 9%
PowerShell 2.4%
Shell 2%