# Runtime Files

This directory is used by the native host for local runtime output.

Tracked files:

- `templates/`: source templates used to generate shader runtime code.

Packaged documentation:

- `../docs/openapi.yaml`: OpenAPI/Swagger spec for the local control API.
- `../docs/OSC_CONTROL.md`: OSC address and value reference.
- `http://127.0.0.1:<serverPort>/docs`: Swagger UI page served by the native control server.

Generated files:

- `shader_cache/active_shader_wrapper.slang`: generated Slang wrapper for the most recently compiled shader pass.
- `shader_cache/active_shader.raw.frag`: raw GLSL emitted by `slangc` for the most recently compiled pass.
- `shader_cache/active_shader.frag`: patched GLSL consumed by the OpenGL path for the most recently compiled pass.
- `runtime_state.json`: debounced autosave of the latest layer stack, layer order, bypass state, shader assignments, and parameter values. The host reloads this file on startup and falls back to the configured default shader if the file is missing or unusable.
- `stack_presets/*.json`: planned user-saved layer stack presets. Preset routes are present in the API surface but not implemented in the current native host.
- `screenshots/*.png`: planned screenshot output. Screenshot capture is present in the API surface but not implemented in the current native host.

Git policy:

- Runtime cache/state/preset output is ignored by default.
- Template files are source files and should stay tracked.
- If a project wants shared stack presets, move selected preset JSON files into a tracked fixtures or presets directory intentionally rather than committing the whole runtime output tree.
