docs(research): #138 handoff — RESOLVED banner + correct the re-hydrate source (not ClientObjectTable)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Erik 2026-06-21 08:09:36 +02:00
parent aa4a04d28e
commit b07825cd24

View file

@ -7,6 +7,19 @@
---
> **✅ RESOLVED 2026-06-21 (`bf66fb4`+`0a5f91b`+`aa4a04d`, branch `claude/thirsty-goldberg-51bb9b`;
> pending user visual gate).** The re-delivery diagnosis below was CONFIRMED by cross-reference
> (ACE never clears `KnownObjects` on a teleport so it won't re-send known objects; retail/holtburger
> keep the client object table and re-render from it). **BUT this handoff's recommended fix source
> was WRONG:** `ClientObjectTable` is the INVENTORY model (`ClientObject` has no world
> position/cell/Setup — see `src/AcDream.Core/Items/ClientObject.cs`) and cannot rebuild a render
> entity. The real retained world-object table is **`GameWindow._lastSpawnByGuid`** (parsed
> `WorldSession.EntitySpawn` records with position + Setup + appearance); it survives the collapse
> and is what we re-project from. Shipped fix: `LandblockEntityRehydrator` + `StreamingController.
> onLandblockLoaded` + `GameWindow.RehydrateServerEntitiesForLandblock`, plus a pending-bucket
> persistent-entity rescue for the player-vanish. See `docs/ISSUES.md` #138 + register AP-48. The
> rest of this doc is the (accurate) investigation trail; ignore its `ClientObjectTable` fix advice.
## What shipped this session
| Commit | What |