Merge remote-tracking branch 'origin/main' into feat/paint-slots
# Conflicts: # packages/core/src/store/use-scene.ts # packages/editor/src/components/editor/index.tsx
This commit is contained in:
@@ -214,7 +214,7 @@ export const slabDefinition: NodeDefinition<typeof SlabNode> = {
|
||||
presentation: {
|
||||
label: 'Slab',
|
||||
description: 'A polygon-bounded floor surface that hosts items on top.',
|
||||
icon: { kind: 'url', src: '/icons/floor.png' },
|
||||
icon: { kind: 'url', src: '/icons/floor.webp' },
|
||||
paletteSection: 'structure',
|
||||
paletteOrder: 30,
|
||||
},
|
||||
|
||||
@@ -152,7 +152,7 @@ export function SlabPanel() {
|
||||
|
||||
return (
|
||||
<PanelWrapper
|
||||
icon="/icons/floor.png"
|
||||
icon="/icons/floor.webp"
|
||||
onClose={handleClose}
|
||||
title={node.name || 'Slab'}
|
||||
width={320}
|
||||
|
||||
@@ -6,6 +6,7 @@ import {
|
||||
type GridEvent,
|
||||
type LevelNode,
|
||||
snapPointAlongAngleRay,
|
||||
snapPointToGrid,
|
||||
useScene,
|
||||
} from '@pascal-app/core'
|
||||
import {
|
||||
@@ -76,9 +77,9 @@ export const SlabTool: React.FC = () => {
|
||||
if (!cursorRef.current) return
|
||||
const rawPoint: [number, number] = [event.localPosition[0], event.localPosition[2]]
|
||||
const bypassSnap = shiftPressed.current || event.nativeEvent?.shiftKey === true
|
||||
const gridX = Math.round(rawPoint[0] * 2) / 2
|
||||
const gridZ = Math.round(rawPoint[1] * 2) / 2
|
||||
const gridPosition: [number, number] = bypassSnap ? rawPoint : [gridX, gridZ]
|
||||
const gridPosition: [number, number] = bypassSnap
|
||||
? rawPoint
|
||||
: [...snapPointToGrid(rawPoint, useEditor.getState().gridSnapStep)]
|
||||
setCursorPosition(gridPosition)
|
||||
setLevelY(event.localPosition[1])
|
||||
const lastPoint = points[points.length - 1]
|
||||
|
||||
Reference in New Issue
Block a user