backupRoswaal has moved to roswaal.app. These pages are a backup copy.Go to roswaal.app

0.16.x✎

Arguments you can leave out, and a wire that finishes the thought.

0.16.x2026-09-08

FeatureBugfix

Arguments you can leave out, and a wire that finishes the thought.

Release

  1. 0.16.0Arguments you can leave out, and a wire that finishes the thought.New2026-09-08

Warning

Worth knowing before you upgrade.
  • 0.16.0An optional pin's default is still there and is what you get when you click to set it. What changed is that leaving it alone no longer emits it.
  • 0.16.0An unset optional pin with a set one after it is passed as nil. Only trailing ones disappear.
  • 0.16.0The palette filters rather than reorders when a wire is in flight, so a node with no compatible pin is not offered. Opening the palette any other way still lists everything.
  • 0.16.0table.remove's index is not optional, and was left as it was: table.remove(t) removes the last element where table.remove(t, 1) removes the first, so changing it would alter what existing graphs do.

Added

  • 0.16.0Optional input pins. A pin marked optional and left alone is not passed at all, rather than passed as a default Roswaal picked.
  • 0.16.0TweenInfo now compiles to TweenInfo.new(1, style, direction) instead of six arguments, three of which were the engine's own defaults handed back to it. Look At and both Fuzzy Equals nodes lost their trailing argument the same way.
  • 0.16.0On the canvas an untouched optional pin reads default in a dashed box; click it to set a value, and the × beside a set one puts it back. Setting it and clearing it again leaves the graph byte for byte as it was.
  • 0.16.0Dragging a wire into empty space and picking a node now connects it. The palette narrows to nodes that can take the wire, names the pin it is holding, and joins the two up when you pick.
  • 0.16.0Make Dictionary, a table of key/value pairs in one pure node. A one-property tween used to be New Table, Set Index and an execution wire to say { x = 1 }.

Fixed

  • 0.16.0A statement node with several outputs assigned the unwired ones to globals. The emitter declared only the outputs something read, leaving the rest as bare names on the left of an assignment — which in Luau creates a global, silently, visible to every other script. No built-in node did this; the machinery is now correct for one that does.