ispyisail
ea1f65107e
Add manual conductor routing to the scripting API
...
Conductor::moveSegment(index, dx, dy) is the same primitive
handlerMouseMoveEvent()/handlerMouseReleaseEvent() apply on a drag --
move both axes on the target segment (each of ConductorSegment's
moveX()/moveY() silently no-ops on the wrong axis or a static,
terminal-anchored segment), recompute the path, and push one
ChangeConductorCommand undo step via the existing saveProfile().
Caught while writing the first test for it: moveSegment() never set
modified_path, so Conductor::toXml() skipped writing <segment> children
and a manually rerouted conductor silently reverted to auto-routing on
the very next save -- the change took effect in the running scene but
never reached disk. Fixed by setting the flag, the same as every other
path-modifying call site already does.
qet.conductorSegments() lists a conductor's segments (endpoints in
scene coordinates, orientation, static/movable) so a script can find
the index it wants; qet.moveConductorSegment() applies the move and
refuses a static segment or an out-of-range index.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com >
2026-09-22 21:56:31 +12:00
..
2026-09-19 13:47:28 +02:00
2026-09-17 05:41:50 -05:00
2026-09-20 21:24:38 +02:00
2026-01-16 15:24:35 +01:00
2026-01-26 18:47:43 +01:00
2026-09-18 13:34:58 +12:00
2026-09-22 09:07:27 +02:00
2026-09-22 21:56:31 +12:00
2026-08-17 10:25:44 +02:00
2026-09-18 14:31:49 +12:00
2026-09-22 09:07:27 +02:00
2026-09-17 21:33:05 +02:00
2026-07-31 09:52:32 +12:00
2026-09-11 20:11:19 +03:00
2026-08-11 11:48:58 +12:00
2025-05-22 21:33:32 +02:00
2026-09-22 21:56:31 +12:00
2026-01-16 15:24:35 +01:00
2026-09-07 10:44:30 +02:00
2026-01-16 15:24:35 +01:00
2026-09-17 05:41:50 -05:00
2026-09-22 21:56:31 +12:00
2026-09-17 05:41:50 -05:00
2026-01-16 15:24:35 +01:00
2026-09-22 08:03:07 +02:00
2026-08-23 18:25:23 +02:00
2026-09-20 22:58:08 +02:00
2026-09-22 08:03:07 +02:00
2026-09-22 21:56:30 +12:00
2026-01-16 15:24:35 +01:00
2026-08-09 09:11:40 +02:00
2026-08-09 09:11:40 +02:00
2026-09-13 02:00:50 +12:00
2026-09-11 20:12:09 +03:00
2026-01-16 15:24:35 +01:00
2026-01-16 15:24:35 +01:00
2026-09-20 22:58:08 +02:00
2026-08-13 08:50:24 +08:00
2026-09-11 20:12:09 +03:00
2026-09-10 22:44:27 +02:00
2026-08-03 13:19:51 +12:00
2026-01-16 15:24:35 +01:00
2026-09-12 23:06:15 +12:00
2026-01-16 15:24:35 +01:00
2026-01-16 15:24:35 +01:00
2026-01-16 15:24:35 +01:00
2026-09-20 21:56:43 +02:00
2026-01-16 15:24:35 +01:00
2026-01-16 15:24:35 +01:00
2026-01-16 15:24:35 +01:00
2026-01-16 15:24:35 +01:00
2026-08-08 00:32:31 +02:00
2026-01-16 15:24:35 +01:00
2026-09-09 11:45:36 +12:00
2026-01-16 15:24:35 +01:00
2026-01-16 15:24:35 +01:00
2026-09-20 21:24:38 +02:00
2026-09-20 13:05:13 +02:00
2026-09-17 17:54:57 +02:00
2026-08-22 11:25:47 +02:00
2026-07-14 19:27:16 +02:00
2026-01-16 15:24:35 +01:00
2026-01-16 15:24:35 +01:00
2026-09-22 09:07:27 +02:00
2026-01-16 15:24:35 +01:00
2026-01-16 15:24:35 +01:00
2026-09-07 20:54:18 +12:00
2026-09-20 13:05:13 +02:00
2026-09-20 13:05:13 +02:00
2026-09-07 10:44:30 +02:00
2026-09-07 10:44:30 +02:00
2026-08-08 21:53:20 +12:00
2026-04-26 10:48:47 +02:00
2026-07-14 19:27:16 +02:00
2026-01-16 15:24:35 +01:00
2026-08-08 00:32:31 +02:00
2026-01-16 15:24:35 +01:00
2026-09-19 12:22:24 -05:00
2026-01-16 15:24:35 +01:00
2026-08-09 09:11:40 +02:00
2026-01-16 15:24:35 +01:00
2026-09-19 12:22:24 -05:00
2026-05-13 19:42:11 +02:00
2026-09-17 13:12:15 +02:00
2026-08-04 16:36:23 +12:00
2026-01-16 15:24:35 +01:00
2026-01-16 15:24:35 +01:00
2026-09-22 08:03:07 +02:00
2026-01-16 15:24:35 +01:00
2026-09-07 10:44:30 +02:00
2026-01-16 15:24:35 +01:00
2026-08-08 08:09:45 +02:00
2026-08-06 21:37:40 +02:00
2026-08-09 19:25:56 +02:00
2026-08-06 21:37:40 +02:00
2026-09-03 15:05:22 +02:00
2026-04-19 10:44:52 +02:00
2026-09-16 15:40:41 +12:00
2026-09-16 15:40:41 +12:00
2026-09-17 00:07:46 +02:00
2026-06-20 22:31:06 +12:00
2026-09-17 00:07:46 +02:00
2026-08-11 11:33:28 +12:00
2026-01-16 15:24:35 +01:00
2026-09-20 22:58:08 +02:00
2026-09-20 22:58:08 +02:00
2026-08-24 18:24:30 +02:00
2026-08-14 08:58:36 +02:00
2026-09-18 18:28:48 +02:00
2026-08-12 12:29:56 +02:00
2026-09-22 08:03:07 +02:00
2026-09-18 13:53:14 +02:00
2026-09-22 08:03:07 +02:00
2026-09-22 08:03:07 +02:00
2026-01-16 15:24:35 +01:00
2026-01-16 15:24:35 +01:00
2026-09-20 22:58:08 +02:00
2026-09-20 22:58:08 +02:00
2026-09-20 10:44:09 -05:00
2026-09-20 10:44:09 -05:00
2026-09-16 18:51:34 +12:00
2026-09-16 18:51:34 +12:00
2026-09-17 23:19:59 +12:00
2026-09-17 23:19:59 +12:00
2026-08-05 05:26:57 +12:00
2026-08-05 05:26:57 +12:00
2026-09-20 12:20:01 -05:00
2026-09-20 12:20:01 -05:00
2026-09-20 20:07:16 +02:00
2026-09-18 18:28:48 +02:00
2026-01-16 15:24:35 +01:00
2026-01-16 15:24:35 +01:00
2026-01-16 15:24:35 +01:00
2026-01-16 15:24:35 +01:00
2026-09-20 12:45:07 -05:00
2026-09-19 12:26:06 -05:00
2026-08-16 07:16:33 +02:00
2026-01-16 15:24:35 +01:00
2026-09-17 00:07:46 +02:00
2026-07-17 10:25:49 +02:00
2026-08-08 00:32:31 +02:00
2026-01-16 15:24:35 +01:00
2026-09-17 00:07:46 +02:00
2026-09-17 00:07:46 +02:00
2026-08-09 01:34:22 +02:00
2026-01-16 15:24:35 +01:00
2026-09-17 00:07:46 +02:00
2026-01-16 15:24:35 +01:00
2026-07-17 10:29:13 +02:00
2026-07-17 10:29:13 +02:00
2026-08-12 12:29:56 +02:00
2026-08-01 01:35:51 +12:00
2020-09-07 22:03:40 +02:00
2026-01-16 15:24:35 +01:00
2026-01-16 15:24:35 +01:00
2026-01-16 15:24:35 +01:00
2026-09-20 22:58:08 +02:00
2026-08-08 12:31:45 +02:00
2026-09-17 00:07:46 +02:00
2026-09-17 00:07:46 +02:00
2026-06-11 12:39:43 +12:00
2026-06-11 12:39:43 +12:00