acdream/tests/AcDream.Core.Tests/Items
Erik 609a2dfda0
Some checks are pending
Headless portability / portable-headless (ubuntu-latest) (push) Waiting to run
Headless portability / portable-headless (windows-latest) (push) Waiting to run
Headless portability / linux-graphical (push) Waiting to run
Headless portability / linux-vulkan (push) Waiting to run
fix(runtime/core): Slice 5.3 review corrections — retirement/transit close, per-unit pricing, guarded auto-close dispatch
The adversarial review's three blocking findings, each fixed at root:

1. A vendor session now CLOSES when its entity retires (despawn,
   death, ObjectDelete) and at teleport BEGIN
   (HasPendingTeleportStart || IsTeleportActive at the existing
   per-frame seam — both hosts funnel through
   RuntimeWorldTransitState.TryQueueTeleportStart, which flips the
   pending flag strictly before activation). The previous permissive
   early-return stranded the session forever: panel pinned to a stale
   guid, ActiveVendorId swallowing Use for the rest of the session.
2. VendorShopItem carries the desc's stack size, and
   VendorPricing.PerUnitValue ports retail's stack-total division
   (VendorProfile::VendorSellPrice 0x005D1B00: <= 0 guard, integer
   division) — a stack of 50 arrows now prices per arrow, not at 50x.
3. VendorState.Close() guards its observer fanout with the
   dispatcher's catch-and-log semantics — a throwing panel listener
   can no longer propagate into the unprotected per-frame path.

Register honesty rides along: the 0.6 m UseRadius fallback was
acdream's invention (ACE's CheckClose has no fallback; retail passes
the raw authored radius) — removed, the watcher now uses the raw
radius and AP-160's citations are corrected and extended with the
accepted-position-snapshot cadence; AD-72 files VendorPricing's
double-vs-x87-extended narrowing (AD-33's class, bounded by the
±0.1 margin).

Nine tests added. Clean-room complete solution: 11,311 passed /
4 skipped / 0 failed.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-08-07 16:15:57 +02:00
..
AetheriaUnlockStateTests.cs fix(paperdoll): port quest-gated Aetheria slots 2026-07-13 09:55:20 +02:00
BurdenMathTests.cs fix(ui): match retail vitae and character info 2026-07-17 12:06:14 +02:00
ClientObjectNameTests.cs fix(ui): finish retail stack selector polish 2026-07-11 10:22:11 +02:00
ClientObjectTableBurdenTests.cs feat(core): D.2b-B — ClientObjectTable.SumCarriedBurden (carried-Burden fallback) 2026-06-21 08:55:35 +02:00
ClientObjectTableTests.cs fix(physics): #297 — keep the PWD bitfield live so PK status reaches the client 2026-08-03 20:59:01 +02:00
ClientObjectTableUpdateTests.cs feat(core): D.2b-B B-Wire — ClientObjectTable.UpdateStackSize 2026-06-21 18:48:54 +02:00
EquipMaskTests.cs fix(D.2b): correct EquipMask to canonical retail INVENTORY_LOC + numeric-pin test 2026-06-22 21:56:06 +02:00
ExternalContainerStateTests.cs refactor(net): converge live session state reset 2026-07-21 12:00:48 +02:00
InventoryTransactionStateTests.cs refactor(runtime): own inventory transaction state 2026-07-26 08:20:32 +02:00
ItemCooldownDisplayTests.cs feat(items): port retail shared cooldown overlays 2026-07-23 10:41:16 +02:00
ItemInteractionPolicyTests.cs fix(items): port retail useability and autowear rejection 2026-07-23 08:33:31 +02:00
ItemManaStateTests.cs feat(ui): port retail selected-item mana 2026-07-11 11:16:21 +02:00
ItemUseabilityTests.cs fix(items): port retail useability and autowear rejection 2026-07-23 08:33:31 +02:00
PaperdollSelectionPolicyTests.cs fix(ui): port exact paperdoll body selection 2026-07-11 11:56:26 +02:00
PlayerKillerStatusBitfieldTests.cs fix(physics): #297 — keep the PWD bitfield live so PK status reaches the client 2026-08-03 20:59:01 +02:00
ShortcutDropPlannerTests.cs feat(ui): complete retail item drop branches 2026-07-11 09:46:32 +02:00
ShortcutStoreTests.cs refactor(runtime): close canonical gameplay ownership 2026-07-26 09:48:51 +02:00
StackMergePlannerTests.cs feat(ui): complete retail item drop branches 2026-07-11 09:46:32 +02:00
StackSplitQuantityStateTests.cs fix(ui): port retail partial stack transfers 2026-07-11 10:34:13 +02:00
ToolbarAmmoPolicyTests.cs feat(ui): port retail toolbar ammo count 2026-07-11 12:29:51 +02:00
VendorPricingTests.cs fix(runtime/core): Slice 5.3 review corrections — retirement/transit close, per-unit pricing, guarded auto-close dispatch 2026-08-07 16:15:57 +02:00
VendorStateTests.cs fix(runtime/core): Slice 5.3 review corrections — retirement/transit close, per-unit pricing, guarded auto-close dispatch 2026-08-07 16:15:57 +02:00