From d2bdee9795cc7b9329b3a9541524a9bee3e5aa4e Mon Sep 17 00:00:00 2001 From: wass08 Date: Fri, 30 Jan 2026 11:06:08 +0900 Subject: [PATCH] items catalog --- .../ui/item-catalog/catalog-items.tsx | 2249 +++++++++-------- .../public/items/patio-umbrella/model.glb | Bin 10056 -> 11932 bytes .../items/patio-umbrella/thumbnail.webp | Bin 5282 -> 2626 bytes 3 files changed, 1127 insertions(+), 1122 deletions(-) diff --git a/apps/editor/components/ui/item-catalog/catalog-items.tsx b/apps/editor/components/ui/item-catalog/catalog-items.tsx index e79d7505..b59c192e 100644 --- a/apps/editor/components/ui/item-catalog/catalog-items.tsx +++ b/apps/editor/components/ui/item-catalog/catalog-items.tsx @@ -1,10 +1,69 @@ import { AssetInput, ItemNode } from "@pascal-app/core"; export const CATALOG_ITEMS: AssetInput[] = [ + + { + "id": "pillar", + "category": "outdoor", + "name": "Pillar", + "thumbnail": "/items/pillar/thumbnail.webp", + "src": "/items/pillar/model.glb", + "scale": [ + 1, + 1, + 1 + ], + "offset": [ + 0, + 0, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "dimensions": [ + 0.5, + 1.3, + 0.5 + ] + }, + + + + { + "id": "high-fence", + "category": "outdoor", + "name": "High Fence", + "thumbnail": "/items/high-fence/thumbnail.webp", + "src": "/items/high-fence/model.glb", + "scale": [ + 1, + 1, + 1 + ], + "offset": [ + 0, + 0.01, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "dimensions": [ + 4, + 4.1, + 0.5 + ] + }, + { "id": "medium-fence", "category": "outdoor", - "name": "medium-fence", + "name": "Medium Fence", "thumbnail": "/items/medium-fence/thumbnail.webp", "src": "/items/medium-fence/model.glb", "scale": [ @@ -30,11 +89,11 @@ export const CATALOG_ITEMS: AssetInput[] = [ }, { - "id": "pillar", + "id": "low-fence", "category": "outdoor", - "name": "pillar", - "thumbnail": "/items/pillar/thumbnail.webp", - "src": "/items/pillar/model.glb", + "name": "Low Fence", + "thumbnail": "/items/low-fence/thumbnail.webp", + "src": "/items/low-fence/model.glb", "scale": [ 1, 1, @@ -42,7 +101,7 @@ export const CATALOG_ITEMS: AssetInput[] = [ ], "offset": [ 0, - 0, + 0.01, 0 ], "rotation": [ @@ -51,129 +110,16 @@ export const CATALOG_ITEMS: AssetInput[] = [ 0 ], "dimensions": [ - 0.5, - 1.3, + 2, + 0.8, 0.5 ] }, - - { - "id": "patio-umbrella", - "category": "outdoor", - "name": "patio-umbrella", - "thumbnail": "/items/patio-umbrella/thumbnail.webp", - "src": "/items/patio-umbrella/model.glb", - "scale": [ - 0.96, - 0.96, - 0.96 - ], - "offset": [ - 0, - 0, - 0 - ], - "rotation": [ - 0, - 0, - 0 - ], - "dimensions": [ - 1, - 3, - 1 - ] - }, - - { - "id": "door-bar", - "category": "door", - "name": "door-bar", - "thumbnail": "/items/door-bar/thumbnail.webp", - "src": "/items/door-bar/model.glb", - "scale": [ - 1, - 1, - 1 - ], - "offset": [ - -0.48, - 0, - 0 - ], - "rotation": [ - 0, - 0, - 0 - ], - "dimensions": [ - 1.5, - 2.5, - 0.5 - ], - "attachTo": "wall" - }, - - { - "id": "column", - "category": "furniture", - "name": "column", - "thumbnail": "/items/column/thumbnail.webp", - "src": "/items/column/model.glb", - "scale": [ - 1, - 1, - 1 - ], - "offset": [ - 0, - 1.26, - 0 - ], - "rotation": [ - 0, - 0, - 0 - ], - "dimensions": [ - 0.5, - 2.6, - 0.5 - ] - }, - - { - "id": "stairs", - "category": "furniture", - "name": "stairs", - "thumbnail": "/items/stairs/thumbnail.webp", - "src": "/items/stairs/model.glb", - "scale": [ - 0.91, - 0.91, - 0.91 - ], - "offset": [ - 0, - 0.03, - 2.7 - ], - "rotation": [ - 0, - 0, - 0 - ], - "dimensions": [ - 1.5, - 3.7, - 5 - ] - }, - + { "id": "bush", "category": "outdoor", - "name": "bush", + "name": "Bush", "thumbnail": "/items/bush/thumbnail.webp", "src": "/items/bush/model.glb", "scale": [ @@ -198,66 +144,10 @@ export const CATALOG_ITEMS: AssetInput[] = [ ] }, - { - "id": "high-fence", - "category": "outdoor", - "name": "high-fence", - "thumbnail": "/items/high-fence/thumbnail.webp", - "src": "/items/high-fence/model.glb", - "scale": [ - 1, - 1, - 1 - ], - "offset": [ - 0, - 0.01, - 0 - ], - "rotation": [ - 0, - 0, - 0 - ], - "dimensions": [ - 4, - 4.1, - 0.5 - ] - }, - - { - "id": "low-fence", - "category": "outdoor", - "name": "low-fence", - "thumbnail": "/items/low-fence/thumbnail.webp", - "src": "/items/low-fence/model.glb", - "scale": [ - 1, - 1, - 1 - ], - "offset": [ - 0, - 0.01, - 0 - ], - "rotation": [ - 0, - 0, - 0 - ], - "dimensions": [ - 2, - 0.8, - 0.5 - ] - }, - { "id": "fir-tree", "category": "outdoor", - "name": "fir-tree", + "name": "Fir", "thumbnail": "/items/fir-tree/thumbnail.webp", "src": "/items/fir-tree/model.glb", "scale": [ @@ -285,7 +175,7 @@ export const CATALOG_ITEMS: AssetInput[] = [ { "id": "tree", "category": "outdoor", - "name": "tree", + "name": "Tree", "thumbnail": "/items/tree/thumbnail.webp", "src": "/items/tree/model.glb", "scale": [ @@ -310,10 +200,63 @@ export const CATALOG_ITEMS: AssetInput[] = [ ] }, + + { + id: "palm", + category: "outdoor", + name: "Palm", + thumbnail: "/items/palm/thumbnail.webp", + src: "/items/palm/model.glb", + scale: [0.37, 0.37, 0.37], + offset: [0, 0, 0.02], + rotation: [0, 0, 0], + dimensions: [1, 4.5, 1], + }, + + { + "id": "patio-umbrella", + "category": "outdoor", + "name": "Patio Umbrella", + "thumbnail": "/items/patio-umbrella/thumbnail.webp", + "src": "/items/patio-umbrella/model.glb", + "scale": [ + 1, + 1, + 1 + ], + "offset": [ + 0, + 0, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "dimensions": [ + 0.5, + 3.7, + 0.5 + ] + }, + + { + id: "sunbed", + category: "outdoor", + 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, 1.2, 1.5], + }, + { "id": "window-double", "category": "window", - "name": "Window-double", + "name": "Double Window", "thumbnail": "/items/window-double/thumbnail.webp", "src": "/items/window-double/model.glb", "scale": [ @@ -342,7 +285,7 @@ export const CATALOG_ITEMS: AssetInput[] = [ { "id": "window-simple", "category": "window", - "name": "Window-simple", + "name": "Simple Window", "thumbnail": "/items/window-simple/thumbnail.webp", "src": "/items/window-simple/model.glb", "scale": [ @@ -368,164 +311,11 @@ export const CATALOG_ITEMS: AssetInput[] = [ "attachTo": "wall" }, - - { - 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.1, 0.5], - }, - - { - id: "hydrant", - category: "appliance", - 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, 0.9, 1], - }, - - { - id: "sunbed", - category: "outdoor", - 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, 1.2, 1.5], - }, - - { - id: "palm", - category: "outdoor", - name: "palm", - thumbnail: "/items/palm/thumbnail.webp", - src: "/items/palm/model.glb", - scale: [0.37, 0.37, 0.37], - offset: [0, 0, 0.02], - rotation: [0, 0, 0], - dimensions: [1, 4.5, 1], - }, - - { - "id": "low-fence", - "category": "outdoor", - "name": "low-fence", - "thumbnail": "/items/low-fence/thumbnail.webp", - "src": "/items/low-fence/model.glb", - "scale": [ - 1, - 1, - 1 - ], - "offset": [ - 0, - 0.01, - 0 - ], - "rotation": [ - 0, - 0, - 0 - ], - "dimensions": [ - 2, - 0.8, - 0.5 - ] - }, - - { - 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, 1.1, 1.5], - }, - - { - 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.49, 0], - rotation: [Math.PI, 0, 0], - dimensions: [0.5, 0.5, 0.5], - 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.45, 0], - rotation: [0, 0, 0], - dimensions: [0.5, 0.5, 0.5], - attachTo: "ceiling", - }, - - { - id: "sprinkler", - category: "appliance", - name: "sprinkler", - thumbnail: "/items/sprinkler/thumbnail.webp", - src: "/items/sprinkler/model.glb", - scale: [1, 1, 1], - offset: [0, 0.45, 0], - rotation: [0, 0, 0], - dimensions: [0.5, 0.5, 0.5], - 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: [1, 1, 1], - attachTo: "ceiling", - }, - - { - id: "ceiling-fan", - category: "appliance", - name: "ceiling-fan", - thumbnail: "/items/ceiling-fan/thumbnail.webp", - src: "/items/ceiling-fan/model.glb", - scale: [1, 1, 1], - offset: [-0.12, 0.49, 0], - rotation: [0, 0, 0], - dimensions: [1, 0.5, 1.5], - attachTo: "ceiling", - }, { "id": "window-rectangle", "category": "window", - "name": "Window-rectangle", + "name": "Rectangle Window", "thumbnail": "/items/window-rectangle/thumbnail.webp", "src": "/items/window-rectangle/model.glb", "scale": [ @@ -551,10 +341,39 @@ export const CATALOG_ITEMS: AssetInput[] = [ "attachTo": "wall" }, + { + "id": "door-bar", + "category": "door", + "name": "Door with bar", + "thumbnail": "/items/door-bar/thumbnail.webp", + "src": "/items/door-bar/model.glb", + "scale": [ + 1, + 1, + 1 + ], + "offset": [ + -0.48, + 0, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "dimensions": [ + 1.5, + 2.5, + 0.5 + ], + "attachTo": "wall" + }, + { id: "glass-door", category: "door", - name: "glass-door", + name: "Glass Door", thumbnail: "/items/glass-door/thumbnail.webp", src: "/items/glass-door/model.glb", scale: [0.9, 0.9, 0.9], @@ -565,35 +384,38 @@ export const CATALOG_ITEMS: AssetInput[] = [ }, { - id: "door", - category: "door", - name: "door", - thumbnail: "/items/door/thumbnail.webp", - src: "/items/door/model.glb", - scale: [0.9, 0.9, 0.9], - offset: [-0.43, 0, 0], - rotation: [0, 0, 0], - dimensions: [1.5, 2.5, 0.4], - attachTo: "wall", - }, - - { - id: "thermostat", - category: "appliance", - name: "thermostat", - thumbnail: "/items/thermostat/thumbnail.webp", - src: "/items/thermostat/model.glb", - scale: [2.08, 2.1, 2.59], - offset: [0, 0, 0.01], - rotation: [0, 0, 0], - dimensions: [0.5, 0.5, 0.1], - attachTo: "wall-side", + "id": "door", + "category": "door", + "name": "Door", + "thumbnail": "/items/door/thumbnail.webp", + "src": "/items/door/model.glb", + "scale": [ + 0.79, + 0.79, + 0.79 + ], + "offset": [ + -0.43, + 0, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "dimensions": [ + 1.5, + 2, + 0.4 + ], + "attachTo": "wall" }, { id: "parking-spot", category: "outdoor", - name: "parking-spot", + name: "Parking Spot", thumbnail: "/items/parking-spot/thumbnail.webp", src: "/items/parking-spot/model.glb", scale: [0.9, 1, 0.78], @@ -602,134 +424,10 @@ export const CATALOG_ITEMS: AssetInput[] = [ dimensions: [5, 1, 2.5], }, - { - id: "ac-block", - category: "appliance", - name: "ac-block", - thumbnail: "/items/ac-block/thumbnail.webp", - src: "/items/ac-block/model.glb", - scale: [0.79, 0.79, 0.79], - offset: [0, 0, 0], - rotation: [0, 0, 0], - dimensions: [1.1, 1, 1.1], - }, - - { - id: "fire-detector", - category: "appliance", - name: "fire-detector", - thumbnail: "/items/fire-detector/thumbnail.webp", - src: "/items/fire-detector/model.glb", - scale: [0.9, 1.4, 0.7], - offset: [0.02, 0.05, 0], - rotation: [0, 0, 0], - dimensions: [0.5, 0.5, 0.3], - attachTo: "wall", - }, - - { - id: "exit-sign", - category: "appliance", - 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: [1, 0.5, 0.3], - attachTo: "wall-side", - }, - - { - id: "electric-panel", - category: "appliance", - name: "electric-panel", - thumbnail: "/items/electric-panel/thumbnail.webp", - src: "/items/electric-panel/model.glb", - scale: [0.61, 0.74, 0.7], - offset: [0, 0, 0.06], - rotation: [0, 0, 0], - dimensions: [0.5, 1, 0.3], - attachTo: "wall-side", - }, - - { - id: "alarm-keypad", - category: "appliance", - 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.5, 0.1, 0.5], - }, - - { - id: "shelf", - category: "furniture", - name: "shelf", - thumbnail: "/items/shelf/thumbnail.webp", - src: "/items/shelf/model.glb", - scale: [1, 1, 1], - offset: [0, 0.1, 0.01], - rotation: [0, 0, 0], - dimensions: [1, 0.5, 0.7], - attachTo: "wall-side", - }, - - { - id: "books", - category: "furniture", - name: "books", - thumbnail: "/items/books/thumbnail.webp", - src: "/items/books/model.glb", - scale: [1, 1, 1], - offset: [-0.08, 0, 0.02], - rotation: [0, 0, 0], - dimensions: [0.5, 0.3, 0.5], - }, - - { - id: "trash-bin", - category: "furniture", - name: "trash-bin", - thumbnail: "/items/trash-bin/thumbnail.webp", - src: "/items/trash-bin/model.glb", - scale: [1, 1, 1], - offset: [0, 0, 0], - rotation: [0, 0, 0], - dimensions: [0.5, 0.6, 0.5], - }, - - { - id: "skate", - category: "outdoor", - name: "skate", - thumbnail: "/items/skate/thumbnail.webp", - src: "/items/skate/model.glb", - scale: [1, 1, 1], - offset: [0, 0, 0], - rotation: [0, 0, 0], - dimensions: [1, 0.2, 0.5], - }, - - { - id: "toy", - category: "furniture", - name: "toy", - thumbnail: "/items/toy/thumbnail.webp", - src: "/items/toy/model.glb", - scale: [1, 1, 1], - offset: [0, 0, 0], - rotation: [0, 0, 0], - dimensions: [0.5, 0.5, 0.5], - }, - { id: "outdoor-playhouse", category: "outdoor", - name: "outdoor-playhouse", + name: "Outdoor Playhouse", thumbnail: "/items/outdoor-playhouse/thumbnail.webp", src: "/items/outdoor-playhouse/model.glb", scale: [1, 1, 1], @@ -738,10 +436,22 @@ export const CATALOG_ITEMS: AssetInput[] = [ dimensions: [0.5, 0.5, 1], }, + { + id: "skate", + category: "outdoor", + name: "Skate", + thumbnail: "/items/skate/thumbnail.webp", + src: "/items/skate/model.glb", + scale: [1, 1, 1], + offset: [0, 0, 0], + rotation: [0, 0, 0], + dimensions: [1, 0.2, 0.5], + }, + { id: "scooter", category: "outdoor", - name: "scooter", + name: "Scooter", thumbnail: "/items/scooter/thumbnail.webp", src: "/items/scooter/model.glb", scale: [1, 1, 1], @@ -753,7 +463,7 @@ export const CATALOG_ITEMS: AssetInput[] = [ { id: "basket-hoop", category: "outdoor", - name: "basket-hoop", + name: "Basket Hoop", thumbnail: "/items/basket-hoop/thumbnail.webp", src: "/items/basket-hoop/model.glb", scale: [1, 1, 1], @@ -762,34 +472,119 @@ export const CATALOG_ITEMS: AssetInput[] = [ dimensions: [1, 1.8, 1], }, + { - id: "guitar", - category: "furniture", - name: "guitar", - thumbnail: "/items/guitar/thumbnail.webp", - src: "/items/guitar/model.glb", + id: "ball", + category: "outdoor", + name: "Ball", + thumbnail: "/items/ball/thumbnail.webp", + src: "/items/ball/model.glb", scale: [1, 1, 1], - offset: [0, 0.32, 0], + offset: [0, 0.12, 0], rotation: [0, 0, 0], - dimensions: [0.5, 1.2, 0.5], + dimensions: [0.5, 0.3, 0.5], }, { - id: "tv-stand", - category: "furniture", - name: "tv-stand", - thumbnail: "/items/tv-stand/thumbnail.webp", - src: "/items/tv-stand/model.glb", + id: "wine-bottle", + category: "kitchen", + name: "Wine Bottle", + thumbnail: "/items/wine-bottle/thumbnail.webp", + src: "/items/wine-bottle/model.glb", scale: [1, 1, 1], - offset: [0, 0.21, 0], + offset: [-0.05, 0, 0.01], rotation: [0, 0, 0], - dimensions: [2, 0.4, 0.5], + dimensions: [0.5, 0.4, 0.5], + }, + + { + id: "fruits", + category: "kitchen", + name: "Fruits", + thumbnail: "/items/fruits/thumbnail.webp", + src: "/items/fruits/model.glb", + scale: [1, 1, 1], + offset: [0, 0, 0], + rotation: [0, 0, 0], + dimensions: [0.5, 0.3, 0.5], + }, + + { + id: "cutting-board", + category: "kitchen", + name: "Cutting Board", + thumbnail: "/items/cutting-board/thumbnail.webp", + src: "/items/cutting-board/model.glb", + scale: [1, 1, 1], + offset: [0, 0, 0], + rotation: [0, 0, 0], + dimensions: [0.5, 0.1, 0.5], + }, + + { + id: "frying-pan", + category: "kitchen", + name: "Frying Pan", + thumbnail: "/items/frying-pan/thumbnail.webp", + src: "/items/frying-pan/model.glb", + scale: [1, 1, 1], + offset: [0, 0, 0], + rotation: [0, 0, 0], + dimensions: [0.5, 0.1, 1], + }, + + { + id: "kitchen-utensils", + category: "kitchen", + name: "Kitchen Utensils", + thumbnail: "/items/kitchen-utensils/thumbnail.webp", + src: "/items/kitchen-utensils/model.glb", + scale: [1, 1, 1], + offset: [0, 0, 0], + rotation: [0, 0, 0], + dimensions: [0.5, 0.5, 0.5], + }, + + { + id: "microwave", + category: "kitchen", + name: "Microwave", + thumbnail: "/items/microwave/thumbnail.webp", + src: "/items/microwave/model.glb", + scale: [1, 1, 1], + offset: [0, 0, -0.03], + rotation: [0, 0, 0], + dimensions: [1, 0.3, 0.5], + }, + + { + id: "stove", + category: "kitchen", + name: "Stove", + thumbnail: "/items/stove/thumbnail.webp", + src: "/items/stove/model.glb", + scale: [1, 1, 1], + offset: [0, 0, -0.05], + rotation: [0, 0, 0], + dimensions: [1, 1, 1], + }, + + { + id: "fridge", + category: "kitchen", + name: "Fridge", + thumbnail: "/items/fridge/thumbnail.webp", + src: "/items/fridge/model.glb", + scale: [1, 1, 1], + offset: [0.01, 0, -0.05], + rotation: [0, 0, 0], + dimensions: [1, 2, 1], }, { id: "hood", category: "kitchen", - name: "hood", + name: "Hood", thumbnail: "/items/hood/thumbnail.webp", src: "/items/hood/model.glb", scale: [1, 1, 1], @@ -802,7 +597,7 @@ export const CATALOG_ITEMS: AssetInput[] = [ { id: "kitchen-shelf", category: "kitchen", - name: "kitchen-shelf", + name: "Kitchen Shelf", thumbnail: "/items/kitchen-shelf/thumbnail.webp", src: "/items/kitchen-shelf/model.glb", scale: [1, 1, 1], @@ -812,83 +607,10 @@ export const CATALOG_ITEMS: AssetInput[] = [ attachTo: "wall-side", }, - { - id: "coat-rack", - category: "furniture", - name: "coat-rack", - thumbnail: "/items/coat-rack/thumbnail.webp", - src: "/items/coat-rack/model.glb", - scale: [1, 1, 1], - offset: [0, 0, 0], - rotation: [0, 0, 0], - dimensions: [0.5, 1.8, 0.5], - }, - - { - id: "drying-rack", - category: "bathroom", - name: "drying-rack", - thumbnail: "/items/drying-rack/thumbnail.webp", - src: "/items/drying-rack/model.glb", - scale: [1, 1, 1], - offset: [0, 0, 0], - rotation: [0, 0, 0], - dimensions: [2, 1.1, 1], - }, - - { - id: "toilet-paper", - category: "furniture", - name: "toilet-paper", - thumbnail: "/items/toilet-paper/thumbnail.webp", - src: "/items/toilet-paper/model.glb", - scale: [1, 1, 1], - offset: [0, 0.19, 0.12], - rotation: [0, 0, 0], - dimensions: [0.5, 0.5, 0.5], - attachTo: "wall-side", - }, - - { - id: "cutting-board", - category: "kitchen", - name: "cutting-board", - thumbnail: "/items/cutting-board/thumbnail.webp", - src: "/items/cutting-board/model.glb", - scale: [1, 1, 1], - offset: [0, 0, 0], - rotation: [0, 0, 0], - dimensions: [0.5, 0.1, 0.5], - }, - - { - id: "frying-pan", - category: "kitchen", - name: "frying-pan", - thumbnail: "/items/frying-pan/thumbnail.webp", - src: "/items/frying-pan/model.glb", - scale: [1, 1, 1], - offset: [0, 0, 0], - rotation: [0, 0, 0], - dimensions: [0.5, 0.1, 1], - }, - - { - id: "kitchen-utensils", - category: "kitchen", - name: "kitchen-utensils", - thumbnail: "/items/kitchen-utensils/thumbnail.webp", - src: "/items/kitchen-utensils/model.glb", - scale: [1, 1, 1], - offset: [0, 0, 0], - rotation: [0, 0, 0], - dimensions: [0.5, 0.5, 0.5], - }, - { id: "kitchen-counter", category: "kitchen", - name: "kitchen-counter", + name: "Kitchen Counter", thumbnail: "/items/kitchen-counter/thumbnail.webp", src: "/items/kitchen-counter/model.glb", scale: [1, 1, 1], @@ -900,7 +622,7 @@ export const CATALOG_ITEMS: AssetInput[] = [ { id: "kitchen-cabinet", category: "kitchen", - name: "kitchen-cabinet", + name: "Kitchen Cabinet", thumbnail: "/items/kitchen-cabinet/thumbnail.webp", src: "/items/kitchen-cabinet/model.glb", scale: [1, 1, 1], @@ -909,409 +631,10 @@ export const CATALOG_ITEMS: AssetInput[] = [ dimensions: [2, 1.1, 1], }, - { - id: "cactus", - category: "furniture", - name: "cactus", - thumbnail: "/items/cactus/thumbnail.webp", - src: "/items/cactus/model.glb", - scale: [1, 1, 1], - offset: [0, 0, 0], - rotation: [0, 0, 0], - dimensions: [0.5, 0.4, 0.5], - }, - - { - id: "small-indoor-plant", - category: "furniture", - name: "small-indoor-plant", - thumbnail: "/items/small-indoor-plant/thumbnail.webp", - src: "/items/small-indoor-plant/model.glb", - scale: [1, 1, 1], - offset: [-0.01, 0, 0.01], - rotation: [0, 0, 0], - dimensions: [0.5, 0.7, 0.5], - }, - - { - id: "easel", - category: "furniture", - name: "easel", - thumbnail: "/items/easel/thumbnail.webp", - src: "/items/easel/model.glb", - scale: [1, 1, 1], - offset: [0, 0, 0], - rotation: [0, 0, 0], - dimensions: [1.5, 2.3, 1], - }, - - { - id: "pool-table", - category: "furniture", - name: "pool-table", - thumbnail: "/items/pool-table/thumbnail.webp", - src: "/items/pool-table/model.glb", - scale: [1, 1, 1], - offset: [0, 0, 0], - rotation: [0, 0, 0], - dimensions: [2.5, 1, 4], - }, - - { - id: "television", - category: "appliance", - name: "television", - thumbnail: "/items/television/thumbnail.webp", - src: "/items/television/model.glb", - scale: [1, 1, 1], - offset: [0, 0, 0], - rotation: [0, 0, 0], - dimensions: [2, 1.1, 0.5], - }, - - { - id: "table-lamp", - category: "furniture", - name: "table-lamp", - thumbnail: "/items/table-lamp/thumbnail.webp", - src: "/items/table-lamp/model.glb", - scale: [1, 1, 1], - offset: [0, 0, 0], - rotation: [0, 0, 0], - dimensions: [0.5, 0.8, 1], - }, - - { - id: "air-conditioning", - category: "appliance", - name: "air-conditioning", - thumbnail: "/items/air-conditioning/thumbnail.webp", - src: "/items/air-conditioning/model.glb", - scale: [1, 1, 1], - offset: [0, 0.37, 0.21], - rotation: [0, 0, 0], - dimensions: [2, 1, 0.9], - attachTo: "wall-side", - }, - - { - id: "sewing-machine", - category: "appliance", - name: "sewing-machine", - thumbnail: "/items/sewing-machine/thumbnail.webp", - src: "/items/sewing-machine/model.glb", - scale: [1, 1, 1], - offset: [0, 0, 0], - rotation: [0, 0, 0], - dimensions: [1, 0.7, 0.5], - }, - - { - id: "stool", - category: "furniture", - name: "stool", - thumbnail: "/items/stool/thumbnail.webp", - src: "/items/stool/model.glb", - scale: [1, 1, 1], - offset: [0, 0, 0], - rotation: [0, 0, 0], - dimensions: [1, 1.2, 1], - }, - - { - id: "bunkbed", - category: "furniture", - name: "bunkbed", - thumbnail: "/items/bunkbed/thumbnail.webp", - src: "/items/bunkbed/model.glb", - scale: [1, 1, 1], - offset: [0, 0, -0.09], - rotation: [0, 0, 0], - dimensions: [2, 1.6, 1.5], - }, - - { - id: "threadmill", - category: "furniture", - name: "threadmill", - thumbnail: "/items/threadmill/thumbnail.webp", - src: "/items/threadmill/model.glb", - scale: [1, 1, 1], - offset: [0, 0, 0], - rotation: [0, 0, 0], - dimensions: [2.5, 1.5, 1], - }, - - { - id: "toaster", - category: "appliance", - name: "toaster", - thumbnail: "/items/toaster/thumbnail.webp", - src: "/items/toaster/model.glb", - scale: [1, 1, 1], - offset: [0, 0, 0], - rotation: [0, 0, 0], - dimensions: [0.5, 0.3, 0.5], - }, - - { - id: "barbell-stand", - category: "furniture", - name: "barbell-stand", - thumbnail: "/items/barbell-stand/thumbnail.webp", - src: "/items/barbell-stand/model.glb", - scale: [1, 1, 1], - offset: [0, 0, 0], - rotation: [0, 0, 0], - dimensions: [1.5, 1.3, 2], - }, - - { - id: "barbell", - category: "furniture", - name: "barbell", - thumbnail: "/items/barbell/thumbnail.webp", - src: "/items/barbell/model.glb", - scale: [1, 1, 1], - offset: [0, 0, 0], - rotation: [0, 0, 0], - dimensions: [0.5, 0.4, 2], - }, - - { - id: "kettle", - category: "appliance", - name: "kettle", - thumbnail: "/items/kettle/thumbnail.webp", - src: "/items/kettle/model.glb", - scale: [1, 1, 1], - offset: [0, 0, 0], - rotation: [0, 0, 0], - dimensions: [0.5, 0.3, 0.5], - }, - - { - id: "iron", - category: "appliance", - name: "iron", - thumbnail: "/items/iron/thumbnail.webp", - src: "/items/iron/model.glb", - scale: [1, 1, 1], - offset: [0, 0, 0], - rotation: [0, 0, 0], - dimensions: [0.5, 0.3, 0.5], - }, - - { - id: "ironing-board", - category: "furniture", - name: "ironing-board", - thumbnail: "/items/ironing-board/thumbnail.webp", - src: "/items/ironing-board/model.glb", - scale: [1, 1, 1], - offset: [0, 0, 0], - rotation: [0, 0, 0], - dimensions: [1.5, 1, 1], - }, - - { - id: "round-carpet", - category: "furniture", - name: "round-carpet", - thumbnail: "/items/round-carpet/thumbnail.webp", - src: "/items/round-carpet/model.glb", - scale: [1, 1, 1], - offset: [0, 0, 0], - rotation: [0, 0, 0], - dimensions: [2.5, 0.1, 2.5], - }, - - { - id: "rectangular-carpet", - category: "furniture", - name: "rectangular-carpet", - thumbnail: "/items/rectangular-carpet/thumbnail.webp", - src: "/items/rectangular-carpet/model.glb", - scale: [1, 1, 1], - offset: [0, 0, 0], - rotation: [0, 0, 0], - dimensions: [3, 0.1, 2], - }, - - { - id: "coffee-machine", - category: "appliance", - name: "coffee-machine", - thumbnail: "/items/coffee-machine/thumbnail.webp", - src: "/items/coffee-machine/model.glb", - scale: [1, 1, 1], - offset: [0, 0, -0.03], - rotation: [0, 0, 0], - dimensions: [0.5, 0.3, 0.5], - }, - - { - id: "wine-bottle", - category: "kitchen", - name: "wine-bottle", - thumbnail: "/items/wine-bottle/thumbnail.webp", - src: "/items/wine-bottle/model.glb", - scale: [1, 1, 1], - offset: [-0.05, 0, 0.01], - rotation: [0, 0, 0], - dimensions: [0.5, 0.4, 0.5], - }, - - { - id: "fruits", - category: "kitchen", - name: "fruits", - thumbnail: "/items/fruits/thumbnail.webp", - src: "/items/fruits/model.glb", - scale: [1, 1, 1], - offset: [0, 0, 0], - rotation: [0, 0, 0], - dimensions: [0.5, 0.3, 0.5], - }, - - { - id: "round-mirror", - category: "furniture", - name: "round-mirror", - thumbnail: "/items/round-mirror/thumbnail.webp", - src: "/items/round-mirror/model.glb", - scale: [1, 1, 1], - offset: [0, 0.32, 0], - rotation: [0, 0, 0], - dimensions: [1, 1, 0.1], - attachTo: "wall-side", - }, - - { - id: "car-toy", - category: "furniture", - name: "car-toy", - thumbnail: "/items/car-toy/thumbnail.webp", - src: "/items/car-toy/model.glb", - scale: [1, 1, 1], - offset: [0, 0, 0], - rotation: [0, 0, 0], - dimensions: [0.5, 0.4, 1], - }, - - { - id: "ball", - category: "outdoor", - name: "ball", - thumbnail: "/items/ball/thumbnail.webp", - src: "/items/ball/model.glb", - scale: [1, 1, 1], - offset: [0, 0.12, 0], - rotation: [0, 0, 0], - dimensions: [0.5, 0.3, 0.5], - }, - - { - id: "dresser", - category: "furniture", - name: "dresser", - thumbnail: "/items/dresser/thumbnail.webp", - src: "/items/dresser/model.glb", - scale: [1, 1, 1], - offset: [0, 0, 0], - rotation: [0, 0, 0], - dimensions: [1.5, 0.8, 1], - }, - - { - id: "bedside-table", - category: "furniture", - name: "bedside-table", - thumbnail: "/items/bedside-table/thumbnail.webp", - src: "/items/bedside-table/model.glb", - scale: [1, 1, 1], - offset: [0, 0, -0.01], - rotation: [0, 0, 0], - dimensions: [0.5, 0.5, 0.5], - }, - - { - id: "bookshelf", - category: "furniture", - name: "bookshelf", - thumbnail: "/items/bookshelf/thumbnail.webp", - src: "/items/bookshelf/model.glb", - scale: [1, 1, 1], - offset: [0, 0, 0], - rotation: [0, 0, 0], - dimensions: [1, 2, 0.5], - }, - - { - id: "picture", - category: "furniture", - name: "picture", - thumbnail: "/items/picture/thumbnail.webp", - src: "/items/picture/model.glb", - scale: [1, 1, 1], - offset: [0.02, 0.45, 0.01], - rotation: [0, 0, 0], - dimensions: [2, 1, 0.2], - attachTo: "wall-side", - }, - - { - id: "stereo-speaker", - category: "appliance", - name: "stereo-speaker", - thumbnail: "/items/stereo-speaker/thumbnail.webp", - src: "/items/stereo-speaker/model.glb", - scale: [1, 1, 1], - offset: [0.02, 0, -0.01], - rotation: [0, 0, 0], - dimensions: [0.5, 1.1, 0.5], - }, - - { - id: "floor-lamp", - category: "furniture", - name: "floor-lamp", - thumbnail: "/items/floor-lamp/thumbnail.webp", - src: "/items/floor-lamp/model.glb", - scale: [1, 1, 1], - offset: [0.04, 0, 0.02], - rotation: [0, 0, 0], - dimensions: [1, 1.9, 1], - }, - - { - id: "stove", - category: "kitchen", - name: "stove", - thumbnail: "/items/stove/thumbnail.webp", - src: "/items/stove/model.glb", - scale: [1, 1, 1], - offset: [0, 0, -0.05], - rotation: [0, 0, 0], - dimensions: [1, 1, 1], - }, - - { - id: "fridge", - category: "kitchen", - name: "fridge", - thumbnail: "/items/fridge/thumbnail.webp", - src: "/items/fridge/model.glb", - scale: [1, 1, 1], - offset: [0.01, 0, -0.05], - rotation: [0, 0, 0], - dimensions: [1, 2, 1], - }, - { id: "kitchen", category: "kitchen", - name: "kitchen", + name: "Kitchen", thumbnail: "/items/kitchen/thumbnail.webp", src: "/items/kitchen/model.glb", scale: [1, 1, 1], @@ -1321,81 +644,34 @@ export const CATALOG_ITEMS: AssetInput[] = [ }, { - id: "microwave", - category: "kitchen", - name: "microwave", - thumbnail: "/items/microwave/thumbnail.webp", - src: "/items/microwave/model.glb", - scale: [1, 1, 1], - offset: [0, 0, -0.03], - rotation: [0, 0, 0], - dimensions: [1, 0.3, 0.5], - }, - - { - id: "indoor-plant", - category: "furniture", - name: "indoor-plant", - thumbnail: "/items/indoor-plant/thumbnail.webp", - src: "/items/indoor-plant/model.glb", - scale: [1, 1, 1], - offset: [-0.05, 0, 0.07], - rotation: [0, 0, 0], - dimensions: [1, 1.7, 1], - }, - - { - id: "closet", - category: "furniture", - name: "closet", - thumbnail: "/items/closet/thumbnail.webp", - src: "/items/closet/model.glb", - scale: [1, 1, 1], - offset: [0, 0, -0.01], - rotation: [0, 0, 0], - dimensions: [2, 2.5, 1], - }, - - { - id: "double-bed", - category: "furniture", - name: "double-bed", - thumbnail: "/items/double-bed/thumbnail.webp", - src: "/items/double-bed/model.glb", - scale: [1, 1, 1], - offset: [0, 0, -0.03], - rotation: [0, 0, 0], - dimensions: [2, 0.8, 2.5], - }, - - { - id: "single-bed", - category: "furniture", - name: "single-bed", - thumbnail: "/items/single-bed/thumbnail.webp", - src: "/items/single-bed/model.glb", - scale: [1, 1, 1], - offset: [0, 0, 0], - rotation: [0, 0, 0], - dimensions: [1.5, 0.7, 2.5], - }, - - { - id: "washing-machine", + id: "toilet-paper", category: "bathroom", - name: "washing-machine", - thumbnail: "/items/washing-machine/thumbnail.webp", - src: "/items/washing-machine/model.glb", + name: "Toilet Paper", + thumbnail: "/items/toilet-paper/thumbnail.webp", + src: "/items/toilet-paper/model.glb", + scale: [1, 1, 1], + offset: [0, 0.19, 0.12], + rotation: [0, 0, 0], + dimensions: [0.5, 0.5, 0.5], + attachTo: "wall-side", + }, + + { + id: "shower-rug", + category: "bathroom", + 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, 1, 1], + dimensions: [1, 0.1, 0.5], }, { id: "laundry-bag", category: "bathroom", - name: "laundry-bag", + name: "Laundry Bag", thumbnail: "/items/laundry-bag/thumbnail.webp", src: "/items/laundry-bag/model.glb", scale: [1, 1, 1], @@ -1404,10 +680,59 @@ export const CATALOG_ITEMS: AssetInput[] = [ dimensions: [0.5, 0.8, 0.5], }, + { + id: "drying-rack", + category: "bathroom", + name: "Drying Rack", + thumbnail: "/items/drying-rack/thumbnail.webp", + src: "/items/drying-rack/model.glb", + scale: [1, 1, 1], + offset: [0, 0, 0], + rotation: [0, 0, 0], + dimensions: [2, 1.1, 1], + }, + + { + id: "washing-machine", + category: "bathroom", + name: "Washing Machine", + thumbnail: "/items/washing-machine/thumbnail.webp", + src: "/items/washing-machine/model.glb", + scale: [1, 1, 1], + offset: [0, 0, 0], + rotation: [0, 0, 0], + dimensions: [1, 1, 1], + }, + + + { + id: "toilet", + category: "bathroom", + name: "Toilet", + thumbnail: "/items/toilet/thumbnail.webp", + src: "/items/toilet/model.glb", + scale: [1, 1, 1], + offset: [0, 0, -0.23], + rotation: [0, 0, 0], + dimensions: [1, 0.9, 1], + }, + + { + id: "shower-square", + category: "bathroom", + name: "Squared Shower", + thumbnail: "/items/shower-square/thumbnail.webp", + src: "/items/shower-square/model.glb", + scale: [1, 1, 1], + offset: [0.41, 0, -0.42], + rotation: [0, 0, 0], + dimensions: [1, 2, 1], + }, + { id: "shower-angle", category: "bathroom", - name: "shower-angle", + name: "Angle Shower", thumbnail: "/items/shower-angle/thumbnail.webp", src: "/items/shower-angle/model.glb", scale: [1, 1, 1], @@ -1419,7 +744,7 @@ export const CATALOG_ITEMS: AssetInput[] = [ { id: "bathtub", category: "bathroom", - name: "bathtub", + name: "Bathtub", thumbnail: "/items/bathtub/thumbnail.webp", src: "/items/bathtub/model.glb", scale: [1, 1, 1], @@ -1428,46 +753,10 @@ export const CATALOG_ITEMS: AssetInput[] = [ dimensions: [2.5, 0.8, 1.5], }, - { - id: "toilet", - category: "bathroom", - name: "toilet", - thumbnail: "/items/toilet/thumbnail.webp", - src: "/items/toilet/model.glb", - scale: [1, 1, 1], - offset: [0, 0, -0.23], - rotation: [0, 0, 0], - dimensions: [1, 0.9, 1], - }, - - { - id: "sofa", - category: "furniture", - name: "sofa", - thumbnail: "/items/sofa/thumbnail.webp", - src: "/items/sofa/model.glb", - scale: [1, 1, 1], - offset: [0, 0, 0.04], - rotation: [0, 0, 0], - dimensions: [2.5, 0.8, 1.5], - }, - - { - id: "shower-square", - category: "bathroom", - name: "shower-square", - thumbnail: "/items/shower-square/thumbnail.webp", - src: "/items/shower-square/model.glb", - scale: [1, 1, 1], - offset: [0.41, 0, -0.42], - rotation: [0, 0, 0], - dimensions: [1, 2, 1], - }, - { id: "bathroom-sink", category: "bathroom", - name: "bathroom-sink", + name: "Bathroom Sink", thumbnail: "/items/bathroom-sink/thumbnail.webp", src: "/items/bathroom-sink/model.glb", scale: [1, 1, 1], @@ -1476,22 +765,227 @@ export const CATALOG_ITEMS: AssetInput[] = [ dimensions: [2, 1, 1.5], }, + { - id: "coffee-table", - category: "furniture", - name: "coffee-table", - thumbnail: "/items/coffee-table/thumbnail.webp", - src: "/items/coffee-table/model.glb", + id: "ceiling-fan", + category: "appliance", + name: "Ceiling fan", + thumbnail: "/items/ceiling-fan/thumbnail.webp", + src: "/items/ceiling-fan/model.glb", + scale: [1, 1, 1], + offset: [-0.12, 0.49, 0], + rotation: [0, 0, 0], + dimensions: [1, 0.5, 1.5], + attachTo: "ceiling", + }, + + { + id: "electric-panel", + category: "appliance", + name: "Electric Panel", + thumbnail: "/items/electric-panel/thumbnail.webp", + src: "/items/electric-panel/model.glb", + scale: [0.61, 0.74, 0.7], + offset: [0, 0, 0.06], + rotation: [0, 0, 0], + dimensions: [0.5, 1, 0.3], + attachTo: "wall-side", + }, + + { + id: "sprinkler", + category: "appliance", + name: "Sprinkler", + thumbnail: "/items/sprinkler/thumbnail.webp", + src: "/items/sprinkler/model.glb", + scale: [1, 1, 1], + offset: [0, 0.45, 0], + rotation: [0, 0, 0], + dimensions: [0.5, 0.5, 0.5], + 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.49, 0], + rotation: [Math.PI, 0, 0], + dimensions: [0.5, 0.5, 0.5], + attachTo: "ceiling", + }, + + + { + id: "fire-detector", + category: "appliance", + name: "Fire Detector", + thumbnail: "/items/fire-detector/thumbnail.webp", + src: "/items/fire-detector/model.glb", + scale: [0.9, 1.4, 0.7], + offset: [0.02, 0.05, 0], + rotation: [0, 0, 0], + dimensions: [0.5, 0.5, 0.3], + attachTo: "wall", + }, + + { + id: "exit-sign", + category: "appliance", + 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: [1, 0.5, 0.3], + attachTo: "wall-side", + }, + + { + id: "hydrant", + category: "appliance", + 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: [2, 0.4, 1.5], + dimensions: [1, 0.9, 1], }, + { + id: "alarm-keypad", + category: "appliance", + 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.5, 0.1, 0.5], + }, + + + { + id: "thermostat", + category: "appliance", + name: "Thermostat", + thumbnail: "/items/thermostat/thumbnail.webp", + src: "/items/thermostat/model.glb", + scale: [2.08, 2.1, 2.59], + offset: [0, 0, 0.01], + rotation: [0, 0, 0], + dimensions: [0.5, 0.5, 0.1], + attachTo: "wall-side", + }, + + { + id: "air-conditioning", + category: "appliance", + name: "Air Conditioning", + thumbnail: "/items/air-conditioning/thumbnail.webp", + src: "/items/air-conditioning/model.glb", + scale: [1, 1, 1], + offset: [0, 0.37, 0.21], + rotation: [0, 0, 0], + dimensions: [2, 1, 0.9], + attachTo: "wall-side", + }, + + { + id: "ac-block", + category: "appliance", + name: "AC block", + thumbnail: "/items/ac-block/thumbnail.webp", + src: "/items/ac-block/model.glb", + scale: [0.79, 0.79, 0.79], + offset: [0, 0, 0], + rotation: [0, 0, 0], + dimensions: [1.1, 1, 1.1], + }, + + { + id: "toaster", + category: "appliance", + name: "Toaster", + thumbnail: "/items/toaster/thumbnail.webp", + src: "/items/toaster/model.glb", + scale: [1, 1, 1], + offset: [0, 0, 0], + rotation: [0, 0, 0], + dimensions: [0.5, 0.3, 0.5], + }, + + { + id: "sewing-machine", + category: "appliance", + name: "Sewing Machine", + thumbnail: "/items/sewing-machine/thumbnail.webp", + src: "/items/sewing-machine/model.glb", + scale: [1, 1, 1], + offset: [0, 0, 0], + rotation: [0, 0, 0], + dimensions: [1, 0.7, 0.5], + }, + + + { + id: "kettle", + category: "appliance", + name: "Kettle", + thumbnail: "/items/kettle/thumbnail.webp", + src: "/items/kettle/model.glb", + scale: [1, 1, 1], + offset: [0, 0, 0], + rotation: [0, 0, 0], + dimensions: [0.5, 0.3, 0.5], + }, + + { + id: "iron", + category: "appliance", + name: "Iron", + thumbnail: "/items/iron/thumbnail.webp", + src: "/items/iron/model.glb", + scale: [1, 1, 1], + offset: [0, 0, 0], + rotation: [0, 0, 0], + dimensions: [0.5, 0.3, 0.5], + }, + + { + id: "coffee-machine", + category: "appliance", + name: "Coffee Machine", + thumbnail: "/items/coffee-machine/thumbnail.webp", + src: "/items/coffee-machine/model.glb", + scale: [1, 1, 1], + offset: [0, 0, -0.03], + rotation: [0, 0, 0], + dimensions: [0.5, 0.3, 0.5], + }, + + { + id: "television", + category: "appliance", + name: "Television", + thumbnail: "/items/television/thumbnail.webp", + src: "/items/television/model.glb", + scale: [1, 1, 1], + offset: [0, 0, 0], + rotation: [0, 0, 0], + dimensions: [2, 1.1, 0.5], + }, + + { id: "computer", category: "appliance", - name: "computer", + name: "Computer", thumbnail: "/items/computer/thumbnail.webp", src: "/items/computer/model.glb", scale: [1, 1, 1], @@ -1501,51 +995,115 @@ export const CATALOG_ITEMS: AssetInput[] = [ }, { - id: "livingroom-chair", - category: "furniture", - name: "Livingroom-chair", - thumbnail: "/items/livingroom-chair/thumbnail.webp", - src: "/items/livingroom-chair/model.glb", + id: "stereo-speaker", + category: "appliance", + name: "Stereo Speaker", + thumbnail: "/items/stereo-speaker/thumbnail.webp", + src: "/items/stereo-speaker/model.glb", scale: [1, 1, 1], - offset: [0.01, 0, 0], + offset: [0.02, 0, -0.01], rotation: [0, 0, 0], - dimensions: [1.5, 0.8, 1.5], + dimensions: [0.5, 1.1, 0.5], }, - { - id: "office-chair", - category: "furniture", - name: "Office-chair", - thumbnail: "/items/office-chair/thumbnail.webp", - src: "/items/office-chair/model.glb", - scale: [1, 1, 1], - offset: [0.01, 0, 0.03], - rotation: [0, 0, 0], - dimensions: [1, 1.2, 1], - }, + { - id: "office-table", + id: "threadmill", category: "furniture", - name: "Office-table", - thumbnail: "/items/office-table/thumbnail.webp", - src: "/items/office-table/model.glb", + name: "Threadmill", + thumbnail: "/items/threadmill/thumbnail.webp", + src: "/items/threadmill/model.glb", scale: [1, 1, 1], offset: [0, 0, 0], rotation: [0, 0, 0], - dimensions: [2, 0.8, 1], + dimensions: [2.5, 1.5, 1], + }, + + + { + id: "barbell-stand", + category: "furniture", + name: "Barbell Stand", + thumbnail: "/items/barbell-stand/thumbnail.webp", + src: "/items/barbell-stand/model.glb", + scale: [1, 1, 1], + offset: [0, 0, 0], + rotation: [0, 0, 0], + dimensions: [1.5, 1.3, 2], }, { - id: "dining-table", + id: "barbell", category: "furniture", - name: "Dining-table", - thumbnail: "/items/dining-table/thumbnail.webp", - src: "/items/dining-table/model.glb", + name: "Barbell", + thumbnail: "/items/barbell/thumbnail.webp", + src: "/items/barbell/model.glb", scale: [1, 1, 1], - offset: [0, 0, -0.01], + offset: [0, 0, 0], rotation: [0, 0, 0], - dimensions: [2.5, 0.8, 1], + dimensions: [0.5, 0.4, 2], + }, + + { + id: "toy", + category: "furniture", + name: "Toy", + thumbnail: "/items/toy/thumbnail.webp", + src: "/items/toy/model.glb", + scale: [1, 1, 1], + offset: [0, 0, 0], + rotation: [0, 0, 0], + dimensions: [0.5, 0.5, 0.5], + }, + + + { + id: "car-toy", + category: "furniture", + name: "Car Toy", + thumbnail: "/items/car-toy/thumbnail.webp", + src: "/items/car-toy/model.glb", + scale: [1, 1, 1], + offset: [0, 0, 0], + rotation: [0, 0, 0], + dimensions: [0.5, 0.4, 1], + }, + + { + id: "easel", + category: "furniture", + name: "Easel", + thumbnail: "/items/easel/thumbnail.webp", + src: "/items/easel/model.glb", + scale: [1, 1, 1], + offset: [0, 0, 0], + rotation: [0, 0, 0], + dimensions: [1.5, 2.3, 1], + }, + + { + id: "pool-table", + category: "furniture", + name: "Pool table", + thumbnail: "/items/pool-table/thumbnail.webp", + src: "/items/pool-table/model.glb", + scale: [1, 1, 1], + offset: [0, 0, 0], + rotation: [0, 0, 0], + dimensions: [2.5, 1, 4], + }, + + { + id: "guitar", + category: "furniture", + name: "Guitar", + thumbnail: "/items/guitar/thumbnail.webp", + src: "/items/guitar/model.glb", + scale: [1, 1, 1], + offset: [0, 0.32, 0], + rotation: [0, 0, 0], + dimensions: [0.5, 1.2, 0.5], }, { @@ -1560,10 +1118,385 @@ export const CATALOG_ITEMS: AssetInput[] = [ dimensions: [2, 1.5, 1], }, + { + id: "round-carpet", + category: "furniture", + name: "Round Carpet", + thumbnail: "/items/round-carpet/thumbnail.webp", + src: "/items/round-carpet/model.glb", + scale: [1, 1, 1], + offset: [0, 0, 0], + rotation: [0, 0, 0], + dimensions: [2.5, 0.1, 2.5], + }, + + { + id: "rectangular-carpet", + category: "furniture", + name: "Rectangular Carpet", + thumbnail: "/items/rectangular-carpet/thumbnail.webp", + src: "/items/rectangular-carpet/model.glb", + scale: [1, 1, 1], + offset: [0, 0, 0], + rotation: [0, 0, 0], + dimensions: [3, 0.1, 2], + }, + + { + id: "cactus", + category: "furniture", + name: "Cactus", + thumbnail: "/items/cactus/thumbnail.webp", + src: "/items/cactus/model.glb", + scale: [1, 1, 1], + offset: [0, 0, 0], + rotation: [0, 0, 0], + dimensions: [0.5, 0.4, 0.5], + }, + + { + id: "small-indoor-plant", + category: "furniture", + name: "Small Plant", + thumbnail: "/items/small-indoor-plant/thumbnail.webp", + src: "/items/small-indoor-plant/model.glb", + scale: [1, 1, 1], + offset: [-0.01, 0, 0.01], + rotation: [0, 0, 0], + dimensions: [0.5, 0.7, 0.5], + }, + + { + id: "indoor-plant", + category: "furniture", + name: "Indoor Plant", + thumbnail: "/items/indoor-plant/thumbnail.webp", + src: "/items/indoor-plant/model.glb", + scale: [1, 1, 1], + offset: [-0.05, 0, 0.07], + rotation: [0, 0, 0], + dimensions: [1, 1.7, 1], + }, + + { + id: "ironing-board", + category: "furniture", + name: "Ironing Board", + thumbnail: "/items/ironing-board/thumbnail.webp", + src: "/items/ironing-board/model.glb", + scale: [1, 1, 1], + offset: [0, 0, 0], + rotation: [0, 0, 0], + dimensions: [1.5, 1, 1], + }, + + { + id: "coat-rack", + category: "furniture", + name: "Coat Rack", + thumbnail: "/items/coat-rack/thumbnail.webp", + src: "/items/coat-rack/model.glb", + scale: [1, 1, 1], + offset: [0, 0, 0], + rotation: [0, 0, 0], + dimensions: [0.5, 1.8, 0.5], + }, + + { + id: "trash-bin", + category: "furniture", + name: "Trash Bin", + thumbnail: "/items/trash-bin/thumbnail.webp", + src: "/items/trash-bin/model.glb", + scale: [1, 1, 1], + offset: [0, 0, 0], + rotation: [0, 0, 0], + dimensions: [0.5, 0.6, 0.5], + }, + + { + id: "round-mirror", + category: "furniture", + name: "Rounded Mirror", + thumbnail: "/items/round-mirror/thumbnail.webp", + src: "/items/round-mirror/model.glb", + scale: [1, 1, 1], + offset: [0, 0.32, 0], + rotation: [0, 0, 0], + dimensions: [1, 1, 0.1], + attachTo: "wall-side", + }, + + { + id: "picture", + category: "furniture", + name: "Picture", + thumbnail: "/items/picture/thumbnail.webp", + src: "/items/picture/model.glb", + scale: [1, 1, 1], + offset: [0.02, 0.45, 0.01], + rotation: [0, 0, 0], + dimensions: [2, 1, 0.2], + attachTo: "wall-side", + }, + + { + id: "books", + category: "furniture", + name: "Books", + thumbnail: "/items/books/thumbnail.webp", + src: "/items/books/model.glb", + scale: [1, 1, 1], + offset: [-0.08, 0, 0.02], + rotation: [0, 0, 0], + dimensions: [0.5, 0.3, 0.5], + }, + + { + "id": "column", + "category": "furniture", + "name": "Column", + "thumbnail": "/items/column/thumbnail.webp", + "src": "/items/column/model.glb", + "scale": [ + 1, + 1, + 1 + ], + "offset": [ + 0, + 1.26, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "dimensions": [ + 0.5, + 2.6, + 0.5 + ] + }, + + { + "id": "stairs", + "category": "furniture", + "name": "Stairs", + "thumbnail": "/items/stairs/thumbnail.webp", + "src": "/items/stairs/model.glb", + "scale": [ + 0.61, + 0.61, + 0.61 + ], + "offset": [ + 0, + 0.03, + 1.8 + ], + "rotation": [ + 0, + 0, + 0 + ], + "dimensions": [ + 1.5, + 2.5, + 3.5 + ] + }, + + { + 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.45, 0], + rotation: [0, 0, 0], + dimensions: [0.5, 0.5, 0.5], + attachTo: "ceiling", + }, + + { + id: "tv-stand", + category: "furniture", + name: "TV Stand", + thumbnail: "/items/tv-stand/thumbnail.webp", + src: "/items/tv-stand/model.glb", + scale: [1, 1, 1], + offset: [0, 0.21, 0], + rotation: [0, 0, 0], + dimensions: [2, 0.4, 0.5], + }, + + { + id: "shelf", + category: "furniture", + name: "Shelf", + thumbnail: "/items/shelf/thumbnail.webp", + src: "/items/shelf/model.glb", + scale: [1, 1, 1], + offset: [0, 0.1, 0.01], + rotation: [0, 0, 0], + dimensions: [1, 0.5, 0.7], + attachTo: "wall-side", + }, + + { + id: "bookshelf", + category: "furniture", + name: "Bookshelf", + thumbnail: "/items/bookshelf/thumbnail.webp", + src: "/items/bookshelf/model.glb", + scale: [1, 1, 1], + offset: [0, 0, 0], + rotation: [0, 0, 0], + dimensions: [1, 2, 0.5], + }, + + { + 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: [1, 1, 1], + attachTo: "ceiling", + }, + + { + id: "floor-lamp", + category: "furniture", + name: "Floor Lamp", + thumbnail: "/items/floor-lamp/thumbnail.webp", + src: "/items/floor-lamp/model.glb", + scale: [1, 1, 1], + offset: [0.04, 0, 0.02], + rotation: [0, 0, 0], + dimensions: [1, 1.9, 1], + }, + + { + id: "table-lamp", + category: "furniture", + name: "Table Lamp", + thumbnail: "/items/table-lamp/thumbnail.webp", + src: "/items/table-lamp/model.glb", + scale: [1, 1, 1], + offset: [0, 0, 0], + rotation: [0, 0, 0], + dimensions: [0.5, 0.8, 1], + }, + + + { + id: "closet", + category: "furniture", + name: "Closet", + thumbnail: "/items/closet/thumbnail.webp", + src: "/items/closet/model.glb", + scale: [1, 1, 1], + offset: [0, 0, -0.01], + rotation: [0, 0, 0], + dimensions: [2, 2.5, 1], + }, + + { + id: "dresser", + category: "furniture", + name: "Dresser", + thumbnail: "/items/dresser/thumbnail.webp", + src: "/items/dresser/model.glb", + scale: [1, 1, 1], + offset: [0, 0, 0], + rotation: [0, 0, 0], + dimensions: [1.5, 0.8, 1], + }, + + { + id: "bunkbed", + category: "furniture", + name: "Bunkbed", + thumbnail: "/items/bunkbed/thumbnail.webp", + src: "/items/bunkbed/model.glb", + scale: [1, 1, 1], + offset: [0, 0, -0.09], + rotation: [0, 0, 0], + dimensions: [2, 1.6, 1.5], + }, + + { + id: "double-bed", + category: "furniture", + name: "Double Bed", + thumbnail: "/items/double-bed/thumbnail.webp", + src: "/items/double-bed/model.glb", + scale: [1, 1, 1], + offset: [0, 0, -0.03], + rotation: [0, 0, 0], + dimensions: [2, 0.8, 2.5], + }, + + { + id: "single-bed", + category: "furniture", + name: "Single Bed", + thumbnail: "/items/single-bed/thumbnail.webp", + src: "/items/single-bed/model.glb", + scale: [1, 1, 1], + offset: [0, 0, 0], + rotation: [0, 0, 0], + dimensions: [1.5, 0.7, 2.5], + }, + + + { + id: "sofa", + category: "furniture", + name: "Sofa", + thumbnail: "/items/sofa/thumbnail.webp", + src: "/items/sofa/model.glb", + scale: [1, 1, 1], + offset: [0, 0, 0.04], + rotation: [0, 0, 0], + dimensions: [2.5, 0.8, 1.5], + }, + + { + 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, 1.1, 1.5], + }, + + { + id: "stool", + category: "furniture", + name: "Stool", + thumbnail: "/items/stool/thumbnail.webp", + src: "/items/stool/model.glb", + scale: [1, 1, 1], + offset: [0, 0, 0], + rotation: [0, 0, 0], + dimensions: [1, 1.2, 1], + }, + { id: "dining-chair", category: "furniture", - name: "Dining-chair", + name: "Dining Chair", thumbnail: "/items/dining-chair/thumbnail.webp", src: "/items/dining-chair/model.glb", scale: [1, 1, 1], @@ -1571,4 +1504,76 @@ export const CATALOG_ITEMS: AssetInput[] = [ rotation: [0, 0, 0], dimensions: [0.5, 1, 0.5], }, + + { + id: "office-chair", + category: "furniture", + name: "Office Chair", + thumbnail: "/items/office-chair/thumbnail.webp", + src: "/items/office-chair/model.glb", + scale: [1, 1, 1], + offset: [0.01, 0, 0.03], + rotation: [0, 0, 0], + dimensions: [1, 1.2, 1], + }, + + { + id: "livingroom-chair", + category: "furniture", + name: "Livingroom Chair", + thumbnail: "/items/livingroom-chair/thumbnail.webp", + src: "/items/livingroom-chair/model.glb", + scale: [1, 1, 1], + offset: [0.01, 0, 0], + rotation: [0, 0, 0], + dimensions: [1.5, 0.8, 1.5], + }, + + { + id: "bedside-table", + category: "furniture", + name: "Bedside Table", + thumbnail: "/items/bedside-table/thumbnail.webp", + src: "/items/bedside-table/model.glb", + scale: [1, 1, 1], + offset: [0, 0, -0.01], + rotation: [0, 0, 0], + dimensions: [0.5, 0.5, 0.5], + }, + + { + id: "coffee-table", + category: "furniture", + name: "Coffee Table", + thumbnail: "/items/coffee-table/thumbnail.webp", + src: "/items/coffee-table/model.glb", + scale: [1, 1, 1], + offset: [0, 0, 0], + rotation: [0, 0, 0], + dimensions: [2, 0.4, 1.5], + }, + + { + id: "office-table", + category: "furniture", + name: "Office Table", + thumbnail: "/items/office-table/thumbnail.webp", + src: "/items/office-table/model.glb", + scale: [1, 1, 1], + offset: [0, 0, 0], + rotation: [0, 0, 0], + dimensions: [2, 0.8, 1], + }, + + { + id: "dining-table", + category: "furniture", + name: "Dining Table", + thumbnail: "/items/dining-table/thumbnail.webp", + src: "/items/dining-table/model.glb", + scale: [1, 1, 1], + offset: [0, 0, -0.01], + rotation: [0, 0, 0], + dimensions: [2.5, 0.8, 1], + }, ]; diff --git a/apps/editor/public/items/patio-umbrella/model.glb b/apps/editor/public/items/patio-umbrella/model.glb index 2324447c74b6933249e59926917de830eb6f24ff..82888478d44f7767fe0307af9038e2a0b33cbf6e 100644 GIT binary patch literal 11932 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 diff --git a/apps/editor/public/items/patio-umbrella/thumbnail.webp b/apps/editor/public/items/patio-umbrella/thumbnail.webp index 3e2677798425553a5bb53523c25edee00413420d..2501de2ecdec5253076df8513b4e3c172675a2c6 100644 GIT binary patch literal 2626 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 literal 5282 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