1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
import { getGuideById, type GuideId } from "@/guides";
import {
EMPTY_PREVIEW_OVERLAY_SOURCE_RESULT,
type PreviewOverlaySourceResult,
} from "@/preview/overlays";
export function getGuidePreviewOverlaySource({
guideId,
}: {
guideId: GuideId | null;
}): PreviewOverlaySourceResult {
const guide = getGuideById(guideId);
if (!guide) {
return EMPTY_PREVIEW_OVERLAY_SOURCE_RESULT;
}
return {
definitions: [],
instances: [
{
id: `guide-${guide.id}`,
mount: { kind: "scene" },
plane: "under-interaction",
pointerEvents: "none",
render: ({ sceneHeight, sceneWidth }) =>
guide.renderOverlay({
width: sceneWidth,
height: sceneHeight,
}),
},
],
};
}
|