diff --git a/apps/editor/components/ui/item-catalog/catalog-items.tsx b/apps/editor/components/ui/item-catalog/catalog-items.tsx index fe4049bd..7724ed28 100644 --- a/apps/editor/components/ui/item-catalog/catalog-items.tsx +++ b/apps/editor/components/ui/item-catalog/catalog-items.tsx @@ -1,5 +1,664 @@ import { AssetInput, ItemNode } from "@pascal-app/core"; export const CATALOG_ITEMS: AssetInput[] = [ + { + "id": "shower-rug", + "category": "furniture", + "name": "shower-rug", + "thumbnail": "/items/shower-rug/thumbnail.webp", + "src": "/items/shower-rug/model.glb", + "scale": [ + 1, + 1, + 1 + ], + "offset": [ + 0, + 0, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "dimensions": [ + 1, + 0.10000000000000636, + 0.5000000000000026 + ] + }, + + { + "id": "hydrant", + "category": "furniture", + "name": "hydrant", + "thumbnail": "/items/hydrant/thumbnail.webp", + "src": "/items/hydrant/model.glb", + "scale": [ + 1, + 1, + 1 + ], + "offset": [ + 0, + 0, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "dimensions": [ + 1.0000000000000007, + 0.9000000000000062, + 1.0000000000000024 + ] + }, + + { + "id": "sunbed", + "category": "furniture", + "name": "sunbed", + "thumbnail": "/items/sunbed/thumbnail.webp", + "src": "/items/sunbed/model.glb", + "scale": [ + 1, + 1, + 1 + ], + "offset": [ + 0, + 0.04, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "dimensions": [ + 1.0000000000000007, + 1.2000000000000064, + 1.5000000000000024 + ] + }, + + { + "id": "palm", + "category": "furniture", + "name": "palm", + "thumbnail": "/items/palm/thumbnail.webp", + "src": "/items/palm/model.glb", + "scale": [ + 0.37, + 0.37000000000000005, + 0.37 + ], + "offset": [ + 0.13999999999999999, + 0, + -0.20000000000000007 + ], + "rotation": [ + 0, + 0, + 0 + ], + "dimensions": [ + 3.500000000000003, + 4.500000000000007, + 3.500000000000004 + ] + }, + + { + "id": "fence", + "category": "furniture", + "name": "fence", + "thumbnail": "/items/fence/thumbnail.webp", + "src": "/items/fence/model.glb", + "scale": [ + 0.8, + 0.8, + 0.8 + ], + "offset": [ + 0, + 0, + -1.734723475976807e-17 + ], + "rotation": [ + 0, + 0, + 0 + ], + "dimensions": [ + 2.0000000000000018, + 0.7000000000000006, + 0.5000000000000018 + ] + }, + + { + "id": "patio-umbrella", + "category": "furniture", + "name": "patio-umbrella", + "thumbnail": "/items/patio-umbrella/thumbnail.webp", + "src": "/items/patio-umbrella/model.glb", + "scale": [ + 0.8, + 0.8, + 0.8 + ], + "offset": [ + 0, + 0, + 0.09 + ], + "rotation": [ + 0, + 0, + 0 + ], + "dimensions": [ + 3.500000000000003, + 3.0000000000000013, + 3.500000000000002 + ] + }, + + { + "id": "lounge-chair", + "category": "furniture", + "name": "lounge-chair", + "thumbnail": "/items/lounge-chair/thumbnail.webp", + "src": "/items/lounge-chair/model.glb", + "scale": [ + 1, + 1, + 1 + ], + "offset": [ + 0, + 0, + 0.09 + ], + "rotation": [ + 0, + 0, + 0 + ], + "dimensions": [ + 1.0000000000000009, + 1.0999999999999996, + 1.5000000000000007 + ] + }, + + { + "id": "smoke-detector", + "category": "furniture", + "name": "smoke-detector", + "thumbnail": "/items/smoke-detector/thumbnail.webp", + "src": "/items/smoke-detector/model.glb", + "scale": [ + 1, + 1, + 1 + ], + "offset": [ + 0, + 0.4900000000000002, + 0 + ], + "rotation": [ + 3.149999999999999, + 0, + 0 + ], + "dimensions": [ + 0.5000000000000001, + 0.5000000000000001, + 0.4999999999999998 + ], + "attachTo": "ceiling" + }, + + { + "id": "suspended-fireplace", + "category": "furniture", + "name": "suspended-fireplace", + "thumbnail": "/items/suspended-fireplace/thumbnail.webp", + "src": "/items/suspended-fireplace/model.glb", + "scale": [ + 1, + 1, + 1 + ], + "offset": [ + 0, + 0.4500000000000002, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "dimensions": [ + 0.5000000000000001, + 0.5000000000000001, + 0.4999999999999998 + ], + "attachTo": "ceiling" + }, + + { + "id": "sprinkler", + "category": "furniture", + "name": "sprinkler", + "thumbnail": "/items/sprinkler/thumbnail.webp", + "src": "/items/sprinkler/model.glb", + "scale": [ + 1, + 1, + 1 + ], + "offset": [ + 0, + 0.4500000000000002, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "dimensions": [ + 0.5000000000000001, + 0.5000000000000001, + 0.4999999999999998 + ], + "attachTo": "ceiling" + }, + + { + "id": "ceiling-lamp", + "category": "furniture", + "name": "ceiling-lamp", + "thumbnail": "/items/ceiling-lamp/thumbnail.webp", + "src": "/items/ceiling-lamp/model.glb", + "scale": [ + 1, + 1, + 1 + ], + "offset": [ + 0, + 0.98, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "dimensions": [ + 0.9999999999999983, + 1, + 0.9999999999999997 + ], + "attachTo": "ceiling" + }, + + { + "id": "ceiling-fan", + "category": "furniture", + "name": "ceiling-fan", + "thumbnail": "/items/ceiling-fan/thumbnail.webp", + "src": "/items/ceiling-fan/model.glb", + "scale": [ + 1, + 1, + 1 + ], + "offset": [ + -0.1199999999999999, + 0.48999999999999955, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "dimensions": [ + 0.9999999999999983, + 0.5000000000000001, + 1.4999999999999998 + ], + "attachTo": "ceiling" + }, + + { + "id": "window-large", + "category": "window", + "name": "window-large", + "thumbnail": "/items/window-large/thumbnail.webp", + "src": "/items/window-large/model.glb", + "scale": [ + 1, + 1, + 1 + ], + "offset": [ + 1.0061396160665481e-16, + 1, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "dimensions": [ + 1.9999999999999991, + 2.0000000000000004, + 0.39999999999999936 + ], + "attachTo": "wall" + }, + + { + "id": "window-rectangle", + "category": "window", + "name": "window-rectangle", + "thumbnail": "/items/window-rectangle/thumbnail.webp", + "src": "/items/window-rectangle/model.glb", + "scale": [ + 0.68, + 0.68, + 0.68 + ], + "offset": [ + 1.0061396160665481e-16, + 0.7500000000000004, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "dimensions": [ + 1.9999999999999991, + 1.5, + 0.39999999999999936 + ], + "attachTo": "wall" + }, + + { + "id": "glass-door", + "category": "furniture", + "name": "glass-door", + "thumbnail": "/items/glass-door/thumbnail.webp", + "src": "/items/glass-door/model.glb", + "scale": [ + 0.9, + 0.9, + 0.9 + ], + "offset": [ + -0.5200000000000002, + 0, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "dimensions": [ + 1.499999999999999, + 2.500000000000001, + 0.39999999999999936 + ], + "attachTo": "wall" + }, + + { + "id": "door", + "category": "furniture", + "name": "door", + "thumbnail": "/items/door/thumbnail.webp", + "src": "/items/door/model.glb", + "scale": [ + 0.9, + 0.9, + 0.9 + ], + "offset": [ + -0.43000000000000016, + 0, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "dimensions": [ + 1.499999999999999, + 2.500000000000001, + 0.39999999999999936 + ], + "attachTo": "wall" + }, + + { + "id": "thermostat", + "category": "furniture", + "name": "thermostat", + "thumbnail": "/items/thermostat/thumbnail.webp", + "src": "/items/thermostat/model.glb", + "scale": [ + 2.079999999999999, + 2.1, + 2.590000000000009 + ], + "offset": [ + 0, + 0, + 0.009999999999999997 + ], + "rotation": [ + 0, + 0, + 0 + ], + "dimensions": [ + 0.49999999999999856, + 0.5, + 0.09999999999999931 + ], + "attachTo": "wall-side" + }, + + + { + "id": "parking-spot", + "category": "furniture", + "name": "parking-spot", + "thumbnail": "/items/parking-spot/thumbnail.webp", + "src": "/items/parking-spot/model.glb", + "scale": [ + 0.9000000000000001, + 1, + 0.78 + ], + "offset": [ + 0, + 0, + 0.009999999999999997 + ], + "rotation": [ + 0, + 0, + 0 + ], + "dimensions": [ + 5, + 0.9999999999999999, + 2.5 + ] + }, + + { + "id": "ac-block", + "category": "furniture", + "name": "ac-block", + "thumbnail": "/items/ac-block/thumbnail.webp", + "src": "/items/ac-block/model.glb", + "scale": [ + 0.7899999999999998, + 0.7899999999999999, + 0.7900000000000001 + ], + "offset": [ + 0, + 0, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "dimensions": [ + 1.1000000000000005, + 0.9999999999999999, + 1.1000000000000005 + ] + }, + + { + "id": "fire-detector", + "category": "furniture", + "name": "fire-detector", + "thumbnail": "/items/fire-detector/thumbnail.webp", + "src": "/items/fire-detector/model.glb", + "scale": [ + 0.8999999999999999, + 1.4000000000000004, + 0.6999999999999991 + ], + "offset": [ + 0.02, + 0.05, + -3.469446951953614e-18 + ], + "rotation": [ + 0, + 0, + 0 + ], + "dimensions": [ + 0.5, + 0.5, + 0.30000000000000004 + ], + "attachTo": "wall" + }, + + { + "id": "exit-sign", + "category": "furniture", + "name": "exit-sign", + "thumbnail": "/items/exit-sign/thumbnail.webp", + "src": "/items/exit-sign/model.glb", + "scale": [ + 0.6, + 0.5, + 0.7 + ], + "offset": [ + 0, + 0.04, + 0.05 + ], + "rotation": [ + 0, + 0, + 0 + ], + "dimensions": [ + 0.9999999999999999, + 0.5, + 0.30000000000000004 + ], + "attachTo": "wall" + }, + + { + "id": "electric-panel", + "category": "furniture", + "name": "electric-panel", + "thumbnail": "/items/electric-panel/thumbnail.webp", + "src": "/items/electric-panel/model.glb", + "scale": [ + 0.6100000000000002, + 0.7399999999999999, + 0.7 + ], + "offset": [ + 0, + 0, + 0.060000000000000005 + ], + "rotation": [ + 0, + 0, + 0 + ], + "dimensions": [ + 0.5000000000000001, + 0.9999999999999999, + 0.30000000000000004 + ], + "attachTo": "wall" + }, + + + { + "id": "alarm-keypad", + "category": "furniture", + "name": "alarm-keypad", + "thumbnail": "/items/alarm-keypad/thumbnail.webp", + "src": "/items/alarm-keypad/model.glb", + "scale": [ + 1, + 1, + 1 + ], + "offset": [ + 0, + 0, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "dimensions": [ + 0.5000000000000008, + 0.10000000000000003, + 0.5000000000000006 + ] + }, + { "id": "shelf", "category": "furniture", @@ -306,7 +965,7 @@ export const CATALOG_ITEMS: AssetInput[] = [ 1, 1.1000000000000003 ], - "attachTo": "wall-side" + "attachTo": "wall" }, { @@ -335,7 +994,7 @@ export const CATALOG_ITEMS: AssetInput[] = [ 1, 1.1000000000000003 ], - "attachTo": "wall-side" + "attachTo": "wall" }, { @@ -420,7 +1079,7 @@ export const CATALOG_ITEMS: AssetInput[] = [ 0.5, 0.5000000000000003 ], - "attachTo": "wall-side" + "attachTo": "wall" }, { @@ -757,7 +1416,7 @@ export const CATALOG_ITEMS: AssetInput[] = [ 1, 0.8999999999999999 ], - "attachTo": "wall-side" + "attachTo": "wall" }, { @@ -1209,7 +1868,7 @@ export const CATALOG_ITEMS: AssetInput[] = [ 1, 0.1 ], - "attachTo": "wall-side" + "attachTo": "wall" }, { @@ -1378,7 +2037,7 @@ export const CATALOG_ITEMS: AssetInput[] = [ 1, 0.2 ], - "attachTo": "wall-side" + "attachTo": "wall" }, { @@ -2109,439 +2768,60 @@ export const CATALOG_ITEMS: AssetInput[] = [ 0.5000000000000001 ] }, + { - id: "couch-medium", - category: "furniture", - name: "Couch", - thumbnail: "/items/couch-medium/thumbnail.webp", - src: "/items/couch-medium/model.glb", - scale: [0.35, 0.35, 0.35], - dimensions: [2, 0.8, 1], + "id": "window-square", + "category": "window", + "name": "Window-square", + "thumbnail": "/items/window-square/thumbnail.webp", + "src": "/items/window-square/model.glb", + "offset": [ + 0, + 0.7200000000000002, + 0 + ], + "scale": [ + 0.5, + 0.5, + 0.5 + ], + "rotation": [ + 0, + 3.141592653589793, + 0 + ], + "dimensions": [ + 0.9999999999999992, + 1.5, + 0.30000000000000004 + ], + "attachTo": "wall" }, { - id: "couch-small", - category: "furniture", - name: "Small Couch", - thumbnail: "/items/couch-small/thumbnail.webp", - src: "/items/couch-small/model.glb", - scale: [0.35, 0.35, 0.35], - dimensions: [1, 0.8, 1], - }, - { - id: "desk", - category: "furniture", - name: "Desk", - thumbnail: "/items/desk/thumbnail.webp", - src: "/items/desk/model.glb", - scale: [1, 1, 1], - dimensions: [4, 2, 2], - }, - { - id: "table", - category: "furniture", - name: "Table", - thumbnail: "/items/table/thumbnail.webp", - src: "/items/table/model.glb", - scale: [1, 1, 1], - rotation: [0, Math.PI / 2, 0], - dimensions: [6, 2, 3], - }, - { - id: "fence", - category: "outdoor", - name: "Fence", - thumbnail: "/items/fence/thumbnail.webp", - src: "/items/fence/model.glb", - scale: [0.8, 0.8, 0.8], - offset: [0, 0, -0.12], - rotation: [0, Math.PI, 0], - dimensions: [6, 2, 1], - }, - { - id: "parking-spot", - category: "outdoor", - name: "Parking Spot", - thumbnail: "/items/parking-spot/thumbnail.webp", - src: "/items/parking-spot/model.glb", - scale: [1, 1, 1], - offset: [0, 0, 0], - rotation: [0, Math.PI, 0], - dimensions: [12, 2, 6], - }, - { - id: "hedge", - category: "outdoor", - name: "Hedge", - thumbnail: "/items/hedge/thumbnail.webp", - src: "/items/hedge/model.glb", - scale: [1, 1, 1], - offset: [0, 0, 0], - rotation: [0, Math.PI, 0], - dimensions: [4, 2, 3], - }, - { - id: "tree", - category: "outdoor", - name: "Tree", - thumbnail: "/items/tree/thumbnail.webp", - src: "/items/tree/model.glb", - scale: [1, 1, 1], - offset: [0, 0, 0], - rotation: [0, Math.PI, 0], - dimensions: [2, 2, 2], - }, - { - id: "ceiling-light", - category: "appliance", - name: "Ceiling Light", - thumbnail: "/items/ceiling-light/thumbnail.webp", - src: "/items/ceiling-light/model.glb", - scale: [1, 1, 1], - rotation: [0, 0, 0], - dimensions: [1, 2, 1], - attachTo: "ceiling", - }, - { - id: "ceiling-fan", - category: "appliance", - name: "Ceiling Fan", - thumbnail: "/items/ceiling-fan/thumbnail.webp", - src: "/items/ceiling-fan/model.glb", - scale: [0.003, 0.003, 0.003], - offset: [0, -0.62, 0], - rotation: [0, 0, 0], - dimensions: [1, 2, 1], - attachTo: "ceiling", - }, - { - id: "rectangular-ceiling-light", - category: "appliance", - name: "Rectangular Ceiling Light", - thumbnail: "/items/rectangular-ceiling-light/thumbnail.webp", - src: "/items/rectangular-ceiling-light/model.glb", - scale: [0.04, 0.04, 0.04], - offset: [0.2, -0.1, 0.95], - rotation: [0, Math.PI / 2, 0], - dimensions: [2, 2, 4], - attachTo: "ceiling", - }, - { - id: "circular-ceiling-light", - category: "appliance", - name: "Circular Ceiling Light", - thumbnail: "/items/circular-ceiling-light/thumbnail.webp", - src: "/items/circular-ceiling-light/model.glb", - scale: [1, 1, 1], - offset: [0, -0.1, 0], - rotation: [0, 0, 0], - dimensions: [1, 2, 1], - attachTo: "ceiling", - }, - { - id: "smoke-detector", - category: "appliance", - name: "Smoke Detector", - thumbnail: "/items/smoke-detector/thumbnail.webp", - src: "/items/smoke-detector/model.glb", - scale: [1, 1, 1], - offset: [0, 0, 0], - rotation: [Math.PI, 0, 0], - dimensions: [1, 2, 1], - attachTo: "ceiling", - }, - { - id: "sprinkler", - category: "appliance", - name: "Sprinkler", - thumbnail: "/items/sprinkler/thumbnail.webp", - src: "/items/sprinkler/model.glb", - scale: [3, 3, 3], - offset: [0, 0, 0], - rotation: [Math.PI, 0, 0], - dimensions: [1, 2, 1], - attachTo: "ceiling", - }, - { - id: "exit-sign", - category: "appliance", - name: "Exit Sign", - thumbnail: "/items/exit-sign/thumbnail.webp", - src: "/items/exit-sign/model.glb", - scale: [0.5, 0.5, 0.5], - offset: [0, -0.3, 0], - rotation: [0, 0, 0], - dimensions: [1, 2, 1], - attachTo: "ceiling", - }, - { - id: "wall-art-06", - category: "furniture", - name: "Wall Art", - thumbnail: "/items/wall-art-06/thumbnail.webp", - src: "/items/wall-art-06/model.glb", - offset: [0, 0.5, 0], - scale: [1, 1, 1], - rotation: [0, Math.PI, 0], - dimensions: [1, 1, 0.1], - attachTo: "wall-side", - }, - { - id: "flat-screen-tv", - category: "furniture", - name: "Flat Screen TV", - thumbnail: "/items/flat-screen-tv/thumbnail.webp", - src: "/items/flat-screen-tv/model.glb", - offset: [-0.2, 1, 0.15], - scale: [0.42, 0.42, 0.42], - rotation: [0, 0, 0], - dimensions: [4, 2, 1], - attachTo: "wall-side", - }, - { - id: "air-conditioner", - category: "appliance", - name: "Air Conditioner", - thumbnail: "/items/air-conditioner/thumbnail.webp", - src: "/items/air-conditioner/model.glb", - offset: [0, 2, 0.3], - scale: [0.0015, 0.0015, 0.0015], - rotation: [0, 0, 0], - dimensions: [3, 2, 1], - attachTo: "wall-side", - }, - { - id: "ac-block", - category: "appliance", - name: "AC Block", - thumbnail: "/items/ac-block/thumbnail.webp", - src: "/items/ac-block/model.glb", - offset: [0, 0, 0], - scale: [1, 1, 1], - rotation: [0, Math.PI, 0], - dimensions: [3, 2, 3], - }, - { - id: "fire-extinguisher", - category: "appliance", - name: "Fire extinguisher", - thumbnail: "/items/fire-extinguisher/thumbnail.webp", - src: "/items/fire-extinguisher/model.glb", - offset: [0, 1.5, 0.22], - scale: [0.8, 0.8, 0.8], - rotation: [0, -Math.PI / 2, 0], - dimensions: [1, 2, 1], - attachTo: "wall-side", - }, - { - id: "fire-alarm", - category: "appliance", - name: "Fire alarm ", - thumbnail: "/items/fire-alarm/thumbnail.webp", - src: "/items/fire-alarm/model.glb", - offset: [0, 1, 0.14], - scale: [0.15, 0.15, 0.15], - rotation: [0, 0, 0], - dimensions: [1, 2, 1], - attachTo: "wall-side", - }, - { - id: "fire-detector", - category: "appliance", - name: "Fire detector ", - thumbnail: "/items/fire-detector/thumbnail.webp", - src: "/items/fire-detector/model.glb", - offset: [0, 1.1, 0.14], - scale: [2, 2, 2], - rotation: [0, 0, 0], - dimensions: [1, 2, 1], - attachTo: "wall-side", - }, - { - id: "alarm-keypad", - category: "appliance", - name: "Alarm keypad", - thumbnail: "/items/alarm-keypad/thumbnail.webp", - src: "/items/alarm-keypad/model.glb", - offset: [0, 1.2, 0.1], - scale: [2, 2, 2], - rotation: [Math.PI / 2, 0, 0], - dimensions: [1, 2, 1], - attachTo: "wall-side", - }, - { - id: "thermostat", - category: "appliance", - name: "Thermostat", - thumbnail: "/items/thermostat/thumbnail.webp", - src: "/items/thermostat/model.glb", - offset: [0, 1.2, 0.1], - scale: [5, 5, 5], - rotation: [0, 0, 0], - dimensions: [1, 2, 1], - attachTo: "wall-side", - }, - { - id: "electric-panel", - category: "appliance", - name: "Electric panel", - thumbnail: "/items/electric-panel/thumbnail.webp", - src: "/items/electric-panel/model.glb", - offset: [0, 0.4, 0.16], - scale: [1, 1, 1], - rotation: [0, 0, 0], - dimensions: [2, 1, 1], - attachTo: "wall-side", - }, - { - id: "air-conditioner-block", - category: "appliance", - name: "Air Conditioner Block", - thumbnail: "/items/air-conditioner-block/thumbnail.webp", - src: "/items/air-conditioner-block/model.glb", - offset: [0, 0.5, -0.06], - scale: [1, 1, 1], - rotation: [0, 0, 0], - dimensions: [2, 2, 2], - attachTo: "wall-side", - }, - { - id: "kitchen-fridge", - category: "kitchen", - name: "Kitchen Fridge", - thumbnail: "/items/kitchen-fridge/thumbnail.webp", - src: "/items/kitchen-fridge/model.glb", - offset: [0, 0, 0.0], - scale: [0.7, 0.7, 0.7], - rotation: [0, 0, 0], - dimensions: [2, 2, 2], - }, - { - id: "freezer", - category: "kitchen", - name: "Freezer", - thumbnail: "/items/freezer/thumbnail.webp", - src: "/items/freezer/model.glb", - offset: [-0.43, 0, 0.25], - scale: [1.8, 1.8, 1.8], - rotation: [0, Math.PI, 0], - dimensions: [2, 1, 1], - }, - { - id: "wall-sink", - category: "bathroom", - name: "Wall Sink", - thumbnail: "/items/wall-sink/thumbnail.webp", - src: "/items/wall-sink/model.glb", - offset: [0, 0, 0.25], - scale: [0.7, 0.7, 0.7], - rotation: [0, 0, 0], - dimensions: [2, 1, 1], - attachTo: "wall-side", - }, - { - id: "sink-cabinet", - category: "kitchen", - name: "Sink with cabinet", - thumbnail: "/items/sink-cabinet/thumbnail.webp", - src: "/items/sink-cabinet/model.glb", - offset: [0, 0.5, 0], - scale: [1.4, 1.4, 1.4], - rotation: [0, 0, 0], - dimensions: [4, 2, 1], - }, - { - id: "toilet", - category: "bathroom", - name: "Toilet", - thumbnail: "/items/toilet/thumbnail.webp", - src: "/items/toilet/model.glb", - offset: [0, 0, -0.1], - scale: [0.005, 0.005, 0.005], - rotation: [0, -Math.PI / 4, 0], - dimensions: [1, 2, 1], - }, - { - id: "window-small", - category: "window", - name: "Window", - thumbnail: "/items/window-small/thumbnail.webp", - src: "/items/window-small/model.glb", - offset: [0, 0.15, 0], - scale: [1, 1, 1], - rotation: [0, Math.PI, 0], - dimensions: [1, 1.5, 0.1], - attachTo: "wall", - }, - { - id: "window-small-2", - category: "window", - name: "Window", - thumbnail: "/items/window-small-2/thumbnail.webp", - src: "/items/window-small-2/model.glb", - offset: [0, 0, 0], - scale: [1, 1, 1], - rotation: [0, Math.PI, 0], - dimensions: [1, 1, 0.1], - attachTo: "wall", - }, - { - id: "window-round", - category: "window", - name: "Window", - thumbnail: "/items/window-round/thumbnail.webp", - src: "/items/window-round/model.glb", - offset: [0, 0.5, 0], - scale: [1, 1, 1], - rotation: [0, Math.PI, 0], - dimensions: [2, 1, 1], - attachTo: "wall", - }, - { - id: "window1-black-open-1731", - category: "window", - name: "Window", - thumbnail: "/items/window1-black-open-1731/thumbnail.webp", - src: "/items/window1-black-open-1731/model.glb", - offset: [0, 0.5, 0], - scale: [0.4, 0.4, 0.4], - rotation: [0, 0, 0], - dimensions: [2, 1, 1], - attachTo: "wall", - }, - { - id: "doorway-front", - category: "door", - name: "Door", - thumbnail: "/items/doorway-front/thumbnail.webp", - src: "/items/doorway-front/model.glb", - offset: [0, 0, 0], - scale: [2, 2, 2], - rotation: [0, Math.PI, 0], - dimensions: [2, 1, 1], - attachTo: "wall", - }, - { - id: "door", - category: "door", - name: "Door", - thumbnail: "/items/door/thumbnail.webp", - src: "/items/door/model.glb", - offset: [0, 0, 0], - scale: [0.2, 0.2, 0.2], - rotation: [0, Math.PI, 0], - dimensions: [2, 1, 1], - attachTo: "wall", - }, - { - id: "door-with-bar", - category: "door", - name: "Door with bar", - thumbnail: "/items/door-with-bar/thumbnail.webp", - src: "/items/door-with-bar/model.glb", - offset: [0, 0, 0], - scale: [0.65, 0.65, 0.65], - rotation: [0, Math.PI, 0], - dimensions: [2, 1, 1], - attachTo: "wall", + "id": "couch-medium", + "category": "furniture", + "name": "Couch", + "thumbnail": "/items/couch-medium/thumbnail.webp", + "src": "/items/couch-medium/model.glb", + "scale": [ + 0.39, + 0.39, + 0.39 + ], + "offset": [ + 0, + 0, + 0.03 + ], + "rotation": [ + 0, + 0, + 0 + ], + "dimensions": [ + 2, + 0.8, + 1 + ] }, ]; diff --git a/apps/editor/public/items/ac-block/thumbnail.webp b/apps/editor/public/items/ac-block/thumbnail.webp index fcb856a7..f9682d2d 100644 Binary files a/apps/editor/public/items/ac-block/thumbnail.webp and b/apps/editor/public/items/ac-block/thumbnail.webp differ diff --git a/apps/editor/public/items/alarm-keypad/thumbnail.webp b/apps/editor/public/items/alarm-keypad/thumbnail.webp index 4ecffb60..4255824a 100644 Binary files a/apps/editor/public/items/alarm-keypad/thumbnail.webp and b/apps/editor/public/items/alarm-keypad/thumbnail.webp differ diff --git a/apps/editor/public/items/ceiling-fan/model.glb b/apps/editor/public/items/ceiling-fan/model.glb index dfb99045..f8f3724f 100644 Binary files a/apps/editor/public/items/ceiling-fan/model.glb and b/apps/editor/public/items/ceiling-fan/model.glb differ diff --git a/apps/editor/public/items/ceiling-fan/thumbnail.webp b/apps/editor/public/items/ceiling-fan/thumbnail.webp index 5761fe58..bcf22a67 100644 Binary files a/apps/editor/public/items/ceiling-fan/thumbnail.webp and b/apps/editor/public/items/ceiling-fan/thumbnail.webp differ diff --git a/apps/editor/public/items/ceiling-lamp/model.glb b/apps/editor/public/items/ceiling-lamp/model.glb new file mode 100644 index 00000000..0cd30c65 Binary files /dev/null and b/apps/editor/public/items/ceiling-lamp/model.glb differ diff --git a/apps/editor/public/items/ceiling-lamp/thumbnail.webp b/apps/editor/public/items/ceiling-lamp/thumbnail.webp new file mode 100644 index 00000000..b1916bb9 Binary files /dev/null and b/apps/editor/public/items/ceiling-lamp/thumbnail.webp differ diff --git a/apps/editor/public/items/door/model.glb b/apps/editor/public/items/door/model.glb index 5c3ca143..2021c1a8 100644 Binary files a/apps/editor/public/items/door/model.glb and b/apps/editor/public/items/door/model.glb differ diff --git a/apps/editor/public/items/door/thumbnail.webp b/apps/editor/public/items/door/thumbnail.webp index 6cf99bf0..e66e49de 100644 Binary files a/apps/editor/public/items/door/thumbnail.webp and b/apps/editor/public/items/door/thumbnail.webp differ diff --git a/apps/editor/public/items/electric-panel/thumbnail.webp b/apps/editor/public/items/electric-panel/thumbnail.webp index 21003a9e..65a5db83 100644 Binary files a/apps/editor/public/items/electric-panel/thumbnail.webp and b/apps/editor/public/items/electric-panel/thumbnail.webp differ diff --git a/apps/editor/public/items/exit-sign/thumbnail.webp b/apps/editor/public/items/exit-sign/thumbnail.webp index 546d6b56..9c51f2b1 100644 Binary files a/apps/editor/public/items/exit-sign/thumbnail.webp and b/apps/editor/public/items/exit-sign/thumbnail.webp differ diff --git a/apps/editor/public/items/fence/model.glb b/apps/editor/public/items/fence/model.glb index 4a354cf2..d63bdf43 100644 Binary files a/apps/editor/public/items/fence/model.glb and b/apps/editor/public/items/fence/model.glb differ diff --git a/apps/editor/public/items/fence/thumbnail.webp b/apps/editor/public/items/fence/thumbnail.webp index 78c5bdc7..d7ce6779 100644 Binary files a/apps/editor/public/items/fence/thumbnail.webp and b/apps/editor/public/items/fence/thumbnail.webp differ diff --git a/apps/editor/public/items/fire-detector/thumbnail.webp b/apps/editor/public/items/fire-detector/thumbnail.webp index 78f74cad..051d0289 100644 Binary files a/apps/editor/public/items/fire-detector/thumbnail.webp and b/apps/editor/public/items/fire-detector/thumbnail.webp differ diff --git a/apps/editor/public/items/fire-extinguisher/thumbnail.webp b/apps/editor/public/items/fire-extinguisher/thumbnail.webp index 61473e54..37a37d57 100644 Binary files a/apps/editor/public/items/fire-extinguisher/thumbnail.webp and b/apps/editor/public/items/fire-extinguisher/thumbnail.webp differ diff --git a/apps/editor/public/items/glass-door/model.glb b/apps/editor/public/items/glass-door/model.glb new file mode 100644 index 00000000..22e441f5 Binary files /dev/null and b/apps/editor/public/items/glass-door/model.glb differ diff --git a/apps/editor/public/items/glass-door/thumbnail.webp b/apps/editor/public/items/glass-door/thumbnail.webp new file mode 100644 index 00000000..94b3368a Binary files /dev/null and b/apps/editor/public/items/glass-door/thumbnail.webp differ diff --git a/apps/editor/public/items/hydrant/model.glb b/apps/editor/public/items/hydrant/model.glb new file mode 100644 index 00000000..61a5c8b8 Binary files /dev/null and b/apps/editor/public/items/hydrant/model.glb differ diff --git a/apps/editor/public/items/hydrant/thumbnail.webp b/apps/editor/public/items/hydrant/thumbnail.webp new file mode 100644 index 00000000..90123d7c Binary files /dev/null and b/apps/editor/public/items/hydrant/thumbnail.webp differ diff --git a/apps/editor/public/items/lounge-chair/model.glb b/apps/editor/public/items/lounge-chair/model.glb new file mode 100644 index 00000000..ae7212dc Binary files /dev/null and b/apps/editor/public/items/lounge-chair/model.glb differ diff --git a/apps/editor/public/items/lounge-chair/thumbnail.webp b/apps/editor/public/items/lounge-chair/thumbnail.webp new file mode 100644 index 00000000..dd38a456 Binary files /dev/null and b/apps/editor/public/items/lounge-chair/thumbnail.webp differ diff --git a/apps/editor/public/items/palm/model.glb b/apps/editor/public/items/palm/model.glb new file mode 100644 index 00000000..e08d4628 Binary files /dev/null and b/apps/editor/public/items/palm/model.glb differ diff --git a/apps/editor/public/items/palm/thumbnail.webp b/apps/editor/public/items/palm/thumbnail.webp new file mode 100644 index 00000000..3a62fe4e Binary files /dev/null and b/apps/editor/public/items/palm/thumbnail.webp differ diff --git a/apps/editor/public/items/parking-spot/thumbnail.webp b/apps/editor/public/items/parking-spot/thumbnail.webp index d9920b0e..ecee8d45 100644 Binary files a/apps/editor/public/items/parking-spot/thumbnail.webp and b/apps/editor/public/items/parking-spot/thumbnail.webp differ diff --git a/apps/editor/public/items/patio-umbrella/model.glb b/apps/editor/public/items/patio-umbrella/model.glb new file mode 100644 index 00000000..82888478 Binary files /dev/null and b/apps/editor/public/items/patio-umbrella/model.glb differ diff --git a/apps/editor/public/items/patio-umbrella/thumbnail.webp b/apps/editor/public/items/patio-umbrella/thumbnail.webp new file mode 100644 index 00000000..d9f34e87 Binary files /dev/null and b/apps/editor/public/items/patio-umbrella/thumbnail.webp differ diff --git a/apps/editor/public/items/piano/Fireplace_13.glb b/apps/editor/public/items/piano/Fireplace_13.glb new file mode 100644 index 00000000..4d70f3ca Binary files /dev/null and b/apps/editor/public/items/piano/Fireplace_13.glb differ diff --git a/apps/editor/public/items/rectangular-ceiling-light/Screenshot 2026-01-23 at 12.15.00.png b/apps/editor/public/items/rectangular-ceiling-light/Screenshot 2026-01-23 at 12.15.00.png new file mode 100644 index 00000000..edfdc6af Binary files /dev/null and b/apps/editor/public/items/rectangular-ceiling-light/Screenshot 2026-01-23 at 12.15.00.png differ diff --git a/apps/editor/public/items/shower-rug/model.glb b/apps/editor/public/items/shower-rug/model.glb new file mode 100644 index 00000000..f11627e7 Binary files /dev/null and b/apps/editor/public/items/shower-rug/model.glb differ diff --git a/apps/editor/public/items/shower-rug/thumbnail.webp b/apps/editor/public/items/shower-rug/thumbnail.webp new file mode 100644 index 00000000..8057513b Binary files /dev/null and b/apps/editor/public/items/shower-rug/thumbnail.webp differ diff --git a/apps/editor/public/items/smoke-detector/thumbnail.webp b/apps/editor/public/items/smoke-detector/thumbnail.webp index 7a7d8390..ffeb4af2 100644 Binary files a/apps/editor/public/items/smoke-detector/thumbnail.webp and b/apps/editor/public/items/smoke-detector/thumbnail.webp differ diff --git a/apps/editor/public/items/sprinkler/thumbnail.webp b/apps/editor/public/items/sprinkler/thumbnail.webp index 8c0b0682..b40c64e1 100644 Binary files a/apps/editor/public/items/sprinkler/thumbnail.webp and b/apps/editor/public/items/sprinkler/thumbnail.webp differ diff --git a/apps/editor/public/items/sunbed/model.glb b/apps/editor/public/items/sunbed/model.glb new file mode 100644 index 00000000..abefea0e Binary files /dev/null and b/apps/editor/public/items/sunbed/model.glb differ diff --git a/apps/editor/public/items/sunbed/thumbnail.webp b/apps/editor/public/items/sunbed/thumbnail.webp new file mode 100644 index 00000000..37969d43 Binary files /dev/null and b/apps/editor/public/items/sunbed/thumbnail.webp differ diff --git a/apps/editor/public/items/suspended-fireplace/model.glb b/apps/editor/public/items/suspended-fireplace/model.glb new file mode 100644 index 00000000..7d813e4d Binary files /dev/null and b/apps/editor/public/items/suspended-fireplace/model.glb differ diff --git a/apps/editor/public/items/suspended-fireplace/thumbnail.webp b/apps/editor/public/items/suspended-fireplace/thumbnail.webp new file mode 100644 index 00000000..137955b4 Binary files /dev/null and b/apps/editor/public/items/suspended-fireplace/thumbnail.webp differ diff --git a/apps/editor/public/items/thermostat/thumbnail.webp b/apps/editor/public/items/thermostat/thumbnail.webp index 220e9b6d..8a5750f2 100644 Binary files a/apps/editor/public/items/thermostat/thumbnail.webp and b/apps/editor/public/items/thermostat/thumbnail.webp differ diff --git a/apps/editor/public/items/window-large/model.glb b/apps/editor/public/items/window-large/model.glb new file mode 100644 index 00000000..f958bf29 Binary files /dev/null and b/apps/editor/public/items/window-large/model.glb differ diff --git a/apps/editor/public/items/window-large/thumbnail.webp b/apps/editor/public/items/window-large/thumbnail.webp new file mode 100644 index 00000000..800b838c Binary files /dev/null and b/apps/editor/public/items/window-large/thumbnail.webp differ diff --git a/apps/editor/public/items/window-rectangle/model.glb b/apps/editor/public/items/window-rectangle/model.glb new file mode 100644 index 00000000..549bda3f Binary files /dev/null and b/apps/editor/public/items/window-rectangle/model.glb differ diff --git a/apps/editor/public/items/window-rectangle/thumbnail.webp b/apps/editor/public/items/window-rectangle/thumbnail.webp new file mode 100644 index 00000000..b52fd06c Binary files /dev/null and b/apps/editor/public/items/window-rectangle/thumbnail.webp differ diff --git a/apps/editor/public/items/window-square/model.glb b/apps/editor/public/items/window-square/model.glb new file mode 100644 index 00000000..08945753 Binary files /dev/null and b/apps/editor/public/items/window-square/model.glb differ diff --git a/apps/editor/public/items/window-square/thumbnail.webp b/apps/editor/public/items/window-square/thumbnail.webp new file mode 100644 index 00000000..7627f6ad Binary files /dev/null and b/apps/editor/public/items/window-square/thumbnail.webp differ