3.7 KiB
3.7 KiB
M46 MVP UI Consistency — Baseline Inventory
Evidence identity
- M46 activation source:
a10b3d2b52ecc12415d32ff0cd4cecf6e9a7c41c - Runtime comparison source:
b40e5dd12b2470d3ee47102d2a9c95804684ade7 - Scope: normal
100%landscape at760x360,844x390and1280x720,zh_CNanden;130%is supplemental and non-blocking. - Existing runtime references: M31 MVP normal-render audit, M41 Market View audit, M43 Guild View audit, M44 Company View audit and M45 Contract Return audit. No product/runtime code changed for this baseline.
Current component inventory
| Area | Current implementation | Baseline finding |
|---|---|---|
| Page boundary | 14 MVP PageView classes inherit ABGPageView |
Shared ownership boundary is present |
| Command buttons | Eight Views use make_company_button() / ABGEntryChrome; six Views construct local Button + StyleBoxFlat controls |
Semantic variants exist, but visual implementation is split |
| Frames | initial_company_scene_frame, content_scene_frame, Guild rails, Market/Risk static masters and Battle HUD |
Page-family composition is intentionally different; frame primitives are not fully shared |
| Typography | Base make_label() uses NotoSansSC; Market, Guild, Party, Readiness and Risk each add local size helpers |
Font family is shared, scale/spacing tokens can drift |
| Icons | ABGEntryChrome draws owned icons; Market/Risk and some legacy paths still use Unicode glyphs or local textures |
Icon family is mixed |
| Shared foundation | ABGUI_Tokens, ABGSharedButton, P91Widgets exist |
ABGSharedButton/tokens are not yet the runtime source for most MVP controls; P91Widgets is historical |
| Legacy entry pages | Title, Initial Company, Settings, Dismissal and Equipment retain EntryShell builders | They share some helpers but are not on the same passive-View factory path |
Page-family review
- Company / Result / Recovery family: strongest consistency. Angular navy/gold/ivory command chrome, shared back/primary/secondary semantics and matching framed composition.
- Guild family: approved illustrated desk, top/bottom rails and circular destination medallions. The composition is intentionally unique but should reuse the same semantic icon and state language.
- Market / Recruit family: accepted static masters and field-attached controls. The master is correct, but rounded custom buttons, tiny local text scales and Unicode badges diverge from the shared command chrome.
- Party / Readiness family: shared field/line grammar and palette, with local command styles and local text-size helpers.
- Risk family: parchment/card composition is intentional; command and status styling still needs to align with the global focus, disabled and icon grammar.
- Battle family: field HUD is intentionally specialized. Result, Knockout, Reward and Recovery should remain aligned with the Company command family rather than inherit the live HUD geometry.
Baseline verdict
The MVP currently has a coherent visual identity but not one reusable UI skin. The earliest repair boundary is cross-page command/icon/type consistency, not gameplay, routing, Save/Receipt behavior or page composition. M46-B may therefore add shared presentation primitives; M46-C must migrate only the repeated controls and preserve all frozen hit rectangles, node names and explicit intents.
Frozen invariants
- No gameplay, economy, content, localization semantics, Save/Receipt or route changes.
- No static-master repaint, asset generation or pixel-art treatment.
- No mass
entry_shell.gdrewrite or full Router extraction. - Normal
100%remains the blocking scope;130%remains supplemental. .uid,.importandprototype_incremental/remain untouched.