Add labels for higher zoom levels
- Dominant language
- TypeScript
- Stars
- 4.9k
- Forks
- 325
- Avg merge
- 14h 48m
- Merged PRs (30d)
- 7
Description
I recently created a large visualization with 3M points. You probably invested a lot of work in the defaults for all viz parameters as generally they produce great results.
The only thing I'd like to suggest is to add even more labels to clusters at higher zoom levels. At the moment from what I can tell you have two "levels" (5 and 10) for which you calculate labels depending on the zoom level. [Here is an example](https://do-me.github.io/apple-embedding-atlas-foursquare-italy/#?H4sIAAAAAAAAE12RW4vbMBBG/0r5nhWj+C697oXSG2VTupQlD4o1zYpakivJm6TB/7047mahTwOH0cx3Rme8UIjGO0jwrM04GJKxFJOyA+S6qcpCVFw0WVM3DC+GDpBnxGd/uLM70tq4PWQKI7EL/KZ2PUH+VH38RzZG006FK0t0TA/kNAUKEfI8MUTqqUukb1SivQ+nG9+P1kG6se8Z6HXPd0OHz14TJDS5aNIJDNY4Y0d7u4C743CvuuQDJGcYI4VbFX4tj+ZpE8PQ+xQhn84wGhKrj39+//AfHsROxMf3F/s0G+CLsqTfbS7RjHcRDHGgbrbvvB28I5cgcW34ZGICwxD8cNGapu2ybJNUohm9maxe7zjXwYelZwZHyNU6y0VR8roReds0ZVlUDCfIPBOlEEXR1C1vc17nFUPs1ByWZxUv6jwv1i0XZVOJiSEot6druqv+f77yDJPIzgfZvn3E10DadEvsp+00TX8BFCDOMScCAAA=) where I have some very dense areas/clusters I'd like to label too.
These labels could maybe also be generated on the fly when a user zooms there.
I discovered a few hard-coded values in a svelte component, e.g. this filter:
https://github.com/apple/embedding-atlas/blob/0630e2fcf8f50984647c4c52a15b4e4fd2f532a3/packages/component/src/lib/embedding_view/EmbeddingViewImpl.svelte#L575
Would setting this value lower to like 0.001 potentially fix my issue or should I look at other parameters?
Also, could you add Dev instructions, how to compile all the code and run it with the modifications for testing?
P.S. Could you open GitHub discussions for this repo?
Contributor guide
Research direction
Start with packages/component/src/lib/embedding_view/EmbeddingViewImpl.svelte around the filter at line 575 and trace how labels are calculated for zoom levels 5 and 10. Compare the requested dense-cluster behavior with the current hard-coded parameters and decide how higher-zoom labels should be generated. Done should include the requested labeling behavior and development instructions for compiling and testing the modified code.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- data-visualization, frontend
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100