Skip to content

OPM.js v1.5

Choose a tag to compare

@YueyuHoshizora YueyuHoshizora released this 02 Oct 11:40

OPM.js v1.5

Package version 1.5.0 · Apache-2.0 · zero runtime dependencies.

Highlights

  • Correlated command feedback, all-notes-off and immediate panic, smooth expression/pan/modulation controls, fractional notes, mix gain and global tuning.
  • Bounded reusable patch caching and shared prepared/offline/live scores; oldest, release-first and quietest voice stealing.
  • Voice format 4 with sine, triangle, saw and square LFO waveforms; legacy formats 1/2/3 remain supported.
  • Cancel-by-default interruption recovery, explicit preserve mode, reset/context notifications and the shared-score recovery playground.
  • Independent FM spectral references, two 120-second streaming scenarios, security hardening and executable English/Traditional Chinese guides.

Verified recovery fix

The initial candidate was held after Linux WebKit missed interruption cancellation. This candidate observes context state before and after native resume, handles deferred running/suspended notifications and deduplicates resets. The original browser smoke assertions remain unchanged.

  • 159 behavioral tests, strict source/development/consumer types, source/generated AST security gates and installed-package rendering/WAV/declarations passed locally.
  • Scoped independent security rechecks: Release15Inputs (A/B) and Release15DspSupply (C/D) passed after the observer repair.
  • Exact-commit quality CI passed Node 22/24/26 and native Chromium/Firefox/WebKit jobs, including the previously failing interruption scenario.
  • Exact-tag quality CI completed successfully on attempt 2 at the same commit. Attempt 1 passed all browser/behavior/security gates but Node 22 raw-burst p99 was 2.679757 ms against the 2.666667 ms budget. The retry changed neither source nor budget; this observed variation is not a universal realtime guarantee.
  • Pages deployment passed. Local native WebKit 26.6 and sandboxed muted Chromium smoke also passed.
  • The installed release tarball contains 90 files / 27 JS-map-declaration triplets; every packed file matches commit c73938320b735d6e593d4eaf796c21f867537569. Installed rendering exercised all four LFO waveforms, controls, release/panic and a 2,064-frame score with an 8,300-byte WAV and zero errors.

Distribution

Download opm.js-1.5.0.tgz and verify against SHA256SUMS. This is a GitHub release, not an npm registry publication. npm authentication/trusted publishing remains a separate prerequisite. Physical-phone recovery and universal realtime/chip-fidelity guarantees are not claimed.

SHA-256: bf35ed50a099d74dd4cc89d248e3aa865e47a9d43d3070824c17f352cb79272a

See CHANGELOG for detailed evidence and limitations.