acdream/src/AcDream.Headless
Erik 9796d71522
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
feat(runtime): Slice 5.3 — RuntimeInventoryState owns the vendor browse session
The sole VendorState joins the J4.2 inventory owners: populated by the
new 0x0062 ApproachVendor route (parse via VendorApproach, wire-to-
domain mapping at the routing seam, silent-drop on malformed like every
sibling), borrowed by both graphical and headless hosts, and torn down
through the EXISTING ExternalContainer reset stage — session reset,
portal-out, and logout all funnel through the one mechanism. Close is
client-local per retail (nothing on the wire): a range watcher rides
the existing per-advanced-frame publishMovement callback, using the
vendor's own authored UseRadius (ACE's 0.6 m fallback when absent).
The dormant ItemInteractionController ActiveVendorId seam is finally
wired as a live delegate — real id while open, 0 the moment the
session clears.

AP-160 filed in this same commit: the watcher measures plain 3D center
distance rather than retail's cylinder-gap, because Runtime has no
per-NPC collision radius/height source; bounded sub-meter, client-
local UI only.

Twelve Runtime tests: populate/field mapping, vendor replacement,
range clear + within-range retention, all three generation teardowns,
the ActiveVendorId seam, malformed-event drop. Clean-room complete
solution: 11,302 passed / 4 skipped / 0 failed.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-08-07 15:37:12 +02:00
..
Configuration fix(headless): complete connected movement gate 2026-07-27 10:26:44 +02:00
Credentials feat(headless): complete portable single-session host 2026-07-27 07:36:53 +02:00
Diagnostics perf(headless): enforce K4 resource envelope 2026-07-27 11:14:50 +02:00
Hosting feat(runtime): Slice 5.3 — RuntimeInventoryState owns the vendor browse session 2026-08-07 15:37:12 +02:00
Platform feat(linux): add graphical platform services 2026-07-27 11:54:59 +02:00
Policies fix(headless): complete connected movement gate 2026-07-27 10:26:44 +02:00
AcDream.Headless.csproj feat(headless): establish portable Linux host boundary 2026-07-27 01:10:45 +02:00
HeadlessAssemblyMarker.cs feat(headless): establish portable Linux host boundary 2026-07-27 01:10:45 +02:00
HeadlessEntryPoint.cs fix(headless): complete connected movement gate 2026-07-27 10:26:44 +02:00
HeadlessExitCode.cs feat(headless): complete portable single-session host 2026-07-27 07:36:53 +02:00
Program.cs feat(headless): complete portable single-session host 2026-07-27 07:36:53 +02:00