sceneFromJson function
Implementation
SceneDocument sceneFromJson(Map<String, Object?> json) {
var root = _nodeFromJson((json['root']! as Map).cast<String, Object?>());
var doc = SceneDocument(root as FrameNode);
for (var raw in (json['params'] as List? ?? const [])) {
var p = (raw as Map).cast<String, Object?>();
var kind = SceneParamKind.values.byName(p['kind']! as String);
doc.params.add(
SceneParamDecl(
p['name']! as String,
kind,
_paramValue(kind, p['default']),
),
);
}
// The parameters are in hand now, so a recorded repeat can become the
// closure everything draws through.
bindRepeats(doc);
return doc;
}