tracks property
Key → track, non-empty only: Save writes no empty tracks (an always-present empty track is a runtime affordance, not a file one).
Keyed by the SCENE'S OWN key space, so a part of a property is a track
like any other: args.headline for a widget's argument, axes.wght
for a face's weight. The FILE spells those two differently — a dotted
name cannot be a Dart named argument, so each rides a map of its own —
but that is the grammar's problem, and one map here is what lets a
track be looked up, written and reconciled without asking which sort
it is.
Implementation
final tracks = <String, MotionTrack>{};