installPlatformBackends method

void installPlatformBackends({
  1. required DiagramTextLayoutEngine textLayout,
  2. required DiagramOutput output,
})

Supplies missing platform services without replacing configuration or grammar. An explicit host backend always wins. Text shaping republishes only derived geometry; document identity and history are unchanged.

Implementation

void installPlatformBackends({
  required DiagramTextLayoutEngine textLayout,
  required DiagramOutput output,
}) {
  final diagram = _controller.diagram;
  _controller._requireAlive();
  if (diagram.resolver.installDefaultTextLayout(textLayout)) {
    diagram.refreshLayout();
  }
  diagram._platformOutput ??= output;
  diagram._output ??= diagram._platformOutput;
}