Bugs from real-product integration:
- Meter/LEDFader clamp geometry below breadth 14 (no negative SVG rects)
- mixColors falls back to CSS color-mix() so theme tokens can be var()/oklch()
- type-in editing fires a real edit gesture (Start/onChange/End, source 'edit')
- ScrubField Enter/Escape no longer double-commit or commit-on-revert via blur
- disabled dims the whole control uniformly, data-disabled on the wrapper
New capabilities:
- commitMode 'release': drags preview, emit once on pointer-up, Esc discards
- Meter accepts value=[l, r, ...]; theme zoneGood/zoneWarn/zoneHot defaults
- XYPad per-axis invert + detents; Fader valuePosition top|end|none
- LED skins: unit labels, uncapped displayDecimals, aria-valuetext defaults
New components: IndicatorLamp, SegmentSwitch, ScrubField, MeterBridge,
PushButton led='dot'. Docs: change-contract table, recipes, gallery cards.
- MIT license attributed to Dreamodus Software Inc. (root + package
LICENSE, package.json author, README and docs-site footer)
- Version 1.0.0; CHANGELOG.md summarizing the release
- Package files whitelist includes LICENSE/README/CHANGELOG; tarballs
gitignored
- Root README: instructions for consuming the unpublished package
(tarball, file dependency, or pnpm link)
Verified: 32 tests, both packages typecheck, production builds clean,
and a pnpm-pack tarball installed into a fresh project resolves all 50
exports via both ESM and CJS.
Docs/playground accuracy (from a full docs-vs-source audit):
- Playground: drag-feel select covers pickup/relative rotary modes, is
disabled for faders, and generated code no longer emits props the
target component does not accept
- API/README claims corrected: Shift-fine wheel scope, wheelStep and
decimals defaults, trackInset row, data-part and ref-forwarding
scope, VintageKnob readout exception, Meter peakHold tag, stale
component lists, aria-valuetext wording, also-exported list
API consistency fixes surfaced by the audit and the tutorial:
- Keyboard gestures now fire onChangeStart (bracket parity with drag/
wheel - fixes gesture-scoped undo patterns)
- name (hidden form input) added to Fader, LEDFader, ImageKnob
- PushButton gets a themed keyboard-only focus ring + data-focus-visible
New docs content:
- Getting Started: 7-step guide with live examples and a gotchas list
- Advanced guide: 8-step channel-strip tutorial ending in a live,
themed, gesture-undoable strip with meter (plus headless demo)
- Synth section: playable Web Audio synth - osc/filter/env/LFO/master
all dreamknob controls, momentary-pad keyboard, analyser-driven Meter
React + TypeScript knob/fader library with a headless interaction core
(rotary, relative-drag and track modes, wheel, keyboard, a11y), SVG
primitives, nine prebuilt skins, seven-segment display engine, and a
Vite showcase with gallery, live playground and API docs.