Wriggle is a text-based UI framework for command-line Dart. It uses a nested component system that should be familiar to Flutter users.

Features

Selling points include:

  • Slow
  • Inefficient
  • Cute!

Getting started

Usage

Run the top-level function "runApp", providing a Component as your application. Extend the Component class and override the "build" method, returning a tree of nested Renderable objects.

void main(List<String> arguments) {
  runApp(MyApp());
}

class MyApp extends Component {
  @override
  Renderable build(WriggleContext context) {
    return const Center(child: Text('Hello world!'));
  }
}

State in Wriggle is managed using the StatefulComponent

Additional information

For a working example, see the project I created Wriggle for: Morning Princess, a text-based character sheet for D&D 5e (https://codeberg.org/imperialoctopus/morning-princess/).

Credits

Libraries

components
Wriggle components.
development
Used when developing extensions to the Wriggle engine.
wriggle
Wriggle Text-based UI framework for pure command-line Dart.