diff --git a/apps/editor/public/icons/elevator.png b/apps/editor/public/icons/elevator.png
index 2250a678..7bdf1eff 100644
Binary files a/apps/editor/public/icons/elevator.png and b/apps/editor/public/icons/elevator.png differ
diff --git a/packages/editor/src/components/editor-2d/renderers/floorplan-measurements-layer.tsx b/packages/editor/src/components/editor-2d/renderers/floorplan-measurements-layer.tsx
index af732f91..f2a8947f 100644
--- a/packages/editor/src/components/editor-2d/renderers/floorplan-measurements-layer.tsx
+++ b/packages/editor/src/components/editor-2d/renderers/floorplan-measurements-layer.tsx
@@ -12,6 +12,8 @@ const FLOORPLAN_MEASUREMENT_END_TICK = 0.18
export type LinearMeasurementOverlay = {
dashedExtensions?: boolean
id: string
+ dimensionPathEnd?: string | null
+ dimensionPathStart?: string | null
dimensionLineEnd: { x1: number; y1: number; x2: number; y2: number }
dimensionLineStart: { x1: number; y1: number; x2: number; y2: number }
extensionStart: { x1: number; y1: number; x2: number; y2: number }
@@ -34,6 +36,7 @@ type FloorplanMeasurementPalette = {
type FloorplanMeasurementLineProps = {
palette: FloorplanMeasurementPalette
segment: { x1: number; y1: number; x2: number; y2: number }
+ path?: string | null
isSelected?: boolean
dashed?: boolean
stroke?: string
@@ -42,6 +45,7 @@ type FloorplanMeasurementLineProps = {
function FloorplanMeasurementLine({
palette,
segment,
+ path,
isSelected,
dashed = false,
stroke,
@@ -50,7 +54,20 @@ function FloorplanMeasurementLine({
? FLOORPLAN_MEASUREMENT_LINE_OPACITY
: FLOORPLAN_MEASUREMENT_LINE_OPACITY * 0.4
- return (
+ return path ? (
+
+ ) : (
diff --git a/packages/editor/src/components/ui/panels/node-display.ts b/packages/editor/src/components/ui/panels/node-display.ts
index 16ee20d9..be0fd1c8 100644
--- a/packages/editor/src/components/ui/panels/node-display.ts
+++ b/packages/editor/src/components/ui/panels/node-display.ts
@@ -13,7 +13,7 @@ const TYPE_DEFAULTS: Record = {
slab: { icon: '/icons/floor.png', label: 'Slab' },
ceiling: { icon: '/icons/ceiling.png', label: 'Ceiling' },
column: { icon: '/icons/column.png', label: 'Column' },
- elevator: { icon: '/icons/elevator.svg', label: 'Elevator' },
+ elevator: { icon: '/icons/elevator.png', label: 'Elevator' },
fence: { icon: '/icons/fence.png', label: 'Fence' },
roof: { icon: '/icons/roof.png', label: 'Roof' },
'roof-segment': { icon: '/icons/roof.png', label: 'Roof segment' },
diff --git a/packages/editor/src/components/ui/sidebar/panels/site-panel/elevator-tree-node.tsx b/packages/editor/src/components/ui/sidebar/panels/site-panel/elevator-tree-node.tsx
index 0f345171..085eb5ab 100644
--- a/packages/editor/src/components/ui/sidebar/panels/site-panel/elevator-tree-node.tsx
+++ b/packages/editor/src/components/ui/sidebar/panels/site-panel/elevator-tree-node.tsx
@@ -49,7 +49,7 @@ export const ElevatorTreeNode = memo(function ElevatorTreeNode({
expanded={false}
hasChildren={false}
icon={
-
+
}
isHovered={isHovered}
isLast={isLast}
diff --git a/packages/nodes/src/elevator/panel.tsx b/packages/nodes/src/elevator/panel.tsx
index 47c254b0..0e5f6b8f 100644
--- a/packages/nodes/src/elevator/panel.tsx
+++ b/packages/nodes/src/elevator/panel.tsx
@@ -474,7 +474,7 @@ export default function ElevatorPanel() {
return (