otter-theme provides Theme values through otter_theme.theme and loaders through otter_theme.loader. A theme owns its text fields, so call deinit() or clone it explicitly for another owner.
Themes contain colors, layout, spacing, and globals. Render applications consume semantic roles and metrics instead of branching on theme names.
There are 11 color presets. The bar_islands global controls Islands styling; Islands is not a twelfth preset.
Lua
The separateotter_theme_lua package exposes otter.theme. Reads such as get, color, surface, alpha, contrast, presets, and generation need no capability. subscribe reports successful changes. use_preset requires theme-write.
The host installs the environment/root before loading plugins and registers the module. Broken theme edits keep the previous valid snapshot and do not notify subscribers.
Reference pages
Source reference
otr/otr.toml, otr/ in the component repository.
