M Hudson Design · AI Studio · production-tech track

The Quality Ratchet

A render pipeline where “good enough to show a client” is a number the system owns, that number can only move up, and a regression is reported the moment it happens — not discovered by eye three weeks later.

2026-08-13prepared for Matt Hudson 696evaluations on record 725runs with full provenance 14validated recipes · 8 dead ends recorded

01Why this exists

The bar you set was “the first demo must feel like the 100th model.”

That is a reliability requirement, not an aesthetic one. Aesthetics were never the real risk — a silent regression on the morning of a walkthrough was. Something that looked right last week quietly renders worse this week, nobody notices until it is on screen in front of an architect, and there is no way to prove which change caused it.

This system converts that risk into a line in a log, before the artifact ever reaches a page. It is the part of the build that makes “rough but complete” safe to walk in front of people.

02What actually produces a quality score

A score is not a property of the finished picture. It is the output of a chain, and every link is an input.

PRODUCE AND MEASUREGeneratelane · knobs · seed ·endpointRemediate textnever a gateScore vs eval_basedeterministic + judgeGatePREPARE THE REFERENCESource assetplan · elevation · splatS0view classS0.5sheet cropS1 content_fillTHIS becomes eval_base
The chain that produces a quality number. Read left to right, top row then bottom. The staged image at the end of the top row — not the raw file — is what every measurement is taken against.
InputWhat it contributes to the number
Source assetSite plan (hand or CAD), elevation sheet, line drawing, 3D base render, LiDAR scan or splat, or a set of your own reference photographs.
View classificationDetects whether this is a top-down plan, an aerial, a street-level view, an elevation, or a spatial capture. This picks the recipe, and the recipe picks the standard it is held to.
Sheet cropSheds the title block and calculation blocks from a permit sheet before framing, so the drawing is measured and the paperwork is not.
StagingCrops to the drawn area and frames it consistently. This staged image becomes the reference everything is measured against — not the raw file.
Generation settingsWhich engine, which recipe, fixed seed, your reference photographs, the planting mask, and which machine served the request.
The stated intentThe mood or design language claimed, and the presentation objective. These are not filename labels — they are what the reviewer is asked to check the image against.
Text cleanupRuns before scoring, so the evaluation measures what actually ships.

The consequence worth knowing: a quality baseline is only comparable while its whole input chain is held fixed. Change the framing, the view class, the stated intent, the seed or the machine, and the number moves for reasons that have nothing to do with the picture getting better or worse. That is why every run records all of it.

03Two independent reviewers, not one

Every output is scored twice, by two things that fail differently.

Free
Deterministic measurements — run on every single output. Plan-overlay recall, edge agreement, brightness, view hold, seam continuity.
97.4%
Vision-model review — 678 of 696 evaluations. Three independent passes, median taken. Geometry, building detail, whether the claimed effect landed, realism.

Neither is trusted alone, and section 05 shows exactly why.

PASSFAIL · premiumFAIL · SDXL, or takesspentcompared against everyfuture runGateDEFAULT_GATES[station]+ preset overridePublishto the exhibit surfaceQuarantinetake kept, not deletedRatchetper-metric maxgate-passed takes onlybaselines.jsonthe floorRetry next takepremium only, up to 3
How the loop closes. Premium retries because it varies run to run. The in-house engine at a fixed seed reproduces the same image, so a failure there means the recipe is wrong and retrying is pointless.

04The one measurement that still has room to move

Plan-overlay recall asks a narrow, honest question: what fraction of the plan’s structural linework is actually honoured by an edge in the render?

It is reported as lift over chance rather than as a raw percentage, and that distinction is load-bearing. Raw recall is confounded by how busy an image is — a cluttered render hits plan lines by luck. Measured on this project’s own work, raw recall ranked a test image with no site geometry at all above a faithful hero render. Normalising against the render’s own edge density fixes it:

1.00 means chance. Above 1.00 means the render’s edges genuinely land where the plan’s lines are. The pass mark sits at 1.05, just above chance.

It has already overruled a person

The Wiener site-plan hero was called a footprint failure by eye — “generic sprawling roofscape” — until the plan ink was overlaid on it and the sheet’s own curve data (the cul-de-sac at R=50.00′, the drive at R=205.00′ and R=795.00′) traced directly onto the rendered edges. The overlay was right and the eyeball was wrong. Cheap, objective, and willing to disagree with us.

05What happened on 13 August

The Connors design-language wave — 17 takes, and the system arguing with itself.

The floor only moves up — geometry baseline across the 2026-08-13 session plan-overlay recall, reported as lift over chance. Above 1.00 means the render’s edges genuinely land on the plan’s lines. 0.9 1.0 1.1 1.2 1.3 1.4 1.5 1.00 chance 1.05 gate seed 1.333 floor 1.499 A-pool t1 — recall 1.184 — PASSED A-pool t2 — recall 1.091 — PASSED A-pool t1 — recall 1.272 — PASSED A-pool t2 — recall 1.117 — PASSED B-motor-court — recall 1.338 — PASSED C-entry-gates — recall 1.406 — PASSED A-pool t1 — recall 1.124 — REJECTED A-pool t2 — recall 1.188 — REJECTED CONN-A t1 — recall 1.01 — REJECTED A-pool t1 — recall 1.26 — PASSED CONN-A t2 — recall 0.942 — REJECTED CONN-B t1 — recall 0.928 — REJECTED CONN-B t2 — recall 0.947 — REJECTED CONN-OptA — recall 1.333 — PASSED CONN-OptB — recall 1.499 — PASSED CONN-OptC t1 — recall 1.441 — REJECTED CONN-OptC t2 — recall 1.374 — PASSED 1.441 ① 0.928 ② 17 takes in order · Connors design-language wave passed the gaterejected · quarantined, not deletedthe floor
The floor only moves up. Hover any point for its run and score. The two marked rejections are the cross-check firing in opposite directions.

The floor climbed 1.333 → 1.338 → 1.406 → 1.499 — a 12.5% improvement over its starting point, in a single session. Every promotion is traceable to a named run and a published image. But the more important thing that happened is the two reviewers catching each other:

1The reviewer caught what the cheap measurement missed. Three takes cleared the numeric pass mark — one at 1.441, far above the 1.05 threshold — and the vision review rejected all three on geometry. The retry then passed cleanly and shipped.

2The cheap measurement caught what the reviewer missed. One take was scored geometry perfect by the vision review and rejected anyway at 0.928 — essentially chance. It was quarantined, not shipped.

On each of those frames one of the two reviewers was wrong, and the gate refused to ship on disagreement. That is the whole argument for measuring the same thing two different ways, and it happened in both directions inside one afternoon.

Checked rather than assumed: simulating the running baseline across all 17 takes, no rejected run ever scored above the standing floor. Failed takes are kept in quarantine, never deleted — a rejection is evidence, not waste.

06Where the standard actually bites

Where the gate actually bites — rejections by dimension across all 696 evaluations, 2026-07-03 to 2026-08-13 judge · geometry fidelity judge · geometry fidelity: 170 rejections 170 judge · effect applied judge · effect applied: 64 rejections 64 det · mood luma det · mood luma: 46 rejections 46 det · wrap seam det · wrap seam: 43 rejections 43 judge · building articulation judge · building articulation: 21 rejections 21 det · interior cut ratio det · interior cut ratio: 11 rejections 11 det · plan overlay recall det · plan overlay recall: 4 rejections 4 det · view hold det · view hold: 1 rejections 1 judge · realism appeal judge · realism appeal: 1 rejections 1 Geometry is where the gate bites — matching the operator ruling that geometry is the top priority.
Rejections by cause, all 696 evaluations. Geometry accounts for more rejections than every other cause combined.

Geometry accounts for 170 of the rejections — more than every other cause combined. That is the system behaving exactly as instructed: geometry is the top priority, and cosmetic issues like stray text are cleaned up rather than used to throw away an otherwise excellent render.

07What this is worth

  1. What we tell you about the work is checkable. An earlier page of ours claimed “every output quality-gated” while carrying three 360° panoramas the reviewer itself had scored zero on geometry — because that one stage’s standard had a hole in it and the page builder only checked that files existed. The standard was repaired. The claim is now true, and it is true in a way you could audit.
  2. Quality is defended, not just reached. Hitting a standard once is easy. Holding it across hundreds of renders, months apart, on a changing pipeline, is the hard part — and it is now automatic.
  3. Cost came down without quality coming down. Because the bar is a number rather than an opinion, a free in-house engine can be objectively promoted over a paid one when it earns it. On hardscape accuracy the in-house technique measured 0.955 against the paid model’s 0.765, at zero cost per image. Paid calls are now surgical, and each one traces to a documented reason the free lane could not do it.
  4. The dead ends are an asset. Eight approaches are recorded as failed, with the reason why. That file has already stopped work from being repeated — one session re-walked two of them and lost two full rounds of GPU time before catching it.
  5. Nothing depends on an outside service. Recipes, standards, baselines and every verdict live in the project itself, version-controlled. A fresh copy reproduces the whole decision history offline.
findings flow OUTnothing flows back ININ-REPO · AUTHORITATIVE · every file git-trackedpresets.py14 validated8 invalidatedevals.pyDEFAULT_GATESbaselines.jsonthe flooreval_records · runs696 verdicts · 725 runsVAULT MIRROR ONLYfindings · narrative ·cross-engagement context
Everything the pipeline needs lives in the project. Recipes, standards, baselines and verdicts are all version-controlled. Findings flow out to the knowledge base; nothing flows back in.

08Where it goes next

The mechanism works and today’s improvements are fully traceable. Four engineering refinements are queued on our side — the measurement system needs more room to keep improving now that several recipes have topped out their current scale. Those are scoped, owned, and decided this week; none of them gate anything you need to walk.

08-0608-0708-0808-0908-1008-1108-1208-1308-1408-1508-16Aug 6 pitch — Matt walks it CP-1 publish narrative CP-2 correct claim drift CP-3 measure noise floor CPI-1 saturation CPI-2 coverage backfill CPI-4 endpoint split CPI-5 disclosure CPI-3 noise band Unblocked nowOperator decisionsGateDecision run-up to the Aug 6 pitch gate
Engineering refinements, this week. None of these gate anything on the walkable build.
Companion · internal

Operator decision record →

The five engineering decisions behind section 08, with recommended options and the evidence for each. Internal working document — not a client decision surface.