T-1194 (biome/relief stipple layer, from T-1175's assessment) and T-1195
(river+mountain label positions, the T-1169 scope adjudication target)
now have their write-through rows in git — tyre's PR #208 review caught
the branch-side store unable to resolve the T-1195 reference because
these rows were awaiting this commit.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
T-1191: atlas edge-scroll pans on unfocused mouse motion (eyeball nit).
T-1192: Global rung canvas fit/center presentation.
T-1189: raised to high — Region-rung extent exceeds body on both axes at
standard viewports (continent repeats + south-pole stripe smear), per the
T-1183 eyeball captures Jeroen flagged.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The D-225-discharging wire migration per D-255(c): a new
server/src/atlas/step_canvas.rs subsystem (six-rung StepCanvasRung
ladder — Global variable-extent rung 0 through Chunk 64m — the
StepCanvasRequest/StepCanvasResponse tagged envelope extending the
proven ShapeProbe discriminated-shape pattern, PNG-per-field dense +
MessagePack-native sparse encoding per the T-1179 measured table, and
both server cache tiers: the structurally keep-always GlobalTierCache
and the dual-axis StepCanvasCache with storage TTLs per rung and
SIM_STATE_TTL clock-bucket staleness per the D-227 amendment (1)
formula). Wired through bridge/{mod,tcp,local}.rs (sixth demux shape,
send_step_canvas_response mirroring the five existing senders),
gen_queue.rs (DeriveStepCanvas work item with per-connection-per-rung
coalescing, reusing the shared TerrainAnalysisCache), and plugin.rs
(serve/complete systems, lazy D-206 rung-0 population).
Acceptance gate (mandatory per D-227 amendment (3)):
tests/step_canvas_acceptance_gate.rs — cache-hit == cache-miss
byte-identical for every rung, lossless encode round-trips, cache
round-trips vs fresh derive, distinct-center sanity. 5/5 pass.
Station-spacing cap ADOPTED: course stations floored to District
spacing (2,048 m) at finer rungs — the S2-measured +38-87% chunk/block
course cost had zero display benefit at the same station density
(COURSE_STATION_SPACING_FLOOR_M).
Documented honest gaps, not shortcuts: settlement_id is a proximity
approximation (no footprint polygons exist yet); glaciation/flooded_q
sim-state planes are wire-shape-ready D-253 stubs; rung-0 uses signed
equator-anchored rows (the canonical D-256 core convention — T-1186's
wrong-latitude behavior applies unchanged and unfixed here, by
instruction).
Legacy district_window carrier byte-unchanged: window_derivation_golden
6/6 byte-identical, all district_window suites pass unmodified. Full
suite at implementation time: 2127 passed across 45 binaries.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Jeroen's gap catch: T-750 never stated that the seed-to-tile cascade is
also what determines the world where the player walks. Now connected in
one statement across three homes: D-012 amendment (the founding 'chunks
load/unload around the player' driver now concretely = the D-227/D-239
cascade; 3x3 chunk neighborhood minimum, coarser context self-provided by
D-255(f) function composition, Atlas interaction never a precondition,
byte-identical either way), the matching T-750 deliverable note (in
changelog), and a one-truth consumer note on Q-093 for the Phase-5 insert
minimap (design deferred, no independent map pipeline expected).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The T-1177/T-1178/T-1154/T-1179/T-1180 in_progress transition wrote through
to the changelog after the sign-off commit; landing it per the
ticket-mutating-turn persistence rule.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Three-way prep session (Jeroen + lead + Tyre) for the map-handler revision:
Jeroen's design outline captured verbatim, two clarification rounds, Tyre's
governance-delta/implications pass, brief co-written and ratified (zero
misrepresentations, zero blocking gaps), signed off by Jeroen with three edit
rounds (vocabulary repair tile->gridunit, client cache-store question with
SQLite fact base, explicit DQR/ticket deprecation sweep as gated deliverable).
Workshop: 5 seats (Dudley/Araminta/Stig/Tyre + Troblum r2), 2 rounds + lead
interview extendable at Jeroen's call, round 1 gated on measurements
T-1177/T-1178/T-1154/T-1179 (T-1180 non-gating). T-1176 in_progress with gate
blocker edges; T-1154 repurposed as measurement (3) and set ready.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The nature arc's biggest batch: courses invented per window (the
carrier-rule three-way refinement), coast termination, riparian
signal, mouths honest at every rung. Tyre APPROVE (his own ruling
implemented; on-record that Hoshe's blocking find was his miss);
Hoshe APPROVE (the seaward-discard find — ship-visible mouth
vanishing — plus three permanent invariant pins from the live rounds,
everything re-broken by his own hand); Araminta APPROVED (tables
final; her pixel audits drove two of the three Godot rasterizer-
regime discoveries now recorded in D-226 for T-1176). Cold re-checked
on MERGED main (.cache/screenshots/river-courses-main/ — the estuary
ring shot). Unblocks nothing gated; next per Jeroen: the T-1176
render-mechanism design discussion.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Jeroen's benchmark capture for the Atlas polish pass, saved in-repo
with the technique extraction (rivers-as-networks/taper, road-vs-river
color+straightness disambiguation, coast gradient, data-driven stipple,
labels) so the future Araminta-led pass has the source material.
Tickets: T-1175
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Hoshe APPROVE zero findings (incl. a 500k-case randomized proof of the
fixture-limit honesty note and his own wrap-direction revert-test);
Araminta APPROVED all points (pixel-scanned the ocean basin: zero
river-teal hits; land read pixel-identical; mouth suppression accepted
on visual merits). Design was Tyre's pre-implementation ruling (rung-
indexed coast -> presentation-frame clip; D-226 two-waterline note).
Cold re-verified on MERGED main (.cache/screenshots/waterline-main/).
Clip retires into T-1170. Gate trap discovered en route ticketed as
T-1173 (orphan-leaking binary-gated skips on client-only branches).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Tyre APPROVE after one fix round (attractor stroke-width compensation,
D-226 visibility-direction capture); Hoshe APPROVE after one fix round
(named default-visibility pins; execution-grade verification incl. own
golden structural diff and independent revert-tests; full gate
3770/3770 at final tip); Araminta APPROVED all four captures after her
District trunk-dot objection was fixed to her exact ask. Cold
re-verified on MERGED main (.cache/screenshots/rivers-main/). Wave 2
(civilizational overlays) stays deferred on the re-scoped T-1156...
wave-2 notes ride the ticket. Unblocked: T-1168 riparian contract,
T-1170 course invention.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Tyre's carrier ruling: rivers ride the EXISTING whole-body layer1 field
(no new wire field, neither ceiling touched); per-rung refinement is
client-side class filtering (river_class quantized from flow
accumulation — the one additive server change); discrete-geometry-vs-
continuous-field carrier rule established for wave 2. D-226 note added
on the rivers-ladder branch. Si's audit: skeleton is 512x256 heightmap-
resolution dot data (~76 km/cell) — planetary courses real now, sub-
heightmap course geometry named as T-1170, labels split to T-1169
(three dormant pieces, not free).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Tyre APPROVE after one fix round (I1 rung-floor dependency direction
implemented as his stronger ask + drift guard; I2 comment cites; I3
governance captures in his exact text; I4 golden body coverage; all
non-blocking follow-ups swept, none parked). Hoshe APPROVE (empirical
revert checks; his one nit refuted with the diff hunk and formally
retracted). Araminta APPROVED the T-1161 acceptance captures. Cold
eyeball re-verified on MERGED main (.cache/screenshots/nature-octaves-
main/): Region NEAREST crisp, Quarter coast crinkle intact, filters
runtime-verified. T-1155 cancelled: superseded by T-1161's two-axes
outcome per Tyre's Q4 ruling.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>