@ -1,5 +1,11 @@
# CONTINUE — eje Theming «theme-reach» (handoff, act. 2026-08-23)
> **LO ÚLTIMO (2026-08-23, `85988785d`): `navigation-menu` 44 % → 100 %** , el
> primero del bloque **B1** de D-TH.4. 19 claves nuevas, una retirada
> (`indicator-x`, muerta), diff 0, R-5.4 43/44. **Y el guard cerraba el panel
> que medía** — detalle abajo, en «Lo que dejó `navigation-menu` ». Global 65 %,
> **26 al 100 %** .
**Estado: EN EJECUCIÓN — F0 y F1 CERRADAS · F2 en curso, bloque F2-B CERRADO
con su revisión adversarial pasada (2026-08-22); la cola sigue abierta y
`text-gradient` ya está dentro (2026-08-22) y el **2026-08-23 entraron
@ -76,6 +82,49 @@ HTML crudo (prose) o cuyas partes no llevan atributo se mide sobre UN nodo y el
gate no significa nada. Los dos aceptan ya un selector extra
(`EXTRA_NODES` en la sonda, `extraNodes` en `COMPONENT_OVERRIDES` ).
## LO QUE DEJÓ `navigation-menu` (2026-08-23) — léelo antes de seguir con B1
**Tres cosas que se repetirán en la cola, y cuestan una medición cada una:**
1. **Cuenta los nodos ANTES de creerte el gate — otra vez, y por una causa
nueva.** Las filas de su mega-menú son los `<a>` **desnudos del consumidor** ,
que la receta estiliza por DESCENDENCIA
(`[data-navigation-menu-content] :is(a, …)`). Sonda y centinela filtran por
`data-{c}-*` : veían 10 nodos y **ninguno era el panel ni una fila** — 9 de
sus 19 knobs quedaban fuera del diff. Es la clase de `prose` y `onion-menu` ,
pero por **composición del consumidor** . Los dos instrumentos aceptan ya el
selector extra para este componente, y el paso `open` de la sonda —que NO
honraba `EXTRA_NODES` — ahora sí.
2. **Un panel de HOVER lo cierra el propio guard.** Abre con `pointerenter` y
`pointerleave` PROGRAMA el cierre; el guard abre con clic y luego aparca el
puntero en (0,0), que es justo el gesto que lo cierra. Daba
**no-determinismo** (dos corridas del mismo código discrepando) y las **dos
caras del error a la vez**: falso negativo en los tokens de la fila y falso
POSITIVO en `content-link-padding-inline` , que leía «vivo» porque ensancha
el panel que sí se medía. Se arregla con `openBy: 'hover'` . **Regla: antes
de creer un «no effect», comprueba que la superficie seguía abierta.**
3. ** `color` puede estar EN TRANSICIÓN.** Forzar `data-disabled` y leer en el
acto devuelve el valor VIEJO: tres diagnósticos falsos («ni el inline lo
mueve») hasta congelar. Es la trampa del cuentagotas del color-picker, en
otro componente y sobre otra propiedad. **Toda medición a mano congela
`transition` — el guard ya lo hace, tu script de un solo uso no.**
**Y dos de doctrina:**
- **El catálogo decide el nombre, no la §4.** Aquí falló de CINCO maneras (las
cuatro conocidas más una nueva: un aviso de capa compartida disparado por
**homonimia** — `menu-indicator` es el check de los CheckboxItem, no el
subrayado de esta barra). Contar en `base.ts` resolvió los 19 nombres.
- **Un nombre de parte que existe en OTRO sitio del mismo componente miente.**
Los gemelos llaman `item-*` a la fila del panel; aquí `item` es el `<li>` de
la barra y el `Link` de barra viste el cromo del trigger, así que ni `item-*`
ni `link-*` valen: `content-link-*` nombra el nodo por donde vive.
**Contabilidad**: el censo decide el eje `size` grepeando `data-size` en el CSS,
y el protocolo §7.4 ORDENA retirar esos bloques — así que **todo componente que
aplique bien el protocolo aparece «sin eje `size` »**. Ya le pasa a `sidebar` ,
`nav-tree` y ahora a `navigation-menu` . Registrado en §13; no es deuda.
## LO PRIMERO AL ENTRAR (cinco minutos, en este orden)
1. **Comprueba que el suelo no se ha movido** :
@ -291,7 +340,13 @@ Lo que hay que llevarse de aquí:
| `chronos` | 245 (1 %) | el segundo mayor; sin abrir |
| `proof-of-human` | 95 (15 %) | escena de tono fijo firmada; lo demás son hooks de clase (eje aparte) |
| `prose` | 74 (1 %) | su superficie es la capa tipográfica: mismo caso que chart, un piso más arriba |
| `nav-tree` · `banner` · … | varios | ver el censo, `reach < 20 %` = 17 |
| `nav-tree` · `banner` · … | varios | ver el censo, `reach < 20 %` = 12 |
**Cerrado el 2026-08-23**: `navigation-menu` (44 % → 100 %). Lo que queda de B1
en la lista del PLAN ya está hecho o adjudicado; el siguiente por alcance entre
los medibles y sin bloqueo es `waveform` (55 %) / `color-field` (56 %), y el
mayor no bloqueado sigue siendo `chronos` (1 %, carril WIP de D-TH.3, tiempo =
el ÚLTIMO de D-TH.4).
`avatar` ya está al **75 %** y `knob` al 75 % (ambos hechos). `heading` /
`text` / `display` son primitivos tipográficos: su superficie es `--style-*` y