v0.2.0
Changed
- Default output is ~3× louder. Per-sound envelopes were boosted so the default
volume: 0.3is actually audible (~−10 dBFS forclick()) — the relative balance between sounds is unchanged. Apps that relied on the previous quieter level can lowervolume. prefers-reduced-motionis now respected by default and reacts to runtime preference changes. PassrespectReducedMotion: falseto opt out.
Added
- Transparent master limiter (
DynamicsCompressorNode) — prevents hard clipping when sounds overlap during rapid interaction; inactive at normal single-sound levels.
Fixed
- Crisper
click()— duration ~30ms → ~13ms and tighter band (filterQ0.7→2.0 soft, 1.2→3.0 crisp). - First sound after a tab-visibility restore is no longer dropped (played after async
resume()instead of discarded). - React:
useTiksno longer re-runsinit()every render when passed a custom theme object. - Vue:
useTiksinitializes once on mount (removed a no-opwatchEffect).
Full Changelog: v0.1.9...v0.2.0