diff --git a/src/uix/eidos/THEMING.md b/src/uix/eidos/THEMING.md index 05613e6f1..9bfc0bad4 100644 --- a/src/uix/eidos/THEMING.md +++ b/src/uix/eidos/THEMING.md @@ -2264,6 +2264,32 @@ se leía lavado en bordes reales (outline / surface / controles). `element` / `h `DEFAULT_COLOR_ROLE_SLOT_STEPS`. Verificado en navegador (checkbox + token `--color-{role}-border` → step 7). +## 29. Profundidad (depth) — canal unificado + eventful (2026-06-05) + +La profundidad es un **canal unificado y eventful**, no tres sistemas sueltos (sombra + +superficie + z). Guía canónica: `DEPTH_ENGINE_RFC.md`. **Dos momentos**: + +- **Estado** — `data-depth='{plane}'` aplica un **plano en reposo** (`flush · raised · + overlay · modal · recessed`) que cohere superficie + sombra + z. Los tokens + `--depth-{plane}-{cue}` **componen los primitivos existentes** (`--color-surface-*`, + `--shadow-*`, `--z-index-*`), así que la mezcla es mode-aware gratis. La regla + `[data-depth]` aplica las señales aditivas seguras (sombra + z); `surface` queda opt-in + (no pisa fondos de componente). +- **Evento** — al **emerger** la sombra crece desde plano → la de reposo (sube); al + **presionar** se aplana (recede). Vive en la *firma* (`present-rise` / `press-squeeze` + sobre `data-event-*`), coordinado con motion + sound + haptic desde **un solo evento**. + Generic: un elemento `flush` (sin sombra) = no-op. Degrada con `prefers-reduced-motion`. + +**Jaula abierta**: el set de planos es config-driven (`EidosConfig.depth.planes` — +añade/renombra/retunea); los primitivos siguen accesibles (`box-shadow`/`z-index` crudo a un +paso); la capa eventful es aditiva y anulable (sobreescribe keyframes/signatures). Demo en +vivo: `/temas/profundidad`. + +**Pendiente** (no del núcleo): mezcla computada OKLCH + halo dark (refinamiento; las sombras +ya son mode-aware), atmósfera frost/scrim (requiere superficies translúcidas), y **adopción +por componentes** (hoy card/dialog/popover cablean sombra/z aparte; migrarlos a `data-depth` +es una pasada separada). + --- **Última revisión**: 2026-06-05. Si algo en este doc no coincide con