Add AppearanceSettings to ely_domain

Introduces a small persistent appearance contract: WallpaperTheme
(Dawn/Violet/Mint/Slate), ThemeMode (System/Light/Dark), reduce_motion.
Defaults to Dawn + System + motion-on. Field accessors and setters live
on the struct so the core can mutate without exposing internals; serde
support uses kebab-case so the on-disk form matches the design CSS
naming.

Tests cover defaults, mutation independence, and a JSON round-trip with
the kebab-case names. serde_json is added as a dev-dependency only —
the production crate does not depend on it.
This commit is contained in:
2026-05-09 18:46:58 -04:00
parent db70ca142c
commit 71088bccb0
4 changed files with 111 additions and 0 deletions
Generated
+1
View File
@@ -2281,6 +2281,7 @@ version = "0.1.0"
dependencies = [
"semver",
"serde",
"serde_json",
"thiserror 2.0.18",
"toml 1.1.2+spec-1.1.0",
"url",