Pieza del CIERRE del eje: los tres componentes quealpha-0.1-backgrounda6df34c05dejo fuera con su razon escrita reciben su seccion, con la tabla DERIVADA del contrato y del ledger (verificada programaticamente: cada valor contra base.ts, cada razon verbatim contra el ledger, en las dos direcciones). - proof-of-human (+33): 20 claves publicas, tabla plana, pasos por talla y nombre resuelto; sin bloque en el ledger, sin lista de silencios. - audio-player (NUEVO, 57): su directorio de eidos existia sin README. 8 claves propias + 2 adjudicaciones; el aviso de la pestaña Tokens NO es el boilerplate porque habria sido falso - no tiene demo propia (404 a proposito): su escenario es la demo de media-player con el chip de audio, y esa pestaña esta acotada a component="media-player". Es un skin sobre las partes de media-player que consume sus 61 claves y añade estas 8. Cierra de paso el E-2.3 (Missing README) del component-audit. - palabras (NUEVO, 40): carril propio en WIP_TRACKS, SIN entrada en base.ts - cero claves, nada que derivar: la seccion honesta, sin tabla inventada. Hallazgo medido que corrige el guion: los 114 nombres --palabras-* que las recetas consumen con var(..., fallback) no son tokens huerfanos ni superficie de tema - son la proyeccion en vivo del scheme-style del documento (palabras-scheme.ts los escribe por instancia). El 22,2% del censo es OTRO eje: canal de valor del esquema, no tema. El README no es el canon del carril y lo dice. docs:check 0/0 sobre 816 (los tres en el corpus que se linta); prettier limpio. Fuera de alcance, registrado: el generador dea6df34c05perdia la ULTIMA adjudicacion cuando la entrada final no lleva coma - seis de los quince README del 24 citan una razon de menos (password-field 6 de 7), y tras la GRANDE esos bloques estan ademas rancios; deuda de regeneracion. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
parent
2c61946fba
commit
ef47f34478
@ -0,0 +1,56 @@
|
||||
# Eidos AudioPlayer
|
||||
|
||||
Fecha de revisión: 2026-08-25. Las decisiones (gate `D-AP2`) viven en
|
||||
`docs/process/PLAN-audio-player-v2.md`.
|
||||
|
||||
`<AudioPlayer>` es la puerta del 90 % del audio: **una etiqueta** monta
|
||||
`<MediaPlayer media="audio">` + `<MediaPlayer.AudioLayout>`. Es una **raíz
|
||||
competidora** sobre el mismo contrato de soma —el precedente Toast/Toaster
|
||||
(D-AP2.2)—, deliberadamente NO `MediaPlayer.AudioPlayer`. Su receta
|
||||
(`audio-player.css`) viste las partes del media-player: todo está bajo
|
||||
`[data-media-player][data-variant]`, y el atributo `data-variant` sólo lo
|
||||
estampa esta raíz, así que componer `<MediaPlayer media="audio">` a mano
|
||||
conserva el flujo sin opinión.
|
||||
|
||||
Las cuatro formas del eje `variant` están ancladas a su sector (D-AP2.3):
|
||||
`card` (página de episodio), `row` (entrada de lista), `bar` (barra de app
|
||||
persistente), `inline` (nota de voz). **Una variante decide qué se VE y cómo
|
||||
fluye — nunca qué puede hacer el reproductor**; comportamiento, eventos y
|
||||
obligaciones de a11y viven en el player.
|
||||
|
||||
La doctrina del chasis —acento firmado, scrubber = Slider canónico re-tintado,
|
||||
scrim, eje `size`— vive en
|
||||
[`../media-player/README.md`](../media-player/README.md), y su contrato de 61
|
||||
claves `--media-player-*` es el que este skin consume. Lo de abajo es lo que el
|
||||
skin de audio AÑADE.
|
||||
|
||||
## Talla y tema
|
||||
|
||||
**8 clave(s) pública(s)** en `lib/recipes/base.ts` (bloque `audio-player`).
|
||||
Es el contrato vivo: cada clave es un `--{componente}-{ranura}` que un tema
|
||||
puede escribir, y el guard R-5.4 comprueba que ninguna miente.
|
||||
|
||||
> Este componente **no tiene demo propia**: `/uix/components/audio-player` da
|
||||
> 404 a propósito, porque el escenario es la demo de `media-player` con el chip
|
||||
> `media` conmutado a audio. La pestaña `Tokens` de esa demo está acotada a
|
||||
> `component="media-player"`, así que estas ocho claves no aparecen en ella: la
|
||||
> tabla de aquí es la fuente. El skin se mide con
|
||||
> `scripts/__probe-audio-skin.ts`, que pulsa el chip y recorre las cuatro
|
||||
> variantes.
|
||||
|
||||
| Token (`--audio-player-…`) | Valor por defecto |
|
||||
| -------------------------- | ----------------------------- |
|
||||
| `gap` | `var(--space-3)` |
|
||||
| `title-font-weight` | `var(--font-weight-semibold)` |
|
||||
| `live-font-weight` | `var(--font-weight-semibold)` |
|
||||
| `live-letter-spacing` | `0.08em` |
|
||||
| `artwork-radius` | `var(--radius-md)` |
|
||||
| `artwork-size-card` | `calc(var(--space-8) * 8)` |
|
||||
| `artwork-size-row` | `3.5rem` |
|
||||
| `artwork-size-bar` | `2.5rem` |
|
||||
|
||||
**Lo que el guard R-5.4 da por silencioso, con su razón medida**
|
||||
(`scripts/theming-sentinel-exceptions.ts`):
|
||||
|
||||
- `live-font-weight` — the LIVE badge only exists while the provider reflects a live stream (display:none otherwise) and the demo plays a file; mounted with [data-live] 2026-08-23 -> reaches (600 -> 333)
|
||||
- `live-letter-spacing` — same badge; mounted -> reaches (1.28px -> 7px)
|
||||
@ -0,0 +1,39 @@
|
||||
# Eidos palabras
|
||||
|
||||
Fecha de revisión: 2026-08-25.
|
||||
|
||||
`<palabras>` es el editor de panel semántico sobre el motor de bloques: la raíz
|
||||
(`palabras.svelte`) más el panel generado desde esquema (`panel-schema.ts`), el
|
||||
`scheme-style` que conduce el look (`palabras-scheme.ts`) y las dos recetas
|
||||
(`palabras.css` + `palabras-chrome.css`).
|
||||
|
||||
**Este README no es el canon del carril.** La doctrina de `palabras` vive en sus
|
||||
propios documentos, y son ellos los citables:
|
||||
[`DESIGN.md`](./DESIGN.md) (canon de decisiones cerradas),
|
||||
[`INTERACCION.md`](./INTERACCION.md), [`ESQUEMA.md`](./ESQUEMA.md),
|
||||
[`VISUAL.md`](./VISUAL.md), [`PLAN-EJECUCION.md`](./PLAN-EJECUCION.md),
|
||||
[`PLAN.md`](./PLAN.md), [`AUDIT.md`](./AUDIT.md) y la bitácora
|
||||
[`continuar-palabras.md`](./continuar-palabras.md).
|
||||
|
||||
## Talla y tema
|
||||
|
||||
`palabras` es un **carril propio**: está en `WIP_TRACKS`
|
||||
(`scripts/component-audit.ts`), así que el audit lo saca del catálogo y de los
|
||||
veredictos, y el contrato de receta (R-4.x) no se le aplica hasta que el carril
|
||||
aterrice. **No tiene entrada en `lib/recipes/base.ts`** — cero claves
|
||||
declaradas —, de modo que aquí no hay tabla que derivar: escribir una sería
|
||||
inventarla.
|
||||
|
||||
Lo que sí está medido es el tamaño de la deuda. El censo del eje
|
||||
(`node --import tsx/esm scripts/theming-census.ts --only palabras`) cuenta **468
|
||||
knobs** de apariencia con un alcance nominal del **22,2 %**: 103 leen nombres
|
||||
`--palabras-*`, 272 primitivos globales y 87 son literales. Pero ese 22 % **no
|
||||
es superficie de tema**: las dos recetas no declaran ni una sola de esas
|
||||
propiedades (114 nombres distintos consumidos con `var(…, fallback)`, cero
|
||||
declaraciones), porque son la **proyección en vivo del `scheme-style` del
|
||||
documento** — `palabras-scheme.ts` las escribe por instancia como
|
||||
`--palabras-scheme-*`. Ese canal pertenece al esquema del documento, no al tema.
|
||||
|
||||
La deuda, por tanto, no se salda aquí: se salda declarando el bloque `palabras`
|
||||
en `base.ts` cuando el carril llegue a esa fase, y la decisión de cuándo vive en
|
||||
[`PLAN-EJECUCION.md`](./PLAN-EJECUCION.md), no en el eje de theming.
|
||||
Loading…
Reference in new issue