diff --git a/apps/editor/components/tools/door/door-tool.tsx b/apps/editor/components/tools/door/door-tool.tsx index 18a88925..6e424f32 100644 --- a/apps/editor/components/tools/door/door-tool.tsx +++ b/apps/editor/components/tools/door/door-tool.tsx @@ -19,6 +19,7 @@ import { snapToHalf, } from '../item/placement-math' import { clampToWall, hasWallChildOverlap, wallLocalToWorld } from './door-math' +import { sfxEmitter } from '../../../lib/sfx-bus' const edgeMaterial = new LineBasicNodeMaterial({ color: 0xef4444, @@ -219,6 +220,7 @@ export const DoorTool: React.FC = () => { useScene.getState().createNode(node, event.node.id as AnyNodeId) useViewer.getState().setSelection({ selectedIds: [node.id] }) useScene.temporal.getState().pause() + sfxEmitter.emit('sfx:item-place') event.stopPropagation() } diff --git a/apps/editor/components/tools/window/window-tool.tsx b/apps/editor/components/tools/window/window-tool.tsx index 67949f21..8676c2cd 100644 --- a/apps/editor/components/tools/window/window-tool.tsx +++ b/apps/editor/components/tools/window/window-tool.tsx @@ -19,6 +19,7 @@ import { snapToHalf, } from '../item/placement-math' import { clampToWall, hasWallChildOverlap, wallLocalToWorld } from './window-math' +import { sfxEmitter } from '../../../lib/sfx-bus' // Shared edge material — reuse across renders, just toggle color const edgeMaterial = new LineBasicNodeMaterial({ @@ -228,6 +229,7 @@ export const WindowTool: React.FC = () => { useScene.getState().createNode(node, event.node.id as AnyNodeId) useViewer.getState().setSelection({ selectedIds: [node.id] }) useScene.temporal.getState().pause() + sfxEmitter.emit('sfx:item-place') event.stopPropagation() }