Should (How should) Snap! be more popular, etc

i was the one who turned it into a bookmarklet :~P

Code

javascript:void eval("!function(){const e=['!function(){"use strict";function e(e){return e.replace("MorphicPreferences.isFlat","MorphicPreferences.isLight")}function n(n){var t=e(new Function("return "+n)().toString());new Function(n+" = "+t)()}MorphicPreferences.isLight=MorphicPreferences.isFlat,IDE_Morph.prototype.darkDesign=function(){this.setDarkDesign(),this.refreshIDE()},IDE_Morph.prototype.lightDesign=function(){this.setLightDesign(),this.refreshIDE()},n("IDE_Morph.prototype.createLogo"),n("IDE_Morph.prototype.createControlBar"),n("IDE_Morph.prototype.createCategories"),n("IDE_Morph.prototype.createSpriteBar"),n("IDE_Morph.prototype.createCorralBar");var t=e(IDE_Morph.prototype.setDefaultDesign.toString()),r=e(IDE_Morph.prototype.setFlatDesign.toString());const i=new Function("IDE_Morph.prototype.setDarkDesign = "+t),o=new Function("IDE_Morph.prototype.setLightDesign = "+r);i(),o(),IDE_Morph.prototype.setFlatDesign=function(){MorphicPreferences.isFlat=!0,IDE_Morph.prototype.scriptsPaneTexture=null},IDE_Morph.prototype.setDefaultDesign=function(){MorphicPreferences.isFlat=!1,IDE_Morph.prototype.scriptsPaneTexture=this.scriptsTexture()},console.log("Injecting menu items");var s=IDE_Morph.prototype.settingsMenu.toString().split("\\n addPreference(\\n \'Flat design\',\\n () => {\\n if (MorphicPreferences.isFlat) {\\n return this.defaultDesign();\\n }\\n this.flatDesign();\\n },\\n MorphicPreferences.isFlat,\\n \'uncheck for default\\\\nGUI design\',\\n \'check for alternative\\\\nGUI design\',\\n false\\n );");s.splice(1,0," addPreference(\\n \'Flat design\',\\n () => {\\n if (MorphicPreferences.isFlat) { return this.defaultDesign();\\n }\\n this.flatDesign();\\n }, MorphicPreferences.isFlat,\\n \'uncheck for default\\\\nGUI design\', \'check for alternative\\\\nGUI design\',\\n false\\n );\\n\\taddPreference(\\n \'Dark Design\',\\n () => {\\n if (MorphicPreferences.isLight) {\\n return this.darkDesign();\\n }\\n this.lightDesign();\\n },\\n !MorphicPreferences.isLight,\\n \'uncheck for default\\\\nGUI design\',\\n \'check for alternative\\\\nGUI design\',\\n false\\n );");var p=s.join("");new Function("IDE_Morph.prototype.settingsMenu = "+p)()}();'],n=[[,]],t="0.2003274161194426-1662169419886-userscripts-ran",r=e.length;function i(e,n){const[t,r]=e;for(const e of r)if(o(e,n))return!1;for(const e of t)if(o(e,n))return!0;return 0===t.length}function o(e,n){let t;return t=e.startsWith("/")&&e.endsWith("/")?new%20RegExp(e.slice(1,-1)):function(e){let%20n=e;for(let%20e=0;e%3Cs.length;e++){const%20t=s[e],r=c[e];n=n.replace(r,%22\\%22+t)}return%20new%20RegExp(%22^%22+n.replace(/\/g,%22.%22)+%22$%22,%22i%22)}(e),t.test(n)}const%20s=[%22\\%22,%22.%22,%22+%22,%22?%22,%22^%22,%22$%22,%22(%22,%22)%22,%22[%22,%22]%22,%22{%22,%22}%22,%22|%22],c=s.map((e=%3Enew%20RegExp(%22\\%22+e,%22g%22)));!function(){if(!window[t]||confirm(%22Are%20you%20sure%20you%20want%20to%20run%20the%20userscripts%20again?%22)){window[t]=!0,window.isRunningAsBookmarkletUserscript=!0;for(let%20t=0;t%3Cr;t++){const%20r=e[t];if(i(n[t],location.href))try{window.eval(r)}catch(e){console.error(e)}}delete%20window.isRunningAsBookmarkletUserscript}}()}();%22)

I think you mean vim. : )

No. It's a compatibility layer.

Note the punchline. Emacs wins.

Yep : (

wait, what?

what does chromeos have to do with what else you want in Snap?

it translates windows calls into calls linux can understand
in fact the name Wine stands for

so its an inturptiter not an emulator

Huh, interesting

it's a what?

Instead of simulating a full windows computer, it just makes windows EXEs think Linux is Windows.

Snap really needs a run without screen refresh!!! WARP and turbo mode just isn't good enough. I mean honestly, Warp turns your game into a slide show and turbo changes all the code to no animation rather than choosing. Snap should have a lot of other things too that can improve it but these things are for Devs to worry about

That's funny, because warp is run without screen refresh.

That all comes down to how you code the game. For warp, you need to make sure not to put anything in the warp block that will repeat forever, or wait for a condition to be met (or wait seconds). Warp works very well when the script does not take too long. Oh, and by the way, this is the same with scratch's run without screen refresh.

As for turbo mode, it just speeds up running the code, which may make animations go faster, if the code relies on the regular speed. If you want animations to run at a good speed, you need to time the animation frames using something like the current [time in milliseconds] block.

And have you ever thought about what run without screen refresh means? It means it runs the code without refreshing the screen, so animations should not be made in run without screen refresh. This is also exactly what warp does, it runs the code without refreshing the screen.

Well, .. I’ve understood what WARP does is prevent the scheduler to potentially switch to another process after each block. Thus the sequence of blocks within a WARP-block are executed as if they were a single block - unless excution lasts longer than 0.5 second, or so.

But it also doesn't refresh the screen. That's why you should never stick a forever loop inside a warp block, and why you should not warp animations.

Correct.

How many blocks does snap run in a second?

Snap is pretty much overshadowed by Scratch, since Scratch has features Snap doesn't currently, and just generally has a larger userbase because it has more "trendy" projects and has less limits.

What features, specifically?

A lot of blocks and addons, a text editor, vector/bitmap translation support, some other stuff and it runs big projects way better