Wykres commitów

202 Commity (f4c2a3849301eef33d90d45ef937462fa7651cfc)

Autor SHA1 Wiadomość Data
jmoenig 070636228a tweaked continuations 2016-10-24 20:37:39 +02:00
jmoenig 7c2d505df9 fixed #1422 2016-10-21 16:29:04 +02:00
jmoenig ff5f9a7601 Visible Stepping, and more
* Visible Stepping with flashing blocks + slider for stepping speed
* user-controlled visible stepping with “step forward” button
* speed-up: removed unnecessary yields when running custom blocks
* you can now force a single yield with “wait 0” block
* tweaked keyboard entry: if inserted block has inputs go to first one
* only autoscroll panes where it makes sense (not the palette etc.)
* populate messages drop-down with all msgs, including ones from custom
block definition
2016-10-15 11:15:01 +02:00
Jens Mönig 0b1a100498 for hidden sprites display ASK questions in the input box
reported by NZ teacher @gmacmanus on Twitter:
https://twitter.com/gmacmanus/status/764023230747123712
2016-08-12 11:48:56 +02:00
Jens Mönig b270058cf6 fixed a fix 2016-07-19 14:44:39 +02:00
Jens Mönig 8ba7c180c9 Merge pull request #1330 from cycomachead/issue-1322
Fix a few Integer 0 vs String Errors.
2016-07-19 14:39:51 +02:00
Jens Mönig ee0765db3e enable broadcasts to be sent to specific sprites (experimental) 2016-07-19 14:38:27 +02:00
Michael Ball c643a09615 Handle 0 ints as strings in split by block 2016-07-19 03:09:29 -07:00
Michael Ball 78a627df27 Fix a int 0 bug in green length of block 2016-07-19 02:54:52 -07:00
Michael Ball 04b4c6678d Fix #1322, length of (int) 0 inputs
I also renamed the internal variables to be slightly more generic, but
now the function reads better. (IMO)
2016-07-19 02:34:08 -07:00
Jens Mönig cd03fb3028 finalizing v4.0.8 2016-07-14 12:18:23 +02:00
Jens Mönig 572c05502f fixed #1248 2016-06-12 08:10:48 -04:00
Jens Mönig f86a414343 Interactive Toggle Switches for Boolean Slots and Literals
in progress…
2016-06-01 13:35:54 +02:00
Jens Mönig f1d1ea2f3f fixed #1239 2016-05-31 09:50:27 +02:00
Jens Mönig 3299878c15 fixed #1212 - Null continuation doesn't escape from calling context 2016-05-09 13:11:09 +02:00
Jens Mönig 71333021d4 cloning speedup
significantly speed up sprite cloning through partial shallow-copying
of scripts and costumes instead of deep-duplication
2016-05-04 16:37:46 +02:00
Jens Mönig ed3b56a610 first-class sprites 2016-05-02 12:53:08 +02:00
Jens Mönig b35bc9907a prepare repo for v4.0.7 2016-04-27 10:39:27 +02:00
Jens Mönig bbb5106879 towards v4.0.6
* fixed #99 (saving linked lists)
* fixed #1163
* added web api / https reporter library
* new “transient variable” feature
* German translation update
2016-03-16 13:00:31 +01:00
Jens Mönig ad25c6aefd fixed a glitch in doWhen() 2016-02-24 23:15:32 +01:00
Jens Mönig 2f41581109 Merge pull request #1097 from cycomachead/export-error-pics
Allow exporting script pics with results that error
2016-02-24 11:57:30 +01:00
Jens Mönig df0269f5cc support for viewing 2D lists as tables 2016-02-24 11:35:18 +01:00
Jens Mönig 825c5f5568 Throw an error for “obsolete” blocks
instead of (forever) doing nothing (and thus often freezing and
crashing). Thanks, Paul, for helping identify this!
2016-01-19 00:03:17 +01:00
Jens Mönig 25bfecc079 remove a redundant yield from the fork primitive 2016-01-08 14:31:22 +01:00
Michael Ball 5b320fb091 Allow exporting script pics with results that error 2016-01-05 16:52:20 -08:00
Jens Mönig 300a6dff7a fixed #1082 - revert to ’any key’ in the key-pressed menu 2015-12-22 08:00:57 +01:00
Jens Mönig 2984a4d683 fixed #1071 2015-12-17 08:13:48 +01:00
Jens Mönig f24b65f673 towards v4.0.4 - under construction -
* Show result bubble when the user clicks on a command script that uses
REPORT (You can now click on REPORT and it actually does something)
* New generic “When” hat block, enhances red stop button behavior
* New block (instance) variables feature (experimental)
* evaluator performance optimizations
* Morphic grab-threshold fix for scroll frames
* fixed several block rendering glitches
* List category LENGTH reporter now also works on text
* Changed “any” to “random” (in English only)
* new FILL primitive in the Pen category
* switched to animation frame scheduling, please use TURBO for music
* Updated German translation
2015-12-15 10:14:56 +01:00
Jens Mönig 6061403a89 Prepare for v4.0.3
* fixed occasional horizontal rendering artifacts in block “holes”
(C-shaped slots and Ring holes)
* improved user editing of input slots and fixed cursor behavior (note:
the text cursor inside input slots also blinks again, as it should have)
* always export comments attached to prototype hat blocks in the block
editor along with script pic
* when first opening a block editor on a custom block definition make
it big enough to show everything (as much as fits on the screen)
* remember block editor position and dimensions for each edited custom
block definition when acknowledging (pressing OK or APPLY) for the
session
* speed up stacking of commands and loading of projects by suppressing
redundant block redraws
* introducing a “grab threshold” preference to suppress accidental
grabbing through micro-movements of the hand. This addresses the
“cannot-click-on-drop-downs-in-Chrome-under-Windows” set of bug
reports, and also the issues that arise out of accidentally dragging
off a copy of a parameter blob when trying to just click on it to
rename it
* new hidden (shift-click) option to adjust the grab threshold in the
settings menu for the current session
* expand list watchers inside result bubbles and speech/thought
balloons to show everything (as much of the list’s first level as fist
into either the scripting area for result bubbles or the stage for
speech balloons - note resizing the stage affects the size of the list
watchers inside speech balloons, i.e. making the stage bigger increases
the number of visible elements even while the balloon is showing)
* fixed a bug that make an occasional gray rectangle appear at the
mouse pointer
* added a way to invoke blocks synchronously in JavaScript - under
construction (possibly to be used for generic “When” hat blocks and
user-customizable drop-downs)
* added methods to cache morphs’ fullImage and fullBounds while dragging
* Reporters (also nested reporters) and sprite icons (in the corral)
are now semi-transparent when being dragged, so you can see possible
drop target halos /through/ them
* in “prefer empty slot drops” mode (default) it is now much harder to
drop reporters onto non-static C-slots inside custom blocks (e.g. in
FOR loops) and onto variadic input arrowheads (to replace the whole
input with an input list)
* ScriptsMorphs are now noticing transparent clicks (addresses #997)
* %interaction slots are now static, fixed #982 (it is no longer
possible to drop reporters into the input slot of a “When I am…” hat
block (never was intended that it should be possible)
* fixed ctrl-f for the block editor in all situations (thanks, Brian,
for the bug report)
2015-11-16 12:18:40 +01:00
Jens Mönig 2172084dae New feature: Export Project Summary
* opens a new browser tab on an editable HTML document containing an
overview of the current project which can be further processed (saved,
edited, printed, turned into a PDF) to create a project report.

* now, when you export script pics attached comments get included.

* also new: Support to detect and react to “any” keystroke (hat and
sensing blocks)
2015-10-02 12:39:41 +02:00
Jens Mönig f4b02ddd2e updated German translation
… and version history
2015-09-23 12:12:52 +02:00
Jens Mönig 858094dd16 Merge pull request #909 from cycomachead/ceiling
Add a Ceiling to the monadic math-block-thing
2015-09-23 11:50:02 +02:00
Jens Mönig 88fb358170 fixed #925 2015-09-15 18:18:40 +02:00
Michael Ball 5a7b8bd2d6 Add a Ceiling to the monadic math-block-thing
(Does that block have a name?)

This is good for two reasons:
* it just makes sense to have floor and ceiling together
* It's a minor thing for scratch 2 parity.
* it doesn't clutter anything. 😁
2015-08-15 12:28:57 +02:00
Jens Mönig 10fe9d882a thread monitoring tweaks 2015-07-27 09:42:41 +02:00
Jens Mönig 7994d6c0ca Prototypal inheritance for sprite-local variables 2015-07-27 00:35:36 +02:00
Jens Mönig c8ef53f9a9 Merge pull request #805 from brollb/master
Fixed typo in Process definition
2015-06-25 15:37:55 +02:00
Jens Mönig 4707169519 Merge pull request #834 from cycomachead/number-functions
Implement log10 and 10^x math functions
2015-06-25 15:32:22 +02:00
jmoenig f4ff1056ea update threads.js version 2015-06-25 15:30:58 +02:00
Michael Ball 93d67ed386 Fix Error Handing in the DATE block
For some reason the function wasnt properly catching errors and was instead rasing native
JS errors. This fixes that bug, so the function will now report nothing when it doesnt know
what to do.

In addition, moving the variable `dateMap` inside the function reduces a global variable, which
shouldnt affect anything other than keeping the code clean. :)
2015-06-15 18:49:24 -07:00
Michael Ball e21a872b0d Implement log10 and 10^x math functions 2015-06-15 17:19:25 -07:00
Brian Broll c67a13b7bd Fixed typo in Process constructor
Changed Process.prototype.contructor to Process.prototype.constructor
2015-05-19 15:48:17 -05:00
Jens Mönig b6efcaf17c return empty string when querying first letter of a list 2015-05-01 11:59:17 -04:00
Jens Mönig db01489a49 flush Stage>>keysPressed when prompting the user 2015-04-15 17:03:36 +02:00
Jens Mönig 5bf3820ce1 fixed #752 and #745 2015-03-25 14:03:06 +01:00
Jens Mönig e1a558a673 fixed #715 2015-02-28 05:58:34 -08:00
jmoenig ff3eed45ea correct threads.js version
happy New Year, duh :-)
2015-01-12 10:45:21 +01:00
jmoenig 04ffda276e Speed up messages received by clones
Don’t highlight scripts running inside clones (boosts performance),
Thanks, @aranlunzer, for the hint!
2015-01-12 10:17:13 +01:00
jmoenig b31df39d7f Let “zombifying” scripts access receivers’ local vars 2014-12-17 12:35:13 +01:00
jmoenig fc256e9e72 Remove terminated processes from expired clones 2014-12-17 09:41:21 +01:00
jmoenig 0a239b703c yield after each cycle in the experimental “forEach” primitive
thanks, Bernat, for reporting this bug!
2014-12-11 14:17:29 +01:00
jmoenig ad1fe34d1e Experimental “ForEach” primitive (hidden in dev mode) 2014-12-04 15:45:18 +01:00
jmoenig 17b6ae839b Improve edge-collision detection of default sprite “arrow” shape 2014-12-03 12:48:31 +01:00
jmoenig 320bfd0c99 Fixed #656
make sure to always evaluate the “report” block’s input, even if used
inside a custom command definition, because hardware extensions (and
other reporters with side-effects) rely on it.
2014-11-26 16:26:53 +01:00
jmoenig 723c232f3d Full TCO (tail-call-elimination)
now Snap! really *is* Scheme :-)
2014-11-25 17:51:04 +01:00
jmoenig 75849a59a2 Evaluator optimizations
reducing the stack size for reporters
2014-11-25 12:24:20 +01:00
jmoenig 4be96bb240 tail-call-elimination for reporters - experiment
(commented out, under construction)
2014-11-24 16:02:21 +01:00
jmoenig bd37771334 allow recursive reporters to be stopped by user 2014-11-24 14:38:27 +01:00
Jens Mönig f99962c161 Merge pull request #619 from cycomachead/split
Improvements to Split block for whitespace and line options
2014-11-24 13:32:55 +01:00
jmoenig 68c4d2d291 fixed #131
and display an error if a reporter or a “called” ring is missing a
“report” statement
2014-11-24 12:59:02 +01:00
jmoenig e48eda6cc0 Fixed #644 2014-11-24 10:48:49 +01:00
jmoenig 8814b61a32 Fixed #318 2014-11-24 09:28:45 +01:00
jmoenig 781144aa3c Fix “stop this block” primitive for tail-call-elimination 2014-11-23 13:53:34 +01:00
jmoenig 9e91a93ac0 Fix "stop this block"’s lexical awareness
“stop this block” when used inside a custom block definition now always
returns out of the lexically enclosing script (the definition), even if
it is used inside other nested, C-shaped custom blocks in the
definition code. Previously it only stopped the nearest encompassing
“for” block, now it always stops the block whose definition it is in.
I don’t expect this fix to break any existing projects.
2014-11-21 16:55:25 +01:00
Michael Ball 3e8146d043 Merge in recent changes (split block improvements #619) 2014-11-21 03:08:41 -08:00
jmoenig f2d0c2eba5 integrate translation update 2014-11-20 15:53:14 +01:00
Jens Mönig 10ade6421b Merge pull request #614 from MMSequeira/master
Add missing localizations and add Portuguese translations
2014-11-20 15:45:20 +01:00
jmoenig ce93fe8da7 fix ‘line’ option in ‘split’ block for Windows files
thanks, @brianharvey!
2014-11-20 15:16:12 +01:00
jmoenig f37e90436a renamed Process::callback to "onComplete" 2014-11-20 14:40:13 +01:00
Jens Mönig 63a1d2ee3a Merge pull request #641 from bromagosa/contribution
Added callback to Process
2014-11-20 14:26:56 +01:00
jmoenig 5771e93fa1 Fixed #364 avoid “freezing” when calling LAUNCH on empty ring 2014-11-20 14:21:56 +01:00
Bernat Romagosa 91690adb29 callback is only executed when the outmost block returns a value 2014-11-19 09:34:59 +01:00
Manuel Menezes de Sequeira 8e992dcaa8 Add localization to number of arguments error and temporary watchers 2014-11-18 18:11:14 +00:00
Bernat Romagosa f537f62ace Added callback to Process 2014-11-17 14:05:13 +01:00
jmoenig ea05f7859f Treat REPORT blocks inside custom command definitions as STOP THIS BLOCK / IGNORE INPUTS
this also enables all existing FINCH blocks and other hardware
extensions again, which used the REPORT (HTTP://) pattern
2014-11-17 10:22:39 +01:00
jmoenig b36a358173 Fix reporting out of nested custom C-shaped blocks
REPORT now reports to the nearest lexical element expecting an input
(which may not be the block holding the REPORT statement, this lets you
REPORT out of nested FOR loops).
STOP THIS BLOCK behaves as it used to.
If you’ve been using REPORT instead of STOP THIS BLOCK, you should
migrate.
2014-11-14 12:49:01 +01:00
Michael Ball dbf2e6665b Improvements to Split block for whitespace and lines:
* Split by whitespace now uses the built-in definition of whitespace \s
  This catches all characters definted as whitespace, see below:
  https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp
* Split a line by all unicode compliant line breaks. The biggest impact here is
  that OSX and Windows files will now split the same way.
The cr option is still around, but ther's no longer a need for it, IMO.
2014-10-18 23:00:11 -07:00
Manuel Menezes de Sequeira dda2d48f16 add localization to unknown variable error 2014-10-14 17:58:57 +01:00
jmoenig c6815c11d4 workaround for some REPORT / STOP BLOCK issues
enables reporting and stopping a bock from within a C-shaped slot in a
custom block, but not (yet) out of nested C-shaped custom blocks (but
that’s coming up, too)
2014-10-01 09:50:56 +02:00
jmoenig 8b5fa7f23c fixed #591
fully copy local variables for sprite duplicates and (Scratch-like)
clones
2014-09-29 09:50:16 +02:00
jmoenig 5695dd141b fixed #174, eliminate UpvarReferences in evaluator
replace UpvarReferences with references to Variable objects, fixes
upvar scope issues
2014-09-18 14:26:28 +02:00
jmoenig 04168220bd Refactor variables handling
introducing Variable objects, all functionality stays the same at this
time
2014-09-17 14:40:39 +02:00
jmoenig 130e105ea3 enable Zombiefication of JS-Functions
you can now redirect “this” in a JS function by binding it to another
sprite using the OF block
2014-08-13 17:43:49 +02:00
jmoenig 61dd479a2b export script pic with result bubble
hidden option in the shift-context-menu of reporter scripts
2014-07-30 16:28:01 +02:00
jmoenig c0b91b5fa2 enable “JS function” block to create custom control structures and HOFs 2014-07-28 14:41:15 +02:00
jmoenig e362730a0c JS function tweak, thank, @nathan! 2014-07-27 15:06:50 +02:00
jmoenig 3aae7c3ce4 new “JavaScript function” primitive
Go figure…
2014-07-25 14:35:36 +02:00
jmoenig 54fec68d78 Display “empty” Contexts as empty rings
(e.g. continuations). Brian was complaining about empty continuations
“sucking” up the watchers and value bubbles.
2014-07-24 12:24:19 +02:00
jmoenig df25b4dc73 fixed #521
deleting variable watchers by dropping them on the palette resulted in
wrong ones to be created when showing them again
2014-07-22 12:33:26 +02:00
jmoenig 15a751ad85 fixed #518 2014-07-21 08:23:14 +02:00
jmoenig f09a717719 rename "character" to "letter" in delimiter list
of “split” block
2014-07-18 15:36:56 +02:00
Michael Ball 80d1e25bee Lint: fix missing semicolon 2014-07-17 12:08:30 -07:00
Michael Ball 440cd340a5 Split Block: Add a character option for clarity
This also allows the split block to be used more easily in a HOF
2014-07-17 12:02:07 -07:00
jmoenig 37d82524f9 fixed #506, thanks @haritop!
thanks @haritop, for both the report and for also providing the fix for
it!!
2014-07-11 12:54:02 +02:00
jmoenig cd416bc9a9 revert changes made for JSLint’s sake
after the issue was fixed in JSLint
2014-07-08 17:04:15 +02:00
jmoenig e0289f8c41 show error messages for custom blocks (sorta)
(propagating to the script’s top block)
Also adjust to Doug Crockford’s latest infuriating nitpickings
(“unexpected ‘[‘) in JSLint
2014-07-08 13:12:45 +02:00
jmoenig 9f690fbfa3 initialize new variables with zero (instead of null) 2014-06-05 17:16:27 +02:00
jmoenig 295de115a3 Threads: new Variable data structure
for refactoring upvar references, not yet used anywhere
2014-05-20 09:34:37 +02:00
jmoenig f9989ad7cf checkpoint - release 2014-05-02 11:08:30 +02:00
jmoenig 5ab8b7e563 checkpoint 2014-04-30 12:52:54 +02:00