VisStructural designJuly 2026

A model that designs, and knows when to stop.

We trained a small model to design load-bearing structures from written requirements. Every design is evaluated by physics simulation. A result counts only if the structure stands, holds its load, and makes weight.

The task

The model reads a written specification, for example "reach 14 meters, carry 900 newtons at the tip, stay under 60 kilograms", and outputs a complete truss design: the geometry and a cross-section for every member group, chosen from a discrete catalog.

Nothing about the output is graded on resemblance to training data. The only judge is an exact structural solver.

Setupmeasured
30,000Training pairs were generated for the task.
2,000Held-out specifications were evaluated in every run.
8The model was trained 8 separate times to rule out luck.

Scored by physics, not imitation

A design passes only if it clears every check the solver runs. Partial credit does not exist. Either the structure works or it does not.

The physics gateall required
✓ PASSThe structure stands, rigid, with no hidden mechanism modes
✓ PASSStress stays under yield, in every member, under the specified load
✓ PASSDeflection stays under limit, measured at the loaded node
✓ PASSWeight makes budget, the tightest constraint by far

Results

On specifications the model had never seen, 88 percent of designs passed every physics check. A random-parameter floor sits at 2 percent, so the model is not guessing its way through a forgiving grader.

Held-out pass ratemean of 8 runs
Model, held-out0.88
Random parameters0.023

The residual failures are dominated by the weight budget, which the task construction makes deliberately tight. Stress and deflection failures are nearly eliminated.

The designer that knows when to stop

A second formulation makes the model design iteratively. Each round it inspects the specification and the current design, then either strengthens one part or declares the design finished. The declaration is the interesting part: the model decides for itself when the design is done.

Sequential designerper run
RunHeld-out passEffort tracks need
10.8430.985
20.8960.991
30.8850.991
40.8770.990
50.8810.990

The right column is the correlation between how many rounds the model spends and how much work the specification actually requires. At 0.99, the model works nearly in proportion to the problem in front of it: easy specifications finish in a few rounds, hard ones get many.

What failed on the way

The result took three attempts, and the failures are part of the record.

The first version scored 0.30. It made every design decision independently, and independently sensible choices do not have to be jointly sensible: the pieces of the design disagreed with each other, and physics failed the blend. Making the geometry decisions jointly fixed it.

The second version scored 0.33. Every specification had thousands of equally valid designs, and the training data picked one arbitrarily, an unlearnable lottery. Giving every specification a single canonical answer, the lightest design that passes physics, raised the pass rate to 0.86 within one training run. That answer is also the engineering-correct one.

Limitsstated, not hidden
Honest bounds. Everything here is simulation, at small scale, on pin-jointed trusses. No physical structure has been built. The claim is precise but narrow: on this task family, a small model learned to produce designs that an exact solver accepts, and learned to work in proportion to difficulty. Scaling this to broader structures is the open question we are working on.

Why this matters

Design is usually the expensive part of engineering, and checking is cheap. That asymmetry is what makes this direction interesting: if a model proposes and physics disposes, the system can only ever ship designs that passed. The model never gets the benefit of the doubt, and neither do we.

If you want to go deeper than this page, from the exact task construction to the raw results of every run, write to us.

← All research