Skip to content

chore(runtime): ship ONS native saves and continuous audio - #277

Merged
xxxsen merged 1 commit into
masterfrom
codex/ons-native-save
Oct 27, 2026
Merged

xxxsen merged 1 commit into
masterfrom
codex/ons-native-save

Conversation

@xxxsen

@xxxsen xxxsen commented Oct 27, 2026

Copy link
Copy Markdown
Collaborator

Summary

Pin the formal runtime release that switches ONS to native game saves and keeps voice/music continuous during dialogue advancement.

-runtime v0.86.0 / ONS r9 / INSTANT
+runtime v0.87.0 / ONS r10 / GAME_SAVE

A successful native SAVE enables platform synchronization. A later Launch imports the saved files before startup; the player chooses LOAD in the game. Existing ONS instant snapshots remain stored but are outside the new readable native format. Audio uses browser-owned playback buffers so main-thread rendering does not replay stale audio or introduce refill gaps.

Evidence

  • Before: Native SAVE could leave platform saving unavailable; rapid input replayed stale buffers, and a queue-only workaround produced 232 ms output gaps.
    After: ONS r10 formal assets pass all 15 compiled browser compatibility cases, including continuous output under 350 ms main-thread stalls, loop handoff and native restoration.
  • Runtime CI: 380 files / 2307 tests passed, including native file export/import, captured-revision acknowledgement and native exit. Fixed core assets, both Provider chunk sets and the matching host tool were verified with runtime-provider-pin-release and runtime-provider-prepare.

Merge Danger

Door: two-way

Only the immutable runtime input pin changes. No database migration or saved-data deletion; reverting the pin temporarily makes new ONS native saves unreadable by the older adapter.

Blast Radius: ONS

ONS save semantics and Web audio change. Music decodes before playback with a 256 MiB per-clip / 512 MiB total browser PCM budget. Android Brave physical-device validation remains outstanding.

@xxxsen
xxxsen merged commit 611b231 into master Oct 27, 2026
11 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant