From e960b9c7e38774e513c4df9f347ce6163ad8c7e4 Mon Sep 17 00:00:00 2001 From: Claude Date: Mon, 28 Sep 2026 14:34:18 +0000 Subject: [PATCH] docs(claude): name all four MPSC result queues in the async rule Workers return tile results through CriticalProcessQueue, EditedProcessQueue, NearProcessQueue or ProcessQueue (VoxelWorld.h), all EQueueMode::Mpsc; the rule named only ProcessQueue. Rules and links are otherwise unchanged (all links resolve, the other stated facts match the code). Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01URDGLsu7c4nunqNFPJEFPU --- CLAUDE.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/CLAUDE.md b/CLAUDE.md index a3998c2..c19c974 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -29,7 +29,8 @@ try to run anything. - **Determinism:** all randomness = hash of (coord, seed, strateIndex). No RNG state — same seed ⇒ same world. Player edits (diff layer) are the only non-deterministic overlay. - **Async safety:** worker tasks only READ Generator/Mesher, must check `bShuttingDown`, and return via - `ProcessQueue` (must stay `EQueueMode::Mpsc`). `EndPlay` blocks on `ActiveTaskCount → 0`. + the result queues — `ProcessQueue` and its `CriticalProcessQueue` / `EditedProcessQueue` / + `NearProcessQueue` siblings (all must stay `EQueueMode::Mpsc`). `EndPlay` blocks on `ActiveTaskCount → 0`. - **Carry the `Epoch`** through any new async path (stale results are dropped on mismatch). - **Don't "optimize" the perf invariants** in ARCHITECTURE `§8.10` — the `thread_local` box-valid caches, two-pass MC loop, SSE noise, and clipmap streaming are intentional.