SurfaceNode class

A placed asset whose named mesh shows the node's first child.

Inheritance
Available extensions

Constructors

SurfaceNode({String name = '', double x = 0, double y = 0, double? width, double? height, SceneColor? fill, SceneColor? borderColor, double borderWidth = 1, double corner = 0, double? cornerTopLeft, double? cornerTopRight, double? cornerBottomRight, double? cornerBottomLeft, double opacity = 1, double? minWidth, double? maxWidth, double? minHeight, double? maxHeight, bool visible = true, String asset = '', String mesh = '', double positionX = 0, double positionY = 0, double positionZ = 0, double rotationX = 0, double rotationY = 0, double rotationZ = 0, double size = 1, String animation = '', double animationTime = 0, bool loop = true, String animation2 = '', double animationTime2 = 0, double blend = 0, SceneColor tint = const SceneColor(0xFFFFFFFF), List<SceneNode> children = const []})

Properties

animation → String
no setter
animation2 → String
no setter
animationTime → double
no setter
animationTime2 → double
no setter
asset → String
no setter
bindings → Map<String, SceneBinding>
Where each property's value comes from, when it is not a literal: property key → SceneBinding.
finalinherited
blend → double
no setter
borderColor ↔ SceneColor?
A line around the node, or none. Two fields rather than one value, because the file's vocabulary is flat named arguments and a Border(...) would be a construct the grammar does not have.
getter/setter pairinherited
borderWidth ↔ double
getter/setter pairinherited
children → List<SceneNode>
finalinherited
corner ↔ double
getter/setter pairinherited
corners ↔ SceneCorners
The corner radii. corner reads and writes them as one number — what they are for most nodes.
getter/setter pairinherited
fill ↔ SceneColor?
getter/setter pairinherited
fx → Map<(Object, String), Object>
The evaluated plane: per-frame contributions composed OVER the authored values above, keyed by (writer, property) in writer-stack order — the order is normative (× does not bit-commute). Motion lanes and app Effects write here; Save never reads it; a cancelled writer clears its own entries and the authored value was never touched.
finalinherited
hashCode → int
The hash code for this object.
no setterinherited
height ↔ double?
getter/setter pairinherited
heightFills → bool
no setterinherited
kind → SceneKind
finalinherited
loop → bool
no setter
maxHeight ↔ double?
getter/setter pairinherited
maxWidth ↔ double?
getter/setter pairinherited
measured ↔ SceneRect?
Laid-out rect in artboard coordinates, swept after each frame by whichever renderer measured it.
getter/setter pairinherited
mesh → String
no setter
minHeight ↔ double?
getter/setter pairinherited
minWidth ↔ double?
Bounds on the laid-out size, when a node has them: a card no narrower than its title, a column no wider than a line of reading. Null is no bound.
getter/setter pairinherited
name ↔ String
The node's identity — the field name in the file, and SOURCE-LEVEL ONLY. A compiled scene leaves it empty: Dart has no field-name reflection, and at runtime a node's identity is the object, which is what makes scene.headline a typed reference rather than a lookup. The editor, which parsed the source, is what fills this in.
getter/setter pairinherited
opacity ↔ double
getter/setter pairinherited
positionX → double
no setter
positionY → double
no setter
positionZ → double
no setter
rotationX → double
no setter
rotationY → double
no setter
rotationZ → double
no setter
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
size → double
no setter
slot → SceneNode?
What the surface shows: its first child, if any.
no setter
tint → SceneColor
no setter
typeName → String
no setterinherited
values → Map<String, Object?>
The kind's rows, by name. A missing entry reads as the row's default.
finalinherited
visible ↔ bool
Whether the node is drawn and laid out at all. Not opacity zero: a hidden node takes no room in a row, and a column closes over it. The boolean a component most often exposes — show the badge, hide the footer — which is why it is a property and not an effect.
getter/setter pairinherited
width ↔ double?
Size along each axis, three-valued in one field:
getter/setter pairinherited
widthFills → bool
Whether this node takes what the parent gives along each axis.
no setterinherited
x ↔ double
getter/setter pairinherited
y ↔ double
getter/setter pairinherited

Methods

animate({MotionTrack? opacity, MotionTrack? translateX, MotionTrack? translateY, MotionTrack? scale, MotionTrack? rotate}) → AnimateGroup

Available on SceneNode, provided by the SceneNodeAnimate extension

animate({MotionTrack? opacity, MotionTrack? translateX, MotionTrack? translateY, MotionTrack? scale, MotionTrack? rotate, MotionTrack? positionX, MotionTrack? positionY, MotionTrack? positionZ, MotionTrack? rotationX, MotionTrack? rotationY, MotionTrack? rotationZ, MotionTrack? size, MotionTrack? animationTime, MotionTrack? animationTime2, MotionTrack? blend, MotionTrack? tint}) → AnimateGroup

Available on SurfaceNode, provided by the SurfaceNodeAnimate extension

clearFxWriter(Object writer) → void
inherited
effect() → Effect
Mint an app-side fx writer. Handles are the only app surface — two independent effects on one property compose instead of colliding, and clearing one leaves the others (sketch 25).
inherited
fxRendered(String prop) → Object
The composed value the renderer should draw: authored base folded with every contribution through the derived operator table — opacity and scale multiply, translations and rotation add, everything else replaces in stack order.
inherited
hasFx(String prop) → bool
Whether any writer currently contributes to prop — the renderer asks this where the authored value's absence means something (a null fill draws no decoration; a composed fill draws one).
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
removeFx(Object writer, String prop) → void
inherited
toString() → String
A string representation of this object.
inherited
writeFx(Object writer, String prop, Object value) → void
inherited

Operators

operator ==(Object other) → bool
The equality operator.
inherited