scenePreparer property

  1. @override
ScenePreparer? get scenePreparer
override

Optional transformation applied after document resolution and before the runtime evaluates the prepared scene.

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