perf(rendering): reconcile only changed attachments

This commit is contained in:
Erik 2026-07-25 05:18:33 +02:00
parent 6b56f4bef2
commit b9cbf5e040
8 changed files with 246 additions and 14 deletions

View file

@ -328,7 +328,7 @@ graph corrupts collision state, which is worse than the allocation.
## #238 — EquippedChildRenderController ticks twice per frame with six ToArray snapshots
**Status:** OPEN
**Status:** DONE — 2026-07-25, Modern Runtime Slice H-a3
**Severity:** MEDIUM
**Filed:** 2026-07-24
**Component:** render / live entities
@ -350,6 +350,14 @@ the ordering and skip the redundant recomposition instead. Plan Slice H-a.
**Files:** `src/AcDream.App/Rendering/EquippedChildRenderController.cs:265-310,1421-1429`;
`src/AcDream.App/Update/LiveObjectFrameController.cs:204,241`.
**Resolution:** Both required authority boundaries remain. The first is still a
complete parent-first pose pass; the post-network boundary now compares the
exact parent's pose version, identity, visibility, and cell and recomposes only
changed branches. Publishing a changed child dirties its descendants naturally
within the same parent-first walk. Per-heartbeat pending dictionaries use
retained typed snapshots instead of arrays. Evidence:
`docs/research/2026-07-25-slice-h-a3-attached-pose-reconcile.md`.
---
## #239 — Inbound net path allocates 3-4 arrays/objects per packet