SceneRefNode class

An instance of another scene, by class name, with that scene's parameters overridden by args.

The instance's internals are not addressable from here — the nesting law: the parent sees one box, the child is edited in its own file. What the parent may animate is the imposed vocabulary on the box plus the child's declared parameters, as args.<param> tracks.

instance is runtime state, like measured: whoever can find files — the workspace — resolves the class name and instantiates the child with args; nothing serializes it, and a node nobody resolved draws as a placeholder naming what it wanted.

Inheritance
Available extensions

Constructors

SceneRefNode(SceneRefArgs declared, {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? minWidth, double? maxWidth, double? minHeight, double? maxHeight, double opacity = 1, bool visible = true})
SceneRefNode.read(String sceneClassName, {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? minWidth, double? maxWidth, double? minHeight, double? maxHeight, double opacity = 1, bool visible = true, Map<String, Object?>? args})
A node the tool READ; see ExternalNode.read.

Properties

args → Map<String, Object?>
final
bindings → Map<String, SceneBinding>
Where each property's value comes from, when it is not a literal: property key → SceneBinding.
finalinherited
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>
no setterinherited
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
declared ↔ SceneRefArgs?
The typed arguments, when this node was compiled rather than read — const PromoBadgeArgs(label: 'Now open'), whose build is a direct constructor call to the other scene class that the compiler checks.
getter/setter pair
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
instance ↔ SceneDocument?
getter/setter pair
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
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
renderedArgs → Map<String, Object?>
The authored args with the motion's args.* writes on top.
no setter
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
sceneClassName → String
final
tokensArg ↔ String?
The child's tokens formal, when this instance receives the parent's set — the file spells PromoBadgeArgs(label: title, tokens: tokens), and the name is the child's own for its formal. Null when the child declares none, or the parent has no set to hand down. Threaded by the tool whenever both sides have a formal, never by the author.
getter/setter pair
typeName → String
no setteroverride
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, SceneExtTracks? args}) → AnimateGroup

Available on SceneRefNode, provided by the SceneRefNodeAnimate 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
syncInstance() → void
Puts the rendered args onto the instance — every declared parameter, so one the motion stopped writing falls back to its default rather than staying wherever the last frame left it.
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