Alpha steps (--scale-*-aN) are unconsumed today (only a test + README ref). The step-9-at-opacity synthesis is a valid 'accent-at-opacity' ramp default, not a bug; it is not a Radix-style reproduction of the solid scale. Documented the model, its limitation, and the already-wired alphaScales opt-in in appendColorAlphaScaleDeclarations. A build-time compositing-inverse generator is deferred until alpha is actually consumed.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- Derivar las 12 alfas de un único step (9) da una rampa monocroma que no sigue la progresión de luminosidad de la escala sólida → a1–a4 sobre superficie clara se ven como tinte del step-9, no como el tinte cercano-a-superficie esperado. **Mina el plan §22-#2 "surface vía alpha"** (las alfas que lo arreglarían son de baja fidelidad).
- Derivar las 12 alfas de un único step (9) da una rampa monocroma que no sigue la progresión de luminosidad de la escala sólida → a1–a4 sobre superficie clara se ven como tinte del step-9, no como el tinte cercano-a-superficie esperado. **Mina el plan §22-#2 "surface vía alpha"** (las alfas que lo arreglarían son de baja fidelidad).
- **Fix**: autorar `alphaScales` reales por paso (Radix las trae), o documentar que la alfa es sintética.
- **Fix**: autorar `alphaScales` reales por paso (Radix las trae), o documentar que la alfa es sintética.
- **✅ Hecho** (reframe + documentación): **hallazgo clave — ningún recipe/componente consume los alpha steps hoy** (solo un test + el README; emitidos para uso futuro). La síntesis (hue del step-9 a 12 niveles de opacidad) es un ramp *acento-a-opacidad***válido** como default, no un bug — lo que no es es una reproducción Radix de la escala sólida. Documentado el modelo + el límite + el opt-in `alphaScales` (ya cableado en `render-css.ts:1340`, con test) en un comentario del propio `appendColorAlphaScaleDeclarations`. **Diferido a propósito**: el generador compositing-inverse (alpha que reproduce la sólida para toda escala automáticamente) hasta que el alpha se consuma de verdad — así se diseña la fidelidad contra uso real, no especulativamente para tokens inertes.
### P1-2 · Tokens de densidad muertos; tipografía/iconos/radios no escalan
### P1-2 · Tokens de densidad muertos; tipografía/iconos/radios no escalan
- `render-css.ts:348,376` emite `--density-content-scale` y el maestro `--density-scale`, se redeclaran por `[data-density]`, y están en el **contrato público** (`contract.ts:257-284`) — pero **cero consumidores** (grep de `var(--density-content-scale)`/`var(--density-scale)` = 0). Solo `space` y `control-height` escalan.
- `render-css.ts:348,376` emite `--density-content-scale` y el maestro `--density-scale`, se redeclaran por `[data-density]`, y están en el **contrato público** (`contract.ts:257-284`) — pero **cero consumidores** (grep de `var(--density-content-scale)`/`var(--density-scale)` = 0). Solo `space` y `control-height` escalan.