Note this is a request for a tool to highlight differences between different versions of the same Snap! project so that it can help you to find why it doesn't work any more
I'm not expecting Snap! team to make it but it would be a great project for an advanced Snapper to work on!
Reason for this:
I made the classic mistook of "tidying up" my large Mayflower project just before publishing the new version
You'd think after 41 years of coding I'd remembered Rule 1 but no
So, somewhere in the zillions of blocks - something was giving a divide by zero error
But where????
Eventually - I found the offending script where I'd made a mouse slip
You think, you can interact with the costume/image of the script stored in this list? How? At most drag'n'drop as a new costume can be possible. Or copy the XML of the script to clipboard.
Or show the script image with
It may be hard or impossible to follow this workflow, but let's try...
A) CodeDB Project to capture/export data.(JS required)
B) CodeDiff Project to report differences (now requires JS) Project to report/process differences. No JS Version, CodeDiff
Some project variables should be transient but for the demo are persistent.
Import CodeDB sprite into every project to be analyzed
Run a local script
Sprite/data will be exported s CodeDB_????.xml file. Stage size limits the resolution of images.
...
Start CodeDiff project
Import every CodeDB_???.xml
Run script for any 2 sprites
Browse non matching scripts with . Zomm ± 30% G switch "ghost" mode, Shift browse "ghost" side S search the most similar script, show similarity score Space cycle, overlap ghost with lef panel to clearly see the differences
Just tried it on my big Mayflower project that I need/wanted if for and it basically works
Seems to find all hat scripts that have changed between 2 versions
And it seems to show the costume of a new sprite introduced between versions
No 1 improvement would be to have the scripts alternate between the two versions (as there are about 10 changes between the versions so it's hard to see what the changes are between each script as it takes 10 key presses to switch between them)
No 2 improvement would be a watcher to say which sprite the script is in
No 3 - some method of zooming the script image as its a bit tricky to see changes in this for example
I wonder if it would be possible to export the images into a side by side giant png image file that could be viewed in external image editor?
Added similarity score and finding most similar script (S).
Unfortunatelly new projects require JS, as calculating similarity is quite expensive in pure Snap!
I saved a project with "diff" of both your projects.
There are 31 differences out of 280 scripts.
I've selected the left part with arrows, when press S (it takes a few seconds on a relatively decent Intel PC). Results are shown in screenshots.
It took me a while to see the difference: overlapping the ghost with the left panel, scale up-down.
Variable watchers are awful as user interface, they move with every switch back and forth to "presentation mode" and save. Z order is uncontrollable. Also, the high-resolution stage is barely handled by Snap! but it is required to actually see some details. It helps to zoom out to fit all parts of ide.
You may check your project's CodeDB local "scripts" var, to see if it contains list
[Sprite name, XML, script image].
Changes: Space cycle, overlap ghost with lef panel to clearly see the differences
Unfortunately, I think it needs to restrict itself to comparing the same named sprite as it's not matching up very well with the correct corresponding sprite between the two projects so giving a lot of false results