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,85 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
type: Domain Guide
|
|
3
|
-
title: Unity UI Systems
|
|
4
|
-
description: Source-pinned comparison of uGUI, UI Toolkit, and NGUI ownership and responsibilities for Game UI review.
|
|
5
|
-
domain: game-ui
|
|
6
|
-
lifecycle: experimental
|
|
7
|
-
platform: Unity uGUI, UI Toolkit, and NGUI
|
|
8
|
-
platform_version: Unity 6000.3 source boundary for uGUI and UI Toolkit; NGUI pinned repository snapshot
|
|
9
|
-
reviewed_on: 2026-07-14
|
|
10
|
-
---
|
|
11
|
-
|
|
12
|
-
# Unity UI Systems
|
|
13
|
-
|
|
14
|
-
Primary role: Unity UI stack comparison guide.
|
|
15
|
-
|
|
16
|
-
## Repository Boundary
|
|
17
|
-
|
|
18
|
-
This locally authored comparison helps a Game UI reviewer identify which hierarchy, input, layout, and lifecycle evidence belongs to uGUI, UI Toolkit, or NGUI. It compares ownership and responsibilities at pinned sources; it does not prescribe one stack, treat the APIs as interchangeable, or project historical examples onto current Unity releases.
|
|
19
|
-
|
|
20
|
-
## Version Boundary
|
|
21
|
-
|
|
22
|
-
- uGUI observations use the Unity 6000.3 branch at `9edb4420267b6652090ece4c28c38bd98746a68e`.
|
|
23
|
-
- UI Toolkit observations use UnityCsReference `6000.3.19f1` at `79f16640303119112ca5caed4d71c607d0dff6fb`. UnityCsReference is reference source, not a package mirror.
|
|
24
|
-
- NGUI observations use `tasharen/ngui@9bbc56f11e0e25b89fd55b9b9bc67ddf1f182fe2`. The repository describes a third-party system originating in 2011; treat this pinned snapshot separately from Unity-owned stacks and older NGUI distributions.
|
|
25
|
-
|
|
26
|
-
## Reusable Method
|
|
27
|
-
|
|
28
|
-
1. Record the Unity, package, and repository revisions used by the project.
|
|
29
|
-
2. Identify the tree owner: Canvas and GameObjects, Panel and VisualElements, or UIRoot/UIPanel and GameObjects.
|
|
30
|
-
3. Trace input and focus through the active stack-specific route.
|
|
31
|
-
4. Inspect layout, styling, motion, binding, and scrolling as separate responsibilities.
|
|
32
|
-
5. Record serialized assets, runtime-created state, and editor-only tooling.
|
|
33
|
-
6. Label every example as current system source, current example, adjacent observation, or historical material.
|
|
34
|
-
|
|
35
|
-
## System Comparison
|
|
36
|
-
|
|
37
|
-
| Axis | uGUI at the pinned Unity 6000.3 source | UI Toolkit at the pinned Unity 6000.3 reference source | NGUI at the pinned repository snapshot |
|
|
38
|
-
| --- | --- | --- | --- |
|
|
39
|
-
| Rendering | A `Graphic` registers with a Canvas, rebuilds geometry or material state, and sends mesh data through the Canvas rendering path. See [`Graphic.cs`](https://github.com/Unity-Technologies/uGUI/blob/9edb4420267b6652090ece4c28c38bd98746a68e/com.unity.ugui/Runtime/UGUI/UI/Core/Graphic.cs#L547-L716). | A Panel owns a VisualElement tree, while repaint processing consumes visual changes and renders the root tree. See [`Panel.cs`](https://github.com/Unity-Technologies/UnityCsReference/blob/79f16640303119112ca5caed4d71c607d0dff6fb/Modules/UIElements/Core/Panel.cs#L1238-L1259) and [`UIRRepaintUpdater.cs`](https://github.com/Unity-Technologies/UnityCsReference/blob/79f16640303119112ca5caed4d71c607d0dff6fb/Modules/UIElements/Core/Renderer/UIRRepaintUpdater.cs#L25-L148). | `UIRoot`, `UIPanel`, `UIWidget`, and `UIDrawCall` divide scaling, clipping, geometry, and draw-call work. See [`UIRoot.cs`](https://github.com/tasharen/ngui/blob/9bbc56f11e0e25b89fd55b9b9bc67ddf1f182fe2/Assets/NGUI/Scripts/UI/UIRoot.cs), [`UIPanel.cs`](https://github.com/tasharen/ngui/blob/9bbc56f11e0e25b89fd55b9b9bc67ddf1f182fe2/Assets/NGUI/Scripts/UI/UIPanel.cs), and [`UIDrawCall.cs`](https://github.com/tasharen/ngui/blob/9bbc56f11e0e25b89fd55b9b9bc67ddf1f182fe2/Assets/NGUI/Scripts/Internal/UIDrawCall.cs). |
|
|
40
|
-
| Hierarchy and ownership | GameObjects, `RectTransform`, Canvas, and component registration form the inspected hierarchy. Canvas membership is runtime state, not merely folder or prefab placement. | A `UIDocument` attaches a `VisualTreeAsset`-derived VisualElement tree to Panel Settings. VisualElement descendants are not Transform children. See [`UIDocument.cs`](https://github.com/Unity-Technologies/UnityCsReference/blob/79f16640303119112ca5caed4d71c607d0dff6fb/Modules/UIElements/Core/GameObjects/UIDocument.cs#L509-L539). | The Unity GameObject hierarchy carries `UIRoot`, `UIPanel`, `UIWidget`, control components, atlases, and fonts. Inspect component ownership as well as Transform nesting. See [`UIWidget.cs`](https://github.com/tasharen/ngui/blob/9bbc56f11e0e25b89fd55b9b9bc67ddf1f182fe2/Assets/NGUI/Scripts/Internal/UIWidget.cs). |
|
|
41
|
-
| Input and focus | `EventSystem` selects and runs an active `BaseInputModule`; New Input System projects can use `InputSystemUIInputModule`. See [`EventSystem.cs`](https://github.com/Unity-Technologies/uGUI/blob/9edb4420267b6652090ece4c28c38bd98746a68e/com.unity.ugui/Runtime/UGUI/EventSystem/EventSystem.cs#L158-L177) and [`InputSystemUIInputModule.cs`](https://github.com/Unity-Technologies/InputSystem/blob/8a57d62081cf3546b46444e17223e0121a3568b2/Packages/com.unity.inputsystem/InputSystem/Runtime/Plugins/UI/InputSystemUIInputModule.cs). | Focus and event dispatch are Panel-owned. The pinned `DefaultEventSystem` chooses the InputForUI provider path or a legacy path according to its context. See [`DefaultEventSystem.cs`](https://github.com/Unity-Technologies/UnityCsReference/blob/79f16640303119112ca5caed4d71c607d0dff6fb/Modules/UIElements/Core/GameObjects/DefaultEventSystem.cs#L67-L82). | `UICamera` performs its own 3D/2D raycasts and message dispatch. Its default delegates read legacy `UnityEngine.Input`; do not document an EventSystem or New Input System route unless the project supplies one. See [`UICamera.cs`](https://github.com/tasharen/ngui/blob/9bbc56f11e0e25b89fd55b9b9bc67ddf1f182fe2/Assets/NGUI/Scripts/UI/UICamera.cs#L13-L43). |
|
|
42
|
-
| Layout | `LayoutRebuilder`, layout groups, fitters, anchors, and RectTransform calculations operate across component passes. See [`LayoutRebuilder.cs`](https://github.com/Unity-Technologies/uGUI/blob/9edb4420267b6652090ece4c28c38bd98746a68e/com.unity.ugui/Runtime/UGUI/UI/Core/Layout/LayoutRebuilder.cs#L60-L89). | Flex-style layout nodes are calculated for the visual tree, with bounded validation passes. See [`VisualTreeLayoutUpdater.cs`](https://github.com/Unity-Technologies/UnityCsReference/blob/79f16640303119112ca5caed4d71c607d0dff6fb/Modules/UIElements/Core/VisualTreeLayoutUpdater.cs#L105-L201). | Anchoring, stretching, grid, table, and wrapping responsibilities are separate components. See [`UIAnchor.cs`](https://github.com/tasharen/ngui/blob/9bbc56f11e0e25b89fd55b9b9bc67ddf1f182fe2/Assets/NGUI/Scripts/UI/UIAnchor.cs), [`UIStretch.cs`](https://github.com/tasharen/ngui/blob/9bbc56f11e0e25b89fd55b9b9bc67ddf1f182fe2/Assets/NGUI/Scripts/UI/UIStretch.cs), [`UIGrid.cs`](https://github.com/tasharen/ngui/blob/9bbc56f11e0e25b89fd55b9b9bc67ddf1f182fe2/Assets/NGUI/Scripts/Interaction/UIGrid.cs), and [`UITable.cs`](https://github.com/tasharen/ngui/blob/9bbc56f11e0e25b89fd55b9b9bc67ddf1f182fe2/Assets/NGUI/Scripts/Interaction/UITable.cs). |
|
|
43
|
-
| Styling and motion | `Selectable` supports color, sprite, and Animator transition modes; projects may add Animator, Timeline, tween, or script-owned motion. See [`Selectable.cs`](https://github.com/Unity-Technologies/uGUI/blob/9edb4420267b6652090ece4c28c38bd98746a68e/com.unity.ugui/Runtime/UGUI/UI/Core/Selectable.cs#L655-L708). | USS style resolution and typed transition-property changes are processed by the style updater. See [`VisualTreeStyleUpdater.cs`](https://github.com/Unity-Technologies/UnityCsReference/blob/79f16640303119112ca5caed4d71c607d0dff6fb/Modules/UIElements/Core/VisualTreeStyleUpdater.cs#L68-L170). | Widget colors, sprites, fonts, `UITweener` subclasses, springs, `UIPlayTween`, and `UIPlayAnimation` provide stack-local presentation and motion mechanisms. See [`UITweener.cs`](https://github.com/tasharen/ngui/blob/9bbc56f11e0e25b89fd55b9b9bc67ddf1f182fe2/Assets/NGUI/Scripts/Tweening/UITweener.cs#L10-L38). |
|
|
44
|
-
| Binding | Serialized component references, scripts, `UnityEvent`, and project-owned presenters connect UI components to project code. The pinned runtime source exposes `Button.onClick`, but this review did not locate a general collection/data-binding family. See [`Button.cs`](https://github.com/Unity-Technologies/uGUI/blob/9edb4420267b6652090ece4c28c38bd98746a68e/com.unity.ugui/Runtime/UGUI/UI/Core/Button.cs#L15-L70). | `dataSource`, `dataSourcePath`, `SetBinding`, and Panel binding management form an explicit data-binding surface. See [`VisualElementDataBinding.cs`](https://github.com/Unity-Technologies/UnityCsReference/blob/79f16640303119112ca5caed4d71c607d0dff6fb/Modules/UIElements/Core/VisualElementDataBinding.cs#L185-L290). | `EventDelegate`, localization, `PropertyBinding`, and project scripts support callbacks, localization, and property synchronization. Record the concrete component and callback path. See [`EventDelegate.cs`](https://github.com/tasharen/ngui/blob/9bbc56f11e0e25b89fd55b9b9bc67ddf1f182fe2/Assets/NGUI/Scripts/Internal/EventDelegate.cs). |
|
|
45
|
-
| Scrolling and virtualization | `ScrollRect` owns wheel, drag, bounds, velocity, and anchored-position behavior. The pinned runtime review did not locate a built-in collection-virtualization family. See [`ScrollRect.cs`](https://github.com/Unity-Technologies/uGUI/blob/9edb4420267b6652090ece4c28c38bd98746a68e/com.unity.ugui/Runtime/UGUI/UI/Core/ScrollRect.cs#L647-L680). | `ScrollView` provides scrolling, while collection controls own virtualization controllers. See [`BaseVerticalCollectionView.cs`](https://github.com/Unity-Technologies/UnityCsReference/blob/79f16640303119112ca5caed4d71c607d0dff6fb/Modules/UIElements/Core/Controls/BaseVerticalCollectionView.cs#L560-L574). | `UIScrollView`, scroll bars, `UIWrapContent`, and centering components divide scrolling and repeated-content behavior. See [`UIScrollView.cs`](https://github.com/tasharen/ngui/blob/9bbc56f11e0e25b89fd55b9b9bc67ddf1f182fe2/Assets/NGUI/Scripts/Interaction/UIScrollView.cs) and [`UIWrapContent.cs`](https://github.com/tasharen/ngui/blob/9bbc56f11e0e25b89fd55b9b9bc67ddf1f182fe2/Assets/NGUI/Scripts/Interaction/UIWrapContent.cs). |
|
|
46
|
-
| Lifecycle and serialization | MonoBehaviour callbacks register and unregister Graphics and layout state; scenes and prefabs serialize component fields and events. Inspect runtime-created objects and domain reload behavior separately. | `UIDocument`, Panel Settings, UXML/`VisualTreeAsset`, USS, and runtime Panel attachment create a distinct serialized-asset and runtime-tree lifecycle. | MonoBehaviours, prefabs, atlases, fonts, and serialized delegates carry state. Inspect runtime-created widgets, atlas/font ownership, and callback teardown directly. |
|
|
47
|
-
| Editor and runtime | Runtime and Editor assemblies are separate; editor menu code can create Canvas controls. See [`MenuOptions.cs`](https://github.com/Unity-Technologies/uGUI/blob/9edb4420267b6652090ece4c28c38bd98746a68e/com.unity.ugui/Editor/UGUI/UI/MenuOptions.cs#L205-L282). | Runtime Panels and editor-root contexts are separate. See [`RuntimePanel.cs`](https://github.com/Unity-Technologies/UnityCsReference/blob/79f16640303119112ca5caed4d71c607d0dff6fb/Modules/UIElements/Core/GameObjects/RuntimePanel.cs#L27-L48). | Runtime scripts, editor tools, and inspectors coexist. See [`UICreateNewUIWizard.cs`](https://github.com/tasharen/ngui/blob/9bbc56f11e0e25b89fd55b9b9bc67ddf1f182fe2/Assets/NGUI/Scripts/Editor/UICreateNewUIWizard.cs) and [`UIPanelInspector.cs`](https://github.com/tasharen/ngui/blob/9bbc56f11e0e25b89fd55b9b9bc67ddf1f182fe2/Assets/NGUI/Scripts/Editor/UIPanelInspector.cs). |
|
|
48
|
-
| Current and historical boundary | The pinned 6000.3 branch is the evidence boundary for this page; record the project's exact package revision before applying it. | The pinned 6000.3 reference source is the evidence boundary. UIElements conference demos and 2019–2020 runtime samples are historical technique records, not current-version contracts. | NGUI is third-party. Record the exact repository or asset-distribution revision and license context instead of using the name alone as a version marker. |
|
|
49
|
-
|
|
50
|
-
## Opinionated Guidance
|
|
51
|
-
|
|
52
|
-
- Start a review by naming the tree owner and input owner; those two facts reduce cross-stack ambiguity.
|
|
53
|
-
- Capture both serialized assets and the runtime tree because project folders or Scene hierarchy alone can omit runtime ownership.
|
|
54
|
-
- Treat mixed-stack projects as explicit integrations. Record render order, camera or Panel ownership, input routing, focus transfer, and teardown at each bridge.
|
|
55
|
-
- Prefer version-pinned system source for architecture claims and use samples only for the narrower behavior they actually demonstrate.
|
|
56
|
-
|
|
57
|
-
## Platform-Specific Guidance
|
|
58
|
-
|
|
59
|
-
- For uGUI, record Canvas mode, scaler, sorting, raycaster, EventSystem, input module, selected object, and ScrollRect structure.
|
|
60
|
-
- For UI Toolkit, record Panel Settings, UIDocument, UXML and USS assets, runtime `rootVisualElement`, focus order, data source, and collection controller.
|
|
61
|
-
- For NGUI, record UIRoot scaling, UIPanel clipping and depth, atlas/font assets, UICamera event type and delegates, tweener ownership, and scroll components.
|
|
62
|
-
- For every stack, distinguish editor-only tooling from runtime code and current sources from historical examples.
|
|
63
|
-
|
|
64
|
-
## Unsupported Absolutes
|
|
65
|
-
|
|
66
|
-
- Do not infer input routing from visual similarity or a shared GameObject parent.
|
|
67
|
-
- Do not infer a VisualElement tree from the Transform hierarchy.
|
|
68
|
-
- Do not infer current behavior from an unarchived repository or a recent push date alone.
|
|
69
|
-
- Do not infer rendered behavior, focus behavior, or lifecycle correctness from serialized files alone.
|
|
70
|
-
|
|
71
|
-
## Verification Contract
|
|
72
|
-
|
|
73
|
-
Record exact revisions, open the relevant Scene or document, and capture the serialized owner, runtime tree, active input path, initial and returned focus, layout changes, scrolling behavior, dynamic content reuse, and teardown. Exercise pointer, keyboard, gamepad, or touch modes actually declared by the project. Recheck historical examples against their own Unity version instead of using them as a current baseline.
|
|
74
|
-
|
|
75
|
-
## Source, License, And Attribution
|
|
76
|
-
|
|
77
|
-
- uGUI source: [Unity-Technologies/uGUI at `9edb4420267b6652090ece4c28c38bd98746a68e`](https://github.com/Unity-Technologies/uGUI/blob/9edb4420267b6652090ece4c28c38bd98746a68e/com.unity.ugui/LICENSE.md)
|
|
78
|
-
- UI Toolkit reference source: [Unity-Technologies/UnityCsReference at `79f16640303119112ca5caed4d71c607d0dff6fb`](https://github.com/Unity-Technologies/UnityCsReference/blob/79f16640303119112ca5caed4d71c607d0dff6fb/LICENSE.md)
|
|
79
|
-
- NGUI source: [tasharen/ngui at `9bbc56f11e0e25b89fd55b9b9bc67ddf1f182fe2`](https://github.com/tasharen/ngui/blob/9bbc56f11e0e25b89fd55b9b9bc67ddf1f182fe2/README.md) and its pinned [license](https://github.com/tasharen/ngui/blob/9bbc56f11e0e25b89fd55b9b9bc67ddf1f182fe2/License.txt)
|
|
80
|
-
- Reuse form: locally authored comparison of source-observable ownership and responsibilities; no upstream prose or implementation sample is reproduced.
|
|
81
|
-
|
|
82
|
-
## IA Navigation
|
|
83
|
-
|
|
84
|
-
Parent: [Game UI](../index.md).
|
|
85
|
-
Next: [Unity CLI Loop](cli-loop.md).
|
|
@@ -1,100 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
type: Domain Guide
|
|
3
|
-
title: Game UI Verification Workflow
|
|
4
|
-
description: Convert a screen recipe into repeatable input, state, hierarchy, and teardown evidence.
|
|
5
|
-
domain: game-ui
|
|
6
|
-
lifecycle: experimental
|
|
7
|
-
provenance_kind: local
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
# Game UI Verification Workflow
|
|
11
|
-
|
|
12
|
-
Primary role: game-interface acceptance and evidence procedure.
|
|
13
|
-
|
|
14
|
-
## Repository Boundary
|
|
15
|
-
|
|
16
|
-
This workflow verifies a declared game-interface contract on a named runtime. It does not authenticate third-party captures or convert a hypothetical recipe into a real gallery reference. Shared [Quality Gates](../quality/index.md) determine what a claim's evidence can support.
|
|
17
|
-
|
|
18
|
-
## Reusable Method
|
|
19
|
-
|
|
20
|
-
1. Select a [Screen Recipe](screen-recipes.md), build/version, scene, starting data, and supported inputs.
|
|
21
|
-
2. Record the active hierarchy's lifetime, input, sorting, focus, and teardown owners.
|
|
22
|
-
3. Reset to known state before each scenario. Name any non-resettable external dependency.
|
|
23
|
-
4. Execute actions in order, including an exception or interruption.
|
|
24
|
-
5. Compare expected and actual state, selection, input recipient, and surviving objects.
|
|
25
|
-
6. Save artifacts with source/build identity; classify pass, fail, not-run, or not-applicable with a reason.
|
|
26
|
-
|
|
27
|
-
## Minimum Scenario Matrix
|
|
28
|
-
|
|
29
|
-
| Dimension | Scenario | Inspect |
|
|
30
|
-
| --- | --- | --- |
|
|
31
|
-
| Entry | Open by each supported input | Correct screen and initial focus/selection |
|
|
32
|
-
| Navigation | Visit first, middle, last, and unavailable actions | Predictable order, visible target, no unreachable required action |
|
|
33
|
-
| Modality | Open overlay above a screen, then another interruption | Exactly the intended input recipient; world input policy |
|
|
34
|
-
| Cancellation | Back/Cancel during entry, request, and exit | One-layer dismissal; no click-through or stale blocker |
|
|
35
|
-
| Content | Empty, long localized text, unbroken identifiers, many rows | Readable critical information and reachable actions |
|
|
36
|
-
| Surface | Target aspect ratios, safe areas, scaled UI, constrained window | No obscured controls or accidental scroll ownership |
|
|
37
|
-
| Data | Delay, fail, supersede, and complete requests out of order | Current identities and truthful operation status |
|
|
38
|
-
| Device | Switch/disconnect a claimed input device | Updated prompts and a viable recovery action |
|
|
39
|
-
| Lifetime | Reopen repeatedly and change scene/session | No duplicate handlers, surviving blockers, or stale view updates |
|
|
40
|
-
|
|
41
|
-
This is a selection matrix. A title that supports no touch input records touch as not applicable; it does not claim a touch pass.
|
|
42
|
-
|
|
43
|
-
## Worked Scenario: Inventory With Confirmation
|
|
44
|
-
|
|
45
|
-
Precondition: local fictional test data has two items, A and B. The inventory is open with A selected; no real commerce operation is involved.
|
|
46
|
-
|
|
47
|
-
| Step | Action | Expected observation |
|
|
48
|
-
| --- | --- | --- |
|
|
49
|
-
| 1 | Navigate to B and open its action dialog | B remains selected beneath the dialog; focus enters the dialog |
|
|
50
|
-
| 2 | Press Cancel once | Only the dialog closes; focus/selection returns to B |
|
|
51
|
-
| 3 | Reopen and trigger a delayed operation | Dialog exposes pending state and the declared duplicate-input behavior |
|
|
52
|
-
| 4 | Close/change the screen, then resolve the operation | Data owner reconciles the result; destroyed views do not update |
|
|
53
|
-
| 5 | Reopen inventory | Confirmed data appears; selection follows the documented restore policy |
|
|
54
|
-
|
|
55
|
-
Actual result: `not_run`. This procedure is a test design, not engine execution evidence.
|
|
56
|
-
|
|
57
|
-
A separate [web inventory adaptation](../examples/domain-interactions/README.md) exercises nested dismissal, delayed equipment responses after view closure, selection restoration, and reward reveal. Its [local browser results](../examples/domain-interactions/verification.md) are browser evidence only. The native-engine scenario above remains `not_run`.
|
|
58
|
-
|
|
59
|
-
## Evidence Record Template
|
|
60
|
-
|
|
61
|
-
```yaml
|
|
62
|
-
scenario: inventory-dialog-return
|
|
63
|
-
build_revision: # immutable source/build identity
|
|
64
|
-
runtime: # engine, UI stack, packages, OS, device
|
|
65
|
-
surface: # resolution, aspect ratio, safe area, UI scale, locale
|
|
66
|
-
input: # exercised mode and device
|
|
67
|
-
precondition: # scene, data, selection, connectivity
|
|
68
|
-
actions: # ordered, reproducible steps
|
|
69
|
-
expected: # visible state plus hierarchy/input assertions
|
|
70
|
-
actual: not_run
|
|
71
|
-
artifacts: # capture, recording, hierarchy trace, operation log
|
|
72
|
-
limitations: # missing channels, device scope, mocked dependencies
|
|
73
|
-
consumer_reference: not_applicable
|
|
74
|
-
consumer_reference_reason: This blank procedure selects no consumer-owned reference record.
|
|
75
|
-
```
|
|
76
|
-
|
|
77
|
-
## Opinionated Guidance
|
|
78
|
-
|
|
79
|
-
Capture hierarchy and input evidence together when a screenshot could hide the failure. A visually dismissed overlay with an active blocker is a failed dismissal, regardless of its appearance.
|
|
80
|
-
|
|
81
|
-
## Platform-Specific Guidance
|
|
82
|
-
|
|
83
|
-
For Unity use the source-pinned [CLI Loop](unity/cli-loop.md) and its UI-stack-specific capabilities. If a runner cannot inspect focus or controller routing, mark those checks not-run and collect them on the real engine surface.
|
|
84
|
-
|
|
85
|
-
## Unsupported Absolutes
|
|
86
|
-
|
|
87
|
-
A successful editor inspection does not prove player-build behavior. Mocked operation responses do not prove a live service works. Device and accessibility coverage must be named explicitly.
|
|
88
|
-
|
|
89
|
-
## Verification Contract
|
|
90
|
-
|
|
91
|
-
A completed record binds actions and actual outcomes to a build and runtime, includes exceptional-state evidence, and lists missing coverage. Failed required cases need remediation and rerun. A real gallery entry must also satisfy the [Reference Record](reference-record.md). Review when input routing, engine version, hierarchy ownership, or the recipe changes.
|
|
92
|
-
|
|
93
|
-
## Source, License, And Attribution
|
|
94
|
-
|
|
95
|
-
Locally authored test procedure and fictional inventory scenario. No real game reference, asset license, or runtime result is implied.
|
|
96
|
-
|
|
97
|
-
## IA Navigation
|
|
98
|
-
|
|
99
|
-
Parent: [Game UI](index.md).
|
|
100
|
-
Next: [Game UI Reference Record](reference-record.md).
|