github jmoenig/Snap v11.0.0

3 days ago

11.0.0:

  • New Features:
    • Neural Networks
      • support for building your own custom neural networks using hypermutation and data-objects (OOP 2.0)
      • added new "Neural Networks" library for creating, training sharing and visualizing vector-based deep neural networks
    • First-Class Colors
      • new immutable data type "color", new "color" entry in the "is a ?" predicate
      • new color readout in variable and list watchers and speech and result balloons
      • added "color" selector to pen-attributes reporter
      • added "color" selector to location-aspect reporter "[] at []"
      • added "colors" selector to "(attributes) of costume" block - reports the pixels of the costume as table of colors
      • new "color []" reporter primitive, lets you
        1. pick a color and reports it
        2. pass in a list of RGB(A) values each from 0-255 to create a color, where
          • a single item represents a gray scale
          • a pair of numbers represents a gray scale and an alpha value
          • a triple represents RGB
          • four numbers represent RGBA
        3. pass in a multidimensional HYPER structure to create lists, tables and tensors of numbers all at once
        4. pass in a costume to report a matrix of colors
        5. pass in a multidimensional HYPER structure of costumes
      • new "[dimension] of color []" reporter primitive, hyperized, also directly for costumes
      • new polyadic hyperized "new color hue [] saturation [] brightness [] transparency" reporter primitive for generating a color from HSB values on a range from 0-100
      • color-type input slots in primitives ("set pen color", "is touching color", "color is touching") accept reporter drops of
        • colors
        • RGB(A) value lists
      • new fundamentally simplified "Colors" library based on first-class colors, lets you mix, modify and transition colors
    • new "request" reporter primitive in the Control category palette, same as "broadcast and wait" but collects replies
    • Hyper-mutation for arbitrary (sub-) lists: the CHANGE BY command also accepts list values in its first input slot
    • Hyper-mutation support for non-inherited data-object list attributes (e.g. weight vectors/matrices inside hidden layer objects in neural networks)
    • Added sigmoid (σ) function to the dropdown of the monadic operators reporter
    • support for optional input slots using a variadic input group and setting max slots to the length of the group
    • new S4A Connector extension for all firmate boards (e.g. Arduino), thanks, Joan!
    • new websockets extension, thanks, Bernat!
    • new stage-resolution setting option for performer-mode, thanks, Bernat!
    • new "stop speech recognition" command in the spech library and "tts_stop" extension, globally un-blocks all processes currently waiting for speech recognition and advances to the next block
    • Minor typography enhancements
      • new "txt_width" extension, reports the width of the given text at the specified font size and optional stylings
      • "Writing and formatting" library: new "width of text" reporter for determining the width of a text given the specified size and stylings
      • "Writing and formatting" library: new "write ... wrap" command for automatically word-wrapping a text at the specified width given the size and stylings
  • Notable Changes:
    • allow non-list inputs (scalars) to APPEND, automatically treat as single-item lists without throwing a type assertion error
    • allow using RUN as "ignore" command for a reporter, removed the ring type assertion and error message
    • allow setting "my scripts" to a list of scripts (powerful but dangerous!)
    • significantly sped-up rendering morphs representing data inside table cells
    • support testing selectors (translatable text) for equality with text and numbers without needing to "unselect" them
    • added support for color slot default values
    • replaced "Object" type input slot with "Color" type in the input slot dialog ("Object" is now in the "special slots" menu)
    • hyperized "new costume" reporter to also work on tensors of colors
    • keep the source's ghost effect when pasting a sprite onto another
    • enabled the stage to create temporary sprites using the "a new clone of (Turtle sprite)" reporter
    • increased watcher update frequency for non-table monitors
    • Just Bars library: added option to clear before plotting
    • in embedded projects don't show the embed overlay ('green flag')' if embedMode is present but noRun isn't, thanks, Bernat!
    • updated the "Just Bars" single block library with new optional inputs
    • cleaned up and simplified all translation files, thanks, Joan!
  • Notable Fixes:
    • fixed sorting the distribution of compound non-list data (blocks, colors)
    • improved localization of list watcher ('length' label)
    • fixed case-insensitive text comparison for <, <=, >, >=
    • serial port communication fixes for MicroBlocks, thanks, Bernat!
    • ignore hidden blocks when reordering the palette
    • fixed unicode splitting, thanks, Michael!
    • SciScnap3: fixed a JS type casting bug, thanks, Eckart!
    • MQTT: Base64 byte decoding improvement, thanks, Simon!
    • fixed an edge-case glitch for ASK -ing a list with a zero number item
    • Just Bars library: Only plot non-zero values, avoid drawing a "dot" for zero
  • Translation Updates:
    • German, including translation of the "Writing and formatting" library blocks
    • Catalan, thank you, Joan!

Don't miss a new Snap release

NewReleases is sending notifications on new releases.