This website requires JavaScript.
ed555ba56a
docs: clarify data flow, FillScore context, and quantity semantics in spec
aj and Claude Opus 4.6
2026-03-19 10:17:15 -04:00
20aa172f46
docs: add iterative shrink-fill design spec
aj and Claude Opus 4.6
2026-03-19 10:13:45 -04:00
9a58782c46
merge: resolve conflicts from remote nesting progress changes
aj and Claude Opus 4.6
2026-03-19 09:35:25 -04:00
e656956c1c
fix(api): set plate Material from request, add null guards in LoadAsync
aj and Claude Opus 4.6
2026-03-19 08:48:30 -04:00
f13443b6b3
feat(api): add NestRunner with multi-plate loop
aj and Claude Opus 4.6
2026-03-19 08:37:44 -04:00
a7688f4c9d
feat(api): add NestResponse with SaveAsync/LoadAsync
aj and Claude Sonnet 4.6
2026-03-19 08:33:35 -04:00
e324e15fc0
feat(io): add NestWriter.Write(Stream) overload
aj and Claude Sonnet 4.6
2026-03-19 08:30:59 -04:00
d7cc08dff7
refactor: rename .opnest file extension to .nest
aj and Claude Sonnet 4.6
2026-03-19 08:29:46 -04:00
1c8b35bcfb
refactor(engine): rename NestResult to OptimizationResult
aj and Claude Sonnet 4.6
2026-03-19 08:28:12 -04:00
84679b40ce
feat(api): add NestStrategy, NestRequestPart, NestRequest
aj and Claude Sonnet 4.6
2026-03-19 08:26:51 -04:00
b6bd7eda6e
refactor: move CutParameters to OpenNest.Api namespace with new properties
aj and Claude Sonnet 4.6
2026-03-19 08:25:32 -04:00
cfe8a38620
chore: add OpenNest.Api project skeleton
aj and Claude Sonnet 4.6
2026-03-19 08:23:07 -04:00
4be0b0db09
docs: add Nest API implementation plan
aj and Claude Opus 4.6
2026-03-19 07:59:23 -04:00
2f5d20f972
docs: add Nest API design spec
aj and Claude Opus 4.6
2026-03-19 07:46:33 -04:00
0f953b8701
docs: add two-bucket preview spec and plan
aj and Claude Opus 4.6
2026-03-18 22:48:25 -04:00
62ec6484c8
fix(ui): PatternTileForm layout, orientation, and dropdown display
aj and Claude Opus 4.6
2026-03-18 22:48:19 -04:00
0472c12113
refactor(fill): extract constants and EvaluateCandidate in PairFiller
aj and Claude Opus 4.6
2026-03-18 22:48:12 -04:00
a9a9dc8a0a
feat(ui): route progress to stationary/active buckets in MainForm
aj and Claude Sonnet 4.6
2026-03-18 22:16:55 -04:00
4fc8f1f6cf
feat(ui): two-bucket preview parts in PlateView
aj and Claude Sonnet 4.6
2026-03-18 22:14:59 -04:00
231f97fafc
feat(ui): add active preview brush/pen to ColorScheme
aj and Claude Sonnet 4.6
2026-03-18 22:13:10 -04:00
76e30d91c0
feat(engine): flag overall-best progress reports in DefaultNestEngine
aj and Claude Sonnet 4.6
2026-03-18 22:12:20 -04:00
e789fe312d
feat(engine): add IsOverallBest flag to NestProgress
aj and Claude Sonnet 4.6
2026-03-18 22:11:29 -04:00
f73bb2bc2f
refactor(fill): simplify FindPatternCopyDistance — extract pair loop, remove redundant span calculation
aj and Claude Opus 4.6
2026-03-18 21:04:35 -04:00
0da970ec9a
fix: revert FillExtents/FillLinear FillHelpers.Tile calls (not yet available)
aj and Claude Opus 4.6
2026-03-18 20:29:38 -04:00
62f00055b7
Reapply "refactor(compactor): deduplicate Push — PushDirection delegates to Vector overload"
aj
2026-03-18 20:26:14 -04:00
e695e29355
Revert "refactor(compactor): deduplicate Push — PushDirection delegates to Vector overload"
aj
2026-03-18 20:24:33 -04:00
9012a9fc1c
refactor(compactor): deduplicate Push — PushDirection delegates to Vector overload
aj and Claude Opus 4.6
2026-03-18 20:23:50 -04:00
b009f195be
refactor(compactor): remove dead code — Compact, CompactIndividual, and helpers
aj and Claude Opus 4.6
2026-03-18 20:19:55 -04:00
dddc890a96
Revert "refactor(engine): simplify FillExtents logic using Compactor.Push"
aj
2026-03-18 20:17:57 -04:00
794ef16629
test: add Compactor safety-net tests before refactor
aj and Claude Opus 4.6
2026-03-18 20:17:06 -04:00
d1d47b5223
refactor(engine): simplify FillExtents logic using Compactor.Push
aj
2026-03-18 20:13:55 -04:00
24ed878d8e
docs: add Compactor refactor implementation plan
aj and Claude Opus 4.6
2026-03-18 20:12:23 -04:00
c2b8400986
refactor(engine): extract AngleCandidateBuilder.Build into focused helpers
aj and Claude Opus 4.6
2026-03-18 20:02:30 -04:00
0a33047ad6
fix(engine): prevent FillExtents overlap and add strategy filter API
aj and Claude Opus 4.6
2026-03-18 19:53:08 -04:00
c98e024f9c
feat(ui): disable remove plate button when only one plate exists
aj and Claude Opus 4.6
2026-03-18 18:07:20 -04:00
d6d7ba8480
fix(ui): increase font sizes in progress form for readability
aj and Claude Opus 4.6
2026-03-18 17:58:35 -04:00
b6cde145e1
fix(ui): handle edge cases in DensityBar and PhaseStepperControl
aj and Claude Opus 4.6
2026-03-18 17:39:13 -04:00
9a4f20ca00
feat(ui): support Accept button in nesting callers
aj
2026-03-18 17:35:33 -04:00
b5af5a118d
feat(ui): rewrite NestProgressForm with grouped panels, stepper, density bar, and Accept button
aj and Claude Opus 4.6
2026-03-18 17:34:50 -04:00
60a557bd37
feat(ui): add DensityBar sparkline control for density visualization
aj and Claude Sonnet 4.6
2026-03-18 17:31:59 -04:00
97ab33c899
feat(ui): add PhaseStepperControl for nesting progress phases
aj and Claude Sonnet 4.6
2026-03-18 17:31:54 -04:00
a1810db96d
docs: add NestProgressForm redesign v2 implementation plan
aj and Claude Opus 4.6
2026-03-18 17:22:49 -04:00
39d656ad21
docs: add NestProgressForm redesign v2 spec
aj and Claude Opus 4.6
2026-03-18 17:16:42 -04:00
1d9bcc63d2
chore: sort using directives
aj and Claude Opus 4.6
2026-03-18 16:47:42 -04:00
6102dd5b85
refactor(engine): migrate Fill(List<Part>) to strategy pipeline
aj and Claude Opus 4.6
2026-03-18 16:46:24 -04:00
495ee6f0c3
refactor(engine): move NFP code to OpenNest.Engine.Nfp namespace
aj and Claude Opus 4.6
2026-03-18 16:46:17 -04:00
0e1e619f0a
refactor(engine): move fill and strategy code to dedicated namespaces
aj and Claude Opus 4.6
2026-03-18 16:46:11 -04:00
0cba528591
docs: update README with accurate features and add roadmap
aj and Claude Opus 4.6
2026-03-18 16:45:50 -04:00
442501828a
test(io): add DXF roundtrip tests
aj and Claude Opus 4.6
2026-03-18 14:53:58 -04:00
202f49f368
test(engine): add FillStrategyRegistry and pipeline tests
aj and Claude Sonnet 4.6
2026-03-18 13:08:13 -04:00
7bbfe06494
refactor(engine): replace FindBestFill with strategy pipeline
aj and Claude Opus 4.6
2026-03-18 13:05:24 -04:00
267254dcae
feat(engine): add LinearFillStrategy adapter
aj and Claude Sonnet 4.6
2026-03-18 13:02:16 -04:00
5668748f37
feat(engine): add ExtentsFillStrategy adapter
aj and Claude Sonnet 4.6
2026-03-18 13:02:10 -04:00
b7de61e4d1
feat(engine): add RectBestFitStrategy adapter
aj and Claude Sonnet 4.6
2026-03-18 13:02:05 -04:00
c4d5cfd17b
feat(engine): add PairsFillStrategy adapter
aj and Claude Sonnet 4.6
2026-03-18 13:02:00 -04:00
1f965897f2
refactor(engine): extract FillHelpers from DefaultNestEngine
aj and Claude Sonnet 4.6
2026-03-18 12:59:15 -04:00
46fe48870c
feat(engine): add FillStrategyRegistry with reflection-based discovery
aj and Claude Sonnet 4.6
2026-03-18 12:57:31 -04:00
c287e3ec32
feat(engine): add IFillStrategy interface and FillContext
aj and Claude Sonnet 4.6
2026-03-18 12:57:27 -04:00
4348e5c427
feat(engine): add NestPhase.Custom for plugin fill strategies
aj and Claude Sonnet 4.6
2026-03-18 12:57:23 -04:00
e6a7d9b047
docs: add pluggable fill strategies implementation plan
aj and Claude Opus 4.6
2026-03-18 12:54:14 -04:00
ddf1686ea5
docs: address spec review feedback for pluggable fill strategies
aj and Claude Opus 4.6
2026-03-18 12:46:30 -04:00
501fbda762
docs: add pluggable fill strategies design spec
aj and Claude Opus 4.6
2026-03-18 12:39:30 -04:00
a83efd0b01
feat(ui): show both horizontal and vertical fill previews side by side
aj and Claude Opus 4.6
2026-03-18 11:12:24 -04:00
a1139efecb
feat(ui): wire Pattern Tile menu item and apply logic in MainForm
aj
2026-03-18 09:58:24 -04:00
d8373ab135
refactor(ui): extract compaction helper, fix auto-arrange UX in PatternTileForm
aj and Claude Opus 4.6
2026-03-18 09:56:21 -04:00
f0b9b51229
feat(ui): add PatternTileForm dialog with unit cell editor and tile preview
aj
2026-03-18 09:52:36 -04:00
76a338f3d0
refactor(engine): remove dead import and add spacing comment in PatternTiler
aj and Claude Opus 4.6
2026-03-18 09:48:14 -04:00
0ac7b9babd
fix(test): rename misleading test method name
aj and Claude Opus 4.6
2026-03-18 09:46:26 -04:00
f336af5d65
feat(engine): add PatternTiler for unit cell tiling across plates
aj
2026-03-18 09:43:45 -04:00
3d6be3900e
feat(engine): generalize Compactor.Push to support arbitrary angles and BB-only mode
aj and Claude Opus 4.6
2026-03-18 09:41:09 -04:00
285e7082fb
docs: add pattern tile layout implementation plan
aj and Claude Opus 4.6
2026-03-18 09:31:27 -04:00
207cef5423
docs: update pattern tile layout spec after review
aj and Claude Opus 4.6
2026-03-18 09:20:47 -04:00
c3b3f24704
docs: add pattern tile layout window design spec
aj and Claude Opus 4.6
2026-03-18 09:15:44 -04:00
6229e5e49d
fix(engine): fix FillExtents competition and vertical gap bugs
aj and Claude Opus 4.6
2026-03-18 07:59:28 -04:00
07465d6f0c
Merge branch 'master' of https://git.thecozycat.net/aj/OpenNest
aj
2026-03-18 07:26:09 -04:00
d2eeb23107
refactor(io): migrate nest file extension from .zip to .opnest
aj and Claude Opus 4.6
2026-03-18 07:26:04 -04:00
ccd230568e
feat(engine): integrate FillExtents phase into DefaultNestEngine
aj and Claude Sonnet 4.6
2026-03-18 00:51:51 -04:00
7a19b78d31
feat(engine): implement FillExtents horizontal column repetition
aj and Claude Sonnet 4.6
2026-03-18 00:50:16 -04:00
31b293324d
feat(engine): implement FillExtents iterative height adjustment
aj and Claude Sonnet 4.6
2026-03-18 00:48:41 -04:00
7bc9f134f6
feat(engine): add FillExtents scaffold with pair construction and column tiling
aj and Claude Sonnet 4.6
2026-03-18 00:45:55 -04:00
6e30e24957
feat(engine): add NestPhase.Extents enum value
aj
2026-03-18 00:42:48 -04:00
42f2475f3c
fix: correct Size width/length axis mapping throughout codebase
aj and Claude Opus 4.6
2026-03-17 16:20:24 -04:00
a487d33f52
merge: integrate remote master
aj and Claude Opus 4.6
2026-03-17 12:15:09 -04:00
bfd740c81e
feat(core): add FlangeShape with JSON preset loading
aj and Claude Opus 4.6
2026-03-17 11:36:26 -04:00
03efeff85a
Update README.md
aj
2026-03-17 10:33:45 -04:00
d4222db0e8
fix: correct Size width/length ordering and add CLI docs to README
aj and Claude Opus 4.6
2026-03-17 10:29:13 -04:00
21a16e5b7c
feat(ui): move add/remove plate buttons to header bar
aj and Claude Opus 4.6
2026-03-17 09:46:08 -04:00
4616f077d5
feat(ui): move plate navigation from toolbar to header above PlateView
aj and Claude Opus 4.6
2026-03-17 09:35:18 -04:00
d210d29554
docs: add keyboard shortcuts to README
aj and Claude Opus 4.6
2026-03-17 09:17:10 -04:00
dde07fc256
merge: resolve polylabel conflicts, keep remote version with hole support
aj and Claude Opus 4.6
2026-03-17 09:02:30 -04:00
788996abcf
docs: add screenshots to README
aj and Claude Opus 4.6
2026-03-17 08:58:50 -04:00
224fbde19a
feat: add polylabel algorithm for part label positioning and README
aj and Claude Opus 4.6
2026-03-17 08:52:48 -04:00
a0865405e2
refactor(mcp): use shape library in InputTools
aj and Claude Opus 4.6
2026-03-17 08:10:13 -04:00
6e5471271d
feat(core): add RoundedRectangleShape
aj and Claude Opus 4.6
2026-03-17 08:07:22 -04:00
0651f185e3
feat(core): add OctagonShape
aj and Claude Opus 4.6
2026-03-17 08:06:21 -04:00
33377291a6
feat(core): add TShape
aj and Claude Opus 4.6
2026-03-17 08:06:08 -04:00
dfd5a15274
feat(core): add TrapezoidShape
aj and Claude Opus 4.6
2026-03-17 08:04:15 -04:00
09a7608bcb
feat(core): add IsoscelesTriangleShape
aj and Claude Opus 4.6
2026-03-17 08:03:14 -04:00
92d2d6d2bc
feat(core): add RightTriangleShape
aj and Claude Opus 4.6
2026-03-17 08:02:18 -04:00
641734ba70
feat(core): add RingShape
aj and Claude Opus 4.6
2026-03-17 08:00:11 -04:00