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

0.84.x✎

A Find First node's class reaches the file.

0.84.x2026-09-23

FeatureChangeBugfixEditorDocs

A Find First node's class reaches the file.

Releases

  1. 0.84.3A project can leave out casts a subclass already proved.New2026-09-23
  2. 0.84.2Dropping a wire on a narrower class places the Cast.New2026-09-23
  3. 0.84.1A result wired into a Declare Local is one local, not two.New2026-09-23
  4. 0.84.0A Find First node's class reaches the file.New2026-09-23

Added

  • 0.84.3Casts proved by a subclass, in Settings → Project: off by default. On, an Implicit Cast inside an Is A branch is left out when the branch proved a class derived from the one it casts to — IsA("Part") covering a cast to BasePart. Stored in roswaal.json as castsByHierarchy.
  • 0.84.2A wire dropped on a pin that wants a narrower class — an Instance on a Model pin — goes in through a new Cast to that class, placed between the two. Pins that take a wire this way light up while it is dragged.
  • 0.84.2A wire a pin refuses says why, at the foot of the graph: two unrelated classes, or types no Cast can turn into each other.

Changed

  • 0.84.1A result read only by a Declare Local, Set Local, Set Variable or table field is written straight into it — local named = parent:FindFirstChild(name) — even with a Result name. The Result name is used once something else reads the value too.
  • 0.84.1A step's result folds the same way when that reader runs straight after it, so the call still runs where it did.
  • 0.84.0Find First Child Of Class, Which Is A, and the two Find First Ancestor nodes cast their result to the class or nil — (x:FindFirstChildOfClass("Humanoid") :: Humanoid?) — in Nonstrict and Strict. Default writes no cast.

Fixed

  • 0.84.0A Class Name wired in no longer keeps the class last typed into the pin. Wired from a String node, directly or through reroute knots, the output takes that class; from anything else, it is an Instance.