diff --git a/docs/presentation/ART_ASSET_AND_ANIMATION_CATALOG.md b/docs/presentation/ART_ASSET_AND_ANIMATION_CATALOG.md index c75ef822..eabaa6ae 100644 --- a/docs/presentation/ART_ASSET_AND_ANIMATION_CATALOG.md +++ b/docs/presentation/ART_ASSET_AND_ANIMATION_CATALOG.md @@ -1,493 +1,1047 @@ # Aetherbound Guild: Art Asset And Animation Catalog -> Authority: complete visual production inventory, stable asset families, -> animation contracts, scene layers, budgets, and production order. +> 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. > -> Companions: [SCREEN_AND_STATE_MAP.md](SCREEN_AND_STATE_MAP.md) and -> [UI_AND_VISUAL_SYSTEM.md](UI_AND_VISUAL_SYSTEM.md). +> Frozen source: `.agent-taskgraph/spec.md` revision `design-spec-r3`. > -> Current status: specification only. No row below is final, integrated, -> runtime-seen, human-reviewed, device-verified, or release-accepted. +> Current gate: design candidate only. Nothing in this catalog is generated, +> imported, runtime-seen, human-reviewed, device-verified, or release-accepted. -## 1. Production Model +## 1. Visual Production Contract -The final art style is clean 2D Japanese hand-drawn fantasy: readable cel-like -characters, painted environments, ink texture used selectively, and layered -cutout/key-pose animation where it preserves identity. Text, numeric values, -focus, state labels, progress, and localization remain engine-rendered. +### 1.1 Identity Statement -The production unit is not a raw AI image. Every asset follows: +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. -`brief -> references -> source -> cleanup -> separated layers -> rig/atlas -> -import -> gameplay integration -> runtime capture -> agent review -> owner -review -> device review -> release acceptance` +The art must communicate, in this order: -AI generation may establish concepts and compatible source candidates. Final -runtime assets require controlled line, anatomy, perspective, edge, palette, -layer, pivot, and animation cleanup. Character identity and motion are locked -before scale production. Full-screen concept art is never substituted for an -editable battle stage. +1. who is exposed at the front and who is protected farther back; +2. which actor will act, whom the action will affect, and when it will resolve; +3. which profession, equipment, trait, or artifact caused the result; +4. whether the company can recover, must replace a recruit, or can improve its + next plan. -## 2. Global File And ID Rules +Decorative detail never outranks those reads. Generated recruits are visual +recipes, not authored lead characters, and no recipe receives unique narrative +illustration obligations. -| Family | Stable ID pattern | Runtime form | +### 1.2 Visual Pillars + +| Pillar | Production rule | Rejection signal | |---|---|---| -| Character identity | `ART-CHR-001..030` | layered body rig, portrait atlas, hub and battle manifestations | -| Profession kit | `ART-PR-B01..B12`, `ART-PR-A01..A24` | equipment overlays, resource device, skill poses, VFX references | -| Enemy identity | `ART-EN-O001..O056`, `E001..E024`, `S001..S012`, `B001..B008` | layered rig/atlas, bestiary illustration, telegraph set | -| Item | `ART-IT-001..320` | transparent object, optional wearable layer, behavior FX key | -| Environment | `ART-ENV-CH01..CH08-*` | opaque layered plates plus separate props and state overlays | -| UI | `ART-UI-*` | nine-slice material, icon, marker, mechanism, illustrative support | -| VFX | `ART-VFX-*` | transparent frame atlas, mesh/line definition, reduced-mode final state | -| Narrative | `ART-NAR-CHxx-*`, `ART-NAR-CHRxxx-*` | layered dialogue tableau or illustrated beat | -| Platform | `ART-PLATFORM-*` | opaque app/store assets derived from accepted runtime identity | +| Assembled individuality | Body, face, hair, underlayer, 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. | -Every manifest row stores source license/provenance, creator/provider and task -ID where applicable, prompt/reference ownership, source hash, dimensions, -alpha, layer names, pivot, native play scale, animation event, accepted/rejected -state, runtime binding, and review evidence. +### 1.3 Mood And Lighting -## 3. Scale And Texture Budgets +| 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. | +| Permanent loss | Motion and saturation withdraw from the affected recruit while the rest of the battlefield remains inspectable. | +| 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. | -| Asset | Working canvas | Runtime target | Notes | -|---|---:|---:|---| -| Character portrait | 1536x1536 source | 384-768 atlas region | head/shoulders, six expression states | -| Character full body | 1536x2048 source | 512-1024 rig envelope | no crop, stable ground and hand anchors | -| Battle actor | same identity layers | 150-230 px reference height | mipmapped/filtered clean 2D; verify silhouette at 1280x720 | -| Ordinary enemy | 1024-1536 square source | 120-240 px play height | larger only when mechanic needs silhouette | -| Boss | 2048-3072 source envelope | 280-520 px play height | multi-layer, may span lanes but cannot hide telegraphs | -| Item | 1024 square source | 96/192/384 variants | transparent, normalized perceived size | -| UI icon | vector master | 24/32/48 logical | engine tint only for semantic state, not identity | -| Environment plate | 2560x1440 source | 1920x1080 reference | separate layers; no actor, UI, tall runtime prop baked in | -| Narrative tableau | 2560x1440 source | 1920x1080 reference | characters and foreground separable for localization/crop | +### 1.4 Production And Evidence States -No single mobile texture exceeds the selected device tier's validated limit. -Large environment sources are packed into bounded plates or streamed layers. -Atlas pages target 2048 and may use 4096 only after memory/runtime proof. Alpha -is reserved for independent objects; full-screen background plates are opaque. +Every asset follows this non-skippable sequence: -## 4. Character Identity Package: 30 +`brief -> source -> cleaned_master -> separated -> export_validated -> imported -> integrated -> runtime_seen -> agent_visual_reviewed -> human_reviewed -> device_verified -> release_accepted` -Each named adventurer receives one identity package. Character details in the -Character Bible are binding; the package cannot normalize age, body, mobility -aid, skin, face, or garment distinctions into a generic class body. +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. -### 4.1 Required Static Assets Per Character +## 2. Authority, Bindings, And IDs -| Asset | Count per character | Total | Contract | -|---|---:|---:|---| -| Turnaround/reference sheet | 1 | 30 | front 3/4, side, rear, height, hand/face, palette, material notes | -| Portrait expression atlas | 6 | 180 cells | neutral, resolve, concern, pain, relief, relationship-specific warmth | -| Full-body planning pose | 1 | 30 | canonical identity, profession-neutral foundation, equipment sockets visible | -| Recruitment tableau | 1 | 30 | character in their work context; may share chapter environment layers | -| Arc-completion portrait overlay | 1 | 30 | meaningful posture/garment/object change, not glow/recolor | -| Ending vignette pose | 1 | 30 | reusable character layer composed into ending outcome panels | +### 2.1 Content Integration Bindings -The portrait atlas remains identity-locked. Dialogue may combine expression, -eye direction, and mouth phoneme overlays; it may not regenerate a new face per -line. +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. -### 4.2 Common Rig Layers Per Character +| 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 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 slot, 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}-nnn` | 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`, `DETAIL`, `UNDER`, and `ACC`. + +### 2.3 Manifest Record + +Every source and export record stores: ```text -rear equipment / rear cloth -rear hair -torso base and identity garment -front/rear upper arm and forearm -front/rear hand with weapon/device sockets -hips and legs -feet -neck/head -front hair and face features -expression/eye/mouth overlays -profession mantle/insignia -front equipment -condition overlays +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 ``` -Mobility aids, braces, coats, capes, long hair, tails/ribbons, tools, and -asymmetric garments receive their own layers when motion or silhouette depends -on them. Layer reduction is allowed only when the resulting action set proves -no pivot or occlusion conflict. +Accepted and rejected candidates remain traceable. Regeneration never replaces +the provenance of an earlier candidate. -### 4.3 Common Motion States Per Character +## 3. Global Drawing, Shape, Color, And Material Rules -| State | Loop / duration | Purpose and final pose | +### 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 | |---|---|---| -| `idle_ready` | 2.4-4.2 s loop | profession-ready stance; subtle breathing and identity-specific check | -| `idle_pressure` | 1.4-2.4 s loop | greatest-risk/low vitality stance, never random panic | -| `move_band_forward` | 0.45-0.8 s | one band shift; feet and equipment settle at shared ground pivot | -| `move_band_back` | 0.45-0.8 s | distinct retreat/backstep, not reversed forward frames | -| `forced_move` | 0.35-0.65 s | readable loss of control and landing recovery | -| `basic_melee` | 0.6-1.0 s | common close action template, profession weapon controls contact | -| `basic_ranged` | 0.7-1.1 s | release event and projectile socket | -| `basic_channel` | 0.8-1.4 s | cast origin, sustained state, recovery | -| `guard_or_intercept` | 0.45-0.9 s | front protection relation becomes visible | -| `hit_light` | 0.25-0.45 s | direction-aware response without leaving lane | -| `hit_heavy` | 0.45-0.75 s | near-Downed response with protected recovery | -| `downed` | authored transition + hold | safe readable final pose, no corpse language | -| `rescued` | 0.9-1.4 s | return to legal slot at 25% HP, invulnerability cue follows state | -| `victory_relief` | 1.6-3.0 s | identity-specific, restrained; does not loop in menus | -| `defeat_recovery` | 1.6-3.0 s | communicates retained person and diagnosis readiness | +| 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. | -The 15-state list defines required behavior coverage, not a promise that every -character uses identical frame timing. Each character must pass silhouette, -ground, hand-socket, garment, face, and equipment-occlusion checks in every +### 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 underlayer 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 + +One recruit stores the following visual recipe: + +```text +body_foundation + face_structure + skin_palette + hair_family + hair_palette ++ 0..2 face_details + underlayer + 0..1 neutral_accessory ++ profession_kit + equipment_attachments + condition_state +``` + +The seed resolves IDs and palette indices, never pixels. The same recipe builds +shop portrait, inspection portrait, party-line actor, result portrait, and +collection silhouette. Portrait and battle exports may use different detail +levels but cannot alter age read, face geometry, hair contour, body foundation, +skin palette, or identifying detail placement. + +### 4.2 Modular Source Inventory + +| Library | Exact masters | Runtime states per master | Total state cells | Notes | +|---|---:|---:|---:|---| +| Body foundations | 12 | 16 common motion slots | 192 | Four proportion families across three height bands; every profession kit must fit every body. | +| Face structures | 24 | 6 expression assemblies | 144 | Neutral, assess, focus, strain, relief, and loss-record. | +| Hair families | 48 | 3 assemblies | 144 | Portrait, battle-front, and battle-rear layers with headwear masks. | +| Face detail sets | 36 | 1 | 36 | Brows, freckles, scars, makeup, facial hair, eyewear, and age marks; none implies stats. | +| Underlayers | 24 | 2 | 48 | Portrait and battle assembly; profession-neutral neck, torso, glove, and boot bases. | +| Neutral accessories | 18 | 2 | 36 | Portrait and battle assembly; never uses profession or trait semantic shapes. | +| Skin ramps | 12 | palette data | 12 | Individually reviewed highlight, midtone, shadow, lip, and palm values. | +| Hair ramps | 18 | palette data | 18 | Natural and fantasy ranges with value separation from outlines and headgear. | +| Underlayer ramps | 16 | palette data | 16 | Multi-hue cloth and leather ranges; no rarity semantics. | +| **Total** | **208 masters** | | **646 authored state cells** | Palette data counts as masters, not texture duplicates. | + +Body foundations include compact, balanced, broad, and long-limbed proportion +families. Height changes ground-to-head distance but never scales the head, +hands, or equipment uniformly. Production may add seated or assisted movement +only after its full anchor and motion package is approved; it may not be faked +by shrinking or hiding a standing rig. + +### 4.3 Standard Attachment Point Map + +Every body and profession kit declares these named attachment points: + +```text +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.4 Layer And Occlusion Order + +```text +rear VFX +rear profession mass / back equipment +rear hair / rear accessory +rear arm and rear hand item +body foundation / underlayer +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.5 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 12 body foundations and all 48 hair families pass all 42 profession + headwear, hand, back, and shoulder masks 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. +- Duplicate recipes are prevented by a normalized signature over body, face, + hair, details, underlayer, and palette. Matching profession and equipment are + not sufficient to declare a duplicate. +- 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.6 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. | +| Recoverable casualty | Eyes and tool lower; no gore | `casualty_hold` preserves ground and silhouette | Result view retains recipe and recovery state. | +| Permanent loss | Loss-record expression is stamped into history entry | `loss_resolve` ends in a still readable final contour before exit | Result and history use the same recipe; no celebratory dissolve. | +| 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 underlayer 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 + +The content authority resolves each hybrid's two prerequisites. Art merges one +shape verb from each parent but uses a new focal mass, so the result never reads +as two complete costumes stacked together. + +| Art ID / binding | Parent binding | Silhouette thesis | Equipment anchors | Material and accent limit | Animation needs | +|---|---|---|---|---|---| +| `ART-PRO-H01` / `CONTENT.PROFESSION.HIDDEN[01]` | `CONTENT.PROFESSION.HIDDEN[01].parents` | Half guard shell opens into a forked ritual staff above the head. | `hand_secondary`, `hand_primary`, `effect_origin` | Dark iron + paper; teal/violet accent total <=18%. | `BRACE`, `CHANNEL` | +| `ART-PRO-H02` / `CONTENT.PROFESSION.HIDDEN[02]` | `CONTENT.PROFESSION.HIDDEN[02].parents` | Bow arc crosses a rear vial wing while the front hand remains clear. | both hands, `back_high`, `projectile_origin` | Layered wood + glass; verdant/coral total <=18%. | `RELEASE`, `DEPLOY` | +| `ART-PRO-H03` / `CONTENT.PROFESSION.HIDDEN[03]` | `CONTENT.PROFESSION.HIDDEN[03].parents` | Lantern core hangs inside an open hammer frame. | both hands, `effect_origin`, `ground_front` | Forged steel + frosted glass; green light <=10%. | `HEAVY`, `PULSE` | +| `ART-PRO-H04` / `CONTENT.PROFESSION.HIDDEN[04]` | `CONTENT.PROFESSION.HIDDEN[04].parents` | Segmented cord draws a calligraphic loop around a rigid folio block. | both hands, `waist_left`, `effect_origin` | Black steel + paper; violet ink <=16%. | `SWEEP`, `CHANNEL` | +| `ART-PRO-H05` / `CONTENT.PROFESSION.HIDDEN[05]` | `CONTENT.PROFESSION.HIDDEN[05].parents` | Arm guards frame a narrow split standard without hiding the head. | both hands, `back_high`, `effect_origin` | Lacquered leather + cloth; coral/gold total <=18%. | `INTERCEPT`, `RALLY` | +| `ART-PRO-H06` / `CONTENT.PROFESSION.HIDDEN[06]` | `CONTENT.PROFESSION.HIDDEN[06].parents` | Long thrusting tool is balanced by offset round plates on the rear shoulder. | both hands, `shoulder_left`, `projectile_origin` | Brushed steel + patinated bronze; teal <=15%. | `THRUST`, `BRACE` | + +### 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 12 body foundations 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, underlayer, and + palette; 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: + +```text +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 + +The names below are internal art keys. Integration maps each once to +`CONTENT.REGION[01..08]`; they are not product-facing region names. + +| Art ID | Shape and spatial grammar | Material limit | Palette and light | Motion and occlusion rule | +|---|---|---|---|---| +| `ART-REG-01` | Layered wind-cut shelves and narrow vertical markers. | Pale stone, weathered timber, woven cloth. | Green sky bounce, coral sun edges, blue distance. | Cloth and grass move in three timed groups; reduced mode holds one bent final pose. | +| `ART-REG-02` | Overlapping leaf fans and suspended root bridges with open actor windows. | Dark bark, broad leaves, glazed seed pods. | Verdant mids, violet shadow, gold spores. | Canopy motion never crosses forecast endpoints; foreground leaves fade early. | +| `ART-REG-03` | Faceted salt flats and low mirrored basins broken by hard diagonals. | Chalk crystal, dark mineral, tarnished metal. | Paper-white ground, teal reflection, coral horizon. | Reflection is static in low power; glare never sits behind bars or target lines. | +| `ART-REG-04` | Soft reed columns, round pools, and low woven walkways. | Reed, wet clay, oxidized copper. | Mineral teal, deep green, pink dusk. | Mist moves below knees only; tall reeds lower before an actor enters their bounds. | +| `ART-REG-05` | Stacked kiln terraces, heavy arches, and repeated square vents. | Fired brick, black iron, pale ash. | Coral heat, charcoal mass, cool blue smoke. | Heat shimmer is localized and disabled in reduced motion; ash avoids face silhouettes. | +| `ART-REG-06` | Long tidal curves, upright shell ribs, and broad open horizon. | Salt wood, shell, blue ceramic. | Teal water, gold sky, violet deep shadow. | Water bands use slow opposing loops; no screen-wide lateral drift in reduced mode. | +| `ART-REG-07` | Stepped snow shelves and dark needle clusters around clear ground rails. | Snow crust, dark stone, resinous wood. | Blue-white light, green-black trees, coral cloth accents. | Snowfall density drops behind actors; low power keeps only near-ground drift. | +| `ART-REG-08` | Broken observatory rings and deep void shapes held by thin bridges. | Dark stone, pale brass, luminous glass. | Violet depth, paper-white stars, verdant instrument light. | Ring movement pauses during forecasts; reduced mode swaps rotation for indexed final states. | + +The content merge may reorder these keys to fit region mechanics. It may not +reuse one key for two regions or resolve a mismatch 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 12 body foundations 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: + +```text +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 | 12 body masters with separated parts | 192 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 + +- The player party reads left-to-right from protected rear to exposed front. + Enemy staging faces right-to-left toward the party front; any enemy ordering + rule must come from `SYSTEM.COMBAT.EVENT_SCHEMA` rather 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_PROFILE` and 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 | +| Miss or evade | Forecast separates from actor | Broken endpoint and preserved pose | Dashed gap, no impact contact | +| Forced movement | Origin ghost plus destination bracket | Actor lands on destination marker | Arrow body with blocked variant | +| Permanent loss | Segmented condition frame | Still final contour, lowered tool, history seal | Broken lower edge, never a reward burst | + +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. | +| `AVOID` | miss, dodge, immune, resist | 4 | Broken endpoint with a preserved body contour. | +| `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. | +| `CASUALTY` | danger, hold, permanent loss, replacement | 4 | Segmented lower contour, no celebratory 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 | 208 masters | 646 authored state cells plus deterministic recipe bindings | +| 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: + +```text +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 foundations, four hair families, 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: + +1. current acting or threatened actor and target relation; +2. party front-to-rear order and protection exposure; +3. 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 + +1. Resolve all content, system, and UX bindings and reject mismatched visual + kits before media requests. +2. Graybox the representative region, longest approved party, widest boss, UI + safe areas, action rail, and all feedback geometry. +3. Approve one body foundation, two contrasting face structures, two hair + families, one base kit, one advanced kit, and their full anchor masks. +4. Produce only the representative enemy, boss, equipment, trait, artifact, + region, UI, animation, and VFX sources needed by the slice. +5. Import, integrate, capture, and review normal, busy, pressure, result, + high-contrast, 130-percent-text, reduced-motion, reduced-flash, and low-power + states. +6. Repair the earliest failed boundary before expanding a library. +7. Scale by compatible body, profession, region, enemy, item, and effect + batches only after source-to-runtime traceability and play-size readability + pass. +8. 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. -## 5. Profession Visual Kits: 36 +## 16. Quantitative Coverage Audit -Profession kits prevent the impossible `30 characters x 36 full redraws` while -preserving visible build change. A character rig owns identity and body motion; -a profession kit owns silhouette additions, tools, resource device, signature -pose overlays, and skill VFX. - -### 5.1 Kit Contents - -| Deliverable | Per profession | Total | -|---|---:|---:| -| Profession emblem | 1 | 36 | -| Primary tool/weapon set | 1 | 36 | -| Mantle/insignia silhouette layer | 1 | 36 | -| Resource device with empty/low/full states | 3 | 108 states | -| Two active-skill action contracts | 2 | 72 | -| Passive trigger marker | 1 | 36 | -| Unlock/mastery tableau element | 1 | 36 | -| Advanced-branch transformation pose | base 0 / advanced 1 | 24 | - -Each active skill contract specifies anticipation, actor pose, hand/tool anchor, -target/ground geometry, impact frame, separate VFX, recovery, event tick, sound -event, reduced-motion final state, and fallback if an overlay is unavailable. -The 72 active skills have unique readable actions or effect geometry; they do -not share one generic cast in different colors. - -### 5.2 Body Motion Template Families - -Six body templates cover compatible mechanics without erasing identity: - -1. `brace`: block, intercept, anchor, protective link; -2. `strike`: close weapon, tool impact, displacement; -3. `release`: projectile, thrown marker, signal shot; -4. `inscribe`: spell, clause, research, cadence action; -5. `deploy`: device, path, decoy, standing field; -6. `command`: multi-ally order, target policy, timing intervention. - -Every skill chooses one template plus authored deviations. Boss counters and -capstone skills require a unique high-value action pass when the template -cannot communicate the mechanic. - -## 6. Enemy Identity Package: 100 - -All enemies require a distinct mechanic silhouette, not only a distinct name. -The bestiary art and battle sprite share the same identity sheet. - -| Tier | Count | Required motion states per identity | Additional presentation | -|---|---:|---:|---| -| Ordinary `EN-O` | 56 | idle, move/shift, basic, signature mechanic, hit, Break, defeat = 7 | portrait crop, one telegraph family, drop pose | -| Elite `EN-E` | 24 | ordinary seven + secondary mechanic + enraged/pressure = 9 | elite entrance, two telegraph families, variant overlay | -| Sub-boss `EN-S` | 12 | elite nine + intro + phase/condition shift + authored defeat = 12 | full bestiary plate, stage prop interaction, phase marker | -| Boss `EN-B` | 8 | 14-20 named states per phase plan | full turnaround, multi-layer rig, intro, phase transition, Break, defeat, restoration relationship | - -Minimum authored state count is `56*7 + 24*9 + 12*12 = 752` non-boss motion -states plus eight boss-specific plans. Frame counts are set after motion -blockout; a state is not made smoother by adding redundant in-betweens. - -Every enemy package also includes: - -- neutral and researched bestiary presentation; -- next-action icon and lane/target forecast shape; -- first readable counter clue and mastered counter record; -- stability/Break contour anchors; -- target, Mark, Hush, Anchored, Drift, and immunity-compatible overlays; -- chapter lighting and high-contrast validation; -- reduced-motion phase and telegraph final states; -- SFX event list linked to mechanical actions. - -Bosses remain legible beside six allies and supporting enemies. A boss may -occupy multiple bands visually, but hit targets, lane influence, and telegraphs -remain attached to explicit logical anchors. - -## 7. Equipment And Item Art: 320 - -Every `IT` row receives one transparent object illustration. The production -counts match the authored catalog exactly: - -| Category | Count | Inventory art | Visible character attachment | -|---|---:|---:|---| -| Mainhand | 30 | 30 | hand socket and back/stow state | -| Offhand | 32 | 32 | offhand socket and back/stow when applicable | -| Head | 36 | 36 | head silhouette attachment, hair-safe variant rules | -| Body | 50 | 50 | chest/waist/shoulder overlay family, not full identity replacement | -| Feet | 19 | 19 | foot/ankle layer and movement readability check | -| Back | 21 | 21 | rear layer and cloth/hair occlusion contract | -| Charm | 88 | 88 | no default body layer; selected 24 signature charms receive visible token | -| Consumable | 20 | 20 | held/use pose only when activated | -| Relay | 15 | 15 | deployed scene object and active state | -| Relic | 9 | 9 | carried or world/Directive focal object according to effect | -| **Total** | **320** | **320** | **188 wearable families + selected nonwearable manifestations** | - -The 160 behavior-changing items receive one additional effect key: activation -icon, object state, actor overlay, target/route marker, or event-line symbol -that makes their behavior visible. The 160 stat items remain individually -illustrated but may share deterministic equip motion and generic stat feedback. - -### 7.1 Item State Requirements - -- neutral inventory object; -- selected/equipped physical marker; -- behavior trigger manifestation for every `B` item; -- upgraded material change that preserves identity rather than recolors rarity; -- attuned/sealed/dormant state where the contract permits it; -- salvage review silhouette and protected/favorite marker; -- light and dark background edge check at 96-pixel target size; -- comparison view with normalized perceived scale. - -Item rarity/tier changes tray notation and material detail only. It never adds a -larger glow than the behavior, makes a stat item look more strategic than a -counter item, or hides the item's actual shape. - -## 8. Environment And Chapter Art - -Each chapter has nine master compositions. They reuse compatible foundation -layers and props but remain compositionally distinct. - -| Composition per chapter | Count across 8 | Runtime use | +| Frozen family | Gameplay count | Production coverage in this catalog | |---|---:|---| -| Chapter arrival / key region panorama | 8 | `WLD-002`, chapter title transition | -| Settlement before restoration | 8 | `WLD-003`, story and recruit context | -| Settlement restoration choice | 8 | `WRK-006`, consequence review | -| Settlement after restoration overlays A/B | 16 | `GLD-001`, `RES-005`, return visits | -| Route panorama family 1-3 | 24 | `EXP-002/003`, node transitions | -| Ordinary/camp battle stage | 8 | common chapter encounters | -| Elite/sub-boss battle stage | 8 | dangerous detours and mastery trials | -| Boss battle stage | 8 | chapter confrontation | -| **Master scene/state total** | **88** | excluding dialogue reframes and postgame variants | +| Generated recruit system | unbounded recipes | 208 modular masters, 646 authored state cells, 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 unresolved parent 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 | -Every master environment separates: +Counts prove planned coverage only. They do not prove content distinctness, +asset quality, integration, runtime readability, performance, or fun. -```text -sky / distant atmosphere -far architecture/terrain -midground route structures -playfield foundation and lane markings -separate structural props -separate interactable/service props -foreground occluders with actor policy -weather/lighting state -chapter choice/restoration overlays -``` +## 17. Design Acceptance And Open Gates -Background foundations contain no actors, UI, rewards, gates, hazards, or props -that require independent interaction, animation, collision, replacement, -occlusion, or restoration. Concept composites may show all layers but are never -used as runtime foundations. +### 17.1 Candidate Checklist -### 8.1 Chapter Prop Packs +- [x] Modular body, face, hair, detail, underlayer, profession, palette, and + equipment composition is defined and production-countable. +- [x] All 42 profession bindings have distinct silhouettes, equipment anchors, + material limits, and animation needs. +- [x] All 36 traits, 320 equipment items, and 60 artifacts have exact visual + packages and causal presentation bindings. +- [x] Eight region families, 100 ordinary/elite enemies, and 16 bosses have + exact packages, source states, motion coverage, and integration formulas. +- [x] The single horizontal party-line composition defines staging, action + space, overlap limits, target/damage/heal/protection feedback, and busy + state salience. +- [x] Reduced motion, reduced flash, high contrast, large-text adjacency, mute, + and low-power behavior are specified. +- [x] The catalog creates specifications only and contains no final media or + third-party commercial assets. -Each chapter receives: +### 17.2 Gates That Remain Open -- 12 compact environmental props; -- 4 structural wide/tall objects; -- 3 interactable service/route objects with inactive/active states; -- 3 hazard/telegraph ground manifestations; -- 2 Anchor/camp variants; -- 1 boss-stage mechanism set; -- crowd silhouettes and named NPC layers where authored; -- foreground occluders with `none`, `rear_shift`, `fade`, or - `rear_shift_and_fade` actor policy. +- [ ] 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. -That is a minimum of 25 designed prop/object families per chapter and 200 -across the campaign. Repeated placements do not count as new families. - -## 9. Guild Yard Transformation Set - -The Guild Yard is one persistent layered environment with eight regional -service sockets and a final plural route mechanism. It needs: - -- broken opening yard foundation; -- day, evening, and pressure lighting states; -- 8 inactive service structures; -- 16 chapter-choice active variants; -- 30 character work/idle placement anchors; -- Workshop, Clinic, Records, training, formation, and route-table activity; -- route pulse linking service sockets to the Waylamp; -- ending state combining chosen variants without visual collision; -- low-power final poses for every continuous process; -- rain/wind/storm overlays that do not hide world hotspots. - -The Yard changes after every chapter. A completion banner alone does not prove -transformation. - -## 10. Narrative Illustration Package - -Narrative uses layered tableaux with engine text and portrait/pose reuse. The -minimum authored set is: - -| Family | Count | Notes | -|---|---:|---| -| Chapter opening | 8 | one conflict-defining composition each | -| Chapter midpoint civic choice | 8 | both choice subjects visible together | -| Chapter restoration | 8 | shares environment layers, adds named actors and consequence | -| Character recruitment | 30 | may use settlement/background reuse; unique foreground action | -| Character arc completion | 30 | unique relationship/work consequence, not portrait swap only | -| Final consequence rooms | 7 | one for each choice-dependent approach room | -| Ending/epilogue master panels | 9 | federation overview plus eight regional outcomes | -| Second Weave entry | 1 | working world deliberately reconfigured | -| **Total authored tableaux** | **101** | modular character/environment layers reduce duplicate painting | - -Relationship conversations between these peaks use portrait atlases, in-world -character poses, and scene props. They do not require a new full illustration -for every line, but every authored scene needs a shot/pose list and emotional -state change. - -## 11. UI Art Inventory - -| Family | Count / scope | Notes | -|---|---|---| -| Core material families | 6 | enamel, field cloth, brass mechanism, acetate forecast, ceramic chip, ledger paper | -| Nine-slice frames | 18 | dock, drawer, tray, inspect, review, modal, comparison variants | -| Universal tool icons | 32 | navigation, settings, pause/speed, audio, filter, compare, input, save | -| Canonical system icons | 48 | resources, states, slots, route types, failure/save states | -| Status icons | one per authoritative status schema | shape-coded with stack/duration forms | -| Profession emblems | 36 | already counted in profession kits | -| Active skill icons | 72 | paired with skill action contracts | -| Passive/talent icons | 66 | 36 profession passives + 30 character talents | -| Enemy mechanic icons | 100 | derived from each mechanic, not enemy portrait miniatures | -| Achievement badges | 48 | exact authored achievement identity | -| Collection emblems/displays | 20 | physical collection identity and completion state | -| Chapter/region emblems | 8 | one structural material and route motif each | -| Faction/service marks | data-counted at authoring lock | must be audited against campaign authority before production | -| Cursor/focus/target shapes | 16 | touch, mouse, controller and high-contrast forms | - -Engine-rendered elements include text, numbers, bars, countdown fill, focus -labels, safe-area guides, table/list layout, and dynamic comparison deltas. -Illustrative icons support meaning but never bake localized labels. - -## 12. VFX And Feedback Inventory - -### 12.1 Global System VFX - -| ID family | Required states | -|---|---| -| `VFX-AETHER` | dormant, directional flow, rupture, repair, branch split, stable junction | -| `VFX-GUARD` | gain, absorb, break, cap/waste | -| `VFX-WARD` | gain, absorb, shatter, cap/waste | -| `VFX-BREAK` | stability damage, near-break, break-open, recovery | -| `VFX-COMMAND` | charge gain, legal ready, target, spend, rejected/no spend | -| `VFX-CACHE` | item/value enter, risk exposed, partial loss, bank/closed clasp | -| `VFX-SUPPLY` | spend, insufficient, conversion, recovery result | -| `VFX-STRAIN` | gain one/two, cap, recovery, deploy blocked | -| `VFX-STATUS` | apply, tick, cleanse, resist, expire for each status family | -| `VFX-ROUTE` | forecast, select, commit, reroute, close, Anchor reached | -| `VFX-SAVE` | saving, saved, recovered, conflict, blocked; compact UI only | - -### 12.2 Skill, Enemy, And Item VFX - -- 72 active skills each own one effect geometry and one impact/final state; -- 36 profession passives own a restrained trigger marker; -- 30 character talents own an identity-linked marker; -- 100 enemy mechanics own a forecast and resolution manifestation; -- 160 behavior items own a trigger manifestation, which may reuse a global - grammar but not conceal the item's specific cause; -- 8 bosses own phase-change language tied to chapter restoration materials. - -Compatible effects share particles, line shaders, decals, and impact primitives. -They do not share semantic shape when the underlying target/timing differs. -Reduced-flash and low-power alternatives are designed with every effect, not -generated as a later global filter. - -## 13. Platform And Marketing Visuals - -Platform images are produced only after an accepted runtime vertical slice. -Required eventual assets: - -- app icon master and platform crops, opaque and text-free; -- launch/first-frame transition using the accepted title identity; -- store feature/hero art derived from real characters and environments; -- platform screenshot sets showing real Guild, formation, route, battle, - diagnosis, reward, and restoration states; -- accessibility/localization screenshots where store requirements permit; -- no concept mockup presented as gameplay. - -## 14. Representative Dynamic Slice - -Bulk production is frozen until this exact slice passes design, production, -runtime, and owner review: - -**Slice:** CH-01 windmill relay encounter and first service restoration. - -| Boundary | Contract | -|---|---| -| First focal read | Bell-Feeder telegraph crossing the center wind lane | -| Second | Mara protecting Ilyo in the rear slot | -| Third | legal Retune Directive and one remaining Command charge | -| Canonical actors | `CHR-001` Mara, `CHR-002` Oren, `CHR-003` Ilyo; `EN-B001` as boss anchor | -| Manual action | inspect telegraph then commit Retune to the affected lane | -| Immediate result | forecast event moves, route pulse retunes, affected ally protection changes visibly | -| Automation | party standing actions execute deterministic formation/target rules | -| Bottleneck | one Command charge remains and Cache is exposed before next phase | -| Choice/failure | spend now or preserve; bad timing exposes knockback chain | -| Recovery/reward | diagnosis links first divergence to lane/Anchored counter; reward enters Cache | -| Persistent change | clinic or warning tower receives pulse and becomes active in Guild Yard | - -Required slice layers: CH-01 boss-stage background/far/mid/playfield/foreground, -three character rigs with relevant profession modules, boss rig, two supporting -enemy identities, Directive and telegraph VFX, battle HUD, reward object, Cache, -two restoration variants, and corresponding audio event candidates. - -The fixed review bundle is a 20-30 second 1920x1080 normal-render capture plus -opening, telegraph, Directive impact, pressure/failure, diagnosis, reward, -restoration, English, zh_CN 130%, reduced-motion, and low-power frames. Static -concept art cannot pass this gate. - -## 15. Production Order - -1. Lock CH-01 palette, line, camera, material, and UI board. -2. Lock Mara identity and common rig through idle/move/guard/hit/Directive - response; reject identity drift before Oren/Ilyo. -3. Lock one ordinary enemy and `EN-B001` boss silhouette/mechanic. -4. Build the CH-01 boss stage from separated foundation, props, foreground, and - state overlays. -5. Produce one active-skill VFX, one enemy telegraph, Cache/reward, and - restoration transition. -6. Compose the dynamic slice in the interactive/runtime prototype and review at - actual landscape play size. -7. Only after slice acceptance, produce CH-01 full art, then chapter-sized - batches with identity and asset audits. -8. Produce platform/store visual assets from accepted runtime frames last. - -## 16. Quantitative Audit - -| Promised family | Authored count | Visual production coverage | -|---|---:|---| -| Named adventurers | 30 | 30 identity packages, portrait sets, rigs, recruitment and arc states | -| Professions | 36 | 36 modular kits, 72 active-skill action/VFX contracts | -| Enemies | 100 | 100 identity/motion/telegraph packages; 8 expanded boss plans | -| Items | 320 | 320 objects, 188 wearable families, 160 behavior manifestations | -| Chapters | 8 | 88 master environment states, 200+ prop/object families | -| Narrative tableaux | n/a | 101 authored modular compositions | -| Achievements | 48 | 48 badges | -| Collections | 20 | 20 emblems/physical displays | -| Chapter visual screen families | 24 minimum | covered by the larger environment/narrative set | - -Counts prove planned coverage only. They do not prove distinctness, production, -integration, readability, animation quality, or fun. - -## 17. Art Acceptance Gates - -- [ ] Every identity is traceable to content and has no copied commercial - expression or third-party asset. -- [ ] Character identity remains stable across portrait, hub, formation, battle, - profession overlay, condition, and ending. -- [ ] Profession changes are visible without replacing named characters. -- [ ] All 100 enemy mechanics have distinct silhouettes and telegraphs. -- [ ] All 320 items have readable objects; all 160 behavior items show triggers. -- [ ] All eight chapters have separated, editable, compositionally distinct - route, battle, boss, civic-choice, and restoration art. -- [ ] Battle and UI remain readable at 1280x720, busy state, high contrast, - reduced motion/flashes, and low power. -- [ ] The CH-01 dynamic slice passes three-second identity, focal hierarchy, - motion continuity, consequence, and persistent-change review. -- [ ] No source/generated file is called final before runtime and human review. - -Human visual acceptance and all runtime/device/release states remain open. +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.