jmoenig / Snap

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

Exporting blocks should include dependencies #2143

Closed kephas closed 6 years ago

kephas commented 6 years ago

I exported a drawing library I created to help kids make complicated procedural drawings, but apparentely forgot one block I used from the list utilities in there. I shouldn't have to manually keep track of every block I use to be able to export the blocks I created, this defeats the whole purpose of abstraction…

brianharvey commented 6 years ago

Yes, this is a known problem.

jmoenig commented 6 years ago

In the meantime, here's how I always do it myself:

  1. export all custom blocks from the source project and import them all into the target project
  2. after you're done with the target project select "Unused blocks..." in the project menu and remove all unused blocks from the projects, to make it small and snazzy to load.

"Unused blocks" keeps track of all dependencies and also catches indirect ones.

kephas commented 6 years ago

Yes, I realized I can do the export I want by first pruning unused blocks with all my wanted blocks deselected. But if the logic of dependency checking is in there, it shouldn't be too hard to have the reverse UI.

cycomachead commented 6 years ago

Duplicate of #1126