cursor-glyph-trail, echo-trail, facet-morph, light-sweep-pass,
soft-blob-touch, halftone-dissolve; all pure functions of timeline time,
tri-order seek determinism verified; watch page at docs/wild-shelf.html.
Candidates pending owner judgment, no catalog changes.
cta-close and logo-brand-close rebuilt at display scale with real presence;
grid-card-assemble tiles become drawn-icon capability cards; all nine
generated demo mounts rebuilt full-frame on light token backdrops;
trust-strip leaves the hero shelf (too easily one-shot to hold a slot);
dash draws moved to attribute-driven offsets (reverse-seek stale paint).
Eight new hero primitives (press-ripple, typed-prompt, titlecard-lockup,
logo-brand-close, browser-device-stage, grid-card-assemble, chart-story,
trust-strip), before-after-wipe port with content slots, marker-highlight
contract rebuild, whiteboard-ink strokes slot, and the cues/exit/register
retrofit across the ten kept primitives. Gallery, theme gate, and
theme-compare board restaged for the shelf of 21.
Freeze the approved 66-item scope and the Operator Black visual and motion contracts.
Define compatibility, accessibility, determinism, and verification gates before implementation.
chat-gpt, claude-chat, claude-code, github-stars, and opencode leave the
catalog per the no-product-imitations policy; their mechanics re-enter
later under generic names with brand supplied via variables.
Enforce the video-primitive theme-token contract (W2f): registry blocks and
components must not redeclare contract tokens at :root/html/body (they bypass
composition scoping), must supply var() fallbacks, and must consume every
declared composition variable. Adds a provenance check for registry items
whose tags claim an external port with no recorded source.
Extends CompositionVariable with role and css-var bindings, mirrors declared
variables into registry-item.json (params/BlockParam deprecated), exposes
variables through catalog --json, and adds a repeatable add --set flag that
shapes the printed data-variable-values wiring snippet without touching
installed files.
Applies declared css-var bindings after the variable merge and before scoped
scripts run, exposes the host's effective duration to embedded compositions
via a scoped getDuration(), and adds the pure resolvePhases(D, inBase, outBase)
IN/HOLD/OUT helper so primitives stretch by extending the hold window instead
of timescaling motion.
`hyperframes transcribe --model large-v3` aborted with "unknown DTW preset
'large-v3'". whisper.cpp's --dtw flag wants a dotted alignment-heads preset
(large.v3), but we passed the hyphenated ggml file stem (large-v3). They
coincide for tiny/base/small/medium(+.en) — why it slipped through — but
diverge for the large-v* family. Map stem -> preset (- to .) so large-v1/v2/v3
(and large-v3-turbo) work; no-op for the others. Also fixes media-use, which
shells to `hyperframes transcribe`.
Claude-Session: https://claude.ai/code/session_01H5k87mPZ4d6yiFwcWSb8Vv
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>