-
4d30178752
refactor: replace ComputeRemainderWithin with RemnantFinder in Nest()
aj
2026-03-16 12:51:25 -04:00
-
2b578fa006
refactor: remove NestPhase.Remainder enum value and switch cases
aj
2026-03-16 12:50:48 -04:00
-
78c625361e
refactor: remove remainder phase from DefaultNestEngine
aj
2026-03-16 12:50:26 -04:00
-
dd3a2b0e9a
refactor: remove UsableRemnantArea from NestProgress and UI
aj
2026-03-16 12:47:57 -04:00
-
9b21a0c6d7
fix: update FillWithPairs debug logging after FillScore simplification
aj
2026-03-16 12:47:11 -04:00
-
5b9e6c28e4
refactor: simplify FillScore to count + density, remove remnant tracking
aj
2026-03-16 12:46:53 -04:00
-
ecdf571c71
feat: add RemnantFinder with edge projection algorithm
aj
2026-03-16 12:45:35 -04:00
-
f5ab070453
test: add RemnantFinder tests (red)
aj
2026-03-16 12:44:53 -04:00
-
5873bff48b
docs: add remnant finder implementation plan
aj
2026-03-16 12:38:44 -04:00
-
190f2a062f
docs: add PlateView remnant visualization to remnant finder spec
aj
2026-03-16 12:26:23 -04:00
-
384d53da47
docs: add remnant finder design spec
aj
2026-03-16 12:19:16 -04:00
-
1b62f7af04
docs: revise lead-in UI spec with external/internal split and LayerType tagging
aj
2026-03-16 11:04:42 -04:00
-
-
48d4220199
docs: add lead-in assignment UI design spec
aj
2026-03-16 01:29:32 -04:00
-
ff496e4efe
fix(engine): track multiple free rectangles in strip remnant filling
aj
2026-03-16 01:28:25 -04:00
-
1a3e18795b
fix(ui): reverse sequence order so cutting starts near origin
aj
2026-03-16 00:58:35 -04:00
-
507dff95b8
fix(ui): use LeastCode sequencer and fix AddRange double-enumeration
aj
2026-03-16 00:54:35 -04:00
-
a1f32eda79
feat(ui): wire Plate→Sequence menu to PartSequencerFactory
aj
2026-03-16 00:50:03 -04:00
-
545d031ee7
feat: add PlateProcessor for per-part lead-in assignment and cut sequencing
aj
2026-03-16 00:47:16 -04:00
-
-
7d198f837c
feat: add PlateProcessor orchestrator
aj
2026-03-16 00:44:25 -04:00
-
5948dc9cae
feat: add PlateResult and ProcessedPart
aj
2026-03-16 00:43:17 -04:00
-
6dffd8f5ad
feat: add DirectRapidPlanner with line-shape intersection check
aj
2026-03-16 00:43:06 -04:00
-
29b2572f9a
feat: add IRapidPlanner, RapidPath, and SafeHeightRapidPlanner
aj
2026-03-16 00:39:34 -04:00
-
c1e21abd45
feat: add PartSequencerFactory
aj
2026-03-16 00:36:41 -04:00
-
edc81ae45e
feat: add AdvancedSequencer with row grouping and serpentine
aj
2026-03-16 00:36:07 -04:00
-
7edf6ee843
feat: add LeastCodeSequencer with nearest-neighbor and 2-opt
aj
2026-03-16 00:35:19 -04:00
-
f568308d1a
feat: add EdgeStartSequencer
aj
2026-03-16 00:32:35 -04:00
-
d0351ab765
feat: add directional part sequencers (RightSide, LeftSide, BottomSide)
aj
2026-03-16 00:27:57 -04:00
-
4f8febde23
feat: add IPartSequencer interface and SequencedPart
aj
2026-03-16 00:27:02 -04:00
-
00940d1b6e
chore: rename test project to OpenNest.Tests
aj
2026-03-16 00:25:22 -04:00
-
1757e9e01d
refactor: change ContourCuttingStrategy.Apply to accept approachPoint
aj
2026-03-16 00:23:53 -04:00
-
62140789a7
feat: add Part.HasManualLeadIns flag
aj
2026-03-16 00:23:21 -04:00
-
ad877383ce
feat: add CuttingResult struct
aj
2026-03-16 00:22:50 -04:00
-
b49cdc3e55
chore: add shared test helpers for Engine tests
aj
2026-03-16 00:21:26 -04:00
-
1e093a8413
chore: add OpenNest.Engine.Tests xUnit project
aj
2026-03-16 00:21:07 -04:00
-
-
79c6ec340c
docs: add plate processor implementation plan
aj
2026-03-16 00:17:37 -04:00
-
37c76a720d
docs: address spec review feedback for plate processor design
aj
2026-03-15 23:55:16 -04:00
-
c06758a2bd
docs: add plate processor design spec for per-part lead-in assignment
aj
2026-03-15 23:52:42 -04:00
-
026227848b
docs: add plans for ML angle pruning, fill-exact, and helper decomposition
aj
2026-03-15 23:06:12 -04:00
-
5cd2875b35
chore(ui): regenerate MainForm designer file
aj
2026-03-15 23:06:04 -04:00
-
5e346270c6
fix: delegate Fill(groupParts) and PackArea to DefaultNestEngine
aj
2026-03-15 22:43:42 -04:00
-
5c79fbe73d
feat(ui): add Auto Nest button to toolstrip next to engine selector
aj
2026-03-15 22:36:54 -04:00
-
4e747a8e6c
fix: show strip + remnant parts together during progress updates
aj
2026-03-15 22:31:11 -04:00
-
310165db02
fix: add quantity deduction and progress reporting to StripNestEngine
aj
2026-03-15 22:26:29 -04:00
-
48be4d5d46
feat: add virtual Nest method to NestEngineBase for polymorphic auto-nest
aj
2026-03-15 22:16:08 -04:00
-
bb703ef8eb
feat(ui): wire strip engine into UI auto-nest flow
aj
2026-03-15 22:09:29 -04:00
-
7462d1bdca
feat(ui): add engine selector dropdown to main toolstrip
aj
2026-03-15 22:01:06 -04:00
-
cd85857816
feat: integrate StripNestEngine into autonest_plate MCP tool
aj
2026-03-15 21:40:21 -04:00
-
4d80710b48
feat: register StripNestEngine in NestEngineRegistry
aj
2026-03-15 21:39:25 -04:00
-
42d404577b
feat: add StripNestEngine with strip-based multi-drawing nesting
aj
2026-03-15 21:39:01 -04:00
-
81a57dc470
docs: update CLAUDE.md for abstract nest engine architecture
aj
2026-03-15 21:12:53 -04:00
-
bd3984037c
refactor: migrate WinForms callsites to NestEngineRegistry
aj
2026-03-15 21:11:11 -04:00
-
01283d2b18
refactor: migrate Console Program to NestEngineRegistry
aj
2026-03-15 21:10:10 -04:00
-
a26ab2ba28
refactor: migrate NestingTools to NestEngineRegistry
aj
2026-03-15 21:09:46 -04:00
-
4baeb57e84
feat: add NestEngineInfo and NestEngineRegistry with plugin loading
aj
2026-03-15 21:07:59 -04:00
-
1bcfe5d031
feat: add NestEngineBase abstract class, rename NestEngine to DefaultNestEngine
aj
2026-03-15 21:06:28 -04:00
-
1d1cf41ba0
docs: update strip nester plan for abstract engine architecture
aj
2026-03-15 21:00:42 -04:00
-
9bd262dec0
docs: add abstract nest engine implementation plan
aj
2026-03-15 20:59:51 -04:00
-
068de63e83
docs: address spec review feedback for abstract nest engine
aj
2026-03-15 20:32:35 -04:00
-
6c2810ef80
docs: add abstract nest engine design spec
aj
2026-03-15 20:29:29 -04:00
-
7b01524934
docs: add strip nester implementation plan
aj
2026-03-15 19:53:11 -04:00
-
69da8c4632
docs: add strip nester design spec
aj
2026-03-15 19:40:09 -04:00
-
56a298d95c
docs: update CLAUDE.md with current architecture
aj
2026-03-15 17:55:55 -04:00
-
93bf15c27f
chore: remove redundant using in Rounding.cs
aj
2026-03-15 17:49:53 -04:00
-
e017723318
refactor: remove empty Helper class
aj
2026-03-15 17:46:36 -04:00
-
13b01240b1
refactor: extract SpatialQuery from Helper
aj
2026-03-15 17:46:14 -04:00
-
2881815c7a
refactor: extract PartGeometry from Helper
aj
2026-03-15 17:44:17 -04:00
-
84d3f90549
refactor: extract Intersect from Helper
aj
2026-03-15 17:43:12 -04:00
-
7c4eac5460
refactor: extract ShapeBuilder from Helper
aj
2026-03-15 17:41:40 -04:00
-
be318bc1c1
refactor: extract GeometryOptimizer from Helper
aj
2026-03-15 17:39:52 -04:00
-
09cdb98dfc
refactor: extract Rounding from Helper to OpenNest.Math
aj
2026-03-15 17:38:23 -04:00
-
823320e982
fix(engine): use reverse-gap check in Compactor to handle irregular shapes
aj
2026-03-15 17:29:29 -04:00
-
289a2044a6
fix(ui): mark LayoutParts dirty after PushSelected so paths rebuild
aj
2026-03-15 14:20:18 -04:00
-
7508fbf715
refactor(engine): delegate PlateView.PushSelected to Compactor and add iterative compaction
aj
2026-03-15 14:16:35 -04:00
-
4525be302c
fix(engine): compute remainder from just-placed parts within current work area
aj
2026-03-15 13:43:33 -04:00
-
2042c7d3f2
perf(engine): cap strip-mode pair candidates at 100 (sorted by utilization)
aj
2026-03-15 13:35:30 -04:00
-
2af02096e0
fix(engine): pass progress through FillExact binary search iterations
aj
2026-03-15 13:30:39 -04:00
-
744062152e
feat(engine): optimize FillExact with angle pruning and tight search range
aj
2026-03-15 13:21:28 -04:00
-
ef12cf2966
fix(engine): Compactor treats pushed parts as obstacles for subsequent pushes
aj
2026-03-15 12:54:25 -04:00
-
56592f909a
feat(mcp): use FillExact + Compactor in autonest_plate
aj
2026-03-15 12:43:41 -04:00
-
521ada17cc
feat(console): use FillExact + Compactor in --autonest
aj
2026-03-15 12:43:38 -04:00
-
2bde2545f4
feat(ui): use FillExact + Compactor in AutoNest
aj
2026-03-15 12:43:32 -04:00
-
00ee205b44
feat(engine): add Compactor for post-fill gravity compaction
aj
2026-03-15 12:41:29 -04:00
-
28fb1a1a67
feat(engine): add FillExact method for exact-quantity nesting
aj
2026-03-15 12:41:21 -04:00
-
9a17fe97d3
feat(engine): add BinarySearchFill helper for exact-quantity search
aj
2026-03-15 12:40:56 -04:00
-
cab603c50d
docs: fix spec issues from review — non-sequential stepper, font caching, sizing
aj
2026-03-15 01:54:07 -04:00
-
40d99b402f
docs: add NestProgressForm redesign spec
aj
2026-03-15 01:51:20 -04:00
-
45509cfd3f
feat(ui): add nested dimensions and area to progress window
aj
2026-03-15 01:42:34 -04:00
-
8e0c082876
refactor(ui): optimize PushSelected with directional filtering and lazy line computation
aj
2026-03-15 01:30:50 -04:00
-
3c59da17c2
fix(engine): fix pair candidate filtering for narrow plates and strips
aj
2026-03-15 01:14:07 -04:00
-
ae010212ac
refactor(engine): extract AutoNester and reorganize NestEngine
aj
2026-03-14 22:51:57 -04:00
-
ce6b25c12a
refactor(engine): simplify FillLinear with iterative grid fill
aj
2026-03-14 22:51:50 -04:00
-
6993d169e4
perf(core): optimize geometry with edge pruning and vertex dedup
aj
2026-03-14 22:51:44 -04:00
-
eddcc7602d
feat(console): refactor Program.cs and add DXF file import support
aj
2026-03-14 21:50:01 -04:00
-
9783d417bd
feat(engine): show running ledger in progress descriptions
aj
2026-03-14 20:57:01 -04:00
-
91281c8813
fix(engine): throttle progress reports to 150ms intervals
aj
2026-03-14 20:51:29 -04:00
-
c2f775258d
fix(ui): show live per-angle/per-candidate detail during nesting
aj
2026-03-14 20:48:58 -04:00
-
930dd59213
fix(ui): set Description in phase-level progress reports
aj
2026-03-14 20:40:25 -04:00
-
9cc6cfa1b1
fix(engine): add volatile to AnglePredictor lock field and Models content copy
aj
2026-03-14 20:33:07 -04:00
-
e33b5ba063
feat(engine): integrate AnglePredictor into FindBestFill angle selection
aj
2026-03-14 20:28:50 -04:00
-
8cc14997af
feat(engine): add AnglePredictor ONNX inference class
aj
2026-03-14 20:27:44 -04:00