Medidos uno a uno los 18 de `metrics` y los 25 de `color-picker`, los últimos
del bloque viejo que el guard R-5.4 arrastraba sin adjudicar. Los dos quedan en
verde. Sin cambios de código: esto es medición y registro.
`metrics`: los 18 están VIVOS. Ninguno miente; lo que faltaba era el escenario.
Seis piden el paso `xxl` (la demo llega a `xl`), dos el icono SIN `data-color`
(su defecto sólo pinta cuando no hay color, y todos los de la demo llevan uno),
dos las formas `circle`/`square`, cuatro la fila de acciones, uno el gráfico en
`end`, uno el borde de la variante `outline`, y dos el sello de sema durante el
hold (`data-event-family=signal` + `phase=active`): el destello del valor sólo
se mide estampando el sello a mano, porque cuando el guard lee ya se ha ido.
`color-picker`: 23 de 25 vivos, y los otros dos son un DEFECTO REAL.
EL EJE `size` MUERE EN EL PORTAL, dos veces. `--_color-picker-content-width`
se declara TRES veces y no lo consume NADIE: la anchura del panel la fija
`--_popover-content-width-override`, cableada al paso `md`. Un picker `sm` y
uno `lg` abren el MISMO panel de 344 px, y `content-width-sm`/`-lg` son dos
públicos que no mueven nada. Lo mismo con las muestras dentro del panel
(`--_color-picker-swatch-size` clavado a `md`): fuera del portal los tres
pasos alcanzan (20/24/28 px → 1234 px), dentro sólo el `md`.
La causa es una y vale como ley: el portal es una FRONTERA DE CASCADA — un
privado declarado en la raíz del componente no la cruza. Misma familia que la
capa `list-surface` inalcanzable desde `:root`. El arreglo honesto es una
escala por talla en el ámbito del CONTENIDO (que sí lleva su `data-size`);
mueve píxel en `sm` y `lg`, así que es firma → §13.
Tres cegueras del instrumento, medidas:
- El guard CONGELA las transiciones antes de medir —el arreglo que hizo
medibles radio-cards y compañía— y `transition-duration`/`transition-ease`
SON la transición: sin congelar alcanzan (0.12s → 11.5s). Es genérico:
cualquier componente con esos dos públicos los reportará muertos.
- Una lectura inmediata de una propiedad EN TRANSICIÓN devuelve el valor
VIEJO. Es lo que hacía ilegible el fondo del cuentagotas: ni con
`!important` en línea se movía, porque la transición aún no había corrido.
- La DEMO pisa el cuentagotas con su regla de ámbito (`.cp-tools-row` le pone
`inline-size:auto` y `background`), así que sus dos tokens sólo se miden
devolviéndole el consumo del token.
Gates: `theming:sentinel metrics` y `color-picker` en verde (54/72 y 46/71,
el resto adjudicado por escrito) · `check` sin errores propios · `docs:check`
0/0 · formato sin regresión (los tres ficheros ya venían avisados en HEAD).
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>