encodeCanvasScene function

Map<String, Object?> encodeCanvasScene(
  1. CanvasSceneDocument scene
)

Checks runtime integrity before recursive encoding to the current format.

The guard checks cycles, JSON payloads, and node discriminator consistency. Package serializers own canonical wire structure; it is not scanned again.

Implementation

Map<String, Object?> encodeCanvasScene(CanvasSceneDocument scene) {
  requireCanvasSceneIntegrity(scene);
  return Map<String, Object?>.from(scene.toJson())
    ..['sceneFormatVersion'] = currentCanvasSceneFormatVersion;
}