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.
- package/AGENTS.md +15 -1
- package/DOMAINS.md +7 -3
- package/GOVERNANCE.md +13 -11
- package/LICENSE-DOCS +2 -2
- package/README.md +23 -10
- package/consumer-reference/agent-native/v2/admission-policy.json +32 -37
- package/consumer-reference/agent-native/v2/material-registry.json +1 -1
- package/consumer-reference/agent-native/v2/schema/admission-policy.schema.json +3 -3
- package/consumer-reference/agent-native/v2/schema/material-record.schema.json +1 -1
- package/design-engineering/state-management/index.md +1 -1
- package/design-engineering/state-management/patterns/derived-state.md +1 -1
- package/design-engineering/state-management/patterns/draft-and-baseline.md +1 -1
- package/design-engineering/state-management/patterns/id-selection.md +1 -1
- package/design-engineering/state-management/patterns/identity-reset.md +1 -1
- package/design-engineering/state-management/patterns/latest-request-wins.md +1 -1
- package/design-engineering/state-management/patterns/optimistic-overlay.md +1 -1
- package/design-engineering/state-management/patterns/single-flight.md +1 -1
- package/design-engineering/state-management/patterns/single-owner.md +1 -1
- package/design-engineering/state-management/patterns/submitted-snapshot.md +1 -1
- package/design-engineering/state-management/patterns/unsaved-navigation.md +1 -1
- package/design-engineering/state-management/patterns/url-state.md +1 -1
- package/design-engineering/state-management/patterns/versioned-restore.md +1 -1
- package/design-engineering/state-management/verification.md +1 -1
- package/design-terminology/conflict-cases.md +1 -1
- package/design-terminology/source-kinds.md +1 -1
- package/expression/brand-studies.md +50 -0
- package/expression/direction-brief.md +83 -0
- package/expression/directions/nocturne-editorial.md +81 -0
- package/expression/directions/warm-print.md +73 -0
- package/expression/index.md +52 -0
- package/expression/techniques/gradient-atmosphere.md +107 -0
- package/expression/techniques/grain-and-texture.md +83 -0
- package/expression/techniques/webgl-hero.md +123 -0
- package/guides/vocabulary.md +1 -1
- package/index.md +3 -3
- package/log.md +45 -0
- package/motion/index.md +71 -0
- package/motion/techniques/kinetic-type.md +145 -0
- package/motion/techniques/scroll-choreography.md +154 -0
- package/package.json +17 -14
- package/platform-guides/compatibility-matrix.md +1 -1
- package/quality/claim-records/samples.md +50 -0
- package/quality/claim-records/stylegallery-multidomain-scope.md +2 -2
- package/quality/claims.md +24 -1
- package/quality/evidence/executable-evidence.md +1 -1
- package/quality/index.md +1 -2
- package/scripts/agent-native/v2/material-admission.mjs +1 -1
- package/scripts/agent-native/v2/material-identity.mjs +2 -2
- package/scripts/compiler/README.md +5 -5
- package/showcase/README.md +127 -0
- package/game-ui/classification.md +0 -82
- package/game-ui/decision-tree.md +0 -81
- package/game-ui/index.md +0 -45
- package/game-ui/reference-record.md +0 -62
- package/game-ui/screen-hierarchy.md +0 -107
- package/game-ui/screen-recipes.md +0 -101
- package/game-ui/unity/architecture.md +0 -166
- package/game-ui/unity/cli-loop.md +0 -84
- package/game-ui/unity/org-wiki.md +0 -146
- package/game-ui/unity/repository-map.md +0 -102
- package/game-ui/unity/ui-systems.md +0 -85
- 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).
|
package/game-ui/decision-tree.md
DELETED
|
@@ -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).
|