Skip to content
Docs · Draft v0.1

The open cabinet catalog format

Catalogs are what make a kitchen planner useful: they turn boxes into real products with valid sizes, fronts, finishes and prices. OpenKitchen3D catalogs are open, versioned packages anyone can author.

This is a working draft. Field names will change before 1.0; feedback is welcome.

What a catalog package contains

  • Metadata — id, vendor, version, locale, currency and licence.
  • Cabinet families — base, wall, tall, corner, vanity and specialty.
  • Dimensions — allowed ranges with a step, or enumerated sizes.
  • Fronts — front layouts and configurable openings.
  • Styles & finishes — door and drawer styles, finish rules and handle compatibility.
  • Accessories — fillers, panels, mouldings, toe-kicks and countertops.
  • Appliances — envelopes and installation clearances.
  • Commercial — SKU templates and pricing expressions.
  • Geometry — LOD0/LOD1 procedural rules, plus optional GLB detail assets.
  • Construction — optional part recipes, for the later manufacturing track.

Example

{
  "schema": "openkitchen3d/catalog@0.1",
  "id": "generic-starter",
  "vendor": "OpenKitchen3D",
  "version": "0.1.0",
  "locale": "en-US",
  "currency": "USD",
  "license": "CC-BY-4.0",
  "families": [
    {
      "id": "base-door",
      "type": "base",
      "widths": {
        "min": 300,
        "max": 600,
        "step": 50
      },
      "height": 720,
      "depths": [
        580
      ],
      "fronts": [
        "door-left",
        "door-right"
      ],
      "sku": "B1D-{width}",
      "price": "120 + width * 0.18"
    },
    {
      "id": "base-drawers",
      "type": "base",
      "widths": [
        450,
        600,
        800,
        850,
        900
      ],
      "height": 720,
      "depths": [
        580
      ],
      "fronts": [
        "drawers-3",
        "drawers-4"
      ],
      "sku": "B3DR-{width}",
      "price": "210 + width * 0.26"
    }
  ],
  "finishes": [
    {
      "id": "paint-sage",
      "appliesTo": [
        "front",
        "panel",
        "filler"
      ]
    },
    {
      "id": "paint-navy",
      "appliesTo": [
        "front",
        "panel",
        "filler"
      ]
    }
  ]
}

Versioning & reproducibility

Projects pin the catalog version they were designed with. Catalog updates never silently change an existing project's geometry or price; a designer chooses when to migrate, and estimates show the catalog version and date they were priced from.

Licensing

Every package declares a machine-readable licence for its data and for each asset, and that metadata travels with exported projects. Manufacturer models and catalogs are treated as proprietary unless the publisher grants redistribution rights in writing — scraped retail assets are not accepted.

Starter catalog

OpenKitchen3D ships a small generic catalog first, with North American and European construction presets. Manufacturer-specific catalogs come after the format is stable. Interested in publishing one? Get in touch.