Skip to content

Releases: OutOfBears/react-flow

v0.5.0

10 Jun 22:47
a7975e9

Choose a tag to compare

  • Luau migration — renamed every .lua file to .luau and switched the toolchain from aftman.toml to rokit.toml, with a .luaurc for the new Luau-native config.
  • String require paths — converted every internal require(script.Parent.Foo) to string-based requires (e.g. require("@self/Hooks/useFoo")), matching the modern Luau / Lune workflow.
  • Quaternion-based CFrame interpolation — new Utility/Quaternion module (fromMatrix + canonicalize) drives CFrame lerping in LinearValue, so spring/tween CFrame animations now follow the shortest-arc rotation instead of interpolating raw rotation-matrix entries. Added test/CFrameValues.story.luau exercising under/critically/overdamped CFrame springs alongside a LinearValue CFrame lerp.
  • useSpringValue / useTweenValue hooks — declarative counterparts to useSpring and useTween (closes #14). Pass target (and speed/damper) directly in the hook props and the animation re-targets on prop change — no update({ target = … }) calls needed. The imperative hooks are unchanged; pick whichever fits the callsite. start is mount-only so re-renders smoothly retarget from the current value instead of snapping back.
  • useTransparencyModifier hook — new hook for composing transparency values (numbers, NumberSequences, and bindings) through a multiplier, with epsilon clamping at the 0/1 endpoints.
  • Shared PooledConnection utility — extracted the RenderStepped pooling logic previously duplicated in SpringValue and Tween into Utility/PooledConnection, keyed by source signal so multiple consumers share a single connection. Fixes the multi-instance render loop leak (closes #16): the pooled connection now correctly disconnects when its callback set drains, so running multiple react-flow instances (or repeatedly mounting/unmounting) no longer leaves orphaned render-step subscribers running in the background.
  • Centralized Types module — moved shared type definitions (LinearValueType, SpringProperties, TweenProperties, Binding, TransparencyValue, etc.) into src/Types.luau so animations, utilities, and hooks all reference the same source of truth.
  • camelCase API — animation and value objects (LinearValue, SpringValue, Spring, Tween, BaseAnimation) moved from PascalCase metatable methods to camelCase methods on plain tables (Play/Stop/SetGoalplay/stop/setGoal, etc.). Hooks updated to match. Note: this is a breaking change for callers using the value/animation classes directly.
  • LinearValueType trimmed — dropped Rect, Ray, Region3, and Region3int16; the new constructor/deconstructor table only covers types we actually interpolate.

v0.2.0

28 Oct 23:36

Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v0.1.7...v0.2.0

v0.1.7

02 May 18:56

Choose a tag to compare

What's Changed

  • Implement feature/group-animations by @OutOfBears in #2
  • Update React-Flow to optimize memory usage, fix test cases, fix binding subscriptions, and clean-up code by @OutOfBears in #3
  • Call spring stop instead of Destroy method by @OutOfBears in #4
  • Implement intermediate animation by @OutOfBears in #5

New Contributors

Full Changelog: https://github.com/OutOfBears/react-flow/commits/v0.1.7