docs: file #256 and #257 from the first live-server session; V10 signed off

The user played a full session on Coldeve (production ACE fork) on the Vulkan backend and accepted V10: it felt good, graceful logout confirmed, two findings filed rather than blocking. #256: server-spawned signs and portals in the town portal network went invisible after repeated transits while remaining interactive - presentation-half, not wire. #257: working set ballooned to ~1.5 GB over the session against V8's ~880 MiB stationary measurement - a per-transit accumulation profile V8's vehicles never exercised. Both carry the same pre-V11 discriminator: run the identical portal-churn route on the GL backend while it still exists, because after V11 deletes it, backend attribution costs far more.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Erik 2026-07-28 22:09:12 +02:00
parent 2e29de2e08
commit 49a309aaaf

View file

@ -180,6 +180,68 @@ afterwards. **The test was not modified.**
---
## #256 — Server-spawned objects go invisible after repeated portal runs
**Status:** OPEN
**Severity:** HIGH (world objects invisible but interactive; live-server observed)
**Filed:** 2026-07-28
**Component:** live-entity render publication / streaming (backend attribution pending)
**Description:** During the first live-server session (Coldeve, Vulkan backend,
~long session with repeated town-portal-network runs), the user observed that
some server-generated objects — signs and portals in the portal network — became
visually missing after repeated transits. The portal remained *usable* while
invisible: interaction worked, so the entity was alive in the object table and
only its render projection was gone.
**Class candidates:** render-publication retirement across reveal generations
dropping statics without re-publish on revisit; texture-slot or composite churn
per transit exhausting/leaking table entries (see #249's GL-side residency
finding); the streaming residence race class (entities pending during
recenter — see the #168/#169 memory note). "Invisible but interactive" pins it
to the presentation half, not the wire or object table.
**Discriminator to run BEFORE V11 deletes GL:** the same repeated
portal-network route on the GL backend, same session length. Vulkan-arm-only →
the leak/retirement bug is in the new arm's resource lifecycle; both arms → a
pre-existing publication bug the campaign merely witnessed. After V11 this
question costs far more to answer.
**Acceptance:** repeated portal-network transits leave every server-spawned
sign/portal visible; a soak instrument counts published-vs-live entities per
transit and holds at zero drift.
---
## #257 — Working set balloons to ~1.5 GB over a live portal-churn session
**Status:** OPEN
**Severity:** HIGH (memory; live-server observed)
**Filed:** 2026-07-28
**Component:** GPU/streaming resource lifetime (backend attribution pending)
**Description:** Same session as #256: the process working set grew to
~1,500 MB, versus 877 MiB (VK) / 944 MiB (GL) measured by V8's stationary
vehicles and the ~930 MiB private-set neighborhood of the campaign baselines.
V8's vehicles were stationary or a single 9-stop circuit; a live session with
heavy repeated portal transits is a different lifetime profile, and the growth
suggests a per-transit accumulation (texture table entries, composite arrays,
mesh-arena ranges, or per-generation buffers) that eviction never returns.
**Likely coupled to #256** — if per-transit churn leaks presentation resources,
exhaustion (invisible objects) and growth (working set) are two symptoms of one
lifecycle bug.
**Discriminator:** same as #256, same reason, same before-V11 urgency. The
existing lifetime/uncapped soak machinery plus `GpuMemoryTracker` accounting per
transit is the instrument; the campaign's typed-residency ledgers (Slice D/E)
are the model to hold this to.
**Acceptance:** a repeated-portal soak (≥30 transits) holds working set flat
after warmup, with per-category GPU accounting drift at zero.
---
## #253 — Attribute/skill icons: not centered in their cells, and fully opaque
**Status:** OPEN