diff --git a/CLAUDE.md b/CLAUDE.md index 7ad9a6a2..331ed28f 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -131,7 +131,12 @@ window, inscription transaction, complete creature/item/spell reports, favorite-spell press/right-click behavior, modern scarab/prismatic formula, DAT component icons, foreground stacking, and authored 310 x 400 extent. Slice 4 equipped-child world picking passed its two-client Coldeve gate and -was user-accepted 2026-07-29. **Campaign P — physics retail-feel parity +was user-accepted 2026-07-29. **Slices 5 and 6 (the complete vendor +experience — browse, staged buying, selling, walk-to-use, the authored +panel) closed user-accepted 2026-08-08; the six-slice program is COMPLETE +(see the plan's PROGRAM CLOSEOUT). The vendor arc also exposed and fixed +two latent client-wide crashers (#348 cursor-handle exhaustion, #350 +render-ledger overflow).** **Campaign P — physics retail-feel parity (`docs/plans/2026-07-29-physics-parity-campaign.md`) is the ACTIVE user-directed detour** closing every physics-scope gap from the 2026-07-29 audit (stat-coupled movement, response-layer edge family, remote residuals, diff --git a/docs/ISSUES.md b/docs/ISSUES.md index 21bc348b..7a522435 100644 --- a/docs/ISSUES.md +++ b/docs/ISSUES.md @@ -26,7 +26,7 @@ What does NOT go here: ## #353 — Toolbar selected-object text: count field ignores authored HJustify; name field does not wrap to its authored two lines -**Status:** FIXED 2026-08-08 pending the user's look (RightAligned on the authored HJustify=2 entry; two stacked centered one-line labels wrapping at the authored 140 px via WrapNameTwoLines). +**Status:** CLOSED 2026-08-08 — user-passed ("Ok slider bar looks ok!" + the wrap confirmed); the OneLine routing fix (4cfcc8b3) completed it. (RightAligned on the authored HJustify=2 entry; two stacked centered one-line labels wrapping at the authored 140 px via WrapNameTwoLines). User gate findings (pre-existing, not vendor-introduced). The authored toolbar layout 0x21000016 is decisive: the stack-count entry 0x100001A3 is X=0 Y=13 W=50 H=14 **HJustify=2 (right)** — flush against the slider diff --git a/docs/plans/2026-07-23-world-interaction-completion.md b/docs/plans/2026-07-23-world-interaction-completion.md index abdb8a5e..f02a4038 100644 --- a/docs/plans/2026-07-23-world-interaction-completion.md +++ b/docs/plans/2026-07-23-world-interaction-completion.md @@ -733,3 +733,32 @@ coins up, item gone; an InqAcceptability-rejected item shows retail's refusal; X with a staged list → confirm dialog; stacked selection shows count/value/split-bar in the toolbar; bought items land at the front of the pack. + +## PROGRAM CLOSEOUT — 2026-08-08: all six slices COMPLETE, user-accepted + +Slices 5 and 6 closed together after the vendor arc's final gates. The +complete retail vendor experience is live and user-verified end to end: +walk-to-use from afar (the never-animated-target physics-host resolver + +the cylinder-gap range watcher), the authored panel with the scrollable +category dropdown (arrow-cap, downward, left-aligned), retail cost +sentences with live purse repaint on every money change, per-unit and +whole-stack pricing per the split-size mask, the MaxStackSize quantity +slider with the right-justified count entry and two-line name wrap in +the toolbar, staged buying (accumulate + 5000 cap + shop-row decrement + +the four pre-send guards + the batched 0x005F + the X-close confirm), +selling (Selling-tab drop target with drag-over auto-switch, +InqAcceptability with verbatim rejection strings, BF_RETAINED, batched +0x0060), double-click-to-buy (AP-171, user-approved modernization), +prepend pack ordering (the cross-queue placement replay), and +materialized shop objects with ownership-checked lifecycle + examine. + +Four adversarial Opus reviews found 34 defects before the user saw them; +the user's connected gates found eleven more that only live sessions +expose; two latent client-wide crashers (#348 cursor-handle exhaustion, +#350 render-ledger overflow) were exposed, root-caused, and fixed along +the way. Landed across `e45c95b0..af1a1ef9`. Deferred with issues/rows: +#352 (range-watcher cylinder unit test), AP-166's pending-sell +highlight, AP-167 (SellSingleItem's non-empty-container branch), AP-168's +shop-stock half, Buying/Selling staging polish beyond the landed scope. + +This closes the pre-M4 world-interaction completion program.