• v1.1.4 8b462dfb83

    Dreamodus released this 2026-07-14 21:21:57 +00:00 | 0 commits to master since this release

    Light-theme support — the controls whose chrome was hardcoded dark now adapt to a light base (flat knobs and faders already did, via the face token).

    Themeable LED well

    • ledWell theme token — the recessed screen behind the LED segments of LEDKnob, LEDFader, Meter, and the default well of SegmentDisplay / AlphaDisplay, now comes from the theme instead of a hardcoded near-black. Dark base keeps the classic dark well (#0b0d0e); the light base is transparent, so LED controls and readouts render as clean flat segment rings / bar meters / digits on the light panel (still clearly "LED" from the lit segments). faceColor / background props still override per-instance.

    Light-theme panel chrome

    • scheme theme token ('dark' | 'light', set by base) drives the raised gradient/border/shadow of PushButton (and Button), TransportButton and SegmentSwitch via a shared panelButtonChrome(scheme, pressed) helper. On a light base they render as light raised buttons instead of dark chips; unlit LED pips flip to a faint dark so they still read.
    • Fixes the whole panel-button/switch family looking like dark chips on light themes.

    Docs

    • A Light theme gallery card showing the panel family (LED knob, readout, meter, buttons, switch) under base="light".

    All opt-in via base="light"; the default dark theme is unchanged.

    Install:

    pnpm add https://git.dreamodus.software/Dreamodus/DreamKnob/releases/download/v1.1.4/dreamknob-1.1.4.tgz
    

    Docs: https://dreamknob.dreamodus.software

    Downloads
  • v1.1.3 d183d7d16b

    Dreamodus released this 2026-07-14 19:08:20 +00:00 | 1 commits to master since this release

    Fourth integration-feedback release — a composability fix for buttons, a much smarter meter, and the pan control the mixer was missing.

    Buttons

    • Action buttons no longer show an LED by default. Button (and PushButton mode="action") are plain — an action has no state to indicate. led defaults to 'strip' for toggle/momentary and to false for action; pass led="dot" / led="strip" to opt a command button back in.
    • Compose as Radix triggers. PushButton/Button forward native button props (...rest) and compose their own event handlers with any a Radix asChild slot injects, so a Button can be a dropdown / tooltip / popover trigger.

    Meter — ballistics, dBFS, loudness

    • ballistics — PPM-style attack/decay smoothing (true ≈ 5 ms / 350 ms, or { attack, decay }).
    • peakDecay — the peak-hold marker falls with a tail instead of snapping.
    • scale="db" — feed linear amplitude (0..1) and it displays dBFS; min/max default -60 / 0 with reference gridlines. New ampToDb / dbToAmp helpers.
    • integrated — a windowed loudness estimate (LUFS-ish — a windowed power mean, not a full BS.1770 measurement), shown as a secondary readout + marker line.
    • All opt-in; the default meter is unchanged. Works in both orientations.

    New component

    • PanKnob — a bipolar stereo-pan knob: fills from center, center detent, reads out L<n> / C / R<n>. Defaults to a −50…50 range.

    Install:

    pnpm add https://git.dreamodus.software/Dreamodus/DreamKnob/releases/download/v1.1.3/dreamknob-1.1.3.tgz
    

    Docs: https://dreamknob.dreamodus.software

    Downloads
  • v1.1.2 a6348d5c46

    Dreamodus released this 2026-07-14 13:33:15 +00:00 | 3 commits to master since this release

    Third integration-feedback release — a general action button, responsive faders everywhere, and the label-scaling gap, all surfaced building a resizable streaming studio.

    New components

    • Button — a normal click-to-fire command button in the panel style (Regenerate, Add, Apply, Refresh), the non-latching sibling of PushButton. It's PushButton locked to the new mode="action": never latches, shows a press-down + a brief LED flash, calls onClick. led="dot" (default) gives the corner-dot look; led={false} a plain button.

    Buttons

    • PushButton gains mode="action" (alongside toggle/momentary) and an onClick prop — the stateless command-button behavior Button wraps.

    Responsive faders

    • fill on LEDFader (matching Fader) — the fader stretches along its travel axis to fill the container instead of a fixed length, so faders in resizable dock panels size themselves with no wrapper measurement.

    Label scaling

    • labelSize on IndicatorLamp — the caption otherwise tracks size but is floored at 10px; set this to shrink it with a small lamp. Also on LampRow for parity.

    Docs

    • A dedicated Buttons & switches section with a "which do I use?" guide (Button = action · PushButton = latch · TransportButton = transport · ToggleSwitch = boolean · SegmentSwitch = mode) and a live demo of each.

    Install:

    pnpm add https://git.dreamodus.software/Dreamodus/DreamKnob/releases/download/v1.1.2/dreamknob-1.1.2.tgz
    

    Docs: https://dreamknob.dreamodus.software

    Downloads
  • v1.1.1 89c7a7f603

    Dreamodus released this 2026-07-14 02:36:28 +00:00 | 4 commits to master since this release

    Second integration-feedback release � the friction that showed up once the displays and switches went into dense, resizable, themed product panels.

    Readout legibility (the #1 ask): bold own-cell decimal point + colon (not hairlines between digits), a weight prop to thicken segments at small sizes, and a gap prop for crowded readouts.

    Display colors: SegmentDisplay defaults to theme.ledGreen, AlphaDisplay to theme.ledAmber; valueColor fn + value-space zones let a readout color itself green/amber/red. Charset gains : (both) and $/% (14-seg).

    Knob captions: sublabel (a second line � SEED over world #7) and labelSize (independent of the dial diameter).

    New components: ToggleSwitch (rocker/slider boolean), Gauge (radial arc meter � round sibling of Meter), TransportButton (play/stop/record/pause/panic, record blinks), LampRow, LabeledField, Rack (channel-strip chrome).

    Responsiveness: fill on Meter and Fader. Niceties: PushButton leadingIcon; theme ledGreen/ledAmber/panel tokens.

    Install:

    pnpm add https://git.dreamodus.software/Dreamodus/DreamKnob/releases/download/v1.1.1/dreamknob-1.1.1.tgz
    

    Docs: https://dreamknob.dreamodus.software

    Downloads
  • v1.1.0 d8b7b55505

    Dreamodus released this 2026-07-13 19:07:52 +00:00 | 6 commits to master since this release

    Everything in this release came from wiring dreamknob into a real product.

    New components: IndicatorLamp, SegmentSwitch, ScrubField, MeterBridge, PushButton led="dot".

    New capabilities: commitMode="release" (drag previews, one onChange on pointer-up), multi-channel Meter value={[l, r]}, theme zoneGood/zoneWarn/zoneHot, XYPad per-axis invert + detents, Fader valuePosition, LED-skin unit labels + uncapped displayDecimals, aria-valuetext defaults.

    Fixes: thin-meter geometry clamps, color-mix() fallback so theme tokens accept var()/oklch(), type-in editing fires a proper edit gesture (source: "edit" with Start/End), uniform disabled dimming with data-disabled, documented ChangeMeta contract.

    Install:

    pnpm add https://git.dreamodus.software/Dreamodus/DreamKnob/releases/download/v1.1.0/dreamknob-1.1.0.tgz
    

    Docs: https://dreamknob.dreamodus.software

    Downloads
  • v1.0.0 b3eaa604c2

    Dreamodus released this 2026-07-13 09:00:31 +00:00 | 7 commits to master since this release

    Initial release. Studio-grade React + TypeScript knobs, faders, meters, XY pads and LED displays with a headless interaction core.

    Install:

    pnpm add https://git.dreamodus.software/Dreamodus/DreamKnob/releases/download/v1.0.0/dreamknob-1.0.0.tgz
    

    Docs & live playground: https://dreamknob.dreamodus.software
    Full changelog: CHANGELOG.md

    Downloads