From bfaae722b9298522f9c0989a8dccaf42ba98a8a2 Mon Sep 17 00:00:00 2001 From: dev Date: Sat, 22 Aug 2026 03:41:47 +0200 Subject: [PATCH] =?UTF-8?q?docs(theming):=20los=20cinco=20hallazgos=20que?= =?UTF-8?q?=20s=C3=B3lo=20viv=C3=ADan=20en=20el=20handoff=20pasan=20al=20r?= =?UTF-8?q?egistro?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Auditoría de continuidad tras la pregunta del autor: ¿está TODO lo encontrado en el backlog? Contrastados los 21 hallazgos de la sesión contra `next-features.md` y el handoff. Resultado: 20 registrados, 1 sin registrar, y —lo importante— **cinco vivían SÓLO en el handoff**, que se reescribe cada sesión, mientras el registro permanente es `next-features.md`. Pasan a §13, con su medición: - **`knob.arc-width` significaba DOS cosas** con dos defaults distintos (la cara del dial y el puntero). El único que no estaba en ningún registro: sólo en el README del componente y en su commit. Queda además como aviso de CLASE — un mismo nombre con defaults distintos por sitio es una colisión aunque el override funcione, y conviene barrer el catálogo buscando más. - **`mockup` no tiene demo** (404), como `picker-shell`: 29 knobs sin sonda ni guard posibles. - **R-5.1 y R-5.2 no existen** (0 disparos): F3 no puede cerrarse sin escribirlas, y entonces harán falta las marcas `R-5.x exception:` que ya se pusieron en los 16 de F2-B. - **Los cuatro NEEDS-WORK del audit son PREEXISTENTES**, para que nadie los atribuya a este eje. - **El worktree con junction no hidrata** (403 de Vite): mordió en la propia revisión adversarial, que comparó contra una base muerta. Sin cambios de código. docs:check 0. Co-Authored-By: Claude Fable 5 --- docs/next-features.md | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/docs/next-features.md b/docs/next-features.md index 6efbad8a5..462ba6c2e 100644 --- a/docs/next-features.md +++ b/docs/next-features.md @@ -709,6 +709,41 @@ Lo que `textarea` añadió (2026-08-21): mirando la cifra a mano. Con el censo ya endurecido (ver arriba) es el momento de escribirlo. +- **⚠ `knob.arc-width` significaba DOS cosas con DOS defaults distintos** — + medido 2026-08-22 al tokenizarlo: el inset de la cara del dial (`--space-3`) + y la separación superior del puntero (`--space-2`). Un tema que lo escribiera + movía las tres declaraciones a la vez, pero SIN tema cada una valía algo + distinto. Separado en `arc-width` + `pointer-inset` con 0 diffs. Queda como + aviso de clase: **un mismo nombre con defaults distintos por sitio es una + colisión aunque el override funcione** — es la definición que el propio + generador usa para marcar `⚠`, y conviene barrer el catálogo buscando más. + +- **⚠ `mockup` no tiene ruta de demo** (`/uix/components/mockup` da 404), como + le pasaba a `picker-shell`. Con 29 knobs al 38 % es el mayor de los que + quedan sin tocar de su tramo, y sin demo no hay sonda ni guard: habría que + medirlo prestado o darle página. + +- **⚠ R-5.1 y R-5.2 no están implementadas** en `component-audit` (0 disparos + hoy; sólo existe R-5.3 de gramática y R-5.4 de alcance). El plan las da por + hechas en F0 «en `warn`» y F3 las quiere en `error`, así que **F3 no puede + cerrarse sin escribirlas primero**. Cuando lleguen, los componentes con + alcance parcial necesitan su marca `R-5.x exception:` en el README — ya + puestas en los 16 de F2-B que no llegan al 100 %. + +- **Cuatro componentes salen NEEDS-WORK en `component:audit`** y son + PREEXISTENTES (ninguno tiene un commit de F2-B en su código): `badge`, + `gradient-picker`, `mockup` y `motion`. Anotado para que nadie los atribuya + al eje de theming al leer el informe. + +- **⚠ Un worktree de comparación NO hidrata si su `node_modules` es una + junction fuera del root** — Vite responde **403** a `@fs/…` y SvelteKit no + arranca, así que la página SSR se ve pero ningún componente monta. Mordió en + la revisión adversarial de F2-B, que comparó contra una base muerta sin que + nada lo delatara. Se arregla con `server: { fs: { allow: [...] } }` en el + `vite.config.ts` del worktree, y la regla que generaliza es **comprobar que + un componente monta ANTES de comparar**. (Memoria + `worktree-devserver-fsallow`; vuelve a morder cada vez.) + - **⚠ El valor centinela GRANDE no prueba nada contra una propiedad capada.** `skin-media-player` calcula su ancho como `min(100%, base × scale)`: el `1234px` del guard se capa al contenedor y los siete tokens de tamaño leen