chore(meta): T-1142 to review — PR #188 up (descent fixes, live full-chain verified)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -1590,3 +1590,4 @@ INSERT INTO ticket_history (ticket_record_id, field, old_value, new_value, chang
|
||||
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 ('06FQ9B8F39QD7PGPG4W35AWCRG', 'status', 'review', 'done', NULL, '2026-07-21 12:03:40', '2026-07-21 12:03:40.353', '2026-07-21 12:03:40.353', NULL, 'cc7df4e537775f8ce9167f5c5d7d7851', 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 ('06FQ9B977KGH3BWP1YQTN32TYM', 'status', 'review', 'done', NULL, '2026-07-21 12:03:40', '2026-07-21 12:03:40.355', '2026-07-21 12:03:40.355', NULL, 'dc60887c48f8e2aa55786cd884e8b0bf', 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 ('06FR97BZHA6DV68S1BFG0HBN8G', 'status', 'backlog', 'in_progress', NULL, '2026-07-21 12:20:47', '2026-07-21 12:20:47.188', '2026-07-21 12:20:47.188', NULL, 'ff85feaa7a633ecabb8187d5ea68b7ba', 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 ('06FR97BZHA6DV68S1BFG0HBN8G', 'status', 'in_progress', 'review', NULL, '2026-07-21 13:11:49', '2026-07-21 13:11:49.373', '2026-07-21 13:11:49.373', NULL, '4b5378198de50d36b509b1fbdbc14ac1', 2) ON CONFLICT(hash) DO NOTHING;
|
||||
|
||||
@@ -2351,3 +2351,4 @@ 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 ('06FR97DPEHANCYX2AC4021BSJC', 'task', '06FB0TNSRZXCHGS16BFHSSGSV4', 'Regional window legibility on quiet interiors — window-local elevation contrast', 'Follow-on from Jeroen''s first descent (2026-07-21): even with T-1142 fixed, many interior windows are genuinely one morphology zone across 66km, and the composite''s absolute lightness modulation (0.7 + 0.3 x elev_q/100, D-226 T-1124 SS5) spans only ~1-3% lightness over a window whose local elev range is small — the window reads as a dead flat fill rather than terrain. Proposal to evaluate WITH Araminta (SS5 is her encoding): window-local contrast stretch — normalize lightness within the window''s own elev min..max (fixed band, e.g. 0.62..0.92) with a degenerate floor (single-value window stays honestly flat), deterministic per window, mirroring how the aliveness_probe elev panel achieved its 12-level local texture. Alternative/complement: a faint deterministic per-cell variation or contour hinting. Any change to the recorded SS5 encoding gets a one-line amendment note. Assess AFTER T-1142 lands — real clicks will then land on real terrain and the residual flatness can be judged on coastal vs interior windows.', 'backlog', 'medium', NULL, 'client', NULL, '2026-07-21 12:19:16.212', '2026-07-21 12:19:16.212', NULL, '51e0232b3c75b03f994638ff86943956', 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 ('06FR97BZHA6DV68S1BFG0HBN8G', 'bug', '06FB0TNSRZXCHGS16BFHSSGSV4', 'Descent allowed outside the map texture — letterbox clicks produce impossible DistrictPos; window opens as unfitted postage stamp', 'Jeroen''s first hands-on descent (2026-07-21): clicked in the letterbox beside the fixed planetary map and landed at DistrictPos (12276, 3021) — an IMPOSSIBLE column (largest terrestrial body with terrain is 7324.5 km, max valid col ~11236). Root cause: _update_hover sets _hover_active unconditionally and neither the reticle guard nor the descend fall-through checks that the cursor is on the heightmap texture — the 2:1 map letterboxed in a wide viewport leaves dead zones where the reticle promises descent and the click derives beyond the planet edge (clamped sampling = the uniform green he saw). Second defect: atlas_window_viewer.enter() resets zoom 1.0 / offset ZERO with no fit — an n=32 composite renders 512px native in a ~1900px viewport (postage stamp, not a filled map). Fixes: (1) client bounds gate — reticle hidden and descent inert unless screen_to_canvas(pos) is inside [0,tex_w)x[0,tex_h); (2) fit-and-center on enter + first window arrival + resize (zoom = ~0.9 x viewport/composite clamped to MIN/MAX_ZOOM, offset centers); (3) district header gains the body proper name (cheap half of T-1141 pulled forward — pass the body dict into enter); (4) SERVER: validate window_center like window_n — wrap columns modulo the body circumference, clamp rows to +/-rows_half (never trust the wire; today an out-of-range center derives clamped garbage and caches it); (5) live full-chain verification this time — the T-1138 live check requested a known-good pos directly over the wire, bypassing the click chain entirely, which is exactly where this hid. Also verify drag-pan works in the fitted view.', 'in_progress', 'high', NULL, 'client', NULL, '2026-07-21 12:19:02.154', '2026-07-21 12:20:47.187', NULL, '5c7743dea68b35e327f890d3a7d96c61', 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 ('06FR9F9WH7SXVB14XWFDR0XEZ8', 'task', '06FBPPMZNNEV052DBYYY3A897C', 'atlas_viewer.gd structural extraction — pinned at the gdlint 1000-line cap two rounds running', 'Flagged by Stig in the T-1142 fix round: atlas_viewer.gd has landed at exactly the 1000-line gdlint cap in two consecutive fix rounds (T-1138 fix round and T-1142), absorbed each time by compressing comments rather than restructuring. A real extraction is due — candidates on the established delegate/companion precedent (atlas_generation_state/proxy, atlas_map_protocol, atlas_overlay_colors): the city panel + sidebar block, the descend reticle + hover block, or the header/hint chrome. Public API must be preserved exactly (tests construct bare AtlasViewer.new() — mind the field-default vs _ready construction rule documented in the file). Do it as its own small PR, not smuggled into a feature round.', 'backlog', 'low', NULL, 'client', NULL, '2026-07-21 12:53:42.153', '2026-07-21 12:53:42.153', NULL, 'eb3101765db2c6b21287a13ea8670510', 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 ('06FR97BZHA6DV68S1BFG0HBN8G', 'bug', '06FB0TNSRZXCHGS16BFHSSGSV4', 'Descent allowed outside the map texture — letterbox clicks produce impossible DistrictPos; window opens as unfitted postage stamp', 'Jeroen''s first hands-on descent (2026-07-21): clicked in the letterbox beside the fixed planetary map and landed at DistrictPos (12276, 3021) — an IMPOSSIBLE column (largest terrestrial body with terrain is 7324.5 km, max valid col ~11236). Root cause: _update_hover sets _hover_active unconditionally and neither the reticle guard nor the descend fall-through checks that the cursor is on the heightmap texture — the 2:1 map letterboxed in a wide viewport leaves dead zones where the reticle promises descent and the click derives beyond the planet edge (clamped sampling = the uniform green he saw). Second defect: atlas_window_viewer.enter() resets zoom 1.0 / offset ZERO with no fit — an n=32 composite renders 512px native in a ~1900px viewport (postage stamp, not a filled map). Fixes: (1) client bounds gate — reticle hidden and descent inert unless screen_to_canvas(pos) is inside [0,tex_w)x[0,tex_h); (2) fit-and-center on enter + first window arrival + resize (zoom = ~0.9 x viewport/composite clamped to MIN/MAX_ZOOM, offset centers); (3) district header gains the body proper name (cheap half of T-1141 pulled forward — pass the body dict into enter); (4) SERVER: validate window_center like window_n — wrap columns modulo the body circumference, clamp rows to +/-rows_half (never trust the wire; today an out-of-range center derives clamped garbage and caches it); (5) live full-chain verification this time — the T-1138 live check requested a known-good pos directly over the wire, bypassing the click chain entirely, which is exactly where this hid. Also verify drag-pan works in the fitted view.', 'review', 'high', NULL, 'client', NULL, '2026-07-21 12:19:02.154', '2026-07-21 13:11:49.373', NULL, 'dcf7c3d9e243090d02e0d8337f0945ec', 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