Commit Graph

  • 4d30178752 refactor: replace ComputeRemainderWithin with RemnantFinder in Nest() aj 2026-03-16 12:51:25 -04:00
  • 2b578fa006 refactor: remove NestPhase.Remainder enum value and switch cases aj 2026-03-16 12:50:48 -04:00
  • 78c625361e refactor: remove remainder phase from DefaultNestEngine aj 2026-03-16 12:50:26 -04:00
  • dd3a2b0e9a refactor: remove UsableRemnantArea from NestProgress and UI aj 2026-03-16 12:47:57 -04:00
  • 9b21a0c6d7 fix: update FillWithPairs debug logging after FillScore simplification aj 2026-03-16 12:47:11 -04:00
  • 5b9e6c28e4 refactor: simplify FillScore to count + density, remove remnant tracking aj 2026-03-16 12:46:53 -04:00
  • ecdf571c71 feat: add RemnantFinder with edge projection algorithm aj 2026-03-16 12:45:35 -04:00
  • f5ab070453 test: add RemnantFinder tests (red) aj 2026-03-16 12:44:53 -04:00
  • 5873bff48b docs: add remnant finder implementation plan aj 2026-03-16 12:38:44 -04:00
  • 190f2a062f docs: add PlateView remnant visualization to remnant finder spec aj 2026-03-16 12:26:23 -04:00
  • 384d53da47 docs: add remnant finder design spec aj 2026-03-16 12:19:16 -04:00
  • 1b62f7af04 docs: revise lead-in UI spec with external/internal split and LayerType tagging aj 2026-03-16 11:04:42 -04:00
  • 48d4220199 docs: add lead-in assignment UI design spec aj 2026-03-16 01:29:32 -04:00
  • ff496e4efe fix(engine): track multiple free rectangles in strip remnant filling aj 2026-03-16 01:28:25 -04:00
  • 1a3e18795b fix(ui): reverse sequence order so cutting starts near origin aj 2026-03-16 00:58:35 -04:00
  • 507dff95b8 fix(ui): use LeastCode sequencer and fix AddRange double-enumeration aj 2026-03-16 00:54:35 -04:00
  • a1f32eda79 feat(ui): wire Plate→Sequence menu to PartSequencerFactory aj 2026-03-16 00:50:03 -04:00
  • 545d031ee7 feat: add PlateProcessor for per-part lead-in assignment and cut sequencing aj 2026-03-16 00:47:16 -04:00
  • 7d198f837c feat: add PlateProcessor orchestrator aj 2026-03-16 00:44:25 -04:00
  • 5948dc9cae feat: add PlateResult and ProcessedPart aj 2026-03-16 00:43:17 -04:00
  • 6dffd8f5ad feat: add DirectRapidPlanner with line-shape intersection check aj 2026-03-16 00:43:06 -04:00
  • 29b2572f9a feat: add IRapidPlanner, RapidPath, and SafeHeightRapidPlanner aj 2026-03-16 00:39:34 -04:00
  • c1e21abd45 feat: add PartSequencerFactory aj 2026-03-16 00:36:41 -04:00
  • edc81ae45e feat: add AdvancedSequencer with row grouping and serpentine aj 2026-03-16 00:36:07 -04:00
  • 7edf6ee843 feat: add LeastCodeSequencer with nearest-neighbor and 2-opt aj 2026-03-16 00:35:19 -04:00
  • f568308d1a feat: add EdgeStartSequencer aj 2026-03-16 00:32:35 -04:00
  • d0351ab765 feat: add directional part sequencers (RightSide, LeftSide, BottomSide) aj 2026-03-16 00:27:57 -04:00
  • 4f8febde23 feat: add IPartSequencer interface and SequencedPart aj 2026-03-16 00:27:02 -04:00
  • 00940d1b6e chore: rename test project to OpenNest.Tests aj 2026-03-16 00:25:22 -04:00
  • 1757e9e01d refactor: change ContourCuttingStrategy.Apply to accept approachPoint aj 2026-03-16 00:23:53 -04:00
  • 62140789a7 feat: add Part.HasManualLeadIns flag aj 2026-03-16 00:23:21 -04:00
  • ad877383ce feat: add CuttingResult struct aj 2026-03-16 00:22:50 -04:00
  • b49cdc3e55 chore: add shared test helpers for Engine tests aj 2026-03-16 00:21:26 -04:00
  • 1e093a8413 chore: add OpenNest.Engine.Tests xUnit project aj 2026-03-16 00:21:07 -04:00
  • 79c6ec340c docs: add plate processor implementation plan aj 2026-03-16 00:17:37 -04:00
  • 37c76a720d docs: address spec review feedback for plate processor design aj 2026-03-15 23:55:16 -04:00
  • c06758a2bd docs: add plate processor design spec for per-part lead-in assignment aj 2026-03-15 23:52:42 -04:00
  • 026227848b docs: add plans for ML angle pruning, fill-exact, and helper decomposition aj 2026-03-15 23:06:12 -04:00
  • 5cd2875b35 chore(ui): regenerate MainForm designer file aj 2026-03-15 23:06:04 -04:00
  • 5e346270c6 fix: delegate Fill(groupParts) and PackArea to DefaultNestEngine aj 2026-03-15 22:43:42 -04:00
  • 5c79fbe73d feat(ui): add Auto Nest button to toolstrip next to engine selector aj 2026-03-15 22:36:54 -04:00
  • 4e747a8e6c fix: show strip + remnant parts together during progress updates aj 2026-03-15 22:31:11 -04:00
  • 310165db02 fix: add quantity deduction and progress reporting to StripNestEngine aj 2026-03-15 22:26:29 -04:00
  • 48be4d5d46 feat: add virtual Nest method to NestEngineBase for polymorphic auto-nest aj 2026-03-15 22:16:08 -04:00
  • bb703ef8eb feat(ui): wire strip engine into UI auto-nest flow aj 2026-03-15 22:09:29 -04:00
  • 7462d1bdca feat(ui): add engine selector dropdown to main toolstrip aj 2026-03-15 22:01:06 -04:00
  • cd85857816 feat: integrate StripNestEngine into autonest_plate MCP tool aj 2026-03-15 21:40:21 -04:00
  • 4d80710b48 feat: register StripNestEngine in NestEngineRegistry aj 2026-03-15 21:39:25 -04:00
  • 42d404577b feat: add StripNestEngine with strip-based multi-drawing nesting aj 2026-03-15 21:39:01 -04:00
  • 81a57dc470 docs: update CLAUDE.md for abstract nest engine architecture aj 2026-03-15 21:12:53 -04:00
  • bd3984037c refactor: migrate WinForms callsites to NestEngineRegistry aj 2026-03-15 21:11:11 -04:00
  • 01283d2b18 refactor: migrate Console Program to NestEngineRegistry aj 2026-03-15 21:10:10 -04:00
  • a26ab2ba28 refactor: migrate NestingTools to NestEngineRegistry aj 2026-03-15 21:09:46 -04:00
  • 4baeb57e84 feat: add NestEngineInfo and NestEngineRegistry with plugin loading aj 2026-03-15 21:07:59 -04:00
  • 1bcfe5d031 feat: add NestEngineBase abstract class, rename NestEngine to DefaultNestEngine aj 2026-03-15 21:06:28 -04:00
  • 1d1cf41ba0 docs: update strip nester plan for abstract engine architecture aj 2026-03-15 21:00:42 -04:00
  • 9bd262dec0 docs: add abstract nest engine implementation plan aj 2026-03-15 20:59:51 -04:00
  • 068de63e83 docs: address spec review feedback for abstract nest engine aj 2026-03-15 20:32:35 -04:00
  • 6c2810ef80 docs: add abstract nest engine design spec aj 2026-03-15 20:29:29 -04:00
  • 7b01524934 docs: add strip nester implementation plan aj 2026-03-15 19:53:11 -04:00
  • 69da8c4632 docs: add strip nester design spec aj 2026-03-15 19:40:09 -04:00
  • 56a298d95c docs: update CLAUDE.md with current architecture aj 2026-03-15 17:55:55 -04:00
  • 93bf15c27f chore: remove redundant using in Rounding.cs aj 2026-03-15 17:49:53 -04:00
  • e017723318 refactor: remove empty Helper class aj 2026-03-15 17:46:36 -04:00
  • 13b01240b1 refactor: extract SpatialQuery from Helper aj 2026-03-15 17:46:14 -04:00
  • 2881815c7a refactor: extract PartGeometry from Helper aj 2026-03-15 17:44:17 -04:00
  • 84d3f90549 refactor: extract Intersect from Helper aj 2026-03-15 17:43:12 -04:00
  • 7c4eac5460 refactor: extract ShapeBuilder from Helper aj 2026-03-15 17:41:40 -04:00
  • be318bc1c1 refactor: extract GeometryOptimizer from Helper aj 2026-03-15 17:39:52 -04:00
  • 09cdb98dfc refactor: extract Rounding from Helper to OpenNest.Math aj 2026-03-15 17:38:23 -04:00
  • 823320e982 fix(engine): use reverse-gap check in Compactor to handle irregular shapes aj 2026-03-15 17:29:29 -04:00
  • 289a2044a6 fix(ui): mark LayoutParts dirty after PushSelected so paths rebuild aj 2026-03-15 14:20:18 -04:00
  • 7508fbf715 refactor(engine): delegate PlateView.PushSelected to Compactor and add iterative compaction aj 2026-03-15 14:16:35 -04:00
  • 4525be302c fix(engine): compute remainder from just-placed parts within current work area aj 2026-03-15 13:43:33 -04:00
  • 2042c7d3f2 perf(engine): cap strip-mode pair candidates at 100 (sorted by utilization) aj 2026-03-15 13:35:30 -04:00
  • 2af02096e0 fix(engine): pass progress through FillExact binary search iterations aj 2026-03-15 13:30:39 -04:00
  • 744062152e feat(engine): optimize FillExact with angle pruning and tight search range aj 2026-03-15 13:21:28 -04:00
  • ef12cf2966 fix(engine): Compactor treats pushed parts as obstacles for subsequent pushes aj 2026-03-15 12:54:25 -04:00
  • 56592f909a feat(mcp): use FillExact + Compactor in autonest_plate aj 2026-03-15 12:43:41 -04:00
  • 521ada17cc feat(console): use FillExact + Compactor in --autonest aj 2026-03-15 12:43:38 -04:00
  • 2bde2545f4 feat(ui): use FillExact + Compactor in AutoNest aj 2026-03-15 12:43:32 -04:00
  • 00ee205b44 feat(engine): add Compactor for post-fill gravity compaction aj 2026-03-15 12:41:29 -04:00
  • 28fb1a1a67 feat(engine): add FillExact method for exact-quantity nesting aj 2026-03-15 12:41:21 -04:00
  • 9a17fe97d3 feat(engine): add BinarySearchFill helper for exact-quantity search aj 2026-03-15 12:40:56 -04:00
  • cab603c50d docs: fix spec issues from review — non-sequential stepper, font caching, sizing aj 2026-03-15 01:54:07 -04:00
  • 40d99b402f docs: add NestProgressForm redesign spec aj 2026-03-15 01:51:20 -04:00
  • 45509cfd3f feat(ui): add nested dimensions and area to progress window aj 2026-03-15 01:42:34 -04:00
  • 8e0c082876 refactor(ui): optimize PushSelected with directional filtering and lazy line computation aj 2026-03-15 01:30:50 -04:00
  • 3c59da17c2 fix(engine): fix pair candidate filtering for narrow plates and strips aj 2026-03-15 01:14:07 -04:00
  • ae010212ac refactor(engine): extract AutoNester and reorganize NestEngine aj 2026-03-14 22:51:57 -04:00
  • ce6b25c12a refactor(engine): simplify FillLinear with iterative grid fill aj 2026-03-14 22:51:50 -04:00
  • 6993d169e4 perf(core): optimize geometry with edge pruning and vertex dedup aj 2026-03-14 22:51:44 -04:00
  • eddcc7602d feat(console): refactor Program.cs and add DXF file import support aj 2026-03-14 21:50:01 -04:00
  • 9783d417bd feat(engine): show running ledger in progress descriptions aj 2026-03-14 20:57:01 -04:00
  • 91281c8813 fix(engine): throttle progress reports to 150ms intervals aj 2026-03-14 20:51:29 -04:00
  • c2f775258d fix(ui): show live per-angle/per-candidate detail during nesting aj 2026-03-14 20:48:58 -04:00
  • 930dd59213 fix(ui): set Description in phase-level progress reports aj 2026-03-14 20:40:25 -04:00
  • 9cc6cfa1b1 fix(engine): add volatile to AnglePredictor lock field and Models content copy aj 2026-03-14 20:33:07 -04:00
  • e33b5ba063 feat(engine): integrate AnglePredictor into FindBestFill angle selection aj 2026-03-14 20:28:50 -04:00
  • 8cc14997af feat(engine): add AnglePredictor ONNX inference class aj 2026-03-14 20:27:44 -04:00