You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
svelte-kit-vice/docs/audit/theming/mark.md

4.4 KiB

mark — alcance de tema: análisis y propuesta

Generado por node --import tsx/esm scripts/theming-census.ts --report. Lo medido y la propuesta se regeneran; el Veredicto (§5) se conserva. Vista de conjunto: README · método y protocolo: PLAN-theming.md §1, §2, §7.

  • Medido: 2026-08-25 · Alcance: 100% — 3 de 3 knobs por token público
  • Knobs de apariencia: 5 — público 3 · privado 0 · global 0 · literal 0 · sistema 0 · excepción 0 · estructural 0 · puente 2 · canal 0 (los cinco últimos, fuera del ratio)
  • Contrato hoy (lib/recipes/base.ts): 3 pública(s) — padding-inline, padding-block, radius · 2 privada(s) forward — _palette-element, _palette-text
  • Eje size: no · ficheros: mark.css

1. Knobs fuera de alcance

1.1 Directo a primitivo global (0)

Ninguno.

1.2 A través de un privado (0)

Sólo el residuo: el puente de paleta (§2-ter) y el canal de valor (§2-quater) salen aparte, porque no son deuda ni tienen nombre que acuñar.

Ninguno.

1.3 Literales (0)

Ninguno.

1.4 Excepciones firmadas (0) — fuera del ratio

Literales que llevan su anotación /* literal: <razón> */ en la propia declaración: la válvula de recipe-contract §3, la misma que honra component-audit. Una desviación firmada no es deuda — se listan para que la razón se lea, no para acuñarlas.

Ninguno.

2. Sistema transversal (0) — informativo, fuera del ratio

Un tema los alcanza a nivel de sistema, por diseño (recipe-contract §2).

Ninguno.

2-ter. Puente de paleta THM-2 (2) — fuera del ratio

La receta lee var(--_mark-palette-{slot}), que lo escribe el forward de la cascada de paleta bajo [data-mark]:where([data-color], [data-color-custom]) (renderRecipePaletteForward, firma B′). Es el MECANISMO de la paleta por instancia, y se alcanza dos veces: por la capa compartida --palette-* y por los tonos públicos del propio componente. No se acuña: un público encima dejaría que un tema lo fijara y matara en silencio el color= de cada instancia (veredictos §5 de card, tags-input, avatar).

# fichero:línea selector propiedad valor
1 mark.css:13 [data-mark] background var(--_mark-palette-element)
2 mark.css:24 [data-mark][data-color], [data-mark][data-color-custom] color var(--_mark-palette-text)

3. Privados de la receta — ¿de dónde sale su valor?

La receta no declara privados propios en su CSS.

Consumidos y no declarados en el CSS (vienen de base.ts o de un estilo inline del wrapper): --_mark-palette-element, --_mark-palette-text.

4. Propuesta de corrección

Nada que proponer: no hay knobs fuera de alcance.

4.4 Lo que hay que comprobar a mano (PLAN-theming §1.3 · §7.4)

  • Privado que no deriva de un público — §3 lo marca; el privado debe leer el público o desaparecer.
  • Velo o acento en el nodo equivocado (archetype: 'item' en un envoltorio, un background en shorthand que mata la capa de estado) — se mide desde el píxel hacia arriba.
  • Doble animación al mover un sello a una superficie con animación propia — registro de animationstart/animationend.
  • Diff de computed = 0 en reposo · hover · abierto · disabled · foco, por talla, antes y después.
  • Centinela por token nuevo: valor imposible en el root → el nodo lo sigue. Si no, el token miente.

5. Veredicto

Medido 2026-08-22. Cinco knobs, y el reparto lo decide la propia doctrina del componente: hereda la tipografía ambiente (font: inherit, color: inherit) porque un resaltado vive dentro de un párrafo, así que no tiene ni un solo knob de tipo. Lo suyo es la decoración.

  1. Los dos forwards de paleta se quedan privados (THM-2): el fondo tiñe con el rol y la tinta sólo cuando hay data-color — el defecto es inherit. Son el 40 % que no alcanza.
  2. Los tres knobs propios son la decoración: el padding en sus dos ejes y el radio. El padding es em-relativo a propósito y muy pequeño (0.16em / 0.04em): el resaltado tiene que leerse sin romper el interlineado del párrafo que lo contiene, que es justo lo que esos dos números protegen.

Powered by TurnKey Linux.