50 KiB
Aetherbound Guild: UI And Visual System
Authority: player-facing landscape composition, information hierarchy, reusable UI grammar, semantic color, type, input feedback, responsive behavior, and accessibility presentation.
Companion: SCREEN_AND_STATE_MAP.md.
Product source:
.agent-taskgraph/spec.mdrevisiondesign-spec-r3.Evidence boundary: this is a production specification, not rendered UI, final media, runtime proof, device acceptance, or human validation.
1. Visual Thesis
A field guild making consequential plans at the edge of a vivid, unstable fantasy world.
The first viewport presents the actual decision surface: generated recruits at a muster table, physical equipment under comparison, an ordered expedition line, a dangerous destination, or a battle already resolving. The world and its actors remain the primary composition. UI surfaces attach to a desk edge, tool rack, field ledger, route frame, or screen edge instead of floating as a wall of panels.
The visual language combines hand-painted 2D Japanese fantasy environments, clean cel-shaped actors, dark ink structure, bright mineral pigments, cool paper-white labels, enamel action plates, woven position markers, and precise engine-rendered type. It feels practical and repaired, not royal, luxurious, or collectible-first.
Generated recruits read as individuals through their sourced name, modular appearance, profession silhouette, one trait seal, equipment, condition, level, and survival marks. Presentation never implies that one recruit is an authored lead who must remain in the party.
1.1 Three-Second Reads
| Moment | First read | Second read | Third read | Desired feeling |
|---|---|---|---|---|
| Title | active guild threshold and distant unstable route | current safe run state | Continue and accessibility access | invited, not advertised to |
| New run setup | four equally weighted provisional Recruit offers | selected 0/2..2/2 and comparison |
Review Company then Create Run | consequential choice without a recommended build |
| Guild desk | next pressure or opportunity | what changed after the last result | available preparation destinations | purposeful freedom |
| Shop | materially different offers | cost and current fit | refresh or return consequence | constrained possibility |
| Recruit review | profession responsibility and trait tradeoff | rolled strengths and limitation | price and party effect | informed attachment without narrative obligation |
| Final-survivor dismissal | disabled Dismiss and One member must remain |
separate run-abandonment action | retained Recruit and zero-delta result | protected consequence without a dead end |
| Equipment | changed behavior and eligible wearer | conflict or replacement | cost and reversibility | deliberate construction |
| Party line | protected rear-left through numbered positions to exposed front-right | protection, reach, movement, and target effects | validation and undo | readable planning |
| Risk choice | known pressure and uncertainty | reward class and recovery exposure | committed party snapshot | chosen tension |
| Battle | most urgent event and affected actors | why the current target or protection relation exists | pause, speed, and inspect | trust in automatic resolution |
| Result | earliest meaningful divergence | downstream losses and survivors | next adaptation | diagnosis, not spectacle alone |
| Death | who was lost and what capability disappeared | equipment and party gaps | legal recovery or replacement path | consequence with agency |
| Reward | which future decision changes | current build interaction | claim consequence | earned redirection |
| Postgame | active rule differences | eligibility and record | ordinary run remains available | mastery with transparency |
1.2 Anti-Goals
- No detached dark rectangles covering a decorative background.
- No portrait-card wall as the primary roster, planning, or battle view.
- No oversized headings inside compact operational surfaces.
- No rarity color as the main argument for recruiting or choosing an item.
- No one-hue fantasy wash; semantic colors stay distinct from region art.
- No beige parchment monoculture, full-screen blur, ornamental glow spheres, decorative gradients, or particle haze.
- No tiny actors whose profession, order, target, health, and death state vanish at play size.
- No icon-only unfamiliar resource, trait, status, or destructive action.
- No animated decoration that resembles danger, a legal target, a reward, or a successful transaction.
- No font sizing tied to viewport width, negative letter spacing, text baked into art, or forced one-line localized controls.
- No nested decorative cards. Repeated offers and items may use bounded rows; page sections remain unframed or edge-docked.
2. Cross-Workstream Presentation Bindings
Gameplay values use the binding registry in the companion screen map. Media identity uses the following named bindings until the art and audio authorities are integrated:
| Binding | Required presentation contract | Source authority |
|---|---|---|
BIND:ART_RECRUIT_PRESENTATION |
modular body, face, hair, garment, condition, and survival-mark layers | art/animation catalog |
BIND:ART_PROFESSION_PRESENTATION |
silhouette, tool/weapon, pose, emblem, and action-read vocabulary for each profession | art/animation catalog |
BIND:ART_EQUIPMENT_PRESENTATION |
inventory object, equipped read, comparison view, and conflict marker | art/animation catalog |
BIND:ART_REGION_PRESENTATION |
environment, route material, weather, and readable ground contrast per region | art/animation catalog |
BIND:ART_ENEMY_PRESENTATION |
identity, threat source, target projection, status, injury, and death/exit reads | art/animation catalog |
BIND:ART_EFFECT_LANGUAGE |
anticipation, target, impact, mitigation, status, death, reward, and recovery event roles | art/animation catalog |
BIND:AUDIO_EVENT_CATALOG |
UI commit, shop, order, battle, casualty, result, reward, recovery, and error cues | audio catalog |
Design fixtures may use labeled geometric stand-ins. They may not invent final silhouettes, asset counts, music, voice scope, prices, formulas, or content identities.
3. Canvas, Safe Areas, And Responsive Tracks
The interface is designed in logical pixels. Layout changes by available height and aspect, not by scaling the entire canvas.
| Class | Required fixture | Safe area | Structural policy |
|---|---|---|---|
| Short landscape phone | 1280x720 |
56 sides, 40 top/bottom plus device insets |
compact top rail, full-height decision surface, bottom action dock; detail replaces secondary region |
| Wide landscape phone | 1560x720 |
device insets plus 56 |
keep short-height control sizes; reveal world laterally |
| Landscape tablet | 1366x1024 and 2048x1536 |
64 all edges plus device insets |
main decision area plus persistent contextual rail when useful |
| Reference landscape | 1920x1080 |
96 all edges |
canonical composition and two-region comparison |
| Large landscape | 2560x1440 |
128 all edges |
constrained UI tracks; reveal environment and longer lists |
The major tracks are stable:
- top status rail:
56-72high, one row at 100%, two bounded rows at 130%; - main subject: at least
62%of usable width and68%of usable height; - context rail:
360-520wide when docked, or a full-height replacement surface on a short phone; - bottom action dock:
72-96high, with one primary action aligned to the decision rather than centered by habit; - inspect surface: up to
42%of width on tablet/reference, full screen on a short phone at 130%; and - settings category rail:
224-272wide when persistent; a top selector when the scaled label set would narrow content below its minimum.
Control and text dimensions do not stretch on large screens. Environment art, world spacing, and list length absorb extra room. Cutouts and home indicators may move the action dock inward but never cover a focus outline or consequence.
3.1 Responsive Priority
When height or text space is constrained, retain in this order:
- objective or decision name;
- current state and selected stable identity;
- cost, consequence, and reversibility;
- primary action and Back;
- comparison delta or urgent causal explanation;
- supporting history and flavor.
Items 1-5 remain in the first viewport. Item 6 may move to Inspect. No layout solves overflow by reducing type below its token or actors below their minimum readable silhouette.
4. Information Hierarchy
| Decision surface | Primary | Secondary | Deferred to inspect |
|---|---|---|---|
| Guild desk | upcoming pressure, latest change, preparation readiness | sourced resources and open decisions | complete run history |
| New run setup | four stable provisional identities, Profession job, Trait benefit/cost, selected count | individual level, one starting item, rolled distribution, Contract/difficulty | unrelated catalog and future progression |
| Shop | offer behavior, price, immediate fit | future eligibility and refresh consequence | full discovery provenance |
| Recruit review | profession responsibility, trait benefit/cost, rolled constraint | individual level/XP, one current item, survival history | full attribute derivation |
| Dismissal/abandonment | eligibility and affected scope | returned equipment, rebate or run-close consequence | unrelated Recruit history |
| Equipment | changed behavior, wearer, replacement, conflict | secondary derived effects and acquisition | unrelated collection record |
| Party line | position, exposure, target/protection/reach change | alternate order and unresolved warning | cosmetic identity detail |
| Risk | known threat, uncertainty, entry cost, reward class | current coverage and recovery exposure | unrelated progression |
| Battle | urgent event, affected actor, objective, playback state | aggregate party condition | long-form build explanation |
| Result | first divergence, decisive interaction, deaths, next resolution | contribution and complete event list | collection celebration |
| Recovery | viable paths, full transaction, next planning state | longer-term replacement implications | unrelated records |
| Progression | newly opened decisions and prerequisites | path preview and reset consequence | unrelated catalog entries |
The same mechanical noun and icon must be used in preview, battle, result, and records. A tooltip cannot rename a rule or hide a consequence behind flavor.
5. Semantic Palette
Region art supplies local color. UI semantics use a small, stable set that is readable over both bright and dark scenes.
| Token | Color | Meaning | Required non-color cue |
|---|---|---|---|
ink-950 |
#182127 |
primary text, deepest structural edge | solid weight |
ink-760 |
#34424A |
docked instrument and inactive surface | inset border |
mist-050 |
#F3F6F2 |
primary text field and selected ledger surface | raised plane |
mist-180 |
#D7E0DD |
secondary surface and divider | woven grain |
route-teal |
#13818A |
legal flow and navigation path | paired continuous lines |
work-gold |
#D6A72E |
primary decision and selected destination | key-notch edge |
safe-jade |
#27845E |
health, retained state, safe completion | upward leaf-chevron |
danger-coral |
#C94E52 |
urgent harm, invalid destructive consequence | split triangle |
focus-cobalt |
#4169B1 |
focus, inspect, information action | double square contour |
uncertain-plum |
#855579 |
uncertainty and incomplete forecast | broken ring |
neutral-silver |
#88969B |
disabled or not applicable | cross-pin and text reason |
focus-white |
#FFFFFF |
controller/keyboard outer focus | paired outer and ink inner line |
Semantic color occupies no more than one quarter of a large component surface.
Health, danger, uncertainty, eligibility, selection, and completion use shape,
text, and pattern in addition to hue. Body text meets 4.5:1 contrast and
large text plus meaningful component boundaries meet 3:1 in all approved
region fixtures.
Rarity, when supplied by content, is secondary metadata. It may change a small corner stamp or texture but never the size, brightness, or order of an offer.
6. Typography, Numbers, And Localization
Display text uses a licensed Japanese/Latin-capable humanist sans only for the product name, region arrival, and run ending. Functional UI uses a highly legible Japanese/Latin sans with tabular numerals. Font selection remains pending glyph, license, fallback, and device rendering review.
Reference tokens at 1920x1080, 100%:
| Style | Size / line | Use |
|---|---|---|
| Display | 46 / 58 |
product name or region arrival only |
| Screen title | 32 / 40 |
page or major decision name |
| Section title | 24 / 32 |
one bounded content region |
| Body | 20 / 29 |
consequence and explanation |
| UI label | 18 / 24 |
actions, tabs, fields, position markers |
| Caption | 16 / 22 |
noncritical metadata |
| Battle label | 18 / 22 |
attached event, value, timer, status |
Letter spacing is 0. All numeric values use tabular numerals. A changed value
uses a named before -> after, signed delta, or before/after bar. A percentage
never appears without the affected rule and sourced base consequence.
At 115% and 130%, font and control tokens increase independently of viewport. Labels may wrap to two lines. Screen titles, buttons, tabs, generated names, prices, consequences, and state labels do not ellipsize. Noncritical history may truncate only when an adjacent Inspect action exposes the complete accessible string.
English (en) and Simplified Chinese (zh_CN) share hierarchy and action order. Chinese
mechanical text remains engine-rendered, uses localized punctuation, and is
tested without inserting spaces between ideographs. Dates, numbers, and unit
order use locale formatting, while stable diagnostic IDs remain ASCII.
7. Shape, Material, And Icon Grammar
| Meaning | Shape/material |
|---|---|
| Global navigation | squared enamel tab with one clipped corner |
| Recruit identity | upright woven marker plus unframed full or half figure |
| Profession | stamped tool silhouette backed by a square field |
| Trait | single hexagonal seal with benefit edge and cost notch |
| Equipment | physical object silhouette on a shallow metal tray |
| Artifact | shared-rule emblem on a full-width ledger strip, visually separate from equipment |
| Party position | numbered stitched marker joined to one horizontal cord |
| Known threat | angular forecast sheet with a pointed time edge |
| Uncertainty | broken outer contour and explicit confidence text |
| Safe completion | closed contour, receipt stamp, and named result |
| Destructive consequence | split edge and warning sentence; not a solid red fill |
| Locked | cross-pin plus named requirement; never an unexplained lock icon |
Cards have at most 8 px corner radius. Cards are reserved for repeated shop
offers, repeated reward choices, and transaction reviews. A card contains rows
and dividers, not more cards. Page sections remain edge-docked or unframed.
Familiar tools use familiar symbols from the implementation's approved icon library: Back, close, settings, pause, play, speed, inspect, compare, filter, sort, search, undo, speaker, controller, download, and warning. Unfamiliar profession, trait, status, resource, or threat icons always pair with localized text and expose a tooltip or touch Inspect action.
Icon envelopes are 24, 32, and 48 logical pixels with a consistent
reference stroke. Filled/outline alone may not distinguish two state meanings.
8. Core Components
8.1 Action Control
One primary action appears in each decision region. The label uses an explicit
verb and includes cost or outcome when sourced: Recruit - [price], not
Confirm.
| Variant | Composition | Behavior |
|---|---|---|
| Primary | gold enamel edge, ink label, leading familiar icon | performs or opens the named decision |
| Inspect | mist surface, cobalt double contour | opens reversible detail |
| Safe commit | jade completion edge and closed contour | states retained result |
| Risk commit | mist surface with coral split and uncertainty mark | states exposure and next state |
| Destructive | neutral surface, coral split, full consequence nearby | requires explicit review gesture |
| Disabled | intact material with cross-pin and reason | remains inspectable; no press or success cue |
| Pending | stable width, progress label, controls locked to operation ID | cannot submit twice |
The touch target is at least 48x48; primary and destructive actions target
56 high on touch layouts. Press feedback begins within 50 ms; confirmed
local feedback begins within 100 ms of authoritative receipt. Pending state
does not change component dimensions.
8.2 Status Rail
The top rail contains only information needed by the current decision:
- Guild:
BIND:RUN_PHASE, relevantBIND:RUN_RESOURCES, readiness, save health; - Shop: spendable value, refresh status, offer validity;
- Party: capacity binding, validation, selected pressure;
- Battle: objective, playback state, urgent condition, save/snapshot state; and
- Result: outcome receipt and unresolved next transaction.
Each resource has localized name on focus/tap, icon, exact value, recent delta, and pending/confirmed state. Unknown and zero are visually and semantically different.
8.3 Shop Offer Row
Recruit offer order is: figure or portrait, generated name, profession, trait benefit/cost, two decision-relevant rolled reads, price, and Inspect. Item offer order is: object, name, behavior, eligibility/conflict, price, and Inspect.
Rows share stable height per text scale. Selection adds an external contour and comparison region; it does not push adjacent rows. Sold, expired, unaffordable, and selected states keep the original stable ID visible.
The first-Market variant marks at least two sourced base-Profession Recruit
offers as affordable without marking either recommended. A persistent opening
status reads owned Company separately from Line capacity and updates only from
authoritative hire receipts: Company 2 | Line capacity 4, Company 3 | Line capacity 4, then Company 4 | Line capacity 4. Each hire keeps its own review,
cost, receipt, and focus return; no combined Hire two action exists.
8.4 Provisional Recruit Selector
SYS-005 uses a dedicated provisional variant, not the Shop offer row. It
renders exactly four stable positions from BIND:PROVISIONAL_RECRUIT_OFFERS and
never shows price, refresh, lock, rarity promotion, or purchase language.
Each overview marker has stable dimensions and contains:
- generated name and stable offer ID;
- Recruit figure/portrait at the common marker scale;
- base Profession icon, localized job sentence, and target/reach read;
- Trait seal with one benefit and one cost;
- one decision-relevant rolled distribution read;
No Coin cost;- a Select checkbox with a checkmark that does not imply Party-line order; and
- a separate Inspect icon with accessible label.
Touch activation on Select toggles Company selection; tapping the marker only
focuses it and opens no destructive state. Controller focus enters offers in
stable source order; Select toggles the focused offer, while Inspect opens and
closes its full details without changing selection. Compare is a separate
command: it pins offer A, then offer B, and opens an aligned Profession,
Trait, attribute, individual level, and one-starting-item comparison. The A/B
pair may use any two
offer IDs and never changes the two Company checkboxes.
The selected-count component has fixed dimensions and explicit states:
| State | Label and control state | Result |
|---|---|---|
| none | Choose two - 0/2; Review Company disabled |
Inspect, Compare, Back, and first selection remain legal |
| one | Choose one more - 1/2; one stable ID checked |
selecting a second enables review |
| two | Company selected - 2/2; both stable IDs checked; Review Company enabled |
either selection may be cleared or replaced before review |
| third attempt | Two already selected; current two remain unchanged |
focus moves to the selected-count explanation; no automatic eviction |
| invalid source | expected four/received count or affected stable ID; all Select controls disabled | Retry Same Set or Return to Run Ledger |
| loading | four fixed skeleton positions, named operation, no identity or selection | resolved stable ID stays in its original position |
Review replaces details without discarding the four-offer strip. The selected
two occupy the main Company comparison; the two unchosen stable IDs remain in a
quiet Not retained summary. Revise Recruits returns to the same four
positions, selected IDs, A/B comparison, and focus. Create Run is the only
primary action and enters a fixed-size pending state, so a spinner or long
localized status cannot shift Revise, Cancel, or offer markers.
On a short landscape phone, the four markers form a fixed 2 x 2 layout; the
selected marker's details replace the context rail. On tablet/reference they
form one four-marker row above one comparison region. At 130%, generated names
may wrap to two lines and the Profession/Trait text moves to Inspect, but all
four identities, checked state, 0/2..2/2, Select, Inspect, Compare, Back, and
Review Company remain visible. English (en) and Simplified Chinese (zh_CN)
share offer order and control geometry.
No offer starts selected, pulses as preferred, receives a larger portrait, sorts by a hidden score, or gains a tutorial arrow. Teaching may highlight the Select and Inspect controls as a group, never one Recruit.
8.5 Recruit Identity
The component has four canonical scales supplied by
BIND:ART_RECRUIT_PRESENTATION:
| Scale | Required reads |
|---|---|
| Marker | stable portrait/silhouette, profession emblem, trait seal, level, condition |
| Roster | generated name, profession, level, one-item state, trait tradeoff, readiness, deployed state |
| Planning figure | full silhouette, level, one equipped-item read, order number, health/condition |
| Battle actor | profession/tool silhouette, target/protection relation, health, urgent status, death/exit |
The generated name and stable ID are text. Profession is never inferred from color alone. Trait shows exactly one benefit edge and one cost notch before its expanded mechanical sentence. Survival history uses a small set of sourced marks and never becomes a fixed personal-story track.
8.6 Equipment Row And Comparison
An item row shows object, name, form from BIND:EQUIPMENT_RULES, current wearer,
one behavior sentence, eligibility, and relevant sourced delta. Every Recruit
has one universal slot; form does not create another slot. Comparison aligns
current and candidate by mechanical field; unchanged fields remain visible but
quiet. Conflicts name the wearer, Profession, position or shared rule.
Apply does not enable until the one-slot replacement, returned prior item or null, invalidated reference, and reversibility are known. Raw power score, rarity, or price is never the sole or largest comparison read.
8.7 Dismissal And Run Abandonment
Dismiss is a destructive text-and-icon action below routine Recruit actions.
Its state comes from BIND:DISMISSAL_ELIGIBILITY, which uses the total live
Recruits across deployed and reserve rather than only the prepared party.
When that total equals one:
- Dismiss retains its stable control dimensions and destructive icon but uses the policy-disabled cross-pin state;
LOC:DISMISS_LAST_LIVE_RECRUITrenders beside it with the invariant meaningOne member must remain;- touch activation on the disabled control announces or expands the reason and changes no state;
- controller focus reaches the control, announces action plus disabled reason, and does not open a confirmation; and
Review run abandonmentis a separate secondary action with its own focus stop, route, accessible name, andOUT-006destructive review.
The abandonment action is not painted inside the disabled control and does not
target the selected Recruit. OUT-006 uses a full run-level consequence sheet,
default focus on Cancel, a run identifier rather than a Recruit identifier, and
one explicit Abandon run confirmation. No dismissal-rebate read appears in
that review.
If REC-003 becomes stale and commit-time eligibility reports one live
Recruit, the sheet closes without a success transition. Recruit Detail keeps
the Recruit visible, returns focus to disabled Dismiss, announces One member must remain, and shows a neutral zero-delta receipt: no Recruit removed, no
equipment moved, no rebate granted. This rejection uses no success color,
ownership motion, or transaction sound.
At 130% on a short landscape phone, Dismiss, its two-line reason, and the
separate abandonment action occupy three stable rows. They do not overlap the
Recruit name, Back, or safe-area inset. The Simplified Chinese (zh_CN) fixture
may wrap each label to two lines without merging the two actions.
8.8 Party-Line Editor
One horizontal cord runs from Protected rear at left to Exposed front at
right. The rightmost occupied marker is authoritative position 0; larger
position numbers extend leftward toward the rear. Every prepared Recruit
occupies a stable numbered marker joined to that cord. The component renders
the count from BIND:PARTY_CAPACITY; it never labels capacity as owned Company.
Each marker has a fixed aspect ratio and minimum size. At dense target widths,
all order markers remain visible while the selected recruit expands into the
context rail; nonselected figures use simplified but distinct silhouettes. If
future sourced capacity cannot fit at minimum size, the cord scrolls by whole
positions with sticky Rear/Front indicators, position 0 pinned at the right
edge indicator, and a full miniature order strip.
Selecting a recruit then a destination previews only sourced changes:
- expected exposure and likely targets;
- protection given or received;
- reach and healing access;
- movement behavior; and
- replacement behavior after death or exit.
Changed relations draw direct shaped connectors above the cord and list the same changes in text. Undo and Reset are familiar icon controls with tooltips. Drag is optional; tap-select/tap-destination and controller move are complete.
Protection connectors point from the protected Recruit toward contributing actors ahead of it on the right. Front and rear use icon, localized text, edge shape, and position number; color or reading direction alone is insufficient. English, Simplified Chinese, touch, controller, and screen-reader fixtures keep the same spatial orientation rather than mirroring the line by locale or input.
8.9 Active Artifact Ledger
Artifacts are presented as run-wide rule modifiers, never as equipment attached
to a recruit. Each ledger row shows sourced emblem, name, changed rule,
acquisition receipt, active/inactive state, interactions, conflicts, and
lifecycle from BIND:ARTIFACT_RULES. Inspect uses the same vocabulary in Shop,
Reward, Guild, Battle, Result, and Records. Missing rules block dependent
commitment instead of reducing an artifact to rarity or flavor.
8.10 Risk Choice
Risk options are aligned by known pressure, uncertainty, entry cost, reward class, recovery exposure, and current coverage. Options use different threat silhouettes and comparison rows rather than promotional art or rarity frames.
The selected option expands in place. The commitment surface remains attached to it and displays the accepted party snapshot. Unknown information is a sourced uncertainty state, not an empty value or hidden tooltip.
8.11 Battle Actor And Event Projection
The battlefield owns at least 68% of usable area. Player actors stage from
protected rear at left to exposed position 0 front at right and face the
enemy across the central action gap. Enemy staging faces toward that front.
Order remains legible through numbered ground marks and target/protection
connectors; the planning cord itself is not drawn as a large HUD over combat.
Actor-attached information is limited to:
- health or other sourced survival state;
- urgent status icon and short label;
- current target relation when relevant; and
- order marker for allied recruits.
Only the greatest immediate danger expands automatically. Other values remain compact and are available through Inspect. Event projections originate at the acting subject, name affected targets, include time/order, and keep actors visible.
8.12 Playback And Inspect Tools
Pause, play, speed, and inspect use symbol-first controls with tooltips and
accessible labels. Speed is a segmented symbol control populated by
BIND:BATTLE_SPEEDS; changing it never looks like a combat action. Retreat is
inside Pause and separated from Resume by layout and review.
Inspect freezes or preserves playback according to sourced rules and opens:
- selected event and source;
- target and order reason;
- equipment, profession, trait, or status contribution;
- immediately preceding cause; and
- downstream event when already known.
On short phones or at 130%, this becomes a full-screen linear view. Closing it restores the exact prior playback state.
8.13 Causal Timeline
Result uses a two-track timeline: expected responsibilities from the accepted party snapshot above, actual events below. The first meaningful divergence has the strongest contour and direct connectors to affected recruits, enemy event, equipment, and order relation. Totals and rankings are secondary.
Every event has a stable icon, timestamp/order, source, target, outcome, and
accessible text. Cause unavailable is an error state. A neutral result may
state that no preventable divergence was detected.
8.14 Death And Party Gap
Loss presentation is quiet and explicit. The affected recruit remains visible at a respectful readable scale with generated name, stable ID, profession, trait, level, survival marks, equipment disposition, and committed receipt. The adjacent party cord shows the new gap and sourced replacement behavior.
The Acknowledge action does not suggest reversal. Recovery and replacement are separate next decisions supplied by their bindings. No celebratory particles, rarity framing, or generic red overlay accompanies death.
8.15 Reward Choice
Rewards appear as actual object, profession, recruit, or rule presentations supplied by content and media bindings. Equal-size decision regions prevent object scale from implying value. Each option names:
- the next decision it changes;
- current eligible target or party interaction;
- conflict or opportunity cost;
- claim destination; and
- skip outcome when legal.
Claim animation begins only after receipt. The final state is a persistent named ownership change, not particles alone.
8.16 Recovery Choice
Recovery options are unframed paths leaving the causal result: reconfigure,
replace, restore, or end the run only when supplied by BIND:RECOVERY_OPTIONS.
Each shows full cost, retained state, recruits affected, and next destination.
Unavailable paths remain inspectable with reason.
8.17 Empty, Error, Notice, And Receipt
| Component | Required content | Forbidden behavior |
|---|---|---|
| Empty state | what is empty, why, legal next action | decorative illustration with no action |
| Loading state | named operation, blocked scope, progress when known | generic spinner over active controls |
| Inline error | plain cause, retained state, retry/alternate | raw internal exception or vanished content |
| Binding error | binding name in diagnostics, player-facing affected feature, safe exit | invented zero/default value |
| Notice | one changed fact and optional Inspect | stacking duplicate transient messages |
| Receipt | stable operation, committed result, timestamp/order, duplicate behavior | success feedback before authority confirms |
| Confirmation | target, before, after, cost, risk, undo policy | vague Are you sure? alone |
Notices reserve layout space or overlay noncritical world space. They never cover the primary action, Back, playback tools, target projection, or focus.
9. Canonical Layout Families
9.1 Title And Run Screens: SYS-003..007
- Full-bleed working guild threshold; the product name occupies no more than one fifth of frame height.
- Continue and verified run summary sit together at lower-left on clear ground.
- Run ledger uses one unframed vertical list and one details rail.
- Accessibility, Settings, and run selection are compact tools, always visible.
- Save recovery uses an aligned lineage comparison, not competing alert cards.
SYS-005begins with Contract/difficulty review, then gives the main surface to four equally weighted provisional Recruit markers and a stable0/2..2/2selection status. Inspect/Compare uses the context region; Review Company is the only primary action after2/2.- The creation review keeps the four-offer strip, expands the selected two,
labels the unchosen two
Not retained, and separatesRevise Recruitsfrom Create Run. Pending/error states cannot rearrange or replace offer IDs.
9.2 Guild Desk And Forecast: HUB-001/002
- Current pressure is represented in the world and repeated in concise text.
- Shop, Roster, Equipment, Party Line, and Risk are stable edge destinations.
- The prepared party occupies a shallow muster strip that reflects current profession, condition, equipment, and order.
- The first-Market variant keeps Company count and Line capacity separate and exposes two individual affordable-hire reviews; no visual treatment chooses either base-Profession offer for the player.
- Latest result change uses one attached receipt strip and disappears only after inspection, not on a timer.
9.3 Shop And Recruit: SHP-001..003
- Left/main: scrollable offer rows on a physical requisition surface.
- Right/context: selected offer at planning scale with tradeoff, fit, and cost.
- Filters are icon+text tools; option sets use menus, not clouds of rounded text.
- Refresh is visually secondary and always displays sourced consequence.
- Recruit and Buy actions appear only inside their review state.
9.4 Roster And Recruit Detail: REC-001..003
- Roster uses a muster wall or line of markers plus one selected planning figure.
- Filters prioritize deployed state, profession, trait, readiness, and condition.
- Detail organizes Identity, Mechanics, Equipment, Position, and History as tabs or a compact category rail; no biography-first hero page.
- Dismissal is isolated below routine preparation actions. At one total live
Recruit it stays visible, policy-disabled, and paired with
One member must remain; a separate secondary action opensOUT-006. - A stale final-survivor confirmation closes back to Recruit Detail with no ownership motion, rebate cue, or success state.
9.5 Equipment: EQP-001/002
- Selected recruit remains visible; eligible inventory forms one scroll track.
- Current and candidate objects align around the recruit, not inside nested panels.
- Behavior delta is the first comparison read; eligibility and conflicts are adjacent to Apply.
- At 130% on phone, item list and comparison become two explicit views with a persistent selected-item summary.
ART-001uses a separate full-width shared-rule ledger; it never reuses the per-recruit equipment silhouette or Apply flow.
9.6 Party Line And Readiness: PTY-001/002
- The ordered cord spans the main surface from protected Rear at left to
exposed Front at right. Position
0is the rightmost front; larger position numbers extend left toward the rear. - Available recruits use a lower muster strip; selected recruit expands in the context rail without changing marker positions.
- Protection/target/reach connectors use distinct patterns, name their numbered endpoints, and remain under a text summary.
- Readiness replaces editing with a frozen party snapshot and grouped warnings.
- Save Order is the only primary action; undo/reset are icon tools.
9.7 Risk Board: RSK-001/002
- Choices occupy distinct parts of a region scene and align to one comparison band below.
- The band compares known threat, uncertainty, cost, reward class, recovery exposure, and coverage in that order.
- Commitment slides from the selected option and keeps party snapshot visible.
9.8 Battle: BAT-001..006
- Player actors stage rear-left to front-right, with position
0and the enemy- facing action gap at the right; actors and event projections dominate the scene while UI follows edges. - Objective and next urgent event sit top-left; pause/speed/inspect sit top-right.
- Actor markers attach to subjects and collapse when not urgent.
- Inspect uses the context rail or a full-screen linear surface at 130%/phone.
- Retreat exists only inside Pause and uses a separated destructive review.
- Resume Review is static: verified timestamp, speed, pending event, and Resume.
9.9 Result And Recovery: OUT-001..006
- Causal timeline owns the center; outcome and unresolved transaction remain in a compact top strip.
- Affected recruits remain visible beside the event that changed them.
- Death review isolates one loss at a time with a persistent multi-loss index.
- Reward objects or rules use equal decision regions under the diagnosis.
- Recovery paths are distinct exits with complete transactions, not three decorative cards.
- Run abandonment is a separate run-level sheet invoked from Guild desk or Result; it never reuses a Recruit dismissal sheet or selected-Recruit art.
9.10 Progression, Records, And Postgame: PRO-001..PST-003
- Progression emphasizes the decision each unlock opens and its prerequisite, not a giant ornamental branching illustration.
- Records use one category rail, one entry list, and one large detail subject.
- Unknown content differentiates not encountered, partially known, and deliberately undisclosed.
- Postgame setup keeps active modifiers, eligibility, slot, and ordinary New Run access visible before commitment.
9.11 Settings: SET-001..009
- Settings is a quiet unframed workspace with category navigation and a live preview where useful.
- Binary values use switches or checkboxes; small mutually exclusive sets use a segmented control; larger option sets use menus; numbers use sliders with displayed values; remapping uses dedicated input rows.
- Reset and deletion sit at the bottom of their own category, separated from routine controls.
- Caller and Back destination remain visible: Title, Guild, or paused Battle.
10. Interaction And Focus
10.1 Focus Order
Focus begins at screen heading, then the current state summary, primary content, context rail, primary action, and secondary tools. The primary action is not automatically focused after a destructive warning. Modal focus begins on Cancel. Focus never follows moving actors or animation.
Controller focus uses a 3 px white outer and 2 px ink inner contour plus a
small cobalt corner mark. Touch selection uses the same contour and a selected
label. Pointer hover may preview focus but cannot reveal unique content.
In SYS-005, focus enters Contract/difficulty, then the four offers in stable
source order, selected count, Compare, Review Company, and Back. Inspect returns
to the invoking offer; comparison returns to its last pinned offer; Revise
returns to the first selected offer still present. Offer focus order never
changes because of selection, generated-name length, loading completion, or a
tutorial highlight.
A policy-disabled destructive control remains focusable so its reason is readable. It is skipped only after the same reason has been announced by an adjacent required notice. Focus order never treats the separate abandonment action as activation of disabled Dismiss. After a stale dismissal rejection, focus returns to Dismiss, announces the zero-delta reason once, then moves to the separate abandonment action on the player's next navigation input.
10.2 Ordering And Selection
- Selection and commitment are separate states.
- Provisional Company checkboxes, A/B comparison pins, and Create Run are three separate state machines; changing one never silently changes another.
- All drag operations have tap-select/tap-destination and controller paths.
- Reorder controls preserve stable IDs and announce old/new numbered positions, front/rear meaning, and movement left/rear or right/front.
- Lists retain focus through sort/filter when the stable ID remains visible; otherwise focus moves to Clear Filters or the first result with an announcement.
- Double tap/press is not required for any essential action.
10.3 Feedback And Haptics
Visual feedback always carries meaning without audio or vibration. Haptics, when available and enabled, distinguish focus movement, legal selection, confirmed receipt, and blocked action. They never announce battle information that lacks a visual and text equivalent.
11. Motion, Effects, And Low Power
Motion communicates source, direction, urgency, commitment, and final state. Layout dimensions do not animate.
| Event | Normal | Reduced motion | Reduced flashes | Low power |
|---|---|---|---|---|
| Select | 90 ms edge lift and contour |
instant contour and marker | unchanged geometry, no luminance spike | final selected state only |
| Recruit/equip receipt | source travels to roster/wearer, then stamped receipt | direct crossfade to final state plus receipt | no bright burst | final state and receipt only |
| Reorder | marker follows cord, relation connectors redraw | immediate position swap with numbered before/after | no flash | immediate final order |
| Risk commit | selected path tightens and scene advances | final selected route plus direction arrow | solid edge instead of pulse | static committed state |
| Event warning | authored anticipation and target projection | stepped poses and persistent geometry | capped luminance; no full-screen white | essential source/target frames only |
| Impact | short response and exact value/status change | no shake or hit pause | contour/value change; reduced particles | final actor state and event row |
| Death | readable exit followed by stable loss marker | direct final pose/marker | no fade-to-white | final pose/marker |
| Reward | ownership path then receipt | direct placement and receipt | no sparkle burst | receipt plus final placement |
Reduced motion removes camera travel, parallax, continuous UI motion, and nonessential ambient loops. Reduced flashes removes full-screen flashes, alternating high-contrast frames, and rapid particle bursts. Low power lowers ambient update frequency, effect density, and nonessential layer animation; it does not change event order, timing rules, target clarity, decisions, or receipts.
Only one nonessential ambient focal process and two background loops run on a short phone. They freeze under overlays and never resemble event warnings.
12. Audio-Independent And Visual Accessibility
- Master mute changes no mechanic, event order, target visibility, transaction, or available decision.
- Captions name event, source, direction, and outcome using
BIND:AUDIO_EVENT_CATALOG; environmental captions remain visually quieter than dangerous battle events. - Output loss raises one nonblocking notice and keeps captions plus event geometry active.
- Mono compatibility is verified by ensuring no necessary cue depends on stereo position alone.
- Color-independent patterns distinguish safe, harmful, uncertain, selected, disabled, and complete.
- High contrast simplifies region textures behind labels and actors without replacing region identity.
- Screen-reader order follows the focus order. Party positions are announced as
position [index], [front/rear meaning], [name], [profession], [condition]; position0is announced as exposed front/right and larger positions as progressively rear/left. Battle events announce source, action, target, outcome, and time/order. SYS-005announcesfour offers, the current checked count, each offer's stable position and checked state, Profession job, Trait benefit/cost, no-Coin cost, Compare A/B state, and whether Review Company is available.- A pauseable full-screen event log provides all urgent automatic battle information in chronological text.
- Controls retain at least
48x48targets at every scale and do not overlap device insets, captions, notices, or each other. LOC:DISMISS_LAST_LIVE_RECRUITandLOC:OPEN_RUN_ABANDONMENT_REVIEWare tested in English (en) and Simplified Chinese (zh_CN) at 100/115/130%. The first communicates the one-member requirement; the second communicates voluntary closure of the whole run.
13. State Grammar
Every reusable actionable component implements these semantics consistently:
| State | Visual/text contract | Input result |
|---|---|---|
| Available | full subject, action verb, sourced cost/effect | opens inspect/review or commits only where explicitly allowed |
| Focused | double contour, corner marker, complete accessible name | first activation selects or invokes the stated tool |
| Selected | raised edge/check, selected label, stable dimensions | enables review; activation alone does not spend |
| Pending | operation name and progress, unchanged geometry | duplicate input ignored; Cancel only if source allows |
| Active | active label and persistent state marker | inspectable; does not restart |
| Unaffordable | current and required values plus shortfall | inspectable; commit disabled |
| Incompatible | conflicting stable subject/rule and correction path | inspectable; commit disabled |
| Policy-disabled | intact control, cross-pin, visible rule, separate legal alternative | activation announces reason only; alternative has its own focus and action |
| Locked | named prerequisite and where to meet it | opens requirement when legal |
| Temporarily unavailable | reason and restoring event | inspectable; no success feedback |
| Complete | named result and receipt mark | opens result; cannot claim again |
| Recoverable error | plain cause, retained state, Retry/Alternate | retries with operation identity |
| Blocking error | affected binding/integrity boundary and safe exit | cannot continue dependent workflow |
State words in localized copy must remain semantically distinct. Disabled opacity alone is insufficient, and disabled text still meets contrast targets.
14. Design Tokens And Handoff
space: 4, 8, 12, 16, 24, 32, 48, 64
radius: 0, 4, 8
control_min: 48
touch_primary_min: 56
stroke: 1, 2, 3
safe_phone: 56x40 + device insets
safe_tablet: 64 + device insets
safe_reference: 96
context_rail: 360, 420, 520
motion_select: 90ms
motion_commit: 180ms
motion_receipt: 360ms
focus_outer: 3px white
focus_inner: 2px ink
text_scale: 100%, 115%, 130%
The later prototype and runtime theme must declare stable component IDs, screen IDs, localized strings, semantic tokens, focus order, icon IDs, operation IDs, and binding references in structured data. Screen-specific styling may select a region material but may not redefine state, color semantics, transaction rules, focus, or accessibility behavior.
Every gallery frame must record:
- screen ID and state;
- viewport and safe-area fixture;
- language and text scale;
- input mode and focus target;
- motion, flash, audio, contrast, and power settings;
- resolved and intentionally unresolved bindings; and
- source revision plus whether the frame is static or interactive.
15. Presentation Acceptance Checklist
- The actual shop, recruit, equipment, artifact, party, risk, battle, result, death, reward, recovery, progression, Settings, and postgame decisions dominate their pages.
- Generated recruits remain replaceable run participants and still read as distinct mechanical identities at roster, planning, and battle scales.
SYS-005visibly holds four unique stable provisional offers, separate Inspect/Compare/Select controls, exactly-two gating, review/revision, no-Coin and unchosen-not-retained consequences, complete invalid/loading/ error/interruption states, and no tutorial-selected build.- The
0:00-3:00path commits one choose-two run creation and then two separate affordable first-Market hires, ending at Company/Line capacity labelsCompany 4 | Line capacity 4without combining purchases or preselecting an offer. - At one total live Recruit across deployed and reserve, Dismiss is visible
and disabled with
One member must remain; explicit abandonment is a separate run-level action and review. - A stale final-survivor dismissal confirmation closes with no Recruit or equipment mutation, no rebate, a readable reason, and deterministic focus.
- The ordered party is immediately readable from protected rear at left to
exposed position
0front at right on landscape phone and tablet; larger numbers extend left and protection contributors remain explicit. - Automatic battle prioritizes urgent cause, affected actors, objective, playback state, and inspect; no control implies insertion of an attack or skill into the timeline.
- Result names the earliest meaningful divergence before totals or rewards.
- Every action exposes state, target, cost, consequence, reversibility, pending state, receipt, and safe return where applicable.
- Every screen remains functional at required phone/tablet fixtures, English, Simplified Chinese, and 130% text/UI scale.
- Touch, controller, and keyboard/mouse support the same complete verbs; no essential action depends on drag, hover, double tap, or pointer precision.
- English, Simplified Chinese, and 130% fixtures keep disabled Dismiss, its reason, and the separate abandonment action visible without overlap.
- Reduced motion, reduced flashes, mute/captions, high contrast, screen reader order, and low power preserve decisions and causal information.
- Cards remain limited to repeated items and reviews; world/actors are the primary surface and components do not nest decorative containers.
- Gameplay values and media identities remain sourced bindings until their owning authorities integrate them.
- No design fixture is described as implementation, final media, device, comprehension, fun, packaging, store, or release acceptance.