sceneFromJson function

SceneDocument sceneFromJson(
  1. Map<String, Object?> json
)

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;
}