So once bh said in a topic
if you happen to want to organize your program that way. So I'm not sure why you chose p5.
But anyway, the implementation language is really the least of your worries. How closely do you mean to follow the internal structure of Snap*!* ? Are you proposing to reproduce each internal procedure of the implementation? Or, at the other extreme, do you mean to pay no attention to how Snap*!* works internally and design it yourself?
My saying to that is Blockal/BAB is mostly html for the blocks and stuff and the p5.js and JavaScript stuff is mostly for the interpreter(kinda) and the p5.js for the stage and what happens is the JavaScript code checks what block it is and how it does that is by seeing the spec, type, and target first the spec is what’s on the block and the type is what type of the block it is and the target is on which thing it runs on(the stage or the sprite) and more focusing on the html first the html has all the categories and the block containers for the categories which only show when a function called toggleBlocks(the category)
Also I plan to resemble snap by a bit or kinda I took inspiration from snap but I didn’t wanna go through all the trouble of making everything draggable and snap together so I thought of just making it Tap and click but ever
since I was younger I had always wanted to make something like scratch but then I discovered that scratch used node.js and react and python(I think) but then eventually I discovered Snap! And I loved it then I discovered the snap forums a few years later(I think) and then I thought maybe I should make something like Snap! So I designed how I would make it and everything I learned more math in my classes I looked some things up I looked at snap! Source code Then I started making the code and I thunk of the name Blockal then I had another name idea and turned it into BAB(Build A Blox) inspired by BYOB(build your own blocks) and I might even change the name to SCBB(Super cool Block Building) or TCB(Tapping and clicking blocks(I know it sounds like a dr*g but I didn’t mean to put that name there okay? It’s at the bottom of my list of names))