Repository navigation
Releases
BoxRIR 0.3.0 — spectral materials, atmospheric loss and verified Mooncakes package
BoxRIR 0.3.0 adds path-dependent six-band wall materials and atmospheric loss to the standalone MoonBit RIR engine.
- Each valid reflection path applies wall-specific energy-to-pressure coefficients and physical-distance air loss before complementary FIR synthesis. This is not a final global EQ. New mode supports both shoeboxes and convex prisms.
- Atmospheric equations are adapted from pinned Python Acoustics BSD-3-Clause code, with explicit Celsius / percentage humidity / kPa units. Existing AudioLabs compatibility waveforms remain unchanged. Source SHA manifests and all licenses are included.
- Band FIR resolution scales with sample rate. Independent centre-frequency response tests catch under-resolved material bands that a waveform comparison alone could miss.
- Subagent reviews identified and the primary agent fixed candidate-count semantics, per-receiver prism diagnostics, missing
wet:nullin the typed SDK contract, repeated geometry work, unknown/ancestor build provenance and stale version-specific packaging tests.
Validation: 31 MoonBit tests per backend, 31 Node tests; original 103 AudioLabs cases / 155130 Float64 samples; 12 new independent SciPy cases / 29786 samples, plus 36 atmospheric cases; actual WAV/convolution checks and nine browser scenarios. Local archive consumers pass 35 tests per target (31 library + four public-consumer tests). Exact-source Linux Native, JS, Wasm, Wasm GC, Chromium and packaging CI passed:
https://github.com/zhangbowen2006/BoxRIR/actions/runs/42605153568
Mooncakes 0.3.0 is published and verified. A new project with no local workspace installed the exact registry version and passed four public-consumer tests on each of JS, Wasm and Wasm GC. The official anonymous archive, registry checksum, cache ZIP and installed source contents agree:
https://mooncakes.io/docs/zhangbowen2006/boxrir@0.3.0
Install: moon add zhangbowen2006/boxrir@0.3.0
The standalone runtime ZIP requires Node 24+, with no MoonBit/Python/C++ compiler needed. It includes SDK/CLI, examples, exact clean source provenance and per-file checksums. Verify downloaded archives with SHA256SUMS.txt; verification.json records local/CI/registry evidence.
This remains a bounded offline specular simulator. No obstacles, scattering/diffraction, moving or scheduled multiple sources, real-room calibration or external user-adoption claims. Six material bands are finite FIR/centre-frequency approximations; endpoints extend to DC/Nyquist and no IEC/ISO certification is claimed. Temperature controls air loss while sound speed stays explicit. Performance and memory depend on the target machine. Application resubmission, review acceptance and quarterly eligibility are not implied by this release.
BoxRIR 0.2.0 — MoonBit RIR engine, Wasm SDK and reproducible CLI
BoxRIR 0.2.0 turns the original static shoebox prototype into a bounded MoonBit room-impulse-response library with a deployable SDK and reproducible file workflows.
- Port the AudioLabs RIR Generator v0.3.0 numerical kernel: five microphone patterns, orientation, signed wall pressure coefficients/T60, 2D/3D reflection semantics, finite/window-limited order, interpolation and optional high-pass. Upstream MIT core/wrapper notices are retained; this is not a new physical algorithm.
- Add finite-face convex-prism simulation through fourth order, with wall sequences, hit points and independent visibility checks.
- Ship Node CLI, typed JS SDK and an actual browser Wasm GC Worker. Runtime ZIP needs Node 24+, no MoonBit/Python/native compiler installation. Browser Wasm requires GC and JS string builtins.
- Share the dry-source FFT across receivers, use compact audio transfer, invalidate stale browser results, and release superseded preview buffers.
- Export exact input snapshots and SHA-256 completion manifests; reject overwrites, test concurrent runs, and roll back owned files after ordinary write failures.
Validation: 24 MoonBit tests per target, 24 Node tests; 103 original-binary reference cases / 155130 Float64 samples, three local backends with max absolute error 2.665e-15; 20 upstream convex-prism scenes / 1687 visible paths; actual WAV and SciPy convolution comparisons; standalone runtime and Mooncakes-archive consumer tests; browser download/audio/cancel/mobile checks. Linux four-target and Chromium evidence: https://github.com/zhangbowen2006/BoxRIR/actions/runs/42340641220
Download BoxRIR-0.2.0-runtime.zip for the SDK/CLI. BoxRIR-0.2.0-mooncakes-source.zip is the tested source archive, not a claim that 0.2.0 is published to the Mooncakes registry. Verify the outer archives with SHA256SUMS.txt; the runtime contains per-file checksums and the exact clean source revision in sdk/build-info.json.
This is an offline, resource-bounded specular model, not complete pyroomacoustics parity or measured-room certification. It does not model obstacles, diffraction, scattering, moving geometry or frequency-dependent materials. See the README and docs/RELEASE-0.2.0.md for numerical contracts, memory measurements and limits. Prior application-review outcomes are not represented as changed by this release.