astra
alpha-0.1-background
alpha-0.1-dir-prefs
alpha-0.1-sec-dom
menubar-v4-safe
active-uix
morfo-runtime
morfo-driven-soma
semantuix
glm-5
main
sium-v1.0
${ noResults }
6 Commits (0d7a97cb7ad839193ffeede68bc02135a766e978)
| Author | SHA1 | Message | Date |
|---|---|---|---|
|
|
ffa45726fd |
feat(color)!: una palabra, un significado - primary/secondary son SIEMPRE jerarquia
La homonimia muere: `primary`/`secondary` significan JERARQUIA DE MARCA en el
catalogo ENTERO, tambien dentro de los seis primitivos de tinta (text, heading,
display, code, label, s-text). El paso de tinta del 82 % se llama `subtle` -
PROP y TOKEN, sin excepcion: el nombre es el contrato en el artefacto (la misma
ley que la FIRMA B' y la 12.9; se rechazo por escrito la via "solo el prop con
tabla de traduccion" - las excepciones legitimas son las FIRMADAS con razon,
no las inventadas al decidir para abaratar).
- Los seis CONTENT_INK, IDENTICOS: {subtle, muted, disabled, on-solid}; el
nivel-1 es el DEFAULT sin prop. `label` gana `on-solid` (cierra la
divergencia de familia registrada en
|
2 months ago |
|
|
9fc38b19a4 |
fix(demos): el contador de la pestaña Tokens se DERIVA del contrato — tres ya mentían
El panel de Tokens existe precisamente para no escribir a mano lo que el contrato ya sabe: pregunta a ActiveEidos.getRecipeTokens(). Pero el número junto a la etiqueta de la pestaña SÍ estaba escrito a mano, y derivó como deriva siempre una segunda fuente de verdad. Auditadas las 105 demos que montan el panel: 90 contadores correctos, 15 sin contador y TRES que mentían — carousel decía 30 y son 27, drag-drop 10 y son 9, link-preview 33 y son 35. Nadie edita un badge cuando cambia una receta. Nace web/routes/uix/lib/TokensTabCount.svelte, que hace la MISMA pregunta que el panel de debajo y filtra los forwards con guion bajo. 102 demos convertidas; las tres que faltan (scroll-area, slider, tabs) están en manos de otra sesión y van en una segunda pasada, para que el índice compartido no vea nunca dos escritores sobre un fichero. Verificado en navegador: carousel pasa de decir 30 a decir 27, con 27 filas en el panel y ninguna sin resolver; metrics, que no tenía contador, dice 72 y lista 72. npm run check COMPLETED con los 72 errores preexistentes de la rama y ninguno en los 102 ficheros. Dos sesiones de esta tanda discreparon sobre si poner el contador —una lo puso a mano, otra lo omitió por ser justo lo que el panel evita—. Tenían razón las dos a medias: el contador es útil y no debe escribirse. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> |
2 months ago |
|
|
ccdb7fc506 |
fix(demos): SIETE demos de la familia chart afirmaban no tener tokens, y tienen 45
La pestaña «Eidos recipe» de chart decía «No --chart-* tokens — the chart styles from global theme tokens directly», y desde el commit que la tokenizó hay 45 claves públicas en recipes/base.ts. Al añadirle la pestaña Tokens al lado, la demo se contradecía consigo misma: un panel listando 45 junto a un párrafo jurando que no hay ninguna. Lo destapó la sesión que añadió la pestaña, sobre chart. El grep con el que fui a comprobar si era un caso aislado pedía la frase entera y me devolvió DOS — line-chart repetía la de chart palabra por palabra. Repetido sin filtro de frase: son SIETE. area-chart, bar-chart, pie-chart y scatter-chart la dicen corta («styles from global theme tokens») y sparkline con otra coda. Es la memoria «grep en brief vuelve certificado»: un barrido que pide la redacción exacta encuentra las copias literales y pierde las variantes, que es justo donde vive el resto del defecto. Corregidas las siete con lo que es cierto, y sin perder lo que la frase vieja acertaba: los seis derivados VISTEN la receta de chart —su superficie son esas 45 claves, no un bloque propio— y las series siguen re-tiñéndose con el tema, porque el default de cada clave ES el token global que antes se leía a pelo. Eso es exactamente lo que la costura §2-A promete y aquí queda escrito para quien lea la demo. npm run check COMPLETED con los 72 errores preexistentes de la rama, ninguno de estos siete ficheros. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> |
2 months ago |
|
|
e423b90c5b |
uix(demos): la pestaña Tokens en cinco demos — y `chart` no tenía escenario
Paso 11 del protocolo (PLAN-theming.md §7) sobre cinco componentes que cerraron su tokenización ANTES de que el paso existiera: su superficie de tema no se veía en ninguna parte. La demo es el producto; un componente temable cuya demo esconde sus tokens está a medio entregar. Nada escrito a mano — el panel se deriva del contrato vivo vía `ActiveEidos.getRecipeTokens(name)`. Mismo molde que collapsible. Filas que lista cada panel, verificadas EN CHROME sobre localhost:5180 (pulsada la pestaña, contadas las filas, las tres columnas resueltas al 100 %: ni un solo «—» en la columna que COMPUTA sobre el escenario): accordion 76 color-picker 71 drawer 54 popover 46 chart 45 Cuadran una a una con las claves públicas del bloque de cada componente en `src/uix/eidos/lib/recipes/base.ts`. `chart` era el raro: no tenía `stageRef`, así que nace aquí — `bind:this` en el `[data-uix-stage-area]` del escenario principal, NO en el de la galería de presets, que lleva el mismo atributo. Los otros cuatro ya lo tenían y conservan su nombre. Guards. `npm run check`: 72 errores, todos preexistentes y ajenos — ningún diagnóstico cita los cinco ficheros ni TokensPanel. Prettier: los cinco ya fallaban `--check` en HEAD con el contenido normalizado a LF, y el diff entre prettier(HEAD) y prettier(árbol) es EXACTAMENTE lo añadido, o sea que las líneas nuevas ya son canónicas y no arrastro deuda ajena. Cero errores de consola en las cinco páginas. Queda fuera, dicho para que no se pierda: el texto de la pestaña Recipe de `chart` sigue afirmando «No --chart-* tokens — the chart styles from global theme tokens directly». La tokenización posterior lo dejó obsoleto, y ahora contradice al panel de la pestaña de al lado, que lista 45. No lo toco: es copy ajeno a este paso. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> |
2 months ago |
|
|
8086f21d6e |
fix(chart): el formato del eje Y no llegaba al tooltip, asi que ambos etiquetaban distinto el mismo punto
Reportado por el usuario con una captura: el eje decia "55k" y el tooltip "55"
para el mismo punto de Marzo.
El chart NO calcula mal. Los datos de la demo son decenas (42, 48, 55...) que
representan miles, el trazado es correcto y el punto cae donde debe. Lo que
fallaba es que el formateador del valor Y llegaba SOLO al eje.
EN EL FRAMEWORK, y afecta a los cinco presets. line-chart, area-chart,
bar-chart, bubble-chart y scatter-chart aceptan `formatY` y lo pasan a
<YAxis format={formatY}> y a nadie mas. El tooltip lo activan con la prop
booleana `tooltip` del Chart, que deja tooltipConfig en null, asi que el valor
cae al formatNumber por defecto. Resultado: `<LineChart formatY={money} />` da
eje "51k" y tooltip "51", y el consumidor NO puede arreglarlo porque el preset
no expone el formato del tooltip. Ahora cada preset declara
`{#if tooltip}<Tooltip format={formatY} />{/if}`: los dos rotulan el MISMO valor
y deben decir lo mismo.
EN LA DEMO. El chart compuesto —el de la captura— pasaba `format={money}` al
YAxis y dejaba `<Chart.Tooltip />` sin formato. Corregido, y tambien el snippet
de ejemplo que la pagina muestra, para que no ensene el patron incompleto.
Medido en Chrome disparando el pointermove sobre los tres SVG a la vez. Antes:
compuesto "May revenue 67 expenses 44", LineChart "Apr revenue 51", AreaChart
"Apr revenue 51" — todos contra un eje 0k..100k. Despues: "67k / 44k",
"51k / 35k" y "51k", coherentes con su eje.
Verificado: check 74 = linea base exacta, 54 warnings tambien. No hay tests de
chart en el repo. Prettier: 19 avisos en esos .svelte ANTES de tocarlos, 15
despues — ninguno nuevo.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
|
2 months ago |
|
|
c19a72b620 |
feat(charts): zero-dep chart family — $libs/plots engine + eidos components + demos
Net-new data-visualisation family on the in-house, zero-dependency $libs/plots engine (scales · ticks · curves · shapes, all original). Compositional <Chart> frame (context-shared scales, responsive, cursor-following tooltip) + primitives Grid/XAxis/YAxis/Line/Area/Bar/Scatter/Tooltip/Legend + presets Line/Area/Bar/ Scatter/Sparkline (line + bars) + standalone Pie/Radar/BarList/BarSegment, each with a themed hover tooltip. Themed via --chart-* recipe tokens + global colour tokens; locale via eidos.format/langs; morfo `chart` (scope: eidos, role=img). Point scales span edge-to-edge. Per-chart demos under web/routes/uix/components. Roadmap + MUI X Charts comparison in components/chart/IMPROVEMENTS.md. Note: recipes/base.ts + generated/base.css are shared files; this commit unavoidably carries the (inert) metrics recipe block that co-lives there. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> |
4 months ago |