jmoenig / Snap

a visual programming language inspired by Scratch
http://snap.berkeley.edu
GNU Affero General Public License v3.0
1.5k stars 744 forks source link

Unused blocks broken? #3388

Closed maryfries closed 2 months ago

maryfries commented 2 months ago

PD observation: We were demoing the unused blocks feature, and it didn't work correctly (v.10.0.0 at the time). We have this one on video here (Passcode: m!p+E*1s) around 1:03:00.

jmoenig commented 2 months ago

Thanks for the video, I've found the recording of your session. So, actually the unused blocks feature did work perfectly fine in your example, but the one block which you've decided to keep ended up relying on so many others blocks, that you didn't see a dramatic effect of removing many unused blocks. This is especially a problem with esoteric libraries such as colors and crayons, which really are less of a tool and more of a political manifesto about brown :D

maryfries commented 1 month ago

Haha! I suspect I know whose manifesto it is: the person who taught me that brown is actually dark orange! ;)

brianharvey commented 1 month ago

Hey, no fair. Colors and Crayons would have almost all of the same complexity without brown in the Fair Hue scale -- which might come to pass in a later revision because Jadga is so strongly opposed. It's not my fault that human color perception is so weird, or (for example) that you can't tell how a paint will combine with another paint just by looking at its color; you have to look at its chemistry (or just experiment). The interconnectedness of large libraries is just part of their largeness; I bet SciSnap has the same behavior.

Do you really think that Colors and Crayons isn't useful? Just like SciSnap, you don't use all of it in any one project, but sometimes your project is about mixing paints or whatever.

jmoenig commented 1 month ago

naw, colors and crayons are, in fact nice! But, like all really well designed libraries there are strong dependencies among the blocks, which is actually a sign of a good design - reusing modules!. However, as a result it's hard to cherry-pick only a single block without getting many of the others, too. And this has been what Mary tried to demo.