Skip to content

OPM.js v1.10

Choose a tag to compare

@YueyuHoshizora YueyuHoshizora released this 03 Oct 08:04
· 10 commits to main since this release

Portable arrangements and expressive exchange

Package 1.10.0, GitHub tag v1.10. Voice format remains v6; zero runtime dependencies.

  • Portable, bounded version-1 Arrangement projects: save/load authored layers, sections, named voices, tempo/meter and synthesis settings. Loading is inert; replay is an explicit musical start, not a DSP checkpoint.
  • Opt-in expressive Standard MIDI file import/export with explicit bend range, channel ownership and grouped loss summaries. Default note-only conversion remains unchanged; unsupported or ambiguous export semantics reject.
  • Workload/host-scoped benchmark capacity candidates with explicit p99 reserve, raw worst/misses and clean diagnostics. No automatic synthesis-quality changes or universal device limits.
  • Bounded local MIDI observation downloads and matching physical-mobile/MIDI/human-listening campaign preparation, plus synchronized public lifecycle/persistence/ownership contracts.
  • Matching generated HTML/API documentation, searchable guides and current-release examples.

Exact reviewed distribution

  • Release commit: 25825a03638915a23a52e254a96a6e77569fa031.
  • Remote CI: Quality and security run 37108065658 completed successfully on this exact commit. All six Node 22/24/26 and Chromium/Firefox/WebKit jobs passed, including unchanged deadline gates, real AudioWorklet smoke/stress and Chromium's installed-package Vite/CSP scenario.
  • Independent scoped static review: Release110Inputs A/B and Release110DspSupply C/D, including final documentation/generated-HTML delta; no evidence-backed blockers. Reviewers executed no runtime gates.
  • Local: 403 behavioral tests; 144 matching distribution assets; strict public/DOM-free core types; numerical sound/preset matrices; isolated installed-package/asset/type security gates; unchanged isolated p99 deadline ratio 1; zero-vulnerability development/runtime/Vite tooling audits.
  • Installed final archive smoke: 83-byte expressive MIDI → inert Arrangement JSON round trip → 10,560 finite deterministic stereo frames → 42,284-byte WAV. Default omission and after-gate control rejection exercised. Numerical signal is not human listening acceptance.
  • Live-tree numbered generated copies were rejected by package checks, preserved and excluded. This asset was rebuilt only from the exact committed canonical tree and independently installed/verified.

Installable archive

Download opm.js-1.10.0.tgz; install it with npm install /actual/path/opm.js-1.10.0.tgz. No consumer build toolchain is required.

  • Size: 1,044,341 bytes.
  • SHA-256: 098d79a90c127058080210e6c973f6f2f1812f824518df1d74283690db273ec7.
  • 192 package entries, including 144 complete JS/map/declaration distribution assets.
  • Generated distribution/documentation matches the final reviewed candidate byte-for-byte.

Acceptance boundaries

Physical iOS/Android interruption/route/long-play, physical MIDI permission/controller/hot-unplug and genuine eighteen-preset human listening findings remain unverified. Automated/desktop signal, injected MIDI, finite PCM and readiness tools do not promote those statuses or listening trims.

This is GitHub distribution only: not npm registry publication/provenance, website deployment, hardware-clone fidelity or all-device glitch-free certification. Historical tags/assets remain unchanged. See the included CHANGELOG and SECURITY records for pre-release native Edge observations and the pinned-local-Chromium launcher limitation; those observations are distinct from remote CI.