SkeletalClipTrack class

A timeline track playing clips on the bound entity's 3-D model (its AnimationPlayerComponent): each block names a clip, plays at the block's speed, and loops as the block says. Entering a block crossfades over the player's crossfade; between blocks the model goes back to the clip it was playing before — what was authored, unless something (an animator) had taken it over. Scrubbing puts the clip exactly where the block says it should be. It sets what the player plays at run time, never what it saves.

Saved with kind skeletalClip; Graphics3D registers it.

Inheritance

Constructors

SkeletalClipTrack({List<TimelineBlock> blocks = const [], String name = '', TrackBinding binding = TrackBinding.owner, bool muted = false, bool locked = false})
A track of clip blocks.
SkeletalClipTrack.fromJson(Map<String, dynamic> json)
Reads a saved track of this kind; a missing key takes its default.
factory

Properties

amountLabel → String?
What TimelineBlock.amount is here; null when unused.
no setterinherited
binding → TrackBinding
Who the track acts on, looked up by the playback as it plays.
finalinherited
blocks → List<TimelineBlock>
The blocks, by start time. Unmodifiable. They may overlap; see blockAt.
finalinherited
defaultBlock → TimelineBlock
What a new block of this kind starts as.
no setterinherited
end → double
When the last block ends — on an instant track, when the last one starts, its drawn length being no time at all.
no setterinherited
hashCode → int
The hash code for this object.
no setterinherited
hasSpeed → bool
Whether TimelineBlock.speed and TimelineBlock.loop mean anything.
no setteroverride
isInstant → bool
What happens at the block's start is all there is: its length is only how wide an editor draws it.
no setterinherited
kind → String
The id this kind is registered under in TimelineTrackKinds.
no setteroverride
locked → bool
Editor only: a locked track cannot be edited.
finalinherited
muted → bool
A muted track is kept but not played.
finalinherited
name → String
A label; empty shows what the track says about itself.
finalinherited
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
summary → String
What the track calls itself when name is empty.
no setteroverride
valueExtensions → List<String>
The file extensions TimelineBlock.value picks from, when it is a path.
no setterinherited
valueLabel → String?
What TimelineBlock.value is here, for an editor's field; null when this kind has no use for it.
no setteroverride

Methods

blockAt(double time, {bool includeEnd = false}) → TimelineBlock?
The block time falls in — the later one where two overlap. With includeEnd a block ending exactly at time counts too: the timeline comes to rest there (TimelineContext.endsAt), and what the block did lasts.
inherited
bodyToJson() → Map<String, dynamic>
The kind's own fields; toJson adds the shared ones.
inherited
createRunner() → TrackRunner
The part of this track that runs: it holds whatever a play needs to remember, so the track itself can stay immutable and shared.
override
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
rebuild({List<TimelineBlock>? blocks, String? name, TrackBinding? binding, bool? muted, bool? locked}) → SkeletalClipTrack
This track with other blocks, or other base properties.
override
toJson() → Map<String, dynamic>
The saved form in a .timeline.json's tracks: kind; name, binding, muted and locked only when not the default; then the kind's own bodyToJson keys.
inherited
toString() → String
A string representation of this object.
inherited
withBase({String? name, TrackBinding? binding, bool? muted, bool? locked}) → TimelineTrack
This track with the base properties changed.
inherited

Operators

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

Constants

kindId → const String
skeletalClip: the kind this track is saved as, and the id TimelineTrackKinds reads it by.