Thanks for posting. Happy to answer any questions.
I used Pts around a year ago to make a music visualizer for an art class, it was really great for that use-case and I was really happy about my final result.
I'm excited for the future of your work and the future of the greater creative coding community.
Also while I can still edit: iirc the documentation is high quality. I was able to get a basic prototype working really fast, and the docs were extremely helpful.
Really glad to hear the docs are working as intended too.
People often compare it to P5, but somehow the first thing that came to mind when looking at it the first time (probably over a year ago) was D3, and that's some pretty high praise in my book haha
I'm building another library on top of this -- it's moving at a very slow pace so hopefully I can release it one day :D
I used D3.js originally to draw line charts to visualise USGS mineral statistics, but currently only use it for svgLine (from d3-shape) and scaleLinear and scaleLog (form d3-scale) functions.
Is drawing on canvas much faster than on SVG?
Could matrix or other transforms be used to map screen coordinates to chart coordinates as the d3 scales do?
Generic projections in complex plane (viewed as cartesian or polar coordinates) might be fun for generative art or visualisations of various signals.
d3 will give you a lot more support for data manipulations, but (if I may say so) creating highly customized visualizations can be easier in Pts.
I think it should be possible to use both d3 and Pts together. If you experiment with this approach, please let me know how it goes!
The scrolling seems like a bug that was related to recent changes. I opened an issue here: https://github.com/williamngan/pts/issues/140
Many of them are clojure inspired and are written in functional-style typescript.
A lot of these utilities (eg. transducers, multi-methods, stream utilities etc.) are very useful outside the data-visualization space as well.
I love processing/p5 and it's very easy to learn and has a vibrant community and lots of add-ons. It's also a great education tool.
Pts is a more opinionated library because one of my personal motivations was to create something that can help me think and approach creative coding in conceptual ways. It's more composable, and it provides the building blocks for a complementary library that I'm building now. :)
Also, my new favorite library.