flutter library

The Flutter widget layer of the blobatar SDK.

import 'package:blobatar/flutter.dart';

AnimatedBlobatar(name: 'alain@example.com', size: 48)

The widgets paint the deterministic generation-2 layout through dart:ui primitives — the same math the parity fixture pins against the TypeScript core. For the pure, Flutter-independent engine (hash, traits, palette, layout), import package:blobatar/blobatar.dart instead.

Classes

AnimatedBlobatar
A blobatar with elapsed-time idle motion and expression morphing.
AnimatedBlobatarFrame
Everything the animated renderer needs for one paint.
AnimatedBlobatarPainter
Paints elapsed-time frames from a cached AnimatedBlobatarRenderer.
AnimatedBlobatarRenderer
A resolved generation-2 figure whose paths stay fixed while transforms move.
BackdropGeometry
The plate behind the figure, as geometry rather than as markup.
Blobatar
Displays a deterministic blobatar for a name.
BlobatarOptions
The options the layout and palette resolution read.
BlobatarPainter
Paints a static blobatar through BlobatarRenderer.
BlobatarRenderer
A resolved, ready-to-draw blobatar.
Expression
A named pose and its optional palette tint target.
MotionFrame
One deterministic frame of every idle-motion channel.
MotionSeeds
Seeded periods, phases, and look direction for one blobatar.
MotionWrap
Saccade foreshortening coefficients for one frame.
Pose
Every channel an expression may change.

Enums

Backdrop
How the backdrop is drawn. Mirrors the JS option values false | "square" | "circle" | "squircle".
BlobatarAnimation
How ambient motion is activated.

Constants

expressions → const List<Expression>
happy → const Expression
idle → const Expression
love → const Expression
mad → const Expression
sad → const Expression
scared → const Expression
shy → const Expression
sick → const Expression
sleepy → const Expression
smug → const Expression
surprised → const Expression
thinking → const Expression
unsure → const Expression
wink → const Expression

Functions

motionAt(MotionSeeds seeds, double elapsedMilliseconds, double amplitude, {double shake = 0}) MotionFrame
Evaluates every deterministic motion channel at elapsedMilliseconds.
motionSeedsFor(String name, {bool normalize = true, TraitOverrides? traits}) MotionSeeds
Derives one blobatar's motion values from its seed and trait options.

Typedefs

Palette = Map<String, String>
The resolved palette, keyed by colorBg / colorHead / colorEye.