diff --git a/content/documentation-assets/max-margorskyi.jpg b/content/documentation-assets/max-margorskyi.jpg
new file mode 100644
index 00000000..074f1069
Binary files /dev/null and b/content/documentation-assets/max-margorskyi.jpg differ
diff --git a/content/documentation-assets/meta-images/why-ai-must-generate-parametric-cad.webp b/content/documentation-assets/meta-images/why-ai-must-generate-parametric-cad.webp
new file mode 100644
index 00000000..4212753b
Binary files /dev/null and b/content/documentation-assets/meta-images/why-ai-must-generate-parametric-cad.webp differ
diff --git a/content/documentation-assets/why-ai-must-generate-parametric-cad/bike.webp b/content/documentation-assets/why-ai-must-generate-parametric-cad/bike.webp
new file mode 100644
index 00000000..222a904d
Binary files /dev/null and b/content/documentation-assets/why-ai-must-generate-parametric-cad/bike.webp differ
diff --git a/content/documentation-assets/why-ai-must-generate-parametric-cad/plate-brep.webp b/content/documentation-assets/why-ai-must-generate-parametric-cad/plate-brep.webp
new file mode 100644
index 00000000..6bb46e4c
Binary files /dev/null and b/content/documentation-assets/why-ai-must-generate-parametric-cad/plate-brep.webp differ
diff --git a/content/documentation-assets/why-ai-must-generate-parametric-cad/plate-mesh.webp b/content/documentation-assets/why-ai-must-generate-parametric-cad/plate-mesh.webp
new file mode 100644
index 00000000..e1929c5d
Binary files /dev/null and b/content/documentation-assets/why-ai-must-generate-parametric-cad/plate-mesh.webp differ
diff --git a/content/documentation-assets/why-ai-must-generate-parametric-cad/recipe.webp b/content/documentation-assets/why-ai-must-generate-parametric-cad/recipe.webp
new file mode 100644
index 00000000..6d8c6bd6
Binary files /dev/null and b/content/documentation-assets/why-ai-must-generate-parametric-cad/recipe.webp differ
diff --git a/content/documentation-assets/why-ai-must-generate-parametric-cad/shaft.webp b/content/documentation-assets/why-ai-must-generate-parametric-cad/shaft.webp
new file mode 100644
index 00000000..dda69645
Binary files /dev/null and b/content/documentation-assets/why-ai-must-generate-parametric-cad/shaft.webp differ
diff --git a/content/documentation-assets/why-ai-must-generate-parametric-cad/shaft2.webp b/content/documentation-assets/why-ai-must-generate-parametric-cad/shaft2.webp
new file mode 100644
index 00000000..293cbafe
Binary files /dev/null and b/content/documentation-assets/why-ai-must-generate-parametric-cad/shaft2.webp differ
diff --git a/content/documentation-assets/why-ai-must-generate-parametric-cad/spatula-brep.webp b/content/documentation-assets/why-ai-must-generate-parametric-cad/spatula-brep.webp
new file mode 100644
index 00000000..e4141378
Binary files /dev/null and b/content/documentation-assets/why-ai-must-generate-parametric-cad/spatula-brep.webp differ
diff --git a/content/documentation-assets/why-ai-must-generate-parametric-cad/spatula-voxel.webp b/content/documentation-assets/why-ai-must-generate-parametric-cad/spatula-voxel.webp
new file mode 100644
index 00000000..fc039944
Binary files /dev/null and b/content/documentation-assets/why-ai-must-generate-parametric-cad/spatula-voxel.webp differ
diff --git a/content/posts/why-ai-must-generate-parametric-cad.mdx b/content/posts/why-ai-must-generate-parametric-cad.mdx
new file mode 100644
index 00000000..9d5d5d4d
--- /dev/null
+++ b/content/posts/why-ai-must-generate-parametric-cad.mdx
@@ -0,0 +1,164 @@
+---
+title: Why AI Must Generate Parametric CAD
+excerpt: For manufacturing, AI must generate B-rep geometry and a clean parametric feature tree.
+date: '2026-02-24'
+author:
+ name: Max Margorskyi
+ picture: '/documentation-assets/max-margorskyi.jpg'
+ogImage:
+ url: '/documentation-assets/meta-images/why-ai-must-generate-parametric-cad.webp'
+---
+
+There are multiple ways to generate 3D models with AI. You can output **triangle meshes**, generate **boundary representations** (B-reps) directly, or use intermediate representations that later get converted.
+
+Which approach makes sense depends on the end goal: visualization, simulation, concept exploration, or manufacturing.
+
+For **CAD workflows**, the goal is more specific than "a shape that looks right." You need a model that holds up to iteration and downstream use in CAM, tolerancing, and inspection. That means the output format matters as much as the geometry itself.
+
+
+
+Manufacturable CAD needs two things:
+
+- B-rep geometry
+- A clean, well-organized parametric feature tree
+
+## Why B-rep and feature trees are crucial
+
+**B-rep.** Engineers model to manufacture. In production workflows, a mesh, no matter how good it looks, does not provide the stable faces, edges, and analytic surfaces that CAD/CAM relies on. Machinists need **B-rep CAD** so they can reliably select holes, planar faces, edges, axes, and datums to drive toolpaths, setups, tolerances, and inspection.
+
+**Feature tree.** Manufacturable CAD is not just "a solid." It needs **parametric history**. Engineers iterate constantly, and they rely on resilient modeling strategies so changes do not break downstream features.
+When the feature tree is missing or poorly organized, edits become slow, brittle, and error-prone.
+
+
+
+The shape itself is only an intermediate artifact. In real CAD/CAM workflows, the work lives in the **intent built into the model** (dimensions, constraints, references) and in the **downstream steps that depend on it** (toolpaths, setups, tolerances, inspection).
+
+So the real question is not "can AI generate a shape?", it is **"can AI generate manufacturable CAD?"**
+
+How? There are two fundamentally different ways to generate 3D models with AI.
+
+## CAD-first, native, editable B-rep CAD with a parametric feature tree
+
+This approach produces true CAD geometry: B-rep with parametric history and a feature tree. Engineers can edit it, constrain it, and manufacture from it directly.
+
+It supports standard workflows like selecting a face or edge and using it to drive machining toolpaths.
+
+
+
+Parametric CAD captures engineering intent, not just geometry. The feature tree encodes driving dimensions and constraints (hole spacing, overall width, symmetry), so edits stay predictable.
+
+This is the CAD-first approach.
+
+## Mesh-first generation (non-editable CAD output)
+
+Many of our competitors still rely on mesh-first pipelines. They often use diffusion or related methods to produce intermediate 3D representations (implicit fields, triplanes, voxels), then extract a triangle mesh.
+
+This makes it easier to produce something that looks like an object, but the output is still raw surface geometry, not editable parametric CAD.
+
+It is like training on compiled output instead of source code. You can see the result, but you have lost the structure that makes changes reliable.
+
+Mesh-first pipelines introduce major issues:
+
+- **Incomplete geometry** (single-view / diffusion model): When a mesh is generated from one or a few images (or partial scans), unseen regions (backsides, occluded cavities, internal faces) are underconstrained. Models often guess or leave gaps, producing missing surfaces, non-watertight shells, or inconsistent thickness - so the result can’t be trusted for CAD or manufacturing
+
+- **Not CAD-compatible:** A mesh model may look correct, but it’s still just triangles - without parametric BREP, feature history, or engineering intent. There are no driving dimensions, constraints, or feature logic, and no stable CAD topology (faces/edges) to drive standard CAD/CAM workflows.
+
+That is why generating true parametric CAD from the start is fundamentally better for mechanical engineering.
+
+## Why meshes will never work for mechanical engineering
+
+A triangle mesh is an approximation of a surface, not a definition of engineering geometry.
+
+
+
+Even when a mesh looks perfect, it collapses the things CAD/CAM depends on:
+
+- **No analytic intent:** In CAD, a hole is a cylinder with an axis, diameter, depth, and often a spec (clearance, tapped, counterbore). In a mesh, a “hole” is just a bunch of triangles arranged in a loop. There’s no axis to reference, no diameter parameter to change, and no stable feature semantics.
+- **Unreliable selection:** CAM and inspection workflows need to select faces (planar faces, cylindrical faces), edges (silhouettes, tangency breaks), and datums (axes, midplanes). On a mesh, you’re selecting triangle soup. Even if software tries to infer primitives, it’s a best-effort guess.
+- **Mesh-to-B-rep is surface fitting, not recovery:** “Just convert the mesh to CAD” sounds reasonable until you do it at production tolerances. Converting a mesh into B-rep typically means fitting NURBS/analytic surfaces onto noisy, discretized facets, then stitching and healing gaps. This is ill-posed: many CAD models can produce the same mesh, and the conversion has no way to recover the original modeling decisions.
+- **No feature tree:** Even if you somehow recover a watertight B-rep, you’re still missing the parametric history that makes edits resilient. You can’t roll back to “before fillets,” change a sketch dimension, then replay the operations. You’re stuck with direct edits, which are brittle under iteration.
+- **Unstable topology:** Engineering workflows implicitly rely on stable references (“this hole pattern,” “that mounting face,” “the axis of this boss”). In mesh-first pipelines, any regeneration or conversion step tends to reshuffle topology. Faces split, edges reorder, IDs change. Downstream constraints and toolpath references break.
+
+Meshes have a place (rendering, scanning, visualization), but they’re fundamentally the wrong working format for iterative, manufacturable CAD.
+
+## Why voxels will never work for mechanical engineering
+
+Voxels are 3D pixels: a grid where each cell is filled or empty (or stores density). That makes them intuitive for ML, but fundamentally incompatible with precision CAD.
+
+
+
+- **Resolution destroys practicality.** Mechanical parts live in millimeters and tolerances. If you want to represent a 200 mm part and resolve 0.05 mm detail, you’re talking about a grid on the order of 4000³ cells. That’s not a “slightly bigger model,” it’s a different universe of compute and memory.
+- **Stair-stepping is not an edge case, it’s the default.** Curves, fillets, draft angles, and smooth blends become jagged approximations unless the resolution is absurdly high.
+- **Voxel → surface extraction is still mesh-first.** The moment you need a boundary (for CAM, FEA, drawings), you extract an isosurface and you’re back to a triangle mesh. All the same problems reappear: approximation, ambiguity, no feature semantics, no parametric history.
+
+Voxels can be useful as an internal representation for research or coarse concepting, but **they don’t solve the core requirement: native, editable CAD**.
+
+## The CAD Recipe
+
+What “CAD-first generation” actually implies: Generating manufacturable CAD is less like “generating geometry” and more like **“generating a parametric recipe.”**
+
+A real part is a sequence of intentional operations:
+
+- Sketches with constraints (symmetry, tangency, equal, concentric)
+- Dimensions with units and design intent
+- Features (extrude, revolve, shell, draft, fillet, chamfer)
+- Patterns and mirrors
+- References (datums, midplanes, axes)
+- Clear structure (named parameters, coherent feature order)
+
+That recipe is the real artifact engineers work with. The solid is computed output.
+
+
+
+So the core capability is not "produce triangles that resemble a bracket." It is **"produce a robust parametric model that behaves like an engineer built it."**
+
+## What Zoo’s approach unlocks
+
+Because CAD-first systems generate parametric B-rep directly, output is usable in the workflows that matter:
+
+- **Iteration without rework:** change a dimension, regenerate, and continue.
+- **Manufacturing-ready geometry:** stable faces and edges that CAM expects.
+- **Downstream compatibility:** move into machining, tolerancing, and inspection without betting on fragile conversion.
+- **Intent-preserving models:** the model captures why geometry is shaped that way through constraints, dimensions, and feature structure.
+
+[Zookeeper](https://zoo.dev/docs/zoo-design-studio/zookeeper), our CAD agent, uses AI to generate and modify parametric B-rep CAD models through KCL.
+
+If you're curious about the language behind that workflow, learn more about [KCL, our code-based CAD language](https://zoo.dev/docs/kcl-book/intro.html). From there, you can dive into the [language reference](https://zoo.dev/docs/kcl-lang), the [standard library](https://zoo.dev/docs/kcl-std), and [sample CAD models written in KCL](https://zoo.dev/docs/kcl-samples?category=All).
+
+## Closing
+
+Mechanical engineering is not about producing a shape that looks right. It is about producing a model that survives **iteration** and carries through **manufacturing**.
+
+That’s why Zoo is CAD-first: generating **manufacturable, editable parametric CAD** from the start isn’t a nice-to-have - it’s the difference between a demo artifact and a tool engineers can actually use.