Commit Graph

  • b55aa7ab42 fix: correct GPU overlap detection coordinate system mismatch aj 2026-03-10 07:00:21 -04:00
  • 079a44052c perf: pre-allocate tile list capacity and remove redundant bbox walks aj 2026-03-09 23:13:22 -04:00
  • 94850795cf perf: replace O(p²) startOffset loop with O(p) pass in FindPatternCopyDistance aj 2026-03-09 23:10:44 -04:00
  • 53759c5877 perf: eliminate Program.Clone calls from copy-distance computations aj 2026-03-09 23:02:59 -04:00
  • 8ad01bb7f8 perf: pre-compute directional edges in PartBoundary constructor aj 2026-03-09 22:59:06 -04:00
  • 23b5358352 perf: add CloneAtOffset to skip re-rotation and bbox walk on part clones aj 2026-03-09 22:53:02 -04:00
  • 5fc16e9dae perf: halve rotating calipers edge iterations aj 2026-03-09 22:17:24 -04:00
  • 91908c1732 perf: optimize fill hot path — bbox pre-check and geometry inner loop aj 2026-03-09 22:10:25 -04:00
  • 35d7248da0 refactor: move OpenNest.Test to separate test data repo aj 2026-03-09 21:06:43 -04:00
  • 574342b5be chore: add OpenNest.Test to solution aj 2026-03-09 20:47:17 -04:00
  • c1811af5d5 test: add RemnantFillTests for remnant area filling aj 2026-03-09 20:43:55 -04:00
  • 1c3d9e08bd test: add FillTests for full plate fill and remainder strip refill aj 2026-03-09 20:03:39 -04:00
  • 54da2bd2da refactor: convert OpenNest.Test to xUnit project with TestData helper aj 2026-03-09 20:00:39 -04:00
  • bb64249af9 docs: add xUnit test suite implementation plan aj 2026-03-09 19:56:35 -04:00
  • 3705d50546 feat: add remainder strip re-fill to improve pattern fill density aj 2026-03-09 19:15:42 -04:00
  • 3516199f25 docs: add MCP service design and implementation plan aj 2026-03-09 18:33:13 -04:00
  • 57c35450dd docs: update remnant fill investigation with root causes and fix details aj 2026-03-09 18:33:10 -04:00
  • 435a08074b feat: improve remnant fill with rotation sweep, smart pair selection, and partial pattern fill aj 2026-03-09 18:33:06 -04:00
  • c5a9c27160 feat: add F key zoom-to-fit and fix middle-click conflict in PlateView aj 2026-03-09 18:28:55 -04:00
  • d1353d58e5 feat: add configurable chord tolerance for offset drawing and push geometry aj 2026-03-09 17:48:05 -04:00
  • df283d15dc docs: update remnant fill investigation — engine needs more rotation candidates aj 2026-03-08 16:12:51 -04:00
  • 892b11b341 docs: add remnant fill optimization investigation plan aj 2026-03-08 16:10:26 -04:00
  • 38b4b6debf Merge branch 'feature/mcp-service' aj 2026-03-08 16:03:35 -04:00
  • 8952b9d0ea fix(mcp): add [McpServerToolType] attribute to all tool classes aj 2026-03-08 16:01:47 -04:00
  • 5951a6a5c0 docs: update CLAUDE.md with OpenNest.IO and OpenNest.Mcp projects aj 2026-03-08 15:53:19 -04:00
  • f55779a01a feat(mcp): publish OpenNest.Mcp and register in .mcp.json aj 2026-03-08 15:52:40 -04:00
  • e9ea290907 fix(mcp): add null guards and safe parsing to pack_plate aj 2026-03-08 15:52:10 -04:00
  • 0c56a9049a feat(mcp): add inspection tools — get_plate_info, get_parts, check_overlaps aj 2026-03-08 15:49:02 -04:00
  • 8806bccb4e feat(mcp): add nesting tools — fill_plate, fill_area, fill_remnants, pack_plate aj 2026-03-08 15:48:30 -04:00
  • 3e8f8cd3bf feat(mcp): add setup tools — create_plate, clear_plate aj 2026-03-08 15:47:55 -04:00
  • 721197f1d4 feat(mcp): add input tools — load_nest, import_dxf, create_drawing aj 2026-03-08 15:47:33 -04:00
  • d02dfb92e9 feat: scaffold OpenNest.Mcp project with session state aj 2026-03-08 15:46:02 -04:00
  • a9af5effc5 feat: add Plate.GetRemnants() for finding empty edge strips aj 2026-03-08 15:43:27 -04:00
  • cc286dd9b7 refactor: extract OpenNest.IO class library from WinForms project aj 2026-03-08 15:41:07 -04:00
  • 4196a30791 refactor: unify FillLinear tiling into recursive FillRecursive method aj 2026-03-08 15:00:09 -04:00
  • c28d5d8c12 fix: use CPU evaluator for best-fit cache, remove broken GPU dilation aj 2026-03-08 14:20:13 -04:00
  • 3220306d3a feat: add reverse push directions for concave interlocking and cache best-fit results aj 2026-03-08 14:02:41 -04:00
  • 031264e98f refactor: pre-compute offset boundaries in FillLinear via PartBoundary aj 2026-03-08 13:28:01 -04:00
  • a92ba7af89 feat: resolve per-entity color and line type from DXF imports aj 2026-03-08 13:27:56 -04:00
  • 2225c4ef09 feat: add BestFitCell control with screen-space text overlay aj 2026-03-08 13:26:29 -04:00
  • e078ef4b77 feat: implement color and line type exclusion filters on CadConverterForm aj 2026-03-08 13:14:09 -04:00
  • bc392b37dc refactor: move GpuEvaluatorFactory to OpenNest.Gpu project aj 2026-03-07 21:40:56 -05:00
  • 99edad4228 refactor: extract responsibilities from NestEngine into focused classes aj 2026-03-07 21:37:50 -05:00
  • b738d4c72c refactor: clean up NestEngine — collapse overloads, extract helper, remove dead code aj 2026-03-07 21:31:15 -05:00
  • d3704378c2 refactor: replace VPattern/HPattern with unified FillGrid method aj 2026-03-07 21:27:11 -05:00
  • 062981ebe9 fix: compute accurate bounding metrics for GPU pair results aj 2026-03-07 20:55:16 -05:00
  • 43a27df73c fix: handle multi-part pattern copy distance in FillLinear aj 2026-03-07 20:55:12 -05:00
  • 1d46ce2298 feat: add BestFitViewerForm for visualizing best-fit nesting results aj 2026-03-07 20:06:28 -05:00
  • c575d82f80 Merge feature/gpu-bitmap-bestfit into master aj 2026-03-07 20:02:22 -05:00
  • 90b89a5dfa feat: add FillRectangleBestFit strategy and remove false overlap rejection aj 2026-03-07 20:00:38 -05:00
  • 0c14d7f854 fix: align best-fit sweep to include offset=0 for grid arrangements aj 2026-03-07 19:24:37 -05:00
  • 73c20c30ce fix: exclude rapid moves from Part.Intersects to fix FillLinear rejection aj 2026-03-07 18:52:35 -05:00
  • 7ed4572f8a feat: add GPU status indicator and device probe aj 2026-03-07 18:33:10 -05:00
  • 5bebfcb612 feat: wire GpuPairEvaluator into NestEngine with auto-detection aj 2026-03-07 18:27:15 -05:00
  • 1c1508bc9e feat: add GpuPairEvaluator with ILGPU bitmap overlap kernel aj 2026-03-07 18:24:39 -05:00
  • 8d28167b2f feat: add OpenNest.Gpu project with PartBitmap rasterizer aj 2026-03-07 18:21:04 -05:00
  • b83d09c3a7 refactor: extract IPairEvaluator interface from PairEvaluator aj 2026-03-07 18:19:05 -05:00
  • dd7383467b feat: add Polygon.ContainsPoint using ray casting aj 2026-03-07 18:13:12 -05:00
  • 688b00b3e4 docs: add GPU bitmap best fit implementation plan aj 2026-03-07 18:06:01 -05:00
  • 443556d2e3 docs: add GPU bitmap best fit evaluation design aj 2026-03-07 18:03:40 -05:00
  • bc411949b8 fix: use offset geometry for moving part in FillLinear spacing aj 2026-03-07 14:10:48 -05:00
  • 54cdf21264 docs: update CLAUDE.md for .NET 8 migration aj 2026-03-07 13:32:11 -05:00
  • 0e7eb3df81 chore: update solution file for Visual Studio 17 aj 2026-03-07 13:31:43 -05:00
  • e6e87b7cad refactor: simplify MainApp for .NET 8 DPI handling aj 2026-03-07 13:31:19 -05:00
  • 848023a2b9 refactor: rewrite DxfExporter for ACadSharp aj 2026-03-07 13:30:23 -05:00
  • d185adecfa refactor: rewrite DxfImporter for ACadSharp aj 2026-03-07 13:26:33 -05:00
  • 3baa942f4e refactor: rewrite IO Extensions for ACadSharp aj 2026-03-07 13:25:04 -05:00
  • 263c2d0ae1 feat: convert OpenNest WinForms project to .NET 8 SDK-style aj 2026-03-07 13:23:47 -05:00
  • a6949a390d feat: convert OpenNest.Engine to .NET 8 SDK-style project aj 2026-03-07 13:22:09 -05:00
  • 6ce81d99a7 feat: convert OpenNest.Core to .NET 8 SDK-style project aj 2026-03-07 13:21:16 -05:00
  • afca2068cc feat: integrate best-fit pair finding into NestEngine.Fill aj 2026-03-07 12:03:03 -05:00
  • 955446a2f4 feat: add BestFitFinder orchestrator with hull edge angle strategies aj 2026-03-07 11:54:26 -05:00
  • 7a0aac9f59 feat: add BestFitFilter and TileEvaluator for pair filtering and tiling aj 2026-03-07 11:51:44 -05:00
  • 2a8b2dfdee feat: add PairEvaluator with overlap detection and rotating calipers aj 2026-03-07 11:49:26 -05:00
  • 21e1c959d3 feat: add RotationSlideStrategy with directional push contact algorithm aj 2026-03-07 11:45:28 -05:00
  • 86fee08670 feat: add PairCandidate, BestFitResult, and IBestFitStrategy for best-fit pair finding aj 2026-03-07 11:42:43 -05:00
  • b030de77a8 feat: restore previous action on Escape from ActionSelect aj 2026-03-07 10:51:28 -05:00
  • 0573cb2f6d feat: fill open area and optimize pattern rotation via convex hull aj 2026-03-07 10:51:21 -05:00
  • 0b2100a661 fix: restore SelectedParts after plate switch in ActionClone aj 2026-03-07 10:11:22 -05:00
  • fd778e2fd2 fix: preserve ActionClone across plate switches aj 2026-03-07 10:05:13 -05:00
  • 40b40ca4ba feat: unify ActionAddPart into ActionClone and add group fill support aj 2026-03-07 09:56:48 -05:00
  • 5807255931 feat: replace Fill method with geometry-aware FillLinear algorithm aj 2026-03-07 07:53:02 -05:00
  • 5707bff89b feat: rotate selected parts 90° on middle mouse click aj 2026-03-07 01:12:03 -05:00
  • be8b499880 feat: add NestEngine.FillLinear with 4-config rotation/axis optimization aj 2026-03-07 01:01:41 -05:00
  • 98818d32e3 feat: add full plate fill with pattern-level geometry-aware tiling aj 2026-03-07 00:58:35 -05:00
  • 1193091338 feat: add FillRow method for single-axis geometry-aware fill aj 2026-03-07 00:56:44 -05:00
  • b8d9155cd0 feat: add FillLinear class with geometry-aware copy distance aj 2026-03-07 00:54:06 -05:00
  • f4779b878c feat: add Pattern class for grouping parts with relative positions aj 2026-03-07 00:52:11 -05:00
  • 949a9ffc7d chore: remove rotating calipers design plan aj 2026-03-06 22:50:27 -05:00
  • 1c8763a201 feat: update FindBestRotation to use rotating calipers algorithm aj 2026-03-06 22:49:09 -05:00
  • a190ed25b4 feat: add RotatingCalipers class with minimum bounding rectangle algorithm aj 2026-03-06 22:46:42 -05:00
  • 13e93c3534 feat: add ConvexHull class with Andrew's monotone chain algorithm aj 2026-03-06 22:44:04 -05:00
  • 0424d8db20 docs: add rotating calipers design plan aj 2026-03-06 22:39:09 -05:00
  • 4d270ae68e fix: remove self-intersecting loops from polygon offset aj 2026-03-06 22:23:44 -05:00
  • 08b31d0797 fix: stop push at contact boundary and filter edges by direction aj 2026-03-06 21:42:40 -05:00
  • 49cc65903d chore: remove obsolete geometry push design plan aj 2026-03-06 20:54:24 -05:00
  • 6561b478a5 fix: prevent scientific notation in G-code output aj 2026-03-06 20:54:20 -05:00
  • 1c4015ac62 fix: CadConverter SetRotation ignored rotation parameter aj 2026-03-06 19:41:42 -05:00
  • af00fa36eb fix: invert offset side for cutouts in Shape.OffsetEntity aj 2026-03-06 19:40:08 -05:00
  • 30429ab955 fix: compensate for inscribed polygon in offset distance aj 2026-03-06 19:37:58 -05:00