-
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