docs(process): handoff — media-player Batch-4 scopeado como arranque de la próxima sesión

Estado: F0·F1·F2·F3·F4-C·SEM-4·THM-2 ✅ commiteadas/pusheadas. El bloque
ARRANQUE reescrito: media-player Batch-4 (cierra SOM-4) con el diagnóstico
completo (10 sub-partes hardcodean attrs que el morfo declara; migración
renderProps parte-a-parte; plantilla carousel/table; cierre con ceiling +
navegador) para ejecutar en frío sin re-scopear. Cola posterior: rollout
THM-2 (12) · hotspots THM-4 · F4-D GAP (scoping) · cascada-vs-firmas.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
menubar-v4-safe
dev 3 months ago
parent 0e75890f60
commit 6da8466f68

@ -245,14 +245,50 @@ Lote estilo S4 (dossier por componente, verificación en vivo de `color=teal`
+ anidamiento). Registrar en `docs/next-features.md` (registro de iniciativas
del track paralelo) al arrancar.
## ⏭️ ARRANQUE PRÓXIMA SESIÓN → cola F4 restante
En orden sugerido: **THM-2** (sesión de diseño del mecanismo universal de
paleta — decisión ya tomada: cascada genérica `--palette-*` ~3-4 KB; migrar
button/toggle al slot genérico + convención de consumo + guards) ·
**media-player Batch-4** (renderProps, 35 hits/10 parts) · **quema de
hotspots THM-4** (lotes con dossier) · **F4-D** (menú GAP — pendiente de
scoping del usuario) · cascada-vs-firmas (diseño motion, cola lateral).
## ⏭️ ARRANQUE PRÓXIMA SESIÓN → media-player Batch-4 (SCOPEADO, listo para ejecutar)
Estado al cierre 2026-07-12: **F0 · F1 · F2 · F3 · F4-C · SEM-4 · THM-2 ✅**
commiteadas y pusheadas (`4addfd7d` · `29e621b1` · `b55ca6ee` · `082b6623` ·
`0e75890f`). La tabla §9 de la clean-room está prácticamente entera; queda
cola de rollout/scoping.
### 1º — media-player Batch-4 (cierra SOM-4; el último batch de attr-dedup)
**Diagnóstico ya hecho** (`npx tsx scripts/soma-attr-audit.ts --component
media-player` → 35 hits / 10 partes): el provider
(`soma/components/media-player/media-player-provider.svelte.ts`) registra en
el runtime **SOLO la parte `provider`** (`this.runtimePart = this.runtime.part('provider', …)`);
las 10 sub-partes declaran sus props **a mano** (role/type/aria-*/data-*) que
el morfo YA declara. Hits por parte: media(data-media) · poster/buffering(aria-hidden)
· play/seek/mute/fullscreen/pip/caption-button(type,role,aria-label,aria-keyshortcuts,
aria-pressed,data-state,data-direction) · time(data-type).
**Patrón de migración** (idéntico a batches 1–3, plantilla en
`carousel-provider.svelte.ts:444` y `table`): por CADA sub-parte —
(a) registrarla en el runtime `this.runtime.part('play-button', { ref, … })`;
(b) en su props getter, `...this.runtimePart('play-button').renderProps()`;
(c) dejar SOLO el override computado (el `aria-label` localizado vía
`this.label`; `data-state`/`aria-pressed` los emite renderProps desde
`stateRef`). El morfo declara: buttons con `role:'button'` +
`type:literal('button')` + `aria-label:propRef('label')` + `aria-keyshortcuts:literal` +
`data-state:stateRef` + `aria-pressed:stateRef` — todo eso lo cubre renderProps.
**Cierre**: actualizar el ceiling de media-player en
`soma-attr-audit.test.ts` (hoy en el comentario "único batch restante", sin
pin — ponerle su techo real de overrides legítimos). Verificar: baseline 57 ·
contracts 38/38 · soma-attr-audit verde · **navegador** (media-player sigue
reproduciendo/mute/fullscreen; los botones conservan aria-label localizado).
### Después (cola, sin orden fijo)
- **THM-2 rollout** — 12 superficies restantes (tracker en §THM-2 arriba):
privadas-forward-ready [toggle-group/tag-group/tags-input/stepper] vs
rol-directo-mini-diseño [badge/card/avatar/…]. Lote estilo S4.
- **THM-4 hotspots** — quema de selectores sin consumidor (media-player 47 ·
stepper 30 · color-picker 29 · avatar 28 · trp 26), dossier por componente.
- **F4-D GAP-\*** — menú de personalización (§7): pendiente de SCOPING del
usuario (qué se arranca vs qué se registra como límite deliberado).
- **cascada-vs-firmas** (motion) — cola lateral: las reglas `[data-stagger]`
sombrean firmas de evento de igual/menor especificidad.
## (histórico) ARRANQUE F4 (iniciativas, cada una con decisión)

Loading…
Cancel
Save

Powered by TurnKey Linux.