A sentence is not yet a printable object
It is easy to ask a model for the shape of a lamp. It is harder to get a lamp that fits a real printer, accepts a real socket, uses material already on the shelf, and can still be changed next week. The gap between an attractive render and a useful object is full of small engineering decisions.
Atelier is a local, open-source prompt-to-print workspace built for that gap. A maker describes an object and its constraints; Atelier interprets the intent, creates parametric geometry, checks the result, and presents the parts on a virtual build plate. A follow-up such as “lower the base and leave more room around the E27 socket” becomes another editable build rather than a disconnected replacement.
Geometry and export pipeline
Designs are Python modules built with CadQuery. Meaningful dimensions and manufacturing assumptions live in JSON parameters, while stable component identifiers keep multi-part objects coherent across revisions. A build can export millimetre-based STL, STEP, and 3MF files for inspection, editing, and slicing.

The model should keep explaining itself
The object is only one part of the record. Atelier keeps source, parameters, components, build plates, material assignments, printer constraints, and design notes together. That context makes a generated model understandable to a person and inspectable by the next modelling agent.
Every successful build creates an immutable, content-addressed revision. The workspace shows the source and parameter changes beside the historical geometry, and restoring an earlier result creates a new revision instead of rewriting history. Iteration stays quick without making a useful version fragile.
A workspace around the geometry
The product interface is a strict TypeScript Next.js application. Three.js renders assembled models and individual build plates; TanStack Query owns server state; runtime-validated contracts separate filesystem data, HTTP routes, and UI components. The same workspace connects model versions, printer profiles, filament inventory, and print history.

One product, two kinds of interface
Atelier needed to speak to makers in two different moments. The public site explains an unfamiliar workflow through one object moving from prompt to printable model. The application is denser: a model library and revision tree sit beside the 3D stage, with dimensions, components, printer fit, materials, layer inspection, and exports available without losing the object in view.
That difference shaped the visual system. The site uses generous editorial pacing and physical product imagery; the workspace uses compact controls, quiet surfaces, and persistent spatial context. Both are designed to make the engineering legible rather than disguise it as a single magic button.
Validation has a deliberate boundary
The pipeline checks that exported meshes load, contain finite coordinates, have positive volume, and are watertight. It also records slicer assumptions and can calculate a solid CAD mass reference when density is known. These checks catch broken geometry, but Atelier does not pretend they guarantee a successful print: orientation, supports, clearances, wall thickness, and material still need judgement in the slicer and at the printer.

What I am building towards
Atelier began as a reproducible modelling toolkit and grew into a product for the whole path from intent to physical result. The next useful steps are deeper slicer integration, stronger constraint feedback before a build runs, and better links between exported files and what actually happened on the printer.
The principle stays the same: generation should not erase authorship or engineering. It should leave behind geometry that can be understood, revised, validated, and made.
