Umut CAN and Claude Opus 5.5
2b74bf20a6
feat(understand): drawing_topology_check and the three topo_* critique focuses
...
engineering/understand/topology.py reads a line network (LINE, polylines
with true bulge arcs, ARC) on the chosen layers and reports dangling
ends, near misses (end-end and end-segment within gap, one row per pair)
and interior crossings of two straight segments of one layer. An end on
another network line is joined; an end on any curve of another layer or
inside a block reference's box is attached; a line drawn twice is not a
join, so a doubled pipe still dangles. gap defaults to 0.2 % of the
network diagonal, never under ten tol.
drawing_topology_check joins drawing_diff in SECTION 26: default layers
are those classify_layer calls piping or electrical at >= 0.9, reported
with their classification; no such layer is a refusal, not a pass.
topo_dangling_endpoint (warning), topo_near_miss (error) and
topo_interior_crossing (info) join the closed enum and run under
focus=None, excluding the P&ID and architectural layer sets, so a
pid_from_spec sheet and an arch_plan_from_spec plan get none of them;
a drawing with no candidate layer is never snapshotted.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01FKFStjEFzpGyLq5bMpWxTd
2026-09-24 12:20:24 +03:00
..
2026-09-23 23:20:05 +03:00
2026-09-24 11:51:19 +03:00
2026-04-27 12:20:57 +03:00
2026-09-22 19:49:28 +03:00
2026-07-23 15:14:51 +03:00
2026-08-06 09:45:20 +03:00
2026-09-23 22:35:44 +03:00
2026-09-23 22:35:44 +03:00
2026-09-23 23:20:05 +03:00
2026-09-23 23:00:05 +03:00
2026-09-23 23:00:05 +03:00
2026-09-23 22:33:37 +03:00
2026-09-23 22:27:00 +03:00
2026-09-23 22:27:00 +03:00
2026-09-23 22:51:41 +03:00
2026-09-23 22:33:37 +03:00
2026-09-23 22:48:36 +03:00
2026-09-23 22:56:05 +03:00
2026-09-23 22:56:05 +03:00
2026-09-23 23:20:05 +03:00
2026-09-23 22:51:41 +03:00
2026-09-23 22:42:42 +03:00
2026-09-23 22:42:42 +03:00
2026-09-23 23:09:03 +03:00
2026-09-23 22:46:39 +03:00
2026-08-06 09:45:20 +03:00
2026-09-21 21:47:05 +03:00
2026-07-23 15:14:51 +03:00
2026-07-17 15:08:15 +03:00
2026-07-17 15:48:43 +03:00
2026-09-16 13:06:52 +03:00
2026-09-23 23:35:46 +03:00
2026-09-23 23:35:46 +03:00
2026-09-23 23:35:46 +03:00
2026-09-18 00:11:38 +03:00
2026-08-06 09:45:20 +03:00
2026-09-15 13:21:16 +03:00
2026-09-15 13:34:47 +03:00
2026-08-06 09:45:20 +03:00
2026-09-21 21:46:08 +03:00
2026-08-06 09:45:20 +03:00
2026-08-06 09:45:20 +03:00
2026-09-22 11:35:00 +03:00
2026-08-06 09:45:20 +03:00
2026-08-06 09:45:20 +03:00
2026-09-23 23:35:46 +03:00
2026-09-22 12:25:11 +03:00
2026-09-21 21:46:08 +03:00
2026-07-23 15:15:45 +03:00
2026-08-06 23:07:50 +03:00
2026-08-06 23:07:50 +03:00
2026-07-07 11:03:08 +03:00
2026-09-23 13:30:02 +03:00
2026-08-06 09:45:20 +03:00
2026-08-06 09:45:20 +03:00
2026-09-22 13:07:31 +03:00
2026-09-21 22:04:22 +03:00
2026-08-06 23:07:50 +03:00
2026-08-06 09:45:20 +03:00
2026-07-23 15:14:51 +03:00
2026-07-23 15:14:51 +03:00
2026-07-23 15:14:51 +03:00
2026-09-23 13:30:02 +03:00
2026-07-23 15:14:51 +03:00
2026-04-27 12:20:57 +03:00
2026-07-23 15:14:51 +03:00
2026-08-06 09:45:20 +03:00
2026-08-06 09:45:20 +03:00
2026-09-21 21:34:26 +03:00
2026-07-23 15:14:51 +03:00
2026-08-06 23:07:50 +03:00
2026-08-06 23:07:50 +03:00
2026-08-06 09:45:20 +03:00
2026-07-07 11:03:08 +03:00
2026-08-06 09:45:20 +03:00
2026-08-06 14:28:35 +03:00
2026-04-27 12:20:57 +03:00
2026-09-22 13:07:31 +03:00
2026-08-06 09:45:20 +03:00
2026-08-06 09:45:20 +03:00
2026-08-06 15:08:50 +03:00
2026-09-22 19:15:33 +03:00
2026-09-22 19:07:53 +03:00
2026-09-23 12:48:44 +03:00
2026-09-22 23:04:25 +03:00
2026-09-23 13:30:02 +03:00
2026-09-22 19:07:53 +03:00
2026-09-22 19:48:00 +03:00
2026-09-22 20:12:11 +03:00
2026-09-22 17:04:59 +03:00
2026-09-22 18:52:39 +03:00
2026-09-22 17:04:59 +03:00
2026-09-22 22:16:47 +03:00
2026-09-22 19:12:00 +03:00
2026-09-22 19:12:00 +03:00
2026-09-22 20:02:06 +03:00
2026-09-22 20:02:06 +03:00
2026-09-22 19:12:00 +03:00
2026-09-22 21:40:29 +03:00
2026-09-22 17:04:59 +03:00
2026-07-23 15:14:51 +03:00
2026-07-23 15:14:51 +03:00
2026-09-22 13:07:31 +03:00
2026-09-24 11:38:59 +03:00
2026-09-21 16:55:05 +03:00
2026-08-06 09:45:20 +03:00
2026-09-16 12:01:37 +03:00
2026-09-21 22:44:35 +03:00
2026-09-21 21:46:08 +03:00
2026-09-23 13:30:02 +03:00
2026-09-15 16:44:06 +03:00
2026-09-22 13:07:31 +03:00
2026-09-22 11:06:04 +03:00
2026-09-16 12:42:54 +03:00
2026-09-15 23:48:35 +03:00
2026-09-15 13:27:59 +03:00
2026-09-15 15:04:01 +03:00
2026-09-24 11:42:09 +03:00
2026-08-06 09:45:20 +03:00
2026-08-06 23:07:50 +03:00
2026-08-06 09:45:20 +03:00
2026-09-22 23:35:44 +03:00
2026-08-06 23:07:50 +03:00
2026-08-06 09:45:20 +03:00
2026-07-07 11:03:08 +03:00
2026-08-06 09:45:20 +03:00
2026-08-06 09:45:20 +03:00
2026-08-06 23:07:50 +03:00
2026-07-17 15:48:43 +03:00
2026-08-06 23:07:50 +03:00
2026-09-17 10:14:05 +03:00
2026-09-23 13:30:02 +03:00
2026-09-22 23:03:57 +03:00
2026-09-22 19:49:28 +03:00
2026-09-22 22:39:10 +03:00
2026-09-22 19:49:28 +03:00
2026-07-23 15:14:51 +03:00
2026-07-23 15:14:51 +03:00
2026-07-23 15:14:51 +03:00
2026-07-23 15:22:49 +03:00
2026-08-06 09:45:20 +03:00
2026-07-23 15:14:51 +03:00
2026-07-23 15:14:51 +03:00
2026-09-21 16:48:20 +03:00
2026-09-22 13:07:31 +03:00
2026-09-22 12:25:11 +03:00
2026-09-22 12:25:11 +03:00
2026-09-23 22:56:05 +03:00
2026-09-21 22:48:31 +03:00
2026-09-23 23:35:46 +03:00
2026-08-06 09:45:20 +03:00
2026-09-23 23:20:05 +03:00
2026-08-06 09:45:20 +03:00
2026-09-24 12:20:24 +03:00
2026-09-22 13:07:31 +03:00
2026-09-24 12:20:24 +03:00
2026-09-24 12:12:40 +03:00
2026-09-24 12:12:40 +03:00
2026-09-24 11:38:59 +03:00
2026-09-24 11:38:59 +03:00
2026-09-24 12:20:24 +03:00
2026-09-24 12:20:24 +03:00
2026-09-24 11:38:59 +03:00
2026-08-06 09:45:20 +03:00
2026-08-06 09:45:20 +03:00
2026-09-21 16:48:19 +03:00
2026-09-15 14:49:43 +03:00