XML script builder (works for every feature as of snap 10.4.x)

https://snap.berkeley.edu/snap/snap.html#present:Username=sathvikrias&ProjectName=xml%20script%20building

welp, it's been long overdue for me to release a new project. so try this out! tell me if there is anything you wanted to create but couldn't/something I forgot to implement or any bugs in the project (feedback appreciated).

by the way, check out the "xml utilities" scene here that also allows dynamically adding scripts to the editor (although it is currently quite buggy)

of course, all of it uses no js!

oh, and here's one thing you can make with it:


check the examples in the project for more!

finally, post your craziest creations below!

Wow, this is actually pretty impressive. Great job! I remember the old xml generator project, and this is a huge step up. Man, comparing that old one from 2019 to this new one in 2024 really shows how much snap has changed since then.

This is amazing!

The blocks need help texts. For example, I'm having trouble figuring out what "non-scalar" means in the INPUT block. (Well you did ask for feedback...)

thanks bh and ego-lay_atman-bay for all the feedback :)

doing it right now.
btw on the old topic you said you figured out how to

and after playing around with my project, I couldn't figure out how. do you know if we still could, or if this was disabled after the morphic rewrite?

yeah, I've really used almost every feature released in every snap 10.x, just goes to show how much new things jens adds.

I'm confused, can't you just use (extension [snap_xml_decode V] [] @delInput@addInput) and (extension [snap_xml_encode V] [] @delInput@addInput)?

They are using those, they're just using blocks to construct the xml to load.

yeah, you can, but I didn't want to make everyone go through the abnormally large dropdown in the extension block :)

of course the extension blocks are literally the definition of the decode and encode xml blocks.

oh, ok

Plus, creating a block that only runs an extension function is actually it's intended use. You're not meant to use the extension blocks outside custom blocks.

yeah, that's right.

done, mostly. are there any specific other blocks that still need help text?

Very cool, and surprisingly similar to what I have been doing recently. However, one part doesn't work for me. In the second scene, all the blocks that are loaded end up as undefined blocks. I have discovered the same problem in the past with SciSnap's "Install Eventhandler" block, which does something similar. If the block is primitive, it works fine, but otherwise it ends up undefined. I have tried clearing cookies and using Edge instead of Chrome, but no luck. If this actually works for other people, I hope I can find a way to make it work for me, seeing as I have needed this for my "Types" project (in another topic). Thanks.

thanks! I worked hard on it.

that was happening for me, but for some reason it stopped happening. but I do know about the issue:

but anyway

of course, that is what I have been using.

It was backwards for me. The SciSnap! block was working and then just when I figured out how to use it... it broke. It hasn't fixed yet for me. Hopefully it gets fixed/bugs get ironed out!

update 1.1 (20241230)

added local block support (technically it was already there but there was a typo); added scripted menu support; made examples better; added the autolambda input (ring input) EDIT (20250114) literally what does that input do

update 1.1.2 (20241231)

added menu options for the options slot in the (slot type [ v] readonly <> static <> initial (1 :: #5353d4) default [] options [ v] :: #6464ff) block

update 1.1.3 (2025:tada:)

added random stuff to see on the project page

update 1.1.4 (20250102)

combined the slot type blocks; made the menu in the input type block make more sense

update 1.1.5 (20250104)

added a 'cursed' examples section

update 1.1.6 (20250108)

added a "other input [ V]" block containing the "empty" option (now moved here) and a "⚑" option.

update 1.2 (20250109)

added COLOR support!!!! (and made the block labels make more sense)

update 1.2.1 (20250111)

fixed the xml utilities scene example; added <dev version?> and <current version?> blocks there

update 1.2.2 (20250112)

fixed the xml utilities scene, added <release candidate?> there, added a block var values block that does nothing necessary in main scene.

update 1.2.3 (20250119)

simplified the block var declaration and translation definitions, also made it so that you could type in translations directly rather than using a block constructor.