Repository navigation
Conversation
dgant
force-pushed
the
codex/cache-unit-queries
branch
from
November 2, 2026 17:26
3b5cc7b to
18816ad
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Repeated local unit searches scan every accessible unit on each call. This change adds a lazy spatial index for radius, rectangle, tile, and closest-unit queries while preserving result order, predicate order, closest-unit ties, and the existing geometry semantics.
The first local query and broad searches use a linear scan. Repeated local queries share the index until the unit snapshot or a unit position changes. Bounds and filters are evaluated at query time so latency-compensated type changes remain visible. Closest-unit queries avoid an intermediate list, and maximum unit dimensions are computed once for the spatial bounds.
This PR changes four production files and one spatial regression test file. Player, resource, neutral, pylon, bullet, larva, Interceptor, and transport query implementations remain as upstream. It introduces no public API or dependency changes.
Validation on commit 9304f3f:
These are synthetic query timings, not a demonstrated PurpleWave game-speed improvement. The improvement applies to repeated local searches; single-query workloads pay a small dispatch cost.