**Goal:** cover more ground without frame drops. - [ ] Move the scan onto a background thread (no main-thread stalls) - [ ] Incremental scan: only re-check chunks that changed/loaded, cache the rest - [ ] Spatial index (per-chunk block-entity lists) instead of full rescans - [ ] Scan cadence adapts to movement speed - [ ] Configurable scan radius decoupled from render distance - [ ] Skip empty chunks fast - [ ] Debounce so standing still costs ~0 - [ ] Profile + budget: cap ms/tick spent scanning - [ ] Optional deep-scan burst on a keypress - [ ] Memory cap on the container index
Goal: cover more ground without frame drops.