Files
aetherbound-guild/docs/runtime/M50_RESPONSIVE_UI_ELEMENT_SLICE.md
T

66 lines
2.8 KiB
Markdown

# M50 Responsive UI Element Slice — Runtime Audit
## Stage
Core prototype presentation repair; Market-only responsive element slice.
## Revision/build
- Source: `30ff553` plus import-cleanup commit `78dd235`
- Target viewports: `760x360`, `844x390`, `1280x720`
- Locale: `zh_CN` and `en` remain in the Market contract; the focused layout
test currently exercises `zh_CN`.
## Earliest failed boundary
The earlier Market presentation failed at responsive composition and control
affordance: a baked UI poster was being treated as a layout surface. This slice
replaces the visible Market composition with a full-bleed world layer and
runtime-owned stretch-safe elements.
## What changed
- Generated one 2x2 element sheet and deterministically split it into button,
commission-board, recruit-card and seal assets.
- Generated one UI-free 16:9 Market world background with a dark text-safe
right side.
- Added NinePatchRect construction with fixed corner/border margins for the
button, board and card.
- Kept runtime text fixed-size and content-owned; kept stable Market node names
and intent payloads for existing route contracts.
- Added subtle event-independent recruit idle breathing as a temporary feel
proof; authoritative selection/inspection feedback remains the next pass.
## Verification
- `ABG_M41_MARKET_VIEW_CONTRACT_OK` passes with strict diagnostics `0`.
- `ABG_M50_RESPONSIVE_UI_OK` passes for all three target sizes, confirming
NinePatch assets, minimum button height, fixed 14px card text and preserved
Market identities/intents.
- Full normal-render Market capture did not produce an image in the current
headless dummy renderer; no visual/device pass is claimed from that attempt.
## Asset evidence states
| Asset | State | Note |
|---|---|---|
| `ui_m50_raw/m50_ui_element_sheet.png` | source/runtime candidate | API Mart GPT-Image-2; task recorded in generation JSON |
| `ui_m50/{button,commission_board,recruit_card,seals}.png` | processed/imported/integrated | grid slices, chroma cleanup and NinePatch use are source-bound |
| `ui_m50/market_background.png` | source/imported/integrated | UI-free 16:9 world background; normal-render review pending |
| Recruit idle tween | implemented | runtime-seen only through focused scene construction; normal recording pending |
## Open gaps
- Owner visual review at actual play size is still required.
- Normal-render screenshots/recording are blocked by the current headless
dummy-render target; run through the owned normal renderer before handoff.
- Readiness, Result, Guild and category-specific Market surfaces are not yet
migrated.
- Human/device verification, audio listening and release acceptance remain
open.
## Gate
`OPEN` — component contract and focused layout checks pass; runtime visual and
owner tryout evidence are still required.