diff --git a/data/furniture-catalog.json b/data/furniture-catalog.json new file mode 100644 index 0000000..17f04ef --- /dev/null +++ b/data/furniture-catalog.json @@ -0,0 +1,1426 @@ +{ + "version": "1.0", + "units": "meters", + "categories": [ + "seating", + "tables", + "storage", + "beds", + "bathroom", + "kitchen", + "office", + "lighting", + "decor" + ], + "items": [ + { + "id": "sofa-3seat", + "name": "3-Sitzer Sofa", + "category": "seating", + "rooms": ["wohnzimmer"], + "dimensions": { "width": 2.2, "depth": 0.9, "height": 0.85 }, + "mesh": { + "type": "group", + "parts": [ + { + "name": "base", + "geometry": "box", + "size": [2.2, 0.45, 0.9], + "position": [0, 0.225, 0], + "color": "#5a6e82" + }, + { + "name": "backrest", + "geometry": "box", + "size": [2.2, 0.4, 0.15], + "position": [0, 0.65, -0.375], + "color": "#5a6e82" + }, + { + "name": "armrest_left", + "geometry": "box", + "size": [0.15, 0.55, 0.9], + "position": [-1.025, 0.275, 0], + "color": "#4d5f70" + }, + { + "name": "armrest_right", + "geometry": "box", + "size": [0.15, 0.55, 0.9], + "position": [1.025, 0.275, 0], + "color": "#4d5f70" + } + ] + } + }, + { + "id": "sofa-2seat", + "name": "2-Sitzer Sofa", + "category": "seating", + "rooms": ["wohnzimmer", "arbeitszimmer"], + "dimensions": { "width": 1.6, "depth": 0.85, "height": 0.8 }, + "mesh": { + "type": "group", + "parts": [ + { + "name": "base", + "geometry": "box", + "size": [1.6, 0.4, 0.85], + "position": [0, 0.2, 0], + "color": "#5a6e82" + }, + { + "name": "backrest", + "geometry": "box", + "size": [1.6, 0.4, 0.15], + "position": [0, 0.6, -0.35], + "color": "#5a6e82" + }, + { + "name": "armrest_left", + "geometry": "box", + "size": [0.12, 0.5, 0.85], + "position": [-0.74, 0.25, 0], + "color": "#4d5f70" + }, + { + "name": "armrest_right", + "geometry": "box", + "size": [0.12, 0.5, 0.85], + "position": [0.74, 0.25, 0], + "color": "#4d5f70" + } + ] + } + }, + { + "id": "armchair", + "name": "Sessel", + "category": "seating", + "rooms": ["wohnzimmer", "arbeitszimmer", "schlafzimmer"], + "dimensions": { "width": 0.8, "depth": 0.8, "height": 0.85 }, + "mesh": { + "type": "group", + "parts": [ + { + "name": "base", + "geometry": "box", + "size": [0.8, 0.4, 0.8], + "position": [0, 0.2, 0], + "color": "#7a8a6e" + }, + { + "name": "backrest", + "geometry": "box", + "size": [0.8, 0.45, 0.12], + "position": [0, 0.625, -0.34], + "color": "#7a8a6e" + }, + { + "name": "armrest_left", + "geometry": "box", + "size": [0.1, 0.3, 0.7], + "position": [-0.35, 0.35, 0.05], + "color": "#6b7a5f" + }, + { + "name": "armrest_right", + "geometry": "box", + "size": [0.1, 0.3, 0.7], + "position": [0.35, 0.35, 0.05], + "color": "#6b7a5f" + } + ] + } + }, + { + "id": "dining-chair", + "name": "Esszimmerstuhl", + "category": "seating", + "rooms": ["esszimmer", "kueche"], + "dimensions": { "width": 0.45, "depth": 0.5, "height": 0.9 }, + "mesh": { + "type": "group", + "parts": [ + { + "name": "seat", + "geometry": "box", + "size": [0.45, 0.05, 0.45], + "position": [0, 0.45, 0], + "color": "#c4a97d" + }, + { + "name": "backrest", + "geometry": "box", + "size": [0.42, 0.4, 0.03], + "position": [0, 0.7, -0.21], + "color": "#c4a97d" + }, + { + "name": "leg_fl", + "geometry": "box", + "size": [0.04, 0.45, 0.04], + "position": [-0.18, 0.225, 0.18], + "color": "#8b7355" + }, + { + "name": "leg_fr", + "geometry": "box", + "size": [0.04, 0.45, 0.04], + "position": [0.18, 0.225, 0.18], + "color": "#8b7355" + }, + { + "name": "leg_bl", + "geometry": "box", + "size": [0.04, 0.45, 0.04], + "position": [-0.18, 0.225, -0.18], + "color": "#8b7355" + }, + { + "name": "leg_br", + "geometry": "box", + "size": [0.04, 0.45, 0.04], + "position": [0.18, 0.225, -0.18], + "color": "#8b7355" + } + ] + } + }, + { + "id": "coffee-table", + "name": "Couchtisch", + "category": "tables", + "rooms": ["wohnzimmer"], + "dimensions": { "width": 1.1, "depth": 0.6, "height": 0.45 }, + "mesh": { + "type": "group", + "parts": [ + { + "name": "top", + "geometry": "box", + "size": [1.1, 0.04, 0.6], + "position": [0, 0.43, 0], + "color": "#a0845c" + }, + { + "name": "leg_fl", + "geometry": "box", + "size": [0.05, 0.41, 0.05], + "position": [-0.48, 0.205, 0.23], + "color": "#8b7355" + }, + { + "name": "leg_fr", + "geometry": "box", + "size": [0.05, 0.41, 0.05], + "position": [0.48, 0.205, 0.23], + "color": "#8b7355" + }, + { + "name": "leg_bl", + "geometry": "box", + "size": [0.05, 0.41, 0.05], + "position": [-0.48, 0.205, -0.23], + "color": "#8b7355" + }, + { + "name": "leg_br", + "geometry": "box", + "size": [0.05, 0.41, 0.05], + "position": [0.48, 0.205, -0.23], + "color": "#8b7355" + } + ] + } + }, + { + "id": "dining-table", + "name": "Esstisch", + "category": "tables", + "rooms": ["esszimmer", "kueche"], + "dimensions": { "width": 1.8, "depth": 0.9, "height": 0.75 }, + "mesh": { + "type": "group", + "parts": [ + { + "name": "top", + "geometry": "box", + "size": [1.8, 0.04, 0.9], + "position": [0, 0.73, 0], + "color": "#a0845c" + }, + { + "name": "leg_fl", + "geometry": "box", + "size": [0.08, 0.71, 0.08], + "position": [-0.8, 0.355, 0.35], + "color": "#8b7355" + }, + { + "name": "leg_fr", + "geometry": "box", + "size": [0.08, 0.71, 0.08], + "position": [0.8, 0.355, 0.35], + "color": "#8b7355" + }, + { + "name": "leg_bl", + "geometry": "box", + "size": [0.08, 0.71, 0.08], + "position": [-0.8, 0.355, -0.35], + "color": "#8b7355" + }, + { + "name": "leg_br", + "geometry": "box", + "size": [0.08, 0.71, 0.08], + "position": [0.8, 0.355, -0.35], + "color": "#8b7355" + } + ] + } + }, + { + "id": "desk", + "name": "Schreibtisch", + "category": "tables", + "rooms": ["arbeitszimmer", "kinderzimmer"], + "dimensions": { "width": 1.4, "depth": 0.7, "height": 0.75 }, + "mesh": { + "type": "group", + "parts": [ + { + "name": "top", + "geometry": "box", + "size": [1.4, 0.03, 0.7], + "position": [0, 0.735, 0], + "color": "#b8a88a" + }, + { + "name": "leg_left", + "geometry": "box", + "size": [0.04, 0.72, 0.65], + "position": [-0.66, 0.36, 0], + "color": "#8b7355" + }, + { + "name": "leg_right", + "geometry": "box", + "size": [0.04, 0.72, 0.65], + "position": [0.66, 0.36, 0], + "color": "#8b7355" + }, + { + "name": "drawer_unit", + "geometry": "box", + "size": [0.4, 0.5, 0.6], + "position": [0.46, 0.25, -0.02], + "color": "#a09080" + } + ] + } + }, + { + "id": "nightstand", + "name": "Nachttisch", + "category": "tables", + "rooms": ["schlafzimmer", "kinderzimmer"], + "dimensions": { "width": 0.45, "depth": 0.4, "height": 0.55 }, + "mesh": { + "type": "group", + "parts": [ + { + "name": "body", + "geometry": "box", + "size": [0.45, 0.55, 0.4], + "position": [0, 0.275, 0], + "color": "#c4b59b" + }, + { + "name": "drawer_face", + "geometry": "box", + "size": [0.4, 0.2, 0.02], + "position": [0, 0.35, 0.19], + "color": "#b0a08a" + } + ] + } + }, + { + "id": "tv-stand", + "name": "TV-Lowboard", + "category": "storage", + "rooms": ["wohnzimmer"], + "dimensions": { "width": 1.6, "depth": 0.45, "height": 0.5 }, + "mesh": { + "type": "group", + "parts": [ + { + "name": "body", + "geometry": "box", + "size": [1.6, 0.5, 0.45], + "position": [0, 0.25, 0], + "color": "#f0ece4" + }, + { + "name": "door_left", + "geometry": "box", + "size": [0.5, 0.35, 0.02], + "position": [-0.4, 0.2, 0.22], + "color": "#e0dcd4" + }, + { + "name": "door_right", + "geometry": "box", + "size": [0.5, 0.35, 0.02], + "position": [0.4, 0.2, 0.22], + "color": "#e0dcd4" + } + ] + } + }, + { + "id": "bookshelf", + "name": "Buecherregal", + "category": "storage", + "rooms": ["wohnzimmer", "arbeitszimmer", "kinderzimmer"], + "dimensions": { "width": 0.8, "depth": 0.3, "height": 1.85 }, + "mesh": { + "type": "group", + "parts": [ + { + "name": "frame_left", + "geometry": "box", + "size": [0.03, 1.85, 0.3], + "position": [-0.385, 0.925, 0], + "color": "#c4b59b" + }, + { + "name": "frame_right", + "geometry": "box", + "size": [0.03, 1.85, 0.3], + "position": [0.385, 0.925, 0], + "color": "#c4b59b" + }, + { + "name": "shelf_1", + "geometry": "box", + "size": [0.74, 0.02, 0.28], + "position": [0, 0.01, 0], + "color": "#b0a08a" + }, + { + "name": "shelf_2", + "geometry": "box", + "size": [0.74, 0.02, 0.28], + "position": [0, 0.37, 0], + "color": "#b0a08a" + }, + { + "name": "shelf_3", + "geometry": "box", + "size": [0.74, 0.02, 0.28], + "position": [0, 0.74, 0], + "color": "#b0a08a" + }, + { + "name": "shelf_4", + "geometry": "box", + "size": [0.74, 0.02, 0.28], + "position": [0, 1.11, 0], + "color": "#b0a08a" + }, + { + "name": "shelf_5", + "geometry": "box", + "size": [0.74, 0.02, 0.28], + "position": [0, 1.48, 0], + "color": "#b0a08a" + }, + { + "name": "shelf_top", + "geometry": "box", + "size": [0.74, 0.02, 0.28], + "position": [0, 1.84, 0], + "color": "#b0a08a" + } + ] + } + }, + { + "id": "wardrobe", + "name": "Kleiderschrank", + "category": "storage", + "rooms": ["schlafzimmer", "kinderzimmer"], + "dimensions": { "width": 2.0, "depth": 0.6, "height": 2.2 }, + "mesh": { + "type": "group", + "parts": [ + { + "name": "body", + "geometry": "box", + "size": [2.0, 2.2, 0.6], + "position": [0, 1.1, 0], + "color": "#f0ece4" + }, + { + "name": "door_left", + "geometry": "box", + "size": [0.98, 2.1, 0.02], + "position": [-0.5, 1.1, 0.29], + "color": "#e8e4dc" + }, + { + "name": "door_right", + "geometry": "box", + "size": [0.98, 2.1, 0.02], + "position": [0.5, 1.1, 0.29], + "color": "#e8e4dc" + }, + { + "name": "handle_left", + "geometry": "box", + "size": [0.02, 0.12, 0.03], + "position": [-0.05, 1.1, 0.31], + "color": "#888888" + }, + { + "name": "handle_right", + "geometry": "box", + "size": [0.02, 0.12, 0.03], + "position": [0.05, 1.1, 0.31], + "color": "#888888" + } + ] + } + }, + { + "id": "shoe-cabinet", + "name": "Schuhschrank", + "category": "storage", + "rooms": ["flur"], + "dimensions": { "width": 0.9, "depth": 0.35, "height": 1.1 }, + "mesh": { + "type": "group", + "parts": [ + { + "name": "body", + "geometry": "box", + "size": [0.9, 1.1, 0.35], + "position": [0, 0.55, 0], + "color": "#f0ece4" + }, + { + "name": "door", + "geometry": "box", + "size": [0.86, 1.0, 0.02], + "position": [0, 0.55, 0.165], + "color": "#e8e4dc" + } + ] + } + }, + { + "id": "coat-rack", + "name": "Garderobe", + "category": "storage", + "rooms": ["flur"], + "dimensions": { "width": 0.8, "depth": 0.3, "height": 1.8 }, + "mesh": { + "type": "group", + "parts": [ + { + "name": "panel", + "geometry": "box", + "size": [0.8, 1.8, 0.04], + "position": [0, 0.9, 0], + "color": "#a0845c" + }, + { + "name": "hook_1", + "geometry": "box", + "size": [0.04, 0.04, 0.08], + "position": [-0.25, 1.55, 0.06], + "color": "#888888" + }, + { + "name": "hook_2", + "geometry": "box", + "size": [0.04, 0.04, 0.08], + "position": [0, 1.55, 0.06], + "color": "#888888" + }, + { + "name": "hook_3", + "geometry": "box", + "size": [0.04, 0.04, 0.08], + "position": [0.25, 1.55, 0.06], + "color": "#888888" + }, + { + "name": "shelf", + "geometry": "box", + "size": [0.8, 0.03, 0.25], + "position": [0, 1.7, 0.1], + "color": "#a0845c" + } + ] + } + }, + { + "id": "sideboard", + "name": "Sideboard", + "category": "storage", + "rooms": ["wohnzimmer", "esszimmer", "flur"], + "dimensions": { "width": 1.5, "depth": 0.4, "height": 0.85 }, + "mesh": { + "type": "group", + "parts": [ + { + "name": "body", + "geometry": "box", + "size": [1.5, 0.85, 0.4], + "position": [0, 0.425, 0], + "color": "#f0ece4" + }, + { + "name": "door_left", + "geometry": "box", + "size": [0.48, 0.6, 0.02], + "position": [-0.37, 0.35, 0.19], + "color": "#e0dcd4" + }, + { + "name": "door_right", + "geometry": "box", + "size": [0.48, 0.6, 0.02], + "position": [0.37, 0.35, 0.19], + "color": "#e0dcd4" + } + ] + } + }, + { + "id": "double-bed", + "name": "Doppelbett", + "category": "beds", + "rooms": ["schlafzimmer"], + "dimensions": { "width": 1.8, "depth": 2.1, "height": 0.45 }, + "mesh": { + "type": "group", + "parts": [ + { + "name": "frame", + "geometry": "box", + "size": [1.8, 0.3, 2.1], + "position": [0, 0.15, 0], + "color": "#c4b59b" + }, + { + "name": "mattress", + "geometry": "box", + "size": [1.7, 0.2, 2.0], + "position": [0, 0.4, 0], + "color": "#f5f0eb" + }, + { + "name": "headboard", + "geometry": "box", + "size": [1.8, 0.6, 0.06], + "position": [0, 0.6, -1.02], + "color": "#a09080" + }, + { + "name": "pillow_left", + "geometry": "box", + "size": [0.6, 0.08, 0.4], + "position": [-0.4, 0.54, -0.7], + "color": "#ffffff" + }, + { + "name": "pillow_right", + "geometry": "box", + "size": [0.6, 0.08, 0.4], + "position": [0.4, 0.54, -0.7], + "color": "#ffffff" + } + ] + } + }, + { + "id": "single-bed", + "name": "Einzelbett", + "category": "beds", + "rooms": ["kinderzimmer"], + "dimensions": { "width": 0.9, "depth": 2.0, "height": 0.45 }, + "mesh": { + "type": "group", + "parts": [ + { + "name": "frame", + "geometry": "box", + "size": [0.9, 0.3, 2.0], + "position": [0, 0.15, 0], + "color": "#c4b59b" + }, + { + "name": "mattress", + "geometry": "box", + "size": [0.85, 0.2, 1.9], + "position": [0, 0.4, 0], + "color": "#f5f0eb" + }, + { + "name": "headboard", + "geometry": "box", + "size": [0.9, 0.5, 0.05], + "position": [0, 0.55, -0.975], + "color": "#a09080" + }, + { + "name": "pillow", + "geometry": "box", + "size": [0.5, 0.08, 0.35], + "position": [0, 0.54, -0.7], + "color": "#ffffff" + } + ] + } + }, + { + "id": "office-chair", + "name": "Buerostuhl", + "category": "seating", + "rooms": ["arbeitszimmer"], + "dimensions": { "width": 0.65, "depth": 0.65, "height": 1.1 }, + "mesh": { + "type": "group", + "parts": [ + { + "name": "seat", + "geometry": "box", + "size": [0.5, 0.08, 0.5], + "position": [0, 0.48, 0], + "color": "#333333" + }, + { + "name": "backrest", + "geometry": "box", + "size": [0.48, 0.5, 0.06], + "position": [0, 0.8, -0.22], + "color": "#333333" + }, + { + "name": "pedestal", + "geometry": "cylinder", + "radius": 0.03, + "height": 0.44, + "position": [0, 0.22, 0], + "color": "#666666" + }, + { + "name": "base", + "geometry": "cylinder", + "radius": 0.3, + "height": 0.04, + "position": [0, 0.02, 0], + "color": "#444444" + } + ] + } + }, + { + "id": "kitchen-counter", + "name": "Kuechenzeile", + "category": "kitchen", + "rooms": ["kueche"], + "dimensions": { "width": 2.4, "depth": 0.6, "height": 0.9 }, + "mesh": { + "type": "group", + "parts": [ + { + "name": "cabinet", + "geometry": "box", + "size": [2.4, 0.85, 0.6], + "position": [0, 0.425, 0], + "color": "#f0ece4" + }, + { + "name": "countertop", + "geometry": "box", + "size": [2.4, 0.04, 0.62], + "position": [0, 0.87, 0], + "color": "#888888" + }, + { + "name": "door_1", + "geometry": "box", + "size": [0.55, 0.7, 0.02], + "position": [-0.85, 0.4, 0.29], + "color": "#e0dcd4" + }, + { + "name": "door_2", + "geometry": "box", + "size": [0.55, 0.7, 0.02], + "position": [-0.28, 0.4, 0.29], + "color": "#e0dcd4" + }, + { + "name": "door_3", + "geometry": "box", + "size": [0.55, 0.7, 0.02], + "position": [0.28, 0.4, 0.29], + "color": "#e0dcd4" + }, + { + "name": "door_4", + "geometry": "box", + "size": [0.55, 0.7, 0.02], + "position": [0.85, 0.4, 0.29], + "color": "#e0dcd4" + } + ] + } + }, + { + "id": "kitchen-wall-cabinet", + "name": "Haengeschrank", + "category": "kitchen", + "rooms": ["kueche"], + "dimensions": { "width": 2.4, "depth": 0.35, "height": 0.7 }, + "mesh": { + "type": "group", + "parts": [ + { + "name": "body", + "geometry": "box", + "size": [2.4, 0.7, 0.35], + "position": [0, 1.75, 0], + "color": "#f0ece4" + }, + { + "name": "door_left", + "geometry": "box", + "size": [1.18, 0.66, 0.02], + "position": [-0.6, 1.75, 0.165], + "color": "#e0dcd4" + }, + { + "name": "door_right", + "geometry": "box", + "size": [1.18, 0.66, 0.02], + "position": [0.6, 1.75, 0.165], + "color": "#e0dcd4" + } + ] + } + }, + { + "id": "fridge", + "name": "Kuehlschrank", + "category": "kitchen", + "rooms": ["kueche"], + "dimensions": { "width": 0.6, "depth": 0.65, "height": 1.8 }, + "mesh": { + "type": "group", + "parts": [ + { + "name": "body", + "geometry": "box", + "size": [0.6, 1.8, 0.65], + "position": [0, 0.9, 0], + "color": "#e0e0e0" + }, + { + "name": "door_upper", + "geometry": "box", + "size": [0.58, 1.1, 0.02], + "position": [0, 1.25, 0.315], + "color": "#d0d0d0" + }, + { + "name": "door_lower", + "geometry": "box", + "size": [0.58, 0.6, 0.02], + "position": [0, 0.35, 0.315], + "color": "#d0d0d0" + }, + { + "name": "handle_upper", + "geometry": "box", + "size": [0.02, 0.2, 0.03], + "position": [0.25, 1.25, 0.34], + "color": "#aaaaaa" + }, + { + "name": "handle_lower", + "geometry": "box", + "size": [0.02, 0.15, 0.03], + "position": [0.25, 0.5, 0.34], + "color": "#aaaaaa" + } + ] + } + }, + { + "id": "toilet", + "name": "Toilette", + "category": "bathroom", + "rooms": ["badezimmer", "gaeste_wc"], + "dimensions": { "width": 0.4, "depth": 0.65, "height": 0.45 }, + "mesh": { + "type": "group", + "parts": [ + { + "name": "bowl", + "geometry": "box", + "size": [0.38, 0.38, 0.55], + "position": [0, 0.19, 0.05], + "color": "#ffffff" + }, + { + "name": "tank", + "geometry": "box", + "size": [0.36, 0.45, 0.18], + "position": [0, 0.225, -0.235], + "color": "#ffffff" + }, + { + "name": "seat", + "geometry": "box", + "size": [0.36, 0.03, 0.42], + "position": [0, 0.4, 0.1], + "color": "#f5f5f5" + } + ] + } + }, + { + "id": "sink-bathroom", + "name": "Waschbecken", + "category": "bathroom", + "rooms": ["badezimmer", "gaeste_wc"], + "dimensions": { "width": 0.6, "depth": 0.45, "height": 0.85 }, + "mesh": { + "type": "group", + "parts": [ + { + "name": "vanity", + "geometry": "box", + "size": [0.6, 0.6, 0.45], + "position": [0, 0.3, 0], + "color": "#f0ece4" + }, + { + "name": "basin", + "geometry": "box", + "size": [0.55, 0.15, 0.4], + "position": [0, 0.75, 0], + "color": "#ffffff" + }, + { + "name": "faucet", + "geometry": "cylinder", + "radius": 0.015, + "height": 0.2, + "position": [0, 0.9, -0.12], + "color": "#cccccc" + } + ] + } + }, + { + "id": "bathtub", + "name": "Badewanne", + "category": "bathroom", + "rooms": ["badezimmer"], + "dimensions": { "width": 0.75, "depth": 1.7, "height": 0.6 }, + "mesh": { + "type": "group", + "parts": [ + { + "name": "outer", + "geometry": "box", + "size": [0.75, 0.6, 1.7], + "position": [0, 0.3, 0], + "color": "#ffffff" + }, + { + "name": "inner", + "geometry": "box", + "size": [0.65, 0.5, 1.6], + "position": [0, 0.35, 0], + "color": "#f0f0f0" + } + ] + } + }, + { + "id": "shower", + "name": "Dusche", + "category": "bathroom", + "rooms": ["badezimmer"], + "dimensions": { "width": 0.9, "depth": 0.9, "height": 2.1 }, + "mesh": { + "type": "group", + "parts": [ + { + "name": "tray", + "geometry": "box", + "size": [0.9, 0.05, 0.9], + "position": [0, 0.025, 0], + "color": "#f0f0f0" + }, + { + "name": "glass_left", + "geometry": "box", + "size": [0.02, 2.0, 0.88], + "position": [-0.44, 1.05, 0], + "color": "#c8e0e8" + }, + { + "name": "glass_front", + "geometry": "box", + "size": [0.88, 2.0, 0.02], + "position": [0, 1.05, 0.44], + "color": "#c8e0e8" + }, + { + "name": "showerhead", + "geometry": "cylinder", + "radius": 0.06, + "height": 0.03, + "position": [0, 2.0, -0.25], + "color": "#cccccc" + } + ] + } + }, + { + "id": "bathroom-cabinet", + "name": "Badezimmerschrank", + "category": "bathroom", + "rooms": ["badezimmer"], + "dimensions": { "width": 0.6, "depth": 0.2, "height": 0.7 }, + "mesh": { + "type": "group", + "parts": [ + { + "name": "body", + "geometry": "box", + "size": [0.6, 0.7, 0.2], + "position": [0, 1.5, 0], + "color": "#f0ece4" + }, + { + "name": "mirror", + "geometry": "box", + "size": [0.56, 0.66, 0.01], + "position": [0, 1.5, 0.095], + "color": "#d4e8f0" + } + ] + } + }, + { + "id": "washing-machine", + "name": "Waschmaschine", + "category": "bathroom", + "rooms": ["badezimmer"], + "dimensions": { "width": 0.6, "depth": 0.6, "height": 0.85 }, + "mesh": { + "type": "group", + "parts": [ + { + "name": "body", + "geometry": "box", + "size": [0.6, 0.85, 0.6], + "position": [0, 0.425, 0], + "color": "#e8e8e8" + }, + { + "name": "door", + "geometry": "cylinder", + "radius": 0.2, + "height": 0.03, + "position": [0, 0.45, 0.3], + "color": "#cccccc" + }, + { + "name": "panel", + "geometry": "box", + "size": [0.56, 0.1, 0.02], + "position": [0, 0.78, 0.29], + "color": "#d0d0d0" + } + ] + } + }, + { + "id": "rug-large", + "name": "Teppich gross", + "category": "decor", + "rooms": ["wohnzimmer", "schlafzimmer"], + "dimensions": { "width": 2.0, "depth": 3.0, "height": 0.02 }, + "mesh": { + "type": "group", + "parts": [ + { + "name": "rug", + "geometry": "box", + "size": [2.0, 0.02, 3.0], + "position": [0, 0.01, 0], + "color": "#8b6d5c" + } + ] + } + }, + { + "id": "rug-small", + "name": "Teppich klein", + "category": "decor", + "rooms": ["kinderzimmer", "flur"], + "dimensions": { "width": 1.2, "depth": 1.7, "height": 0.02 }, + "mesh": { + "type": "group", + "parts": [ + { + "name": "rug", + "geometry": "box", + "size": [1.2, 0.02, 1.7], + "position": [0, 0.01, 0], + "color": "#a07060" + } + ] + } + }, + { + "id": "floor-lamp", + "name": "Stehlampe", + "category": "lighting", + "rooms": ["wohnzimmer", "schlafzimmer", "arbeitszimmer"], + "dimensions": { "width": 0.35, "depth": 0.35, "height": 1.65 }, + "mesh": { + "type": "group", + "parts": [ + { + "name": "base", + "geometry": "cylinder", + "radius": 0.15, + "height": 0.03, + "position": [0, 0.015, 0], + "color": "#444444" + }, + { + "name": "pole", + "geometry": "cylinder", + "radius": 0.015, + "height": 1.4, + "position": [0, 0.73, 0], + "color": "#444444" + }, + { + "name": "shade", + "geometry": "cylinder", + "radius": 0.17, + "height": 0.25, + "position": [0, 1.53, 0], + "color": "#f5e6c8" + } + ] + } + }, + { + "id": "desk-lamp", + "name": "Schreibtischlampe", + "category": "lighting", + "rooms": ["arbeitszimmer", "kinderzimmer", "schlafzimmer"], + "dimensions": { "width": 0.2, "depth": 0.2, "height": 0.45 }, + "mesh": { + "type": "group", + "parts": [ + { + "name": "base", + "geometry": "cylinder", + "radius": 0.08, + "height": 0.02, + "position": [0, 0.01, 0], + "color": "#333333" + }, + { + "name": "arm", + "geometry": "cylinder", + "radius": 0.01, + "height": 0.35, + "position": [0, 0.19, 0], + "color": "#333333" + }, + { + "name": "shade", + "geometry": "cylinder", + "radius": 0.09, + "height": 0.1, + "position": [0, 0.4, 0], + "color": "#333333" + } + ] + } + }, + { + "id": "tv", + "name": "Fernseher", + "category": "decor", + "rooms": ["wohnzimmer"], + "dimensions": { "width": 1.2, "depth": 0.08, "height": 0.7 }, + "mesh": { + "type": "group", + "parts": [ + { + "name": "screen", + "geometry": "box", + "size": [1.2, 0.7, 0.04], + "position": [0, 0.85, 0], + "color": "#1a1a1a" + }, + { + "name": "bezel", + "geometry": "box", + "size": [1.22, 0.72, 0.03], + "position": [0, 0.85, -0.005], + "color": "#111111" + }, + { + "name": "stand", + "geometry": "box", + "size": [0.3, 0.04, 0.15], + "position": [0, 0.48, 0], + "color": "#222222" + } + ] + } + }, + { + "id": "plant-large", + "name": "Zimmerpflanze gross", + "category": "decor", + "rooms": ["wohnzimmer", "flur", "arbeitszimmer"], + "dimensions": { "width": 0.4, "depth": 0.4, "height": 1.2 }, + "mesh": { + "type": "group", + "parts": [ + { + "name": "pot", + "geometry": "cylinder", + "radius": 0.15, + "height": 0.3, + "position": [0, 0.15, 0], + "color": "#8b6050" + }, + { + "name": "foliage", + "geometry": "cylinder", + "radius": 0.2, + "height": 0.8, + "position": [0, 0.8, 0], + "color": "#3d7a3d" + } + ] + } + }, + { + "id": "plant-small", + "name": "Zimmerpflanze klein", + "category": "decor", + "rooms": ["arbeitszimmer", "badezimmer", "schlafzimmer"], + "dimensions": { "width": 0.2, "depth": 0.2, "height": 0.35 }, + "mesh": { + "type": "group", + "parts": [ + { + "name": "pot", + "geometry": "cylinder", + "radius": 0.08, + "height": 0.15, + "position": [0, 0.075, 0], + "color": "#8b6050" + }, + { + "name": "foliage", + "geometry": "cylinder", + "radius": 0.1, + "height": 0.2, + "position": [0, 0.25, 0], + "color": "#4a8b4a" + } + ] + } + }, + { + "id": "kitchen-island", + "name": "Kochinsel", + "category": "kitchen", + "rooms": ["kueche"], + "dimensions": { "width": 1.5, "depth": 0.8, "height": 0.9 }, + "mesh": { + "type": "group", + "parts": [ + { + "name": "cabinet", + "geometry": "box", + "size": [1.5, 0.85, 0.8], + "position": [0, 0.425, 0], + "color": "#f0ece4" + }, + { + "name": "countertop", + "geometry": "box", + "size": [1.6, 0.04, 0.9], + "position": [0, 0.87, 0], + "color": "#888888" + } + ] + } + }, + { + "id": "kids-shelf", + "name": "Kinderregal", + "category": "storage", + "rooms": ["kinderzimmer"], + "dimensions": { "width": 0.8, "depth": 0.3, "height": 1.1 }, + "mesh": { + "type": "group", + "parts": [ + { + "name": "frame", + "geometry": "box", + "size": [0.8, 1.1, 0.3], + "position": [0, 0.55, 0], + "color": "#f0ece4" + }, + { + "name": "shelf_1", + "geometry": "box", + "size": [0.74, 0.02, 0.28], + "position": [0, 0.27, 0], + "color": "#e0dcd4" + }, + { + "name": "shelf_2", + "geometry": "box", + "size": [0.74, 0.02, 0.28], + "position": [0, 0.55, 0], + "color": "#e0dcd4" + }, + { + "name": "shelf_3", + "geometry": "box", + "size": [0.74, 0.02, 0.28], + "position": [0, 0.83, 0], + "color": "#e0dcd4" + } + ] + } + }, + { + "id": "kids-wardrobe", + "name": "Kinderschrank", + "category": "storage", + "rooms": ["kinderzimmer"], + "dimensions": { "width": 1.2, "depth": 0.55, "height": 1.6 }, + "mesh": { + "type": "group", + "parts": [ + { + "name": "body", + "geometry": "box", + "size": [1.2, 1.6, 0.55], + "position": [0, 0.8, 0], + "color": "#f0ece4" + }, + { + "name": "door_left", + "geometry": "box", + "size": [0.58, 1.5, 0.02], + "position": [-0.3, 0.8, 0.265], + "color": "#e8e4dc" + }, + { + "name": "door_right", + "geometry": "box", + "size": [0.58, 1.5, 0.02], + "position": [0.3, 0.8, 0.265], + "color": "#e8e4dc" + } + ] + } + }, + { + "id": "console-table", + "name": "Konsolentisch", + "category": "tables", + "rooms": ["flur"], + "dimensions": { "width": 1.0, "depth": 0.3, "height": 0.8 }, + "mesh": { + "type": "group", + "parts": [ + { + "name": "top", + "geometry": "box", + "size": [1.0, 0.03, 0.3], + "position": [0, 0.785, 0], + "color": "#a0845c" + }, + { + "name": "leg_left", + "geometry": "box", + "size": [0.04, 0.77, 0.04], + "position": [-0.44, 0.385, 0], + "color": "#8b7355" + }, + { + "name": "leg_right", + "geometry": "box", + "size": [0.04, 0.77, 0.04], + "position": [0.44, 0.385, 0], + "color": "#8b7355" + }, + { + "name": "stretcher", + "geometry": "box", + "size": [0.84, 0.03, 0.25], + "position": [0, 0.15, 0], + "color": "#a0845c" + } + ] + } + }, + { + "id": "mirror-hall", + "name": "Wandspiegel", + "category": "decor", + "rooms": ["flur", "badezimmer"], + "dimensions": { "width": 0.5, "depth": 0.03, "height": 1.2 }, + "mesh": { + "type": "group", + "parts": [ + { + "name": "frame", + "geometry": "box", + "size": [0.54, 1.24, 0.03], + "position": [0, 1.4, 0], + "color": "#8b7355" + }, + { + "name": "glass", + "geometry": "box", + "size": [0.5, 1.2, 0.01], + "position": [0, 1.4, 0.01], + "color": "#d4e8f0" + } + ] + } + } + ] +}