sceneFontVariations function

List<FontVariation>? sceneFontVariations(
  1. TextNode t
)

The face's axes, at whatever a motion has them — the one thing a discrete FontWeight cannot do, which is why an axis is a number key of its own.

A tag a track moves but the node never set is included: the track is the whole of what it says, and leaving it out would animate nothing.

Implementation

List<FontVariation>? sceneFontVariations(TextNode t) {
  var tags = <String>{
    ...t.axes.keys,
    for (var k in t.fx.keys) ?sceneAxisTag(k.$2),
  };
  if (tags.isEmpty) return null;
  return [
    for (var tag in tags)
      FontVariation(tag, (t.fxRendered('axes.$tag') as num).toDouble()),
  ];
}