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.
cornerreads 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'), whosebuildis 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.headlinea 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