Appearance
Original menu hierarchy and Blueprint arrivals — 2026-10-12
This is a scoped development checkpoint, not release completion. Inventory remains excluded. Game Master's design/code/assets are read-only references and are not shipped. Sakura's independently reproduced center-origin angular tint, icon layering, material parameters and gameplay clock are unchanged by this revision.
Implemented and why
Public IFButton.ButtonRole / Set Button Role supplies Standard, Primary, Quiet and Destructive presentation from existing semantic theme fields. Standard preserves the previous default. Begin/Resume uses Primary; main Quit uses Quiet; pause Return uses Destructive with its existing confirmation. Availability, input emphasis, callbacks and optional local theme overrides remain the same. Custom trees use On Appearance Updated and can read Button Role.
The independently authored pause card clears Height Override and uses Max Desired Height420, releasing unused space at normal scale while retaining all four actions at default/enlarged sizes. Both saved menus expose editable MenuArrive UMG opacity timelines (.82→1 over .20s), activation/deactivation reset and live Reduced Motion through public preferences. Existing menu data/fallback/refresh/navigation/action graphs are preserved. Actual Blueprint recipe.
Actual failures and fixes
Preserved initial build failures: MenuHierarchyMotion lacked the execution-sequence include and shadowed a geometry lambda under warnings-as-errors. Fixed both. First author log Create-MenuHierarchy-UE56.log failed a reflected struct pin name; changed to StaticStruct's actual FName. Create-MenuHierarchyPins-UE56.log saved animations but raised an engine ensure from repeated widget-variable GUID registration. Guarded registration by the existing name/GUID map; intermediate assets are preserved in AssetSnapshots/After-MenuHierarchy-Ensure and the original two menus in Before-MenuHierarchy.
Final Build-Example-UE56-MenuHierarchyGuid.log succeeds; Create-MenuHierarchyGuid-UE56.log saves both menus with0errors/0warnings and IF_BLUEPRINT_MENU_HIERARCHY_REFINED. Compile-MenuHierarchyGuid-AllBlueprints-UE56.log loads/compiles all28 classes with0errors/0warnings/0failedloads.
The first four MenuHierarchy-GuidSource flows failed after a QA probe directly deactivated/reactivated Main after beginning a load. CommonUI removed the menu from its stack, causing cascading focus/flow failures. No failed run is accepted. The StackSource repair exposed two fixture timing defects: immediate cover removal missed stack activation; a same-frame synthetic focus/accept did not let CommonUI record the new navigation target. Final ReturnSource uses a real Menu-stack cover, waits for activation/transition completion, removes it normally, observes actual playback/opacity, switches Reduced Motion during playback, checks a retained target, then gives the next primary action focus a full frame before later synthetic accept. Build-Example-UE56-MenuHierarchyReturn.log succeeds (5.67s total). These are programmatic fixture setup operations, not physical navigation certification. Current verifier explicitly rejects the real exit0 StackSource log with its failed animation/focus checks; existing assertions were retained.
Runtime evidence
All26 current verifiers pass; machine-readable results (local verification record) include exact arguments and limits.
| Current prefix | Source / archive | Runs | Observed behavior |
|---|---|---|---|
| MenuHierarchy-ReturnSource / MenuHierarchy-Cooked | Both | 4 each | RTS/RPG1280×720 and800×600 at150% UI/text: settings preview/cancel, actual UMG arrival/live Reduced Motion, roles and geometry, async cancel/failure/retry, gameplay HUD, pause/resume, confirmation/return, model fallbacks/live labels, Back/focus and loading scope/root teardown |
| MenuHierarchy-WorldSource / WorldCooked | Both | 2 each | RPG Ward/status/world entries, whole icons/center tint, reserved hints versus pointer popups, result priority, custom theme/range/rebind/destroy/pause flow |
| MenuHierarchy-RTSSource / RTSCooked | Both | 2 each | Original RTS selection/group/commands/production state, bounded overview, pinned queue/prompt and command geometry |
| MenuHierarchy-PopupSource / PopupCooked | Both | 2 each | Public popup opt-out, keyboard/pointer routes, disabled hover, delay/model/modal/pause/lifetime |
| MenuHierarchy-CustomSource / CustomCooked | Both | 2 each | Saved custom Blueprint screen/entry/source/theme/root: synthetic gamepad behind modal, cursor/focus, insignificant pointer rejection, meaningful pointer and keyboard restoration, Back and transitions |
| MenuHierarchy-AnimationCooked | Archive | 2 | Existing custom SurveyArrive natural playback/completion/reduced-motion/cleanup regression after shared author helper change |
Synthetic Slate input and programmatic slider/preferences/model/root setup throughout; offscreen Win64 DX11. No physical controller is available: user explicitly requested continuing controller implementation without hardware checks. No physical-device, touch, drift/disconnection, audible audio, multiplayer, split-screen or performance certification follows. Settings Apply/persistence/remap/graphics retain earlier documented evidence scope; the current menu fixture specifically previews and cancels scale.
Six final source/archive menu captures were inspected and copied to Evidence/Visual/MenuHierarchy-*, listed in the JSON. Full label/action/identity/introduction geometry passes in both sizes. Original pause content fits with no normal-scale dead space; large type still fits all four actions. Captures verify settled presentation; animated opacity/time/live preference assertions provide separate runtime proof. Underlying primitive scenes and broader choreography remain unfinished.
Builds, archive and preservation
Current independent core ButtonRoles strict Win64 Editor Development/Game Development/Shipping builds pass UE5.6.1CL44394996/5.7.1CL48512491/5.8.3CL58210709 in77.06/64.89/61.01s. Each isolated host loads22types/10assets and the new role API, without sample/inventory/Mass. All55core candidate files match each host; see MenuHierarchy-SourceReceipt.json. New full sample revision is tested5.6 only.
Fresh Packages/MenuHierarchySlice, both maps: exact BuildCookRun36.00s/cook11.96s/479cooked+7platform-skipped=486total/479IoStore packages. Logs contain no cook error/warning summary. Exact UAT log and FinalCopyWin64_UFSFiles are preserved; all cooked tests use the inner executable. An initial receipt-copy command used the wrong TmpPackaging path; recovered the same run's actual AutomationTool manifest before any subsequent UAT run. This was a receipt-copy error, not a package failure.
Boundary138authored source files/46own packages/2649staging targets/5546reference hashes passes; all138candidate source hashes match after archive. GameMaster/Sakura HEAD/status/prior changed-file hashes preserved; allreference HEAD/prior changed-file hashes/UI hashes preserved. MassForge status differs from discovery by the4previously observed external DiscordBot paths; their observed hashes remain unchanged. No reset/rebaseline/copy of reference material, commit or publication. Boundary checks do not establish legal clearance or originality of transformed designs.
All milestone processes exited; previews canceled/restored by fixtures. Native desktop/reference sessions were not automated. Remaining gates include original scene/HUD polish, more complete layouts/localization/accessibility/safe areas, current full newer-engine samples, true world-pause/concurrent/exit animation behavior, audio/remap I/O reporting, more entry variants, realistic performance and optional serial-safe Mass adapters. Physical controller tests remain explicitly deferred. Goal remains ACTIVE.