arcane_nodes 1.0.8 copy "arcane_nodes: ^1.0.8" to clipboard
arcane_nodes: ^1.0.8 copied to clipboard

A lightweight, scalable, and highly customizable package that empowers Flutter developers to create dynamic, interactive, and visually appealing node-based UIs.

FlNodes #

๐Ÿš€ We're Participating in the OnlyDust Open Source Hackathon!

The fl_nodes project is taking part in the OnlyDust Open Source Hackathon starting May 28th, 2025!

If you're interested in Flutter, visual programming, or node-based interfaces, this is a great chance to contribute, learn, and collaborate. Weโ€™ll soon tag beginner-friendly issues and update documentation. We are ready to support contributors of all experience levels.

๐Ÿ‘‰ Check out the Issues to get started.


Coverage

๐Ÿš€ A Fully Customizable Node-Based Editor for Flutter #

FlNodes is a lightweight, scalable, and highly customizable Flutter package for building interactive, node-based user interfaces.

๐Ÿ’ก Use Cases #

Whether you're building tools for developers, designers, or end-users, FlNodes provides the building blocks for:

  • ๐ŸŽฎ Visual Scripting Editors โ€“ Game logic, automation flows, or state machines.

  • ๐Ÿ›  Workflow & Process Designers โ€“ Business rules, decision trees, and automation paths.

  • ๐ŸŽจ Shader & Material Graphs โ€“ Build custom shaders visually.

  • ๐Ÿ“Š Dataflow Tools โ€“ ETL pipelines, AI workflows, and processing graphs.

  • ๐Ÿค– ML Architecture Visualizers โ€“ Visualize and configure neural networks.

  • ๐Ÿ”Š Modular Audio Systems โ€“ Synthesizers, effect chains, or sequencing tools.

  • ๐Ÿง  Graph-Based UIs โ€“ Mind maps, dependency trees, and hierarchical structures.


๐ŸŒŸ Features #

  • โœ… Customizable UI โ€“ Fully override widgets, ports, fields, and layout logic.

  • ๐Ÿ’พ Pluggable Storage โ€“ Save/load via JSON with full control over serialization.

  • โšก Optimized Performance โ€“ Hardware-accelerated, efficient hit testing and rebuild minimization.

  • ๐Ÿ”— Flexible Graph System โ€“ Directional edges, nested data, typed ports, and more.

  • ๐Ÿ“ Scalable Architecture โ€“ Suitable for both lightweight diagrams and complex editors.

  • ๐ŸŽจ Lightweight & Elegant โ€“ Minimal dependencies, beautiful out of the box, and easy to style.


๐Ÿ›  Roadmap #

We're iterating fast, thanks to community adoption, forks, and feedback. Here's whatโ€™s next:

๐Ÿ› Bug Fixes & Community Feedback #

  • Addressing common issues raised in GitHub discussions and forks.

  • Fixes for node field state persistence and ID mismatches.

  • Improvements to hit testing and z-ordering in dense graphs.

โš™๏ธ Performance Enhancements #

  • Surgical Rebuilds โ€“ Rebuild only the nodes affected by data or structural changes.

  • Static Branch Precomputation โ€“ Improve runtime by detecting and collapsing static branches in execution graphs.

๐Ÿ“š Documentation Improvements #

  • Expanded API docs and usage examples.

  • Guides for building non-scripting tools like mind maps, audio tools, or ML visualizers.

๐ŸŽ› General-Purpose Flexibility #

  • ๐Ÿค– Node Configuration State Machine โ€“ Dynamically add or remove ports and fields on nodes at runtime, allowing node structure to adapt automatically based on current links and input data.

  • ๐Ÿง‘โ€๐Ÿคโ€๐Ÿง‘ Node Grouping โ€“ Enable users to select multiple nodes and group them together for easier organization, movement, and management within complex graphs.

  • โ™ป๏ธ Reusable Graph Macros โ€“ Allow users to define, save, and reuse templates or functions made up of multiple nodes, streamlining the creation of common patterns and workflows.

  • ๐ŸŽฉ Enhanced Editor Mode โ€“ Introduce advanced, opt-in editing tools and keyboard shortcuts to improve productivity and provide a more powerful graph editing experience.


๐Ÿ“ธ Screenshots #

  FlNodes Example


๐Ÿ“š Quickstart Guide #

For a fast and easy setup, check out our Quickstart Guide. 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:

dependencies:
fl_nodes: ^latest_version

Then, run:

flutter pub get

๐Ÿ› ๏ธ Usage #

Import the package in your Dart file:

import 'package:fl_nodes/fl_nodes.dart';

For full implementation details, check out the examples below.


๐Ÿงฉ Examples & Demo #

Explore fully working examples:


๐Ÿ•น๏ธ Current input support #

Legend:

  • โœ… Supported
  • โŒ Unsupported
  • โš ๏ธ Partial
  • ๐Ÿงช Untested
๐Ÿ–ฅ๏ธDesktop and ๐Ÿ’ป laptop: Windows Linux macOS
native/mouse โœ… โœ… โœ…
native/trackpad โœ… โš ๏ธ โœ…
web/mouse โœ… โœ… โœ…
web/trackpad โŒ โŒ โŒ
๐Ÿ“ฑMobile Android iOS
native โœ… โŒ
web โŒ ๐Ÿงช

๐Ÿ“œ License #

FlNodes is open-source and released under the MIT License. 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

Feel free to file an issue or contribute directly on GitHub.


๐Ÿš€ Letโ€™s Build Together! #

Enjoy using FlNodes and create amazing node-based UIs for your Flutter apps! ๐ŸŒŸ

0
likes
135
points
47
downloads

Publisher

unverified uploader

Weekly Downloads

A lightweight, scalable, and highly customizable package that empowers Flutter developers to create dynamic, interactive, and visually appealing node-based UIs.

Repository (GitHub)

Topics

#visual-scripting #workflow-editor #node-editor

Documentation

API reference

License

MIT (license)

Dependencies

artifact, fast_log, flutter, flutter_context_menu, flutter_shaders, keymap, os_detect, uuid

More

Packages that depend on arcane_nodes