chore(meta): zoom ladder shipped — T-1152/T-1153 closed (PR #192 merged, triple review, six live rounds, eight integration bugs pinned)
This commit is contained in:
@@ -1672,3 +1672,5 @@ INSERT INTO ticket_history (ticket_record_id, field, old_value, new_value, chang
|
||||
Live round 4 addendum: client/tests/test_atlas_window_overlay_draw_smoke.gd (3 scenarios -> now 2 after removing a flaky harness-sanity check: single-window draw + tile-mosaic draw, both asserting real composited pixels via SubViewport render) is a standalone gdUnit file with its own headless-skip guard, added because this redesign hadn''t landed yet. When this ticket lands, migrate its 2 scenarios into the redesigned tests/visual.json harness (folding the standalone file away) for consistency with the rest of the real-rendering test suite — see docs/DEVOPS.md''s ''Real-rendering test exception'' note for the interim rationale.', NULL, '2026-07-22 12:37:50', '2026-07-22 12:37:50.448', '2026-07-22 12:37:50.448', NULL, '84a225b957e0106d111f3aa334f882c2', 2) ON CONFLICT(hash) DO NOTHING;
|
||||
INSERT INTO ticket_history (ticket_record_id, field, old_value, new_value, changed_by, changed_at, created_at, updated_at, deleted_at, hash, canonical_version) VALUES ('06FRCEXHYP8RVBPB8QNZHTNTR0', 'status', 'in_progress', 'review', NULL, '2026-07-22 14:50:50', '2026-07-22 14:50:50.781', '2026-07-22 14:50:50.781', NULL, 'ff6f498d0949127287e7a885729c020d', 2) ON CONFLICT(hash) DO NOTHING;
|
||||
INSERT INTO ticket_history (ticket_record_id, field, old_value, new_value, changed_by, changed_at, created_at, updated_at, deleted_at, hash, canonical_version) VALUES ('06FRCEZ47J16E3XKE957HGR8H4', 'status', 'in_progress', 'review', NULL, '2026-07-22 14:50:50', '2026-07-22 14:50:50.784', '2026-07-22 14:50:50.784', NULL, 'fb6f65da8857906958d2865936070c78', 2) ON CONFLICT(hash) DO NOTHING;
|
||||
INSERT INTO ticket_history (ticket_record_id, field, old_value, new_value, changed_by, changed_at, created_at, updated_at, deleted_at, hash, canonical_version) VALUES ('06FRCEXHYP8RVBPB8QNZHTNTR0', 'status', 'review', 'done', NULL, '2026-07-22 15:40:43', '2026-07-22 15:40:43.466', '2026-07-22 15:40:43.466', NULL, 'cfe2434143354d1d9eb28a7f5b87a6d8', 2) ON CONFLICT(hash) DO NOTHING;
|
||||
INSERT INTO ticket_history (ticket_record_id, field, old_value, new_value, changed_by, changed_at, created_at, updated_at, deleted_at, hash, canonical_version) VALUES ('06FRCEZ47J16E3XKE957HGR8H4', 'status', 'review', 'done', NULL, '2026-07-22 15:40:43', '2026-07-22 15:40:43.468', '2026-07-22 15:40:43.468', NULL, 'e04949dc75c415f6fe274c3e5ba7d5c4', 2) ON CONFLICT(hash) DO NOTHING;
|
||||
|
||||
@@ -2454,3 +2454,5 @@ INSERT INTO tickets (record_id, type, parent_record_id, title, description, stat
|
||||
INSERT INTO tickets (record_id, type, parent_record_id, title, description, status, priority, assigned_to, team, decision_ref, created_at, updated_at, deleted_at, hash, canonical_version) VALUES ('06FRMPTY517G7ZBMPAPMMCCMK8', 'task', '06FB0TNSRZXCHGS16BFHSSGSV4', 'Retire the legacy window_granularity u32 wire field', 'PR #192 review (Tyre): window_granularity_v2 (the WindowGranularity enum) fully shadows the legacy u32 field — the server always echoes both, and the only conceivable legacy readers are pre-T-1152 clients, which do not exist (single-repo client/server pair, no external clients). Retire the u32 field + the WINDOW_GRANULARITY_REGION_KEY sentinel machinery from AtlasLayerRequest/DistrictWindowLayer once confirmed nothing reads it: server resolve_window_granularity legacy path, client encode path, the sentinel echo, and the five-touch-point key components that still carry the legacy value alongside the enum. Scheduled in the D-226 amendment refinement-semantics note (PR #192). Do AFTER T-1153''s follow-ups settle — no urgency, the dual-echo is cheap; the win is contract simplicity.', 'backlog', 'low', NULL, 'server', NULL, '2026-07-22 15:04:31.528', '2026-07-22 15:04:31.528', NULL, '48f7426374e9306223f2ea12dc606a9f', 2) ON CONFLICT(record_id) DO UPDATE SET type=excluded.type, parent_record_id=excluded.parent_record_id, title=excluded.title, description=excluded.description, status=excluded.status, priority=excluded.priority, assigned_to=excluded.assigned_to, team=excluded.team, decision_ref=excluded.decision_ref, updated_at=excluded.updated_at, deleted_at=excluded.deleted_at, hash=excluded.hash, canonical_version=excluded.canonical_version WHERE excluded.updated_at > tickets.updated_at OR (excluded.updated_at = tickets.updated_at AND excluded.hash > tickets.hash);
|
||||
INSERT INTO tickets (record_id, type, parent_record_id, title, description, status, priority, assigned_to, team, decision_ref, created_at, updated_at, deleted_at, hash, canonical_version) VALUES ('06FRMPWFRCD3M8282XJ01YWGX0', 'task', '06FB0TNSRZXCHGS16BFHSSGSV4', 'Orbital coastline-position audit — derive_orbital_at_metres skips coast_warp_px', 'PR #192 review (Araminta, follow-up she rated real-not-hypothetical): derive_orbital_at_metres (district_profile.rs:1617-1692) samples the raw heightmap ocean mask via bilinear/bilinear_bool with NO coast_warp_px, while District/Quarter both apply coast_warp_px on the same mask (district_profile.rs:1139). The orbital rung therefore draws a STRUCTURALLY DIFFERENT coastline position than every finer rung — not a coarser sample of the same line — echoing the mandate''s own Lendel evidence clause (the D-166 amendment''s headline failure mode) at the orbital-to-district seam. Design doc §9 R1/R3 flagged the class as unresolved; §6 never gated T-1152/T-1153 on it, hence follow-up not blocker. Audit: quantify the divergence at real coasts (the wrap-warped line vs raw-bilinear line at region spacing), then either apply coast_warp_px at orbital sampling positions (cost: one warp eval per coastal cell — measure) or record an accepted-divergence rationale with Araminta''s sign-off. Related: Araminta also flagged the capture set never demonstrates Quarter-vs-District visual differentiation (flat plains read flat, sanctioned) — the audit''s verification captures should use a coastal/mountainous Quarter zoom to validate the finest rung at the same time.', 'backlog', 'high', NULL, 'server', 'D-226', '2026-07-22 15:04:44.227', '2026-07-22 15:04:44.227', NULL, '699464753c6a0c03bc014ce1f16e653f', 2) ON CONFLICT(record_id) DO UPDATE SET type=excluded.type, parent_record_id=excluded.parent_record_id, title=excluded.title, description=excluded.description, status=excluded.status, priority=excluded.priority, assigned_to=excluded.assigned_to, team=excluded.team, decision_ref=excluded.decision_ref, updated_at=excluded.updated_at, deleted_at=excluded.deleted_at, hash=excluded.hash, canonical_version=excluded.canonical_version WHERE excluded.updated_at > tickets.updated_at OR (excluded.updated_at = tickets.updated_at AND excluded.hash > tickets.hash);
|
||||
INSERT INTO tickets (record_id, type, parent_record_id, title, description, status, priority, assigned_to, team, decision_ref, created_at, updated_at, deleted_at, hash, canonical_version) VALUES ('06FRMPY76TYY76FSBV2Y5P8QHM', 'task', '06FB0TNSRZXCHGS16BFHSSGSV4', 'Per-rung composite filter policy — NEAREST at sparse rungs, LINEAR where density earns it', 'PR #192 review (Araminta, follow-up): COMPOSITE_SMOOTH''s GPU bilinear stretch at Region rung reads as a near-featureless soft gradient at 204.8 km/cell (capture 02-region-mid.png) — technically honest LoD (interpolating BETWEEN real derived samples, letter-compliant with ''never magnified interpolation'') but visually indistinguishable from the coarse-composite-stretched experience the mandate was written to kill: the spirit is violated at sparse rungs. Implement a per-rung filter policy: crisp NEAREST at Region/orbital (the COMPOSITE_SMOOTH := false path already exists byte-compatible per the file''s own doc — make it per-rung runtime instead of compile-time), keep LINEAR at District/Quarter where cell density reads as texture rather than smoothing-over-absence. Araminta owns the rung-by-rung call — get her sign-off on which rungs get which filter (and whether the threshold should key on on-screen px-per-cell rather than rung identity). Supersedes the remaining half of the old T-1155 COMPOSITE_SMOOTH-retirement framing — reconcile with that ticket when picking this up.', 'backlog', 'medium', NULL, 'client', 'D-226', '2026-07-22 15:04:58.422', '2026-07-22 15:04:58.422', NULL, '8c26e2fc6d557e675f04ca67b19f4c3a', 2) ON CONFLICT(record_id) DO UPDATE SET type=excluded.type, parent_record_id=excluded.parent_record_id, title=excluded.title, description=excluded.description, status=excluded.status, priority=excluded.priority, assigned_to=excluded.assigned_to, team=excluded.team, decision_ref=excluded.decision_ref, updated_at=excluded.updated_at, deleted_at=excluded.deleted_at, hash=excluded.hash, canonical_version=excluded.canonical_version WHERE excluded.updated_at > tickets.updated_at OR (excluded.updated_at = tickets.updated_at AND excluded.hash > tickets.hash);
|
||||
INSERT INTO tickets (record_id, type, parent_record_id, title, description, status, priority, assigned_to, team, decision_ref, created_at, updated_at, deleted_at, hash, canonical_version) VALUES ('06FRCEXHYP8RVBPB8QNZHTNTR0', 'story', '06FB0TNSRZXCHGS16BFHSSGSV4', 'Derived planetary rung — progressive capped-density tiling; AtlasViewer heightmap texture retires', 'Zoom-ladder migration step 4 (docs/architecture/atlas-zoom-ladder-t1143.md SS4/SS8) under Jeroen''s carrier ruling (2026-07-21): the orbital view becomes fully derived output served as PROGRESSIVE CAPPED-DENSITY TILING on the generalized district_window carrier at coarse granularity (region-band octaves, region_baseline_at_district blend path — no invent_primitives at orbital wavelengths) — no dense raster wire shape, no tagged-envelope migration. Client: AtlasViewer''s direct heightmap-texture display path retires IN THE SAME CHANGE that the derived orbital view lands (never strand the view); heightmap PNGs/systems.db raster become invisible derivation input only (D-166 corollary; import_heightmaps stays as input storage). Carries design risks R1 (planetary cost story is stacked unmeasured extrapolations — measure first), R2 (stepped categorical fields at orbital scale), R5 (granularity param cannot express coarser-than-district — needs the enum/log-scale redesign before this rung). Blocked by the granularity carrier and derive_at_metres steps.', 'done', 'high', NULL, 'server', 'D-226', '2026-07-21 19:51:26.966', '2026-07-22 15:40:43.466', NULL, '37248f58b4d8756f0d428174bc057658', 2) ON CONFLICT(record_id) DO UPDATE SET type=excluded.type, parent_record_id=excluded.parent_record_id, title=excluded.title, description=excluded.description, status=excluded.status, priority=excluded.priority, assigned_to=excluded.assigned_to, team=excluded.team, decision_ref=excluded.decision_ref, updated_at=excluded.updated_at, deleted_at=excluded.deleted_at, hash=excluded.hash, canonical_version=excluded.canonical_version WHERE excluded.updated_at > tickets.updated_at OR (excluded.updated_at = tickets.updated_at AND excluded.hash > tickets.hash);
|
||||
INSERT INTO tickets (record_id, type, parent_record_id, title, description, status, priority, assigned_to, team, decision_ref, created_at, updated_at, deleted_at, hash, canonical_version) VALUES ('06FRCEZ47J16E3XKE957HGR8H4', 'story', '06FB0TNSRZXCHGS16BFHSSGSV4', 'Continuous cursor-anchored zoom ladder in the client — rung selection, progressive refinement, seam zoom with full-zoom-out reset', 'Zoom-ladder migration step 5 (docs/architecture/atlas-zoom-ladder-t1143.md SS5/SS8) under Jeroen''s seam ruling (2026-07-21): wheel zoom is CONTINUOUS and CURSOR-ANCHORED from the orbital frame down through regional granularities (supersedes the click-through-only entry; D-013''s ''zoom gesture owns spatial descent'' restored for this seam), with the HARD CONDITION that a full zoom-out resets to the original canonical planetary frame and location (the fixed orbital framing is the ladder''s top rest state — no drifted pan state at the top). Rung-selection rule: sample spacing E/C (world extent per canvas px); request the coarsest rung whose spacing <= 2x(E/C). Progressive refinement: hold the coarse composite, fetch finer granularity, sharpen in place (Araminta SS6: no hue step, no layout jump, coastline stable across rungs — acceptance criteria in the doc). Request coalescing across zoom gestures; T-1138''s click-through + reticle retire in the same change. Encoding continuity per SS6 (one colorizer family; hue-average rule ties to the reclassification mode). Blocked by the granularity carrier; the planetary top rung can land before or after (degrade gracefully to current fixed orbital view).', 'done', 'high', NULL, 'client', 'D-226', '2026-07-21 19:51:39.836', '2026-07-22 15:40:43.468', NULL, 'dddccda1b100736b34f6f67b93470d00', 2) ON CONFLICT(record_id) DO UPDATE SET type=excluded.type, parent_record_id=excluded.parent_record_id, title=excluded.title, description=excluded.description, status=excluded.status, priority=excluded.priority, assigned_to=excluded.assigned_to, team=excluded.team, decision_ref=excluded.decision_ref, updated_at=excluded.updated_at, deleted_at=excluded.deleted_at, hash=excluded.hash, canonical_version=excluded.canonical_version WHERE excluded.updated_at > tickets.updated_at OR (excluded.updated_at = tickets.updated_at AND excluded.hash > tickets.hash);
|
||||
|
||||
Reference in New Issue
Block a user