0.1.x✎

Graphs that compile to Luau, and an editor to draw them in.

0.1.x2026-09-03

Feature

Graphs that compile to Luau, and an editor to draw them in.

Release

  1. 0.1.0Graphs that compile to Luau, and an editor to draw them in.New2026-09-03

Added

  • 0.1.0Graphs as files. A .nodescript is one Script, LocalScript or ModuleScript, kept under .roswaal/scripts. It compiles to plain Luau in your source tree for Rojo to sync, as Name.luau, Name.server.luau or Name.client.luau depending on the script class.
  • 0.1.0An editor in the browser. npm run dev in a clone starts it on port 4470, with the daemon that writes the files on 4471. Initialise creates roswaal.json and .roswaal/ in a project that has neither. There is a working example in examples/demo.
  • 0.1.0Execution wires and data wires, and 74 nodes: flow and loops, functions, Module Exports, Connect Event, values, maths, logic, strings, tables, Roblox instances and properties, Require, Call Method, Wait, Print and Warn.
  • 0.1.0Custom Code and Luau Expression, which put hand-written Luau into a graph exactly as typed.
  • 0.1.0Custom node packs: .nodedef.json files in .roswaal/nodes/, made of data only, with expr, call and statement templates. Loading a pack never runs code.
  • 0.1.0Diagnostics update as you wire, because the editor runs the same compiler the daemon does. Reading a loop's variable from outside the loop is reported rather than compiled.
  • 0.1.0A value used by more than one node is bound to a local and evaluated once. A value used by one node is written where it is used.
  • 0.1.0A generated file edited by hand is not overwritten. The compile refuses and offers the overwrite. Moving nodes around does not change the generated file.
  • 0.1.0Output goes through StyLua when it is installed.
  • 0.1.0Two compile modes. Manual compiles the open graph with Ctrl+S, or the whole project. Hot reload recompiles a graph whenever its file changes, including changes made outside Roswaal: switching branch, pulling, or editing in another tool.
  • 0.1.0An inspector for a function's signature, a module's exports and a connection's parameters. Changing a function's returns updates its Return nodes.
  • 0.1.0The node palette on right-click, or when a wire is dropped on empty canvas. Marquee and Shift/Ctrl selection, comments (C), undo and redo.
  • 0.1.0Copy, cut, paste and duplicate. A copy keeps only the wires with both ends in the selection. It stays inside the editor and does not go to the system clipboard.