Skip to main content
loft is a language for describing buildings. You write typed, declarative text; it compiles to a 3D model and to 2D drawings. Model files use the .loft extension. Think of it as TypeScript for buildings. The building is source, the drawings are output, and nothing is ever drawn twice.
Read the second grid line closely. It says the bay is twenty-four feet, not that grid B sits at twenty-four feet. Widen the bay and everything downstream follows. That distinction is the whole idea: the model stores the reasoning, not just the result.

Why text

A building model in a database is a file one program can open. A building model in text is a file anyone can read, diff, review, and merge. That buys the things construction has never had. You can see what changed between two revisions, line by line. A subcontractor can propose a change and the engineer of record can approve it, the way code review works. Drawings and takeoffs compile from the model instead of being drawn beside it and kept in sync by hand. It also means an AI agent can read and write the model natively, because it is text with a grammar rather than a proprietary binary.

What it borrows, and what it does not

The element semantics come from Revit, deliberately. Location lines, hosting, the category and type and instance ladder, cut planes. That is twenty years of refined domain knowledge and there is no reason to reinvent it. What changes is the container. Open, readable, versionable, and yours.

Where to go next

The cheat-sheet is one screen and teaches the whole grammar. It opens with the order to write things in, which is what most broken models get wrong. Placing elements is the how-to: how to write a reference, and how each kind of element is placed off one. Every statement keyword has a page under categories describing what it means, what it requires, and what you can measure from it. Errors is the full registry of what the compiler can tell you and why. Taxonomy is the ontology underneath all of it.

Where this is

v0. The language is real and the compiler runs, but the scope is deliberately narrow: walls, openings, rooms, and plan views, on straight segments. No curves, no roofs, no stairs, no MEP. The grammar is still moving, and it moves when writing a real building reveals friction. The playground at loft.build is the fastest way to see it work. Type on the left, watch the plan and the 3D model on the right.