resolveTokenArgs function
args with every opaque-token marker replaced by the token's object;
a marker naming nothing the app declared resolves to null, which is the
widget's own fallback.
Implementation
SceneArgs resolveTokenArgs(SceneArgs args, Map<String, Object?> tokens) =>
SceneArgs({
for (var name in args.names)
name: switch (tokenMarkerName(args.raw(name))) {
var token? => tokens[token],
null => args.raw(name),
},
});