harrierpigeon and Claude Fable 5.1
1bcfe58064
Belt: stop the purge prism printing plastic no toolchange needs
...
Two independent leaks of filament on the belt purge prism, plus the
replan safety net the second one needs.
1. The early-truncation scan bounded itself with the prism's own
toolchanges. ToolOrdering covers the whole print and the prism is a
printed object in it, so the "last toolchange" the scan found was on
the prism's own top layers -- it runs past every model object by
design -- and the truncation cancelled nothing. Bound the scan at the
tallest non-prism object (support layers included; on a belt they can
top the object). On MCTEST5 that was 197 toolchanges over 39.4 mm of
tower that no swap ever needed.
2. On a layer with no toolchange, the prism's entire fill printed as
solid infill in its own filament. Drop the fills no toolchange
claimed, right after the purge marking and before
ensure_perimeters_infills_order() force-overrides whatever is left.
Perimeters stay so the bar keeps a continuous wall. An earlier version
of this deleted the entities and had to be reverted: psWipeTower can
rerun without regenerating infill, and a later tool ordering may claim
what this one did not. The entities are now stashed with their layer,
region and index and put back exactly, the same reversibility contract
layer truncation already had.
3. Both stashes go stale if an object step reruns: make_fills() clears
and regenerates fills over m_layers only, so a stale stash would put
old fills back next to new ones, and truncated layers would keep old
perimeters/fills. Undo the plan's edits at the top of Print::process()
whenever psWipeTower is not done. Every object-step invalidation also
invalidates psWipeTower, so that condition is exactly "some object
step may rerun"; when it is done nothing regenerates and the edits
must stay. This also covers a prism left behind after belt mode is
turned off, which previously stayed truncated forever.
WipingExtrusions::is_entity_overridden() becomes public so the prism can
tell claimed fills from unclaimed ones.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01SsuY8Laiyh7q2zPVVKV3HZ
2026-09-12 22:23:14 -05:00
..
2026-06-03 10:19:04 -03:00
2026-08-23 12:18:06 -03:00
2024-10-05 21:53:16 +03:00
2026-08-22 18:46:01 -03:00
2026-08-25 12:46:34 -03:00
2026-08-28 08:05:59 -03:00
2026-09-12 22:23:14 -05:00
2026-06-18 09:13:51 -03:00
2026-08-28 08:05:59 -03:00
2026-08-24 15:37:47 -03:00
2026-09-08 23:58:47 -05:00
2026-08-23 22:43:41 +08:00
2026-08-05 21:42:15 +08:00
2024-05-10 23:47:08 +08:00
2026-08-27 08:16:34 -03:00
2026-08-04 21:56:15 +08:00
2023-08-08 19:08:13 +08:00
2026-08-20 16:08:17 +08:00
2026-08-20 16:08:17 +08:00
2026-08-28 08:05:59 -03:00
2026-03-13 02:12:10 -07:00
2025-09-10 10:05:07 +08:00
2025-01-22 10:03:21 +08:00
2023-12-01 10:42:45 +00:00
2026-08-06 01:08:44 -05:00
2026-08-06 01:08:44 -05:00
2026-09-08 23:57:55 -05:00
2026-09-08 23:58:19 -05:00
2026-09-12 22:23:14 -05:00
2026-06-10 05:10:20 -05:00
2026-06-10 05:10:20 -05:00
2026-05-31 05:08:42 -05:00
2026-06-10 05:10:20 -05:00
2024-08-12 00:00:20 +08:00
2026-06-24 00:36:41 -03:00
2026-08-01 18:07:15 +08:00
2024-01-28 10:12:55 +00:00
2024-06-15 14:56:44 +08:00
2026-08-25 06:50:46 -05:00
2026-07-18 19:57:56 -03:00
2025-09-21 13:47:51 +08:00
2026-06-10 21:41:18 +02:00
2026-04-09 23:07:07 -05:00
2026-09-08 23:57:55 -05:00
2026-09-08 23:57:55 -05:00
2026-02-09 20:42:26 +01:00
2026-02-09 20:42:26 +01:00
2026-08-28 08:05:59 -03:00
2026-07-08 14:20:40 -03:00
2025-11-22 15:39:12 +08:00
2026-07-14 15:34:13 -03:00
2026-07-14 15:34:13 -03:00
2024-09-23 19:26:18 +08:00
2026-09-08 23:57:55 -05:00
2025-06-14 21:05:25 +08:00
2025-05-08 16:00:48 +08:00
2026-08-23 22:11:49 +08:00
2026-08-23 22:11:48 +08:00
2025-10-28 15:30:00 +08:00
2026-08-24 15:37:47 -03:00
2026-08-21 16:56:52 +08:00
2026-05-08 13:22:00 -03:00
2023-09-22 16:21:26 +08:00
2026-04-23 00:21:19 +08:00
2024-06-15 14:56:44 +08:00
2026-05-18 12:57:48 +08:00
2026-05-18 12:57:48 +08:00
2025-10-28 15:29:47 +08:00
2026-04-07 22:22:43 +08:00
2025-02-26 23:07:23 +08:00
2026-04-19 20:28:13 -03:00
2024-02-13 23:56:48 +08:00
2023-09-27 21:44:45 +08:00
2023-08-08 19:08:13 +08:00
2025-06-22 23:10:35 +08:00
2026-05-09 16:23:41 -05:00
2023-12-09 22:46:18 +08:00
2023-12-09 22:46:18 +08:00
2023-12-09 22:46:18 +08:00
2026-08-05 00:13:27 +08:00
2026-07-14 14:42:16 -03:00
2026-03-24 09:18:38 -07:00
2026-07-03 17:27:57 -03:00
2024-08-12 00:00:20 +08:00
2026-05-27 22:07:15 +08:00
2026-02-09 20:42:26 +01:00
2024-01-26 20:18:10 +08:00
2026-08-24 15:37:47 -03:00
2026-07-15 16:59:55 +08:00
2026-07-11 15:00:33 +08:00
2026-07-09 01:16:25 +08:00
2026-08-23 22:11:49 +08:00
2026-08-23 22:11:49 +08:00
2026-08-23 22:11:48 +08:00
2026-09-08 23:57:55 -05:00
2026-04-13 22:29:23 -05:00
2026-07-20 09:47:33 -03:00
2025-06-22 23:10:35 +08:00
2026-01-05 22:41:04 +00:00
2025-09-29 20:38:38 +08:00
2025-09-29 20:38:38 +08:00
2025-09-29 20:38:38 +08:00
2026-09-08 23:59:02 -05:00
2026-09-08 23:59:02 -05:00
2025-09-24 22:49:14 -04:00
2025-11-15 11:11:20 -05:00
2026-09-08 23:58:19 -05:00
2026-09-08 23:58:19 -05:00
2025-04-04 23:07:00 +08:00
2026-05-07 22:32:56 +08:00
2026-06-25 22:10:49 +08:00
2024-06-15 14:56:44 +08:00
2024-06-15 14:56:44 +08:00
2025-06-18 17:50:44 +08:00
2023-12-01 10:42:45 +00:00
2026-08-23 22:11:48 +08:00
2026-07-12 11:45:00 -03:00
2026-06-03 10:16:59 -03:00
2026-03-11 17:20:12 -07:00
2024-05-12 23:35:41 +08:00
2026-08-23 22:43:41 +08:00
2025-10-28 15:29:55 +08:00
2026-03-24 09:18:38 -07:00
2026-08-23 22:11:49 +08:00
2025-09-18 17:08:18 +08:00
2025-09-18 17:08:18 +08:00
2025-10-19 19:27:55 +08:00
2026-01-14 19:51:13 +08:00
2025-10-19 21:57:34 +08:00
2025-02-26 23:07:23 +08:00
2026-08-05 21:42:15 +08:00
2024-11-06 20:19:52 +08:00
2026-08-28 08:05:59 -03:00
2026-04-24 16:28:28 +08:00
2024-05-10 23:47:08 +08:00
2026-07-08 20:24:55 +08:00
2026-07-08 20:24:55 +08:00
2026-08-28 08:05:59 -03:00
2026-08-23 22:11:48 +08:00
2026-06-14 17:42:53 +08:00
2025-12-08 22:42:11 +08:00
2026-07-22 16:49:37 -03:00
2026-07-22 16:49:37 -03:00
2026-07-12 03:24:35 +08:00
2026-07-12 03:24:35 +08:00
2026-03-13 01:56:51 -07:00
2026-03-13 01:56:51 -07:00
2026-06-18 09:13:51 -03:00
2023-12-01 10:42:45 +00:00
2024-05-10 23:47:08 +08:00
2024-05-10 23:47:08 +08:00
2024-06-15 14:56:44 +08:00
2024-06-15 14:56:44 +08:00
2025-09-18 16:10:27 +08:00
2025-09-18 16:10:27 +08:00
2026-07-18 19:57:56 -03:00
2026-08-24 15:37:47 -03:00
2024-05-10 23:47:08 +08:00
2026-07-10 16:21:48 +08:00
2026-08-05 21:45:48 +08:00
2025-10-02 17:07:17 +08:00
2025-10-02 17:07:17 +08:00
2025-04-05 17:47:59 +08:00
2026-08-26 07:39:23 -03:00
2026-06-03 10:12:26 -03:00
2026-08-04 22:01:45 +08:00
2025-07-18 15:43:46 +08:00
2026-07-02 17:49:36 +08:00
2026-07-02 17:49:36 +08:00
2024-01-31 11:23:29 +00:00
2024-01-31 11:23:29 +00:00
2026-03-13 01:56:51 -07:00
2026-03-24 09:18:38 -07:00
2026-05-04 15:52:34 +08:00
2025-06-18 17:50:44 +08:00
2025-06-18 17:50:44 +08:00
2026-03-13 01:56:51 -07:00
2026-07-27 00:48:44 +08:00
2026-08-30 23:30:51 -05:00
2026-08-21 16:56:52 +08:00
2026-08-26 19:06:33 +08:00
2026-08-26 19:06:33 +08:00
2026-08-21 16:56:52 +08:00
2026-08-21 16:56:52 +08:00
2026-09-12 22:23:14 -05:00
2026-09-12 22:23:14 -05:00
2026-08-30 23:30:51 -05:00
2026-07-03 00:14:32 +08:00
2026-06-18 12:45:26 +08:00
2026-08-30 23:30:51 -05:00
2026-08-30 23:30:51 -05:00
2025-12-08 22:42:11 +08:00
2026-09-12 22:23:14 -05:00
2026-08-08 16:35:55 -05:00
2026-06-05 20:45:43 +08:00
2024-01-31 11:23:29 +00:00
2026-05-10 02:21:13 +08:00
2024-05-10 23:47:08 +08:00
2026-08-21 16:56:52 +08:00
2024-08-12 00:00:20 +08:00
2026-07-27 19:52:29 -03:00
2026-07-27 19:52:29 -03:00
2026-06-18 12:45:26 +08:00
2026-06-18 12:45:26 +08:00
2026-06-18 09:13:51 -03:00
2024-08-12 00:00:20 +08:00
2026-05-10 15:12:56 +08:00
2026-05-18 21:53:24 -05:00
2025-10-19 19:27:55 +08:00
2025-02-12 22:10:57 +08:00
2023-09-29 23:39:12 +08:00
2023-09-29 23:39:12 +08:00
2024-06-15 14:56:44 +08:00
2024-01-31 11:23:29 +00:00
2026-08-02 18:20:35 +08:00
2024-06-15 14:56:44 +08:00
2026-08-23 22:11:49 +08:00
2026-08-23 22:11:49 +08:00
2023-08-08 19:08:13 +08:00
2026-05-21 16:24:54 +08:00
2026-01-29 19:19:37 +08:00
2026-01-23 17:05:56 +08:00
2024-06-15 14:56:44 +08:00
2026-04-23 10:34:36 -03:00
2025-12-08 22:42:11 +08:00
2025-12-08 22:42:11 +08:00
2026-05-12 15:09:13 +08:00
2026-02-12 08:42:01 +08:00
2026-08-25 19:31:09 -03:00
2025-02-08 11:34:40 +08:00
2026-08-30 23:30:51 -05:00
2026-08-30 23:30:51 -05:00
2024-08-12 00:00:20 +08:00
2024-08-12 00:00:20 +08:00
2024-05-10 23:47:08 +08:00
2024-08-12 00:00:20 +08:00
2024-06-15 14:56:44 +08:00
2026-08-21 16:56:52 +08:00
2026-08-21 16:56:52 +08:00
2026-02-09 20:42:26 +01:00