refactor(eidos): item 2 - los slots de forma de la capa deslizante llevan el _ del alias

Firma (a) del autor: --indicator-duration/-ease eran el ALIAS de la capa (la especie de --_indicator-x, opcionales-con-fallback), no un pomo de tema - la ortografia bare prometia una superficie que la cascada negaba. Flip a --_indicator-{duration,ease} (1 escritor radio-group.css alimentando desde sus claves de CONTRATO segmented-transition-*, 1 lector lib/sliding-indicator.css); reparto de propiedad escrito: la capa posee QUE propiedades deslizan (y su colapso reduced-motion), el anfitrion A QUE VELOCIDAD via contrato. Contrafactico MEDIDO pre-flip: bare en :root a 9s = 0.18s intacto (no se retira superficie); post 4/4: pixel identico, bare inerte y vacio en el pill, contrato alcanza (7s), alias en :root inerte. Comentarios themeable-so-bare reescritos; prosa del sentinel al nombre vivo (clave intacta). Lint 0 invalid, reach-floor 5/5, censo neutro.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
alpha-0.1-background
dev 1 month ago
parent 2d3b3fc775
commit 53810cb5ec

@ -2711,10 +2711,25 @@ ficheros, 154 tests), centinela de `tabs` **70/79** idéntico, `component:audit`
**162 PASS / 4 NEEDS-WORK / 0 BROKEN** idéntico, `docs:check` **0/0** en 816
docs, `npm run check` sin errores atribuibles.
**Lo que queda flagged, sin acuñar**: `--indicator-duration` / `--indicator-ease`
siguen siendo dos públicos de FORMA sin prefijo de dueño y sin entrada de
contrato — la misma fuga de espacio que esta firma cerró para las medidas, una
especie más allá. El punto 2 los mandó a la puerta del contrato y ahí siguen.
**Lo que queda flagged, sin acuñar**: ~~`--indicator-duration` /
`--indicator-ease` siguen siendo dos públicos de FORMA sin prefijo de dueño~~ —
**✅ RESUELTO 2026-08-27 (item 2, firma (a) del autor)**: la adjudicación no fue
ni contrato de componente ni vocabulario de capa declarado — son el **ALIAS de
la capa**, la misma especie que `--_indicator-x` cuatro líneas más arriba, sólo
que opcionales-con-fallback. Flip a `--_indicator-{duration,ease}` (1 escritor:
`radio-group.css:320` alimentándolos desde sus claves de CONTRATO
`segmented-transition-*`; 1 lector: `lib/sliding-indicator.css`). El reparto de
propiedad que la firma deja escrito: la CAPA posee QUÉ propiedades deslizan (y
su colapso reduced-motion), el ANFITRIÓN posee A QUÉ VELOCIDAD vía contrato; el
alias es la costura. Contrafáctico MEDIDO antes de tocar: fijar el nombre bare
en `:root` a 9s no movía el pill NI ANTES del flip (la declaración de la receta
gana la cascada) — la ortografía bare prometía un pomo que la cascada negaba;
no se retiró superficie alguna. Post: píxel idéntico (0.18s ×3 + 0.12s fade,
mismo bezier) · bare INERTE y computando vacío en el pill · la clave de
contrato ALCANZA (7s) · el alias en `:root` también inerte. Los dos comentarios
que afirmaban «themeable, so bare» reescritos; la prosa del sentinel
actualizada al nombre vivo (clave intacta). Lint 0 invalid, reach-floor 5/5,
censo neutro (sin prefijo reconocido no entra al clasificador, con o sin `_`).
## 15. La capa flotante publica cinco medidas con nombre público sin dueño — 2026-08-26

@ -101,8 +101,15 @@ cierra al 100 %). La familia de indicadores entera habla UNA doctrina.
vicen-42. Ley del día, ya en el handoff P0: quien barre por RUTA se
lleva los hunks del otro — la atribución se declara, y si se yerra el
nombre, se corrige por acta, nunca por amend.
2. **La especie de FORMA sin dueño**: `--indicator-duration`/`-ease` (flagged
en §14) — ¿contrato de qué componente, o vocabulario de capa declarado?
2. ~~**La especie de FORMA sin dueño**: `--indicator-duration`/`-ease`~~ —
**✅ EJECUTADO 2026-08-27 (firma (a) del autor)**: ninguna de las dos
opciones del expediente — son el ALIAS de la capa (especie de
`--_indicator-x`, opcionales-con-fallback). Flip a `--_indicator-*`; la
superficie de tema queda donde ya estaba y alcanza (las claves de contrato
del anfitrión). Reparto de propiedad escrito: la capa posee QUÉ desliza,
el anfitrión A QUÉ VELOCIDAD. Contrafáctico medido PRE-flip (el bare en
`:root` jamás alcanzó: no se retiró superficie); post 4/4 caras. Acta
completa: `next-features.md`, hueco flagged de §14.
3. **Cableado `EidosConfig.motion`→CSS** — mata la última entrada del registro
`PENDING_PRIVATE_RENAME`.
4. **Re-clasificar `palabras`** (canal de valor del scheme, no tema) y

@ -1251,7 +1251,7 @@ export const SENTINEL_EXCEPTIONS: Record<string, Record<string, string>> = {
'transition-ease':
'same freeze; measured unfrozen -> reaches (cubic-bezier(0.4, 0, 0.2, 1) -> steps(3))',
'segmented-transition-duration':
'same freeze, on the segmented pair; measured unfrozen with the real variant on -> reaches (segment 0.18s -> 11.5s, and the pill\'s --indicator-duration 180ms -> 11.5s)',
"same freeze, on the segmented pair; measured unfrozen with the real variant on -> reaches (segment 0.18s -> 11.5s, and the pill's --_indicator-duration 180ms -> 11.5s; the slot was spelled bare --indicator-duration until item 2, 2026-08-27)",
'segmented-transition-ease':
'same freeze; measured unfrozen -> reaches (cubic-bezier(0.32, 0.72, 0, 1) -> steps(3))',
'segmented-pill-shadow':

@ -316,9 +316,12 @@
--_indicator-y: var(--_radio-group-indicator-y);
--_indicator-w: var(--_radio-group-indicator-w);
--_indicator-h: var(--_radio-group-indicator-h);
/* Shape slots of the layer, a different species — themeable, so bare. */
--indicator-duration: var(--radio-group-segmented-transition-duration);
--indicator-ease: var(--radio-group-segmented-transition-ease);
/* Shape slots of the layer — OPTIONAL alias wiring (item 2, 2026-08-27),
fed from this component's CONTRACT keys, which ARE the theming surface:
a `:root` pin on the slot never reached even when it was bare (this
declaration wins the cascade — measured), the contract key reaches. */
--_indicator-duration: var(--radio-group-segmented-transition-duration);
--_indicator-ease: var(--radio-group-segmented-transition-ease);
}
/* ── Reduced motion ────────────────────────────────────────────────────── */

@ -21,10 +21,16 @@
* recipe SHAPES it on top (pill background, underline thickness, border-radius,
* box-shadow).
*
* ⚠ `--indicator-duration` / `--indicator-ease` below are a DIFFERENT species
* and keep their bare spelling on purpose: they are the layer's shape slots — a
* theming surface a recipe declares — not a per-instance channel. The `_` is
* what separates the two.
* ⚠ `--_indicator-duration` / `--_indicator-ease` below are a DIFFERENT
* species from the position aliases, but they wear the same `_` (item 2,
* 2026-08-27): what separates them is their REGIME, not the spelling. The
* position aliases are REQUIRED per-instance channel wiring; these two are
* OPTIONAL shape slots with system-token fallbacks. Neither is a theming
* surface at this name — the host's CONTRACT keys are (radio-group's
* `--radio-group-segmented-transition-{duration,ease}`): a `:root` pin on
* the slot never reached the pill even when it was bare (the recipe's own
* declaration wins the cascade — measured 2026-08-27), while the contract
* key reaches.
*
* The consumer's eidos wrapper STAMPS `data-sliding-indicator` on the indicator
* element — a VISUAL-LAYER identity (NOT a morfo attr), the same pattern as
@ -51,12 +57,12 @@
inline-size: var(--_indicator-w, 0px);
block-size: var(--_indicator-h, 0px);
transition:
translate var(--indicator-duration, var(--duration-fast))
var(--indicator-ease, var(--ease-default)),
inline-size var(--indicator-duration, var(--duration-fast))
var(--indicator-ease, var(--ease-default)),
block-size var(--indicator-duration, var(--duration-fast))
var(--indicator-ease, var(--ease-default)),
translate var(--_indicator-duration, var(--duration-fast))
var(--_indicator-ease, var(--ease-default)),
inline-size var(--_indicator-duration, var(--duration-fast))
var(--_indicator-ease, var(--ease-default)),
block-size var(--_indicator-duration, var(--duration-fast))
var(--_indicator-ease, var(--ease-default)),
opacity var(--duration-fast) var(--ease-out);
will-change: translate, inline-size, block-size;
}

Loading…
Cancel
Save

Powered by TurnKey Linux.