Apartment proof 1 and the tempered glass repaints

Work's deliveries of 2026-10-15. Work stopped before marking points because the walls drift from the guide. I measured the drift, tested what explains it, and reviewed the two repainted glass textures. Nothing is committed.

90/100
Confidence that the apartment is calibrated and ready for its production plate.
  • Work's production plate fits within 30.7 px at 1536 wide: +6.
  • The lens shift carried into the Swift scene port and checked against the checker's projections: +4.

Open Questions (4): all answered 2026-10-15

Q1. Keep this painting and re-measure the room to it, or bring the walls back to the guide?answered/h3>

Blocks: marking the control points, the fit, and the production plate.

Recommendation: Keep the painting and re-measure. The floor matches the guide: with the floor points alone, the fit lands on almost exactly the authored camera (12.2 px RMS from my rough marks). Everything above the floor was painted taller. I read the room's ceiling at 3.3 m (authored 2.75), the window at 0.95–2.68 m (0.85–2.25), the door at 2.4 m tall and about 1.0 m wide (2.05 and 0.9), the clock 0.55 m across centered at 2.17 m (0.45 at 1.83), the thermostat at 1.67 m (1.44) and the console at 0.85 m (0.78). Those are an older apartment's proportions. No case measures a wall height: the outline cases measure the floor, where the painting is right. With those heights, my rough marks already fit at 13.7 px RMS. Pulling the walls down in Photoshop means rebuilding the window, door and ceiling line. A re-roll with Work risks the same drift, because no camera reproduces this painting with the authored heights (31.8 px RMS, worst 61 px). A level camera with plumb verticals does no better (25.8 px).

Q2. The throw on the armchair: keep or remove?answered/h3>

Blocks: nothing in the fit; it sets the production note.

Recommendation: Keep it. Work flagged it as an unrequested addition. It is ordinary set dressing, it sits on the armchair outside the body area, and it does not cover any tappable object's silhouette.

Q3. The phone is painted about 0.21 m long. Fix it now, at production, or accept?answered/h3>

Blocks: nothing in the fit.

Recommendation: Fix it in the production request. At the console's depth the phone measures 48 px at 1024 wide, about 0.21 m against a real phone's 0.15 m. It reads as a phone, and its padded hotspot covers it either way. The production plate is painted from this proof, so one line in that request corrects it with no extra pass.

Q4. Accept tempered glass variants 2 and 3 from the second pass?answered/h3>

Blocks: nothing; B2-002 already uses variant 3 in the composite.

Recommendation: Accept both. Variant 2 has no corner clumps, and variant 3's center peaks at 0.25 with a gradual falloff. I re-measured both grids and they match Work's numbers. Both are lighter than variant 1 (peaks 0.20 and 0.25 against 0.31), so they read a little fainter at phone size, which suits a lighter break.

1. Where the apartment drifted

Painting with marked points joined to their guide positions
My rough marks joined to the guide's positions (open blue circles). Floor points are teal, wall points coral. The floor holds; every wall point sits high.
Work's guide overlay
Work's overlay. The painted picture rail runs about where the guide puts the ceiling.
Fit (rough marks, 25 points)RMSWorst
Authored room, camera refit31.8 px61.2 px (ceiling corner)
Floor points only (12)12.2 px23.0 px; camera within 0.2 m and 1° of the authored one
Authored room, level camera with lens shift25.8 px50.7 px
Room heights re-measured from the painting13.7 px29.5 px (door far jamb, a rough mark)

If Q1 is yes, I edit apartment.scene.json (ceiling, window, door, clock, thermostat, console), regenerate the guides, mark the points precisely and run the fit. If it passes, I apply the camera and write the production request with the Q2 and Q3 notes.

Refit, after Sarah's answers

Painting with the regenerated guide overlaid
The regenerated guide over proof 1. Walls, window, door, clock, thermostat, console, radiator and rug sit on the painting.

I marked 21 control points from 2–3× crops. The painting keeps its vertical lines plumb, and a pitched camera cannot do that: it put the door's top corners 24–26 px off. I added an optional vertical lens shift (shift_y) to the checker's camera and its fit. The alley and parking scenes don't use it and still pass.

ItemNowWas
Ceiling3.4 m2.75 m
Window0.92–2.72 m, 1.35 m wide0.85–2.25 m, 1.4 m
Door2.38 m tall, at 1.58 m along2.05 m, at 1.45 m
Clock0.53 m, center at 2.18 m0.45 m at 1.83 m
Thermostat1.68 m1.44 m
Console0.98 m wide, 0.82 m tall0.85 m, 0.78 m
Radiator0.76 m tall0.72 m
FitPASS, 9.3 px RMS, worst 17.1 px (rug.0)FAIL, 31.8 px RMS

The camera is applied, the guides and the body-zone guide are regenerated, and the production request is requests/2026-10-15-apartment-plate-2.md.

2. What already passes

Body zone overlay
The body area is bare boards, evenly lit, with no hard shadow across it. All four rug corners are visible.
  • No legible text, digits or clock hands at native size. The clock face and the thermostat are blank.
  • The door has its loose brass chain, and the phone lies face down on the console beside the key dish.
  • The window shows street light and a water tower behind half-lowered blinds.
  • The thermostat is about 38 px across at 1024, close to its true size.

3. Tempered glass, second pass

Three tempered glass variants with their alpha grids
Variant 1 (accepted) and the two repaints with their 6 × 4 alpha grids. The parking composite page now draws B2-002 with variant 3.
90/100
Apartment calibration, again.
  • Production plate fits within 30.7 px at 1536: +6.
  • Lens shift ported to Swift and checked: +4.