Polled by crate::app::App once per frame and reconciled against the
live theme. Level-triggered like fullscreen_intent: a steady value is
correct, since the App only re-themes when a field differs from what’s
applied, so a settings pane can return the same intent every open frame.
What the host showing a window knows about where, and for whom, it is
shown: the temperature of the workspace the window is in and the colour
of the person sitting at it. The shell resolves both and hands them to
its own chrome and, over the shell-ui channel, to every app window
(crate::floating_surface::FloatingSurfaceHostMessage::Appearance). A
window nobody told stays neutral and wears the default colour.
Which theme the mode and schedule in settings show, and with the
person’s density over it. None when the appearance section names no
theme, or names one this build does not admit (an unknown preset, a
missing custom document, another schema).
The neutral temperature a workspace takes from its wallpaper (RGBA8
pixels): the image’s dominant hue, or None for a wallpaper with none
(a grey photograph, a missing file), which leaves the material neutral.
Only the hue is taken — the material never gains chroma from a
wallpaper.