{
  "$schema": "./products.schema.json",
  "partSets": {
    "outline": [
      {
        "id": "upholstery",
        "match": "Upholstery",
        "uvPerM": 1000,
        "boxUV": true,
        "material": {"color": "#a49f96", "roughness": 0.95}
      },
      {"id": "base", "match": "Base", "material": {"color": "#e4e4e4", "roughness": 0.1, "metalness": 1}}
    ],
    "soft-side": [
      {
        "id": "top",
        "match": "Top",
        "uvPerM": 1000,
        "planarUV": "xz",
        "material": {"color": "#b4a78c", "roughness": 0.62}
      },
      {"id": "base", "match": "Base", "material": {"color": "#b8b6af", "roughness": 0.55}},
      {"id": "glides", "match": "Glides", "material": {"color": "#1c1c1c", "roughness": 0.6}}
    ]
  },
  "products": {
    "muuto-in-situ-2-seater-7": {
      "maker": "Muuto",
      "name": "In Situ 2-seater, config. 7",
      "category": "sofa",
      "url": "https://www.muuto.com/product/In-Situ-Modular-Sofa-2-Seater-Configurations--IS2SC7/",
      "itemUrl": "https://www.muuto.com/product/In-Situ-Modular-Sofa-2-Seater-Configurations--IS2SC7/{item}/",
      "size": {"width": 2.16, "depth": 1.69, "height": 0.7},
      "seatDepth": 1.02,
      "finish": "Clay 12, black frame",
      "options": "assets/furniture/muuto-in-situ-2-seater-7/options.json",
      "model": {
        "file": "assets/furniture/muuto-in-situ-2-seater-7/model.obj",
        "scale": 0.001,
        "parts": [
          {"id": "frame", "match": "Legs", "material": {"color": "#2f2f2f", "roughness": 0.74, "metalness": 1}},
          {"id": "upholstery", "match": "Seat", "uvPerM": 1000, "material": {"color": "#a49f96", "roughness": 0.95}}
        ]
      }
    },
    "muuto-workshop-table-130x65": {
      "maker": "Muuto",
      "name": "Workshop Table 130 × 65 cm",
      "category": "dining-table",
      "url": "https://www.muuto.com/product/Workshop-Table--WORTAB130A/",
      "itemUrl": "https://www.muuto.com/product/Workshop-Table--WORTAB130A/{item}/",
      "size": {"width": 1.3, "depth": 0.65, "height": 0.73},
      "finish": "Warm Grey linoleum top, oak frame",
      "options": "assets/furniture/muuto-workshop-table-130x65/options.json",
      "model": {
        "file": "assets/furniture/muuto-workshop-table-130x65/model.obj",
        "scale": 0.001,
        "parts": [
          {
            "id": "top",
            "match": "Table_Top",
            "uvPerM": 1000,
            "planarUV": "zx",
            "material": {"color": "#d6d2c6", "roughness": 0.72}
          },
          {"id": "legs", "match": "Vertical", "uvPerM": 39.37, "material": {"color": "#d2bda1", "roughness": 0.58}},
          {
            "id": "rails",
            "match": "Horizontal",
            "uvPerM": 39.37,
            "rotate": 90,
            "material": {"color": "#d2bda1", "roughness": 0.58}
          }
        ]
      }
    },
    "muuto-fiber-side-chair-wood": {
      "maker": "Muuto",
      "name": "Fiber Side Chair, wood base",
      "category": "chair",
      "url": "https://www.muuto.com/product/Fiber-Side-Chair-Wood-Base--FISIDWON/",
      "itemUrl": "https://www.muuto.com/product/Fiber-Side-Chair-Wood-Base--FISIDWON/{item}/",
      "size": {"width": 0.495, "depth": 0.53, "height": 0.77},
      "finish": "Natural White shell, oak base",
      "options": "assets/furniture/muuto-fiber-side-chair-wood/options.json",
      "model": {
        "file": "assets/furniture/muuto-fiber-side-chair-wood/model.obj",
        "scale": 0.001,
        "parts": [
          {"id": "shell", "match": "Shell", "material": {"color": "#e7e5e3", "roughness": 0.35}},
          {"id": "base", "match": "Base", "uvPerM": 1000, "boxUV": true, "material": {"color": "#b49873", "roughness": 0.71}},
          {"id": "glides", "match": "Glide", "material": {"color": "#1c1c1c", "roughness": 0.6}}
        ]
      }
    },
    "muuto-outline-soft-2-seater": {
      "maker": "Muuto",
      "name": "Outline Soft Sofa, 2-seater",
      "category": "sofa",
      "url": "https://www.muuto.com/product/Outline-Soft-Sofa-2-Seater--OS2S/",
      "itemUrl": "https://www.muuto.com/product/Outline-Soft-Sofa-2-Seater--OS2S/{item}/",
      "size": {"width": 1.7, "depth": 0.84, "height": 0.78},
      "finish": "Clay 12, polished aluminium legs",
      "options": "assets/furniture/muuto-outline-soft-2-seater/options.json",
      "model": {
        "file": "assets/furniture/muuto-outline-soft-2-seater/standard.obj",
        "scale": 0.001,
        "parts": "outline",
        "variants": {"castors": {"file": "assets/furniture/muuto-outline-soft-2-seater/castors.obj", "scale": 0.001, "size": {"width": 1.7, "depth": 0.93, "height": 0.8}}}
      }
    },
    "muuto-outline-soft-3-seater": {
      "maker": "Muuto",
      "name": "Outline Soft Sofa, 3-seater",
      "category": "sofa",
      "url": "https://www.muuto.com/product/Outline-Soft-Sofa-3-Seater--OS3S/",
      "itemUrl": "https://www.muuto.com/product/Outline-Soft-Sofa-3-Seater--OS3S/{item}/",
      "size": {"width": 2.2, "depth": 0.84, "height": 0.78},
      "finish": "Clay 12, polished aluminium legs",
      "options": "assets/furniture/muuto-outline-soft-3-seater/options.json",
      "model": {
        "file": "assets/furniture/muuto-outline-soft-3-seater/standard.obj",
        "scale": 0.001,
        "parts": "outline",
        "variants": {"castors": {"file": "assets/furniture/muuto-outline-soft-3-seater/castors.obj", "scale": 0.001, "size": {"width": 2.2, "depth": 0.93, "height": 0.8}}}
      }
    },
    "muuto-outline-pouf": {
      "maker": "Muuto",
      "name": "Outline Pouf",
      "category": "pouf",
      "url": "https://www.muuto.com/product/Outline-Pouf--OUPOU/",
      "itemUrl": "https://www.muuto.com/product/Outline-Pouf--OUPOU/{item}/",
      "size": {"width": 1.11, "depth": 0.78, "height": 0.4},
      "finish": "Clay 12, polished aluminium legs",
      "options": "assets/furniture/muuto-outline-pouf/options.json",
      "model": {"file": "assets/furniture/muuto-outline-pouf/model.obj", "scale": 0.001, "parts": "outline"}
    },
    "muuto-soft-side-table": {
      "maker": "Muuto",
      "name": "Soft Side Table",
      "category": "side-table",
      "url": "https://www.muuto.com/product/Soft-Side-Table/",
      "itemUrl": "https://www.muuto.com/product/Soft-Side-Table--SOSIT{size}/{item}/",
      "size": {"width": 0.48, "depth": 0.48, "height": 0.4},
      "finish": "Solid Oak top, grey base",
      "options": "assets/furniture/muuto-soft-side-table/options.json",
      "model": {
        "file": "assets/furniture/muuto-soft-side-table/d48-h40.obj",
        "scale": 0.001,
        "parts": "soft-side",
        "variants": {
          "d41-h40": {"file": "assets/furniture/muuto-soft-side-table/d41-h40.obj", "scale": 0.001},
          "d41-h48": {"file": "assets/furniture/muuto-soft-side-table/d41-h48.obj", "scale": 0.001},
          "d48-h48": {"file": "assets/furniture/muuto-soft-side-table/d48-h48.obj", "scale": 0.001}
        }
      }
    },
    "muuto-post-floor-lamp": {
      "maker": "Muuto",
      "name": "Post Floor Lamp",
      "category": "lamp",
      "url": "https://www.muuto.com/product/Post-Floor-Lamp/",
      "itemUrl": "https://www.muuto.com/product/Post-Floor-Lamp--POSFLR/{item}/",
      "size": {"width": 0.095, "depth": 0.095, "height": 1.362},
      "finish": "Black",
      "options": "assets/furniture/muuto-post-floor-lamp/options.json",
      "lights": {
        "glow": "diffuser",
        "angle": 84,
        "penumbra": 1,
        "spots": [
          {"position": [-0.0288, 0.7528, 0.0126], "direction": [0, -0.492, 0.870]},
          {"position": [0.0483, 1.2453, 0.0401], "direction": [0.819, -0.574, 0]}
        ]
      },
      "model": {
        "file": "assets/furniture/muuto-post-floor-lamp/model.obj",
        "scale": 0.001,
        "parts": [
          {"id": "base", "match": "^Base$", "material": {"color": "#28292b", "roughness": 0.6, "metalness": 0.1}},
          {"id": "rod", "match": "^Rod$", "material": {"color": "#28292b", "roughness": 0.6, "metalness": 0.1}},
          {"id": "shade", "match": "^(Shade|Grommet)$", "material": {"color": "#28292b", "roughness": 0.6, "metalness": 0.1}},
          {"id": "diffuser", "match": "^Diffuser$", "material": {"color": "#edebe5", "roughness": 0.3}},
          {"id": "cord", "match": "^Cord$", "material": {"color": "#28292b", "roughness": 0.75}},
          {"id": "drops", "match": "^CableDrops$", "material": {"color": "#28292b", "roughness": 0.5}}
        ]
      }
    },
    "polyhaven-potted-plant-04": {
      "maker": "Poly Haven",
      "name": "Potted Plant 04 (zebra haworthia)",
      "category": "plant",
      "url": "https://polyhaven.com/a/potted_plant_04",
      "size": {"width": 0.168, "depth": 0.185, "height": 0.267},
      "footprint": {"width": 0.168, "depth": 0.168},
      "finish": "White glazed ceramic pot",
      "source": {"url": "https://polyhaven.com/a/potted_plant_04", "author": "James Ray Cock", "licence": "CC0 1.0"},
      "model": {"file": "assets/plants/zebra-haworthia/model.glb"}
    },
    "made-rubber-plant": {
      "maker": "Made for this planner",
      "name": "Rubber plant (Ficus elastica), young",
      "category": "plant",
      "size": {"width": 0.323, "depth": 0.21, "height": 0.364},
      "footprint": {"width": 0.132, "depth": 0.132},
      "finish": "Terracotta clay pot",
      "source": {"author": "Procedural, scripts/plants/rubber-plant.mjs", "licence": "CC0 1.0"},
      "model": {"file": "assets/plants/rubber-plant/model.glb"}
    },
    "made-snake-plant": {
      "maker": "Made for this planner",
      "name": "Snake plant (Dracaena trifasciata 'Laurentii'), small",
      "category": "plant",
      "size": {"width": 0.194, "depth": 0.14, "height": 0.406},
      "footprint": {"width": 0.14, "depth": 0.14},
      "finish": "Charcoal ceramic pot",
      "source": {"author": "Procedural, scripts/plants/snake-plant.mjs", "licence": "CC0 1.0"},
      "model": {"file": "assets/plants/snake-plant/model.glb"}
    },
    "beyeler-hodler-grammont-60x80": {
      "maker": "Fondation Beyeler",
      "name": "Ferdinand Hodler, Le Grammont après la pluie, 1917 (art print, 60 × 80 cm)",
      "category": "art",
      "url": "https://shop.fondationbeyeler.ch/en/artikel/ferdinand-hodler-le-grammont-apres-la-pluie-1917-28844",
      "itemUrl": "https://shop.fondationbeyeler.ch/en/artikel/ferdinand-hodler-le-grammont-apres-la-pluie-1917-{item}",
      "size": {"width": 0.83, "depth": 0.025, "height": 0.63},
      "finish": "White wood frame",
      "options": "assets/art/beyeler-hodler-grammont-60x80/options.json",
      "source": {
        "url": "https://commons.wikimedia.org/wiki/File:The_Grammont_after_the_Rain_by_Ferdinand_Hodler.jpg",
        "name": "Wikimedia Commons",
        "author": "Ferdinand Hodler (1853–1918)",
        "licence": "public domain"
      },
      "model": {
        "file": "assets/art/beyeler-hodler-grammont-60x80/model.glb",
        "parts": [
          {"id": "frame", "match": "^Frame$", "uvPerM": 1, "material": {"color": "#f1f0ec", "roughness": 0.6}},
          {"id": "paper", "match": "^Paper$", "material": {"color": "#efede6", "roughness": 0.9}},
          {"id": "image", "match": "^Image$", "material": {"texture": "assets/art/beyeler-hodler-grammont-60x80/print.jpg", "tile": 1, "roughness": 0.85}}
        ]
      }
    },
    "beyeler-hodler-mont-blanc-50x70": {
      "maker": "Fondation Beyeler",
      "name": "Ferdinand Hodler, Le Mont Blanc aux nuages roses, 1918 (art print, 50 × 70 cm)",
      "category": "art",
      "url": "https://shop.fondationbeyeler.ch/en/artikel/ferdinand-hodler-le-mont-blanc-aux-nuages-roses-1918-28845",
      "itemUrl": "https://shop.fondationbeyeler.ch/en/artikel/ferdinand-hodler-le-mont-blanc-aux-nuages-roses-1918-{item}",
      "size": {"width": 0.73, "depth": 0.025, "height": 0.53},
      "finish": "White wood frame",
      "options": "assets/art/beyeler-hodler-mont-blanc-50x70/options.json",
      "source": {
        "url": "https://commons.wikimedia.org/wiki/File:%27Mont-Blanc_with_Pink_Cloud%27_by_Ferdinand_Hodler,_1918.jpg",
        "name": "Wikimedia Commons",
        "author": "Ferdinand Hodler (1853–1918)",
        "licence": "public domain"
      },
      "model": {
        "file": "assets/art/beyeler-hodler-mont-blanc-50x70/model.glb",
        "parts": [
          {"id": "frame", "match": "^Frame$", "uvPerM": 1, "material": {"color": "#f1f0ec", "roughness": 0.6}},
          {"id": "paper", "match": "^Paper$", "material": {"color": "#efede6", "roughness": 0.9}},
          {"id": "image", "match": "^Image$", "material": {"texture": "assets/art/beyeler-hodler-mont-blanc-50x70/print.jpg", "tile": 1, "roughness": 0.85}}
        ],
        "variants": {"moebe": {"file": "assets/art/beyeler-hodler-mont-blanc-50x70/moebe.glb"}}
      }
    },
    "ikea-askholmen-chair": {
      "maker": "IKEA",
      "name": "ASKHOLMEN chair, outdoor, foldable",
      "category": "chair",
      "url": "https://www.ikea.com/ch/en/p/askholmen-chair-outdoor-foldable-dark-brown-20557502/",
      "itemUrl": "https://www.ikea.com/ch/en/p/-{item}/",
      "size": {"width": 0.36, "depth": 0.49, "height": 0.87},
      "finish": "Dark brown stained acacia",
      "options": "assets/garden/ikea-askholmen-chair/options.json",
      "source": {"name": "Made for this planner", "author": "Procedural, scripts/garden/askholmen.mjs, to IKEA's dimension drawing", "licence": "CC0 1.0"},
      "model": {
        "file": "assets/garden/ikea-askholmen-chair/model.glb",
        "parts": [
          {"id": "wood", "match": "^Wood$", "uvPerM": 1, "material": {"color": "#8f6744", "roughness": 0.72}},
          {"id": "cushion", "match": "^Cushion$", "material": {"color": "#c4bcae", "roughness": 0.95}}
        ],
        "variants": {"cushion": {"file": "assets/garden/ikea-askholmen-chair/cushion.glb"}}
      }
    },
    "ikea-askholmen-table-60x62": {
      "maker": "IKEA",
      "name": "ASKHOLMEN table, outdoor, foldable, 60 × 62 cm",
      "category": "dining-table",
      "url": "https://www.ikea.com/ch/en/p/askholmen-table-outdoor-foldable-dark-brown-30557498/",
      "itemUrl": "https://www.ikea.com/ch/en/p/-{item}/",
      "size": {"width": 0.6, "depth": 0.62, "height": 0.73},
      "finish": "Dark brown stained acacia",
      "options": "assets/garden/ikea-askholmen-table-60x62/options.json",
      "source": {"name": "Made for this planner", "author": "Procedural, scripts/garden/askholmen.mjs, to IKEA's dimension drawing", "licence": "CC0 1.0"},
      "model": {
        "file": "assets/garden/ikea-askholmen-table-60x62/model.glb",
        "parts": [{"id": "wood", "match": "^Wood$", "uvPerM": 1, "material": {"color": "#8f6744", "roughness": 0.72}}]
      }
    }
  }
}
