Feature/leaderboard pagination#369
Open
Truphile wants to merge 6 commits into
Open
Conversation
|
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.



I have implemented the agent clustering logic and fully integrated it into
the system's SSE stream and frontend map according to your criteria.
Here is what was done:
clusterPositions method using the Haversine formula to cluster agents
within the given gridSizeKm (default: 5km).
tracks the query parameter ?cluster=true&gridSize=5 . When clustering is
toggled on, it emits a agent.positions.clustered.snapshot event initially
and agent.positions.clustered full state events whenever any internal
position change is detected by subscribeAgentPositionDeltas . When
cluster=false , it behaves equivalently to the legacy individual delta
stream.
parameters.
• Added ?cluster=true query check using useSearchParams() inside
AgentsMap.tsx.
• In LeafletMap.tsx, when clustering is active, it conditionally
renders custom blue circle markers featuring a numeric badge using L.
divIcon displaying the exact cluster count .
cluster.test.ts
satisfying the "3 agents within 2km -> 1 cluster of 3" criteria.
closes #267