Skip to content

ffrostfall/fluid

Repository files navigation

fluid


Overview

  • Declarative UI library aimed to support modern UI
    • New solver focus
    • No defaults (Causes friction with stylesheets)
  • Focus on correctness, simplicity, & stability
  • Mixed-table approach to properties & children. fluid.create("Frame")({ Name = "hi", child() })
  • Go fast and try things out, we can slow down when we approach 1.0

Interesting features

This section details the interesting bits where Fluid has an advantage.

  • Support for async reactive nodes. fluid.async
  • Push-pull reactive graph with deferred mode
  • interval utility to poll values. fluid.interval will run at the specified hz
  • Exported UsedAs type
  • _G.__DEV__ for development mode, which will enhance error messages & print useful information at the cost of performance.

Prior Art

  • Heavily based off Vide, which is based off solidjs. This project started as a series of W.I.P. pull requests to Vide, which ended up in full (opinionated) rewrites and significant breaking changes.
    • Vide was used as reference for implementing the reactive graph functions (derive, source, )
  • Utilizes Alice's hybrid push-pull reactive graph (based off Vide's reactive graph)
  • Animation, time & color utilities inspired by Fusion.

About

A declarative UI framework for Roblox

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Contributors 7

Languages