Releases: jmoenig/Snap
Releases Β· jmoenig/Snap
v10.3.4
v10.3.3
v10.3.2
10.3.2:
- Translation Updates:
- Japanese katagana and Hiragana, thanks, @fumiyasu-aizu!
- Simplified Chinese, thanks, @moodykeke!
v10.3.1
v10.3.0
10.3.0:
- New Features:
- Custom Hat Blocks
- Custom Hat Blocks, expressed as predicate defining a condition that fires the event
- Custom Hat Blocks can choose to be "events" reacting to a state change (default) or "conditions" observing state (indicated by an infinity symbol)
- new "Events" library featuring custom hat blocks reacting to various state changes
- hat blocks are now first class and have their own new data type: "hat"
- Other
- new "obj_version(obj)" extension for observing compound structures (lists, actors, scripts)
- new "infinity" / chain link symbol
- new "relabel" option for generic "When" hat block lets you switch between "event" (new default) and old "condition" semantics, indicated by the infinity symbol
- Surprise XMas Skin "Bake a block"
- Custom Hat Blocks
- Notable Changes:
- directly clicking on a generic or custom hat block runs it no matter what
- "condition" hat blocks (that always fire when their condition is true) are indicated by an infinity symbol
- the generic "When" hat block in the palette now has "event" semantics and only fires on state change, blocks in existing projects keep their "condition" semantics
- optimized evaluation speed of generic (and custom) "when" hat block predicates
- hat blocks can be ringified (but not - yet - dropped into rings)
- changed positioning of local method icon (location pin) to be vertically centered
- Notable Fixes:
- fixed generic and custom hat block scheduling for turbo mode
- fixed "expand _ to _ slots" block in the metapgroamming libary to be able to fully collapse
- fixed contrast for local method icon (location pin) in bright ui theme
- keep musical notes from going of out midi-value bounds
- Translation Updates:
- German
v10.2.5
10.2.5:
- Notable Fixes:
- fixed "reshape" to let a zero dimension consistenly refer to the available leaf count, e.g. reshape (['foo', 'bar'], 0) => ['foo', 'bar']
- fixed an error when referencing a renamed or nonexisting input slot in a slot-menu-event hat block
v10.2.4
v10.2.3
10.2.3:
- New Features:
- expose a copy of the custom block as "caller" to input slot reaction scripts inside custom block definitions
- new "input slots" menu option for custom block input slots
- new "expand (input) to (n) slots" command in the metaprogramming library
- Notable Changes:
- automatically add a dropdown menu to any custom block input slot whose definition has a slot menu event hat block for it
- tweaked variadic input slot arrows layout
- Notable Fixes:
- fixed input names when querying a custom block definition that has no function body script
- hide variadic input arrows in case the number of slots is fixed
- expand variadic inputs to their initial slots amount (if any is specified) when restoring them (i.e. when removing an embedded reporter block)
- Note to overeager enthusiasts and online geniuses (tm):
- Please, oh please, use metaprogramming capabilities and variadic inputs wisely, if at all. They can be powerful abstractions, but there ain't not free lunch, they come with costs in expressivity and comprehensibility. Remember that naming things (and choosing distinct names) is a great strategy when communicating with fellow humans. It's sure nice to be revered by your peers for your inconceivable brilliance, but so much nicer to be understood. Never forget that among humans expressive is better than impressive, straight ist better than crooked, flat is better than nested, named is better than anonymous and explicit is better than implicit. Also remember that the one you're most likely talking to is your future you. Be nice to them!
v10.2.2
v10.2.1
10.2.1:
- Notable Changes:
- deprecated "expand (input) to (n) slots" command, because "set slot ... to ..." can now do this by passing a list as value
- merged both custom block slot event hat blocks into one "when slot ... gets ..."
- Translation Updates:
- German