66 lines
2.8 KiB
Markdown
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.
|