mirror of
https://github.com/bherbruck/solidcraft.git
synced 2026-11-05 11:35:55 +00:00
78f80143d5
Nothing on the load path checked a sketch's size, and every sketch in the timeline is solved when a design opens. The solver sizes its dense matrices by the connected component, so a 30 MB file with 200,000 chained points asked the allocator for terabytes and the process aborted, which no panic guard can intercept. Reject an oversized sketch while the design is still raw JSON, so the typed arrays are never built, and refuse a connected component with more variables than fits in a bounded matrix: that component now reports a failed solve and leaves its geometry alone. 10,000 chained points went from 9.6 GB and 25 seconds to a failed solve in well under a second. Fixes #145 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> (cherry picked from commit 04abbf95c26f68c7d0a126ed9e2827049f593361)