Skip to content

From prompt to product

Every new product in the Cockpit becomes a product/v1 YAML declaration. There are three ways to get one — and no way to skip the validation gates.

Route 1 — Create from prompt (the wizard)

Section titled “Route 1 — Create from prompt (the wizard)”

Five stages. Each is a gate: the next button unlocks only when the current stage holds.

Describe the part in one sentence:

under-desk cable clip for a 20mm bundle, side entry, two M4 screws

Detect intent returns candidate archetypes with a confidence score and a source tag:

  • LLM ON — the model picks archetype and parameters, but only from a catalog digest it is shown; a hallucinated archetype id falls back to the deterministic matcher. The LLM never emits geometry — only a pick plus parameter guesses.
  • LLM OFF — deterministic token scoring against archetype ids, object classes, descriptions and features, with a bilingual RU/EN synonym table (клипса → clip, кабель → cable) and automatic extraction of millimeter dimensions and screw sizes from your text.

Pick a candidate (use 〈archetype_id〉) — parameters the intent guessed are pre-filled. Prompts are matched against real archetypes; you cannot prompt an archetype into existence — that is what packs are for.

Before any numbers, the product family’s contract: must have, must not have, forbidden forms, invariants. This is what validation will hold the geometry to. Accept it to proceed.

3 · Capability — honesty before geometry

Section titled “3 · Capability — honesty before geometry”

The wizard live-validates the draft and splits your requested features into supported (✓) and unsupported (✗ missing — not buildable in strict mode). An unsupported feature blocks the Parameters button — strict mode refuses to quietly build less than you asked for.

4 · Parameters — live validated, no CAD

Section titled “4 · Parameters — live validated, no CAD”

Parameters are grouped by role — functional, assembly, structural, manufacturing, aesthetic, style — each with its resolved value, its resolved min…max bounds, a marker for exposed parameters and a lock on safety-locked ones.

Every keystroke re-validates the whole product (350 ms debounce) through the same CAD-free pipeline as forge validate: units, expr(...) formulas, clamps in declaration order. Bounds update live — widen bundle_d and watch mouth_gap’s ceiling move, because the archetype declares max: expr(bundle_d * 0.7).

The exact section profile renders from the Form IR with every form check listed. Only when the form is green does ⚒ Forge (build STL) hand it to the CAD compiler (the button is honestly disabled when CAD OFF). The build runs as a job with a live log and opens in the Workspace.

Paste any product or assembly declaration → Validate & open workspace. This is the only free-text YAML entry: inside the workspace parameters are read-only and change through patches, so every change replays the same validation gauntlet. The grammar itself: The declaration language.

Catalog cards open an archetype straight into the wizard (skipping intent detection), and every shipped example opens into the workspace as a known-good declaration to study or edit. Browse the same data on this site: Registry → Archetypes — each page carries a minimal ready-to-paste declaration.

Everything above builds a single part. For a product made of several parts that must fit — a box and its lid, a bracket and its cup — describe the whole thing in one prompt on the Assemble screen: Composing assemblies.