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.