f57ea0b70cd317ddeaddeec5a90ce4623a46c91c
EnsureLoadedAround skipped Get() for any active chunk already in _inflight. That worked for the MonoGame TacticalRenderer, which calls Get() during its own draw loop and incidentally drains pre-warm tasks. But subscribers to OnChunkLoaded (e.g. the Godot port) saw no event when a previously-pre-warmed chunk transitioned into the active set on a later frame — the chunk stayed in _inflight forever, presenting as permanently-uncached gaps in the rendered world. Fix: drop the !_inflight.ContainsKey(cc) guard. Get() already handles all three paths (cache hit, inflight drain, fresh generate), so passing every active chunk through Get() guarantees OnChunkLoaded fires once per chunk regardless of how it was scheduled. Same flavour of bug as M1's MoistureGen FastNoiseLite race — cross-process / event-driven consumers exercise paths the in-process pull-based test fixtures never hit. 708/708 tests still pass. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Description
No description provided
Languages
C#
95.4%
JavaScript
3.3%
HTML
1.3%