Wykres commitów

175 Commity (84d6186b51cc7f7d5ecf795d6a56b23fc87df8e0)

Autor SHA1 Wiadomość Data
Jens Mönig 179d93f103 support for retina displays, integrates #1063 - IN PROGRESS
This has bee designed and written by the amazing Bartosz Leper
(@bl-nero). Since I totally suck at Git and find myself incompetent to
resolve merge conflicts, I’ve decided to manually copy Bartosz’s
changes mostly verbatim over, tweaking them only ever so slightly in
ways that don’t alter their functionality, except for introducing a
tiny test so current Safari still loads Snap, albeit not in retina
mode. THIS IT NOT READY FOR RELEASE YET, IT’S WORK IN PROGRESS. Get it?
Thanks!
2016-05-10 20:33:44 +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 df0269f5cc support for viewing 2D lists as tables 2016-02-24 11:35:18 +01:00
Jens Mönig e4ea35132d Fixed a rendering glitch when deleting reporters
via the context menu
2016-01-22 09:23:23 +01:00
Jens Mönig 71f4ca475a update version indicator 2016-01-16 00:13:06 +01:00
Jens Mönig 833a6c3a96 fixed a multi-line input slot layout glitch 2016-01-16 00:04:36 +01: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 e672fe5056 fix exporting script pics from block editors (again) 2015-12-15 17:17:42 +01:00
Jens Mönig e1f3b9be8f fix exporting a script pic from inside a block editor 2015-12-15 15:58:55 +01:00
Michael Ball e27a7f245e Resolve merge with 4.0.4 2015-12-15 03:46:27 -08: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
Michael Ball 8050b5b8cb Merge branch 'master' into blob-api
* master:
  add Brian's help panes for "for each item of list" block
  optimize cloud communication
  fixed linked lists identity loss when showing watchers
  Add LABEL to the tools library; fix #1009
  fixed a zebra-coloring glitch for BooleanSlotMorph
2015-12-08 03:49:08 -08:00
Michael Ball e241ff6795 Cleanup log statement; minor try/catch refactoring 2015-12-01 03:14:16 -08:00
Michael Ball 9490b65270 Cleanup filenames and references to `ide` 2015-12-01 01:45:58 -08:00
Jens Mönig efbb3d5886 fixed a zebra-coloring glitch for BooleanSlotMorph 2015-11-17 15:26:22 +01:00
Michael Ball 6f03f121ad Fix some file names in exporting content 2015-11-16 18:31:19 -08:00
Michael Ball fa6f168bc0 Merge in 4.0.3, resolve conflicts with scriptpics 2015-11-16 17:53:17 -08:00
Jens Mönig f5ffcea231 fix two zebra-coloring related glitches
… which I’ve introduced in trying to avoid “redundant” redraws earlier
2015-11-16 18:02:35 +01:00
Jens Mönig 2642708780 Merge pull request #971 from cycomachead/resource-loading
Refactor Loading Resources (Sounds, Libraries, etc)
2015-11-16 12:34:51 +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
Michael Ball db7fcada84 Finish saveAs in blocks.js; fix encoding saving a canvas 2015-11-12 03:29:32 -08:00
Michael Ball e47dcb0ebf Improve saveAs refactoring (WIP across all Snap!)
- added TODO comments to all functions that need updating (byob, blocks)
- separate out the code into 3 new functions for readability:
  - `saveFileAs` is a generic method
  - `saveCanvasAs` and `saveXMLAs` are wrappers which aid in exporting images and all XML files which together cover almost all export cases.
  - In other cases, you can call `saveFileAs` directly with some additional input.
- `saveCanvasAs` in particular uses a new `Canvas.toBlob()` option when it is available (FF and IE currently) that should greatly reduce memory.
(Chrome and Safari both have open bugs and may at somepoint implement this function.)
- I have added in code to detect bugs in chrome, including when a new window is being opened. If a new window cannot be opened, the a (to be written) warning message will appear.
- a few functions (namely those in morphic.js) have not touched. However, these are functions which should only occur in a small subset of cases and are behind hidden features.
2015-11-09 15:14:23 -08:00
Michael Ball cce37d8172 Use resourceURL() for items in help/ 2015-10-07 23:32:52 -07: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 cd7f99534b updated version date 2015-09-23 12:17:41 +02:00
Jens Mönig f4b02ddd2e updated German translation
… and version history
2015-09-23 12:12:52 +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 d243b379e8 fixed #907 2015-08-14 15:23:47 +02:00
Jens Mönig 8601925acc improve keyboard editing for embedded rings 2015-07-30 14:49:10 +02:00
Jens Mönig 10fe9d882a thread monitoring tweaks 2015-07-27 09:42:41 +02:00
Jens Mönig cbba888012 thread introspection support 2015-07-27 01:30:05 +02:00
Jens Mönig e8172e83dd update history 2015-07-27 01:12:12 +02:00
Jens Mönig 45a1d276b4 enable monitoring closurized non-locals and thread-temporaries (script vars of running processes) 2015-07-27 00:46:56 +02:00
Jens Mönig d66e5629ba support for prototypal inheritance for sprite-local variables 2015-07-27 00:37:47 +02:00
Jens Mönig 7994d6c0ca Prototypal inheritance for sprite-local variables 2015-07-27 00:35:36 +02:00
Jens Mönig 76d9d6bd49 keyboard editing support
activate:
      - shift + click on a scripting pane's background
      - shift + click on any block
      - shift + enter in the IDE's edit mode

    stop editing:
      - left-click on scripting pane's background
      - esc

    navigate among scripts:
      - tab: next script
      - backtab (shift + tab): last script

    start editing a new script:
      - shift + enter

    navigate among commands within a script:
      - down arrow: next command
      - up arrow: last command

    navigate among all elements within a script:
      - right arrow: next element (block or input)
      - left arrow: last element

    move the currently edited script (stack of blocks):
      - shift + arrow keys (left, right, up, down)

    editing scripts:

      - backspace:
        * delete currently focused reporter
        * delete command above current insertion mark (blinking)
        * collapse currently focused variadic input by one element

      - enter:
        * edit currently focused input slot
        * expand currently focused variadic input by one element

      - space:
        * activate currently focused input slot's pull-down menu, if any
        * show a menu of reachable variables for the focused input or
reporter

      - any other key:
        start searching for insertable matching blocks

      - in menus triggered by this feature:
        * navigate with up / down arrow keys
        * trigger selection with enter
        * cancel menu with esc

      - in the search bar triggered b this feature:
        * keep typing / deleting to narrow and update matches
        * navigate among shown matches with up / down arrow keys
        * insert selected match at the focus' position with enter
        * cancel searching and inserting with esc

    running the currently edited script:
        * shift+ctrl+enter simulates clicking the edited script with
the mouse
2015-07-26 23:37:10 +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 4c21c9f187 Revert to "new" for object creation
and prepare for new release
2015-06-25 15:11:51 +02:00
Nathan Dinsmore e1b104948b Fix InputSlotMorph::fixLayout() 2015-06-18 16:05:27 -04:00
Nathan Dinsmore 0245a81fc0 Optimize loading projects a bit more 2015-06-17 23:05:34 -04:00
Nathan Dinsmore 95a815b6d6 Don't redraw label parts unnecessarily 2015-06-17 22:21:23 -04:00
Nathan Dinsmore f54da26e8e Don't step SyntaxElementMorphs or their children
~1500 ms before => ~150 ms after (stepping world with large scripts)
2015-06-17 20:05:35 -04:00
Nathan Dinsmore 94687f8e63 Optimize Block::thumbnail()
Remove noShadow, because copying is really expensive--you could probably add this in-place with some more complicated logic, but it doesn't seem worth it. Also fix clipping logic so that fades look good on all background colors.
2015-06-17 18:39:23 -04:00
Nathan Dinsmore 87c2503571 Use Object.create(…) instead of new …() for inheritance (faster) 2015-06-17 17:11:40 -04:00
Michael Ball e21a872b0d Implement log10 and 10^x math functions 2015-06-15 17:19:25 -07:00
Jens Mönig 03c4acd367 fixed #820 2015-06-08 15:40:59 +02:00
Jens Mönig 585d1541b8 select all text when first clicking an input slot 2015-05-01 11:53:42 -04:00