Repository navigation
Conversation
Replace the "Show landmarks" checkbox with a Landmarks pulldown: None, Thumbnails, or Text labels. Text labels are Plotly annotations centred on each cluster: rounded tags filled with the cluster colour, black or white text for contrast, showing the autotag phrase (or "Cluster N"). They follow the media filter, avoid overlapping, redraw when cluster labels change, and clicking one acts like clicking a thumbnail landmark. The controls under the map are rebalanced into a two-column grid, with a container query that lets the columns wrap in narrow windows. The new umapLandmarkStyle preference is seeded from the old umapShowLandmarks so devices keep their on/off choice, and is validated against its allowed values so a corrupt stored value can't get a whole preferences PATCH rejected. Also fixes two cache bugs in landmark redraws: newPlot left the thumbnail/label caches set, so an identical redraw after a recluster was skipped and landmarks stayed missing; and the thumbnail cache was recorded only after the images loaded, so switching style mid-load left thumbnails on screen. Co-Authored-By: Claude Opus 5.5 <[email protected]>
This branch has not been deployed
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.
Summary
umapLandmarkStyle, with a server field to match. It is seeded from the oldumapShowLandmarks, so devices that had landmarks off get "None". It only accepts the three valid values, so a corrupt stored value can't get a whole preferences update rejected by the server.newPlotleft the "already drawn" caches set. After a recluster, an identical redraw was skipped and landmarks stayed missing until the next pan.Notes
rx/ryon Plotly's annotation background rectangle, because Plotly has no corner-radius option. This is verified in Chromium only. If Safari ignores it, the tags fall back to square corners.captureevents), so a drag that starts on a label doesn't pan the map.Test plan
npm test: 1059 passed, including new tests for text-label rendering, the media filter, style switching, clicks, escaping, redraw after re-plot, and preference migration/validationpytest tests/backend: passed;make lintandformat:checkare clean🤖 Generated with Claude Code