dev
|
7214ae7940
|
uix: drawer/popover/toast/accordion eidos wrappers + sema packs + /uix docs scaffold
- eidos: migrate drawer / popover / toast / accordion to wrapper subdirectory
pattern (provider + parts + tokens + recipe per component); avatar wrapper
added; toggle/switch/collapsible recipe polish.
- sema: per-component packs (accordion, drawer, popover, toast); engine /
resolver / event / sema-map updates; visual channel hold refinements.
- morfo: drawer event surface (variant, dragToDismiss, isDragging, minSize/
maxSize, onDragStart); popover/toast/accordion event refinements; schema +
types updates.
- soma: drawer provider rewrite (variant, dragToDismiss, isDragging binding,
drag callbacks); toast provider/toaster restructure with toast-main +
toast-status parts; popover content/arrow polish; gesture/floating layer
updates; manipulation layer scaffold; avatar removed (eidos owns it now).
- web/routes: legacy demos updated for new APIs; new /uix docs scaffold
(web/routes/uix/) with Radix-style shell, theme/lang/format/semantic prefs,
and standardized component template (Drawer page first — 6 tabs, live
controls, drag-hint arrows, scroll-safe body wrapper).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
5 months ago |
dev
|
e6862265e2
|
sema/morfo/eidos: typed selector builder + dialog wrapper + emerge color
sema architecture
- sema-map: 5-channel registry (motion / sound / color / presence / haptic)
via SemaChannelSignatures declaration merging; engine stamps data-event-*
tokens; flat CSS-style cascade replaces the eventLabel-overrides middle layer.
- sema-map: emerge family gains base.color so intent deltas can shift
hue / saturation / intensity. Without a base, the resolver was skipping the
channel and Dialog open with intent='threat' rendered as neutral blue in the
Sema tab visualisation.
- types: SEMA_FAMILY_POLICY const drives compile-time + runtime intent
requirements per family. Object shape so future per-family policy fields
fit alongside. Emerge events MAY now declare intent (canon update — a
Dialog confirming threat carries it in its very appearance).
- chans: rename vibra→haptic, add HapticChannel V1 (Vibration API);
SoundChannel eager-init on first user gesture (autoplay race fix).
morfo selector discipline
- morfo/selectors.ts (new): semaSelector(morfo, partKebab, matchers?) —
type-checked against morfo.parts and morfo.events. Sema cascade rules MUST
use it; hand-written strings are an architecture violation that breaks
silently when morfo renames a part.
- dialog morfo: open carries intent via fromProp; close-cancel /
close-dismiss / close-dismiss-outside drop intent (cancellation has no
evaluative load); close-save stays hardcoded fulfill (commit fulfils the
user's decision regardless of dialog context).
eidos dialog migration (4th pilot)
- eidos/components/dialog/: full subdirectory wrapper — flat <Dialog> +
compound Provider/Trigger/Overlay/Content/Title/Description/Close/Header/
Footer; size + position responsive props; sheet auto-form on narrow
viewports; closePosition for the auto-X.
- sema/components/dialog.ts: cascade rules use semaSelector(dialogMorfo,
'content', matchers?). Intent block adds character (haptic kind / pattern)
but never overrides pitch / gain / contour — those are intent.deltas
signature ownership and overriding flattens per-intent perceptual difference.
demo controls + dialog page
- src/lib/_demo (DemoSwitch / DemoEnum / DemoText / DemoRange) — unified
controls reused across all component demos.
- web/routes/dialog: live preview always rendered above tabs; per-event
Sema tab with independent intent probe; signature visualisation + Play
buttons with fallback target chain.
documentation
- CLAUDE.md: intent.deltas signature ownership rule; eidos drift defense
doctrine (types over lint); 2026-05-09 hand-off entry.
- morfo/README: Typed selector builder section.
- eidos/README: linter section reframed as opt-in safety net for plain CSS
recipes; the architectural mechanism is compile-time typing.
- sema/README: open channel registry + flat cascade docs + override
semantics + intent policy const + selector builder discipline.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
5 months ago |