fix(ui): complete retail inventory scroll polish

Preserve pixel scroll offsets across inventory rebuilds, crop partially visible rows with nested geometry/UV clips, and replace the obsolete 560px resize ceiling with available screen height. Keep retail's row-sized wheel step while allowing continuous scrollbar thumb positions.

Co-Authored-By: Codex <codex@openai.com>
This commit is contained in:
Erik 2026-07-11 10:56:33 +02:00
parent ea72c395c9
commit 15aa3b9aff
15 changed files with 379 additions and 34 deletions

View file

@ -540,12 +540,12 @@ build and 4,697-test suite are green. Gate polish preserves CreateObject
`PluralName` through Core.Net into `ClientObject.GetAppropriateName`, honors the
entry's authored right alignment, and lets the pointer-owned thumb remain at exact
minimum/maximum endpoints instead of snapping back from the quantized amount. The
controls/polish live gate passed. `ItemHolder::GetObjectSplitSize @ 0x00586F00`
controls/polish and partial-transfer live gates passed. `ItemHolder::GetObjectSplitSize @ 0x00586F00`
now scopes that quantity to the selected object for all transfers. Partial inventory
moves send `StackableSplitToContainer 0x0055`; partial drag-out drops send
`StackableSplitTo3D 0x0056`; neither path moves the original object optimistically
because the authoritative destination stack receives a server-assigned guid. The
partial-transfer live action gate follows.
partial inventory and ground transfers were live-confirmed 2026-07-11.
**Wave 4.1 implementation (2026-07-11):** bare `1..9` now use slots 0..8,
Ctrl+`1..9` selects them, Alt+`5..9` uses slots 13..17, and `0` creates a