Book/toy shelves get pull-and-buy over the SAME wallet; records keep the deep dig. New stockpack.buildBuyableShelf(): a real shelf is merged, per-item-ADDRESSABLE meshes — one per atlas (all covers drawn from one seeded atlas → one draw/shelf), tagged noBatch so batch.js leaves them intact. Aim a spine/box → pull card (title/author-or-maker/$price/band from the pack index) → BUY debits the wallet, adds to inventory, and collapseBuyItem() zero-areas the item's quad in place (removed from the shelf, no geometry churn). Parody stock → no buy mesh → no card. Fail- soft per pack; atlasPool() keeps each shelf single-atlas (one draw). Test page: E interacts (bin→dig, shelf→card) + a #shelfBuy pull card; shelfBuySoak() buys one item per book/toy seed. Validated: raycast→card →BUY end-to-end (quad collapses to centre, cash/inventory update), buy-soak 6/6 collapseOk leak geo0/tex0, ?stock=real draws record 41/ book 58/toy 57 ≤350, drawSweep GLB-off 168/on 344 unchanged, placement determinism 0 fails, qa --strict GREEN 5/5. Shot: browse_buy_r9.jpg. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
169 KiB
884x1172px
169 KiB
884x1172px