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.
This function helps creates a "fake" selection by getting all the rects for a given range, then creating a span tag for each that we layer over the rect position. For reasons that are not completely clear to me, the browser sometimes gives us what amount to "duplicate" rects for our purposes - Rects that completely or partially overlap and cause visual issues like a darker colored selection.
This PR is an effort to improve our deduplication logic to better detect these overlaps, which don't always have exactly matching top, left, width, and height properties. The approach here is instead to try to figure out of the top left corner of a given rect is inside of the previous rect when traversing the rects in order from top-left to bottom-right.
Before:
After: