Files
OrcaSlicer/src/slic3r/GUI
Tommaso Bianchi 4693542d0d Port from snaporca: the solver's 1024-unknown cliff, and the scale rungs
Two commits carried across (snaporca 579a9a9162, f68613cfc5).

Past about 480 entities a sketch had NO constraints at all and said nothing: libslvs
declares MAX_UNKNOWNS = 1024 and is handed every entity in the sketch at two params
per point, so the whole system came back TOO_MANY_UNKNOWNS and try_add_constraints
rolled the entire inferred batch back. From there no dimension could ever be applied.
Constraints only couple entities that share a point, so the solver now falls back —
only on TOO_MANY_UNKNOWNS — to solving connected components separately and committing
all-or-nothing. The auto-constraint pass batches its Horizontal/Vertical constraints
instead of one solve each, which is what kept the bulk path fast once solves started
succeeding: a 1204-entity load went 1585 ms -> 562 ms.

Plus the scale rungs (a thousand-entity plate drawn on by hand; the heaviest real
drawings graded and timed), the --step 1 fix that used to select nothing while
reporting a clean run, and scripts/ladder-all.sh as the one-command gate.

Parity 17 identical / 8 diverging as expected. Kernel suite here: 188 cases /
2532 assertions, including "a sketch past the solver's unknown limit still solves".

snaporca-yww4, snaporca-x6v7, snaporca-j6sr
2026-08-23 02:04:03 +02:00
..
2026-08-19 14:08:19 +08:00
…
2026-07-31 20:51:48 -03:00
2026-07-29 19:37:17 +08:00
2025-10-05 16:02:17 +08:00
2026-04-20 19:27:38 -03:00
2026-01-03 23:06:57 +08:00
2026-07-29 19:37:17 +08:00
2026-06-07 13:12:51 +08:00
2026-06-18 09:13:51 -03:00
2026-07-18 03:15:11 +08:00
…
2026-07-29 16:27:15 -03:00
2026-07-29 16:27:15 -03:00
2026-06-18 09:13:51 -03:00
2025-10-02 09:30:48 +08:00
…
2026-07-24 09:41:24 -03:00
2025-10-02 09:30:48 +08:00
2025-10-28 15:29:56 +08:00
2026-08-19 01:37:23 +08:00
2026-07-17 08:30:22 +08:00
2025-10-28 15:29:56 +08:00
…
2025-09-21 23:01:08 +08:00
2026-07-29 19:37:17 +08:00
2026-08-19 14:08:19 +08:00
2026-08-19 14:08:19 +08:00
2026-07-02 17:49:36 +08:00
2026-04-25 18:14:51 +08:00
2026-07-02 17:49:36 +08:00
2026-07-28 19:17:26 +08:00
2026-07-29 16:27:15 -03:00
2026-07-02 17:49:36 +08:00
2026-07-02 17:49:36 +08:00
2026-08-06 06:08:02 +08:00
2026-08-06 06:08:02 +08:00
2026-05-21 09:04:26 +08:00
2026-06-18 09:13:51 -03:00
2026-01-03 23:06:57 +08:00
2026-01-23 17:05:56 +08:00
2026-01-03 23:06:57 +08:00
2026-02-04 11:40:02 +00:00
2026-07-29 19:37:17 +08:00
2026-01-23 17:05:56 +08:00
2026-01-23 17:05:56 +08:00
2026-07-02 17:49:36 +08:00
2026-07-02 17:49:36 +08:00
2025-10-28 15:30:06 +08:00
2025-10-28 15:29:56 +08:00
2026-04-25 18:14:51 +08:00