chore(meta): T-1170 mouth-semantics follow-up — inland-reading mouths + pole-edge drains (Jeroen's capture question)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -1725,3 +1725,14 @@ T-1156 review forward-note (Tyre, PR #195 Q1): when this ticket redesigns the bi
|
||||
T-1172 retirement dependency (Tyre''s clip ruling): when this ticket''s course invention terminates courses at the invented coast with continuous geometry, RETIRE the T-1172 draw-time water clip in the same change (marker comment at the clip site in atlas_window_nature_overlay.gd) — suppressed offshore mouths return with real coast-terminus geometry here. Also: the clip''s strict-drop behavior at Region 205km cells (accepted amputation of final coastal dots) is superseded by real course termini.', NULL, '2026-07-23 08:16:58', '2026-07-23 08:16:58.392', '2026-07-23 08:16:58.392', NULL, '030830007916704b01876509cd9ca935', 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 ('06FRW2ABEG6HQHVKQ9F7NQ1K8R', 'status', 'in_progress', 'review', NULL, '2026-07-23 09:42:13', '2026-07-23 09:42:13.597', '2026-07-23 09:42:13.597', NULL, '2a77ca9ca37d0488b84238555336a4a4', 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 ('06FRW2ABEG6HQHVKQ9F7NQ1K8R', 'status', 'review', 'done', NULL, '2026-07-23 09:52:33', '2026-07-23 09:52:33.559', '2026-07-23 09:52:33.559', NULL, 'a7d971731b6f0ebded33ff1c43236d60', 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 ('06FRV2GT1FQVATWX641KY9K66C', 'description', 'Named experience gap from T-1156 wave 1 (Si audit + lead, 2026-07-23): the D8 river skeleton lives at heightmap working-grid resolution (512x256 — ~76.6 km per river cell on Lendel). Wave 1''s per-rung class filtering makes planetary/Region river courses real, but at District (2 km cells, ~65 km window) and Quarter the geometry is SPARSER THAN THE WINDOW — a window typically contains zero or one river cell, so ''tributaries at District, streams at Quarter'' cannot materialize as visible courses from the stored skeleton alone. The fix is the linear-feature analog of T-1162''s coast crinkle: deterministically INVENT river course geometry between/below D8 cells — domain-warped polyline interpolation between adjacent river cells (seeded per body+cell pair, D-227 discipline, elevation-aware so courses prefer invented-terrain valleys where feasible), refining with rung the same way the coast warp refines the coastline. Also the natural home for reconciling rivers with T-1162''s invented relief (a wave-1 known gap: drawn rivers may cross invented hills — acceptable at 76 km dot spacing, glaring once courses are continuous). Depends on wave 1''s carrier (river_class on RiverNetwork) landing first.
|
||||
|
||||
T-1156 review forward-note (Tyre, PR #195 Q1): when this ticket redesigns the binning corner, consider PER-BASIN anchoring as an explicit option — every watershed gets its own trunk regardless of the body''s dominant river (the right eventual model once basins are player-inspectable), at the cost of a second normalization pass and a cross-basin legibility decision at Region scale (several equal-weight ''trunks'' of wildly different magnitude undersell the dominant drainage). The wave-1 global-per-body anchor is correct for ''show the main river system at a glance''. Single revisit points: classify_river_cell (server) and RIVER_CLASS_VISIBLE_BY_RUNG (client).
|
||||
|
||||
T-1172 retirement dependency (Tyre''s clip ruling): when this ticket''s course invention terminates courses at the invented coast with continuous geometry, RETIRE the T-1172 draw-time water clip in the same change (marker comment at the clip site in atlas_window_nature_overlay.gd) — suppressed offshore mouths return with real coast-terminus geometry here. Also: the clip''s strict-drop behavior at Region 205km cells (accepted amputation of final coastal dots) is superseded by real course termini.', 'Named experience gap from T-1156 wave 1 (Si audit + lead, 2026-07-23): the D8 river skeleton lives at heightmap working-grid resolution (512x256 — ~76.6 km per river cell on Lendel). Wave 1''s per-rung class filtering makes planetary/Region river courses real, but at District (2 km cells, ~65 km window) and Quarter the geometry is SPARSER THAN THE WINDOW — a window typically contains zero or one river cell, so ''tributaries at District, streams at Quarter'' cannot materialize as visible courses from the stored skeleton alone. The fix is the linear-feature analog of T-1162''s coast crinkle: deterministically INVENT river course geometry between/below D8 cells — domain-warped polyline interpolation between adjacent river cells (seeded per body+cell pair, D-227 discipline, elevation-aware so courses prefer invented-terrain valleys where feasible), refining with rung the same way the coast warp refines the coastline. Also the natural home for reconciling rivers with T-1162''s invented relief (a wave-1 known gap: drawn rivers may cross invented hills — acceptable at 76 km dot spacing, glaring once courses are continuous). Depends on wave 1''s carrier (river_class on RiverNetwork) landing first.
|
||||
|
||||
T-1156 review forward-note (Tyre, PR #195 Q1): when this ticket redesigns the binning corner, consider PER-BASIN anchoring as an explicit option — every watershed gets its own trunk regardless of the body''s dominant river (the right eventual model once basins are player-inspectable), at the cost of a second normalization pass and a cross-basin legibility decision at Region scale (several equal-weight ''trunks'' of wildly different magnitude undersell the dominant drainage). The wave-1 global-per-body anchor is correct for ''show the main river system at a glance''. Single revisit points: classify_river_cell (server) and RIVER_CLASS_VISIBLE_BY_RUNG (client).
|
||||
|
||||
T-1172 retirement dependency (Tyre''s clip ruling): when this ticket''s course invention terminates courses at the invented coast with continuous geometry, RETIRE the T-1172 draw-time water clip in the same change (marker comment at the clip site in atlas_window_nature_overlay.gd) — suppressed offshore mouths return with real coast-terminus geometry here. Also: the clip''s strict-drop behavior at Region 205km cells (accepted amputation of final coastal dots) is superseded by real course termini.
|
||||
|
||||
Mouth semantics follow-up (Jeroen''s capture question, 2026-07-23): two mouth-placement oddities to resolve when courses/termini become real geometry here — (1) inland-reading mouths: the raw-coast mouth cell can sit landward of the drawn coastline (the mirror of T-1172''s offshore case; not clipped since it''s on drawn land) — mouths should move to the course''s actual invented-coast terminus; (2) pole-edge drains: drainage.rs counts rivers draining off the grid''s top/bottom edge as ''mouths'', rendering double-rings in polar ice with no sea adjacent — revisit whether these render as mouths at all (probably not; they are grid artifacts, not river-meets-sea events).', NULL, '2026-07-23 10:14:21', '2026-07-23 10:14:21.616', '2026-07-23 10:14:21.616', NULL, 'c7763d4d559c04562995b482fbc99e86', 2) ON CONFLICT(hash) DO NOTHING;
|
||||
|
||||
@@ -2538,3 +2538,10 @@ TYRE RULING (2026-07-23, full text in PR record): option (D) — client-side dra
|
||||
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 ('06FRW2ABEG6HQHVKQ9F7NQ1K8R', 'bug', '06FB0TNSRZXCHGS16BFHSSGSV4', 'River skeleton draws over drawn ocean — two-waterline disagreement (raw heightmap sea level vs invented/warped morphology coast)', 'Jeroen, 2026-07-23, first hands-on with PR #195''s merged captures: ''the rivers seem to be continuing under the waterline of the ocean.'' Mechanism confirmed by code inspection: river_cells/mouths are filtered against the RAW 512x256 heightmap sea level (drainage.rs:258-259, elevation[i] >= sea_level), but the drawn ocean is the derived MORPHOLOGY verdict (district_profile.rs:1464-1465 open_water) — which post-T-1162 includes the coast-warp invention (the drawn coastline is deterministically displaced from the heightmap coast) and at Region rung aggregates at 204.8 km cells. Anywhere the two waterlines disagree, a raw-land river dot renders over painted ocean; mouths are worst-case by definition (last land cell on the RAW coast — wherever the drawn coast is displaced inland, mouths render offshore). Long ocean-crossing dot trails = low-lying raw-land chains the derived morphology paints as water. This is the Q-100 dual-artifact class Si''s wave-1 audit pre-flagged. Fix-layer options for Tyre''s ruling: (A) client-side clip against the arrived composite''s per-cell water class (cheap, presentational, keeps two truths but hides disagreement; needs a mouth rule — snap-to-drawn-land vs suppress); (B) server-side reconciliation — classify skeleton cells against the WARPED/derived coast at extraction (one truthful waterline per D-166 honesty; couples drainage to the invention layer, golden + cost implications); (C) fold into T-1170 course invention (courses terminate at the invented coast naturally) and accept the artifact until then.
|
||||
|
||||
TYRE RULING (2026-07-23, full text in PR record): option (D) — client-side draw-time clip now, retired into T-1170. Mechanism sizing corrected: WARP_AMPLITUDE_CAP_PX=0.75 (sub-pixel, ~57km max on Lendel) proves the warp is fringe-only — the ocean-crossing trails are Region morphology AGGREGATION painting low raw-land shelves as OpenOcean. Decisive architecture point: the drawn coast is RUNG-INDEXED (warp_fbm''s cutoff admits more octaves at finer rungs — a family of curves, not one), so no single server-side waterline is well-defined; option (B) rejected on well-definedness, not cost. Rules: (1) clip river dots + confluences against the arrived composite''s per-cell morphology water verdict (OpenOcean/Lake) at the rung being painted — strict drop, no snap; (2) Region 205km-cell amputation of final coastal dots accepted (invisible vs the trails it kills); (3) mouths in drawn-water cells SUPPRESSED, never snapped (snapping invents an uncomputed landmark; suppressed mouths return with real geometry in T-1170) — flagged to Jeroen as the one taste call, proceeding on Tyre''s recommendation; (4) basin boundaries NOT clipped (faint watershed overlay, legitimately grazes offshore pour-points — out of scope); (5) dot-pop across rungs is the honest consequence of the rung-indexed coast, not a regression; (6) retirement marker at the clip site, retired in the same change as T-1170''s coast-terminating courses. D-226 two-waterline note text supplied (rides the fix branch).', 'done', 'high', NULL, 'client', 'D-226', '2026-07-23 08:13:21.652', '2026-07-23 09:52:33.554', NULL, 'ef7d600d47006495945258fa28cb359e', 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 ('06FRV2GT1FQVATWX641KY9K66C', 'story', '06FB0TNSRZXCHGS16BFHSSGSV4', 'Invent river courses below heightmap resolution — deterministic warped polylines between D8 cells', 'Named experience gap from T-1156 wave 1 (Si audit + lead, 2026-07-23): the D8 river skeleton lives at heightmap working-grid resolution (512x256 — ~76.6 km per river cell on Lendel). Wave 1''s per-rung class filtering makes planetary/Region river courses real, but at District (2 km cells, ~65 km window) and Quarter the geometry is SPARSER THAN THE WINDOW — a window typically contains zero or one river cell, so ''tributaries at District, streams at Quarter'' cannot materialize as visible courses from the stored skeleton alone. The fix is the linear-feature analog of T-1162''s coast crinkle: deterministically INVENT river course geometry between/below D8 cells — domain-warped polyline interpolation between adjacent river cells (seeded per body+cell pair, D-227 discipline, elevation-aware so courses prefer invented-terrain valleys where feasible), refining with rung the same way the coast warp refines the coastline. Also the natural home for reconciling rivers with T-1162''s invented relief (a wave-1 known gap: drawn rivers may cross invented hills — acceptable at 76 km dot spacing, glaring once courses are continuous). Depends on wave 1''s carrier (river_class on RiverNetwork) landing first.
|
||||
|
||||
T-1156 review forward-note (Tyre, PR #195 Q1): when this ticket redesigns the binning corner, consider PER-BASIN anchoring as an explicit option — every watershed gets its own trunk regardless of the body''s dominant river (the right eventual model once basins are player-inspectable), at the cost of a second normalization pass and a cross-basin legibility decision at Region scale (several equal-weight ''trunks'' of wildly different magnitude undersell the dominant drainage). The wave-1 global-per-body anchor is correct for ''show the main river system at a glance''. Single revisit points: classify_river_cell (server) and RIVER_CLASS_VISIBLE_BY_RUNG (client).
|
||||
|
||||
T-1172 retirement dependency (Tyre''s clip ruling): when this ticket''s course invention terminates courses at the invented coast with continuous geometry, RETIRE the T-1172 draw-time water clip in the same change (marker comment at the clip site in atlas_window_nature_overlay.gd) — suppressed offshore mouths return with real coast-terminus geometry here. Also: the clip''s strict-drop behavior at Region 205km cells (accepted amputation of final coastal dots) is superseded by real course termini.
|
||||
|
||||
Mouth semantics follow-up (Jeroen''s capture question, 2026-07-23): two mouth-placement oddities to resolve when courses/termini become real geometry here — (1) inland-reading mouths: the raw-coast mouth cell can sit landward of the drawn coastline (the mirror of T-1172''s offshore case; not clipped since it''s on drawn land) — mouths should move to the course''s actual invented-coast terminus; (2) pole-edge drains: drainage.rs counts rivers draining off the grid''s top/bottom edge as ''mouths'', rendering double-rings in polar ice with no sea adjacent — revisit whether these render as mouths at all (probably not; they are grid artifacts, not river-meets-sea events).', 'backlog', 'medium', NULL, 'server', 'D-227', '2026-07-23 05:54:25.931', '2026-07-23 10:14:21.616', NULL, '558a64a097fc55802e86813ae6a3ea53', 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