51 KiB
Aetherbound Guild: Audio, Music, And Voice Catalog
Revision:
audio-direction-v2-r3Authority: music, ambience, SFX, voice, mix, caption, accessibility, audio lifecycle, production count, and audio acceptance rules.
Product basis:
.agent-taskgraph/spec.mdrevisiondesign-spec-r3.Status: design specification only. No audio is generated, recorded, licensed, purchased, integrated, human-listened, device-verified, or release-accepted.
1. Purpose And Boundaries
Audio makes the game's decisions and consequences understandable while leaving room for a calm, hand-drawn fantasy presentation. The player must be able to hear when an offer changes, a recruit joins, an item is committed, party order changes a forecast, an automatic battle changes phase, a recruit is lost, a reward becomes owned, or a save operation needs attention.
This catalog is independently authored for Aetherbound Guild. Production may use only owned recordings, properly licensed sources, or commissioned work with documented rights. It may not imitate or reuse the expressive audio of a reference product.
This file does not define combat formulas, prices, content names, screen layouts, visual effects, or final localization scope. It does not authorize runtime implementation or media production. It defines the audio response to authoritative events supplied by the owning design documents.
1.1 Sonic Thesis
A working guild heard through touch, breath, and ordered motion.
The shared palette uses dry wood, cloth, ceramic, tempered metal, hand-driven mechanisms, restrained air, and clear paired tones. Player commits sound physical and settled. Forecasts are concise and separated by register. Automatic action stays light enough that the player can hear a change in target, protection, danger, or outcome without a constant wall of impacts.
Each region owns a distinct pulse, resonant material, ambience density, and musical contour. Regional identities remain recognizable in mono and at low volume. The score supports attention; it never carries a rule by itself.
1.2 Information Rules
- A sound confirms only an authoritative state change, never anticipated success.
- A consequence cue differs from a focus, preview, or review cue.
- Higher rarity may add finish, but pitch height never means value by itself.
- Danger is identified by contour, rhythm, caption, and visual state, not loudness alone.
- Routine automatic actions yield to forecasts, casualty, retreat, and result cues.
- Music and ambience may reinforce state but never become the sole state channel.
- Muting any bus cannot change simulation timing or remove text/event-log evidence.
- Generated recruits never require bespoke dialogue to remain mechanically legible.
2. Resolved Integration Sources
Audio IDs in this file are stable audio authority. The table below binds every cross-workstream dependency to its merged owner without redefining that owner's rows or formulas. Compact ranges are references; their primary definitions remain in the cited authority.
| Dependency | Resolved source and value | Audio use |
|---|---|---|
| Region IDs | docs/content/CONTENT_INDEX.md, Stable ID Namespaces: RG-01..RG-08 |
attach the eight regional audio packages in stable-ID order |
| Region display names | docs/content/REGION_CATALOG.md, Region Matrix: Windglass Verge, Siltwake Fens, Emberloom Works, Quillroot Archive, Tideglass Reach, Skyrail Orchard, Nightcurrent Basin, Crown of Morn |
localized music, caption, and metadata labels use the Region Matrix name field |
| Region environments | docs/content/REGION_CATALOG.md, Region Matrix: minimal framing, encounter grammar, and production-needs fields |
select ambience sources and hazard contours from the owned region brief |
| Profession IDs | docs/content/CONTENT_INDEX.md, Stable ID Namespaces: PF-B01..PF-B12, PF-A01..PF-A24, PF-H01..PF-H06 |
instantiate 42 profession signature pairs |
| Trait IDs | docs/content/CONTENT_INDEX.md, Stable ID Namespaces: TR-001..TR-036 |
complete 36 benefit/cost audio mappings |
| Equipment IDs | docs/content/CONTENT_INDEX.md, Stable ID Namespaces: EQ-001..EQ-320 |
complete 320 equipment audio mappings |
| Artifact IDs | docs/content/CONTENT_INDEX.md, Stable ID Namespaces: AR-001..AR-060 |
instantiate 60 artifact rule signatures |
| Enemy IDs | docs/content/ENEMY_CATALOG.md, Count And Assignment Check: EN-R1-01..EN-R1-12, EN-R2-01..EN-R2-12, EN-R3-01..EN-R3-12, EN-R4-01..EN-R4-12, EN-R5-01..EN-R5-13, EN-R6-01..EN-R6-13, EN-R7-01..EN-R7-13, EN-R8-01..EN-R8-13 |
instantiate the 100 enemy forecast/resolution pairs from primary enemy rows |
| Boss IDs | docs/content/ENEMY_CATALOG.md, Count And Assignment Check: BO-R1-01..BO-R1-02, BO-R2-01..BO-R2-02, BO-R3-01..BO-R3-02, BO-R4-01..BO-R4-02, BO-R5-01..BO-R5-02, BO-R6-01..BO-R6-02, BO-R7-01..BO-R7-02, BO-R8-01..BO-R8-02 |
instantiate 16 five-event boss packages |
| Status events | docs/product/SYSTEMS_AND_BATTLE.md, Status Effects And Resolution Order: status_id, stack_rule, dispel/immunity tags, on_apply, on_tick, on_expire, apply-roll, resist, and expiry outcomes |
map shared apply, stack, tick, resist, cleanse, and expiry cues without adding status identities |
| Resources and costs | docs/product/ECONOMY_AND_BALANCE.md, Resource Ledger and Sections 4-6: coin, replacement_credit, xp, renown, clear_fact, discovery_fact, plus authoritative refresh, purchase, sale, reward, and rebate receipts |
select transaction material from the committed resource and receipt; audio defines no price |
| Party capacity | docs/product/ECONOMY_AND_BALANCE.md, Run Opening And Capacity Economy: line_capacity(C) = min(10, 4 + floor(C/2)), yielding 4,5,6,7,8,9,10 at clear counts 0,2,4,6,8,10,12 |
scale preparation density and capacity feedback from four through the selected maximum of ten |
| Battle speed | docs/product/SYSTEMS_AND_BATTLE.md, Battle Control, Retreat, Timeout, And Outcome: Pause, 1x, 2x, and 4x are presentation-only |
configure audio density without changing music tempo, voice speed, simulation time, or draws |
| 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 |
| 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 |
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.
3. Routing And Priority
Master
|- Music
| |- MusicBase
| |- MusicMotion
| |- MusicPressure
| `- MusicTransition
|- Ambience
| |- AmbienceBed
| |- AmbienceWeather
| `- AmbienceSpotter
|- SFX
| |- SFXCritical
| |- SFXPlayerCommit
| |- SFXCombat
| |- SFXWorld
| `- SFXUI
|- Voice
| |- VoiceSystem
| |- VoiceAnnouncer
| `- VoiceEffort
`- Accessibility
`- OptionalCueReinforcement
Master, Music, Ambience, SFX, and Voice have separate user controls. The Accessibility bus follows Master but has its own enable control. Master mute is immediate, reversible, and never stops simulation.
3.1 Priority Classes
| Priority | Meaning | Examples | Suppression rule |
|---|---|---|---|
P0 |
safety or irreversible consequence | destructive commit, save conflict, permanent recruit loss | never suppressed; later duplicates collapse by transaction ID |
P1 |
immediate tactical state | enemy forecast, critical recruit state, retreat completion, boss phase | may suppress P3-P6; maximum two distinct cues at once |
P2 |
player-authored commit | hire, buy, equip, reorder, battle start, reward accept | delayed up to 120 ms rather than masked |
P3 |
result or build information | target/protection change, profession state, level gain | grouped by source and event family |
P4 |
routine combat readability | attacks, hits, movement, ordinary status ticks | aggressively pooled and rate-limited |
P5 |
non-semantic performance | recruit efforts, decorative UI finish | suppressed before any semantic cue |
P6 |
atmosphere | ambience spotters and musical detail | thins or ducks first |
3.2 Concurrency And Rate Limits
| Bus/family | Global cap | Per-source rule | Overflow behavior |
|---|---|---|---|
SFXCritical |
2 | one active event per semantic key | preserve earliest, queue one later cue for at most 300 ms, then caption/log only |
SFXPlayerCommit |
2 | one per transaction ID | duplicate callbacks produce no second cue |
| UI focus | 2 | maximum 8 focus sounds/s | merge traversal into one rising/falling gesture |
| Shop/recruit preview | 3 | maximum 4 sounds/s | keep latest focused item and committed action |
| Equipment/party-order preview | 3 | maximum 5 sounds/s | keep changed forecast; discard stale previews |
| Routine combat impact | 6 | same source/material once per 90 ms | combine amplitude and weight into one representative impact |
| Profession signature | 3 | same profession once per 700 ms | keep higher priority state cue |
| Enemy signature | 3 | same enemy once per 900 ms | forecast wins over resolution flourish |
| Voice semantic | 1 | one system or announcer line | replacement only before speech begins |
| Voice effort | 2 | same recruit once per 2.5 s | suppress oldest low-priority effort |
| Ambience spotter | 2 | same family once per 8-30 s | skip, never queue |
| Music transition | 1 | one transition until its handoff point | jump to correct synchronized state at next legal marker |
3.3 Ducking
| Trigger | Music | Ambience | Routine SFX | Voice effort | Attack / hold / release |
|---|---|---|---|---|---|
P0 consequence |
-8 dB | -6 dB | -6 dB | mute | 20 ms / 250 ms / 700 ms |
P1 forecast/state |
-5 dB | -4 dB | -4 dB | -8 dB | 35 ms / event / 500 ms |
P2 commit |
-3 dB | -2 dB | -2 dB | -5 dB | 25 ms / 120 ms / 300 ms |
| System/announcer voice | -6 dB | -3 dB | -3 dB | mute | 40 ms / speech / 350 ms |
Ducking is side-chain driven per bus. It never restarts music, shifts pitch, or silences all environmental context. Repeated automatic impacts cannot hold a permanent duck.
4. Format, Loudness, And Dynamic Range
These are production and integration targets, followed by human listening:
- release masters: lossless WAV, 48 kHz, 24-bit, interleaved where stereo;
- individual master true peak: at or below
-1 dBTPafter final processing; - standard ten-minute gameplay capture:
-18 LUFS-I +/- 2 LU, at or below-1 dBTPon Master; - dialogue/announcer program target:
-20 LUFSgated, with intelligibility checked against the busiest approved battle mix; - no DC offset, clipped transient, unintended leading silence, truncated tail, or hidden normalization metadata;
- critical cues retain useful energy between 250 Hz and 4 kHz and survive phone speakers, mono fold-down, and low playback volume;
- stereo correlation for semantic cues remains above zero; polarity cancellation may not erase an event;
- no release asset depends on runtime pitch randomization for acceptability.
| Preset | Mix behavior | Acceptance target |
|---|---|---|
| Wide | full transient and music range; light bus compression | -20 LUFS-I +/- 2 over the reference sequence |
| Standard | moderate transient control and default ducking | -18 LUFS-I +/- 2 over the reference sequence |
| Night | reduced peak-to-dialogue range, softened low bass, unchanged semantics | -18 LUFS-I +/- 2, no critical cue more than 8 LU above dialogue |
Changing preset does not interrupt the current cue. A 100-250 ms parameter ramp prevents clicks and sudden level jumps.
5. Music Plan
5.1 Scope And Count
The music scope is 32 suite identities and 150 delivered stems/cues. A suite is one synchronized state package, not one continuously dense track.
| Suite family | Suites | Deliverables per suite | Total | State job |
|---|---|---|---|---|
MUS-G00-TITLE |
1 | 3 | 3 | title base, return layer, continue handoff |
MUS-G01-GUILD |
1 | 4 | 4 | guild base, activity layer, progress layer, departure cue |
MUS-G02-SHOP |
1 | 4 | 4 | browse base, offer motion, scarcity pressure, purchase handoff |
MUS-G03-PREP |
1 | 4 | 4 | recruit/equipment/order base, comparison layer, ready layer, battle handoff |
MUS-G04-RUN |
1 | 4 | 4 | run overview base, risk layer, forward-motion layer, region handoff |
MUS-G05-RESULT-WIN |
1 | 3 | 3 | survival statement, reward bed, continue cue |
MUS-G06-RESULT-LOSS |
1 | 3 | 3 | consequence statement, recovery bed, return cue |
MUS-G07-META |
1 | 5 | 5 | unlock base, mastery layer, ending base, postgame layer, new-run handoff |
MUS-R01..08-ROUTE |
8 | 4 | 32 | regional route base, motion, pressure, exit cue |
MUS-R01..08-BATTLE |
8 | 5 | 40 | regional base, pulse, threat, critical state, result handoff |
MUS-R01..08-BOSS |
8 | 6 | 48 | boss base, pulse, two phase layers, decisive state, result handoff |
| Total | 32 | 150 | exact planned music delivery |
Global suites use 60-92 BPM equivalent motion and leave at least one clear half-bar per phrase for UI commits. Regional route suites loop at 96-160 s, ordinary battle suites at 64-112 s, and boss suites at 96-160 s. Base and layer files share sample-accurate length and loop markers. Handoff cues run 1.5-6 s and land on an authored bar boundary.
Every loop must pass ten consecutive seam repeats and a 20-minute context listen. A transition may wait no more than one bar; an urgent state uses an immediate tonal marker while musical layers catch up at the next marker.
5.2 Adaptive Parameters
| Parameter | Source binding | Music response |
|---|---|---|
| shop browse/refresh/commit | screen IDs SHP-001..003 and the inspect, buy, lock, refresh, confirm, and cancel actions |
motion layer follows active browsing; purchase handoff plays only after commit |
| affordability pressure | economy resources coin and replacement_credit plus the current authoritative cost receipt |
sparse low pulse; no alarm for merely expensive offers |
| party readiness | core validation event | ready layer enters after all blockers clear |
| run risk | authoritative risk tier | pressure layer changes at next beat with a non-musical immediate cue |
| battle start/pause/speed | presentation states Pause, 1x, 2x, and 4x | start at authored marker; pause filters; speed never changes pitch or tempo |
| battle pressure | target danger, casualty forecast, boss phase | add or remove pressure layers with hysteresis to avoid rapid toggling |
| result | authoritative victory, defeat, or retreat result | one result handoff, then the matching result bed |
| region progress | region progression binding | add one stable timbre layer; never replace the region's core soundmark |
Battle pressure uses a 2 s entry hold and 4 s exit hold unless a P0 or P1
event forces immediate entry. Low health alone does not drive music if no
consequence is imminent.
5.3 Eight Regional Families
Display names and environmental associations bind directly to the Region Matrix. These original soundmarks establish separation while following its minimal framing, encounter grammar, and production-needs brief.
| Region ID and name | Soundmark | Pulse and register | Ambience bridge | Mono rule |
|---|---|---|---|---|
RG-01 Windglass Verge |
breath-driven glass harmonic settling into a dry timber knock | open 5/4 grouping, middle register | terrace wind, grass, suspended mineral panes, timber fittings | glass answer moves by register, not pan alone |
RG-02 Siltwake Fens |
reed buzz answered by a low clay drum and water slap | slow 6/8 with a displaced final beat | layered reeds, luminous sediment, wet banks, ferry fittings | drum fundamental stays centered |
RG-03 Emberloom Works |
struck-clay triad closed by one pressure-valve click | squared 4/4, low-mid register | kiln breath, ceramic conduit, measured tools, hot-metal detail | clay and valve transients retain separate envelopes |
RG-04 Quillroot Archive |
paper rasp leading two plucked-string notes | alternating 3+3+2, light register | leaf movement, root shelves, pages, hollow wood | paired notes use different envelopes |
RG-05 Tideglass Reach |
water-glass phrase followed by a shorter reversed echo | offset 7/8, broad middle register | salt wind, mirror pools, beacon fittings, distant water | echo reversal is rhythmic and spectral, not stereo-only |
RG-06 Skyrail Orchard |
rail-joint clack lifting into an airy string triplet | rotating 3/4 to 4/4, wide register | high air, fruit canopy, cable strain, freight-rail movement | rail transient supplies a centered timing mark |
RG-07 Nightcurrent Basin |
centered low pulse answered by a delayed bright reveal ping | sparse asymmetric cycle, low-to-high register | dark water, channel flow, linked-current hum, quiet crossing hardware | reveal uses register and delay in addition to position |
RG-08 Crown of Morn |
seven prior material attacks passed into one new open cadence | additive meter resolving to 4/4 | dawn stone, route-current layers, observatory fittings, selected prior materials | every contributing attack remains separable |
Regional battle arrangements use the same soundmark under greater rhythmic pressure, not a disconnected genre switch. Boss music expands phase structure without masking forecasts or becoming a continuous maximum-density mix.
6. Ambience Plan
6.1 Configuration Count
There are 76 authored ambience configurations.
| Family | Configuration IDs | Count | Required states |
|---|---|---|---|
| Global | AMB-G01..G12 |
12 | title at rest; guild quiet/active/return; shop idle/busy/low-stock; preparation; run transition; success result; loss result; safe recovery |
| Per region | AMB-R{01..08}-01..08 |
64 | region neutral/progressed; run calm/pressure/recovery; battle standard/elite/boss |
| Total | 76 | every state has entry, steady, and exit behavior |
Configurations are assembled from 90 seamless loop masters and 320 spotter masters:
- 18 global loop masters;
- nine loop masters per region,
9 x 8 = 72; - 16 global spotter families with four variations,
16 x 4 = 64; - eight spotter families per region with four variations,
8 x 8 x 4 = 256.
Total planned ambience delivery is 410 mastered assets. Source layers may be reused across configurations, but the 76 configuration records remain separate review items.
6.2 Loop And Density Rules
- global and regional identity beds loop at 75-150 s;
- route beds loop at 90-180 s;
- battle beds loop at 60-120 s and omit decorative transients;
- weather/mechanical layers loop at 30-90 s with asynchronous start offsets;
- spotters never loop and provide four non-pitch-randomized variations;
- spotter interval is 8-30 s, widened to 18-45 s during preparation and result review;
- no spotter starts within 500 ms before or 700 ms after a
P0-P2event; - a configuration transition crossfades over 1.0-2.5 s unless an interruption requires immediate silence;
- restored/progressed region states must audibly change one persistent process layer, not merely raise volume.
Ambience supports place and progression but never signals affordability, legality, target, casualty, reward ownership, or save success by itself.
7. Generated-Recruit Voice Contract
7.1 Bounded Scope
Voice consists of a small localized semantic layer plus reusable nonverbal efforts. There are no bespoke dialogue sets for individual recruits, no spoken generated names, and no content dependency on a recruit-specific performer.
Semantic voice ships in exactly two launch locales: English (en) and
Simplified Chinese (zh_CN). Nonverbal recruit efforts are language-neutral.
| Voice family | Formula | Release masters | Notes |
|---|---|---|---|
| system intents | 16 x 2 locales |
32 | save, input, compatibility, and unavailable-action notices |
| activity announcer intents | 16 x 2 locales |
32 | shop, readiness, battle, casualty, reward, and run-result notices |
| recruit effort banks | 8 banks x 8 functions x 2 variations |
128 | language-neutral, non-lexical performances |
| Total | 192 | retakes and rejected takes excluded |
The 32 semantic intents are:
VO-SYS-001 save_recovered
VO-SYS-002 save_conflict
VO-SYS-003 save_failed
VO-SYS-004 migration_required
VO-SYS-005 migration_complete
VO-SYS-006 offline_state_changed
VO-SYS-007 input_device_changed
VO-SYS-008 audio_output_changed
VO-SYS-009 destructive_action_armed
VO-SYS-010 destructive_action_cancelled
VO-SYS-011 purchase_rejected
VO-SYS-012 equipment_incompatible
VO-SYS-013 action_unavailable
VO-SYS-014 content_mismatch
VO-SYS-015 connection_recovered
VO-SYS-016 diagnostic_exported
VO-ANN-001 shop_offers_ready
VO-ANN-002 shop_refresh_confirmed
VO-ANN-003 recruit_hired
VO-ANN-004 recruit_sent_to_reserve
VO-ANN-005 party_line_ready
VO-ANN-006 party_line_blocked
VO-ANN-007 battle_started
VO-ANN-008 battle_speed_changed
VO-ANN-009 retreat_started
VO-ANN-010 retreat_cancelled
VO-ANN-011 retreat_completed
VO-ANN-012 casualty_confirmed
VO-ANN-013 battle_won
VO-ANN-014 battle_lost
VO-ANN-015 reward_ready
VO-ANN-016 run_ended
Semantic voice is optional reinforcement. The matching UI text, caption, and SFX occur whether or not voice is enabled or a localized file exists.
7.2 Effort Banks
Each generated recruit receives one of eight effort banks from a stable seed. The assignment remains constant for that recruit. Runtime pitch shifting, voice cloning, and performer imitation are prohibited. The eight functions are light exertion, heavy exertion, light hit, heavy hit, guard/deflect, heal/recover, critical condition, and defeated fall. Each has two genuinely different performed variations.
Efforts contain no words, names, profession calls, or gameplay instructions.
They are P5 except critical condition and defeated fall, which become P3
but remain subordinate to semantic casualty SFX and captions. An effort cannot
delay battle simulation or set animation duration.
7.3 Casting And Rights
- casting briefs describe performance energy and register, never a living or protected performer's likeness;
- performer consent, territory, term, reuse, edit, and synthetic-use clauses are documented before recording;
- a voice model may not be trained, cloned, or derived from a performer without a separate explicit agreement and owner approval;
- localized direction preserves semantic brevity and urgency rather than matching waveform duration exactly;
- no final voice provider, performer, or synthetic workflow is approved by this design Goal.
8. Shared SFX Event Ledger
There are 228 shared semantic event identities. The ordered lists below are the complete shared ledger. An event identity may render from reusable layers, but its state meaning, priority, cooldown, caption, and transaction behavior remain independently testable.
8.1 System And Interface: 24
SFX-UI-001 focus_move
SFX-UI-002 focus_boundary
SFX-UI-003 focus_disabled
SFX-UI-004 tab_change
SFX-UI-005 page_open
SFX-UI-006 page_close
SFX-UI-007 inspect_open
SFX-UI-008 inspect_close
SFX-UI-009 compare_on
SFX-UI-010 compare_off
SFX-UI-011 filter_apply
SFX-UI-012 filter_clear
SFX-UI-013 menu_open
SFX-UI-014 menu_close
SFX-UI-015 action_available
SFX-UI-016 action_blocked
SFX-UI-017 confirm_arm
SFX-UI-018 confirm_commit
SFX-UI-019 confirm_cancel
SFX-UI-020 destructive_hold_tick
SFX-UI-021 destructive_commit
SFX-UI-022 stale_state
SFX-UI-023 error_recoverable
SFX-UI-024 notification_new
Preview cues are short dry contacts. Commit cues add a low settled component. Blocked, stale, and destructive states have different contours and captions.
8.2 Shop And Recruitment: 24
SFX-SHP-001 shop_enter
SFX-SHP-002 offer_reveal
SFX-SHP-003 refresh_review
SFX-SHP-004 refresh_commit
SFX-SHP-005 refresh_unaffordable
SFX-SHP-006 price_change
SFX-SHP-007 purchase_review
SFX-SHP-008 purchase_commit
SFX-SHP-009 purchase_rejected
SFX-SHP-010 currency_gain
SFX-SHP-011 currency_spend
SFX-SHP-012 recruit_card_reveal
SFX-SHP-013 recruit_inspect
SFX-SHP-014 recruit_hire_review
SFX-SHP-015 recruit_hire_commit
SFX-SHP-016 deploy_capacity_reached
SFX-SHP-017 reserve_added
SFX-SHP-018 recruit_replace_review
SFX-SHP-019 dismiss_arm
SFX-SHP-020 dismiss_commit
SFX-SHP-021 trait_benefit_reveal
SFX-SHP-022 trait_cost_reveal
SFX-SHP-023 offer_expire
SFX-SHP-024 shop_exit
purchase_commit plays only after the economy receipt commits.
recruit_hire_commit and reserve_added may occur in order but cannot overlap.
Trait benefit and cost use complementary contours so the cost cannot be heard
as a second bonus.
8.3 Equipment And Artifacts: 20
SFX-EQP-001 item_pickup
SFX-EQP-002 item_inspect
SFX-EQP-003 compare_better
SFX-EQP-004 compare_tradeoff
SFX-EQP-005 slot_select
SFX-EQP-006 equip_review
SFX-EQP-007 equip_commit
SFX-EQP-008 unequip_commit
SFX-EQP-009 incompatible_item
SFX-EQP-010 inventory_full
SFX-EQP-011 sell_review
SFX-EQP-012 sell_commit
SFX-EQP-013 item_lock
SFX-EQP-014 item_unlock
SFX-EQP-015 artifact_reveal
SFX-EQP-016 artifact_take
SFX-EQP-017 artifact_rule_activate
SFX-EQP-018 equipment_proc_ready
SFX-EQP-019 equipment_proc_trigger
SFX-EQP-020 equipment_proc_cooldown
Equipment material supplies the transient; semantic state supplies the contour. Comparisons never claim a globally better choice when the underlying UI marks a tradeoff.
8.4 Party Order And Preparation: 20
SFX-ORD-001 unit_select
SFX-ORD-002 move_preview
SFX-ORD-003 legal_position
SFX-ORD-004 illegal_position
SFX-ORD-005 swap_preview
SFX-ORD-006 reorder_commit
SFX-ORD-007 reorder_cancel
SFX-ORD-008 front_position_change
SFX-ORD-009 rear_position_change
SFX-ORD-010 target_projection_change
SFX-ORD-011 protection_projection_change
SFX-ORD-012 reach_projection_change
SFX-ORD-013 healing_projection_change
SFX-ORD-014 capacity_increase
SFX-ORD-015 deploy_add
SFX-ORD-016 deploy_remove
SFX-ORD-017 ready_check_pass
SFX-ORD-018 ready_check_blocked
SFX-ORD-019 battle_start_arm
SFX-ORD-020 battle_start_commit
Move preview uses front-to-rear brightness and a centered low pulse, so order is audible in mono without relying on pan. Projection-change cues fire only when the forecast actually changes and are paired with the changed visual value.
8.5 Automatic Battle: 60
SFX-BAT-001 battle_count_in
SFX-BAT-002 battle_begin
SFX-BAT-003 battle_pause
SFX-BAT-004 battle_resume
SFX-BAT-005 speed_up
SFX-BAT-006 speed_down
SFX-BAT-007 inspect_open
SFX-BAT-008 inspect_close
SFX-BAT-009 retreat_available
SFX-BAT-010 retreat_blocked
SFX-BAT-011 target_acquired_front
SFX-BAT-012 target_acquired_rear
SFX-BAT-013 target_changed
SFX-BAT-014 reach_blocked
SFX-BAT-015 protection_applied
SFX-BAT-016 protection_removed
SFX-BAT-017 movement_forward
SFX-BAT-018 movement_backward
SFX-BAT-019 position_displaced
SFX-BAT-020 replacement_step_in
SFX-BAT-021 melee_windup
SFX-BAT-022 melee_release
SFX-BAT-023 melee_impact_light
SFX-BAT-024 melee_impact_heavy
SFX-BAT-025 ranged_windup
SFX-BAT-026 ranged_release
SFX-BAT-027 projectile_arrival
SFX-BAT-028 area_windup
SFX-BAT-029 area_resolve
SFX-BAT-030 channel_start
SFX-BAT-031 channel_tick
SFX-BAT-032 channel_end
SFX-BAT-033 summon_or_device_enter
SFX-BAT-034 summon_or_device_exit
SFX-BAT-035 guard_raise
SFX-BAT-036 guard_absorb
SFX-BAT-037 guard_break
SFX-BAT-038 barrier_gain
SFX-BAT-039 barrier_absorb
SFX-BAT-040 barrier_end
SFX-BAT-041 component_blocked
SFX-BAT-042 immunity
SFX-BAT-043 heal_small
SFX-BAT-044 heal_large
SFX-BAT-045 regeneration_tick
SFX-BAT-046 overheal_or_waste
SFX-BAT-047 status_benefit_apply
SFX-BAT-048 status_cost_apply
SFX-BAT-049 status_tick
SFX-BAT-050 status_stack_change
SFX-BAT-051 status_resist
SFX-BAT-052 status_cleanse
SFX-BAT-053 status_expire
SFX-BAT-054 cooldown_ready
SFX-BAT-055 enemy_forecast_begin
SFX-BAT-056 enemy_forecast_escalate
SFX-BAT-057 enemy_forecast_resolve
SFX-BAT-058 enemy_forecast_cancel
SFX-BAT-059 elite_state_change
SFX-BAT-060 boss_phase_change
Terminal Outcome Cue And Caption Bindings
The following existing shared identities bind only to terminal outcome records
declared by docs/product/SYSTEMS_AND_BATTLE.md, Section 11.2. This mapping
adds no SFX identity or rendered master.
| Shared cue | Terminal outcome ID | Required causal caption | Exclusion |
|---|---|---|---|
SFX-BAT-014 reach_blocked |
AO_INVALID_REACH |
Out of reach plus old/current depth and required reach |
not a forecast comparison or target-change cue |
SFX-BAT-041 component_blocked |
AO_BLOCKED |
Blocked plus blocker actor or rule ID |
barrier absorption remains AO_APPLIED and uses the barrier state cue |
SFX-BAT-042 immunity |
AO_IMMUNE |
Immune plus immunity tag and source ID |
no resistance draw is consumed |
SFX-BAT-051 status_resist |
AO_RESISTED |
Resisted plus roll, threshold, Potency, and Tenacity |
status components only; never a general action result |
FORECAST_DIVERGED may select SFX-BAT-013 target_changed only when the
authoritative target changes; it is not a terminal outcome. A legal moved target
with TARGET_MOVED_STILL_LEGAL remains AO_APPLIED and uses its ordinary
component/state audio. Every other AO_* record uses its exact causal label,
specific state cue when one exists, and event-log evidence rather than a
catch-all failure transient.
At 2x and 4x, simulation events remain unchanged while routine audio density is reduced: keep every forecast, state change, casualty, retreat, and result; group attacks by source/material; keep at most one routine impact per source per 120 ms at the highest configured speed. Music tempo and voice playback speed do not change.
8.6 Casualty, Result, Reward, And Recovery: 28
SFX-RES-001 recruit_health_warning
SFX-RES-002 recruit_critical
SFX-RES-003 collapse_forecast
SFX-RES-004 recruit_defeated
SFX-RES-005 permanent_loss_confirmed
SFX-RES-006 replacement_gap_open
SFX-RES-007 replacement_arrives
SFX-RES-008 retreat_channel_begin
SFX-RES-009 retreat_channel_tick
SFX-RES-010 retreat_interrupted
SFX-RES-011 retreat_commit
SFX-RES-012 battle_victory
SFX-RES-013 battle_defeat
SFX-RES-014 flawless_result
SFX-RES-015 narrow_survival
SFX-RES-016 reward_reveal
SFX-RES-017 reward_option_focus
SFX-RES-018 reward_option_compare
SFX-RES-019 reward_accept
SFX-RES-020 reward_skip
SFX-RES-021 reward_inventory_block
SFX-RES-022 currency_reward
SFX-RES-023 equipment_reward
SFX-RES-024 artifact_reward
SFX-RES-025 experience_gain
SFX-RES-026 level_gain
SFX-RES-027 recovery_option_open
SFX-RES-028 run_summary_close
permanent_loss_confirmed is P0, plays once after the loss is committed, and
uses no reward sparkle or comic fall language. Defeat and retreat cues describe
different results. Reward focus and reveal never imply ownership; only
reward_accept or the committed reward-type receipt does.
8.7 Run, Progression, And Save: 28
SFX-RUN-001 risk_option_focus
SFX-RUN-002 risk_compare
SFX-RUN-003 risk_commit
SFX-RUN-004 encounter_enter
SFX-RUN-005 encounter_clear
SFX-RUN-006 next_choice_open
SFX-RUN-007 next_choice_closed
SFX-RUN-008 rest_option_focus
SFX-RUN-009 rest_commit
SFX-RUN-010 run_continue
SFX-RUN-011 run_end_voluntary
SFX-RUN-012 run_end_forced
SFX-RUN-013 progression_unlock
SFX-RUN-014 difficulty_change_review
SFX-RUN-015 save_begin
SFX-RUN-016 save_commit
SFX-RUN-017 save_deferred
SFX-RUN-018 save_failed
SFX-RUN-019 backup_recovered
SFX-RUN-020 migration_begin
SFX-RUN-021 migration_complete
SFX-RUN-022 migration_failed
SFX-RUN-023 conflict_detected
SFX-RUN-024 rollback_notice
SFX-RUN-025 corruption_blocked
SFX-RUN-026 duplicate_claim_rejected
SFX-RUN-027 clock_rollback_detected
SFX-RUN-028 offline_state_changed
save_commit follows durable commit acknowledgment, never the start of a
write. Failed, deferred, recovered, migrated, conflicted, rolled back, and
offline states have distinct captions and cannot reuse the success receipt.
8.8 Eight-Region Progression: 24
| Region package | Entry | Hazard alert | Progress resolution |
|---|---|---|---|
R01 |
SFX-REG-001 |
SFX-REG-002 |
SFX-REG-003 |
R02 |
SFX-REG-004 |
SFX-REG-005 |
SFX-REG-006 |
R03 |
SFX-REG-007 |
SFX-REG-008 |
SFX-REG-009 |
R04 |
SFX-REG-010 |
SFX-REG-011 |
SFX-REG-012 |
R05 |
SFX-REG-013 |
SFX-REG-014 |
SFX-REG-015 |
R06 |
SFX-REG-016 |
SFX-REG-017 |
SFX-REG-018 |
R07 |
SFX-REG-019 |
SFX-REG-020 |
SFX-REG-021 |
R08 |
SFX-REG-022 |
SFX-REG-023 |
SFX-REG-024 |
Each set uses its Section 5.3 soundmark. Hazard alert binds to the corresponding
RG-01..RG-08 Region Matrix encounter grammar and production-needs row, then
to the final enemy or boss event instance. Progress resolution fires only after
the persistent region change commits.
8.9 Per-Event Priority, Replay, And Caption Policy
Ordinals below refer to the definitions in Sections 8.1-8.8. Every ordinal is assigned exactly once. The priority determines ducking and overflow through Section 3.
| Family | Ordinals | Priority |
|---|---|---|
| UI | 001-014 | P5 |
| UI | 015-017, 019, 024 | P3 |
| UI | 018 | P2 |
| UI | 020, 022-023 | P1 |
| UI | 021 | P0 |
| Shop/recruit | 001-003, 012-014, 023-024 | P4 |
| Shop/recruit | 006-007, 018, 021-022 | P3 |
| Shop/recruit | 004, 008, 010-011, 015, 017 | P2 |
| Shop/recruit | 005, 009, 016, 019 | P1 |
| Shop/recruit | 020 | P0 |
| Equipment | 001-006 | P4 |
| Equipment | 013-015, 017-020 | P3 |
| Equipment | 007-008, 011-012, 016 | P2 |
| Equipment | 009-010 | P1 |
| Party order | 001-005 | P4 |
| Party order | 007-017 | P3 |
| Party order | 006, 019-020 | P2 |
| Party order | 018 | P1 |
| Battle | 021-034 | P4 |
| Battle | 005-008, 011-020, 035-054 | P3 |
| Battle | 001-004 | P2 |
| Battle | 009-010, 055-060 | P1 |
| Result | 016-018, 020, 025-028 | P3 |
| Result | 001, 006-008, 014-015, 019, 022-024 | P2 |
| Result | 002-004, 009-010, 012-013, 021 | P1 |
| Result | 005, 011 | P0 |
| Run/save | 001, 008, 015 | P4 |
| Run/save | 002, 004-007, 013, 017 | P3 |
| Run/save | 003, 009-011, 014, 016, 019-021 | P2 |
| Run/save | 012, 026-028 | P1 |
| Run/save | 018, 022-025 | P0 |
| Region | 001, 004, 007, 010, 013, 016, 019, 022 | P3 |
| Region | 003, 006, 009, 012, 015, 018, 021, 024 | P2 |
| Region | 002, 005, 008, 011, 014, 017, 020, 023 | P1 |
Replay and caption policy follows priority:
| Priority | Replay guard | Caption class |
|---|---|---|
P0 |
once per authoritative transaction/event instance; no time-based replay | mandatory in critical-only and full modes; retained in event log |
P1 |
source + semantic key, 300 ms minimum unless a distinct state replaces it | mandatory in critical-only and full modes; direction/source included |
P2 |
once per commit transaction; previews cannot trigger it | mandatory in full mode; existing UI receipt remains visible in every mode |
P3 |
family cooldown 300-700 ms; latest changed state wins | full-mode caption when offscreen or not already text-visible |
P4 |
pooled by source/material using Section 3 caps | summarized only in full detail or event-log accessibility mode |
P5 |
UI traversal and effort caps from Section 3 | no default caption; focus and recruit state remain visually exposed |
9. Content-Bound SFX Packages
Content-bound IDs are pattern contracts. The production manifest expands them from the resolved stable namespaces and retains a machine-readable mapping record.
| Content scope | Event identity pattern | Identities | Minimum rendered masters | Reuse rule |
|---|---|---|---|---|
| 42 professions | SFX-PRO-{profession_id}-{ACTION,STATE}, where profession_id is in PF-B01..PF-B12, PF-A01..PF-A24, or PF-H01..PF-H06 |
84 | 168 | two performed/rendered variations per identity; shared body/material layers allowed |
| 36 traits | map each TR-001..TR-036 row to one benefit and one cost event |
0 new mandatory | 0 | all 36 mappings required; add an identity only if shared semantics are false |
| 320 equipment items | map each EQ-001..EQ-320 row to material, equip, and proc events |
0 new mandatory | 0 | all 320 mappings required; no rarity-only signature |
| 60 artifacts | SFX-ART-{artifact_id}-RULE, where artifact_id is in AR-001..AR-060 |
60 | 120 | one activation and one resolution render per rule identity |
| 100 ordinary/elite enemies | SFX-ENM-{enemy_id}-{FORECAST,RESOLVE}, where enemy_id is an EN-Rx-yy primary row |
200 | 400 | two variations per identity; forecast contour stays stable |
| 16 bosses | SFX-BOS-{boss_id}-{ARRIVE,PHASE,THREAT,OPENING,DEFEAT}, where boss_id is a BO-Rx-yy primary row |
80 | 80 | five deterministic masters per boss; material layers may be shared |
| Content-bound total | 424 | 768 | every required catalog row receives a mapping |
Shared and content-bound scope therefore totals 652 semantic SFX identities
and a minimum of 1,240 mastered SFX renders (472 shared + 768 content-bound). New content behavior may add identities; integration may not
remove a required mapping merely because two events currently use the same raw
material.
9.1 Shared SFX Variation Budget
| Shared family | Identities | Variant allocation | Rendered masters |
|---|---|---|---|
| system/interface | 24 | 12 repeatable x4; 12 deterministic x1 | 60 |
| shop/recruitment | 24 | 6 repeatable x3; 18 deterministic x1 | 36 |
| equipment/artifacts | 20 | 6 repeatable x3; 14 deterministic x1 | 32 |
| party order/preparation | 20 | 6 repeatable x3; 14 deterministic x1 | 32 |
| automatic battle | 60 | 24 high-rate x4; 18 medium-rate x3; 18 deterministic x1 | 168 |
| casualty/result/reward/recovery | 28 | 4 physical x3; 24 deterministic x1 | 36 |
| run/progression/save | 28 | 4 repeatable x3; 24 deterministic x1 | 36 |
| regional progression | 24 | 16 material events x4; 8 deterministic receipts x1 | 72 |
| Total | 228 | 472 |
Deterministic means one stable semantic master, not identical volume in every
context. Repeated variations use shuffled bags with no immediate repeat. Pitch
randomization is limited to +/- 2% only on non-semantic debris layers and is
never applied to forecasts, commit receipts, save states, casualty, or voice.
9.2 Reusable Source Library
The planned raw source library contains 144 selected dry recordings before processing: six physical-action kits x8 sources (48), eight regional surface kits x4 (32), eight interface-object kits x4 (32), and eight tonal/process kits x4 (32). These sources are production inputs and are not counted as release event masters. Every source retains origin, rights, performer, location, recording chain, and allowed-use metadata.
10. Captions, Mute, And Accessible Listening
10.1 Caption Contract
Every P0-P2 event and any non-visible offscreen state has a localized caption
key. Caption data is event data, not speech transcription alone.
[source] + [action/state] + [front/rear/offscreen direction when relevant]
Examples of structure, not final localized prose:
[Front recruit: danger rising][Enemy forecast: heavy strike][Recruit permanently lost][Reward added][Save conflict requires review]
Captions never identify urgency by punctuation count or color alone. Direction uses words/icons plus optional pan. Repeated routine impacts collapse to a summary caption; critical events never collapse across different sources.
Caption controls include off/on, critical-only/full detail, 100/115/130% text, background opacity, speaker labels, and sound direction. A two-line default and three-line large-text maximum protect the battle forecast area; overflow moves to the event log without truncating the critical line.
10.2 Mute And Channel Independence
- Master mute silences all audio within 50 ms and restores with a 150 ms ramp.
- Music, Ambience, SFX, and Voice can each be muted independently.
- Voice mute leaves captions and semantic SFX unchanged.
- SFX mute leaves visual forecasts, captions, and event-log records unchanged.
- Music or Ambience mute does not reveal hidden timing advantages.
- The optional Accessibility bus may reinforce critical contours, but cannot create an event absent from the simulation.
10.3 Mono And Hearing Range
- all semantic cues are authored and reviewed in mono;
- front/rear order uses envelope and register in addition to pan;
- left/right or offscreen direction includes caption and UI direction;
- critical cue fundamentals occupy distinct bands from the busiest music layer;
- high-frequency detail may decorate a cue but never carries its identity;
- hearing-access presets may substitute a lower-register contour while retaining event timing and priority.
11. Lifecycle And Device Behavior
| Lifecycle event | Required audio behavior | State truth requirement |
|---|---|---|
| battle pause | 80 ms filter/level transition; halt scheduled transients; preserve music phase | no hidden cue advances while simulation is paused |
| battle resume | discard stale queued routine cues; 150-350 ms ambience/music restore | reconstruct from current authoritative snapshot |
| app background/focus loss | fade all buses within 100 ms and cancel non-committed preview cues | complete the current priority batch, write/verify the deterministic snapshot, advance no obscured time, return battle through BAT-006, and reconcile any non-battle transaction receipt |
| foreground return | wait for current state snapshot, then restore loops at saved or legal markers | never replay purchase, reward, casualty, or save receipts |
| OS interruption | stop output, retain logical music marker, clear transient queues | resume only after interruption-ended callback and state refresh |
| output route change | 50 ms fade, rebuild output graph, 150 ms fade after route is stable for 250 ms | announce/caption changed route once; no duplicate game event |
| headphone unplug | stop private output before speaker reopen; do not move active audio to speakers automatically | raise one nonblocking output-loss notice, retain captions/event geometry, pause a settings test, and continue current simulation; only an independent background or input-device interruption routes through BAT-006 |
| Bluetooth latency change | adjust presentation scheduling, never simulation timestamps | captions and visuals stay authoritative |
| suspend/restore | serialize suite ID, musical marker, ambience configuration, and active semantic states | do not serialize transient waveform position as game truth |
| content/rules migration | use migration audio only after owning save state reports phase | failure cannot sound successful |
| language change | finish or stop current semantic line, then use new locale | no mixed-language queue survives the switch |
| dynamic-range change | ramp bus parameters over 100-250 ms | current cue remains the same semantic identity |
Every one-shot carries an event instance or transaction ID. Resume, retry, and duplicate callback handling use that ID to prevent a second purchase, reward, loss, or save-success cue.
12. Workflow Traceability
| Player workflow | Required music/ambience | Required semantic SFX | Voice/caption behavior | Acceptance observation |
|---|---|---|---|---|
| shop browse and refresh | shop base/motion/scarcity states; shop ambience | shop/recruit shared family and currency receipts | offers-ready/refresh voice optional; commits captioned | preview, insufficient state, refresh, and purchase are distinguishable eyes closed, then verified against screen state |
| recruit evaluation and hire | preparation handoff | recruit evaluation, hire, capacity, replacement, dismissal, and trait events | no spoken generated name; benefit and cost caption separately | hire, reserve, capacity, replacement, and dismissal never share receipt contours |
| equipment comparison | preparation base/comparison layer | equipment/artifact shared family | incompatibility caption/system voice optional | review differs from equip/sell commit; proc cannot mask a forecast |
| party ordering | preparation base/ready layer | party-order shared family | blocked/ready caption and optional announcer | order move and changed target/protection/reach/heal projections remain readable in mono |
| automatic battle | regional battle or boss suite; battle ambience | automatic-battle shared family plus content signatures | efforts rate-limited; semantic forecasts captioned | 30-minute battle mix preserves forecasts, phase, retreat, and casualty at every speed |
| 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 |
| 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 |
| 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 |
13. Production Manifest And Evidence
13.1 Required Metadata
Every delivered asset or configuration record contains:
audio_id
authoritative_event_binding
asset_or_configuration_type
bus
priority
source_scope
variant_group
selection_rule
cooldown_ms
concurrency_group
ducking_trigger
caption_key
locale_or_language_neutral
duration_ms
loop_start_sample
loop_end_sample
integrated_loudness
true_peak
rights_record
content_hash
evidence_state
Non-looping assets set loop samples to null. Missing caption keys on P0-P2
events, unresolved authoritative bindings, duplicate IDs, and absent rights
records are blocking manifest errors.
13.2 Planned Release-Master Count
| Domain | Planned mastered deliverables |
|---|---|
| music | 150 |
| ambience | 410 |
| shared and content-bound SFX | 1,240 minimum |
| language-neutral recruit efforts | 128 |
| localized system/announcer voice | 64 |
| Total | 1,992 minimum |
The separate 144-recording raw SFX source library is not included in release master totals. Rejected takes, mix revisions, localization retakes, source sessions, and runtime compression variants are tracked but not counted as distinct release masters.
13.3 Evidence States
specified -> source_rights_cleared -> recorded_or_composed -> edited
-> machine_checked -> human_selected -> mastered -> imported -> bound
-> runtime_observed -> human_listened -> device_verified -> release_accepted
Evidence is monotonic per asset and per configuration. Machine checks cannot
set human_listened; a screenshot of a waveform cannot set
runtime_observed; one device cannot set device_verified for the matrix.
13.4 Production Sequence
- Resolve the event binding and approve its semantic role.
- Record source, rights, performer, toolchain, and provenance.
- Produce at least two candidates for every signature family and document the selection reason.
- Check file format, channels, leading silence, tail, peak, loudness, and loop markers automatically.
- Listen in its intended state before mastering the selected candidate.
- Import with the manifest-defined bus, priority, cooldown, and caption.
- Observe real transitions and idempotent receipts in runtime when runtime work is separately authorized.
- Perform fatigue, masking, mono, low-volume, interruption, and route-change sessions on the device matrix.
- Retain rejection reasons and do not promote evidence by assumption.
14. Acceptance Gates
- All 32 music suites and 150 stems/cues have authored roles, loop or handoff markers, regional separation, and state transitions.
- All 76 ambience configurations and 410 ambience masters have entry, steady, exit, density, and progression behavior.
- The 228 shared SFX IDs are present exactly once and the 424 content-bound identities expand to the required 42 professions, 60 artifacts, 100 ordinary/elite enemies, and 16 bosses.
- All 36 traits and 320 equipment items have explicit audio mapping rows, even when their mapping reuses a shared event.
- The 1,240 minimum SFX renders follow the declared variation classes, cooldowns, concurrency, priority, and transaction rules.
- Voice delivery is exactly 192 release masters until a separately approved scope revision; generated recruits require no bespoke speech.
- Shop, recruit, equipment, party order, automatic battle, casualty, reward, recovery, save, and each regional progression workflow passes the Section 12 observation.
- Master and per-bus mute, captions, mono, low volume, three dynamic-range presets, pause/resume, interruption, background/foreground, output route change, and headphone unplug preserve state truth.
- Ten-repeat loop checks, 20-minute suite listens, a 30-minute automatic battle fatigue session, and a 50-action shop/recruit repetition session pass on speakers and headphones before bulk production proceeds.
- Machine, human, runtime, device, rights, and release evidence remain separate and no unchecked state is represented as accepted.
Human listening, casting, rights clearance, localized performance approval, runtime integration, device verification, packaging, and release acceptance remain open gates outside this design Goal.