https://github.com/williamkaroldicioccio/fl_nodes
A fully customizable, lightweight, and scalable node-based editor for Flutter.
https://github.com/williamkaroldicioccio/fl_nodes
dart flutter node-editor visual-scripting
Last synced: over 1 year ago
JSON representation
A fully customizable, lightweight, and scalable node-based editor for Flutter.
- Host: GitHub
- URL: https://github.com/williamkaroldicioccio/fl_nodes
- Owner: WilliamKarolDiCioccio
- License: mit
- Created: 2024-12-09T22:16:27.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-03-31T11:17:55.000Z (over 1 year ago)
- Last Synced: 2025-04-09T21:13:52.690Z (over 1 year ago)
- Topics: dart, flutter, node-editor, visual-scripting
- Language: Dart
- Homepage: https://williamkaroldicioccio.github.io/fl_nodes/
- Size: 7.68 MB
- Stars: 76
- Watchers: 2
- Forks: 9
- Open Issues: 14
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
# **FlNodes**

๐ง **Note:** **FlNodes** is in its early stages. While the core functionality is
in place, we're actively improving performance, adding features, and refining
the experience. Your feedback and contributions are invaluable in shaping its
future! ๐
---
## ๐ **A Fully Customizable Node-Based Editor for Flutter**
**FlNodes** is a lightweight, scalable, and highly customizable package that
empowers Flutter developers to create dynamic, interactive, and visually
appealing node-based UIs.
With **FlNodes**, you can build:
- ๐ฎ **Visual Scripting Tools** โ Drag-and-drop logic editors for game
development and automation.
- ๐ **Workflow & Process Editors** โ Task automation, decision trees, and
business process modeling (BPMN).
- ๐จ **Shader & Material Editors** โ Custom shader graphs like Unity Shader
Graph or Unreal Engineโs Material Editor.
- ๐ **Data Flow & Pipeline Managers** โ Complex data transformations, ETL
workflows, or AI model pipelines.
- ๐ค **AI & Machine Learning Visualizers** โ Node-based interfaces for neural
network architectures or training workflows.
- ๐ **Audio & Music Generators** โ Modular synthesizers, audio effect chains,
and interactive music tools.
- ๐ **Graph-Based UIs** โ Mind maps, dependency graphs, knowledge graphs, and
hierarchical structures.
Whether you're building tools for developers, designers, or end-users,
**FlNodes** gives you the building blocks to make it happen! ๐
---
## ๐ **Features**
Inspired by Flutterโs **no-compromises** philosophy, **FlNodes** offers:
- โ
**Fully Customizable UI** โ Tailor the editor to match your app's design.
- ๐พ **Fully Customizable storage** - The editor converts the project to JSON
and provides callbacks for actual storage.
- โก **High Performance** โ Optimized rendering for smooth interactions.
- ๐ **Flexible Node & Connection System** โ Create complex graph structures
with ease.
- ๐ **Scalable Architecture** โ Handles everything from simple node diagrams to
massive, interconnected graphs.
- ๐จ **Beautiful & Lightweight** โ Minimal overhead, ensuring a seamless user
experience.
---
## ๐ง **Roadmap / TODO**
We're actively working on improving **FlNodes**! Here are some planned features:
- **๐ Dynamic Node Parameters** โ Add/remove parameters dynamically for better
flexibility.
- **โก Static Branch Precomputation** โ Detect static branches and precompute
them for faster execution.
- **๐ฉบ Surgical Rebuilds** โ Rebuild only affected nodes when dependencies
change.
- **๐ฆ Node Grouping** โ Organize nodes into groups that can be moved and
managed together.
- **โป๏ธ Macros/Functions** โ Define reusable node collections that expand at
graph build time.
Click [here](https://hackmd.io/@l7G0TmToRX-GFgwRUOHloA/Byi53IwFyx) for a quick
detailed and updated TODO list for the project.
---
## ๐ธ **Screenshots**
ย
---
## ๐ **Quickstart Guide**
For a fast and easy setup, check out our
[Quickstart Guide](https://github.com/WilliamKarolDiCioccio/fl_nodes/blob/main/QUICKSTART.md).
It covers the basics to get you up and running with **FlNodes** in no time!
---
## ๐ฆ **Installation**
To add **FlNodes** to your Flutter project, include it in your `pubspec.yaml`:
```yaml
dependencies:
fl_nodes: ^latest_version
```
Then, run:
```bash
flutter pub get
```
---
## ๐ ๏ธ **Usage**
Import the package in your Dart file:
```dart
import 'package:fl_nodes/fl_nodes.dart';
```
For full implementation details, check out the examples below.
---
## ๐งฉ **Examples & Demo**
Explore fully working examples:
- ๐
**[Code Example](https://github.com/WilliamKarolDiCioccio/fl_nodes/blob/main/example/lib/main.dart)**
- ๐ **[Live Example](https://williamkaroldicioccio.github.io/fl_nodes/)**
---
## ๐ **License**
**FlNodes** is open-source and released under the [MIT License](LICENSE.md).
Contributions are welcome!
---
## ๐ **Contributing**
Weโd love your help in making **FlNodes** even better! You can contribute by:
- ๐ก Suggesting new features
- ๐ Reporting bugs
- ๐ง Submitting pull requests
- ๐ [Sharing what you've built](https://github.com/WilliamKarolDiCioccio/fl_nodes/discussions/49)
Feel free to file an issue or contribute directly on
[GitHub](https://github.com/WilliamKarolDiCioccio/fl_nodes).
---
## ๐ **Letโs Build Together!**
Enjoy using **FlNodes** and create amazing node-based UIs for your Flutter apps!
๐