Appearance
Original controller glyphs and applied prompts — 2026-10-12
Scoped development checkpoint; goal ACTIVE. Inventory excluded, Game Master design exclusive, Sakura center-origin tint/icon/countdown/backend unchanged. User has no controller and explicitly requests continuing features without physical tests. All input below is synthetic Slate plus programmatic public remap/preferences setup.
Product change
Six original core assets: M_IFControllerFace, North/East/South/West instances and ordinary BP_IFGenericController : CommonInputBaseControllerData. Material draws neutral face positions, ActivePosition0–3, transparent UI domain;28×28brushes. No textures, reference packages or branded art copied. Sample opts in via its own Windows CommonInput platform settings, selecting Generic and the class. Core imposes no project config or example dependency. Actual Blueprint recipe.
Public IFActionPrompt.Has Resolved Glyph enables custom Blueprint bodies. Empty Action Label gives glyph-only or readable-key-only presentation, hiding the empty text column/separator. Native glyphs are vertically centered at desired size, retaining square shape beside enlarged caption text. On Settings Applied refreshes current applied key/brush in addition to existing changed/profile/input-family notifications; cleanup unbinds it. No per-widget key polling/new icon manager.
Saved RPG ContextPromptRow puts the minimal cue alongside scrolling prose, keeping Interact/Pause at their existing height. Its original action/context divider moves from.65to.62 on both docks, preserving separation and freeing space for the full heading. Saved graphs/data/entry/navigation/cooldown contracts unchanged; author helper/pipeline recognizes the wrapper. Full repeated author pipeline remains unverified. The sample's owned explicit cooking label includes its28classes plus the core controller Blueprint.
Failures preserved and corrected
- Initial author run treated MaterialEditingLibrary's scalar setter return as successful-write evidence. Installed5.6 initializes bResult=false and never changes it; now set then read back the actual scalar. Separate load-existence guard avoids errors when creating new assets.
- Brush ImageSize requires the installed DeprecateSlateVector2D struct, not Vector2D. Edit the returned structure's X/Y and write it back. Create-ControllerGlyphs-BrushSize-UE56.log saves all four brushes/class.
- First config used the ordinary class section; inspected PlatformSettingsManager's per-object naming and switched to CommonInputPlatformSettings_Windows CommonInputPlatformSettings. Runtime diagnostics then showed selected gamepad name Windows versus asset Generic. Explicit sample DefaultGamepadName=Generic fixes resolution. Native diagnostic helper required its direct DeveloperSettings dependency; initial link failure retained.
- First remap runner launched four processes against a shared project profile. Corrected to sequential jobs before acceptance. All subsequent recorded original keys are Gamepad_FaceButton_Left and each job restores that applied value through public APIs. Engine SaveSettings has no returned I/O result; this does not establish disk-error reporting. No reference-game profile was accessed.
- Real RHI found disconnected ComponentMask inputs: default material used despite asset loads/brush pointers. Fixed unnamed mask pins and asserted all graph connections. Original failed master is preserved in AssetSnapshots/Before-GlyphMaskRepair. Verifier now rejects material compile/default-material warnings.
- Controller remap Apply returned success but prompt stayed stale while using only deferred Changed/profile callbacks. Subscribing to the engine's explicit Applied event fixes actual in-place north-glyph refresh. Stage/cancel still leaves the applied glyph unchanged.
- Enlarged RPG prompt was culled below scrollable prose; moved to the existing context header. Native image stretched beside enlarged text; center alignment preserves28×28shape. A subsequent visual review caught the context heading clipped by the narrower viewport. Widened context by shifting the shared divider and strengthened title desired-versus-allocated geometry. Final enlarged title113.8desired inside134.2allocated, complete38.4height; both glyphs whole/square. Preserved pre-pin RPG asset.
- Build failures from Slot shadowing and mixed float/double auto declarations corrected; final Build-Example-UE56-ControllerGlyphContextTypes.log succeeds4.26s. Create-RPGGlyphPrompt-Context-UE56.log saves the repaired tree, and Compile-ControllerGlyphsContext-AllBlueprints-UE56.log explicitly loads/compiles29classes (28sample+1core) with0errors/0warnings/0failedloads.
Earlier source/config/shader/remap/culling/heading runs and ControllerGlyphsSlice remain historical and are not accepted as current. The current verifier rejects actual GenericSource, MaskSource and stale PinnedSource logs; no assertion was weakened. Stills alone are not runtime proof.
Current actual interactions
All28final verifiers pass. Exact arguments/results (local verification record).
| Prefixes | Runs | Scope |
|---|---|---|
| ControllerGlyphs-ContextSource / ContextCooked | 4each | Actual saved main→RTS/RPG HUD at1280×720/default and800×600/150% UI/text: synthetic controller intent→configured west brush; stage north retains applied glyph; Cancel; Apply changes existing prompt to north; whole/square glyph and complete RPG heading; modal Cancel focus; meaningful pointer readable applied keyboard fallback; keyboard restoration/Back to same HUD; original controller key restored; return cleans up HUD |
| ControllerGlyphs-ContextFlowSource / ContextFlowCooked | 4each | Complete current main/settings scale preview/cancel/loading cancel/failure/retry/HUD/pause/confirmation/return, menu roles/actual arrival/reduced motion/data defaults/focus/root lifetime |
| ControllerGlyphs-ContextWorldSource / ContextWorldCooked | 2each | RPG Ward/party/status/world/whole icon/center tint, hints/results/pointer, theme/range/rebind/destroy and pause flow after context width repair |
| ControllerGlyphs-RTSSource / RTSCooked | 2each | Actual RTS selection/group/commands/production, bounded overview, pinned prompt/queue and geometry; RTS/core revision unchanged by later RPG-only context repair |
| ControllerGlyphs-CustomSource / CustomCooked | 2each | Saved developer-created Blueprint screen/entry/source/theme/root, synthetic controller/pointer/keyboard behind modal and Back/transition focus; customization/core revision unchanged by later RPG-only context repair |
Three final source/archive captures inspected/copied to Visual/ControllerGlyphs-* and listed in JSON. Both positions visibly differ; RPG heading complete; controller cue survives enlarged sizing. Source/cooked glyph tests serialize remap writes and cancel scale previews. Existing scenes remain primitive; enlarged prose/action collections intentionally scroll. Physical controller/touch/native pulses, disconnect/drift, audible audio, broad localization/long key names/safeareas/aspects/split-screen/performance are not certified.
Default set covers four neutral face positions. No authored keyboard/brand pack or dedicated main/pause navigation-glyph footer yet. Developers can configure CommonInput and ordinary CommonActionWidget for navigation actions; current public IFActionPrompt handles registered Enhanced Input rows. Full current29-class examples on5.7/5.8 remain separate from the earlier MenuHierarchy newer sample proof.
Builds/package/boundaries
Fresh ControllerGlyphs independent strict Win64 Editor Development/Game Development/Shipping UE5.6.1CL44394996/5.7.1CL48512491/5.8.3CL58210709 passes58.12/63.42/58.09s. Each host has only InterfaceForge/Python support, loads22native types/all16unique plugin packages and the new public field without sample/inventory/Mass. Registry entries16/17/16:5.7 additionally registers the generated controller Blueprint class, not an extra physical asset. All61core source/content files match each host. Source receipt (local verification record).
Fresh Packages/ControllerGlyphsContextSlice, both maps, Win64Development37.55s/cook13.17s/485cooked+7platform-skipped=492total. Exact UAT and FinalCopyWin64_UFSFiles preserved; final cooked tests use its inner executable. All six new input assets occur in exact staging inputs. No final material fallback warning or cook warning/error evidence. Boundary146authored source/52own packages/2661staging targets/5546reference UI hashes passes; all146canonical hashes rechecked after archive.
GameMaster/Sakura HEAD/status/existing changes preserved; allreference HEAD/prior changed-file/UI hashes unchanged. MassForge retains the previously observed four external DiscordBot status differences; do not claim full status stayed unchanged or reset/rebaseline them. No reference copy, canonical engine upgrade, commit or publication. Boundary checks do not constitute legal clearance or transformed-design originality proof.
All milestone processes terminal. Goal ACTIVE; broader playable UI polish and remaining acceptance gates continue. Native desktop automation was not resumed. Physical-controller acceptance is expressly deferred.