> ## Documentation Index
> Fetch the complete documentation index at: https://docs.otter-shell.org/llms.txt
> Use this file to discover all available pages before exploring further.

# Theme helpers

> SplatHash, theme_palette, and app_configs in otter-tools-core.

## SplatHash

`splathash` samples dominant colors from image regions. `otter-theme-gen` and `otter-shot` gradients use it to build palettes from screenshots or wallpapers.

## Semantic palettes (`theme_palette`)

Builds coordinated color sets from a seed accent. Feeds `otter-theme-gen` and shot gradients without pulling full `otter-theme` into every small tool.

## App config sync

`app_configs.zig` structs follow the same rules as `otter-config-types`:

* Defaults on every field
* `?Color = null` for theme-mapped colors
* Loaded with `otter-conf` in the app, edited in `otter-settings`

Keeping schemas here (not in `otter-config-types`) marks them as small-tool configs separate from desktop daemons.

## Boundaries

Don't add Wayland or render imports here. If a helper needs pixels, decode in the app and pass RGBA slices into `splathash` or `theme_palette`.
