I love the simplicity of p5 and the fact that it shies away from an object-oriented API. This actually makes it conceptually closer to how lower level languages work.
However, I’m wondering if it would be valuable to have an object-oriented wrapper library for those who want to “graduate” to a paradigm more prevalent in production applications. I can imagine building a game engine on top of such a library.
I’ve looked through all of the libraries and don’t see anything like that, so I assume that I’m not reinventing the wheel. But I do wonder if anyone else thinks this would be valuable, or if I would be doing it for my own entertainment.
If memory serves, most of those classes are from p5.sound.
I would like to wrap most of the drawing primitives so that you can treat elements on the canvas as if they are discrete objects instead of just pixels.
In principle there is nothing against doing this and implementing another abstraction layer.
I personally wouldn’t use it, because if my model already contains its own abstraction layers and I want to represent/display it on an atomic level, the direct way is fine for me and I don’t need additional classes representing for example geometric primitives.
But this is purely a matter of taste. Certainly there are also cases which it would be usefull and I bet there are people which will use it.
But even if you are doing it for your own entertainment it will be fun for sure… and reminds me a bit when I developed some basic libraries and a GUI Framework on my own years ago … Just for fun!
Yeah, I looked at all of those. They either don’t do what I’m envisioning or they are more specialized than what I’m envisioning. I don’t want this to be a game engine, although I do think of it as a great foundation for writing a game engine. Shape5js is much closer to what I’m going for, but it doesn’t provide classes to represent things like text and curves. I might even introduce layers by using P5’s API for creating multiple canvases.