Fensalir/docs/cult-runtime-surface.md
2026-05-23 19:00:53 +01:00

37 lines
1.3 KiB
Markdown

# Cult Runtime Surface
Fensalir exposes the runtime cache path and schema catalog boundary; client
repos own their typed CultCache documents.
## Cache Path
`AquariumHost` parses `--cache <path>` and passes the result through
`AquariumRuntimeOptions.CultCachePath`. Direct runs can also use
`AQUARIUM_CULTCACHE_PATH`.
The dev scripts pass a repo-local cache path under:
```powershell
E:\Projects\Fensalir\artifacts\dev-reload\cultcache\aquarium-client.msgpack
```
Headless runs use a separate headless cache directory so smoke tests do not
overwrite the visible dev window's state.
## Ownership
Fensalir does not define every client document. A client runtime decides which
typed CultCache documents it persists: camera state, graphics settings, body
state, UI state, transport state, or anything else the client owns.
Shared settings that the host/renderer must understand belong in
`Aquarium.Engine.Contracts`. Client-specific schemas stay in the client repo.
## Failure Boundary
A truncated or unreadable single-file CultCache backing store is not a schema
migration failure. Client runtimes should quarantine corrupt snapshots and boot
fresh typed state instead of treating broken bytes as missing defaults.
Live reload should flush the current runtime before loading the next client
assembly so changed settings survive assembly reload.