fix: a marker is a true-metre object, not a scene-unit one
`markers.ts` sized a pin in scene units — 1.6 of lift, a 1.1 stem, a 0.16 head — against the Bay Area board, where a unit is 94.3 m and those are a 151 m lift under a 104 m pin. Correct, and correct for exactly one board. `cities/unify.ts` put San Francisco's districts on a board that is 1,919 m to the unit and `main.ts` draws markers on any board carrying metro detail, so the same constants became **a 3.07 km lift under a 2.1 km pin with a 614 m sphere on top**, standing over downtown San Francisco. Photographed at a 2.5 km stand-off they are the most prominent objects in the frame by an order of magnitude. Nothing failed. Not a type, not a test, not a budget — twenty triangles do not move a triangle count. It was found by taking a photograph and looking at it, which is the third time this exact class has been found in this engine: `structures.ts`'s 4.7 km freeway ribbon, which `23e4bb8` had to withdraw, and the aeroplane glyph, which the same commit gave a true-metre size. The metre values are exactly what the old constants measured on the Bay Area board, so that board does not move by a pixel, and the merged board at the same true stand-off over the same city now draws the same pin at the same apparent size. `markerScale.test.ts` asserts the property rather than the numbers: two boards twenty times apart in scale draw the same marker at the same size on the ground. Verified to fail against the old constants — 15.1 m against 307.1 m, and a pin topping out at 71 m against 1,439 m — rather than assumed to. Its first draft measured the widest bounding sphere in the layer and got 187 m, which is the *stem* carrying the vertical exaggeration it is supposed to carry; it asks for the head by geometry type instead, and says so. Also filed: an unidentified 700 m slab on the Financial District at the same pose, with the reproduction, six things it is ruled out as, and why three runtime probes timed out. It is not this bug and it is still there.
This commit is contained in:
@@ -991,3 +991,47 @@ Two smaller things, both disclosed by their own tracks and neither blocking:
|
||||
The detail map's slope correction correctly declines to add grain on top of it,
|
||||
which is why it neither helps nor hurts. The fix is finer cells there, which is
|
||||
terrain level of detail — the piece that still does not exist.
|
||||
|
||||
## An unidentified 700 m slab stands on downtown San Francisco
|
||||
|
||||
Found 2026-08-24 by photographing the merged board at a close pose, not by any
|
||||
test. **Reproduce it exactly:**
|
||||
|
||||
```
|
||||
node scripts/look.mjs slab --url "/" --lat 37.7897 --lng -122.3972 \
|
||||
--standoff 2500 --at 2026-08-24T18:30:00Z --wait 11000
|
||||
```
|
||||
|
||||
A pale blue-grey slab, roughly 700 m square with visible thickness, rotated onto
|
||||
San Francisco's street grid, sitting on the Financial District and covering the
|
||||
buildings under it. It is the most prominent object in that frame. The same pose
|
||||
on `?city=sf` does not show it, so it is specific to the merged board.
|
||||
|
||||
**What it is not**, each ruled out by reading the code rather than by guessing:
|
||||
|
||||
- Not a marker. The giant marker spheres in the first photograph of this pose
|
||||
were a separate defect, fixed in this same round (scene-unit pin constants on a
|
||||
1,919 m board); with that fixed every sphere is correctly sized and **the slab
|
||||
is unchanged**.
|
||||
- Not an office door glyph. `buildingGlyph.ts` is metre-correct (`1 /
|
||||
world.metresPerUnit` horizontally, `world.metres` vertically) and the three
|
||||
office sites are 48x42, 54x30 and 36x26 m.
|
||||
- Not a landmark. San Francisco's largest authored `footprint` is 0.0011° — a
|
||||
200 m box, and the pack's landmarks render correctly on their own board.
|
||||
- Not the freeway corridor. `overviewLayers` withdraws it inside
|
||||
`DETAIL_STANDOFF_M`, and no corridor ribbon is in the frame.
|
||||
- Not a port or an airport plate. The merged pack carries two ports, both in San
|
||||
Pedro Bay, and SFO is 13 km south of a frame about 3 km across.
|
||||
- Not `office-exterior`. That is the Model X apron and it lives in the office
|
||||
scene at 1 unit = 1 m.
|
||||
|
||||
**How to find it**, since three attempts at a runtime probe timed out walking the
|
||||
scene graph: `__teraCamera` deliberately does not expose the scene, so add a
|
||||
temporary hook beside `lots()` in `main.ts` that traverses
|
||||
`record.handle.stageScene.scene` and **filters inside `page.evaluate`** — the
|
||||
traverse itself is fine, but returning every geometry in the board serialises
|
||||
megabytes and hangs the call. Filter to `boundingBox` width above 250 m in board
|
||||
metres and return fifteen rows. That names it in one run.
|
||||
|
||||
It is a visual defect on the default board at a pose a visitor reaches by
|
||||
descending, and it should be fixed before the next round of imagery.
|
||||
|
||||
Reference in New Issue
Block a user