Files
settled-reach/tests/visual.json
T
jpmschweitzerandClaude Opus 5 8eb5cb9ff7 feat(ui): the Atlas ladder bottoms out at Quarter (D-255, T-1213)
Quarter becomes the deepest navigable rung. Block and Chunk leave the ladder.

The rule, from the amendment: the deepest Atlas rung is the one at which a
screen pixel shows one subtile. At the uniform 2x2 px display ratio a
3440x1440 window gives 540 gridunits on the short axis, so Quarter's 512 m
extent draws 0.948 m per gridunit -- about one voxel per gridunit and one
0.5 m subtile per pixel. Block (0.237) and Chunk (0.119) magnify beneath the
finest datum that can exist, and measured as exactly that on Ferrath: one
morphology zone, one vegetation class, an unbroken colour field. They were not
missing a feature; there was nothing left to show them.

CHUNK ITSELF IS UNTOUCHED. It remains D-243's 64 m stream/derive unit and is
where Phase 5 derives first-person walkable content -- D-012's
load-around-the-player is expressed in chunks. Block remains the 128 m
generator planning unit. Both keep their enum variants, their extent_m answers
and their wire vocabulary. What was retired is the claim that a MAP of one is
worth looking at.

DEEP_RUNGS moved with the floor, and this is the part worth reading twice. It
is a mandatory D-255(d) hardening: a per-body retention cap bounding how much
ground an exhaustive pan can hold resident at fine spacing. Left as
[Block, Chunk] it would have guarded rungs no client can request -- dead code
-- while the accumulation gap silently re-opened under Quarter, now the finest
navigable rung at ~0.95 m per gridunit. It is now [District, Quarter]. A
control that names its targets by rung has to follow the ladder when the
ladder moves.

Six tests pinned the old floor and were updated rather than deleted, since
each was protecting a real property: the clamp tests now clamp at Quarter, and
the disk-cache tests use Region for "shallow" (District is capped now) and
Quarter for "deep". One new test pins the distinction the change turns on --
the retired rungs are absent from RUNG_LADDER but still present in
RUNG_EXTENT_M, because viewability was retired, not vocabulary.

Also removes the four capture scenarios for the retired rungs, including the
two blank goldens that had been passing against blank captures.

1838 client tests, 0 failed. Server clippy clean, step_canvas suite green.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-07 14:38:47 +02:00

154 lines
7.0 KiB
JSON

{
"resolution": [3440, 1440],
"_comment_resolution": "Native panel resolution (3440x1440 ultrawide, 2.39:1) as of 2026-08-06, raised from 960x540. Not cosmetic: D-255's extent inversion makes the shorter viewport axis span exactly one cell of the rung, so the viewport decides how much world a rung shows and at what cell count — a small capture is a DIFFERENT map, not a scaled one. 960x540 was also 16:9, so it never exercised the ultrawide aspect path added in 21e263d0a, which is the aspect actually used daily. Captures run offscreen under gamescope at this size (see tests/run-visual); goldens must be regenerated whenever this changes.",
"settle_frames": 30,
"tolerance": 5,
"max_diff_pct": 0.5,
"golden_dir": "client/tests/golden/visual",
"_comment_atlas_goldens": "T-1157 (D-255 rewrite of the T-1120 matrix, PR #180 provenance carried forward, Tyre): the atlas_* golden scenarios below key on (body, rung) per the stepped Atlas ladder, captured AND verified (exact pixel match) on danoontje's Mesa/AMD stack. T-1121 documents that goldens do NOT port across boxes at the current tolerance (the 19 pre-existing goldens fail 12-14% on this same box) — an atlas_* golden failing on a DIFFERENT machine is expected baseline drift, not a regression, until T-1121 resolves the canonical-capture-box question.",
"scenarios": {
"implant_pending": {
"ticks": 1,
"description": "ImplantPending — diegetic Layer-1 generating indicator (#960)"
},
"atlas_gen_open": {
"ticks": 240,
"description": "Live: real atlas opener (HudGroups) + GJ71c region-ramp overlay (#960, D-255 rewrite)"
},
"locomotion_idle_live": {
"ticks": 90,
"live": true,
"scene": "res://scenes/locomotion_sandbox.tscn",
"description": "Live 3D sandbox: character idle at Hub spawn — greybox floor, -30 deg frame (T-1088)"
},
"locomotion_cutaway": {
"ticks": 540,
"live": true,
"scene": "res://scenes/locomotion_sandbox.tscn",
"env": { "SR_AUTOPILOT": "stance_up,south:6.0" },
"description": "Live 3D sandbox: autopilot walks south into a wall — cutaway stub golden (T-1088)"
},
"atlas_GJ380c_Global": {
"ticks": 240,
"live": true,
"description": "T-1157 curated Atlas golden (D-255): Lendel (GJ380c), Global rung (rung 0), temperature overlay"
},
"atlas_GJ380c_Region": {
"ticks": 240,
"live": true,
"description": "T-1157 curated Atlas golden (D-255): Lendel (GJ380c), Region rung, moisture overlay"
},
"atlas_GJ380c_District": {
"ticks": 240,
"live": true,
"description": "T-1157 curated Atlas golden (D-255): Lendel (GJ380c), District rung, no overlay"
},
"atlas_GJ144e_Global": {
"ticks": 240,
"live": true,
"description": "T-1157 curated Atlas golden (D-255): Vethis (GJ144e), Global rung, no overlay"
},
"atlas_GJ144e_Quarter": {
"ticks": 240,
"live": true,
"description": "T-1157 curated Atlas golden (D-255): Vethis (GJ144e), Quarter rung, vegetation overlay"
},
"atlas_GJ338Bd_Global": {
"ticks": 240,
"live": true,
"description": "T-1157 curated Atlas golden (D-255): Arbour (GJ338Bd), Global rung, moisture overlay"
},
"atlas_GJ820Bc_Global": {
"ticks": 240,
"live": true,
"description": "T-1157 curated Atlas golden (D-255): Ferrath (GJ820Bc), Global rung, no overlay"
},
"atlas_GJ820Bc_District": {
"ticks": 240,
"live": true,
"description": "T-1157 curated Atlas golden (D-255): Ferrath (GJ820Bc), District rung, temperature overlay"
},
"_comment_descent_ladder": "The atlas_GJ820Bc_land_* set is one body at ONE world point, once per rung, so the ladder reads as a descent. Anchored on land rather than world-metre zero. It judges the NATURE layer (relief, coast, watercourses, biome character) — nothing civilizational is generated yet and none is due before T-1207, so an absence of settlements is the expected state, not a finding.",
"atlas_GJ820Bc_land_Region": {
"ticks": 240,
"live": true,
"description": "Descent ladder (2026-08-06): Ferrath (GJ820Bc), Region rung, land-anchored, no overlay"
},
"atlas_GJ820Bc_land_District": {
"ticks": 240,
"live": true,
"description": "Descent ladder: Ferrath (GJ820Bc), District rung, land-anchored, no overlay"
},
"atlas_GJ820Bc_land_Quarter": {
"ticks": 240,
"live": true,
"description": "Descent ladder: Ferrath (GJ820Bc), Quarter rung, land-anchored, no overlay"
},
"atlas_GJ251c_Global": {
"ticks": 240,
"live": true,
"description": "T-1157 curated Atlas golden (D-255): Ruhr (GJ251c), Global rung, vegetation overlay — highest-population body in the sample"
},
"atlas_GJ251c_Region": {
"ticks": 240,
"live": true,
"description": "T-1157 curated Atlas golden (D-255): Ruhr (GJ251c), Region rung, no overlay"
},
"atlas_GJ244Ad_Global": {
"ticks": 240,
"live": true,
"description": "T-1157 curated Atlas golden (D-255): Edict (GJ244Ad), Global rung, temperature overlay — frozen planet_class pick"
}
},
"flows": {
"flow_dialogue": {
"interval": 3,
"steps": [
{ "action": "MoveSouth", "label": "approaching NPC" },
{ "action": "Interact", "label": "dialogue opens" },
{ "action": "wait", "label": "reading options" },
{ "action": "select_option_1", "label": "option selected" },
{ "action": "wait", "label": "NPC response" },
{ "action": "MoveNorth", "label": "walking away" }
]
},
"flow_explore": {
"interval": 3,
"steps": [
{ "action": "MoveNorth", "label": "moving north" },
{ "action": "MoveNorth", "label": "fog revealing" },
{ "action": "MoveNorth", "label": "near wall" },
{ "action": "MoveSouth", "label": "fog hiding" }
]
},
"locomotion_gaits": {
"interval": 2,
"live": true,
"scene": "res://scenes/locomotion_sandbox.tscn",
"env": {
"SR_AUTOPILOT": "east:2.0,stance_up,east:2.0,stance_up,east:2.0,stance_down,stance_down,stance_down,south:2.0,wait:1.5"
},
"description": "T-1088 stance ladder movie — NOT golden-compared. Movie mode starts no server: run `cd server && cargo run --bin settled-reach-server -- --test-mode` first, then `SR_LIVE=1 SR_PORT=9876 tests/run-visual --movie locomotion_gaits`",
"steps": [
{ "action": "wait", "label": "careful gait east" },
{ "action": "wait", "label": "walk gait east" },
{ "action": "wait", "label": "sprint gait east" },
{ "action": "wait", "label": "crouch gait south" },
{ "action": "wait", "label": "settling to idle" },
{ "action": "wait", "label": "idle rest" }
]
}
},
"crops": {
"top-right": [760, 0, 200, 200],
"top-left": [0, 0, 250, 150],
"bottom": [0, 340, 960, 200],
"full": [0, 0, 960, 540]
},
"thumbnail": {
"width": 240,
"height": 135,
"columns": 4
}
}