Presets¶
Purpose¶
The themes SKINT ships with, as JSON on disk, plus the trash a deleted preset moves to. Data, not code.
Owns¶
UIThemes/CustomDark/— six dark presetsUIThemes/CustomLight/— four light presetsUIThemes/.Trash/— deleted presets, restorable
Does NOT Own¶
- Reading or writing these files — that is
ThemePresetUtilityandSkintIO - Resolving these paths — that is
SkintPaths - The schema — that is
SkintThemeSettings
Allowed Dependencies¶
None. This territory is files.
Notes¶
One preset is one JSON file, named as the user named it. Spaces are valid and must stay valid: nine of the ten shipped presets have them.
Every preset carries all 45 theme fields. That invariant is asserted by PresetSchemaTests, and it is not cosmetic — a field no preset mentions is a field that loading a preset cannot change, so the preset would silently inherit whatever the current theme had. When the four spacing tokens were added they were written into all ten files for exactly that reason.
Which folder is active follows Unity's editor skin, so changing the skin switches the preset list as well as the theme.
Meaningful text in every preset meets WCAG AA contrast, enforced by ContrastTests across all ten. Two exceptions are deliberate and recorded: disabled text, which WCAG 1.4.3 exempts, and the Pastel Piss and Rab Mode presets, which exist to demonstrate extremes and are excluded by name.
.Trash is gitignored. A delete moves a file here and the designer offers an undo that survives a recompile; a second delete replaces the older trashed copy of the same name, which matches the single-level undo the UI offers.
Future Candidates¶
- The light set has four presets to the dark set's six.