Commit Graph

  • 823320e982 fix(engine): use reverse-gap check in Compactor to handle irregular shapes AJ Isaacs 2026-03-15 17:29:29 -04:00
  • 289a2044a6 fix(ui): mark LayoutParts dirty after PushSelected so paths rebuild AJ Isaacs 2026-03-15 14:20:18 -04:00
  • 7508fbf715 refactor(engine): delegate PlateView.PushSelected to Compactor and add iterative compaction AJ Isaacs 2026-03-15 14:16:35 -04:00
  • 4525be302c fix(engine): compute remainder from just-placed parts within current work area AJ Isaacs 2026-03-15 13:43:33 -04:00
  • 2042c7d3f2 perf(engine): cap strip-mode pair candidates at 100 (sorted by utilization) AJ Isaacs 2026-03-15 13:35:30 -04:00
  • 2af02096e0 fix(engine): pass progress through FillExact binary search iterations AJ Isaacs 2026-03-15 13:30:39 -04:00
  • 744062152e feat(engine): optimize FillExact with angle pruning and tight search range AJ Isaacs 2026-03-15 13:21:28 -04:00
  • ef12cf2966 fix(engine): Compactor treats pushed parts as obstacles for subsequent pushes AJ Isaacs 2026-03-15 12:54:25 -04:00
  • 56592f909a feat(mcp): use FillExact + Compactor in autonest_plate AJ Isaacs 2026-03-15 12:43:41 -04:00
  • 521ada17cc feat(console): use FillExact + Compactor in --autonest AJ Isaacs 2026-03-15 12:43:38 -04:00
  • 2bde2545f4 feat(ui): use FillExact + Compactor in AutoNest AJ Isaacs 2026-03-15 12:43:32 -04:00
  • 00ee205b44 feat(engine): add Compactor for post-fill gravity compaction AJ Isaacs 2026-03-15 12:41:29 -04:00
  • 28fb1a1a67 feat(engine): add FillExact method for exact-quantity nesting AJ Isaacs 2026-03-15 12:41:21 -04:00
  • 9a17fe97d3 feat(engine): add BinarySearchFill helper for exact-quantity search AJ Isaacs 2026-03-15 12:40:56 -04:00
  • cab603c50d docs: fix spec issues from review — non-sequential stepper, font caching, sizing AJ Isaacs 2026-03-15 01:54:07 -04:00
  • 40d99b402f docs: add NestProgressForm redesign spec AJ Isaacs 2026-03-15 01:51:20 -04:00
  • 45509cfd3f feat(ui): add nested dimensions and area to progress window AJ Isaacs 2026-03-15 01:42:34 -04:00
  • 8e0c082876 refactor(ui): optimize PushSelected with directional filtering and lazy line computation AJ Isaacs 2026-03-15 01:30:50 -04:00
  • 3c59da17c2 fix(engine): fix pair candidate filtering for narrow plates and strips AJ Isaacs 2026-03-15 01:14:07 -04:00
  • ae010212ac refactor(engine): extract AutoNester and reorganize NestEngine AJ Isaacs 2026-03-14 22:51:57 -04:00
  • ce6b25c12a refactor(engine): simplify FillLinear with iterative grid fill AJ Isaacs 2026-03-14 22:51:50 -04:00
  • 6993d169e4 perf(core): optimize geometry with edge pruning and vertex dedup AJ Isaacs 2026-03-14 22:51:44 -04:00
  • eddcc7602d feat(console): refactor Program.cs and add DXF file import support AJ Isaacs 2026-03-14 21:50:01 -04:00
  • 9783d417bd feat(engine): show running ledger in progress descriptions AJ Isaacs 2026-03-14 20:57:01 -04:00
  • 91281c8813 fix(engine): throttle progress reports to 150ms intervals AJ Isaacs 2026-03-14 20:51:29 -04:00
  • c2f775258d fix(ui): show live per-angle/per-candidate detail during nesting AJ Isaacs 2026-03-14 20:48:58 -04:00
  • 930dd59213 fix(ui): set Description in phase-level progress reports AJ Isaacs 2026-03-14 20:40:25 -04:00
  • 9cc6cfa1b1 fix(engine): add volatile to AnglePredictor lock field and Models content copy AJ Isaacs 2026-03-14 20:33:07 -04:00
  • e33b5ba063 feat(engine): integrate AnglePredictor into FindBestFill angle selection AJ Isaacs 2026-03-14 20:28:50 -04:00
  • 8cc14997af feat(engine): add AnglePredictor ONNX inference class AJ Isaacs 2026-03-14 20:27:44 -04:00
  • eee2d0e3fe feat(training): add training notebook skeleton and requirements AJ Isaacs 2026-03-14 20:27:41 -04:00
  • 2a58a8e123 feat(ui): add description row to nest progress form AJ Isaacs 2026-03-14 20:26:47 -04:00
  • c466a24486 chore(engine): add Microsoft.ML.OnnxRuntime package AJ Isaacs 2026-03-14 20:26:26 -04:00
  • 71fc1e61ef feat(training): enable forced full angle sweep and store per-angle results AJ Isaacs 2026-03-14 20:25:33 -04:00
  • a145fd3c60 feat(training): add AngleResults table migration and batch insert AJ Isaacs 2026-03-14 20:24:40 -04:00
  • dddd81fd90 feat(training): add TrainingAngleResult entity and DbSet AJ Isaacs 2026-03-14 20:23:38 -04:00
  • 8e46ed1175 feat(engine): pass per-angle results through BruteForceResult AJ Isaacs 2026-03-14 20:22:38 -04:00
  • 09ed9c228f feat(engine): add ForceFullAngleSweep flag and per-angle result collection AJ Isaacs 2026-03-14 20:21:14 -04:00
  • eb21f76ef4 feat(engine): add AngleResult class and Description to NestProgress AJ Isaacs 2026-03-14 20:18:38 -04:00
  • 954831664a docs: add ML angle pruning design spec AJ Isaacs 2026-03-14 20:05:03 -04:00
  • acc75868c0 refactor: extract training data collection into OpenNest.Training AJ Isaacs 2026-03-14 14:41:38 -04:00
  • 74272bea80 feat(engine): add perimeter-to-area ratio to part features AJ Isaacs 2026-03-14 14:41:30 -04:00
  • bf104309b4 chore: ignore SQLite database files AJ Isaacs 2026-03-14 13:15:00 -04:00
  • 321c476b8b feat(engine): add ML feature extraction and brute-force runner AJ Isaacs 2026-03-14 12:41:20 -04:00
  • 1db51b1cce feat(ui): add elapsed timer to nest progress form AJ Isaacs 2026-03-14 12:41:14 -04:00
  • 10f9b5357c fix(engine): compute unused area from actual part areas AJ Isaacs 2026-03-14 12:41:08 -04:00
  • a9aaab8337 refactor: use ShapeProfile perimeter for boundary and intersection AJ Isaacs 2026-03-14 12:41:03 -04:00
  • 65ded42120 feat(core): add Program.ToString() and fix sub-program rotation origin AJ Isaacs 2026-03-14 12:40:57 -04:00
  • d6ffa77f35 feat(console): improve training data collection and best-fit persistence AJ Isaacs 2026-03-14 12:39:24 -04:00
  • 3133228fc9 feat(console): use GPU for best-fit when available AJ Isaacs 2026-03-13 23:40:14 -04:00
  • 1440d2a16a refactor(engine): reorder phases and simplify fill pipeline AJ Isaacs 2026-03-13 21:14:32 -04:00
  • 152e057a46 perf(engine): inline bounding box computation in FillScore AJ Isaacs 2026-03-13 21:14:28 -04:00
  • de70999975 refactor(engine): precompute hull angles during pair evaluation AJ Isaacs 2026-03-13 21:14:25 -04:00
  • 1a9bd795a8 perf(core): share Program instance in CloneAtOffset AJ Isaacs 2026-03-13 21:14:21 -04:00
  • 891bb49548 docs: add GPU debug, test harness, and contour reindexing plans AJ Isaacs 2026-03-13 20:30:00 -04:00
  • 4c1ac418a0 feat(ui): add pagination to best-fit viewer AJ Isaacs 2026-03-13 20:29:56 -04:00
  • 183d169cc1 feat: integrate GPU slide computation into best-fit pipeline AJ Isaacs 2026-03-13 20:29:51 -04:00
  • 97dfe27953 feat: add ISlideComputer interface and GPU implementation AJ Isaacs 2026-03-13 20:29:43 -04:00
  • b509a4139d refactor: optimize directional distance for GPU-friendly batching AJ Isaacs 2026-03-13 20:29:36 -04:00
  • 13264a2f8d Merge branch 'feature/nfp-bestfit' AJ Isaacs 2026-03-13 11:24:55 -04:00
  • 9df42d26de perf: replace linear sweep with iterative halving in RotationSlideStrategy AJ Isaacs 2026-03-13 11:20:21 -04:00
  • 9daa768629 refactor: extract ComputeSlideDistance helpers in RotationSlideStrategy AJ Isaacs 2026-03-13 11:19:36 -04:00
  • 3592a4ce59 docs: update bestfit spec to iterative halving approach AJ Isaacs 2026-03-13 11:09:16 -04:00
  • e746afb57f docs: add coarse-then-refine bestfit sweep design spec AJ Isaacs 2026-03-13 10:59:12 -04:00
  • 0c98b240c3 feat(engine): integrate NFP phase into Fill(groupParts) single-drawing path AJ Isaacs 2026-03-13 10:23:39 -04:00
  • 56c9b17ff6 feat(engine): integrate NFP phase into FindBestFill (async overload) AJ Isaacs 2026-03-13 10:23:05 -04:00
  • c4d09f2466 feat(engine): integrate NFP phase into FindBestFill (sync overload) AJ Isaacs 2026-03-13 10:22:39 -04:00
  • bbc3466bc8 feat(engine): add FillNfpBestFit method for NFP-based single-drawing fill AJ Isaacs 2026-03-13 10:22:07 -04:00
  • c18259a348 feat(engine): add Nfp to NestPhase enum AJ Isaacs 2026-03-13 10:21:26 -04:00
  • bc3f1543ee refactor: extract FindCrossing and SplitAtCrossing from RemoveSelfIntersections AJ Isaacs 2026-03-13 10:20:11 -04:00
  • 90b26babc6 docs: update NFP best-fit spec with review feedback AJ Isaacs 2026-03-13 10:09:42 -04:00
  • faa36d7539 docs: add NFP best-fit integration design spec AJ Isaacs 2026-03-13 10:06:27 -04:00
  • 6b0bafc9de merge: integrate NFP-based autonesting from feature/nfp-autonest AJ Isaacs 2026-03-13 09:40:38 -04:00
  • 776e9d218c fix(ui): cache offset paths and scale temp parts on zoom AJ Isaacs 2026-03-13 09:29:27 -04:00
  • 501b2553ad refactor(ui): move NestProgressForm UI to Designer file AJ Isaacs 2026-03-13 08:50:33 -04:00
  • 986d298786 feat(ui): replace random part colors with curated palette AJ Isaacs 2026-03-13 08:45:28 -04:00
  • 9773449563 feat(ui): add FillWithProgress to PlateView, use from ActionClone AJ Isaacs 2026-03-13 08:39:30 -04:00
  • fde285484a fix(ui): cancel nesting when MDI child form is closed AJ Isaacs 2026-03-13 08:33:43 -04:00
  • 98c4c88fc3 feat(ui): add progress support to ActionFillArea and FillArea_Click AJ Isaacs 2026-03-13 08:33:09 -04:00
  • 09fef203df feat(ui): make FillPlate_Click async with progress and cancellation AJ Isaacs 2026-03-13 08:32:17 -04:00
  • 0bf128b3e7 feat(ui): make RunAutoNest_Click async with progress and cancellation AJ Isaacs 2026-03-13 08:31:31 -04:00
  • af0748fb1b feat(ui): add NestProgressForm modeless dialog AJ Isaacs 2026-03-13 08:30:22 -04:00
  • c545f91d28 feat(ui): add temporary parts list to PlateView with preview drawing AJ Isaacs 2026-03-13 08:29:30 -04:00
  • bd2b5ec1db feat(ui): add PreviewPart color to ColorScheme AJ Isaacs 2026-03-13 08:28:18 -04:00
  • ca685ac8ba feat(engine): add public Fill overloads returning List<Part> with progress/cancellation AJ Isaacs 2026-03-13 08:27:31 -04:00
  • 93fbe1a9f8 feat(engine): add FindBestFill and FillWithPairs overloads with progress and cancellation AJ Isaacs 2026-03-13 08:26:32 -04:00
  • a97477fcdf feat(engine): add NestPhase enum and NestProgress data model AJ Isaacs 2026-03-13 08:24:55 -04:00
  • 4da5e3fc89 docs: add nesting progress window implementation plan AJ Isaacs 2026-03-13 08:20:52 -04:00
  • 5f72f5712e docs: address spec review feedback for nesting progress window AJ Isaacs 2026-03-13 08:08:14 -04:00
  • 5f64130b9d docs: add nesting progress window design spec AJ Isaacs 2026-03-13 08:05:11 -04:00
  • 09fc8b889e fix: close polygon offset shape and handle nest template load failure AJ Isaacs 2026-03-13 07:37:39 -04:00
  • 2216b8553f docs: add implementation plans for best-fit viewer, pair finding, and .NET 8 migration AJ Isaacs 2026-03-13 07:24:45 -04:00
  • 6ed20a6a48 refactor: switch auto-nest from Pack to per-item Fill with explicit quantity tracking AJ Isaacs 2026-03-13 07:24:42 -04:00
  • c68139e15e merge: resolve .gitignore conflict, keep both entries AJ Isaacs 2026-03-13 07:22:45 -04:00
  • 66b3aeafc1 fix: correct inverted quadrant-to-exit-point mapping in GetExitPoint AJ Isaacs 2026-03-12 23:59:04 -04:00
  • 616575e0ee feat: wire contour re-indexing into ContourCuttingStrategy.Apply() AJ Isaacs 2026-03-12 23:57:17 -04:00
  • 2b4cb849ba feat: add Shape.ReindexAt(Vector, Entity) for contour reordering AJ Isaacs 2026-03-12 23:54:54 -04:00
  • 3de44a7293 feat: add Arc.SplitAt(Vector) splitting primitive AJ Isaacs 2026-03-12 23:53:25 -04:00
  • b2ff704b73 feat: add Line.SplitAt(Vector) splitting primitive AJ Isaacs 2026-03-12 23:53:23 -04:00
  • f7940efe93 docs: fix contour re-indexing spec from review feedback AJ Isaacs 2026-03-12 23:45:21 -04:00