Compare commits

...
Author SHA1 Message Date
wushenghua 9f63e46835 docs: bind abandonment audio coverage 2026-08-11 09:38:44 +08:00
@@ -1,6 +1,6 @@
# Aetherbound Guild: Audio, Music, And Voice Catalog # Aetherbound Guild: Audio, Music, And Voice Catalog
> Revision: `audio-direction-v2-r3` > Revision: `audio-direction-v2-r4`
> >
> Authority: music, ambience, SFX, voice, mix, caption, accessibility, audio > Authority: music, ambience, SFX, voice, mix, caption, accessibility, audio
> lifecycle, production count, and audio acceptance rules. > lifecycle, production count, and audio acceptance rules.
@@ -84,7 +84,7 @@ remain in the cited authority.
| Voice locales | `docs/product/GAME_PRODUCT_CONTRACT.md`, Commercial And Platform Boundary and Localization Rules; `docs/presentation/SCREEN_AND_STATE_MAP.md`, accessibility matrix: English (`en`) and Simplified Chinese (`zh_CN`) | ship the 32 semantic intents in both launch locales; language-neutral efforts remain shared | | Voice locales | `docs/product/GAME_PRODUCT_CONTRACT.md`, Commercial And Platform Boundary and Localization Rules; `docs/presentation/SCREEN_AND_STATE_MAP.md`, accessibility matrix: English (`en`) and Simplified Chinese (`zh_CN`) | ship the 32 semantic intents in both launch locales; language-neutral efforts remain shared |
| Background simulation | `docs/product/SAVE_AND_FAILURE_CONTRACT.md`, Battle Interruption And Deterministic Resume; `docs/presentation/SCREEN_AND_STATE_MAP.md`, Interruption And Save | complete the current priority batch, snapshot, advance no obscured time, return battle through `BAT-006`, and reconcile non-battle receipts | | Background simulation | `docs/product/SAVE_AND_FAILURE_CONTRACT.md`, Battle Interruption And Deterministic Resume; `docs/presentation/SCREEN_AND_STATE_MAP.md`, Interruption And Save | complete the current priority batch, snapshot, advance no obscured time, return battle through `BAT-006`, and reconcile non-battle receipts |
| Headphone unplug | `docs/presentation/UI_AND_VISUAL_SYSTEM.md`, Audio-Independent And Visual Accessibility; `docs/presentation/SCREEN_AND_STATE_MAP.md` row `SET-004` | treat as output loss: stop private output before speaker reopen, raise one nonblocking notice, keep captions/geometry, pause audio tests, and continue the current screen without automatic speaker playback | | Headphone unplug | `docs/presentation/UI_AND_VISUAL_SYSTEM.md`, Audio-Independent And Visual Accessibility; `docs/presentation/SCREEN_AND_STATE_MAP.md` row `SET-004` | treat as output loss: stop private output before speaker reopen, raise one nonblocking notice, keep captions/geometry, pause audio tests, and continue the current screen without automatic speaker playback |
| Screen and action IDs | `docs/presentation/SCREEN_AND_STATE_MAP.md`, Input Profiles and Complete Screen Inventory: `NAV`, `LIST`, `SELECT`, `ORDER`, `BATTLE`, `MODAL`, `SETTINGS`; `SYS-001..008`, `HUB-001..002`, `SHP-001..003`, `REC-001..003`, `EQP-001..002`, `ART-001`, `PTY-001..002`, `RSK-001..002`, `BAT-001..006`, `OUT-001..005`, `PRO-001..003`, `PST-001..003`, `SET-001..009`; `docs/product/GAME_PRODUCT_CONTRACT.md`, Input Semantics: focus, inspect, compare, buy, sell, lock, refresh, equip, reorder, confirm, cancel, start, pause, speed, retreat, open event log | bind shared events to all 49 final screens, seven input profiles, and semantic actions | | Screen and action IDs | `docs/presentation/SCREEN_AND_STATE_MAP.md`, Input Profiles and Complete Screen Inventory: `NAV`, `LIST`, `SELECT`, `ORDER`, `BATTLE`, `MODAL`, `SETTINGS`; `SYS-001..008`, `HUB-001..002`, `SHP-001..003`, `REC-001..003`, `EQP-001..002`, `ART-001`, `PTY-001..002`, `RSK-001..002`, `BAT-001..006`, `OUT-001..006`, `PRO-001..003`, `PST-001..003`, `SET-001..009`; `docs/product/GAME_PRODUCT_CONTRACT.md`, Input Semantics: focus, inspect, compare, buy, sell, lock, refresh, equip, reorder, confirm, cancel, start, pause, speed, retreat, open event log | bind shared events to all 50 final screens, seven input profiles, and semantic actions |
A missing cited ID, event, receipt, or policy is an integration error in the A missing cited ID, event, receipt, or policy is an integration error in the
audio manifest. It cannot silently fall back to a different semantic event. audio manifest. It cannot silently fall back to a different semantic event.
@@ -680,6 +680,26 @@ SFX-RUN-027 clock_rollback_detected
SFX-RUN-028 offline_state_changed SFX-RUN-028 offline_state_changed
``` ```
#### `OUT-006` Run Abandonment Transaction
Run abandonment is a voluntary run-close transaction, not Recruit dismissal,
casualty, forced run end, or a generic Back action. It reuses existing shared
events and adds no SFX identity or rendered master.
| `OUT-006` state | Existing audio event | Required caption and receipt behavior |
|---|---|---|
| review armed | `SFX-UI-017 confirm_arm`; `SFX-UI-020 destructive_hold_tick` only while the configured destructive gesture advances | Caption names the run, cleared run-only state, retained history/progression, destination, and irreversibility; default focus remains Cancel. No close cue plays. |
| cancel | `SFX-UI-019 confirm_cancel` | `Abandonment cancelled; run unchanged`; return to the invoking Guild desk or Result state. |
| rejected or illegal | `SFX-UI-016 action_blocked`; use `SFX-UI-023 error_recoverable` only for a recoverable operation failure | Caption gives the authoritative rejection reason and safe return; no resource, Recruit, or run state is presented as changed. |
| stale review | `SFX-UI-022 stale_state` | `Abandonment consequences changed; review again`; replace the old consequence list and require a new explicit confirm. |
| committed receipt | `SFX-RUN-011 run_end_voluntary` after the sourced closure receipt commits | Caption states run closed, cleared run-only state, retained history/progression, destination, and operation ID. The event log retains the receipt. |
| duplicate operation | no new transient; transaction-ID replay guard returns the original receipt | Re-present the original committed caption and receipt; never replay the close cue or partially close the run. |
`SFX-SHP-020 dismiss_commit`, `SFX-RES-005 permanent_loss_confirmed`, and
`SFX-RUN-012 run_end_forced` never fire for `OUT-006`. Suspend before commit
changes nothing; suspend after commit verifies the same closure receipt before
any audio resumes.
`save_commit` follows durable commit acknowledgment, never the start of a `save_commit` follows durable commit acknowledgment, never the start of a
write. Failed, deferred, recovered, migrated, conflicted, rolled back, and write. Failed, deferred, recovered, migrated, conflicted, rolled back, and
offline states have distinct captions and cannot reuse the success receipt. offline states have distinct captions and cannot reuse the success receipt.
@@ -887,6 +907,7 @@ loss, or save-success cue.
| casualty and replacement | consequence handoff/result ambience | casualty and replacement events | casualty caption is mandatory; optional announcer once | committed permanent loss differs from temporary danger and replacement arrival | | casualty and replacement | consequence handoff/result ambience | casualty and replacement events | casualty caption is mandatory; optional announcer once | committed permanent loss differs from temporary danger and replacement arrival |
| reward and progression | success bed or run suite | reward, ownership, and progression events | ownership caption only after commit | reveal, focus, compare, accept, blocked, and owned states remain distinct | | reward and progression | success bed or run suite | reward, ownership, and progression events | ownership caption only after commit | reveal, focus, compare, accept, blocked, and owned states remain distinct |
| recovery after failure | loss bed/safe recovery ambience | recovery and run-end events | neutral system language; no blame performance | player hears consequence, legal recovery options, and return handoff without a celebratory cue | | recovery after failure | loss bed/safe recovery ambience | recovery and run-end events | neutral system language; no blame performance | player hears consequence, legal recovery options, and return handoff without a celebratory cue |
| voluntary run abandonment | current safe-state bed continues through review; run-close handoff starts only after receipt | `OUT-006` matrix: confirm arm/hold, cancel, rejected/stale, and `SFX-RUN-011` committed receipt | every state has a localized caption; duplicate operation reuses the original receipt without another cue | abandonment remains distinct from Recruit dismissal, casualty, forced run end, and ordinary Back |
| save and restore | current music continues unless blocked | save, migration, conflict, rollback, and offline events | critical states captioned; system voice optional | success, failure, defer, conflict, rollback, corruption, duplicate claim, and offline state cannot be confused | | save and restore | current music continues unless blocked | save, migration, conflict, rollback, and offline events | critical states captioned; system voice optional | success, failure, defer, conflict, rollback, corruption, duplicate claim, and offline state cannot be confused |
| eight-region progression | matching route/battle/boss suite and one of 64 regional configurations | regional shared family and bound content packages | localized region name resolves from the `RG-01..RG-08` Region Matrix row | all eight soundmarks are identifiable in mono and progress states change a persistent layer | | eight-region progression | matching route/battle/boss suite and one of 64 regional configurations | regional shared family and bound content packages | localized region name resolves from the `RG-01..RG-08` Region Matrix row | all eight soundmarks are identifiable in mono and progress states change a persistent layer |