This is an integration of:
Code
https://svelte.dev/repl/5c8cb076440c4ff9accfec6a8b422e9f?version=3.37.0
Demo
Notes
- Tick marks should scale based on zoom level, would improve performance too, because far less marks need to be rendered. Maybe it could even use a virtual list?