acdream/src/AcDream.App/Rendering/Scene
Erik 58c8de264e fix(render): #350 — the shadow ledger's lifetime counters are 64-bit; the 2h42m overflow is closed
RenderDeltaApplyResult's nine counters accumulate for the lifetime of
a world generation (the cumulative sum is never reset in place) yet
were int where every sibling lifetime counter in the same class was
already ulong/long. A 2h42m single-generation session (login to crash
with zero portals) overflowed one through ordinary per-tick churn from
SynchronizeActiveSources' two call sites per frame. Introduced
0eb66485 (2026-07-24); first reached by the vendor buy gate because
parking at a shop for hours produced the project's first multi-hour
unbroken generation. The vendor materializer was exonerated by routing
analysis (shop-item Ingest/Remove reaches inventory deltas only, never
the render journal).

Widened to long; the per-tick builder stays int and widens implicitly;
the arithmetic stays checked. All 68 render-shadow tests green.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-08 10:29:39 +02:00
..
Arch Reapply "perf(rendering): draw retained frame product" 2026-07-25 08:36:11 +02:00
CurrentRenderSceneOracle.cs perf(runtime): remove measured steady allocations 2026-07-25 17:50:30 +02:00
GpuWorldRenderTraversalOrderSource.cs fix(rendering): preserve exact scene traversal order 2026-07-25 02:03:58 +02:00
LiveRenderProjectionJournal.cs refactor(app): key live projections by runtime identity 2026-07-25 21:50:58 +02:00
RenderFrameProduct.cs feat(rendering): pack scene dispatcher inputs 2026-07-25 00:44:58 +02:00
RenderFrameRouteOwnerSelector.cs refactor(rendering): prepare retained particle routing 2026-07-25 08:45:18 +02:00
RenderInstanceCandidate.cs feat(rendering): prove packed dispatcher output parity 2026-07-25 01:31:56 +02:00
RenderProjectionJournal.cs feat(rendering): pack scene dispatcher inputs 2026-07-25 00:44:58 +02:00
RenderProjectionRecordFactory.cs feat(rendering): pack scene dispatcher inputs 2026-07-25 00:44:58 +02:00
RenderSceneContracts.cs fix(render): #350 — the shadow ledger's lifetime counters are 64-bit; the 2h42m overflow is closed 2026-08-08 10:29:39 +02:00
RenderScenePViewFrameProduct.cs Reapply "perf(rendering): draw retained frame product" 2026-07-25 08:36:11 +02:00
RenderSceneShadowRuntime.cs Reapply "perf(rendering): draw retained frame product" 2026-07-25 08:36:11 +02:00
StaticRenderProjectionJournal.cs fix(rendering): preserve exact scene traversal order 2026-07-25 02:03:58 +02:00