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 (eb62b6f8d5a1fa8ff37354d4f278448f10d25700)
| Author | SHA1 | Message | Date |
|---|---|---|---|
|
|
c00164570a |
feat(text-gradient): `colors` discriminates canonical name vs stop list (folds `preset`)
Per request: one `colors` prop that discriminates by shape instead of two
rival props. A `string[]` is an explicit stop list (unchanged); a bare
`string` names a canonical gradient from the theming's named set, resolved as
`var(--gradient-{name})` — exactly what the removed `preset` prop did. The set
is an open cage (`EidosConfig.gradients` / `applyGradients`), so the type stays
`string | readonly string[]`, not a closed union. Removed `preset` outright (no
back-compat shim, per project rule); the canonical S9 vocabulary and raw stops
are now the SAME input.
Docs shell: register a small canonical named set on `uix/+layout@` via
`applyGradients` (`brand`, `spectrum`) — role-derived, so they re-tint with the
seed and flip light/dark. Demo gains a live stops|named toggle so both branches
are a real testbed.
Finding worth recording (types + README): a named gradient painted through
`background-clip: text` must be a single `<image>` (linear/radial/conic). A
role-derived MESH serializes to radials + a base COLOR, and a bare color is not
a valid `background-image` (only the `background` shorthand accepts it) — so a
mesh name computes to `none` and never paints. The docs set is linear-only for
this reason.
Verified in real Chrome: stops branch paints the token gradient; `colors="spectrum"`
paints `var(--gradient-spectrum)` through the text. svelte-check 0 own errors,
component:audit 141/0/0.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
3 months ago |
|
|
63b371d5ce |
feat(packs+text): incorporate the animation collection — Ambient pack + text-effects family + docs
Two streams, split by what the animation touches:
STREAM A — decorative backgrounds → the pack tier
- arts/scene: a consolidated scene runtime ($scene) that owns, once, the
citizenship every ad-hoc background reinvented or skipped (frame loop,
off-view pause, DPR cap, mandatory reduced-motion, WebGL context
loss/restore, scene budget, teardown). SceneDom port (adom satisfies it),
webgl/webgl2/canvas2d drivers + a custom-pipeline extension (vertexShader +
draw + glContext.depth/dprCap) for real geometry (beam, particles, dither,
grid, eter, pixel-blast, hyperspeed). 32 effects as shared resources.
- src/packs/ambient: the first pack — <Ambient effect="…"> mounts a registered
effect; the P contract (P-1..P-6) guarded by scripts/packs-check.ts; colors
are token-aware (P-4). One-way dependency, removable-by-construction.
- resolveToken extended to semantic color slots (--color-{role}-{slot}) so
consumers resolve theme tokens to concrete colors (the P-4 half).
STREAM B — animations over real text → canon
- Six components (count-up + text-{gradient,circular,blur,focus,scramble}):
each a morfo + eidos recipe (where there's styling) + demo. CountUp is a
service component (counts through uix.format.numbers). The five Text* are
passive decoratives. Upgrades over the seeds: SR hardening (real text
visually-hidden + aria-hidden decoration), a11y fix (no fake role=button),
measurement discipline (cached rects via dom.measure, no reflow storm),
reduced-motion, ecosystem citizenship (eidos.dom/timers, no raw platform).
- MorfoElement gains 'p'.
DOCS
- docs/architecture/packs.md (pack tier, admission rule, P contract, Aura
promotion path); docs/decisions/design-text-effects.md (the family design
record) + indexed in decisions.md / README.md; glossary entries
(scene/Ambient/Aura/text effects); scene README custom-pipeline + authoring
bridge; motion-guide content-effects note; strata tables acknowledge packs.
Gates: component:audit 141/0/0 · docs:check 0/0 · scene tests 9/9 · packs:check
0/36 · check 0 own errors. Verified in browser (32 effects mount+compile;
6 text components SSR+hydrate, CountUp re-formats by locale live, TextGradient
resolves token stops to OKLCH via var()).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
3 months ago |
|
|
082b66232a |
docs(process): SEM-4 COMPLETO — D.6 ya estaba vivo (registro reconciliado) + D.2 descartado
- book-deviations: los caveats de D.6 (emisión dormida + branch-vs-item) marcados
RESUELTOS con verificación en vivo 2026-07-12 (los 6 providers emiten; packs con
onBranch/onRow casan con los targets reales) — el párrafo stale fue citado por la
clean-room como evidencia de dormancia: lección anotada (el registro se actualiza
en el mismo pase que el cableado). D.11: párrafo de pickers actualizado al cierre
real (delegado closeWith→dismissWith,
|
3 months ago |
|
|
53b6f629f2 |
feat(audit): component re-audit + fixes P0–P5 (P4 complete, P5 in progress)
Re-audit of the whole component catalog at pilot depth (91 fichas + the checkpoint verdicts in docs/audit/components/) and the executed fix packages. - P0–P3: doctrine (sema participation, CANON §3 intent, component-guide §5 + API naming, §32 outline), guards (morfo-vocabulary-check S10/S11d, component-audit A-3.1/A-1.4/S9, eidos-lint classHooks), morfo contracts (role=application removed ×4, aria-selected off the Day, drp translationRef, field data-state prune, pin-input commit-set, media-player renames), 13 new sema packs + 12 morfos family-default → pack. - P4 (N1–N10) COMPLETE: selectionMode (select/combobox/toggle-group/calendar); onValueCommit terminal-callback norm (pin-input/search/password/textarea + date/time/color-field add); typed validation reason + onInvalid (tags-input, css-field); index/onIndexChange (carousel); deselectable; openDelay/ groupSkipDelay; allowCustomValue; defaultValue prune. - P5 (in progress): S1 class-hooks codemod (22 hooks → data-attrs across cropper/button/image-picker/toggle/image-adjustments); S5 outline remnant in field.css; depth pass (data-depth=overlay on tooltip/toast/float-panel); touch-rows (--touch-target token, decoupled ::before hit-slop, area-not-visual, 44 AAA). S6 (Field composition) + S8 (calendar-surface) pending. Verification: errors-outside-(alpha|words|palabras|chronos) == 59 (baseline); morfo-vocabulary-check exit 0; eidos-lint class-hooks/invalid 0 on touched components; per-component vitest suites green. Handoff + remaining plan: docs/process/continue-audit-fixes-2026-07.md Excluded (broken by the N1 rename, left broken per user decision, not staged): words/**, palabras/**, chronos, web/routes/alpha/**. Reconciliation pending: the touch-rows ::before for checkbox/switch reverses changelog §37's earlier pseudo-element rejection (WCAG-overlap) that had routed markers to a labeled-row/Field task — flagged for the user in the handoff. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> |
3 months ago |
|
|
34e0cb6107 |
docs(arts): B2 — move historical DESIGN docs to decisions/
Move the three superseded arts design-phase records into the E3 corpus (already indexed in docs/decisions.md), verbatim-as-historical: - docs/decisions/design-connection.md (from src/arts/connection/DESIGN_CONN.md) - docs/decisions/design-session.md (from src/arts/session/DESIGN.md) - docs/decisions/design-timer.md (from src/arts/timer/DESIGN_TIMR.md, kept Spanish) Each gets a `status: historical` frontmatter block; the current reference for each subsystem is its README.md. A stub at every old src/arts/* path keeps the ~30 source provenance citations (`DESIGN_TIMR §12.8`, `DESIGN.md §7.Q1`, …) resolving. Bodies kept verbatim (no reformat). docs/decisions.md index + naming note updated to the new paths. docs:check 0 errors. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> |
3 months ago |
|
|
4e7753fe08 |
docs(book): F7.6 (1/2) — decision logs moved to docs/decisions/ (verbatim Spanish)
LIBRO_VARIACIONES_Y_EXTENSIONES -> decisions/book-deviations.md and
GUIA_IMPLEMENTACION_SEMAUIX -> decisions/guia-semantica-historica.md,
both moved AS-IS in Spanish: the deviations registry is a logbook of the
author's literal decisions ('transcrita literal') and carries proposed
doctrinal text destined for the Spanish book — translating it would
destroy that function (s G calls itself bitacora); the guia was already
status: historical (Fase 6) and the plan exempts it explicitly. English
frontmatter added to both; internal cross-links repointed (CANON,
theming/reference, book-deviations D.11). docs-check's I2 phantom-field
exemption follows the moved file (it matched by the LIBRO_VARIACIONES
filename; now also matches decisions/book-deviations.md). Corpus swept:
CANON x3, README (E2/E3 strata + tables — also fixed the pre-Fase-6
leftover row still calling the guia 'authoritative for any new wrapper'
and the unswept eidos/TSC.md stratum mention), building-a-component D.4,
completion-checklist G-1.1 + header, theming/reference, architecture
x5 (active-architecture, eidos, morfo, overview, sema x2).
docs:check 0 errors, 11-warn baseline.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
3 months ago |