feat(core): expose generic host integration primitives

This commit is contained in:
Aymeric Rabot
2026-07-19 17:11:43 +02:00
parent 2084892383
commit 8f1c834e56
39 changed files with 2471 additions and 166 deletions
+16
View File
@@ -19,6 +19,7 @@ import {
resolveSlabPlanPointSnap,
triggerSFX,
useEditor,
useFloorplanDraftPreview,
} from '@pascal-app/editor'
import { useViewer } from '@pascal-app/viewer'
import { useEffect, useMemo, useRef, useState } from 'react'
@@ -77,6 +78,20 @@ export const SlabTool: React.FC = () => {
}, [points.length])
useEffect(() => () => useEditor.getState().setDraftVertexCount(0), [])
useEffect(() => {
useFloorplanDraftPreview.getState().setPolygonDraft('slab', points)
}, [points])
useEffect(
() => () => {
const draftPreview = useFloorplanDraftPreview.getState()
if (draftPreview.polygonDraftType === 'slab') {
draftPreview.setPolygonDraft(null, [])
}
draftPreview.setCursorPoint(null)
},
[],
)
useEffect(() => {
if (!currentLevelId) return
@@ -101,6 +116,7 @@ export const SlabTool: React.FC = () => {
fallbackPoint: orthoPoint,
levelId: currentLevelId,
}).point
useFloorplanDraftPreview.getState().setCursorPoint(displayPoint)
setSnappedCursorPosition(displayPoint)
if (
points.length > 0 &&