evaluateScene function

SceneEvaluation evaluateScene(
  1. CanvasSceneDocument preparedScene,
  2. CoreServices services, {
  3. ContentBoundsSpec? contentBounds,
})

Evaluate the prepared scene using the caller's stable service bundle.

The same services instance can be used by a ScenePreparer beforehand.

Implementation

SceneEvaluation evaluateScene(
  CanvasSceneDocument preparedScene,
  CoreServices services, {
  ContentBoundsSpec? contentBounds,
}) {
  final computed = computeScene(preparedScene, services);
  final spec = contentBounds;
  final bounds = spec == null
      ? null
      : computePaddedContentBounds(
          scene: preparedScene,
          computed: computed,
          policy: spec.policy,
          paddingPx: spec.paddingPx,
        );

  return SceneEvaluation(
    scene: preparedScene,
    computed: computed,
    contentBounds: bounds,
  );
}