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