LogoIgnis

Built-in Nodes

The nodes you construct, and what distinguishes each.

Core Nodes#

NodePurposeSignals
Node Base node specifying enabled, priority, and children. onMount, onUnmount, onSceneResize
ColliderNode Registers its Shape with the nearest CollisionDetectionNode. onCollisionStart, onCollisionEnd
CollisionDetectionNode Holds a CollisionDetection arena. -
FpsNode Tracks a rolling-window average frame rate in fps. onFpsChange
ShapeNodeDraws a Shape.-
SizedNode Base node with a size, used for shapes, sprites, and more. -
SpriteNode Animates a Sprite. See Sprites. onFrame, onLoop, onFinish
TextNode Draws text with TextPainter, wrapping to fit. -
TimerNode Tracks time to power its signal. onTrigger
TransformNode Base spatial node with a position, scale, and angle. -

Notable Core Nodes#

TransformNode is the base spatial node. It carries a mutable position, scale, and angle, and reports absolutePosition for its place in the scene rather than in its parent.

final turret = add(TransformNode(position: Vector2(120, 40)));

turret.angle += 0.5 * dt;
turret.distance(target); // Between absolute positions.

SizedNode extends TransformNode with a size and an anchor. Shapes, sprites, layouts, and text are all sized nodes.

Additionally, the collision, input, and layout systems all start with SizedNode. Each one depends on a node that doesn't merely exist in space, but actually occupies it as well.

Effect Nodes#

See Effects.

NodePurposeSignals
EffectNode Base node for time-driven effects, with a cleanup and reset. onFinish
CombinedEffect Runs its effects together, finishing once every one has. onFinish
ControlledEffect An effect driven by an EffectController. onStart, onProgress, onMax, onMin
FollowEffect Moves a PositionOwner toward what it follows, at a speed. onFinish
SequentialEffect Chains its effects, adding the next once the previous ends. onFinish
SpinEffect Spins an AngleOwner by speed, every tick, forever. -
VelocityEffect Moves a PositionOwner by velocity, every tick, forever. -

Input Nodes#

See Inputs.

NodePurposeSignals
InputNodeBase hit area for gestures.-
TapInput Recognizes taps. onTapDown, onTapUp, onTap, onTapCancel
DragInput Recognizes drags. onDragStart , onDragUpdate , onDragEnd , onDragCancel
HoverInput Recognizes mouse hover. onHoverEnter, onHoverExit

Layout Nodes#

See Layout.

NodePurposeSignals
LayoutNodeBase node for laid-out nodes.-
BoxNode Claims a region, placing children under a shared padding and alignment. -
FlexNode Lays its children out along a direction, like Flutter's Flex. -
RowNode Lays its children out horizontally, like Flutter's Row. -
ColumnNode Lays its children out vertically, like Flutter's Column. -