docs(ui): record inventory scroll visual gate
Mark issue #147 done after live confirmation of vertical resize, clipped partial-row scrolling, and scroll-offset preservation across inventory mutations. Co-Authored-By: Codex <codex@openai.com>
This commit is contained in:
parent
15aa3b9aff
commit
df460f94c3
1 changed files with 2 additions and 2 deletions
|
|
@ -1933,7 +1933,7 @@ its open/closed sprites when picked up.
|
|||
|
||||
## #147 — Inventory item-grid scrolling polish
|
||||
|
||||
**Status:** IMPLEMENTED 2026-07-11 — live visual gate pending
|
||||
**Status:** DONE 2026-07-11 — live visual gate passed
|
||||
**Severity:** LOW
|
||||
**Filed:** 2026-06-22
|
||||
|
||||
|
|
@ -1942,7 +1942,7 @@ whole-row clip via `UiScrollable`) works but needs visual/UX polish — smoothne
|
|||
wheel step, row-clip edges. Confirm the exact symptoms with the user when picked up. Filed from the
|
||||
D.2b inventory visual gate.
|
||||
|
||||
**2026-07-11 implementation:** retained list rebuilds now defer layout until all cells are restored, preserving the exact `ScrollY` across inventory changes. Whole-row visibility clipping is replaced by intersecting-row visibility plus a nested child viewport clip; sprite geometry and UVs are cropped together, so thumb dragging shows clean partially visible rows instead of black gaps. Named retail confirms the position itself is an integer pixel coordinate (`ScrollToY`/`SetScrollableXY`), while wheel/arrow line steps remain one row (`InqScrollDelta = scrollableHeight / rowCount`). The inventory's old 560 px maximum-height cap was also the reason a persisted 560 px window could not expand further; its maximum now uses available screen height (AP-54 remains for exact keystone bounds). Automated tests cover partial top/bottom rows, UV crop, scroll preservation through refresh, and resize geometry; warning-free App Release plus all 4,702 tests pass. Research: `docs/research/2026-07-11-retail-inventory-scroll-pseudocode.md`.
|
||||
**2026-07-11 resolution:** retained list rebuilds now defer layout until all cells are restored, preserving the exact `ScrollY` across inventory changes. Whole-row visibility clipping is replaced by intersecting-row visibility plus a nested child viewport clip; sprite geometry and UVs are cropped together, so thumb dragging shows clean partially visible rows instead of black gaps. Named retail confirms the position itself is an integer pixel coordinate (`ScrollToY`/`SetScrollableXY`), while wheel/arrow line steps remain one row (`InqScrollDelta = scrollableHeight / rowCount`). The inventory's old 560 px maximum-height cap was also the reason a persisted 560 px window could not expand further; its maximum now uses available screen height (AP-54 remains for exact keystone bounds). Automated tests cover partial top/bottom rows, UV crop, scroll preservation through refresh, and resize geometry; warning-free App Release plus all 4,702 tests pass. User confirmed vertical resizing, partial-row scrolling, and offset preservation in the live Release client. Research: `docs/research/2026-07-11-retail-inventory-scroll-pseudocode.md`.
|
||||
|
||||
---
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue