docs(post-A.5 #54): close JobKind plumbing issue + update CLAUDE.md flight status
Move ISSUE #54 to Recently closed referencing commit `bf31e59`. Drop
#54 from CLAUDE.md "Currently in flight" — only #53 (Tier 1 retry)
remains open in the post-A.5 polish phase.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
bf31e59805
commit
9a55354143
2 changed files with 20 additions and 25 deletions
15
CLAUDE.md
15
CLAUDE.md
|
|
@ -525,13 +525,14 @@ acdream's plan lives in two files committed to the repo:
|
||||||
acceptance criteria. Do not drift from the spec without explicit user
|
acceptance criteria. Do not drift from the spec without explicit user
|
||||||
approval.
|
approval.
|
||||||
|
|
||||||
**Currently in flight: Post-A.5 polish — Tier 1 retry + JobKind plumbing.**
|
**Currently in flight: Post-A.5 polish — Tier 1 retry (only remaining priority).**
|
||||||
Open issues: #53 (Tier 1 entity cache redo with animation-mutation audit), #54 (JobKind
|
Open issues: #53 (Tier 1 entity cache redo with animation-mutation audit).
|
||||||
plumbing through BuildLandblockForStreaming for proper far-tier skip).
|
ISSUES #52 (lifestone missing) and #54 (JobKind plumbing) closed 2026-05-10. #52 by
|
||||||
ISSUE #52 (lifestone missing) closed 2026-05-10 by commit `e40159f` — three real bugs
|
commit `e40159f` — three real bugs in the WB rendering migration's translucent pass
|
||||||
in the WB rendering migration's translucent pass (alpha-test discard, missing cull state,
|
(alpha-test discard, missing cull state, missing `uDrawIDOffset` uniform). #54 by
|
||||||
missing `uDrawIDOffset` uniform). After #53/#54 close, the next planned phase is N.6
|
commit `bf31e59` — `LandblockStreamJobKind` plumbed through `BuildLandblockForStreaming`,
|
||||||
(perf polish) — see roadmap for scope.
|
far-tier worker now does heightmap-only load (no `LandBlockInfo`, no `SceneryGenerator`).
|
||||||
|
After #53 closes, the next planned phase is N.6 (perf polish) — see roadmap for scope.
|
||||||
|
|
||||||
**Phase A.5 (Two-tier Streaming + Horizon LOD) shipped 2026-05-10.**
|
**Phase A.5 (Two-tier Streaming + Horizon LOD) shipped 2026-05-10.**
|
||||||
N₁=4 near-tier (81 LBs, full detail) + N₂=12 far-tier (544 LBs, terrain only); fog
|
N₁=4 near-tier (81 LBs, full detail) + N₂=12 far-tier (544 LBs, terrain only); fog
|
||||||
|
|
|
||||||
|
|
@ -46,24 +46,6 @@ Copy this block when adding a new issue:
|
||||||
|
|
||||||
# Active issues
|
# Active issues
|
||||||
|
|
||||||
## #54 — A.5/jobkind-plumbing: far-tier worker loads full entity layer then strips
|
|
||||||
|
|
||||||
**Status:** OPEN
|
|
||||||
**Severity:** LOW (correctness/perf; worker wastes CPU on far-tier LandBlockInfo + scenery generation that is immediately discarded)
|
|
||||||
**Filed:** 2026-05-10
|
|
||||||
**Component:** streaming / LandblockStreamer
|
|
||||||
|
|
||||||
**Description:** Bug A's fix (commit `9217fd9`) patches at the worker output — after a far-tier job completes the full `LoadNear` path, the result's entity list is stripped before posting to the completion queue. This means far-tier LBs still load `LandBlockInfo` + run `SceneryGenerator` + call `LandblockLoader.BuildEntitiesFromInfo` even though those results are thrown away. At N₂=12, that is ~544 far-tier LBs × unnecessary dat reads + scenery math on promotion sequences.
|
|
||||||
|
|
||||||
**Proper fix:** plumb `LandblockStreamJobKind` through `BuildLandblockForStreaming` so far-tier jobs call only `LandBlock` heightmap read + `LandblockMesh.Build`, skipping `LandBlockInfo` + `SceneryGenerator` entirely. The function signature change is ~5 lines; wiring is ~10 lines. Estimated 30 min–1 hour total.
|
|
||||||
|
|
||||||
**Files:**
|
|
||||||
- `src/AcDream.App/Streaming/LandblockStreamer.cs` — `HandleJob` + `BuildLandblockForStreaming`
|
|
||||||
|
|
||||||
**Acceptance:** Far-tier LB worker path reads only the `LandBlock` dat file (no `LandBlockInfo`, no `SceneryGenerator` call). Verified by adding a counter diagnostic or via dotnet-trace showing the dat-read call count per job kind.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## #53 — A.5/tier1-redo: entity-classification cache broke animation (reverted)
|
## #53 — A.5/tier1-redo: entity-classification cache broke animation (reverted)
|
||||||
|
|
||||||
**Status:** OPEN
|
**Status:** OPEN
|
||||||
|
|
@ -1721,6 +1703,18 @@ Unverified. The likely culprits, ranked by suspected probability:
|
||||||
|
|
||||||
# Recently closed
|
# Recently closed
|
||||||
|
|
||||||
|
## #54 — [DONE 2026-05-10 · bf31e59] A.5/jobkind-plumbing: far-tier worker loads full entity layer then strips
|
||||||
|
|
||||||
|
**Closed:** 2026-05-10
|
||||||
|
**Commits:** `bf31e59` (factory signature change to 2-arg + back-compat overload + far-tier early-out)
|
||||||
|
**Component:** streaming / LandblockStreamer
|
||||||
|
|
||||||
|
**Resolution.** `LandblockStreamer.cs` primary ctor now takes `Func<uint, LandblockStreamJobKind, LoadedLandblock?>` so the factory can branch on the job kind. A back-compat overload preserves the old single-arg signature for existing test code (5 ctor sites in `LandblockStreamerTests.cs` resolved to the overload with no test changes). `BuildLandblockForStreaming(uint, JobKind)` in `GameWindow.cs` early-outs for `LoadFar` with a heightmap-only path (`_dats.Get<LandBlock>(landblockId)` + `Array.Empty<WorldEntity>()`); near-tier path is unchanged. The Bug A post-load entity strip in `LandblockStreamer.HandleJob` is retained as a `Debug.Assert` + Release safety net. Per-LB worker cost on far-tier dropped from ~tens of ms (LandBlockInfo + scenery + interior) to ~sub-ms (single LandBlock dat read).
|
||||||
|
|
||||||
|
**Verification.** Build green; 1688/1696 tests pass (8 pre-existing physics/input failures unchanged); 30 streaming-targeted tests (LandblockStreamer + StreamingController + StreamingRegion) all green via the back-compat overload.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
## #52 — [DONE 2026-05-10 · e40159f] A.5/lifestone-missing: Holtburg lifestone not rendering
|
## #52 — [DONE 2026-05-10 · e40159f] A.5/lifestone-missing: Holtburg lifestone not rendering
|
||||||
|
|
||||||
**Closed:** 2026-05-10
|
**Closed:** 2026-05-10
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue