Wykres commitów

290 Commity (ec0b9671a9834b9820a97b7a8be50ecd6e762fd6)

Autor SHA1 Wiadomość Data
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 582feb206b Merge pull request #1146 from cycomachead/url-calls
Support Loading More Resources from the `resourceURL` method
2016-02-24 12:40:01 +01:00
Michael Ball 292fe5a4de Make the resourceURL function more generic
now you just pass in directories as arguments, which is much cleaner--
especially when loading things like `tools.xml` with no parent folder.
2016-02-24 03:03:34 -08:00
Jens Mönig df0269f5cc support for viewing 2D lists as tables 2016-02-24 11:35:18 +01:00
Michael Ball e197471d08 Support loading lang* files from resourceURL path 2016-02-21 17:43:23 -08:00
Michael Ball 80a516ed7e Use ide.resourceURL to load the logo and tools XML
This makes it easier to support using snap when loaded in a variety of websites.
(Theres no outward change for users, just for those embedding Snap!)
2016-02-18 23:41:26 -08:00
Jens Mönig a0307a240f updated version history 2016-01-08 16:23:23 +01:00
Michael Ball 18716f4c0f Fix #1099, bug was introduced in #983 2016-01-06 11:21:32 -08:00
Jens Mönig f50c6fc2d3 updated version history 2015-12-22 08:18:00 +01:00
Michael Ball 2c49bea5d4 open dialog: Dont show cloud projects if user has since switch panes 2015-12-21 16:06:48 -08:00
Michael Ball df54bfb00e Use case insensitive sorting for localstorage and cloud projects. Tag #899 2015-12-21 15:06:36 -08:00
Jens Mönig e27db7d960 updated version history 2015-12-21 16:17:42 +01:00
Michael Ball de42fc0f99 Make logoURL be a property of IDE
This makes it easier to embed Snap! in another site where the JS code
and the html file are in different directories.
2015-12-17 04:20:26 -08:00
Jens Mönig c56f5f6d0d little tweaks 2015-12-15 13:07:47 +01:00
Michael Ball e27a7f245e Resolve merge with 4.0.4 2015-12-15 03:46:27 -08:00
Michael Ball 7e42e8f785 fix a minor spacing issue 2015-12-15 03:41:49 -08:00
Michael Ball ff1aab7d1f Cleanup help text and add exporting in new tab
* Minor: Fix the help text for downloading a project to the downloads
folder to be correct
* Add back the ability to export a project to a new tab by
shift-clicking on the File menu.

New string to be translated:
'save project data as XML\nto your downloads folder
2015-12-15 03:38:39 -08:00
Jens Mönig 632bdec030 Merge pull request #1046 from cycomachead/autofill
Fix isAutoFill to allow false values
2015-12-15 10:35:53 +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
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 ab2fc67857 Fix isAutoFill to allow false values
currently the expression isAutoFill || true will always evaluate
to true! :O

(That makes the argument somewhat useless though.) So, this fixes things...
2015-12-05 04:09:39 -08:00
Jens Mönig be32d755b5 optimize cloud communication
support double the number of web slices, support avoiding encoding
projects on the backend side
2015-12-04 15:55:33 +01:00
Michael Ball e241ff6795 Cleanup log statement; minor try/catch refactoring 2015-12-01 03:14:16 -08:00
Michael Ball 7603d4746a Minor refactoring in try/catch blocks 2015-12-01 03:11:40 -08:00
Michael Ball 2ef9a8f720 Fix #966 - declaring this done
Final commit removes Save to Disk for XMLs
2015-12-01 02:54:07 -08:00
Michael Ball d004543a32 Fix some bugs in exporting a variable to a file. 2015-12-01 02:16:34 -08:00
Michael Ball 9490b65270 Cleanup filenames and references to `ide` 2015-12-01 01:45:58 -08:00
Michael Ball 888b0b97eb Uglier code that properly opens BlobURIs in new windows. 2015-11-17 18:05:15 -08:00
Michael Ball 35d0ea5629 Cleanup bad polyfill in saveCanvasAs 2015-11-17 17:43:35 -08:00
Michael Ball 396be20b18 Some code cleanup and variable name fix 2015-11-17 02:42:17 -08:00
Michael Ball fa1a24a4bd Fix syntax error, and accessing IDE bug exporting blocks 2015-11-16 18:41:54 -08:00
Michael Ball 6f03f121ad Fix some file names in exporting content 2015-11-16 18:31:19 -08:00
Michael Ball dafb6146f6 Fix merge conflicts, and cleanup saveFileAs code 2015-11-16 18:12:33 -08:00
Michael Ball fa6f168bc0 Merge in 4.0.3, resolve conflicts with scriptpics 2015-11-16 17:53:17 -08:00
Michael Ball 65fd07e41a Cleanup code and add placeholders for error messages 2015-11-16 16:33:00 -08:00
Jens Mönig 7070e84841 fixed a redraw-glitch in the "zoom-block" dialog
… which I’d introduced earlier trying to bum out redundant redraws
2015-11-16 18:07:58 +01:00
Jens Mönig 9dddc4326f move comments inside the functions they refer two 2015-11-16 12:43:30 +01:00
Jens Mönig 826eab2e48 Lint changes to gui.js 2015-11-16 12:41:26 +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 7976c60d1c Refactor saveFileAs to simplify code paths 2015-11-12 22:38:47 -08:00
Michael Ball f9b72c3507 Display new windows using Blob URLs.
This works great, but:
* Safari treats XML as "Unknown.css"
* Chromes disabled Save As recently.... :(
2015-11-12 17:04:15 -08:00
Michael Ball 8495cd36f3 Refactor saveFileAs - hopefully this version is much more clear. 2015-11-12 15:16:35 -08:00
Michael Ball 9064425004 Refactor Save to Disk to have less duplicated code 2015-11-12 14:50:18 -08:00
Michael Ball d73ae50328 Pass 1 refactor saveToDisk function 2015-11-12 05:07:21 -08:00
Michael Ball 995d3da58d Update the export project function to use saveXMLAs 2015-11-12 05:05:13 -08:00
Michael Ball 212aa7bdda implement a save*As function for all remaining data types 2015-11-12 04:31:27 -08: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 b9303422ca Delete baseURL code b/c it is not needed
By making all loads relative to snap.html we eliminated the need for
such a function.
2015-10-27 03:10:30 -07:00
Michael Ball 35c1826be3 Fixed the URI encoding partially and re-ordered the canvas processing 2015-10-27 00:57:30 -07:00
Michael Ball fbd11917b9 Exporting Projects works, encoding URI not needed. 2015-10-27 00:36:55 -07:00
Michael Ball cce37d8172 Use resourceURL() for items in help/ 2015-10-07 23:32:52 -07:00
Michael Ball 5452c2bfa7 DRY out creation of Costumes/Sounds/etc submenus 2015-10-07 23:21:20 -07:00
Michael Ball f9d62c1b7f Refactor loading Example projects to be consistent. 2015-10-07 04:49:05 -07:00
Jens Mönig 72bf4cfb8c New feature: Remove Unused Global Blocks
* BYOB, Objects, GUI: New “Remove Unused Global Blocks” Feature
* GUI, Lists: “Export Project Summary” improvements:
  - show variable values as watcher pics
  - expand list watcher pics to show their complete contents (1. level)
  - url for shared projects
  - table of contents
  - basic support for sprite nesting and inheritance
  - make the summary “browsable” instead of editable
  - outline around sprite / stage snapshots
  - experimental hidden (shift-click) “drop-shadows” option
* GUI: Rearrange project menu, only show global blocks-related ops if
there are any
* GUI: Remove URL location.hash information when loading a new project
* Store: Fix deserialization support for projects using inheritance
* German translation update
2015-10-07 13:38:19 +02:00
Michael Ball c6b43bee12 Fix #867; All media has an index file that is being used to load files 2015-10-07 04:23:30 -07:00
Michael Ball b2c6b43192 Cleanup LIBRARIES; Load Libraries using refactored code 2015-10-07 03:27:55 -07:00
Michael Ball 2b69b91a4a Delete the getURLsSbeOrRelative(url) function
This function was only used for tools.xml, and didnt even do its job...
As of this writing, it simply prepended the `baseURL` variable, which is
determined by the Snap! server, not s.b.e.

If we want to have s.b.e as a permanent fallback source we should re-implement
this in a way that is used for all Snap! media.
2015-10-07 02:21:35 -07:00
Michael Ball 36e0dae11d Start Refactoring of Resource Loading; Fix Typo in LIBRARIES
This fixes a small typo in the LIBRARIES file, so that the leap motion lib will
load correctly.

This renames the getCostumesList() method to getMediaList() because its used for
Costumes, Backgrounds, Sounds, and soon libraries.
2015-10-07 02:16: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
Michael Ball 0e84b360e1 Fix #915 so that share URLs actually work. 2015-09-07 19:49:48 -07:00
Jens Mönig 4360e981d1 stop keyboard editing blocks when selecting another sprite 2015-07-28 16:40:12 +02:00
Jens Mönig ecc7f438b3 update version and history 2015-07-28 10:54:27 +02:00
Michael Ball 958ca1a277 Fix the loading of URLs to be consistent.
`baseURL` should always end with a trailing /.

Sorry for not catching this!
2015-07-28 01:40:36 -07:00
Jens Mönig 310c80c091 fix url for libraries
thanks, Brian, for catching this one!
2015-07-27 17:35:14 +02:00
Jens Mönig e8172e83dd update history 2015-07-27 01:12:12 +02:00
Jens Mönig 0a1f2be7a6 stage resizing handle
and improved stage resizing animations
2015-07-27 01:00:06 +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 536f92df70 Merge pull request #866 from cycomachead/url-fix
Fix URL bug in #821, and fix #864
2015-07-26 21:31:15 +02:00
Michael Ball 1fc6cd7910 Fix URL bug in #821, and fix #864 2015-07-10 04:09:40 -07:00
Michael Ball 17caaa16f0 Fix a rather stupid and glaring typo in project sharing 2015-07-06 00:11:56 -07:00
jmoenig de82d373be add indentation
again to please old.jslint.com :-)
2015-06-25 16:35:00 +02:00
Jens Mönig 253d800b42 Merge pull request #624 from cycomachead/shared-url
Set location.hash to cloud URLs on project shares
2015-06-25 16:32:45 +02:00
Jens Mönig c701598df1 Merge pull request #606 from Gubolin/issue_190
show an error message if project cannot be loaded (fix #190)
2015-06-25 15:50:26 +02:00
jmoenig 87c9655335 add some spaces
to satisfy old.jslint.com :-)
2015-06-25 15:48:26 +02:00
Jens Mönig 4755fe22ac Merge pull request #821 from show0k/master
Remove harcoded url in gui.js (fix #814)
2015-06-25 15:43:52 +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
jmoenig 8a7bc380a8 wrap credits tab in "about" Dialog
to accommodate for @nathan ’s abundant contributions :-)
2015-06-25 15:20:05 +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 87c2503571 Use Object.create(…) instead of new …() for inheritance (faster) 2015-06-17 17:11:40 -04:00
Théo Segonds 1b2e0aded4 Remove hardcoded URLs in gui.js. This fix #814 2015-06-07 16:57:02 +02:00
Brian Broll 2cbba6c762 Fixed #809 2015-05-23 17:09:45 -05:00
Jens Mönig 6b19caf75d Fix encoding for exported sprites (esp. comments) 2015-05-18 12:23:57 +02:00
Jens Mönig 8e92c65cae Release! 2015-05-01 12:24:52 -04:00
Jens Mönig 4cd3488e60 formatting tweaks for JSLint’s benefit 2015-05-01 12:11:07 -04:00
Jens Mönig 848773073a Merge pull request #768 from bromagosa/contrib
new parameters to allow embedding projects
2015-05-01 12:05:42 -04:00
Jens Mönig 052a3e07b3 hide “save to disk” option behind shift-click again (has issues in Chrome) 2015-05-01 12:00:56 -04:00
Bernat Romagosa 30caffbf02 new parameters to allow embedding projects 2015-04-10 13:18:03 +02:00
Jens Mönig fdd2ecf7d9 switch from beta to release candidate 2015-03-15 15:01:25 +01:00
Jens Mönig 31ea6f6030 Only enable input caching for blocks 2015-03-09 07:39:51 +01:00
Jens Mönig ee88f7ad39 Cache inputs - accelerate recursive reporters
and warped / turbo recursive commands by up to 40%
2015-02-28 05:44:59 -08:00
jmoenig e6dcf07b3d Update German translation 2015-02-23 14:56:10 +01:00
jmoenig 662a743f4e Make “project data in URLs” a hidden dev option
(prevent long urls per default)
2015-02-20 15:01:43 +01:00
jmoenig 116933ddab Un-hide “Save to disk” feature
(currently supported by both Chrome and Firefox, but not by Safari)
2015-02-20 12:49:18 +01:00
jmoenig e45562fc53 Added url switch #cloud: to open a shared project in edit mode 2015-02-06 11:29:46 +01:00
jmoenig 386ff33895 Fix Zoom Dialog’s sample background in “flat” design 2015-01-21 12:26:54 +01:00
jmoenig fee92b65f2 Generate ScriptsPaneTexture programmatically 2015-01-21 12:18:46 +01:00