Repository layout
The repository is organised around stable boundaries rather than deployment units alone.
| Path | Responsibility |
|---|---|
apps/web | The player-facing React/Vite application. |
apps/api | The Fastify API, handlers, routes, caches, telemetry, and runtime integration. |
packages/engine | Puzzle rules, deterministic generation, runtime snapshots, simulations, and engine CLIs. |
packages/content | Theme schemas, registry loading, normalization, and content validation. |
packages/content-cli | Authoring and season workflows built on the content package. |
packages/dto | Zod-backed API request and response contracts. |
packages/shared | Cross-package types and shared platform constants. |
packages/sustainability-engine | Publication and sustainability calculations. |
packages/soundscape-engine | Soundscape runtime used by the web application. |
runtime-config/seasons | Date-bounded season definitions used by the runtime. |
docs | This static documentation application. |
Generated output belongs in dist/, package build directories, or runtime caches. It should not be edited by hand.