Build a fresh OverlayManager, optionally hydrate it from
zarr overlay metadata on the LuxarScene root, then wire it to the
input handler and (when present) recording panel. Idempotent — the
caller's InitOverlaysPorts.disposePrevious runs first so a
second call from another path won't leak the previous instance.
Returns the new manager. The caller stores it on its own field.
Build a fresh OverlayManager, optionally hydrate it from zarr overlay metadata on the LuxarScene root, then wire it to the input handler and (when present) recording panel. Idempotent — the caller's InitOverlaysPorts.disposePrevious runs first so a second call from another path won't leak the previous instance.
Returns the new manager. The caller stores it on its own field.