scenePreparer property

  1. @override
ScenePreparer? get scenePreparer
override

Optional transformation applied after document resolution and before the runtime render pipeline builds its snapshot.

An editor session may have at most one contributed preparer.

Implementation

@override
ScenePreparer? get scenePreparer {
  ScenePreparer? result;

  for (final extension in extensions) {
    final candidate = extension.scenePreparer;
    if (candidate == null) continue;

    if (result != null) {
      throw StateError(
        'Multiple editor extensions contributed a ScenePreparer. '
        'Compose preparation explicitly and contribute exactly one preparer.',
      );
    }

    result = candidate;
  }

  return result;
}