stylegallery 0.1.7 → 0.1.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (62) hide show
  1. package/AGENTS.md +15 -1
  2. package/DOMAINS.md +7 -3
  3. package/GOVERNANCE.md +13 -11
  4. package/LICENSE-DOCS +2 -2
  5. package/README.md +23 -10
  6. package/consumer-reference/agent-native/v2/admission-policy.json +32 -37
  7. package/consumer-reference/agent-native/v2/material-registry.json +1 -1
  8. package/consumer-reference/agent-native/v2/schema/admission-policy.schema.json +3 -3
  9. package/consumer-reference/agent-native/v2/schema/material-record.schema.json +1 -1
  10. package/design-engineering/state-management/index.md +1 -1
  11. package/design-engineering/state-management/patterns/derived-state.md +1 -1
  12. package/design-engineering/state-management/patterns/draft-and-baseline.md +1 -1
  13. package/design-engineering/state-management/patterns/id-selection.md +1 -1
  14. package/design-engineering/state-management/patterns/identity-reset.md +1 -1
  15. package/design-engineering/state-management/patterns/latest-request-wins.md +1 -1
  16. package/design-engineering/state-management/patterns/optimistic-overlay.md +1 -1
  17. package/design-engineering/state-management/patterns/single-flight.md +1 -1
  18. package/design-engineering/state-management/patterns/single-owner.md +1 -1
  19. package/design-engineering/state-management/patterns/submitted-snapshot.md +1 -1
  20. package/design-engineering/state-management/patterns/unsaved-navigation.md +1 -1
  21. package/design-engineering/state-management/patterns/url-state.md +1 -1
  22. package/design-engineering/state-management/patterns/versioned-restore.md +1 -1
  23. package/design-engineering/state-management/verification.md +1 -1
  24. package/design-terminology/conflict-cases.md +1 -1
  25. package/design-terminology/source-kinds.md +1 -1
  26. package/expression/brand-studies.md +50 -0
  27. package/expression/direction-brief.md +83 -0
  28. package/expression/directions/nocturne-editorial.md +81 -0
  29. package/expression/directions/warm-print.md +73 -0
  30. package/expression/index.md +52 -0
  31. package/expression/techniques/gradient-atmosphere.md +107 -0
  32. package/expression/techniques/grain-and-texture.md +83 -0
  33. package/expression/techniques/webgl-hero.md +123 -0
  34. package/guides/vocabulary.md +1 -1
  35. package/index.md +3 -3
  36. package/log.md +45 -0
  37. package/motion/index.md +71 -0
  38. package/motion/techniques/kinetic-type.md +145 -0
  39. package/motion/techniques/scroll-choreography.md +154 -0
  40. package/package.json +17 -14
  41. package/platform-guides/compatibility-matrix.md +1 -1
  42. package/quality/claim-records/samples.md +50 -0
  43. package/quality/claim-records/stylegallery-multidomain-scope.md +2 -2
  44. package/quality/claims.md +24 -1
  45. package/quality/evidence/executable-evidence.md +1 -1
  46. package/quality/index.md +1 -2
  47. package/scripts/agent-native/v2/material-admission.mjs +1 -1
  48. package/scripts/agent-native/v2/material-identity.mjs +2 -2
  49. package/scripts/compiler/README.md +5 -5
  50. package/showcase/README.md +127 -0
  51. package/game-ui/classification.md +0 -82
  52. package/game-ui/decision-tree.md +0 -81
  53. package/game-ui/index.md +0 -45
  54. package/game-ui/reference-record.md +0 -62
  55. package/game-ui/screen-hierarchy.md +0 -107
  56. package/game-ui/screen-recipes.md +0 -101
  57. package/game-ui/unity/architecture.md +0 -166
  58. package/game-ui/unity/cli-loop.md +0 -84
  59. package/game-ui/unity/org-wiki.md +0 -146
  60. package/game-ui/unity/repository-map.md +0 -102
  61. package/game-ui/unity/ui-systems.md +0 -85
  62. package/game-ui/verification-workflow.md +0 -100
@@ -1,82 +0,0 @@
1
- ---
2
- type: Domain Guide
3
- title: Game UI Classification
4
- description: Engine-neutral method for classifying game interfaces by player task, presentation, input, state, and motion.
5
- domain: game-ui
6
- lifecycle: experimental
7
- ---
8
-
9
- # Game UI Classification
10
-
11
- Primary role: game-interface classification guide.
12
-
13
- ## Repository Boundary
14
-
15
- This guide proposes a local, project-neutral taxonomy for classifying observable game-interface behavior without assuming a specific engine or art direction. Its player-task classes and classification axes are review tools, not a universal ontology. It does not turn a visual genre into a functional category or authorize decorative properties in reusable Layout patterns.
16
-
17
- ## Reusable Method
18
-
19
- 1. Capture the rendered screen or interaction in context.
20
- 2. Assign one primary player-task class.
21
- 3. Add secondary classes only when the same surface genuinely composes responsibilities.
22
- 4. Record visual language, input, state, motion, and implementation as separate axes.
23
- 5. Attach evidence for default, exceptional, and transitional states.
24
- 6. State what is observed, inferred, and still unverified.
25
-
26
- ## Player-Task Classes
27
-
28
- | Primary class | Player question | Typical examples |
29
- | --- | --- | --- |
30
- | `hud` | What is happening during play right now? | Health, ammo, objective, marker, cooldown |
31
- | `navigation` | Where can I go next? | Main menu, pause menu, chapter or mode selection |
32
- | `dialog` | What decision or interruption needs attention? | Confirmation, reconnect, privacy, system notice |
33
- | `inventory` | What do I own, equip, compare, or improve? | Loadout, stash, equipment, crafting, upgrade |
34
- | `progression` | What did I unlock or how am I advancing? | Results, level up, rewards, rank change |
35
- | `commerce` | What can I acquire and at what cost? | Shop, offer, product detail, currency shortage |
36
- | `tutorial` | What action should I learn or perform? | Coach mark, forced step, contextual hint |
37
- | `narrative` | What story or authored event is being presented? | Dialogue, boss intro, cinematic overlay |
38
- | `system-status` | Is the application ready and connected? | Splash, loading, sign-in, reconnect, patch status |
39
- | `input-surface` | How do I directly control the game? | Virtual stick, action button, key binding |
40
-
41
- ## Classification Axes
42
-
43
- | Axis | Example values | Evidence requirement |
44
- | --- | --- | --- |
45
- | World relationship | `diegetic`, `spatial`, `overlay`, `full-screen` | Capture placement relative to play space |
46
- | Material character | `flat-graphic`, `framed`, `skeuomorphic`, `translucent`, `textural` | Capture repeated surface treatment |
47
- | Genre signal | `tactical`, `industrial`, `fantasy-ornamental`, `arcade`, `horror`, `casual` | Show repeated shape, type, icon, and material cues |
48
- | Information density | `sparse`, `standard`, `dense` | Count simultaneous choices and information groups |
49
- | Emphasis model | `typographic`, `icon-led`, `character-led`, `item-led`, `effect-led` | Identify first and second attention targets |
50
- | Input | pointer, keyboard, gamepad, touch, gaze, mixed | Exercise every declared input mode |
51
- | Motion role | affordance, activation, state change, transition, value change, reward, guidance, ambient | Record trigger, properties, timing, and interruption |
52
-
53
- ## Opinionated Guidance
54
-
55
- - Organize the gallery first by player task, then filter by presentation and implementation axes.
56
- - Use two or three visual tags supported by repeated evidence.
57
- - Classify independent player-task regions separately when a screen composes them.
58
- - Do not infer style or behavior from project, prefab, widget, scene, or class names alone.
59
-
60
- ## Platform-Specific Guidance
61
-
62
- Record engine, UI framework, render space, scaling policy, navigation system, text system, and motion system as implementation evidence. Route detailed engine hierarchy and API guidance to the matching engine-specific Game UI guide.
63
-
64
- ## Unsupported Absolutes
65
-
66
- - A genre label does not establish a visual style.
67
- - A screenshot does not prove responsive behavior, focus behavior, or motion interruption.
68
- - A production project's folder structure is not a universal architecture.
69
- - Similar appearance does not prove equivalent accessibility, performance, or interaction behavior.
70
-
71
- ## Verification Contract
72
-
73
- Verify narrow and wide surfaces, every declared input mode, long localized text, empty and loading states, disabled and error states, repeated open and close, rapid selection changes, and interrupted motion where relevant.
74
-
75
- ## Source, License, And Attribution
76
-
77
- This page is a locally authored, project-neutral proposed taxonomy. It reproduces no game assets, project-specific hierarchy, or upstream implementation samples.
78
-
79
- ## IA Navigation
80
-
81
- Parent: [Game UI](index.md).
82
- Next: [Game UI Screen Hierarchy](screen-hierarchy.md).
@@ -1,81 +0,0 @@
1
- ---
2
- type: Domain Guide
3
- title: Game UI Decision Tree
4
- description: Select player-task recipes, ownership boundaries, and engine routes from the screen's purpose.
5
- domain: game-ui
6
- lifecycle: experimental
7
- provenance_kind: local
8
- ---
9
-
10
- # Game UI Decision Tree
11
-
12
- Primary role: game screen planning route.
13
-
14
- ## Repository Boundary
15
-
16
- This route selects game-interface responsibilities independently of engine and art direction. The [Classification](classification.md) remains the local taxonomy; the [Screen Hierarchy](screen-hierarchy.md) defines ownership roles.
17
-
18
- ## Reusable Method
19
-
20
- 1. Write the player's question while the interface is visible.
21
- 2. Choose one primary task class from the table below.
22
- 3. Decide whether play continues and which input actions must be blocked.
23
- 4. Assign lifetime, focus, sorting, and state ownership.
24
- 5. Adapt a [Screen Recipe](screen-recipes.md), then run the [Verification Workflow](verification-workflow.md).
25
-
26
- ## Player Task Route
27
-
28
- | Player question | Primary class | Recipe |
29
- | --- | --- | --- |
30
- | What is happening during play? | `hud` | [Play status and input](screen-recipes.md#play-status-and-input) |
31
- | How do I perform an action? | `input-surface` | [Play status and input](screen-recipes.md#play-status-and-input) |
32
- | Where can I go, pause, or leave? | `navigation` | [Pause and navigation](screen-recipes.md#pause-and-navigation) |
33
- | What decision requires attention? | `dialog` | [Blocking decisions and connection](screen-recipes.md#blocking-decisions-and-connection) |
34
- | Is the game ready or connected? | `system-status` | [Blocking decisions and connection](screen-recipes.md#blocking-decisions-and-connection) |
35
- | What can I equip or compare? | `inventory` | [Inventory and comparison](screen-recipes.md#inventory-and-comparison) |
36
- | What have I earned or unlocked? | `progression` | [Results and progression](screen-recipes.md#results-and-progression) |
37
- | What can I obtain, and at what cost? | `commerce` | [Offers and acquisition](screen-recipes.md#offers-and-acquisition) |
38
- | What should I learn next? | `tutorial` | [Teaching and narrative](screen-recipes.md#teaching-and-narrative) |
39
- | What story is being presented? | `narrative` | [Teaching and narrative](screen-recipes.md#teaching-and-narrative) |
40
-
41
- If a screen contains several tasks, classify regions independently. A purchase confirmation inside an inventory screen is a dialog owned by a commerce operation; it is not another inventory slot.
42
-
43
- ## Ownership Decisions
44
-
45
- | Decision | Record before implementing |
46
- | --- | --- |
47
- | Lifetime | Application, session, scene, screen, entity, or one operation |
48
- | Play relationship | Continues, pauses locally, or requests a networked pause; identify authority |
49
- | Input | Active action map, focus owner, pointer/gamepad coexistence, cancellation |
50
- | Ordering | Screen, HUD, world-linked, modal, or transient host; name competing hosts |
51
- | Data | Authoritative state versus preview, selection, pending operation and stale data |
52
- | Exit | What is restored, destroyed, retained, or reconciled |
53
-
54
- ## Worked Selection
55
-
56
- A loadout screen shows owned equipment, character attributes, and a purchase button for an unavailable slot. Inventory is primary; comparison is a supporting region. The purchase flow is commerce and any confirmation is a modal decision. Closing the modal returns to the same slot. Losing connection updates operation status without clearing the loadout selection. A server response after the screen closes belongs to the operation owner, not a destroyed view.
57
-
58
- ## Opinionated Guidance
59
-
60
- Separate the player's task from visual genre. Assign one cancellation owner for each active layer so the same Back/Cancel input does not dismiss a dialog and its parent screen together.
61
-
62
- ## Platform-Specific Guidance
63
-
64
- For Unity, select the [UI System](unity/ui-systems.md), map [Architecture](unity/architecture.md), then use the [CLI Loop](unity/cli-loop.md) for the declared stack. Other engines retain these role contracts but require their own verified API mapping; no cross-engine runtime equivalence is claimed.
65
-
66
- ## Unsupported Absolutes
67
-
68
- A pause menu does not imply multiplayer simulation can pause. Hierarchy order does not prove input blocking, focus, or sorting. A taxonomy label does not establish rendered behavior.
69
-
70
- ## Verification Contract
71
-
72
- Check one ordinary screen, one overlay composition, and one unexpected interruption such as disconnection or scene teardown. Every active layer needs a named lifetime, input, sorting, and exit owner. Revisit the route if a real player task cannot be classified without forcing unrelated responsibilities together.
73
-
74
- ## Source, License, And Attribution
75
-
76
- Locally authored route and fictional loadout case. It imports no game assets, third-party hierarchy, or engine code.
77
-
78
- ## IA Navigation
79
-
80
- Parent: [Game UI](index.md).
81
- Next: [Game UI Screen Recipes](screen-recipes.md).
package/game-ui/index.md DELETED
@@ -1,45 +0,0 @@
1
- # Game UI
2
-
3
- Game UI owns engine-neutral guidance for game-interface purpose, presentation, screen hierarchy, and evidence records, plus named engine implementation guides.
4
-
5
- ## Scope Boundary
6
-
7
- In scope: player-task classification, screen and overlay hierarchy, reusable reference metadata, state coverage, cross-engine comparison vocabulary, and engine-specific implementation guidance.
8
-
9
- Out of scope: reusable Layout CSS, universal visual prescriptions, and treating one engine's scene graph or API as a cross-engine requirement.
10
-
11
- ## Evidence And Research Boundary
12
-
13
- The player-task classes and classification axes are a local taxonomy proposed for StyleGallery review, not Interface In Game's universal ontology.
14
-
15
- Interface In Game was reviewed on 2026-07-14 through its [home page](https://interfaceingame.com/), [games index](https://interfaceingame.com/games/), and representative records for [Team Fortress 2](https://interfaceingame.com/games/team-fortress-2/), [Genshin Impact (Mobile)](https://interfaceingame.com/games/genshin-impact-mobile/), and [Gris](https://interfaceingame.com/games/gris/). In this bounded sample, the site exposed site-local facets such as Genres, Themes, and Platforms, while screenshots used Elements. The sample informs the local separation of player task from other axes; it does not cover the archive or establish the site's full information model.
16
-
17
- ## Start Here
18
-
19
- | Task | Route |
20
- | --- | --- |
21
- | Choose by player task and ownership. | [Game UI Decision Tree](decision-tree.md) |
22
- | Compose all ten player-task classes with failure cases. | [Game UI Screen Recipes](screen-recipes.md) |
23
- | Record input, state, hierarchy, and teardown evidence. | [Game UI Verification Workflow](verification-workflow.md) |
24
-
25
- These workflows and worked cases are usable experimental guidance. Expected-result tables are test designs; actual product, engine, and reader evidence must be recorded separately. Review on a failed task, a source change, or a changed ownership contract.
26
-
27
- ## Available Guides
28
-
29
- - [Game UI Classification](classification.md) separates player purpose from visual language, input, state, and motion.
30
- - [Game UI Screen Hierarchy](screen-hierarchy.md) defines engine-neutral layers from application shell to atomic control.
31
- - [Game UI Reference Record](reference-record.md) provides the minimum evidence schema for gallery entries.
32
- - [Unity UI Architecture](unity/architecture.md) maps the hierarchy roles to Unity Scenes, Canvas layers, prefabs, runtime instances, input, and motion ownership.
33
- - [Unity UI Systems](unity/ui-systems.md) compares uGUI, UI Toolkit, and NGUI ownership and capability shapes at pinned sources.
34
- - [Unity CLI Loop](unity/cli-loop.md) defines a source-pinned command loop for Unity UI inspection and stack-specific interaction evidence.
35
- - [Unity Repository Map](unity/repository-map.md) maps the public Unity-Technologies repository snapshot by UI relevance, authority, and lifecycle.
36
- - [Unity Organization Compressed Wiki](unity/org-wiki.md) routes all 804 captured public repositories through a tracked inventory and bounded exclusive clusters.
37
-
38
- ## Domain Contract
39
-
40
- Game UI describes interface purpose, screen composition, and how named engines can realize that model. Platform Guides cover non-game platform conventions; Layout owns portable spatial patterns.
41
-
42
- ## IA Navigation
43
-
44
- Parent: [StyleGallery](../index.md).
45
- Next: [Game UI Decision Tree](decision-tree.md).
@@ -1,62 +0,0 @@
1
- ---
2
- type: Domain Guide
3
- title: Game UI Reference Record
4
- description: Minimum evidence record for adding a game-interface reference to StyleGallery.
5
- domain: game-ui
6
- lifecycle: experimental
7
- ---
8
-
9
- # Game UI Reference Record
10
-
11
- Primary role: gallery evidence template.
12
-
13
- ## Repository Boundary
14
-
15
- This record captures enough context to compare a game UI reference without importing its assets, source hierarchy, or implementation assumptions as gallery policy.
16
-
17
- ## Reusable Method
18
-
19
- Complete the record from rendered evidence first, then add hierarchy and implementation facts. Mark unknown fields instead of guessing from names.
20
-
21
- ## Minimum Record
22
-
23
- | Field | Required content |
24
- | --- | --- |
25
- | Identity | Entry name, source, capture date, source revision or version |
26
- | Player task | One primary class and justified secondary classes |
27
- | Presentation | Two or three visual-language tags with rendered evidence |
28
- | Hierarchy | Root, layer, screen, region, component, and control ownership |
29
- | Platform | Engine, UI framework, relevant package or runtime versions |
30
- | Surface | Render space, aspect ratios, safe area, scaling policy |
31
- | Input | Supported modes, initial focus, navigation, cancellation, focus return |
32
- | States | Default, selected, disabled, loading, error, empty, modal |
33
- | Motion | Role, trigger, properties, timing, interruption, completion |
34
- | Evidence | Screen capture, recording, hierarchy capture, relevant source paths |
35
- | Boundary | Observed facts, inferences, unknowns, and reuse restrictions |
36
-
37
- ## Opinionated Guidance
38
-
39
- Prefer a complete record to a large screenshot collection missing state, hierarchy, or input evidence. It must explain the classification and what remains unproven.
40
-
41
- ## Platform-Specific Guidance
42
-
43
- Use the matching engine-specific Game UI guide to fill implementation fields. Engine terms supplement this record; they do not replace the engine-neutral player-task and hierarchy roles.
44
-
45
- ## Unsupported Absolutes
46
-
47
- - A source path is not rendered evidence.
48
- - A polished capture is not proof of edge-state behavior.
49
- - A single aspect ratio or input mode is not broad platform coverage.
50
-
51
- ## Verification Contract
52
-
53
- Reject an entry if its primary player task, rendered state, source identity, or evidence boundary is unknown. Keep incomplete entries in draft; do not infer missing facts.
54
-
55
- ## Source, License, And Attribution
56
-
57
- Record source licensing and reuse restrictions per entry. Do not copy protected game assets into the repository merely to make the record self-contained.
58
-
59
- ## IA Navigation
60
-
61
- Parent: [Game UI](index.md).
62
- Next: [Unity UI Architecture](unity/architecture.md).
@@ -1,107 +0,0 @@
1
- ---
2
- type: Domain Guide
3
- title: Game UI Screen Hierarchy
4
- description: Engine-neutral ownership model for composing game-interface shells, screens, layers, regions, components, and controls.
5
- domain: game-ui
6
- lifecycle: experimental
7
- ---
8
-
9
- # Game UI Screen Hierarchy
10
-
11
- Primary role: engine-neutral hierarchy guide.
12
-
13
- ## Repository Boundary
14
-
15
- This hierarchy describes interface responsibility, not a required scene graph or prefab tree. Engines may realize the same roles through scenes, widgets, documents, entities, prefabs, or runtime objects.
16
-
17
- ## Reusable Method
18
-
19
- Read a game UI hierarchy from ownership outward:
20
-
21
- 1. Identify the lifetime owner.
22
- 2. Identify the active player task.
23
- 3. Separate persistent, replaceable, modal, transient, and world-linked layers.
24
- 4. Name screen regions by responsibility.
25
- 5. Find repeated components and atomic controls.
26
- 6. Record navigation, input blocking, sorting, focus, and teardown ownership.
27
-
28
- ## Reference Hierarchy
29
-
30
- ```text
31
- Application UI Root
32
- ├── Persistent Services
33
- │ ├── Input and Focus Routing
34
- │ ├── Loading and Blocking
35
- │ ├── Notifications
36
- │ └── Accessibility and Localization
37
- ├── Screen Host
38
- │ └── Active Screen
39
- │ ├── Screen Header
40
- │ ├── Primary Region
41
- │ ├── Supporting Region
42
- │ └── Screen Actions
43
- ├── HUD Layer
44
- │ ├── Player Status
45
- │ ├── World Status
46
- │ ├── Objectives
47
- │ └── Context Actions
48
- ├── Modal Layer
49
- │ ├── Blocker
50
- │ └── Dialog or Popup Stack
51
- ├── Transient Layer
52
- │ ├── Toasts
53
- │ ├── Tooltips
54
- │ └── Reward and Feedback Effects
55
- └── World-Linked UI
56
- ├── Markers
57
- ├── Labels
58
- └── Interaction Prompts
59
- ```
60
-
61
- ## Hierarchy Roles
62
-
63
- | Level | Owns | Must not silently own |
64
- | --- | --- | --- |
65
- | Application root | Cross-screen lifetime, global routing, top-level sorting | Screen-specific business state |
66
- | Layer host | Ordering, visibility policy, input blocking | Individual component presentation |
67
- | Screen | One primary player task and its navigation boundary | Unrelated global services |
68
- | Region | A stable information or action responsibility | Whole-screen lifecycle |
69
- | Component | Reusable stateful presentation unit | Global navigation policy |
70
- | Control | One direct interaction or value presentation | Hidden cross-screen side effects |
71
-
72
- ## Composition Rules
73
-
74
- - Keep persistent services independent from replaceable screen content.
75
- - Assign explicit ownership for modal blocking and modal content.
76
- - Separate popup stacks, notifications, tooltips, and reward effects when their lifetime, input, sorting, or interruption responsibilities differ.
77
- - Distinguish world-linked UI from screen-space HUD by camera, target, and lifetime ownership, not shared visual tokens.
78
- - Prefer explicit data and state inputs for repeated list cells, slots, tabs, meters, and buttons over implicit global-state access.
79
- - Preserve logical navigation order when visual sorting or animation changes.
80
-
81
- ## Opinionated Guidance
82
-
83
- A shallow tree is not automatically better than a deep tree. Prefer boundaries that make lifetime, input, sorting, and reuse obvious. Undocumented nodes used only to offset animation, scaling, or masking side effects are a fragility signal.
84
-
85
- ## Platform-Specific Guidance
86
-
87
- Map these roles to the target engine without copying the hierarchy literally. See [Unity UI Architecture](unity/architecture.md) for Unity Scene, Canvas, prefab, and runtime mapping.
88
-
89
- ## Unsupported Absolutes
90
-
91
- - Do not require one root Canvas, widget tree, or scene for every game.
92
- - Do not equate folder nesting with runtime ownership.
93
- - Do not assume a prefab, widget, or component boundary is also a navigation boundary.
94
- - Do not infer input blocking or render order from hierarchy position alone.
95
-
96
- ## Verification Contract
97
-
98
- Trace one screen from creation through teardown. Record its creator, sorting layer, input blocker, focus entry and return, what survives screen changes, and modal or transition interruption behavior.
99
-
100
- ## Source, License, And Attribution
101
-
102
- This page synthesizes recurring hierarchy responsibilities observed across game UI implementations without reproducing any project-specific object tree.
103
-
104
- ## IA Navigation
105
-
106
- Parent: [Game UI](index.md).
107
- Next: [Game UI Reference Record](reference-record.md).
@@ -1,101 +0,0 @@
1
- ---
2
- type: Domain Guide
3
- title: Game UI Screen Recipes
4
- description: Engine-neutral screen compositions with player task, lifetime, input, state, recovery, and acceptance cases.
5
- domain: game-ui
6
- lifecycle: experimental
7
- provenance_kind: local
8
- ---
9
-
10
- # Game UI Screen Recipes
11
-
12
- Primary role: game screen composition catalog.
13
-
14
- ## Repository Boundary
15
-
16
- These are fictional compositions of [Screen Hierarchy](screen-hierarchy.md) roles. They prescribe no engine tree, artwork, or reusable Layout CSS. Use the [Decision Tree](decision-tree.md) to select by player task; record real references with the [Reference Record](reference-record.md).
17
-
18
- ## Reusable Method
19
-
20
- For the selected recipe, name the persistent owner, screen or entity owner, active input recipient, exceptional states, and exit behavior. Each acceptance case below is an expected result awaiting consumer execution.
21
-
22
- ## Play Status And Input
23
-
24
- Primary classes: `hud` and separately classified `input-surface` regions. A session-owned HUD presents player status, objectives, and contextual prompts. Entity-linked markers follow entity lifetime; virtual controls own their active press/drag state. HUD data observes gameplay authority rather than predicting confirmed rewards or inventory changes.
25
-
26
- Keep critical state understandable when an effect is absent. Distinguish zero value from unavailable data. Record how spectator, respawn, controller disconnection, and menus change visibility and input routing.
27
-
28
- Acceptance case: open a blocking menu while an action is held; release the action, close the menu, and confirm no stuck input remains. Destroy a marked entity and confirm its marker and subscriptions are removed.
29
-
30
- ## Pause And Navigation
31
-
32
- Primary class: `navigation`. A screen host owns destinations; a pause overlay owns its focus scope and return target. The simulation/session owner decides whether play pauses. Audio, background input, and timers have explicit policies.
33
-
34
- Preserve navigation selection when opening settings and returning. Loading a new destination invalidates old screen callbacks. Cancel should consume one active layer at a time.
35
-
36
- Acceptance case: pause → settings → confirmation → cancel three times. Verify each step closes only the intended layer and restores the previous selection. For network play, verify the UI does not claim the world is paused when it continues.
37
-
38
- ## Blocking Decisions And Connection
39
-
40
- Primary classes: `dialog` or `system-status`. A modal host owns blocking and focus; a connection service owns retry state. Keep message, available actions, retry state, and outcome distinct. Only block input that conflicts with the required decision.
41
-
42
- Reconnection success must reconcile the current screen, which may differ from the screen present at failure. A retry response from an earlier attempt cannot dismiss a newer failure. Define whether a system notice supersedes, queues behind, or composes with an existing modal.
43
-
44
- Acceptance case: lose connection during an inventory operation, open a system notice, then receive an old retry response. The current error/operation state remains authoritative and dismissal leaves no invisible blocker.
45
-
46
- ## Inventory And Comparison
47
-
48
- Primary class: `inventory`. A screen owns filters, selection, and focus history. The data service owns item identity and confirmed equipment; a detail region owns the selected item's presentation. List/grid cells receive explicit data and selection state.
49
-
50
- Compare by stable item identity, not cell position. Separate selected, equipped, unavailable, pending, and failed states. Preserve selection where possible after filtering or sorting; document a fallback when the item disappears.
51
-
52
- Acceptance case: select item A, request equip, select B, then resolve A. A's result updates inventory truth while detail remains on B. Test empty inventory, maximum content, long localized attributes, and a disabled first item.
53
-
54
- ## Results And Progression
55
-
56
- Primary class: `progression`. The completed-match/session record owns final values; presentation may stage reveal of those values. Reveal completion does not grant rewards. Skip reveals the confirmed final state once; replaying a presentation cannot duplicate a grant.
57
-
58
- Distinguish provisional, confirmed, and unavailable results. Preserve a readable result summary after a flourish. A disconnected client must not present an unconfirmed reward as owned.
59
-
60
- Acceptance case: skip twice, navigate away, and reopen results. The grant count stays unchanged, and the same authoritative result is shown. Test zero rewards and a reward list longer than the visible region.
61
-
62
- ## Offers And Acquisition
63
-
64
- Primary class: `commerce`. The catalog owns offer identity, the purchase service owns transaction outcome, and the UI owns selection and acknowledgement. Show the item, total cost, currency, and eligibility before commitment. Pending, rejected, cancelled, expired, and fulfilled are different states.
65
-
66
- Do not derive success from a button effect or optimistic currency subtraction. Reconcile price/availability changes before accepting a commitment. Duplicate input must follow the transaction contract.
67
-
68
- Acceptance case: change availability between selection and submission, fail a request, and retry. The UI explains the current offer and never reports an unconfirmed acquisition. Actual payments and platform purchasing rules require consumer-specific verification.
69
-
70
- ## Teaching And Narrative
71
-
72
- Primary classes: `tutorial` or `narrative`. A step/story controller owns progress; presentation owns text, highlight, voice/subtitle synchronization, and skip controls. Identify whether gameplay continues and whether a teaching step intentionally restricts input.
73
-
74
- A tutorial must explain a usable alternative when the expected device is absent. Narrative skip semantics distinguish advancing one line, finishing a scene, and suppressing future presentation. Progress must not depend only on a reveal animation finishing.
75
-
76
- Acceptance case: switch input mode midway through a tutorial, interrupt dialogue with a system modal, and return. Prompts match the current input, the story/step index remains correct, and required instructions can still be read.
77
-
78
- ## Opinionated Guidance
79
-
80
- Keep screens thin enough that authoritative data survives their teardown when needed. Give each modal, transient effect, and world marker an explicit owner even when they share visual treatment.
81
-
82
- ## Platform-Specific Guidance
83
-
84
- Map roles through the engine-specific guides. Safe areas, scaling, text shaping, controller focus, and accessibility capabilities require the actual engine, version, and target platform. A browser prototype is not evidence of console or engine behavior.
85
-
86
- ## Unsupported Absolutes
87
-
88
- These recipes are not a universal game UX taxonomy, tested architecture, or proof of accessibility. A successful screenshot cannot prove operation integrity, input isolation, or teardown.
89
-
90
- ## Verification Contract
91
-
92
- Run the chosen acceptance case with every declared input, target aspect ratios/safe areas, long localization, error/empty states, and interruptions. Record observed results in the [Verification Workflow](verification-workflow.md). `consumer_reference: not_applicable` applies here because these fictional compositions select no consumer record. Review when a runtime observation contradicts an ownership or recovery rule.
93
-
94
- ## Source, License, And Attribution
95
-
96
- Locally authored fictional recipes with no copied game assets or implementation. Player classes and hierarchy roles come from this domain's local contracts.
97
-
98
- ## IA Navigation
99
-
100
- Parent: [Game UI](index.md).
101
- Next: [Game UI Verification Workflow](verification-workflow.md).