Hey y’all!
py5-ish adapter
I like the idea! Thank you very much. I’ve opened a ticket. There are some challenges (for example, sketching’s API deals with the fact that some renderers offer functionality others don’t which I’m not sure is a concept in the py5 interface design) though so I may need to chat with some colleagues about this one.
is there a technical reason you couldn’t swap pygame for Processing
Yes, unfortunately we have a requirement that this can run fully in Python so we cannot have a JVM dependency, precluding our use of Processing. However, @villares thank you for that suggestion! I’ve opened a ticket.
That said, I’m curious everyone’s thoughts on this. It’s unlikely Sketching will be able to support 3D in its other renderers like static and SVG at least for a while so I worry adding Processing as a backend wouldn’t add much for users over their simply using py5 instead. Separately, I’m not certain Processing or py5 will want to adopt joystick, sound, and geo support from Sketching so a lot of Sketching’s API may not be available there. I’m aware there are libraries but then it gets complicated ensuring they are available to the JVM on the other side.
web (p5.js)
Sorry I missed this. Yes, ironically it is somewhat easier (and I think potentially more performant) to interface with the HTML element directly in pyscript than to route calls through a JS library.
“nouns and verbs”
Thank you for this @mcintyre! I would gently also point out though a number of counter counter examples . See getters / setters in matplotlib artist, create_* in tkinter canvas, part of Pandas. Also a number of courses formalize this approach (Cornel, Boston, Stanford, AP CS). It’s also common in industry. I really respect your perspective on this! However, though I know it deviates from Processing, I regret that I may politely decline this suggestion. Thank you!
The distinction between D3 and Processing is pretty clear to me. Sketching and existing packages less so.
Thanks for your perspective! I hope it’s ok that I gently disagree here. I think the specific combination of goals I mentioned (portability, agnostic - including Python only execution, embeddable) are somewhat distinct at this stage and, for example, I don’t know if I see a clear alternative available right now for projects at work needing these three criteria. Those goals influence API design and different projects provide different interfaces because their objectives are divergent. Though I respect our disagreement on this point, I do think these efforts have distinct criteria and all separately offer something important to the broader ecosystem. Thank you so much for your thoughts on this!
I also worry I may have sent the wrong message . I am also still absolutely invested in Processing and continue contributing to its codebase as one of the three named core developers beyond Ben. Sketching has different goals than Processing but I value both.
EDIT: Sorry forgot to respond to p5 comment.