Snap

a visual programming language inspired by Scratch

AGPL-3.0 License

Stars
1.5K
Committers
103

Bot releases are hidden (Show)

Snap -

Published by jmoenig almost 7 years ago

minor maintencance release:

  • fixed #1933 - avoid creating "obsolete" blocks by not copying method blocks into sprites that don't understand them
  • fixed #1937 - allow stage width to be a minimum of 240 pixels
Snap -

Published by jmoenig almost 7 years ago

minor maintenance release:

  • suppress "exit" context when forking a process while single-stepping, this avoids a false "reporter didn't report" error message
  • avoid coloring the block-highlight when re-coloring a syntax element, this prevents highlighted blocks inside LAUNCH statements to expand when repeatedly single-stepped.
Snap -

Published by jmoenig almost 7 years ago

minor maintenance release:

  • Portuguese & Polish translation updates, thanks, Witek and Manuel!!
  • escape xml attribute contents, thanks, Brian Broll!
  • changed minimum stage width to 240
  • new Audio Comp library for Guzdial-style sound samples fun
Snap -

Published by jmoenig almost 7 years ago

minor maintenance release:

  • fixed a glitch that raised an error instead of creating an “obsolete” block when loading a project and missing the definition of a method block
Snap -

Published by jmoenig almost 7 years ago

minor maintenance release:

  • fixes a glitch when loading projects that store method blocks (sprite-local custom blocks) in sprite-local variables
  • increases the frame rate in "turbo" mode
  • translation updates
Snap - New York

Published by jmoenig almost 7 years ago

Major Release

Features:

  • polymorphic sprite-local custom blocks
  • inheritance of sprite-local custom blocks
  • inheritance of sprite attributes (x, y, direction, size, costumes, costume #, sounds, scripts)
  • first-class costumes and sounds
  • visual indicator (map-pin icon) for sprite-local custom blocks (i.e. methods)
  • camera snapshots for costumes and new sprites
  • localization support when typing expressions
  • support for user-forced line-breaks in custom block labels
  • ternary Boolean slot setting: support to limit Boolean input slots to “true/false” outside of rings and in palette
  • support for default values in custom block Boolean slots
  • experimental: duplicate block definition (hidden in shift-click context menu)
  • support for codification of String, Number and Boolean value types
  • costume icons indicate svg costumes
  • sprites’s rotation centers can be adjusted onstage
  • clones share their original sprite’s scripts, not a shallow-copy of them
  • a highlight-colored balloon indicates the number of active processes per shared script
  • new musical “notes”, "location", "footprints", "cross" and "keyboard" symbols
  • new “visible stepping” toggle button in the control bar
  • new "keyboard entry" toggle button in the scripts tool bar
  • turn on the “Inheritance support” setting per default
  • Assert data types to list operations for more meaningful error messages
  • programmatically hide and show primitives in the palette
  • new "pen trails" reporter primitive and stage context menu entry
  • two-item lists as x-y coordinate arguments for "point towards”, "go to" and “distance to” primitives
  • Piano keyboard as drop-down menu for entering musical notes, Thanks, Michael!
  • Basic “instruments” support: sine, square, sawtooth and triangle waves
  • Support https in “url” reporter
  • splitting csv-text
  • prevent context menu and dragging for stage watchers in presentation mode
  • "floating" search and make-a-block buttons in the blocks palette
  • "Make a block" button in every category
  • experimental "download script" feature
  • new "Animation" library
  • new "Pixels" library for MediaComp
  • double-clicking a corral sprite icon flashes the sprite onstage

Fixes:

  • changed keyboard shortcut indicator for “find blocks” to “^”
  • prevent Snap from “hanging” when encountering certain errors in visible stepping
  • only mark implicit parameters if no formal ones exist
  • optimized thread-launch and script highlighting to a single frame instead of formerly two
  • changed direction attribute of sprites to automatically confine to 0-360 degrees
  • fixed rotation-bug when flipping costumes in "only turn left/right" mode"
  • fixed variable renaming (“refactoring”) bugs, thanks, Bernat!
  • fixed “fill” block crash when applying the same color twice
  • fixed occasional empty drop-down menu items named “close”
  • fixed some typos
  • limited sprites' direction and coordinates to finite numbers
  • made block vars transient for block libraries
  • keep “undo” and “redo” buttons at the same location
  • fixed SVG encoding for exporting vector costumes
Snap - 4.0.10.2

Published by jmoenig over 7 years ago

minor maintenance patch, addresses an issue with filling rectangular canvas areas in recent versions of Chrome

Snap -

Published by jmoenig over 7 years ago

minor maintenance release, addresses an issue recently introduced by new versions of Chrome

Snap - Walldorf

Published by jmoenig almost 8 years ago

Named "Walldorf" to honor SAP's sponsorship Snap’s first update in 2017 concludes a series of improvements and enhancements to the user interface. While previous releases in 2016 focused on data and its visualization (tables, linked lists and first-class sprites) v4.0.10 revisits how you work with blocks, adding such long sought-after features as UNDO/REDO, auto-wrapping (inside-out nesting of control structures), entering formulas using the keyboard, refactoring variables (renaming all accessors in scope), browsing and previewing libraries, supporting hierarchical drop-down menus for input slots and extending the typography for block labels. In addition, this release also improves the UI for working with resources (pictures, SVGs, sounds) and projects.

Detailed description of new features:
http://snap.berkeley.edu/BlockEnhancementsInSnap.pdf

_Summary:_

Features:

  • auto-wrapping of C-slots
  • undo / redo for blocks, unlimited, but has some issues
  • search field for projects, thanks, Bernat!!
  • basic typography support for custom block labels, thanks, Bernat!!
  • treat JS-function reporters the same as variable getters wrt rings
  • new url switch #dl: for downloading raw shared projects
  • new url option switch: &noExitWarning
  • svg support for images from the web (svg files have been supported for a long time)
  • use media dialog for browsing and importing sounds
  • highly experimental infix-expression-to-reporter parser. Thanks, Bernat, for the brilliant idea to add it to the search-blocks field!
  • hierarchical menus, also for custom blocks, thanks, Brian!
  • variable refactoring, thanks, Bernat!
  • “#run:” flags (same as “#present:”): ’editMode’, ‘noRun’, ‘hideControls’, thanks, Brian!
  • Libraries Browser, thanks, Michael!

Fixes:

  • Music (play note) to work again in new and recent browser versions (Chrome 55)
  • IDE layout: fixed resizing issues when the window becomes too small
  • Keep left-over blocks from “relabel” around
  • Evaluate the generic WHEN-hat block’s predicate and first step of the attached script in the same atom
  • “go back _ layers” to work with out-of bounds numbers, thanks, Brian Broll!
  • Translation updates (Russian, Polish, Danish, Portuguese, Catalan, German)
Snap -

Published by jmoenig almost 8 years ago

Translation updates:

  • new Galician translation, contributed by @tecnoloxia
  • Italian translation update
  • minor German translation update
Snap -

Published by jmoenig almost 8 years ago

minor maintenance release:

  • Updates the Portuguese translation, thanks Manuel!
  • Fixes a longstanding but only now discovered rendering bug in flat-mode, thanks Bernat, for finding it!
Snap - Upland

Published by jmoenig almost 8 years ago

(named after Upland, IN where those features were first demonstrated at CCSW:2016)

  1. New Visible Stepping Feature adds slider for controlling slowed down visible execution, where blocks and input slots highlight as they are evaluated. At the slowest setting the execution pauses after every step, so the user can click on the new "next step" button and thus manually single-step program execution:

visiblestepping

  1. Speed-up execution of non-warped custom command blocks by factor 2 (by making sure they evaluate in a single frame and not over two frames as they used to)

  2. Many improvements to text-editing contributed by Bernat Romagosa (@bromagosa).

  3. Bug-fixes

Snap -

Published by jmoenig about 8 years ago

a little maintenance release:

  • replaced deprecated KeyboardEvent.keyIdentifier with .key
  • fix: for hidden sprites show ASK question in input box
Snap -

Published by jmoenig about 8 years ago

restore implicit formal parameters for serialized lambdas

Snap -

Published by jmoenig about 8 years ago

fixed #1348 - opening projects from url not working in non-English

Snap -

Published by jmoenig over 8 years ago

a minor maintenance release:

  • fixed #1333 (paint new costume not working in retina mode in Firefox and Edge)
Snap -

Published by jmoenig over 8 years ago

maintenance release with bugfixes:

  • avoid blitting artifacts for non-integer devicePixelRatios in Firefox, Edge, IE
  • fixed 3D corners for buttons in Firefox for Windows
  • fixed color collision detection for retina mode
  • enabled broadcasts to be sent to specific sprites (experimental)
Snap -

Published by jmoenig over 8 years ago

minor maintenance release, fixes collision detection for non-integer devicePixelRatios

Snap -

Published by jmoenig over 8 years ago

Minor maintenance release, immediately activates generic "when" hat blocks that are inserted in keyboard editing mode.

Demo / Test Case:

keyboardediting

Snap - Bordeaux

Published by jmoenig over 8 years ago

(nicknamed "Bordeaux", because that's where it was first demoed at RoboEduc16)

  • New Features
    • Retina Display Support, thanks, Bartosz Leper!! Note: This is currently not supported by Safari, and therefore also not available on iOS devices
    • Additional Graphic Effects, thanks, Dylan Servilla!!
    • Interactive Toggle Switches for Boolean Slots and Literals
    • Resizable Palette (double-click on resizers to slide back to normal)
  • New Default Settings (now enabled by default)
    • Keyboard Editing
    • Tables Support
  • Bugfixes (most notable only):
    • reject dropping hat-blocks into block editor scripting areas
    • accept multi-line inputs (e.g. in JS-functions or code-mapping blocks) with shift-enter
    • prevent “make a block” dialog from being closed by pressing “OK” if no label text has been specified
    • show error message balloons happening in other sprites next to their icon in the sprite-corral
    • (again) enable recursive cloning
    • prevent expandable blocks from expanding / collapsing inside the palette
  • Translation updates
    • Italian
    • Swedish
    • Chinese
    • Russian
    • Catalan
    • German