149 KiB
Aetherbound Guild - Japanese 2D Art, Animation And Audio
Approved hand-drawn direction, runtime asset catalog, animation/VFX language and complete audio plan.
Owner Review / Owner 审核
确认唯一允许的日式 2D 手绘方向,以及角色比例、战场层次、动作、特效、界面材质、音乐和音效清单。像素风只保留历史证据,不再使用。
本文件是当前六份审核文档之一。历史拆分文件仅保留在 Git 历史中;文内规则、表格和 ID 仍是完整开发依据。
2026-08-17 Continuous-Growth Presentation Override
The Expedition Company is a persistent generated roster, not a disposable cast
or a fixed set of authored protagonists. A zero-HP Recruit exits the current
battle as Knocked Out, remains owned and is battle-ready again for the next
stage. Presentation may communicate immediate battle consequence, line collapse
and temporary absence, but must never imply deletion, memorialization, identity
replacement or loss of level, XP, Profession, Trait or equipment.
Every older row below named Permanent loss, permanent_loss_confirmed, death
archive, replacement arrival or run-close Company disposal is
FROZEN_LEGACY_FG4. It documents the preserved midpoint implementation and is
not current product-facing art/audio authority. Later conversion must rebind
those roles to knockout, stage return, dismissal or Contract return as
appropriate. DEV-2 produces no battle, casualty or later-Region media and may
reuse only the accepted entry art and procedural guild chrome.
Aetherbound Guild Japanese 2D Visual Direction
Status:
OWNER-APPROVED DIRECTION / RUNTIME REPAIR REQUIREDAccepted battle reference: Accepted battle reference
One-Line Identity
A bright Japanese 2D hand-drawn fantasy guild crosses softly painted unstable worlds as a long line of ordinary, persistent adventurers whose professions, equipment and survival are readable directly in battle.
Three-Second Read
Without reading the title, the player must recognize:
- a Japanese fantasy auto-battler in a painted side-view world;
- one continuous allied Company line facing a materially different enemy line;
- an imminent action or danger that will test the player's preparation.
Character Direction
- Thin, controlled Japanese animation linework with restrained cel color.
- Actor proportions follow the accepted reference rather than a fixed body-ratio label.
- Ordinary unit scale has no fixed percentage. It must preserve the complete Company line, enemy relation and movement corridor at actual play size, then be confirmed by the Owner from a real runtime frame.
- Profession identity comes from silhouette, weapon/tool, stance and action, not a large text label or oversized portrait.
- Allied units face right; enemies face left. The line has visible horizontal travel and real contact before melee impact.
- Generated Recruits are persistent participants, not fixed authored protagonists.
- Bosses may be substantially larger, but cannot remove crowd readability or cover the full tactical corridor.
Environment Direction
- Softly painted sky, architecture, vegetation, route machinery and local hazards with clear atmospheric depth.
- Separate background, midground, playable ground and foreground layers.
- Bright readable daylight and region-specific weather are preferred over a generic dark-blue stage.
- Environment tells the Region rule visually: heat/constructs, archive clauses, echoes, rail order, hidden information and synthesis each require distinct shapes and props.
- The central combat corridor stays readable; tall decoration cannot cut actors apart or hide attacks.
UI Direction
- World first, compact instruments second.
- Top HUD carries objective, side pressure and pause/speed/inspect tools.
- Bottom HUD carries the Company line, HP/resource state and selected details.
- Materials use charcoal ink, ivory enamel, repaired canvas, weathered brass, aether cyan, danger coral and safe green.
- Repeated offers and inventory cells may use bounded frames. Page sections and the gameplay surface may not become nested cards.
- Engine-rendered Chinese and English remain crisp, with icon plus shape support for every important state.
DEV-3 Owner UI Style Contract
Status:
OWNER REVIEW REQUIRED / IMPLEMENTATION FROZEN UNTIL SPEC ACCEPTANCEReference: Owner-providedIMG_8573UI screenshot plus the accepted battle scale reference above.
DEV-3 pages must read as one Japanese 2D hand-drawn world with attached field instruments. The screenshot is a composition and material authority, not a palette-only reference. A bright painted environment, full readable actors, object-led actions and compact HUD rails must be visible in the first frame.
Composition
- The environment occupies the page and remains visible behind every major decision. It is never hidden by one continuous opaque application panel.
- Characters, props and route objects establish the visual hierarchy before explanatory copy. Recruit and equipment choices use a person/object-bearing stage, not a row of text with a tiny icon.
- Guild and Contract place the Company in the scene and put the next action on a field-attached desk/board. Market keeps offer rows compact but gives the inspected Recruit or item a larger stage presence.
- Recruit Review is portrait-led: a complete figure, readable silhouette and sourced equipment/tool are larger than the supporting fact list.
- One open frame or two aligned HUD rails may organize a page. Nested cards, repeated framed rows and a full-page dark rectangle are rejected.
Actors And Assets
- Use the unified non-pixel Recruit family with linear filtering and enough screen height to read face, silhouette, tool and stance at actual play size.
- A Recruit image may not be used as a 40-60px list icon when it is the primary choice subject. Lists may show a compact silhouette only when a larger detail stage remains simultaneously visible.
- Props (Contract board, Market requisition, equipment/tool) must be authored shapes or accepted raster assets with a clear action meaning. Generic stars, diamonds and empty medallions cannot carry the action alone.
- No nearest-neighbor scaling, palette reduction, pixel filters or retro HUD tiles are allowed in the DEV-3 presentation.
Controls And Information
- Primary commands are parchment/ivory or painted object controls with one semantic icon and a short label. Secondary commands use open rails or quiet canvas ink; they do not repeat the primary frame.
- Prices, Company count, availability and disabled reasons sit on a compact HUD rail with stable spacing. They are not distributed across nested cards.
- Headings use the engine font and remain legible over the scene through a restrained ink strip or local contrast treatment, never a large opaque panel.
- Chinese and English copy must retain the same visual hierarchy at 100% and 130% text scale; no text may touch a frame or actor.
Responsive Acceptance
- Required landscape checks are
760x360,844x390and1280x720, withzh_CN/enand 100%/130% text where the state is applicable. - At the smallest viewport, the complete actor silhouette, action target, price/availability and Back/Confirm controls remain visible without scroll traps or overlapping text.
- A DEV-3 visual candidate is rejected if it passes bounds while still reading as a card wall, if actors are subordinate to copy, or if the background/props cannot be recognized in a three-second glance.
UI-0A Complete UI Style Bible
Status:
OWNER REVIEW REQUIRED / CODE FROZENApplies to: Boot, first-launch setup, Title, Initial Company, Guild, Contract, Market, Recruit/Equipment review, Party, Battle, Result and Recovery. Product authority:01_GAME_DESIGN.md. Page/component authority:03_PAGES_AND_UX.md.
This is the production contract for the game's player-facing presentation. It is not a palette mood board and it is not a collection of screenshots. Every future page, component and asset must satisfy the same world, actor, material, type, state, motion and responsive rules below.
UI-0A.1 Visual Identity
Aetherbound Guild is a bright Japanese 2D hand-drawn fantasy world where a small, persistent guild makes consequential plans in the field. The player must see the world, the people and the current decision before reading an explanation. UI is a repaired field instrument attached to a board, rail, ledger, strap, tool rack or screen edge; it is never a separate app dashboard.
The first three visual reads are always:
- the current world and focal people/object;
- the current Company/Contract state that matters now; and
- the next legal action and its immediate consequence.
UI-0A.2 Shape And Material Language
| Role | Required language | Avoid |
|---|---|---|
| World | softly painted sky, stone, vegetation, banners and readable depth layers | flat gradient, dark generic backdrop, baked UI into background |
| Recruit | thin controlled line, restrained cel color, complete silhouette, profession tool and stance | tiny icon, pixel sprite, glossy 3D, oversized hero poster |
| Props | authored board, requisition, tool, seal or stitched marker with clear action meaning | generic star/diamond as the only meaning |
| Primary action | parchment/ivory field, repaired brass edge, one semantic icon and explicit verb | repeated dark rectangle or identical gold frame |
| Secondary action | open ink rail, quiet canvas, differentiated icon and lower visual weight | same treatment as primary |
| Status | compact field rail with value, source and consequence | floating dashboard panel or unexplained badge |
| Destructive action | split edge, warning sentence and neutral/coral accent | solid red button or silent destructive tap |
| Disabled action | intact material, cross-pin/lock shape and exact reason | invisible, greyed-out mystery control |
Frames are constructed from one or two aligned rails and corner fittings. A full-page opaque rectangle, nested decorative cards and repeated framed rows are rejected. A repeated offer may have one bounded row because it is a repeated decision; a page section may not contain cards inside cards.
UI-0A.3 Palette And Contrast
The semantic palette is a material system, not a single hue family:
| Token | Use | Backup cue |
|---|---|---|
ink |
text structure, quiet rail, focus outline | line/shape |
canvas |
paper, parchment, repaired cloth | surface texture |
brass |
frame edge, confirmed structure, navigation | closed contour |
aether_cyan |
inspect, focus, information, active route | sparkle/arrow shape |
safe_green |
committed success, retained growth, recovery | receipt/seal |
danger_coral |
pressure, invalid action, destructive consequence | split edge/warning mark |
sky_blue |
environment and calm state | open contour |
shadow_ink |
local contrast behind text only | never a full-page dashboard |
Large UI surfaces use charcoal ink translucency only where text crosses a busy
scene. Important state cannot rely on color alone; shape, icon and localized
text repeat the meaning. Text and interactive controls must remain readable at
100% and 130% text scale on 760x360, 844x390 and 1280x720.
UI-0A.4 Actor, Prop And Environment Scale
- The focal actor/object gets the largest readable treatment in its decision region. It may not be reduced to a 40-60px list icon when it is the choice.
- Choice screens show equally weighted complete figures or a shared staged scene. Inspect/Review expands the selected figure and its sourced tool.
- Guild shows the current Company as people in a shared world, not as four isolated portrait cards.
- Market shows the selected Recruit or item at planning scale beside compact offer rows; the rows never become the only visual content.
- Backgrounds are separate imported layers. Foreground props frame the action without hiding faces, hands, equipment, prices or primary controls.
- Linear filtering and mipmaps are used for hand-drawn raster actors and props; nearest-neighbor, palette reduction and post-process pixelation are forbidden.
UI-0A.5 Motion And Audio Relationship
Motion confirms a committed state rather than decorating a click:
| Event | Visual response | Timing rule |
|---|---|---|
| Focus/hover | local outline, icon lift or rail highlight | immediate, no layout shift |
| Press | small material depression and icon response | begins within 50ms |
| Inspect | scene emphasis and detail reveal | short nonblocking transition |
| Purchase/equip/hire | sourced object moves to its destination and values change | only after receipt |
| Error | local split edge, exact reason and retained state | never implies success |
| Receipt | named result/seal and stable final state | no particle-only confirmation |
| Page transition | brief field slide/fade or rail handoff | 80-200ms; no blocking wipe |
Reduced motion removes travel and camera exaggeration but keeps the final state, focus, receipt and consequence readable. Reduced flashes removes high-contrast pulses. Audio and haptics follow the same authoritative receipt and are never required to understand a state.
UI-0A.6 Asset And Runtime Standards
Every player-facing asset records:
runtime_role, source/provenance, dimensions, format, import filter,
pivot/anchor, localization scope, current state, runtime_seen,
agent_visual_reviewed, human_reviewed, rejection reason
Backgrounds are opaque layered landscape masters. Actors, props and icons use transparent assets with stable anchors. Engine text, prices and state values are never baked into generated images. A raw PNG, contact sheet or imported resource is not final until the current runtime shows it at play size.
UI-0A.7 Non-Negotiable Rejections
- Pixel art, pixel filters, nearest-neighbor enlargement or low-resolution palette reduction.
- A dark collection of generic panels that could describe any game.
- Tiny actors, generic icons or text paragraphs replacing the focal subject.
- A single button/frame treatment repeated for every semantic action.
- A page whose first action is hidden by copy, HUD, decoration or empty space.
- A visual state that differs only by color or a hidden tooltip.
- A H5 or screenshot presented as accepted before Owner visual review.
VA-1A Guild Anchor Asset Binding
The first concrete implementation is governed by the decomposition package at
docs/prototype/generation/ui0a_guild_anchor_01/. The runtime scene must bind
separate layers rather than use the current full-page frame as a background:
background sky -> distant ruins -> midground route -> playable ground
-> foreground banner/table -> Recruit actors + ground shadows
-> Contract Board / Route Map / Seal props
-> top resource rail + bottom field command rail
-> engine-rendered text and hit areas
Each layer has an independent import, z-order, anchor and runtime role. The AI reference is a composition/material authority; it is not shipped as one flattened screenshot and its generated text is never used as game text.
Motion Direction
- Idle motion is subtle and never replaces gameplay animation.
- Melee uses anticipation, forward travel/contact, impact and recovery.
- Ranged action visibly releases a projectile or line effect from the attacker to the legal target.
- Healing visibly originates from the healer and changes the recipient's state.
- Guard, hurt, defeat and victory have distinct poses with stable anchors.
- Floating damage/healing values appear at the affected actor, rise and settle quickly, and never cover the next priority action.
- Reduced motion removes travel exaggeration and camera motion, but preserves readable anticipation, impact and legal final state.
Explicit Rejections
- Pixel art, nearest-neighbor enlargement and low-resolution palette reduction.
- Western steampunk hero-poster rendering or glossy 3D characters.
- Oversized ordinary characters that leave room for only two or three actors.
- Card-wall dashboards, generic dark panels and app-like form pages.
- Decorative particles or idle loops presented as battle animation.
- Fixed named-hero storytelling, rarity framing or authored social-bond systems.
- Pseudo-text baked into generated art.
Production Rule
One representative runtime battle must pass before bulk page or Region asset production. Concept art controls direction; only imported, gameplay-bound and normal-rendered assets prove implementation. Owner review remains the final visual gate.
Aetherbound Guild: Art Asset And Animation Catalog
Authority: production specification for generated-recruit art, profession kits, equipment and artifact presentation, region and enemy art, animation, combat staging, UI support art, and VFX.
Product source:
01_GAME_DESIGN.md. Visual direction:04_ART_ANIMATION_AUDIO.md.Current gate: design candidate only. Nothing in this catalog is generated, imported, runtime-seen, human-reviewed, device-verified, or release-accepted.
1. Visual Production Contract
1.1 Identity Statement
Aetherbound Guild is an original landscape 2D Japanese hand-drawn fantasy auto-battler in which a changing company of visibly assembled recruits forms one long, readable party line against region-shaped threats. Expressive inked silhouettes, restrained cel shading, tactile equipment, and precise effect geometry make preparation choices legible while combat executes automatically.
The art must communicate, in this order:
- who is exposed at the front and who is protected farther back;
- which actor will act, whom the action will affect, and when it will resolve;
- which profession, equipment, trait, or artifact caused the result;
- whether the company can recover a knocked-out member, recruit another, or improve its next plan.
Decorative detail never outranks those reads. Generated recruits are visual recipes, not authored lead characters, and no recipe receives unique narrative illustration obligations.
1.2 Visual Pillars
| Pillar | Production rule | Rejection signal |
|---|---|---|
| Assembled individuality | Body, face, hair, garment, detail, profession kit, palette, and equipment remain separable and deterministic. | A recruit reads as a recolor or changes identity between portrait and battle. |
| Ordered-line clarity | Front-to-rear order remains visible in silhouette, ground contact, overlap, targeting, and result review. | A player must infer order from text, health bars, or selection alone. |
| Mechanical ornament | Every emblem, tool, prop, motion, and effect has a gameplay or navigation job. | Decoration resembles a target, hazard, reward, or action without the matching state. |
| Regional contrast | Each of eight region families has its own shape, material, value, weather, and enemy integration rules. | A region differs only by hue, backdrop swap, or particle tint. |
| Hand-drawn control | Line weight, key poses, painted edges, and texture are deliberately cleaned at play size. | Anatomy drift, unstable pivots, synthetic detail noise, or inconsistent light survives cleanup. |
| Quiet automation | Idle motion yields to forecast, impact, casualty, reward, and recovery cues. | Constant motion or glow makes automatic battle unreadable or tiring. |
1.3 Mood And Lighting
| State | Lighting and value contract |
|---|---|
| Shop and preparation | Open mid-values, clear local color, soft overhead light, and low atmospheric motion support comparison. |
| Battle opening | Region light remains recognizable while actor rims and ground contacts establish the party line and opposing staging. |
| Normal execution | Background contrast drops behind active silhouettes; action geometry receives the brightest local edge. |
| Pressure | Shadows cool and tighten locally around threatened actors; the whole screen does not darken or pulse. |
| Knockout | Motion and saturation withdraw locally from the affected Recruit while the rest of the battlefield remains inspectable; no memorial or deletion cue appears. |
| Reward | Warm directional light reveals the claimed object; celebration does not cover party condition or next action. |
| Endgame and high difficulty | More complex region states may layer together, but the same value hierarchy and semantic shapes remain binding. |
1.4 Production And Evidence States
Every asset follows this non-skippable sequence:
brief -> source -> cleaned_master -> separated -> export_validated -> imported -> integrated -> runtime_seen -> agent_visual_reviewed -> human_reviewed -> device_verified -> release_accepted
Later states are never inferred from earlier ones. Current approval of this
catalog advances only the brief state. Final or bulk media production remains
outside this Goal.
2. Authority, Bindings, And IDs
2.1 Content Integration Bindings
This catalog owns visual production rules, not gameplay identities or screen architecture. The following names are mandatory integration bindings. They may be replaced only by the corresponding stable IDs from the merged authorities.
| Binding | Required resolution |
|---|---|
CONTENT.PROFESSION.BASE[01..12] |
Twelve base profession rows, in their authoritative order. |
CONTENT.PROFESSION.ADVANCED[01..24] |
Twenty-four advanced profession rows; two resolve to each base row. |
CONTENT.PROFESSION.HIDDEN[01..06] |
Six hidden hybrid profession rows and their prerequisite pairings. |
CONTENT.TRAIT[01..36] |
Thirty-six trait rows, each exposing benefit, cost, trigger, and visibility. |
CONTENT.EQUIPMENT[001..320] |
Three hundred twenty equipment rows, including form, one-slot behavior, anchor need, and manifestation class. |
CONTENT.ARTIFACT[01..60] |
Sixty shared-rule artifact rows and their trigger/conflict states. |
CONTENT.ENEMY[001..100] |
One hundred ordinary or elite enemy identities, including tier and region. |
CONTENT.BOSS[01..16] |
Sixteen boss identities, including region, action set, and phase needs. |
CONTENT.REGION[01..08] |
Eight region identities and encounter grammar. |
SYSTEM.PARTY.CAPACITY_PROFILE |
Simulated deployment capacity and anchor spacing across run progression. |
SYSTEM.COMBAT.EVENT_SCHEMA |
Authoritative targeting, timing, status, casualty, and result event names. |
UX.VIEWPORT.MIN/REFERENCE/MAX |
Landscape review viewports and safe-area masks. |
UX.SCREEN.* |
Player-facing screen and state IDs requiring art support. |
Unresolved bindings remain visible in the manifest. Art production cannot silently assign a profession mechanic, item form, enemy tier, region placement, screen count, or battle formula.
2.2 Stable Art IDs
| Family | Stable ID range | Exact identity count |
|---|---|---|
| Recruit modular part | ART-REC-{part}-{index} |
defined in Section 4 |
| Profession kit | ART-PRO-B01..B12, ART-PRO-A01..A24, ART-PRO-H01..H06 |
42 |
| Trait presentation | ART-TRT-01..36 |
36 |
| Equipment presentation | ART-EQP-001..320 |
320 |
| Artifact presentation | ART-AFT-01..60 |
60 |
| Ordinary or elite enemy | ART-ENM-001..100 |
100 |
| Boss | ART-BOS-01..16 |
16 |
| Region | ART-REG-01..08 |
8 |
| UI support art | ART-UI-{family}-nnn |
Section 10 ledger |
| VFX grammar | ART-VFX-{family}-{state} |
Section 13 ledger |
Gameplay identity counts and visual state counts stay separate. A palette,
frame, expression, equipment attachment, effect, or difficulty treatment is a
presentation state, never a new recruit, profession, enemy, boss, or item.
Recruit part values are BODY, FACE, HAIR, GARMENT, DETAIL,
SKINPAL, HAIRPAL, and GARMENTPAL. Profession overlays use the separate
ART-PRO-* family.
2.3 Manifest Record
Every source and export record stores:
id, content_binding, runtime_role, source_type, manual_brief_or_prompt,
creator_or_provider, provider_task_id, source_revision, source_path,
processed_path, source_hash, dimensions, format, alpha, layers, palette_id,
rig_id, anchor_map, pivot, native_play_scale, animation_events, frame_timing,
reduced_motion_export, reduced_flash_export, low_power_export, license_status,
import_binding, integration_state, runtime_capture, rejection_reason,
agent_visual_review, human_review, device_review, release_acceptance
Accepted and rejected candidates remain traceable. Regeneration never replaces the provenance of an earlier candidate.
3. Global Drawing, Shape, Color, And Material Rules
3.1 Drawing And Camera
- Characters use a three-quarter side presentation with the face, leading hand, tool, and ground contact readable in a single pose.
- Outer contours are warm charcoal, not pure black. Interior lines are lighter and are removed before they turn into noise at minimum play size.
- Cel shading uses one principal shadow group and one selective reflected-light group. Specular marks belong to the material, not to rarity.
- Faces retain two readable landmarks at battle scale: brow/eye direction and mouth/jaw angle. Portrait assembly adds detail without changing geometry.
- Background perspective is shallow enough for the ordered party line to keep one stable ground rail. Vertical offsets used for overlap separation carry no tactical meaning.
- Camera shake, zoom, and rotation are feedback accents, never the only proof of hit weight, threat, or state change.
3.2 Shape Language
| Subject | Primary shape grammar | Required distinction |
|---|---|---|
| Generated recruit | Tapered organic body masses plus one profession-owned outer contour. | Face/hair identity remains visible inside the profession silhouette. |
| Protective role | Closed arcs, broad planted bases, upright tools. | Protection is visible before an effect fires. |
| Reach or distance role | Long directional diagonals and clear empty space around the release path. | The projected reach does not resemble a protection field. |
| Support role | Open cups, paired loops, or outward branches. | Ally benefit and enemy harm use different endpoints. |
| Enemy | Region material distorted into one dominant threat shape. | Each identity has one recognizable mechanic-bearing contour. |
| Boss | One large body thesis plus two secondary phase-changing masses. | Hit area and forecast geometry remain distinct from decoration. |
| Interactable object | Squared base, visible hand contact, one state-bearing mechanism. | It cannot resemble dropped loot or a hazard. |
| Reward | Compact centered object with a quiet outward reveal. | It cannot resemble an incoming attack. |
3.3 Palette And Material Budget
The common palette uses seven separated roles: ink charcoal, paper-white, verdant green, mineral teal, signal coral, reward gold, and arcane violet. Regions replace local hues but keep semantic contrast. Danger uses coral plus a toothed or pointed contour; healing uses green plus an open-leaf contour; protection uses teal plus a closed bracket; reward uses gold plus a radial seal.
Per recruit, skin and hair do not count against the material cap. The visible combat costume uses at most:
- two garment-base materials;
- two profession materials;
- one equipment-specific focal material;
- one accent hue covering no more than 25 percent of the actor silhouette;
- emissive detail covering no more than 8 percent, except during a resolved action frame.
Profession hue never encodes identity alone. Rarity cannot replace local color with a full-body tint. Region lighting cannot shift ally and enemy values into the same silhouette range.
3.4 Asset Scale And Format Targets
| Asset | Editable source target | Runtime role | Validation rule |
|---|---|---|---|
| Modular body or outfit master | 1536x2048 | layered actor rig or curated atlas | Full contour, ground, hands, face, and every declared anchor remain uncropped. |
| Portrait assembly | 1536x1536 | 384/512/768 crops | Same recipe and geometry as battle actor. |
| Battle actor | shared modular source | reference height bound to UX.VIEWPORT.REFERENCE |
Silhouette passes at minimum viewport with bars and effects present. |
| Enemy actor | 1536x1536 or 1536x2048 | layered rig or atlas | Mechanic contour survives region lighting. |
| Boss actor | 2048x2048 to 3072x2048 | multi-part rig or atlases | Never covers forecast endpoints or priority controls. |
| Equipment or artifact object | 1024x1024 | 96/192/384 exports | Perceived size normalized without cropping long tools. |
| UI icon | vector or 512 master | 24/32/48 logical exports | Meaning survives one-color and high-contrast tests. |
| Environment master | 2560x1440 | layered landscape scene | Actors, UI, interactables, and hazards are not baked in. |
| VFX master | vector, mesh definition, or 1024 atlas | effect-family export | Alpha fringe, pivot, timing, blend, and final state are explicit. |
Atlas pages target 2048. A 4096 page requires measured memory and upload proof on the selected device tier. Opaque full-screen plates do not carry alpha.
4. Generated Recruit Visual System
4.1 Deterministic Recipe
05_CONTENT_CATALOG.md is the sole authority for stored generation options.
One recruit stores exactly this visual recipe:
body_frame + face_shape + skin_palette + hair_shape + hair_palette
+ garment_cut + garment_palette + profession_overlay + detail_mark
Art does not roll this recipe. Generation stores the selected option IDs after its fixed content substream completes; reload, localization, inspection, and runtime assembly only consume those IDs. Equipment, scars, expression, condition, and motion are derived layers and are never appended as hidden generation options.
portrait_assembly = stored_visual_recipe + expression_state + scars[]
battle_assembly = stored_visual_recipe + body_motion + equipment_attachments
+ scars[] + condition_state
result_assembly = stored_visual_recipe + result_expression + equipment_state
+ scars[] + condition_state
The same stored recipe builds shop portrait, inspection portrait, party-line actor, result portrait, and collection silhouette. Assemblies may use different detail levels but cannot alter face geometry, hair contour, body frame, palette, garment cut, profession overlay, or detail-mark placement.
4.2 Recruit Record To Art Crosswalk
The crosswalk below is exhaustive for the recruit record. Stored means the
content or system authority persists the value; derived means art assembles a
view from stored/runtime state without creating another option authority.
| Recruit record field | Stored authority | Art binding | Derived assembly and runtime output |
|---|---|---|---|
recruit_instance_id |
Unique run identity | Manifest/runtime owner key; no visual option | Joins every portrait, actor, event, result, and history view to one recruit. |
generation_seed |
Content generation seed | Provenance only; art never draws from it after recipe storage | Reproduction audit can verify the stored recipe without rerolling an assembly. |
offer_index |
Stable offer position | Provenance only | Shop portrait binds to the exact offer record. |
display_name_tokens |
Localizable name tokens | No art master | Engine-rendered name beside every derived assembly. |
pronoun_set |
Localization/accessibility field | No visual coupling | Text and accessibility output only. |
voice_effort_set |
Audio field with 8 content options | No art master | Audio binds independently to the same recruit ID. |
body_frame |
Visual grammar: 8 options | ART-REC-BODY-01..08 |
Shared body layers, attachment points, and 16 common motion slots. |
face_shape |
Visual grammar: 12 options | ART-REC-FACE-01..12 |
Six expression assemblies used by portrait/result states. |
skin_palette |
Visual grammar: 12 options | ART-REC-SKINPAL-01..12 |
One reviewed palette data set applied consistently to face and body. |
hair_shape |
Visual grammar: 24 options | ART-REC-HAIR-01..24 |
Portrait, battle-front, and battle-rear assemblies with headwear masks. |
hair_palette |
Visual grammar: 10 options | ART-REC-HAIRPAL-01..10 |
Palette data applied to every assembly of the selected hair shape. |
garment_cut |
Visual grammar: 12 options | ART-REC-GARMENT-01..12 |
Profession-neutral portrait and battle garment layers. |
garment_palette |
Visual grammar: 16 options | ART-REC-GARMENTPAL-01..16 |
Contrast-paired garment palette data; never a quality indicator. |
profession_overlay |
Visual grammar: 42 options | One ART-PRO-B*, ART-PRO-A*, or ART-PRO-H* package |
At generation it is the base kit selected by base_profession_id; later authoritative profession changes update this stored binding. Counted in Section 5, not in recruit-module totals. |
detail_mark |
Visual grammar: 20 options | ART-REC-DETAIL-01..20 |
One portrait/battle cosmetic assembly; no second accessory or multi-detail draw. |
base_profession_id |
Content profession identity | Must resolve to ART-PRO-B01..B12 at generation through the profession catalog |
Rules, text, and initial overlay use one profession binding; art cannot select a different kit. |
attribute_vector |
Five content grades | No body, face, palette, or garment binding | Engine-rendered grades and sourced comparison markers only. |
trait_id |
One of 36 traits | ART-TRT-01..36 from Section 6 |
Compound emblem and bounded event badge; never changes the stored visual recipe. |
starting_equipment_id |
One content equipment ID | ART-EQP-001..320 plus its declared attachment point |
Shop/result objects and the single battle attachment derive from equipment ownership. |
level, xp |
Individual system/content progression values | No visual option | Engine-rendered LV 1..10 and exact current/next XP progress; never a Company-wide level. |
mastery_by_profession |
System progression map | No implicit overlay change | UI progress output; a profession overlay changes only through an authoritative profession-state update. |
quality_band |
Disclosed content band | No palette, material, body, or effect binding | Engine-rendered band notation only. |
shop_cost_tier |
Economy-derived tier | No art option | Engine-rendered cost treatment around the same portrait assembly. |
duplicate_signature |
Content-owned hash of name, visual parts, profession, trait, and attribute grades | Consumed for validation; not redefined by art | Prevents content duplicates without treating equipment or level as identity parts. |
survival_battles |
Run history | No base-art regeneration | Engine text and result/history context. |
knockouts |
Run history | No base-art regeneration | Engine text and sourced condition presentation. |
scars[] |
Run history overlays | Reuses scar-compatible geometry within ART-REC-DETAIL-01..20; no new generation pool |
Zero or more acquired overlays added after the base detail_mark, with event provenance and occlusion checks. |
acquired_tick |
Run chronology | No visual option | Sort/history metadata only. |
At duplicate-protection step 9, content compares the nine stored visual fields
from Section 4.1 directly to enforce the rule that one exact visible assembly
cannot recur in a run. This comparison is not duplicate_signature and does
not add a recruit-record field. On visual-pool exhaustion, content rerolls
detail_mark, then garment_palette, then hair_palette; art consumes the
resulting stored IDs and never invents an unavailable option.
4.3 Modular Source Inventory
| Library | Exact masters | Runtime states per master | Total state cells | Notes |
|---|---|---|---|---|
| Body frames | 8 | 16 common motion slots | 128 | Four height bands by two mass bands; every profession kit fits every frame. |
| Face shapes | 12 | 6 expression assemblies | 72 | Neutral, assess, focus, strain, relief, and loss-record. |
| Hair shapes | 24 | 3 assemblies | 72 | Portrait, battle-front, and battle-rear layers with headwear masks. |
| Detail marks | 20 | 2 assemblies | 40 | Portrait and battle versions of the one stored cosmetic mark. |
| Garment cuts | 12 | 2 assemblies | 24 | Profession-neutral portrait and battle layers. |
| Skin palettes | 12 | palette data | 12 | Highlight, midtone, shadow, lip, and palm values across required lighting. |
| Hair palettes | 10 | palette data | 10 | Natural and aether-touched ranges with no quality coding. |
| Garment palettes | 16 | palette data | 16 | Contrast-paired main/accent sets with non-color readability. |
| Total | 114 masters | 374 authored state cells | The 42 profession packages remain separate in Section 5. |
Runtime assembles stored recipes from these modules. Production creates 114 recruit masters and 42 profession packages, not a pre-rendered Cartesian set of possible recruits. Compatibility matrices validate masks, attachment points, silhouettes, and palettes without turning each combination into another asset.
The eight body frames are exactly four height bands by two mass bands. They share collision and timing while preserving authored head, hand, ground, and equipment proportions. Production may add seated or assisted movement only through a later content-schema revision; it cannot become a hidden ninth body option.
4.4 Standard Attachment Point Map
Every body and profession kit declares these named attachment points:
head_top, face_center, shoulder_left, shoulder_right, hand_primary,
hand_secondary, chest, waist_left, waist_right, back_high, back_low,
foot_left, foot_right, ground_front, ground_rear, projectile_origin,
effect_origin, overhead_status
Equipment may bind only to a declared point or to none. A two-hand item owns
both hand points and a grip-distance range. Hair, sleeves, capes, back objects,
and headwear carry explicit occlusion masks rather than relying on import order.
4.5 Layer And Occlusion Order
rear VFX
rear profession mass / back equipment
rear hair / rear detail mark
rear arm and rear hand item
body frame / garment cut
profession torso and waist overlays
head / face / expression / front hair
front arm and primary item
front profession mass / front equipment
condition and target contours
front VFX / engine-rendered state UI
At the minimum viewport, another recruit may cover no more than 35 percent of a recruit's torso, no more than 15 percent of the head contour, and none of the profession's unique tool endpoint. The selected or acting actor receives a shape-following ink-and-paper rim; non-actors are not globally dimmed.
4.6 Generation Safety And Distinctness
- Body, face, skin, hair, and detail distributions are independent of combat strength, cost, rarity, profession tier, trait polarity, and survival record.
- All profession masks pass
8 * 42 = 336body/kit,24 * 42 = 1,008hair/kit,12 * 42 = 504garment/kit, and20 * 42 = 840detail/kit combinations before production scale-up. - A recipe is rejected when its face contour, hair contour, profession outer mass, and primary tool do not produce at least three distinct reads against the current deployed party.
- Direct comparison of the nine stored visual fields prevents an exact visible
assembly from recurring in a run;
duplicate_signatureremains the broader content hash defined in the crosswalk. - Names are engine-rendered. No generated name, biography, or localized text is baked into art.
- Trait and equipment changes add state-bearing markers; they do not regenerate a recruit's body or face.
4.7 Recruit Condition Presentation
| State | Portrait change | Battle change | Persistence proof |
|---|---|---|---|
| Available | Neutral or assess expression | idle_observe |
Full recipe visible. |
| Selected | Focus expression and shaped rim | ready final pose |
Party-order token shares the same portrait crop. |
| Pressured | Strain expression, segmented condition edge | pressure_idle with lowered center of mass |
Effect clears only when authoritative condition clears. |
| Knocked Out | Eyes and tool lower; no gore | knockout_hold preserves ground and silhouette before current-battle exit |
Result view retains the same recipe, ownership and next-stage return state. |
| Victory | Relief expression | restrained victory_settle |
Equipment and condition remain visible for result review. |
5. Profession Visual Kits: 42
5.1 Kit Package And Motion Codes
Each profession receives one package. The visual kit reveals combat responsibility without replacing recruit identity.
| Deliverable per kit | Per kit | Total for 42 |
|---|---|---|
| Profession emblem | 1 | 42 |
| Outer-silhouette overlay set | 1 | 42 |
| Primary tool set with stow state | 1 | 42 |
| State-bearing device with empty/active/full | 3 | 126 states |
| Auto-action pose deviations | 2 | 84 |
| Passive or cadence marker | 1 | 42 |
| Signature effect-geometry brief | 1 | 42 |
| Reduced-motion resolved poses | 2 | 84 |
Animation-need codes used below:
| Code | Required authored deviation |
|---|---|
BRACE |
planted anticipation, protected endpoint, absorb recovery |
INTERCEPT |
rapid cross-body entry, contact hold, return to legal order |
THRUST |
two-hand reach line, contact compression, controlled withdrawal |
SWEEP |
broad tool arc with clear start and endpoint, no full-screen trail |
DUAL |
alternating hand contacts with readable first and second event |
RELEASE |
aim, release event, projectile origin, recoil recovery |
CHANNEL |
stable source, sustained tick pose, interruptible recovery |
PULSE |
gather, outward ally/enemy endpoint, quiet return |
DEPLOY |
hand-to-ground or hand-to-object placement, activation, recall |
HEAVY |
long anticipation, high-contact key, weighted settle |
MOBILE |
step-out, action, and return that preserves party order |
RALLY |
upward signal, outward propagation, group response without manual-control implication |
All actions are automatic event presentation. The codes do not authorize repeated player-activated skills.
In the kit tables, both hands means hand_primary + hand_secondary, both waist points means waist_left + waist_right, both shoulders means
shoulder_left + shoulder_right, and both feet means foot_left + foot_right. These are compact references to the standard attachment point map,
not new anchor names.
5.2 Base Profession Kits: 12
| Art ID / binding | Silhouette thesis | Equipment anchors | Material and accent limit | Animation needs |
|---|---|---|---|---|
ART-PRO-B01 / CONTENT.PROFESSION.BASE[01] |
Broad shoulder shell and high rectangular guard edge; face stays open. | hand_secondary, shoulder_left, back_high |
Canvas + dark iron; teal edge <=20%; no cape. | BRACE, INTERCEPT |
ART-PRO-B02 / CONTENT.PROFESSION.BASE[02] |
Long forward haft with narrow pennon and low planted stance. | both hands, back_low, projectile_origin |
Ash wood + brushed steel; coral pennon <=15%. | THRUST, MOBILE |
ART-PRO-B03 / CONTENT.PROFESSION.BASE[03] |
Split short-coat hem and paired compact hand tools. | both hands, both waist points | Dyed cloth + blackened steel; gold stitches <=12%. | DUAL, MOBILE |
ART-PRO-B04 / CONTENT.PROFESSION.BASE[04] |
Tall bow crescent and offset quiver breaking one shoulder. | both hands, back_high, projectile_origin |
Pale wood + woven cord; verdant fletching <=18%. | RELEASE, MOBILE |
ART-PRO-B05 / CONTENT.PROFESSION.BASE[05] |
Vertical staff line opposed by a square folio at the waist. | hand_primary, waist_right, effect_origin |
Lacquered wood + paper; violet ink <=20%. | CHANNEL, PULSE |
ART-PRO-B06 / CONTENT.PROFESSION.BASE[06] |
Hanging lantern mass below the hand and open sleeve arc above it. | hand_primary, waist_left, effect_origin |
Frosted glass + linen; green light <=8% idle. | PULSE, CHANNEL |
ART-PRO-B07 / CONTENT.PROFESSION.BASE[07] |
Block hammer head, cropped apron, and compact back tool roll. | both hands, back_low, ground_front |
Forged steel + heavy leather; gold sparks only on contact. | HEAVY, DEPLOY |
ART-PRO-B08 / CONTENT.PROFESSION.BASE[08] |
Bare forearm wedges, wrapped fists, and short waist sash tails. | both hands, waist_left, waist_right |
Woven wrap + matte leather; coral knots <=12%. | DUAL, INTERCEPT |
ART-PRO-B09 / CONTENT.PROFESSION.BASE[09] |
Shoulder vial rack and low triangular satchel balanced across torso. | shoulder_right, waist_left, hand_primary |
Clear glass + waxed cloth; three liquid hues maximum. | DEPLOY, RELEASE |
ART-PRO-B10 / CONTENT.PROFESSION.BASE[10] |
Narrow upright standard behind one shoulder and short signal baton. | back_high, hand_primary, effect_origin |
Dyed cloth + brass; gold trim <=15%. | RALLY, PULSE |
ART-PRO-B11 / CONTENT.PROFESSION.BASE[11] |
Weighted cord loop around a low asymmetrical coat and hooked hand tool. | hand_primary, waist_right, ground_front |
Dark steel + coarse cloth; violet knots <=14%. | SWEEP, MOBILE |
ART-PRO-B12 / CONTENT.PROFESSION.BASE[12] |
Round forearm disc opposed by a long compact launcher silhouette. | hand_secondary, hand_primary, projectile_origin |
Patinated bronze + lacquer; teal inlay <=18%. | RELEASE, BRACE |
5.3 Advanced Profession Kits: 24
Each pair inherits the indexed base kit's face opening and garment masks, but changes the outer contour, tool rhythm, and action endpoints.
| Art ID / binding | Parent | Silhouette thesis | Equipment anchors | Material and accent limit | Animation needs |
|---|---|---|---|---|---|
ART-PRO-A01 / CONTENT.PROFESSION.ADVANCED[01] |
B01 | Tall slab guard, raised collar, planted triangular foot mass. | hand_secondary, both shoulders, ground_front |
Dark iron + quilted cloth; teal seam <=16%. | BRACE, HEAVY |
ART-PRO-A02 / CONTENT.PROFESSION.ADVANCED[02] |
B01 | Small angled guard and long forward blade, leaving torso open. | both hands, back_low |
Polished steel + canvas; coral edge <=14%. | INTERCEPT, THRUST |
ART-PRO-A03 / CONTENT.PROFESSION.ADVANCED[03] |
B02 | Hooked pole head and high forked pennon make two distant endpoints. | both hands, back_low, projectile_origin |
Blue steel + ash; verdant cord <=12%. | THRUST, SWEEP |
ART-PRO-A04 / CONTENT.PROFESSION.ADVANCED[04] |
B02 | Narrow lance cone, kite pennon, and backward-streaming waist panels. | both hands, back_high |
Brushed steel + stiff silk; coral pennon <=18%. | THRUST, MOBILE |
ART-PRO-A05 / CONTENT.PROFESSION.ADVANCED[05] |
B03 | Three short tool tips fan from an angular hip sheath. | both hands, both waist points | Blackened steel + soft leather; gold pins <=10%. | DUAL, RELEASE |
ART-PRO-A06 / CONTENT.PROFESSION.ADVANCED[06] |
B03 | Long single saber diagonal and one broad trailing scarf plane. | hand_primary, waist_right, back_low |
Tempered steel + thin cloth; violet scarf <=20%. | SWEEP, MOBILE |
ART-PRO-A07 / CONTENT.PROFESSION.ADVANCED[07] |
B04 | Greatbow exceeds head height; split quiver forms a rear fork. | both hands, back_high, projectile_origin |
Layered wood + horn; verdant fletching <=15%. | RELEASE, HEAVY |
ART-PRO-A08 / CONTENT.PROFESSION.ADVANCED[08] |
B04 | Paired compact launchers and squared magazine blocks at both hips. | both hands, both waist points, projectile_origin |
Dark wood + brass; coral notch <=12%. | DUAL, RELEASE |
ART-PRO-A09 / CONTENT.PROFESSION.ADVANCED[09] |
B05 | Ring-topped staff with three flat tablets orbiting the shoulder contour. | hand_primary, shoulder_right, effect_origin |
Inked wood + ceramic; violet marks <=18%. | CHANNEL, PULSE |
ART-PRO-A10 / CONTENT.PROFESSION.ADVANCED[10] |
B05 | Short wand and oversized clasped volume create a low-wide reading pose. | both hands, waist_left, effect_origin |
Paper + dark leather; gold clasp <=10%. | CHANNEL, DEPLOY |
ART-PRO-A11 / CONTENT.PROFESSION.ADVANCED[11] |
B06 | Twin low lanterns join through a high sleeve arc. | both hands, both waist points, effect_origin |
Frosted glass + linen; green light <=8% idle. | PULSE, DUAL |
ART-PRO-A12 / CONTENT.PROFESSION.ADVANCED[12] |
B06 | Bell pole and circular hanging screen create concentric contours. | both hands, back_high, effect_origin |
Brass + translucent paper; teal ring <=16%. | RALLY, CHANNEL |
ART-PRO-A13 / CONTENT.PROFESSION.ADVANCED[13] |
B07 | Oversized maul and compact furnace pack form opposing heavy blocks. | both hands, back_low, ground_front |
Forged iron + fired clay; coral heat <=8% idle. | HEAVY, PULSE |
ART-PRO-A14 / CONTENT.PROFESSION.ADVANCED[14] |
B07 | Long wrench profile and square folding case near the ground. | hand_primary, back_low, ground_front |
Steel + painted wood; gold latches <=12%. | DEPLOY, BRACE |
ART-PRO-A15 / CONTENT.PROFESSION.ADVANCED[15] |
B08 | Layered arm guards widen the upper body; leg ribbons point action direction. | both hands, both feet | Lacquered leather + cloth; coral ties <=15%. | DUAL, HEAVY |
ART-PRO-A16 / CONTENT.PROFESSION.ADVANCED[16] |
B08 | Long jointed staff held low beneath an open shoulder silhouette. | both hands, back_low |
Ash wood + woven grip; teal bands <=12%. | SWEEP, INTERCEPT |
ART-PRO-A17 / CONTENT.PROFESSION.ADVANCED[17] |
B09 | Circular vial wheel rises behind one shoulder with a short sprayer forward. | back_high, hand_primary, projectile_origin |
Glass + brass; three liquid hues maximum. | RELEASE, PULSE |
ART-PRO-A18 / CONTENT.PROFESSION.ADVANCED[18] |
B09 | Tall reservoir pack and thin injector cane form a vertical pair. | back_low, hand_primary, effect_origin |
Smoked glass + waxed cloth; green fluid <=10%. | CHANNEL, THRUST |
ART-PRO-A19 / CONTENT.PROFESSION.ADVANCED[19] |
B10 | Wide split standard and waist drum create high and low signal masses. | back_high, waist_left, both hands |
Dyed cloth + hide; gold trim <=14%. | RALLY, HEAVY |
ART-PRO-A20 / CONTENT.PROFESSION.ADVANCED[20] |
B10 | Fan of slender signal needles behind a cropped conducting baton. | back_high, hand_primary, projectile_origin |
Spring steel + lacquer; violet tips <=12%. | RALLY, RELEASE |
ART-PRO-A21 / CONTENT.PROFESSION.ADVANCED[21] |
B11 | Wide weighted chain crescent stays low around a narrow upright torso. | both hands, ground_front, waist_right |
Dark steel + coarse cloth; coral binding <=10%. | SWEEP, HEAVY |
ART-PRO-A22 / CONTENT.PROFESSION.ADVANCED[22] |
B11 | Broad hooked cleaver and short segmented tether create a broken diagonal. | hand_primary, waist_right, back_low |
Black iron + leather; violet etch <=12%. | INTERCEPT, SWEEP |
ART-PRO-A23 / CONTENT.PROFESSION.ADVANCED[23] |
B12 | Three round plates step from forearm to shoulder in a rising rhythm. | hand_secondary, shoulder_left, back_high |
Patinated bronze + canvas; teal centers <=15%. | BRACE, PULSE |
ART-PRO-A24 / CONTENT.PROFESSION.ADVANCED[24] |
B12 | Long-barrel tool and rectangular shoulder stock create one exact aim line. | both hands, shoulder_right, projectile_origin |
Dark wood + steel; gold sight <=8%. | RELEASE, HEAVY |
5.4 Hidden Hybrid Profession Kits: 6
Each row below resolves the content-owned hybrid ID and both prerequisites
directly. Art translates the authored combat rule and P/O/A/V/S handoff into
one new focal mass; it does not redefine the mechanic or stack two complete
parent costumes.
| Art ID / content identity | Exact parent pair | Combat-to-silhouette translation | Held / worn props and anchors | Material and accent limit | VFX / event cue | Animation needs / action verbs |
|---|---|---|---|---|---|---|
ART-PRO-H01 / CONTENT.PROFESSION.HIDDEN[01] / PF-H01 Warmantle |
PF-B01 Hearthguard + PF-B07 Kindhand |
A mantle shield wraps the front shoulder, then opens toward the protected neighbor when an intercepted loss becomes Care Debt and a basic pays that debt as healing. | Mantle shield at hand_secondary/shoulder_left; tending hand-lamp at hand_primary/effect_origin; care satchel at back_low. |
Dark iron + quilted cloth + frosted glass; teal/heart-red accent total <=16%. | A stitched-square debt mark closes on block, then resolves outward as one restrained heartbeat ring toward the healed neighbor. | BRACE (intercept/hold), PULSE (assess/tend/resolve) |
ART-PRO-H02 / CONTENT.PROFESSION.HIDDEN[02] / PF-H02 Danceshear |
PF-B02 Edgehand + PF-B11 Bellkeeper |
Paired bell-hilt blades form alternating short diagonals; the feet hold a three-beat stance so Edge earned between neighbor actions reads as a deliberate wind-up cut rather than projectile play. | Bell-hilt blade in each hand; compact beat tabs at waist_right; shared blade/bell event origin at both hilts. |
Brushed steel + aged brass + dark cloth; coral/gold accent total <=16%. | A split metronome cue marks the three cadence bands; only the selected enemy telegraph compresses or stretches when Edge is spent. | DUAL (alternate/strike/cutoff), MOBILE (beat-step/cut/recover) |
ART-PRO-H03 / CONTENT.PROFESSION.HIDDEN[03] / PF-H03 Horizon Reaver |
PF-B03 Longspoke + PF-B05 Farstring |
A bow-spear assembly plants as a straight guide line, opens into a draw arc for the rearmost piercing shot, then returns to a two-hand basic thrust to recover the guide. | Bow-spear in both hands with ground_front plant socket, projectile_origin at the string line, and collapsed stow at back_high. |
Pale layered wood + brushed steel + taut cord; white/verdant accent total <=14%. | One thin horizon line joins planted guide to the legal rear target; the line snaps off on the shot and returns along the haft during recovery. | THRUST (plant/recover), RELEASE (draw/pierce/reacquire) |
ART-PRO-H04 / CONTENT.PROFESSION.HIDDEN[04] / PF-H04 Switchwright |
PF-B04 Wayrunner + PF-B09 Coilsmith |
A compact backpack automaton shifts from carried high mass to a ground unit as the wearer steps through indexed positions; its contour visibly changes guard, strike, then ally-pull mode. | Automaton at back_high/back_low while carried and ground_front when dropped; hooked control grip at hand_primary; mode switch at effect_origin. |
Blackened steel + waxed canvas + brass; teal/coral/gold mode accents are mutually exclusive and <=12%. | Numbered footprint cues appear only for visited positions; the automaton shows square guard, pointed strike, or rearward hook geometry for its current mode. | MOBILE (carry/step/switch), DEPLOY (drop/activate/pack) |
ART-PRO-H05 / CONTENT.PROFESSION.HIDDEN[05] / PF-H05 Eventide Scholar |
PF-B06 Riftcaller + PF-B10 Gloamreader |
A split light tablet collapses at an interrupted Charge, closes around the stored area-cast shadow, then opens toward the inscribed enemy when that target's hindrance expires. | Two tablet halves in both hands with closed stow at waist_right; shared cast and inscription source at effect_origin. |
Smoked glass + black paper + lacquered wood; pale gold/violet accent total <=14%. | An eclipsed diamond records Shadow Text; its dark half stays on the target until expiry, when the diamond reverses and releases the stored area geometry. | CHANNEL (charge/collapse/inscribe), RELEASE (expiry/open/discharge) |
ART-PRO-H06 / CONTENT.PROFESSION.HIDDEN[06] / PF-H06 Covenant Factor |
PF-B08 Bondwright + PF-B12 Packwarden |
A ledger-knot frame fans distinct loan tabs toward eligible recipients; each recipient action pulls its tab closed as repayment and lights one flexible Credit without implying a self-only refresh. | Ledger-knot frame at hand_primary/effect_origin; tabbed supply pack at back_high; closed-loan tags at waist_left. |
Dark wood + brass + woven cord + paper; teal/gold accent total <=15%. | Shape-coded linked tabs distinguish Guard, Remedy, Parts, Verse, and Supply; repayment closes one link with a stamped pluck and Credit seal. | PULSE (loan/mark/link), DEPLOY (tab/close/credit) |
5.5 Profession Review Gates
- All 42 emblems pass silhouette, one-color, 24-logical-pixel, and text-free tests.
- All 42 outer silhouettes remain identifiable on all 8 body frames and with hair and equipment attached.
- All 84 pose deviations declare anticipation, event tick, contact or target endpoint, recovery, interrupted final state, and reduced-motion resolution.
- Tool reach and effect geometry must bind to the profession's authored mechanics before production. A visually attractive mismatch is rejected.
- Advanced and hidden kits preserve the recruit's face, hair, garment cut, detail mark, and palettes; progression does not replace personal identity.
6. Trait Presentation: 36
Each trait receives one compound emblem whose left mass represents benefit and right notch represents cost. Color follows the affected mechanic, while notch direction and border pattern provide the non-color read.
| Deliverable | Per trait | Total |
|---|---|---|
| Compound emblem master | 1 | 36 |
| Benefit state | 1 | 36 |
| Cost state | 1 | 36 |
| Battle trigger badge | 1 | 36 |
| Inspect and result crop | derived | 36 bindings |
The exact trait icon concept binds to CONTENT.TRAIT[n].benefit, .cost,
.trigger, and .visibility. Traits do not receive body, face, costume, or
full-screen effect variants. A trigger badge appears beside its causal actor
for one bounded event and remains available in the event inspection record.
7. Equipment And Artifact Presentation
7.1 Equipment: 320
Every equipment row receives one object identity and one behavior-read key, even when its effect resolves through comparison, timing, targeting, reach, resource flow, status policy, or profession behavior rather than an attack.
| Required unit | Per equipment row | Exact total | Runtime form |
|---|---|---|---|
| Object design sheet | 1 | 320 | source-only turnaround, scale, material, and grip notes |
| Inventory object export | 1 | 320 | transparent 384 master with 192 and 96 derivatives |
| Compact silhouette | 1 | 320 | shop, comparison, and event-log use |
| Behavior-read key | 1 | 320 | one of compare, target, timing, reach, resource, status, profession, or trigger geometry |
| Equipped attachment | W |
W |
required when CONTENT.EQUIPMENT[n].visual_anchor != none |
| Stowed attachment | S |
S |
required when the content row exposes a stowed state |
0 <= S <= W <= 320. Integration must resolve W and S by querying all 320
content rows; neither may be estimated from item naming. The mandatory package
therefore contains 320 source sheets and 960 runtime manifestations, plus W + S attachment manifestations.
Equipment state rules:
- neutral, selected, unavailable, equipped, compared, and protected states use engine frames and shape masks around the same object export;
- long tools use normalized diagonal bounds so they do not appear weaker merely because they occupy fewer pixels;
- material, construction, and edge profile identify an object before rarity;
- a behavior-read key appears at the earliest affected decision and at the causal battle or result event;
- head, back, hand, shoulder, waist, and foot attachments use the standard anchor map and declare hair, sleeve, and profession occlusion masks;
- an upgrade adds a bounded construction detail or state marker, never a full hue replacement or larger persistent glow.
7.2 Artifacts: 60
Artifacts are shared rule objects and never appear as worn equipment.
| Required unit | Per artifact | Exact total | Runtime form |
|---|---|---|---|
| Object and material design sheet | 1 | 60 | source-only identity and scale |
| Inspect object export | 1 | 60 | transparent 384 master |
| Compact rule emblem | 1 | 60 | shop, build summary, and event log |
| Trigger seal | 1 | 60 | awaken, modify, conflict, or expire endpoint |
The package contains 60 source sheets and 180 runtime manifestations. The
trigger seal binds to CONTENT.ARTIFACT[n].rule, .trigger, .conflict, and
.duration. Persistent artifact UI uses the compact emblem and engine-rendered
state; it never adds a permanent full-screen particle layer.
8. Enemy And Boss Production
8.1 Ordinary And Elite Enemies: 100
Let O be the authoritative ordinary count and E the elite count, with
O + E = 100. Let E_r be enemy count in region r, with
sum(E_r for r=01..08) = 100. These variables must resolve from content IDs.
Every enemy identity receives:
| Deliverable | Per identity | Exact or formula total |
|---|---|---|
| Identity and mechanic sheet | 1 | 100 |
| Battle rig or curated atlas | 1 | 100 |
| Inspect portrait crop | 1 | 100 |
| Mechanic glyph | 1 | 100 |
| Forecast/resolution VFX binding | 1 bundle | 100 bundles |
| Core motion states | 8 | 800 states |
| Elite pressure and secondary-mechanic states | 2 when elite | 2 * E states |
The eight core states are enter, idle, reposition, basic_action,
signature_action, hit, interrupted, and defeat. Elite additions are
pressure_shift and secondary_action. Variant palette, size, difficulty, or
region dressing does not create another identity.
Enemy visual acceptance:
- one dominant outer contour exposes the signature mechanic before action;
- the forecast uses explicit origin, affected order range, resolve direction, and cancel state;
- enemy and recruit tools do not share the same silhouette when they create different target rules;
- defeat poses preserve the body thesis and do not resemble an imminent attack;
- region materials may grow from or erode the body, but never cover the mechanic endpoint or replace identity with a tint.
8.2 Bosses: 16
Let B_r be boss count in region r, with
sum(B_r for r=01..08) = 16. Distribution and phase count come from content.
| Deliverable | Per boss | Exact total |
|---|---|---|
| Turnaround, scale, and mechanic sheet | 1 | 16 |
| Multi-part battle rig | 1 | 16 |
| Inspect plate | 1 | 16 |
| Boss emblem | 1 | 16 |
| Forecast geometry bundles | 3 | 48 |
| Minimum named motion states | 14 | 224 |
The 14 minimum states are intro, idle, reposition, basic_action, three
signature_action states, hit, interrupted, pressure_shift,
phase_transition, recovery, defeat, and result_hold. Extra phases add
only content-bound actions and transitions; they do not duplicate the whole
package by recolor.
Boss staging rules:
- a boss has one stable ground and targeting origin even when secondary parts extend above or behind it;
- body area may occupy at most 38 percent of the reference playfield width and 58 percent of its height before a special camera review is required;
- no decorative limb, cloth, weather, or effect may cover a forecast endpoint, the party's front three head contours, or priority controls;
- phase change alters at least one outer mass, material state, and motion cadence. A hue swap alone fails;
- all three forecast bundles include preview, imminent, resolve, cancel, and reduced-motion final states.
9. Region Art Families: 8
9.1 Exact Package Count
Each region receives the same countable shell while its content and composition remain distinct.
| Deliverable per region | Per region | Total for 8 |
|---|---|---|
| Shape, palette, light, and material key | 1 | 8 source keys |
| Layered shop/arrival context | 1 | 8 masters |
| Layered route context | 1 | 8 masters |
| Common battle foundation | 1 | 8 masters |
| Elite battle foundation | 1 | 8 masters |
| Boss battle foundation | 1 | 8 masters |
| Prop families | 18 | 144 families |
| Atmosphere/light overlays | 4 | 32 overlays |
| Region emblem | 1 | 8 emblems |
| Runtime region-bound visual families | 28 | 224 |
Each master environment separates:
opaque sky, far terrain, far structures, midground structures,
playfield foundation, state-bearing props, atmosphere/light,
foreground occluders
No master bakes actors, text, rewards, target marks, hazards, or UI. Foreground
occluders declare keep, lower, fade, or remove behavior for actor and
forecast overlap.
9.2 Eight Region Keys
Each art key binds the same ordinal content region exactly once. The region name, biome and landmark, palette/material direction, and hazard readability brief remain traceable to the content authority while art owns their production translation.
| Art ID | Exact content binding | Region name, biome, and landmark brief | Palette, light, and material brief | Hazard/mechanic readability brief | Motion and occlusion rule |
|---|---|---|---|---|---|
ART-REG-01 |
RG-01 |
Windglass Verge: open grass terraces and suspended mineral panes become layered wind-cut shelves; the safe trade crossing keeps clear actor sightlines. | Bright terrace values and wind-direction shapes use pale stone, weathered timber, woven cloth, green sky bounce, coral sun edges, and blue distance. | Glass-wind push telegraphs use visible wind-direction shapes one cadence ahead; projectile screens and front-to-rear reach remain distinct without color. | Cloth and grass move in three timed groups; reduced mode holds one bent final pose. |
ART-REG-02 |
RG-02 |
Siltwake Fens: reed channels carrying luminous sediment between movable banks form layered reeds and a readable ferry-path waterline. | Wet clay, oxidized copper, reed green, mineral teal sediment, and warm bank light separate water depth from safe footing. | Non-color tide notches show the disclosed safe-index shift; pull, hindrance-expiry, and healing-denial states keep separate shapes. | Mist stays below knees; tall reeds lower before an actor enters their bounds. |
ART-REG-03 |
RG-03 |
Emberloom Works: communal kilns and old ceramic conduits stack into kiln terraces, heavy arches, square vents, and one visible pressure-valve position. | Fired brick, black iron, pale ash, coral heat, charcoal mass, and cool blue smoke separate hot-metal constructs from the playfield. | Pressure gauges read without color and expose the valve countdown, delayed bursts, construct state, item-cooldown attacks, and self-cost heat. | Heat shimmer stays local and is disabled in reduced motion; ash avoids face silhouettes. |
ART-REG-04 |
RG-04 |
Quillroot Archive: living root shelves and changing leaf-script patterns form public navigation stacks with open inspection windows. | Dark bark, paper-pale root cuts, broad leaf greens, glazed seed-pod accents, and warm archive light distinguish copy sources. | Repeat, alternate, and preserve clauses use separate leaf-script shapes; copy, erase, redirect, and cleanse-trap states never rely on hue alone. | Leaf-script changes pause for inspection; foreground roots fade before covering rule text or forecast endpoints. |
ART-REG-05 |
RG-05 |
Tideglass Reach: high-contrast salt flats and mirror pools frame rescue beacons while source and repeated silhouettes occupy separate basins. | Chalk crystal, dark mineral, tarnished metal, paper-white salt, teal reflection, and a coral horizon preserve source/echo contrast. | Source and echo use different silhouette treatment and reflection timing for decoys, delayed copies, rearmost intrusion, and empty rear arrivals. | Reflections hold static in low power; glare never sits behind bars, target lines, or source markers. |
ART-REG-06 |
RG-06 |
Skyrail Orchard: fruit terraces hang from slow freight rails across strong updrafts, with orchard/rail parallax preserving cargo footprints and the contested center. | Leaf green, fruit coral and gold, weathered rail steel, pale timber, and airy blue light keep cars, crops, and open sky distinct. | Stop glyphs announce two future stops; board, leap, fall, airborne-untargetable, and cargo-preserved states retain distinct shapes. | Rail cars move only between shown stops; reduced mode indexes stop poses and holds the distant orchard layers. |
ART-REG-07 |
RG-07 |
Nightcurrent Basin: dark water channels and a luminous current carve readable night crossings through layered basin shelves. | Dark-but-readable water, blue-black stone, pale current light, and restrained warm route accents preserve luminance-safe reveal contrast. | Current-link VFX and sonar-like captions show the front-to-rear reveal sweep, forecast category, resource theft, linked circuits, and retaliation. | Current light advances in indexed bands; low power holds water and preserves one moving reveal edge. |
ART-REG-08 |
RG-08 |
Crown of Morn: a ring of dawnlit stone at the high route nexus carries eight readable current motifs through open consecutive-fight staging. | Dawn stone, pale brass, luminous glass, paper-white light, and restrained colors from the eight prior motifs support a layered reprise. | Motif-specific captions and synthesis action shapes identify each inherited push/pull, expiry, construct, copy, echo, rail, or reveal rule source; consecutive fights preserve role redundancy, replacement depth, and the recovery-versus-counter choice. | Ring movement pauses during forecasts; reduced mode swaps rotation for indexed final states. |
No content merge may reorder the ordinal bindings, reuse one content region for two art keys, omit a region target, or resolve a biome, landmark, palette, or hazard conflict through recolor alone.
9.3 Prop Family Contract
The 18 prop families per region are exactly:
- 8 compact context props;
- 4 wide or tall structural props;
- 2 state-bearing shop or route objects, each with inactive and active states;
- 2 battle-interaction props, each with neutral, forecast, resolve, and spent states;
- 1 reward presentation plinth;
- 1 boss mechanism set with content-bound states.
Placements and color variants do not increase the family count. Every prop declares playfield bounds, overlap policy, state events, light contribution, and reduced-motion and low-power behavior.
10. UI Support Art Inventory
Screen layout, text, controls, and navigation remain owned by the UX authority.
This section supplies text-free visual material to UX.SCREEN.* bindings.
| Family | Exact count | Notes |
|---|---|---|
| Core material swatches | 6 | Inked paper, dark enamel, woven cloth, pale ceramic, brushed metal, clear glass. |
| Nine-slice frame masters | 14 | Dock, drawer, tray, list row, compare, inspect, tooltip, modal, toast, result, warning, settings, tab, and selection. |
| Universal tool icons | 40 | Navigation, sort/filter, compare, reorder, equip, inspect, pause, speed, retreat, settings, accessibility, and save families. |
| Universal state icons | 32 | Cost, availability, capacity, lock, warning, target, timing, casualty, recovery, reward, and persistence families. |
| Party-order and target markers | 18 | Front/rear caps, slot, insertion, swap, exposure, protection, reach, selected, acting, and area shapes. |
| Status icon containers | 12 | Shape-coded containers; content status glyphs bind after schema merge. |
| Empty/error support illustrations | 8 | Empty shop, no recruit, no equipment, full party, incompatible, unavailable, interrupted, and recovery-needed states. |
| Cursor/focus forms | 12 | Touch, mouse, controller, keyboard, and high-contrast variants. |
| Region emblems | 8 | Counted in Section 9, not duplicated. |
| Profession emblems | 42 | Counted in Section 5, not duplicated. |
| Trait emblems | 36 | Counted in Section 6, not duplicated. |
| Equipment silhouettes | 320 | Counted in Section 7, not duplicated. |
| Artifact emblems | 60 | Counted in Section 7, not duplicated. |
| Enemy mechanic glyphs | 100 | Counted in Section 8, not duplicated. |
| Boss emblems | 16 | Counted in Section 8, not duplicated. |
The UI-only subtotal is 142 masters before content-bound status glyphs: 6 + 14 + 40 + 32 + 18 + 12 + 8 + 12 = 142. All icons pass one-color, shape-only,
light-background, dark-background, and 130-percent-text-neighbor tests. Text,
numbers, bars, timers, ordering numbers, and comparison deltas remain
engine-rendered and localizable.
Each of the 142 UI masters retains its source record, validated export, import
binding, UX.SCREEN.* state binding, and high-contrast evidence. Icon and
cursor masters export at 24, 32, and 48 logical pixels; these scale derivatives
are not new visual identities.
11. Animation Architecture
11.1 Common Recruit Motion Slots
Each of 8 body frames supplies these 16 motion slots. Profession kits replace hand, tool, outer garment, and timing keys where Section 5 requires.
| Slot | Timing contract | Event and final state | Reduced-motion form |
|---|---|---|---|
idle_observe |
2.8-4.5 s loop | Quiet breathing; stable feet and tool. | Still final pose with occasional eye change. |
ready |
0.25-0.45 s | Center lowers when battle becomes authoritative. | Two-pose settle. |
enter |
0.5-0.9 s | Arrives at assigned order point. | Short crossfade into ready pose. |
reorder_step |
0.25-0.55 s per adjacent move | Feet cross one order marker and settle. | Direct pose swap with moving order token. |
advance |
0.35-0.7 s | Moves to action rail without changing stored order. | Start and end poses only. |
retreat |
0.35-0.7 s | Returns to stored order point. | End-pose snap after resolved event. |
basic_close |
0.55-0.95 s | Contact event at declared tool endpoint. | Anticipation and impact poses. |
basic_distance |
0.65-1.0 s | Release event at projectile_origin. |
Aim and release poses. |
channel |
0.8-1.4 s plus ticks | Stable effect_origin; explicit interrupt recovery. |
Start, tick marker, final pose. |
support |
0.6-1.1 s | Ally endpoint receives effect before actor recovers. | Gather and resolved poses. |
guard |
0.4-0.8 s | Protected relation visible through contact. | Closed guard final pose. |
hit_light |
0.2-0.4 s | Directional recoil; ground remains stable. | One offset pose plus contour. |
hit_heavy |
0.35-0.7 s | Lowered center and longer recovery. | Impact and recovery poses. |
forced_move |
0.35-0.75 s | Displacement and new legal position both visible. | Ghosted origin and final marker. |
casualty_hold |
transition plus hold | Tool lowers and state remains inspectable. | Still final pose. |
victory_settle |
1.2-2.4 s once | Restrained relief, then stable result pose. | Stable result pose only. |
Motion timing scales from SYSTEM.COMBAT.EVENT_SCHEMA. Presentation may
compress recovery and secondary in-betweens at higher battle speed, but never
removes forecast onset, authoritative event frame, target response, or resolved
final state.
11.2 Event Binding Record
Every animated action records:
source_actor, action_id, trigger_event, anticipation_start, commit_event,
target_snapshot, contact_or_release_event, repeated_tick_events, recovery_end,
interrupt_event, origin_anchor, endpoint_geometry, ground_pivot,
occlusion_policy, speed_variant, reduced_motion_final, low_power_variant
Animation is rejected if a visible contact occurs before the authoritative event, if a target reacts without a committed result, or if interruption leaves an effect or tool in the resolved final state.
11.3 Source-To-Runtime Animation States
| Actor family | Source package | Required runtime motion count |
|---|---|---|
| Recruit bodies | 8 body masters with separated parts | 128 common body states |
| Profession deviations | 42 kit masters | 84 auto-action deviations |
| Ordinary/elite enemies | 100 identity masters | 800 + 2 * E states |
| Bosses | 16 multi-part masters | 224 minimum states |
| State-bearing regional props | 40 prop families | 144 states: 16 shop/route props * 2 plus 16 battle props * 4 plus 8 boss mechanism sets * 6 |
The regional-prop total assumes one boss mechanism set per region with six states and is independent of boss actor motion. Frame counts are chosen after play-size key-pose review; extra in-betweens are not extra states.
12. Horizontal Party-Line Staging
12.1 Spatial Grammar
- Screen-left is the protected rear and
Lastendpoint; screen-right isFirst exposedand the party front. Rendering therefore reads left-to-right from rear to exposed front while logical exposure order starts at the rightmost marker and proceeds leftward. Enemy staging faces right-to-left toward that exposed front; any enemy ordering rule must come fromSYSTEM.COMBAT.EVENT_SCHEMArather than this catalog. - The two fronts face across a central action gap. The player's front marker, rear cap, insertion points, and order numbers stay visible during preparation and inspection.
- All deployed recruits remain on one continuous ground rail. A presentation offset of at most 8 logical pixels separates overlapping feet; it does not create another tactical row.
- Slot centers derive from
SYSTEM.PARTY.CAPACITY_PROFILEand the current viewport. The minimum gap is the largest value that keeps both fronts, the active target, and controls inside safe bounds. - When the deployed party grows, spacing compresses before actor scale. Actor scale may change only within the approved silhouette range and applies to the whole party, never to one supposedly less important recruit.
12.2 Depth And Occlusion
Draw order follows ground contact from rear to front, then applies explicit tool and effect layers. The following invariants hold in the busiest approved composition:
| Invariant | Limit |
|---|---|
| Recruit torso hidden by allies | <=35% |
| Recruit head contour hidden by allies | <=15% |
| Profession tool endpoint hidden | 0% during forecast and action |
| Target contour hidden by effects | <=10% of perimeter |
| Party-order marker hidden | 0% |
| Foreground environment over acting actor | 0% |
| Simultaneous high-salience allied actions | 2 maximum |
| Simultaneous high-salience enemy actions | 2 maximum |
If the simulation commits more actions at once, the presentation groups secondary results into low-salience impacts while preserving each causal event in inspection. It does not reorder simulation outcomes.
12.3 Action Rail
An acting recruit may step from its order point to a temporary action rail in
the central gap. The stored order marker remains behind, connected by a thin
paper-white tether. After resolution the recruit returns to the same marker
unless SYSTEM.COMBAT.EVENT_SCHEMA commits displacement or loss. Distance
actors may act in place; support endpoints remain inside the party line.
This device prevents action overlap while preserving the strategic order. It must pass at the largest simulated deployment target and with the widest boss silhouette.
12.4 Target, Damage, Healing, And Protection Read
| Event | Forecast shape | Resolution shape | Non-color proof |
|---|---|---|---|
| Single target | Pointed bracket around one ground contact | Inward contact wedge | One endpoint and one direction notch |
| Ordered range | Bracket spans consecutive order markers | Sequential contact ticks | Visible start and stop caps |
| Whole party | Open baseline beneath every party marker | One low outward wave | Repeated group notches |
| Damage | Toothed inward contour | Directional ink break and actor response | Jagged edge and hit direction |
| Healing | Open leaf contour | Upward fill and stable recovery pose | Split leaf endpoint |
| Protection | Closed double bracket | Intercept line, absorb plane, or break seam | Closed contour and relation line |
| Deterministic terminal outcome | No terminal cue before resolution; retain the action forecast | Per-recipient shape from the outcome map below | Outcome-specific contour and causal label, never a generic gap |
| Forced movement | Origin ghost plus destination bracket | Actor lands on destination marker | Arrow body with blocked variant |
| Knockout | Segmented condition frame | Still final contour and lowered tool before current-battle exit | Broken lower edge plus return marker, never a memorial or reward burst |
Terminal cues bind one-to-one to SYSTEM.COMBAT.EVENT_SCHEMA records. They do
not add an undeclared resolution check and do not reinterpret forecast
divergence as an action result.
| Outcome ID | Resolution shape | Required causal read |
|---|---|---|
AO_APPLIED |
Behavior-specific contact closes at the actual recipient with a filled endpoint. | Applied component and actual recipient; a moved-but-legal target keeps the same endpoint. |
AO_NO_CHANGE |
The contact reaches an intact contour and ends in a flat cap/current-state bar. | Legal recipient plus the cap or current-state reason for zero primary change. |
AO_INVALID_REACH |
A measured reach line breaks between origin and intended target. | Old/current depth and required reach remain inspectable. |
AO_INVALID_UNTARGETABLE |
An outward-facing exclusion notch opens in the intended target contour. | Declared exclusion rule and remaining duration, not actor motion alone. |
AO_INVALID_FALLEN |
The intended marker is left empty and linked to the earlier knockout seal. | Earlier knockout event caused invalidation; no substitute target is implied. The legacy code ID does not mean permanent loss. |
AO_INVALID_FILTER |
A candidate-filter frame closes outside the intended target. | Exact side, state, or tag filter that no longer permits the target. |
AO_INTERCEPTED |
The intended path branches to the interceptor; the intended endpoint stays hollow. | Interceptor and routing/protection rule; the actual recipient receives its own component cue. |
AO_BLOCKED |
A square stop plane meets the component and loses one charge notch when applicable. | Named blocker actor/rule and committed charge or delta. |
AO_IMMUNE |
A closed seal forms around the rejected component glyph at the actual recipient. | Immunity tag and source; no resistance roll is implied. |
AO_RESISTED |
The status glyph reaches the target boundary and stops against a crosshatched threshold line. | Stored status roll, threshold, Potency, and Tenacity. |
AO_FIZZLED |
Source geometry folds inward before any recipient endpoint forms. | Invalid cause, failed retarget or empty ground result, and declared refund. |
AO_INTERRUPTED |
A crossbar cuts the source wind-up/channel and holds the interrupted actor pose. | Interrupter/rule and declared refund; no target defense is implied. |
Area and multi-component actions draw the terminal shape at each actual
recipient. APPLIED_ALL, APPLIED_PARTIAL, and APPLIED_NONE may appear only
after the per-recipient cues and never replace them or act as trigger IDs. For a
mixed area result, applied, immune, and no-change recipients therefore retain
three distinct endpoint shapes in the same resolved frame. When more than two
results resolve together, secondary endpoints become compact ground-contact
badges rather than disappearing; inspection preserves every causal label.
At 130 percent text, causal labels occupy the UX-defined text-safe band and do not cover faces, order markers, or endpoint shapes. Reduced-motion mode uses the resolved shape and final actor pose without path travel. Low-power mode keeps every endpoint badge and derived summary while removing only secondary particles and trails.
Floating values are engine-rendered and secondary. They occupy a dedicated vertical band above the target, merge repeated low-value ticks, and never cover faces, order markers, or forecast endpoints.
12.5 Battle-Speed Presentation
Every speed mode preserves four visual facts: forecast onset, committed action, affected target, and resolved state. Higher speed may remove idle holds, secondary arcs, trailing particles, and recovery in-betweens. It may not make a telegraph appear after impact or collapse distinct opposing causes into one unlabeled burst. Pause freezes actors and VFX at an inspectable frame while UI motion settles to its final state.
13. VFX Language And Count
13.1 Global Semantic Masters
| VFX family | Authored states | Count | Shape rule |
|---|---|---|---|
TARGET |
acquire, hold, release, invalid | 4 | Pointed brackets and explicit endpoint. |
THREAT |
forecast, imminent, resolve, cancel | 4 | Saw-edge clocking toward impact. |
DAMAGE |
light, heavy, critical, repeated | 4 | Directional ink fracture, never a radial reward burst. |
HEAL |
acquire, pulse, excess, blocked | 4 | Open leaf and upward fill. |
PROTECT |
gain, intercept, absorb, break | 4 | Closed double bracket and seam. |
DEFENSE_OUTCOME |
AO_INTERCEPTED, AO_BLOCKED, AO_IMMUNE, AO_RESISTED |
4 | Branched route, square stop, closed seal, or crosshatched status threshold. |
INTERRUPT |
windup, interrupt, stagger, recover | 4 | Crossing bars and halted motion line. |
MOVE |
step, forced, pull, blocked | 4 | Origin ghost, destination, and direction body. |
STATUS |
apply, stack, tick, expire, cleanse, resist | 6 | Container shape plus content-bound glyph. |
RESOURCE |
gain, spend, full, insufficient | 4 | Measured segment movement, not free particles. |
TIMING |
ready, cooling, accelerated, delayed | 4 | Radial tick with asymmetrical speed marks. |
TRAIT |
benefit, cost, trigger, blocked | 4 | Compound emblem retains polarity notch. |
EQUIPMENT |
equip, trigger, charge, exhaust | 4 | Object silhouette remains at the origin. |
ARTIFACT |
awaken, modify, conflict, expire | 4 | Rule seal opens, intersects, or closes. |
KNOCKOUT |
danger, hold, current-battle exit, next-stage return | 4 | Segmented lower contour and return marker, no celebratory or memorial shape. |
REWARD |
reveal, select, claim, duplicate-blocked | 4 | Quiet radial seal with object centered. |
SAVE |
saving, saved, recovered, conflict | 4 | Compact UI-only folded-paper mark. |
| Total | 70 semantic state masters |
Each master includes normal, reduced-flash, reduced-motion, and low-power instructions. These are state definitions; compatible families may share brushes, particles, masks, and line shaders without sharing semantic shapes.
13.2 Identity-Bound Effect Briefs
| Binding family | Exact bundles | States required per bundle | Exact binding-state count |
|---|---|---|---|
| Profession signature geometry | 42 | anticipation, active, resolve, reduced final | 168 |
| Trait trigger | 36 | benefit and cost | 72 |
| Enemy signature mechanic | 100 | forecast, resolve, cancel | 300 |
| Boss forecast geometry | 48 | forecast, imminent, resolve, cancel, reduced final | 240 |
| Equipment behavior-read key | 320 | earliest-decision and causal-result | 640 |
| Artifact trigger seal | 60 | dormant, trigger, modified, conflict | 240 |
| Total | 606 bundles | 1,660 binding states |
Binding states may point to a global semantic master plus authored geometry. They are still separate manifest rows because they prove that every content identity has a readable cause and endpoint.
13.3 Density, Flash, And Layer Rules
- Only the current forecast, current impact, and one persistent state effect may occupy the highest salience tier at once.
- Secondary impacts use shorter contours and no camera motion. Ambient region particles immediately yield behind a forecast.
- No full-screen white flash, alternating full-screen value pulse, rapid color inversion, or effect that hides faces and order markers is permitted.
- Standard mode uses at most one strong luminance rise per committed action. Reduced-flash mode replaces it with contour thickness and a held endpoint.
- Trails end at the authoritative endpoint and clear before another actor uses the same space. Persistent effects move to compact ground or status markers.
- Blend mode, edge color, alpha falloff, pivot, event time, lifetime, pool cap, and interruption cleanup are specified in every effect manifest.
14. Accessibility, Reduced Motion, And Low Power
14.1 Required Variant Matrix
| Feature | Standard | Reduced motion | Reduced flash | Low power |
|---|---|---|---|---|
| Recruit idle | Full restrained loop | Held pose plus rare eye change | Same as selected motion mode | Held pose |
| Reorder | Physical adjacent step | Direct pose swap plus moving order token | No change | Two-pose step |
| Auto-action | Full anticipation/action/recovery | Anticipation and resolved poses | Contour impact, no luminance spike | Fewer in-betweens and no secondary trail |
| Forced movement | Actor travel plus origin ghost | Origin ghost and destination pose | No flash on landing | Linear travel only |
| Boss phase | Body mass shift, material state, bounded effect | Indexed before/after poses | Held outline change | No ambient debris or camera motion |
| Region atmosphere | Layered loops | Static directional final states | No lightning-like pulses | One near layer at reduced density |
| UI transition | Short position/fade motion | Immediate state swap or short dissolve | No bright wipe | Immediate state swap |
| Reward | Object reveal and quiet radial seal | Object present plus seal final state | Shape expansion only | Object and static seal |
Reduced motion, reduced flash, and low power are independent toggles. Any combination must produce a valid final state. Muting audio never removes visual timing or cause. High contrast preserves region identity while adding paper-white and charcoal separation contours around actors, targets, and controls.
14.2 Color And Text Independence
- Every semantic color has a unique contour, endpoint, or fill direction.
- Pattern density remains visible under common color-vision simulations and in grayscale.
- Icons do not bake text, letters, numbers, or direction words.
- At 130 percent text, art yields within the UX-defined text-safe region rather than shrinking labels or covering portraits.
- Focus and selection use both a contour and a stable marker; hover is never required to understand state.
14.3 Low-Power Budget
Low power removes background parallax, secondary cloth and hair loops, nonessential trails, ambient spawn bursts, and more than one atmosphere layer. It keeps all forecasts, action events, target responses, casualty states, reward claims, order changes, and save states. Particle population targets 30 percent of standard; actor and effect key poses remain unchanged.
15. Source-To-Runtime Production Plan
15.1 Family Tracking Requirements
| Family | Brief/source ledger rows | Required export or runtime bindings |
|---|---|---|
| Recruit modules | 114 masters | 374 authored state cells plus the exhaustive recruit-record crosswalk in Section 4.2 |
| Profession kits | 42 packages | 42 silhouettes, 42 tool sets, 126 device states, 84 action deviations, and 42 effect briefs |
| Trait presentation | 36 packages | 36 emblems, 72 polarity states, and 36 trigger badges |
| Equipment | 320 packages | 960 mandatory manifestations plus W + S content-resolved attachments |
| Artifacts | 60 packages | 180 runtime manifestations |
| Regions | 8 art keys | 224 region-bound visual families |
| Ordinary/elite enemies | 100 packages | 100 rigs, portraits, glyphs, and effect bundles plus 800 + 2 * E motion states |
| Bosses | 16 packages | 16 rigs, plates, and emblems plus 224 motion states and 48 forecast bundles |
| UI-only art | 142 masters | 142 screen-state families plus declared scale derivatives |
| Global VFX | 70 semantic state masters | 1,660 identity-bound states across 606 manifest bundles |
Every row advances independently through the lifecycle in Section 1.4. A family total cannot mark missing identity rows as complete, and a scale, palette, difficulty, frame, or accessibility variant cannot fill an identity binding.
15.2 Representative Visual Slice
Bulk production remains frozen until one content-bound slice proves the system:
BINDING.SLICE.REGION
BINDING.SLICE.BASE_PROFESSION
BINDING.SLICE.ADVANCED_PROFESSION
BINDING.SLICE.TRAIT
BINDING.SLICE.EQUIPMENT
BINDING.SLICE.ORDINARY_ENEMY
BINDING.SLICE.ELITE_ENEMY
BINDING.SLICE.BOSS
BINDING.SLICE.ARTIFACT
The slice uses generated recipes for at least four recruits across at least three body frames, four hair shapes, the two profession kits, distinct equipment manifestations, and one visible trait trigger. It shows preparation, reorder, battle opening, forecast, automatic action, pressure, casualty or recovery, reward, and persistent result at the UX-defined minimum, reference, and maximum landscape viewports.
The fixed focal order is:
- current acting or threatened actor and target relation;
- party front-to-rear order and protection exposure;
- the profession, equipment, trait, enemy, boss, or artifact cause.
A normal-render interaction recording is required before any runtime gate can pass. Static concepts and isolated sprite sheets cannot prove staging, motion, occlusion, timing, or accessibility.
15.3 Batch Order
- Resolve all content, system, and UX bindings and reject mismatched visual kits before media requests.
- Graybox the representative region, longest approved party, widest boss, UI safe areas, action rail, and all feedback geometry.
- Approve one body frame, two contrasting face shapes, two hair shapes, one base kit, one advanced kit, and their full anchor masks.
- Produce only the representative enemy, boss, equipment, trait, artifact, region, UI, animation, and VFX sources needed by the slice.
- Import, integrate, capture, and review normal, busy, pressure, result, high-contrast, 130-percent-text, reduced-motion, reduced-flash, and low-power states.
- Repair the earliest failed boundary before expanding a library.
- Scale by compatible body, profession, region, enemy, item, and effect batches only after source-to-runtime traceability and play-size readability pass.
- Produce platform and store visuals only from accepted runtime states under a later owner-approved Goal.
15.4 Human Review Boundaries
Design review can approve countability and coherence. It cannot approve final drawing quality, animation feel, runtime focal hierarchy, device performance, localization fit, photosensitivity comfort, or release presentation. Those gates remain open until named evidence exists at the corresponding lifecycle state.
16. Quantitative Coverage Audit
| Frozen family | Gameplay count | Production coverage in this catalog |
|---|---|---|
| Generated recruit system | unbounded recipes | 114 modular masters, 374 authored state cells, exhaustive content-to-art crosswalk, deterministic recipe and validation rules |
| Base professions | 12 | 12 row-specific kits |
| Advanced professions | 24 | 24 row-specific kits, exactly two per base |
| Hidden hybrid professions | 6 | 6 row-specific kits with exact content-owned parent pairs and production bindings |
| All professions | 42 | 42 packages, 42 emblems, 42 silhouettes, 42 tool sets, 126 device states, 84 action deviations, 42 effect briefs |
| Traits | 36 | 36 compound emblems, 72 polarity states, 36 trigger badges |
| Equipment | 320 | 320 source sheets, 320 objects, 320 compact silhouettes, 320 behavior-read keys, plus content-bound attachments |
| Artifacts | 60 | 60 source sheets, 60 objects, 60 compact emblems, 60 trigger seals |
| Ordinary/elite enemies | 100 | 100 packages, 800 core motion states plus 2 * E, 100 mechanic effect bundles |
| Bosses | 16 | 16 packages, 224 minimum motion states, 48 forecast bundles |
| All hostile identities | 116 | 116 identity packages with region and mechanic bindings |
| Regions | 8 | 8 keys, 40 layered environments, 144 prop families, 32 atmosphere overlays, 8 emblems |
| UI-only art | n/a | 142 masters plus explicitly bound content icons |
| Global VFX | n/a | 70 semantic state masters |
| Identity-bound VFX | 606 bundles | 1,660 binding states |
Counts prove planned coverage only. They do not prove content distinctness, asset quality, integration, runtime readability, performance, or fun.
17. Design Acceptance And Open Gates
17.1 Candidate Checklist
- Modular body, face, hair, garment, detail, profession, palette, and equipment composition is content-bound and production-countable.
- All 42 profession bindings have distinct silhouettes, equipment anchors, material limits, and animation needs.
- All 36 traits, 320 equipment items, and 60 artifacts have exact visual packages and causal presentation bindings.
- Eight region families, 100 ordinary/elite enemies, and 16 bosses have exact packages, source states, motion coverage, and integration formulas.
- The single horizontal party-line composition defines staging, action space, overlap limits, target/damage/heal/protection feedback, and busy state salience.
- Reduced motion, reduced flash, high contrast, large-text adjacency, mute, and low-power behavior are specified.
- The catalog creates specifications only and contains no final media or third-party commercial assets.
17.2 Gates That Remain Open
- Content, system, and UX bindings are resolved after workstream merge.
- Representative graybox proves the longest approved party and widest boss at all target landscape viewports.
- Representative source art passes identity, anatomy, line, palette, material, anchor, and occlusion review.
- Animation and VFX pass normal-render timing, causal-event, interruption, speed, reduced-mode, and fatigue review.
- Named human and target-device reviews accept the integrated presentation.
- Owner separately authorizes bulk media production and release work.
Failure at any open gate returns to the earliest affected source, composition, motion, effect, or integration boundary. No downstream evidence state may be claimed early.
Aetherbound Guild: Audio, Music, And Voice Catalog
Revision:
audio-direction-v2-r4Authority: music, ambience, SFX, voice, mix, caption, accessibility, audio lifecycle, production count, and audio acceptance rules.
Product basis:
01_GAME_DESIGN.mdand04_ART_ANIMATION_AUDIO.md.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 | 05_CONTENT_CATALOG.md, Stable ID Namespaces: RG-01..RG-08 |
attach the eight regional audio packages in stable-ID order |
| Region display names | 05_CONTENT_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 | 05_CONTENT_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 | 05_CONTENT_CATALOG.md, Stable ID Namespaces: PF-B01..PF-B12, PF-A01..PF-A24, PF-H01..PF-H06 |
instantiate 42 profession signature pairs |
| Trait IDs | 05_CONTENT_CATALOG.md, Stable ID Namespaces: TR-001..TR-036 |
complete 36 benefit/cost audio mappings |
| Equipment IDs | 05_CONTENT_CATALOG.md, Stable ID Namespaces: EQ-001..EQ-320 |
complete 320 equipment audio mappings |
| Artifact IDs | 05_CONTENT_CATALOG.md, Stable ID Namespaces: AR-001..AR-060 |
instantiate 60 artifact rule signatures |
| Enemy IDs | 05_CONTENT_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 | 05_CONTENT_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 | 02_GAMEPLAY_AND_BALANCE.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 | 02_GAMEPLAY_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 | 02_GAMEPLAY_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 | 02_GAMEPLAY_AND_BALANCE.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 | 01_GAME_DESIGN.md, Commercial And Platform Boundary and Localization Rules; 03_PAGES_AND_UX.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 | 02_GAMEPLAY_AND_BALANCE.md, Battle Interruption And Deterministic Resume; 03_PAGES_AND_UX.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 | 03_PAGES_AND_UX.md, Audio-Independent And Visual Accessibility; 03_PAGES_AND_UX.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 | 03_PAGES_AND_UX.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; 01_GAME_DESIGN.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 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 dismissal, save conflict, data reset | 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 02_GAMEPLAY_AND_BALANCE.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 Knockout, 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 recruit_knockout_confirmed
SFX-RES-006 stage_absence_open
SFX-RES-007 recruit_stage_return
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
recruit_knockout_confirmed is P1, plays once after the battle-local knockout
is committed, and uses no reward sparkle, comic fall or memorial 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
OUT-006 Contract Withdrawal Transaction
Contract withdrawal is a voluntary expedition-close transaction, not Recruit dismissal, knockout, forced Contract 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 |
Withdrawal cancelled; Contract 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 recruit_knockout_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
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 knocked out; returns next stage][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 |
| knockout and stage return | consequence handoff/result ambience | knockout and return events | knockout caption is mandatory; optional announcer once | committed current-battle exit differs from danger and next-stage return |
| 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 |
| voluntary Contract withdrawal | current safe-state bed continues through review; Guild 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 | withdrawal remains distinct from Recruit dismissal, knockout, forced Contract 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 |
| 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.