Repository navigation
Conversation
The map can step through the 13 seasons, or play them in turn, with circles on one catch-rate scale so frames are comparable. Nurseries not sampled with timed sets that season show as dashed rings. InteractiveMap now redraws its layers when they change, keeping the view and any layers the reader switched off. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
/recaptures gets a map with one line per nursery pair and species (width = moves, both directions pooled) over circles sized by same-nursery recaptures; sharks with identity conflicts are left out. Each shark's page joins consecutive captures at different nurseries and lists capture numbers per site. Copy says the lines join capture sites, not the route swum. InteractiveMap gains toggleable line layers and MooreaMap draws lines in the server-rendered fallback; both offer them as CSV. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
/adults gets a map of where adults are caught: a Gaussian kernel density of the GPS points (Silverman bandwidth with a 0.3 km floor) on the sequential scale, under the single capture spots. Points on land, more than 5 km offshore or with a positive longitude are left out and counted in the note; the note also says density follows fishing effort. Below 20 points only the dots are drawn. InteractiveMap gains a toggleable density layer. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
A shark that moved between nurseries now gets an interactive map with Play and a capture slider: lines appear as it moves and a dot glides from one capture site to the next, with the date, site and length of each capture. Sharks that stayed put keep the static map. On /recaptures the same-nursery circles are smaller and grey so the move lines stand out. InteractiveMap gains maxRadius, a fixed lineMax and an animated traveller (placed without motion under reduced motion). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
# Conflicts: # src/lib/components/InteractiveMap.svelte
Move lines now carry an arrowhead 60% of the way along, clear of the circles at either end, in the line's colour. When a move is drawn in both directions the two lines split to either side, so there-and-back moves (Apaura -> Vaiane -> Apaura) show both arrows instead of one on top of the other. Leaflet offsets are in pixels and redrawn on zoom; line simplification is off so the arrow point survives. /recaptures draws one line per direction (width = moves that way) instead of pooling both. Shared geometry lives in lineGeometry.ts, with unit tests. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
# Conflicts: # src/lib/components/InteractiveMap.svelte
# Conflicts: # src/lib/components/InteractiveMap.svelte
…tion and omit unlabeled values
Collaborator
Author
|
Reviewed PR #186 changes across interactive map circle keyboard accessibility, layer redrawing, popup interaction and browser test coverage. Findings & Fixes Applied
Validation
Head commit: |
Leaflet's popup body is visibility: hidden while update() lays it out, so focus() from popupopen could be ignored. Retry for a few frames, and focus the body rather than the close button (also an <a href>) when the popup has no link of its own. Make the circle tests deterministic: assert the season slider instead of skipping the season redraw, and wait for the basemap tile zoom instead of a fixed timeout (the single adult capture keeps its path on zoom).
Collaborator
Author
|
Reviewed the circle keyboard support end to end and fixed three things on Findings
Fixes
Checks
The new assertions fail against |
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.
Closes #185. Stacked on #184 (base
feat/182-move-arrows).What
L.circleMarker) inInteractiveMapkeyboard reachable and operable (tabindex="0",role="button").aria-label) include the circle's label and details (e.g.Papetoai · Sharks / net-hour: 1.05 · 40 captures, 48 sets).EnterorSpaceopens the details popup.<a>), allowing keyboard users to follow links directly or tab to the close button.Escapedismisses the popup and restores focus back to the circle marker without trapping focus.:focus-visiblestyling (outline: 2px solid var(--ink)).e2e/map-keyboard.spec.tscovering nursery and adult circles across season redraws, zoom redraws, and overlay toggles.Checks
pnpm lint,pnpm check,pnpm test(126 passed),pnpm build,pnpm test:e2e(46 passed).