github jmoenig/Snap v10.1.0

9 hours ago

10.1.0:

  • New Features:
    1. OOP 2.0
      • new list-dictionary based object system with data scope and Lieberman style prototypical inheritance
      • new "parent" selector for accessing list items, points to entry at ellipsis "..."
      • new "object" item in the THIS (runtime environment) primitive reporter's dropdown menu
      • new OOP library
    2. support for input-groups in custom blocks
      • new "group" option in custom block slot type editor's special settings menu for multiple inputs
      • metaprogramming support for input groups (represented by a list of slot types)
      • new "Declare & Initialize Script Variables" library
    3. UI Looks
      • flat / default (skeuomorphic) design
      • bright / dark (color) theme
      • new "theme" configuration key in the API
      • new "cube" and "cubeSolid" symbols
    4. Other
      • new Continuations library for run/cc and call/cc
  • Notable Changes:
    • preserve the order of items when using lists as dictionaries or data objects
    • variadic slots in custom blocks now support '%nl' as separators and expansion labels
    • Boolean input slot default values can be specified through metaprogramming
    • variadic Boolean input slot defaults can be specified both in the UI and through metaprogramming
    • added an official "Restore primitives" item to the project menu, if a project / scene has customized prims
    • default values and expansion labels of variadic input slots in custom blocks are now translatable by prefixing them with $-underscore
  • Notable Fixes:
    • exclude variables declared inside input rings from the dropdown menu of reachable variables
    • automatically declare variadic upvars inside custom blocks when evaluating them
    • fixed a LISP-encoding conflict between a variadic expression and formal ring parameters
    • fixed naming a block to a JS property such as "constructor"
    • fixed a variable refactoring (renaming) bug in custom block definitions
  • Documentation Updates:
    • updated API.md with new "theme" configuration key for "bright" or "dark" UI modes
    • updated LISP syntax documentation for script parameters
  • Translation Updates:
    • German

Don't miss a new Snap release

NewReleases is sending notifications on new releases.