Minor Changes
-
a26539d: A new package with the framework-agnostic logic of audio/ui's primitives: values on a grid (
clamp,roundToStep), linear and logarithmic scales, range geometry, the change and commit event details every control reports, live sources a view follows outside its render cycle (createSource), stores, and the browser helpers the controls share (frame scheduling, pointer release, visibility). Each primitive's own logic has a subpath,@audio-ui/core/timeline(clip operations, snapping, zoom),@audio-ui/core/waveform(peaks, bar layout, levels),@audio-ui/core/envelope,/knob,/fader,/meter,/piano,/piano-roll,/plot,/sequencerand/xypad.Each primitive's behavior is a controller with no view attached:
createKnobController,createFaderController,createXYPadController,createEnvelopeController,createPianoController,createPianoRollController,createSequencerController,createPlotHandleController,createWaveformControllerandcreateWaveformRegionController, and for the timelinecreateTimelineController,createClipController,createRangeController,createNavigatorController,createTrackControllerandcreateWheelZoom. A view forwards its DOM events to the controller, which runs the gesture, the keys and the value, and reads the result throughgetSnapshotandsubscribe.@audio-ui/reactis built on these controllers, and a view in another framework, or in the DOM alone, can be too.