Commit Graph

  • ededc7b6b4 feat: draw entities in actual DXF colors with pen caching aj 2026-03-24 20:27:46 -04:00
  • 5f74afeda1 feat: add IBendDetector interface, SolidWorks implementation, and registry aj 2026-03-24 20:26:27 -04:00
  • 574a8f2c38 feat: add DxfImporter.Import returning entities + CadDocument aj 2026-03-24 20:23:53 -04:00
  • dd2892a9fe feat: serialize/deserialize bends in nest file format aj 2026-03-24 20:22:55 -04:00
  • 7056f8816f feat: add Bends property to Drawing, GrainAngle to Plate aj 2026-03-24 20:19:53 -04:00
  • c2a470f79c feat: add Bend domain model and BendDirection enum to OpenNest.Core aj 2026-03-24 20:18:52 -04:00
  • 39f8a79cfd feat: replace Clipper2 with direct entity splitting in DrawingSplitter aj 2026-03-24 18:19:47 -04:00
  • df18b72881 feat: add SplitLineIntersect helper for entity-splitline intersection aj 2026-03-24 18:04:21 -04:00
  • cd8adc97d6 feat: overhaul SplitDrawingForm — EntityView, draggable feature handles, UI fixes aj 2026-03-24 14:26:43 -04:00
  • ba7aa39941 feat: add groove depth and weld gap options to spike-groove split aj 2026-03-24 13:30:39 -04:00
  • 5d93ddb2c4 fix: swap plate dimension labels — Length first, Width second aj 2026-03-24 13:21:11 -04:00
  • 15b2043048 fix: rename Plate Height label to Plate Length aj 2026-03-24 13:20:09 -04:00
  • aa8b6f3d9e fix: use plate size correctly when split axis is forced aj 2026-03-24 13:18:57 -04:00
  • 3686d074e6 feat: add split axis selector to auto-fit options aj 2026-03-24 13:14:54 -04:00
  • 8f1a3fb6b7 fix: filter rapid-move entities from SplitDrawingForm preview aj 2026-03-24 13:07:37 -04:00
  • 60ce297d6a feat: add split drawing feature for oversized parts aj 2026-03-24 12:47:39 -04:00
  • addd7acc3c docs: add split drawing feature to architecture documentation aj 2026-03-24 12:21:45 -04:00
  • d91ffccfa3 feat: add Split button to CadConverterForm to open SplitDrawingForm aj 2026-03-24 12:20:22 -04:00
  • adb8ed12d7 feat: add SplitDrawingForm UI dialog aj 2026-03-24 12:18:31 -04:00
  • 4acd8b8bad feat: add DrawingSplitter core split pipeline aj 2026-03-24 12:13:37 -04:00
  • d7b095cf2d feat: add AutoSplitCalculator for fit-to-plate and split-by-count aj 2026-03-24 12:03:18 -04:00
  • 499e0425b5 feat: add SpikeGrooveSplit implementation aj 2026-03-24 12:01:40 -04:00
  • c2c3e23024 feat: add WeldGapTabSplit implementation aj 2026-03-24 11:59:45 -04:00
  • 5afb311ac7 feat: add ISplitFeature interface and StraightSplit implementation aj 2026-03-24 11:58:00 -04:00
  • 765a862440 feat: add SplitLine and SplitParameters models aj 2026-03-24 11:56:00 -04:00
  • b970629a59 feat: add material library resolution, assist gas support, and UI fixes aj 2026-03-23 22:00:57 -04:00
  • 072915abf2 fix: detect winding direction for correct part spacing offset aj 2026-03-23 21:57:23 -04:00
  • aeeb2e4074 fix: treat cut-offs as area selection boundaries with proper spacing aj 2026-03-23 12:14:58 -04:00
  • a2f7219db3 fix: add proper spacing between G-code words in Cincinnati post output aj 2026-03-23 05:46:46 -04:00
  • 7e4040ba08 feat: add post processor support to console app aj 2026-03-23 01:51:45 -04:00
  • 0246073b31 fix: reduce default cut-off part clearance from 0.125 to 0.02 aj 2026-03-23 01:07:33 -04:00
  • 4801895321 chore: add Cincinnati post processor build dependency to solution aj 2026-03-23 01:07:28 -04:00
  • 833abfe72e feat: add optional M98 part sub-programs to Cincinnati post processor aj 2026-03-23 00:43:44 -04:00
  • 379000bbd8 feat: auto-copy Cincinnati post processor DLL to Posts/ on build aj 2026-03-23 00:12:47 -04:00
  • 5936272ce4 refactor: move ProgramVariableManager to Core, add config file support aj 2026-03-23 00:08:31 -04:00
  • da8e7e6fd3 feat: interactive cut-off selection and drag via line hit-testing aj 2026-03-22 23:49:27 -04:00
  • 53d24ddaf1 feat: implement Polygon.OffsetEntity and use geometric offset for cut-off clearance aj 2026-03-22 23:46:18 -04:00
  • 8efdc8720c fix: review fixes — culture-invariant formatting, sealed config, threshold boundary aj 2026-03-22 23:45:22 -04:00
  • ca8a0942ab feat: add CincinnatiPostProcessor implementing IPostProcessor aj 2026-03-22 23:41:06 -04:00
  • 8c3659a439 feat: add CincinnatiSheetWriter for per-plate subprogram emission aj 2026-03-22 23:38:24 -04:00
  • 95a0815484 feat: add CincinnatiPreambleWriter for main program and variable declaration aj 2026-03-22 23:35:27 -04:00
  • e9caa9b8eb feat: add CincinnatiFeatureWriter for per-feature G-code emission aj 2026-03-22 23:33:06 -04:00
  • 95a0db1983 feat: add SpeedClassifier for FAST/MEDIUM/SLOW cut distance classification aj 2026-03-22 23:29:14 -04:00
  • a323dcc230 feat: add ProgramVariable and ProgramVariableManager for macro variable declarations aj 2026-03-22 23:29:10 -04:00
  • 24cd18da88 feat: add CoordinateFormatter for Cincinnati G-code coordinate output aj 2026-03-22 23:29:06 -04:00
  • 5d26efb552 feat: add CincinnatiPostConfig and supporting enums aj 2026-03-22 23:26:16 -04:00
  • 60c4545a17 feat: add OpenNest.Posts.Cincinnati project for Cincinnati CL-707 post processor aj 2026-03-22 23:25:16 -04:00
  • 4db51b8cdf fix: regenerate cut-offs on part rotation and default cut direction aj 2026-03-22 22:58:47 -04:00
  • 1c561d880e refactor: simplify CutOff methods and fix ActionCutOff issues aj 2026-03-22 22:51:52 -04:00
  • 17fc9c6cab feat: RegenerateCutOffs uses geometry-based perimeter cache aj 2026-03-22 22:44:15 -04:00
  • 4287c5fa46 refactor: CutOff uses Dictionary<Part, Entity> instead of index-based list aj 2026-03-22 22:42:32 -04:00
  • a735884ee9 feat: add Plate.BuildPerimeterCache with ShapeProfile and convex hull fallback aj 2026-03-22 22:34:14 -04:00
  • 22554b0fa3 refactor: extract CollectPoints from FindBestRotation aj 2026-03-22 22:30:59 -04:00
  • 48b4849a88 fix: ShapeProfile selects perimeter by largest bounding box area aj 2026-03-22 22:29:00 -04:00
  • f79df4d426 refactor: remove NfpNestEngine aj 2026-03-22 21:11:53 -04:00
  • ebb18d9b49 fix: prevent RemnantFiller interleaving and PairFiller recursion aj 2026-03-22 21:11:47 -04:00
  • 31a9e6dbad feat: replace best-fit viewer dropdown with DrawingListBox in split view aj 2026-03-22 20:53:43 -04:00
  • a576f9fafa fix: correct test helper winding and edge sequencer test data aj 2026-03-22 20:31:50 -04:00
  • 9453bb51ce docs: update CLAUDE.md with cut-off feature documentation aj 2026-03-22 20:02:42 -04:00
  • ad58332a5d feat: regenerate cut-offs after part drag and fill operations aj 2026-03-22 20:01:03 -04:00
  • d4f60d5e8e feat: add cut-off selection, drag-to-reposition, and delete aj 2026-03-22 19:57:26 -04:00
  • 3ea05257eb feat: wire up cut-off action in MainForm menu aj 2026-03-22 19:54:09 -04:00
  • 7e49ed620b feat: add ActionCutOff for placing sheet cut-offs aj 2026-03-22 19:50:38 -04:00
  • 57bd0447e9 feat: add PlateView cut-off rendering with grip handle aj 2026-03-22 19:46:49 -04:00
  • 07d6f08e8b feat: engine-specific TrimAxis and rename ShrinkAxis.Height to Length aj 2026-03-22 19:43:29 -04:00
  • 2f19f47a85 feat: serialize/deserialize cut-off definitions in nest file format aj 2026-03-22 19:40:01 -04:00
  • d58a446eac feat: add Plate.CutOffs collection with materialization and transform support aj 2026-03-22 19:36:05 -04:00
  • 5fc7d1989a feat: add CutOff and CutOffSettings domain classes with segment generation aj 2026-03-22 19:32:33 -04:00
  • 3f6bc2b2a1 feat: guard Plate quantity/utilization/overlap for IsCutOff parts aj 2026-03-22 19:14:28 -04:00
  • 7681a1bad0 feat: add Drawing.IsCutOff flag for cut-off support aj 2026-03-22 19:12:49 -04:00
  • a548d5329a chore: update NestProgressForm designer layout aj 2026-03-21 23:09:07 -04:00
  • 07012033c7 feat: use direction-specific engines in StripNestEngine aj 2026-03-21 23:09:02 -04:00
  • 92b17b2963 perf: parallelize PairFiller candidates and add GridDedup aj 2026-03-21 23:08:55 -04:00
  • b6ee04f038 fix: use Part.Rotate() in PlateView to avoid mutating shared Programs aj 2026-03-21 23:08:47 -04:00
  • 8ffdacd6c0 refactor: replace NestPhase switch statements with attribute-based extensions aj 2026-03-21 19:49:44 -04:00
  • ccd402c50f refactor: simplify NestProgress with computed properties and ProgressReport struct aj 2026-03-21 19:44:45 -04:00
  • b1e872577c feat: add Description/ShortName attributes to NestPhase with extension methods aj 2026-03-21 19:38:54 -04:00
  • 9903478d3e refactor: simplify BestCombination.FindFrom2 and add tests aj 2026-03-21 17:07:43 -04:00
  • 93a8981d0a feat: add Disable/Enable API to FillStrategyRegistry aj 2026-03-21 15:19:27 -04:00
  • 00e7866506 feat: add remnant filling to PairFiller for better part density aj 2026-03-21 15:19:19 -04:00
  • 560105f952 refactor: extract shared convergence loop and reduce parameter counts in StripeFiller aj 2026-03-21 14:22:29 -04:00
  • 266f8a83e6 docs: update CLAUDE.md with fill goal engines architecture aj 2026-03-21 12:58:35 -04:00
  • 0b7697e9c0 feat: add VerticalRemnantEngine and HorizontalRemnantEngine aj 2026-03-21 12:57:33 -04:00
  • 83124eb38d feat: wire IFillComparer through PairFiller and StripeFiller aj 2026-03-21 12:53:28 -04:00
  • 24beb8ada1 feat: wire IFillComparer through FillHelpers, Linear, and Extents strategies aj 2026-03-21 12:49:59 -04:00
  • ee83f17afe feat: wire FillPolicy into DefaultNestEngine and FillContext aj 2026-03-21 12:46:30 -04:00
  • 99546e7eef feat: add IFillComparer hooks to NestEngineBase aj 2026-03-21 12:43:45 -04:00
  • 4586a53590 feat: add FillPolicy record and FillHelpers.FillWithDirectionPreference aj 2026-03-21 12:41:07 -04:00
  • 1a41eeb81d feat: add VerticalRemnantComparer and HorizontalRemnantComparer aj 2026-03-21 12:38:23 -04:00
  • f894ffd27c feat: add IFillComparer interface and DefaultFillComparer aj 2026-03-21 12:36:04 -04:00
  • 0ec22f2207 feat: geometry-aware convergence, both-axis search, remnant engine, fill cache aj 2026-03-21 10:12:31 -04:00
  • 3f3d95a5e4 fix: orient pair short side along primary axis before convergence aj 2026-03-21 09:22:13 -04:00
  • 811d23510e feat: add RowFillStrategy and ColumnFillStrategy with registry integration aj 2026-03-21 07:48:00 -04:00
  • 0597a11a23 feat: implement StripeFiller.Fill with pair iteration, stripe tiling, and remnant fill aj 2026-03-21 07:44:59 -04:00
  • 2ae1d513cf feat: add StripeFiller.ConvergeStripeAngle iterative convergence aj 2026-03-21 07:37:59 -04:00
  • 904d30d05d feat: add StripeFiller.FindAngleForTargetSpan with scan-then-bisect aj 2026-03-21 07:36:10 -04:00
  • e9678c73b2 chore: remove remaining stale plan docs aj 2026-03-21 00:14:18 -04:00
  • 4060430757 chore: remove stale superpowers docs and update gitignore aj 2026-03-21 00:13:01 -04:00
  • de527cd668 feat: add plate utilization to UI status bar aj 2026-03-21 00:10:42 -04:00
  • 9887cb1aa3 fix: swap BestFitCell dimension display to height x width aj 2026-03-21 00:04:23 -04:00