Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions docs/architecture/08-config-profiles.md
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,11 @@ as an initializer, so a missing or malformed key keeps the default; parsing neve
- `model` must be `render`, `transform` or `hybrid`; anything else becomes `hybrid`.
- Unsafe binds read as unbound (`src/keybind_rules.h`, [06](06-input.md)).
- `LoadConfig` is the I/O wrapper, excluded from the test build by `WIND_TESTS`.
- Structure: per line `SplitIniLine` (key and value), `ApplyEmptyableKey` (the exe lists and
`engine*`, which accept an empty value), then `ApplyValueKey` (one parser per key; a bad value
throws and keeps the default). After the loop `ClampConfig` (ranges, the `renderScaling`
migration, the `model` fallback) and `SanitizeBinds`. A new key goes in `ApplyValueKey`, its
range in `ClampConfig`.

## Hot-reload and the UI-only fingerprint

Expand Down
2 changes: 1 addition & 1 deletion docs/architecture/09-settings-ui.md
Original file line number Diff line number Diff line change
Expand Up @@ -106,7 +106,7 @@ and default. `Settings.svelte` is the shell (title bar, sidebar, banner, save ca
- **Removed from the UI is not removed from the product.** Many keys have no row (quick zoom
setup, outline, `sharpness`, `multiMonitor`, the `tx*` knobs). The core still parses
them, and Open settings file is the way to edit them.
- Adding a setting is normally a schema row plus a `ParseConfig` entry.
- Adding a setting is normally a schema row plus a `ParseConfig` entry (`ApplyValueKey`, see 08).
- Copy rules (in the schema header): plain language, no toggle label starting with "Enable", no
description that restates its label.

Expand Down
Loading
Loading