This website requires JavaScript.
6b0bafc9de
merge: integrate NFP-based autonesting from feature/nfp-autonest
aj and Claude Opus 4.6
2026-03-13 09:40:38 -04:00
776e9d218c
fix(ui): cache offset paths and scale temp parts on zoom
aj and Claude Opus 4.6
2026-03-13 09:29:27 -04:00
501b2553ad
refactor(ui): move NestProgressForm UI to Designer file
aj and Claude Opus 4.6
2026-03-13 08:50:33 -04:00
986d298786
feat(ui): replace random part colors with curated palette
aj and Claude Opus 4.6
2026-03-13 08:45:28 -04:00
9773449563
feat(ui): add FillWithProgress to PlateView, use from ActionClone
aj and Claude Opus 4.6
2026-03-13 08:39:30 -04:00
fde285484a
fix(ui): cancel nesting when MDI child form is closed
aj and Claude Opus 4.6
2026-03-13 08:33:43 -04:00
98c4c88fc3
feat(ui): add progress support to ActionFillArea and FillArea_Click
aj and Claude Opus 4.6
2026-03-13 08:33:09 -04:00
09fef203df
feat(ui): make FillPlate_Click async with progress and cancellation
aj and Claude Opus 4.6
2026-03-13 08:32:17 -04:00
0bf128b3e7
feat(ui): make RunAutoNest_Click async with progress and cancellation
aj and Claude Opus 4.6
2026-03-13 08:31:31 -04:00
af0748fb1b
feat(ui): add NestProgressForm modeless dialog
aj and Claude Opus 4.6
2026-03-13 08:30:22 -04:00
c545f91d28
feat(ui): add temporary parts list to PlateView with preview drawing
aj and Claude Opus 4.6
2026-03-13 08:29:30 -04:00
bd2b5ec1db
feat(ui): add PreviewPart color to ColorScheme
aj and Claude Opus 4.6
2026-03-13 08:28:18 -04:00
ca685ac8ba
feat(engine): add public Fill overloads returning List<Part> with progress/cancellation
aj and Claude Opus 4.6
2026-03-13 08:27:31 -04:00
93fbe1a9f8
feat(engine): add FindBestFill and FillWithPairs overloads with progress and cancellation
aj and Claude Opus 4.6
2026-03-13 08:26:32 -04:00
a97477fcdf
feat(engine): add NestPhase enum and NestProgress data model
aj and Claude Opus 4.6
2026-03-13 08:24:55 -04:00
4da5e3fc89
docs: add nesting progress window implementation plan
aj and Claude Opus 4.6
2026-03-13 08:20:52 -04:00
5f72f5712e
docs: address spec review feedback for nesting progress window
aj and Claude Opus 4.6
2026-03-13 08:08:14 -04:00
5f64130b9d
docs: add nesting progress window design spec
aj and Claude Opus 4.6
2026-03-13 08:05:11 -04:00
09fc8b889e
fix: close polygon offset shape and handle nest template load failure
aj and Claude Opus 4.6
2026-03-13 07:37:39 -04:00
2216b8553f
docs: add implementation plans for best-fit viewer, pair finding, and .NET 8 migration
aj and Claude Opus 4.6
2026-03-13 07:24:45 -04:00
6ed20a6a48
refactor: switch auto-nest from Pack to per-item Fill with explicit quantity tracking
aj and Claude Opus 4.6
2026-03-13 07:24:42 -04:00
c68139e15e
merge: resolve .gitignore conflict, keep both entries
aj and Claude Opus 4.6
2026-03-13 07:22:45 -04:00
66b3aeafc1
fix: correct inverted quadrant-to-exit-point mapping in GetExitPoint
aj and Claude Opus 4.6
2026-03-12 23:59:04 -04:00
616575e0ee
feat: wire contour re-indexing into ContourCuttingStrategy.Apply()
aj and Claude Sonnet 4.6
2026-03-12 23:57:17 -04:00
2b4cb849ba
feat: add Shape.ReindexAt(Vector, Entity) for contour reordering
aj and Claude Sonnet 4.6
2026-03-12 23:54:54 -04:00
3de44a7293
feat: add Arc.SplitAt(Vector) splitting primitive
aj
2026-03-12 23:53:25 -04:00
b2ff704b73
feat: add Line.SplitAt(Vector) splitting primitive
aj
2026-03-12 23:53:23 -04:00
f7940efe93
docs: fix contour re-indexing spec from review feedback
aj
2026-03-12 23:45:21 -04:00
6a2f39530f
docs: add contour re-indexing design spec
aj
2026-03-12 23:41:30 -04:00
18023cb1cf
docs: clarify cutting strategy runs at nest-time, not post-processing
aj and Claude Opus 4.6
2026-03-12 23:24:23 -04:00
b4a740a515
Merge branch 'feature/cutting-strategy' into master
aj
2026-03-12 23:20:02 -04:00
441628eff2
feat: add ContourCuttingStrategy orchestrator
aj and Claude Opus 4.6
2026-03-12 23:15:38 -04:00
ac7d90ae17
feat: add CuttingParameters and configuration classes
aj and Claude Opus 4.6
2026-03-12 23:13:36 -04:00
459738e373
feat: add Tab hierarchy (4 classes)
aj and Claude Opus 4.6
2026-03-12 23:13:31 -04:00
b112f70f6a
feat: add LeadOut hierarchy (5 classes)
aj and Claude Opus 4.6
2026-03-12 23:12:09 -04:00
f17db1d2f9
feat: add LeadIn hierarchy (7 classes)
aj and Claude Sonnet 4.6
2026-03-12 23:07:31 -04:00
9b3cf10222
docs: add cutting strategy implementation plan
aj and Claude Opus 4.6
2026-03-12 22:56:52 -04:00
e14382f2f3
docs: update cutting strategy spec with review fixes
aj and Claude Opus 4.6
2026-03-12 22:48:17 -04:00
cb30c20eb9
docs: add cutting strategy design spec
aj and Claude Opus 4.6
2026-03-12 22:43:05 -04:00
e4e1d9b5a3
refactor: rename DefinedShape to ShapeProfile
aj and Claude Opus 4.6
2026-03-12 22:19:49 -04:00
0c395421cd
chore: add .claude/ to .gitignore
aj and Claude Opus 4.6
2026-03-12 22:02:54 -04:00
612b540d9d
refactor: rename Size.Height to Size.Length across codebase
aj and Claude Opus 4.6
2026-03-12 22:01:40 -04:00
7e0edd112a
refactor: use 'length' instead of 'height' in nest JSON format
aj and Claude Opus 4.6
2026-03-12 21:50:53 -04:00
c2534ef08b
feat: replace XML nest file format with JSON (v2)
aj and Claude Opus 4.6
2026-03-12 18:44:43 -04:00
a084819889
perf: comment out Debug.WriteLine calls in FillLinear
aj and Claude Opus 4.6
2026-03-12 08:44:14 -04:00
d0d334e734
fix: use chain tolerance for shape building to handle DXF endpoint gaps
aj and Claude Opus 4.6
2026-03-12 08:37:39 -04:00
2632b3dbf7
fix: resolve infinite loop in multi-plate autonest and wire into console
aj and Claude Opus 4.6
2026-03-12 08:29:02 -04:00
3f3b07ef5d
feat: add NFP-based mixed-part autonesting
aj and Claude Opus 4.6
2026-03-12 08:08:22 -04:00
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