Casa Cornell
On this page04 Elevation05 Models06 The gate07 Live
04The first picture

The house does not exist yet, so its first picture was generated.

There is no photograph of this building anywhere in this project and there cannot be one. It has not been built. It exists as two sheets of paper. The traced plan gives room outlines and those give massing, but massing has no siding, no brick, no roof pitch and no light in the windows. So the plan and a written style specification went to an image model, and the front elevation below is what came back.

Everything below descends from that one image: every video clip, every solved frame, every reconstruction. They inherit what it got right and what it got wrong.

The generated front elevation: a two-story
    cream lap-sided house with a brick bay tower on the right, a glazed sun-room wing on the left, hipped
    standing-seam metal roofs, warm light in the windows, wet brick walk and driveway, live oaks and
    palms around it.
The seed elevation: the only view of this house ever made from the plan. No camera EXIF. The source PNG carries an AIGC chunk and a generator C2PA manifest sits beside it, both shipped with this page so the claim can be checked.

What the model was told it could not change, written down before any frame was generated: 2 stories, 4 porch columns, 3 balcony bays, a five-sided brick bay tower on the right and a single-story glazed sun-room on the left. The building is deliberately not left-right symmetric, which is what tells a frame apart from its own mirror image. Every later frame is checked against this list.

05Bake-off

Seven video models from one starting frame. The screening picked the wrong winner.

All seven were driven from the identical generated still with the same prompt and negative prompt, then screened by a local proxy: feature continuity, camera motion, source retention, cut safety. Thirteen runs across two scenes, $8.44 actual against a $9.00 budget.

The proxy ranked Veo first at 90.9 and Kling fifth at 85.3. Kling is the one that actually reconstructed. That is why the screening file says in its own limitations that the ranking is triage only and must not be presented as a reconstruction result.

Screening formula: 35% feature continuity, 25% camera motion, 25% source retention, 15% cut safety, over SIFT correspondences with RANSAC fundamental geometry. It never ran a structure-from-motion solve, so it could not see whether the generated 3D was right. Persistent 2D texture matches features even when the geometry underneath is wrong, which is how Veo scored first and then failed the solve.

06The gate

Every generated clip goes through the same solve as real footage.

Each clip is fed to a structure-from-motion solve under pinned intrinsics. If the cameras cannot be recovered from the frames, the clip is rejected however good it looks. The score is how many of 210 image pairs come back geometrically calibrated.

The best score on the board belongs to a clip that was thrown away. The cheapest result belongs to a clip that was never generated at all.

Camera guides · solved free, before any paid generation
Superseded

t025 · dolly parallax

gate
124 / 210
family
r6

The first guide that produced a solvable generation at all.

Selected arc

a100 · 1.00u truck, 18° sweep

gate
189 / 210
points
8,275

The middle arc of the r7 family, and the one that shipped.

Rejected on looks

a150 · 1.50u truck, 26° sweep

gate
198 / 210
solve
21/21 · 7,714 pts · 0.847 px
why out
roofline bend, foliage smear, 5 watermark pairs

Gated higher than the arc that shipped. Rejected anyway.

Best parallax

l100 · lateral dolly 1.00u

guide gate
190 / 210
clip gate
206 / 210
points
8,060 · 0.765 px

The best gate score in the project, guide and generated clip both.

Hard fail

pb100 · pure pull-back

two-arm solve
no sparse model
fallback
8 / 21 · 122 pts
saved
$0.50625

Radial-only parallax the mapper cannot bootstrap. Caught before spending anything.

The point of a free gate

Six candidates were rendered and solved locally at no cost. Five passed at 21/21 registered, 0.73 to 0.82 px, zero watermark-configuration pairs. One failed outright. Only the survivors were allowed to become paid generations.

candidates
6
passed
5
paid on failures
$0.00
Generations · in the order they happened
Rejected

R2

gate
210 / 210 fail

Looked fine. Solved as a single degenerate configuration on every pair.

First pass

R3

gate
132 / 210
points
8,576

The first generated clip that reconstructed at all.

Arc baseline

R4

gate
184 / 210
points
10,480
holdout
27.78 dB

Sharpest single arc. Step off the path it was solved on and it falls apart.

Current frontier

Orbit hop 1

joint solve
128 / 128
coverage
35.4° → 53.7°
calibrated
204 / 210

Strongest parallax in the project, and the first view past the corner.

06bHoldout PSNR

The baseline is the strongest clip this project ever generated, re-derived from scratch.

There is no photograph of this house as built anywhere in the project. The baseline is the strongest prior generated clip, Kling 3.0 Pro image-to-video at $0.56, re-derived from scratch and reconstructing at 30.34 dB.

The donor repo had claimed 32.45 dB on the same data. That did not survive re-derivation and is recorded as unverified. The claim that survives is narrower: generated video reconstructs within 2.56 dB of the best prior generated clip, on a gate that rejected earlier attempts outright.

07Live reconstruction

The house was rebuilt from generated video. Load a model and move the camera yourself.

These are the trained Gaussian splats themselves, not renders of them. The camera stops where the solved frames stop, so you cannot get lost. On the four models that only ever saw the front, that edge is a wedge and the drag hits it quickly. On the four that went all the way round there is no edge, and the drag keeps going.

Eight models are here to compare directly. The front four are the re-derived donor clip that set the bar, the first clip generated to a camera guide of our own, four clips fused into one model, and the orbit hop that pushed coverage past the corner. The four with a back all come from section 09 and differ in where the camera stood and how it got there: solved from the frames, read straight out of the render manifest, flown close enough to the wall to pick up brick, and both laps trained together.

Nothing below is a still image standing in for a model. Every number attached to these was measured on views the training never saw.

Step 1: pick a model

Step 2: load it

Drag to orbit, scroll to zoom, shift-drag to pan, R to reset. The viewer has preset viewpoints and a reset button of its own. Picking a different model above reloads it in place.

How far the camera can turn before the model breaks down.

This limit took four attempts. The first was a guess, and its −55° preset showed pure smear. The second came from a sharpness metric, which said three of the four models hold out to ±80°; at +80° there is no building in the frame at all. A collapsing splat does not go soft. The gaussians stretch into streaks and the foliage breaks into confetti, and both of those raise sharpness, so the metric scored the collapse as healthy. The third used solved camera positions, which are accurate but answer a different question: where a solved frame stands, not how far the solve carries. They are symmetric when this property is not.

The fourth was set by looking. 52 frames were rendered through this viewer with the panel hidden, four models across thirteen azimuths at 10° steps, and each was marked clear, degraded or gone. The marks are recorded per frame, so any one of them can be argued with by pointing at the frame.

A contact sheet of 52 rendered frames: four reconstructions down the side, thirteen azimuths from minus 60 to plus 60 degrees across the top, each frame carrying a colored rail marked clear, degraded or gone. The middle of every row is the house; both ends are colored streaks.
The frames the judgment was made on, at the size it was made at. Scroll sideways. Along any row the house holds for a run of frames in the middle and then breaks up, and it breaks up earlier on the left: turning left runs into a foreground oak and palm no clip ever resolved, while turning right opens onto the driveway the clips did cover. Every model reaches further right than left, so a symmetric limit is wrong at both ends.
Four reconstructions on one azimuth ruler. For each, small ticks mark the solved camera positions, a filled block marks the arc that still reads as the house, and an outline marks how far the viewer lets the camera go.
Three different spans, drawn separately because collapsing them into one number is what went wrong the first three times. The viewer clamps to the outline, sends its edge presets to the filled block, and leaves the ticks alone. kling-rederive-30k was previously clamped to the 5.9° its cameras span; it now opens across 30°.

Wider capture stops buying wider viewing arc.

Line the four models up by how much camera arc each solve was given and the return collapses monotonically: 5.06× readable degrees per camera degree, then 1.75×, then 1.01×, then 0.83×. A 10× spread in capture width bought 20° of extra readable view, and the two widest captures read no wider than the arcs their own cameras stand on. Past that knee, adding generated frames further round the house buys very little. The next gain has to come from the pixels already captured rather than from more camera positions.

Readable arc plotted against camera arc for four reconstructions, with the one-to-one line drawn. The points rise from 30 degrees readable at 6 degrees of camera to 50 degrees readable at 60 degrees, crossing from far above the line to below it.
Above the dashed line a solve returns more readable view than it was given camera to work with. Below it, the capture is wider than the result it bought. Numbers read live from splat-arc-bands.json, generated from the sealed viewer-arc-20260811-r2 manifest; the instrument it replaced is sealed too, at full size, because its frames are what refute it.

Marking invented pixels as unknown, and why the trainer cannot be told.

Feeding generated frames into a reconstruction costs −1.43 dB against a baseline built from solved frames alone, measured on held-out views. The cause is known too. A warped frame is two things stitched together: pixels resampled from a solved frame, and pixels a model invented where nothing was visible. The warp records which is which, per pixel. So the obvious repair is to give the trainer the resampled half and mark the rest unknown.

That repair assumes unknown is something the trainer can be told. The only candidate is a transparent input pixel, and the manual is ambiguous about what one means. So it was tested rather than assumed: a rectangle punched to transparent in half the training views, the other half left intact, everything else identical.

Three crops of the same balcony:
    the source frame, the model trained on intact images, and the model where half the training views had a
    rectangle punched to transparent. Inside the outlined rectangle the third crop is pulled dark, the lit
    window dims and the white rail grays, while everything outside it matches.
Transparent means nothing is here, and the trainer believes it. Inside the box the held-out frames come back 5.53 dB worse, while outside it the two arms agree to 0.11 dB, the noise floor. The damage stops exactly at the edge of the box, which is what makes it the mask and not a bad rerun. Turning the alpha loss weight to zero does not switch it off.

This is strictly worse than feeding the invented pixel through. A wrong color is one bad observation competing with good ones; a wrong emptiness deletes geometry that other views got right. Masking a warped frame down to its resampled pixels would carve the disoccluded regions out of the house. Two short training runs and one rectangle cost about four minutes and stopped a larger experiment that would have returned a negative result for the wrong reason. Sealed as refuted in alpha-semantics-20260811-r1; the same idea still has a coarser form left, selecting whole frames by how much of them was invented.

BackThe houseNextWarping

Ten small warps land worse than one large one.