I used a similar (but not identical) multi-column drill-down navigation technique in my Unnamed Gopher Client[0].
However, instead of coding my own scroll gestures, I delegated to CSS Scroll Snap, which works beautifully, even in complicated scrolling scenarios, and scrolls natively.
Thank you for your advice. I would very much like to depend on native scrolling for managing positions, except that I ran into some roadblocks early on and resorted to javascript. But I will look into CSS scroll snap for this.
Cool library.
I’m not sure if the name adds any value (something more tree-based would make more sense?), but if you’re going to use it you should make a logo with noodles or something.
That's quite true. It's not meant to be a panacea, but I hope it can be useful in situations where tree-like relationships are pervasive (like comment sections, for example).
Thanks! This is indeed originally intended as a note-taking tool. After a prototype for that I realized its potential to become a generic UI framework, so I worked towards this library instead.
At some point I'll probably link it back to the original tool, so keep watch if you're interested.
I like it on desktop. My only gripe is that when you mouse-over a scrollable list on the expanded noodle and scroll then it should scroll the list your mousing over instead of the list that opened it.
However, instead of coding my own scroll gestures, I delegated to CSS Scroll Snap, which works beautifully, even in complicated scrolling scenarios, and scrolls natively.
You can see here how accurate scrolling is: https://i.imgur.com/m9MBo4N.mp4
The main issue is detecting when scrolls end, but that can be addressed with a bit of cleverness.
I highly recommend giving Scroll-snap a try if you can.
[0]: https://github.com/zenoamaro/unnamed-gopher-client