Commit Graph

  • 231f97fafc feat(ui): add active preview brush/pen to ColorScheme AJ Isaacs 2026-03-18 22:13:10 -04:00
  • 76e30d91c0 feat(engine): flag overall-best progress reports in DefaultNestEngine AJ Isaacs 2026-03-18 22:12:20 -04:00
  • e789fe312d feat(engine): add IsOverallBest flag to NestProgress AJ Isaacs 2026-03-18 22:11:29 -04:00
  • f73bb2bc2f refactor(fill): simplify FindPatternCopyDistance — extract pair loop, remove redundant span calculation AJ Isaacs 2026-03-18 21:04:35 -04:00
  • 0da970ec9a fix: revert FillExtents/FillLinear FillHelpers.Tile calls (not yet available) AJ Isaacs 2026-03-18 20:29:38 -04:00
  • 62f00055b7 Reapply "refactor(compactor): deduplicate Push — PushDirection delegates to Vector overload" AJ Isaacs 2026-03-18 20:26:14 -04:00
  • e695e29355 Revert "refactor(compactor): deduplicate Push — PushDirection delegates to Vector overload" AJ Isaacs 2026-03-18 20:24:33 -04:00
  • 9012a9fc1c refactor(compactor): deduplicate Push — PushDirection delegates to Vector overload AJ Isaacs 2026-03-18 20:23:50 -04:00
  • b009f195be refactor(compactor): remove dead code — Compact, CompactIndividual, and helpers AJ Isaacs 2026-03-18 20:19:55 -04:00
  • dddc890a96 Revert "refactor(engine): simplify FillExtents logic using Compactor.Push" AJ Isaacs 2026-03-18 20:17:57 -04:00
  • 794ef16629 test: add Compactor safety-net tests before refactor AJ Isaacs 2026-03-18 20:17:06 -04:00
  • d1d47b5223 refactor(engine): simplify FillExtents logic using Compactor.Push AJ Isaacs 2026-03-18 20:13:55 -04:00
  • 24ed878d8e docs: add Compactor refactor implementation plan AJ Isaacs 2026-03-18 20:12:23 -04:00
  • c2b8400986 refactor(engine): extract AngleCandidateBuilder.Build into focused helpers AJ Isaacs 2026-03-18 20:02:30 -04:00
  • 0a33047ad6 fix(engine): prevent FillExtents overlap and add strategy filter API AJ Isaacs 2026-03-18 19:53:08 -04:00
  • c98e024f9c feat(ui): disable remove plate button when only one plate exists AJ Isaacs 2026-03-18 18:07:20 -04:00
  • d6d7ba8480 fix(ui): increase font sizes in progress form for readability AJ Isaacs 2026-03-18 17:58:35 -04:00
  • b6cde145e1 fix(ui): handle edge cases in DensityBar and PhaseStepperControl AJ Isaacs 2026-03-18 17:39:13 -04:00
  • 9a4f20ca00 feat(ui): support Accept button in nesting callers AJ Isaacs 2026-03-18 17:35:33 -04:00
  • b5af5a118d feat(ui): rewrite NestProgressForm with grouped panels, stepper, density bar, and Accept button AJ Isaacs 2026-03-18 17:34:50 -04:00
  • 60a557bd37 feat(ui): add DensityBar sparkline control for density visualization AJ Isaacs 2026-03-18 17:31:59 -04:00
  • 97ab33c899 feat(ui): add PhaseStepperControl for nesting progress phases AJ Isaacs 2026-03-18 17:31:54 -04:00
  • a1810db96d docs: add NestProgressForm redesign v2 implementation plan AJ Isaacs 2026-03-18 17:22:49 -04:00
  • 39d656ad21 docs: add NestProgressForm redesign v2 spec AJ Isaacs 2026-03-18 17:16:42 -04:00
  • 1d9bcc63d2 chore: sort using directives AJ Isaacs 2026-03-18 16:47:42 -04:00
  • 6102dd5b85 refactor(engine): migrate Fill(List<Part>) to strategy pipeline AJ Isaacs 2026-03-18 16:46:24 -04:00
  • 495ee6f0c3 refactor(engine): move NFP code to OpenNest.Engine.Nfp namespace AJ Isaacs 2026-03-18 16:46:17 -04:00
  • 0e1e619f0a refactor(engine): move fill and strategy code to dedicated namespaces AJ Isaacs 2026-03-18 16:46:11 -04:00
  • 0cba528591 docs: update README with accurate features and add roadmap AJ Isaacs 2026-03-18 16:45:50 -04:00
  • 442501828a test(io): add DXF roundtrip tests AJ Isaacs 2026-03-18 14:53:58 -04:00
  • 202f49f368 test(engine): add FillStrategyRegistry and pipeline tests AJ Isaacs 2026-03-18 13:08:13 -04:00
  • 7bbfe06494 refactor(engine): replace FindBestFill with strategy pipeline AJ Isaacs 2026-03-18 13:05:24 -04:00
  • 267254dcae feat(engine): add LinearFillStrategy adapter AJ Isaacs 2026-03-18 13:02:16 -04:00
  • 5668748f37 feat(engine): add ExtentsFillStrategy adapter AJ Isaacs 2026-03-18 13:02:10 -04:00
  • b7de61e4d1 feat(engine): add RectBestFitStrategy adapter AJ Isaacs 2026-03-18 13:02:05 -04:00
  • c4d5cfd17b feat(engine): add PairsFillStrategy adapter AJ Isaacs 2026-03-18 13:02:00 -04:00
  • 1f965897f2 refactor(engine): extract FillHelpers from DefaultNestEngine AJ Isaacs 2026-03-18 12:59:15 -04:00
  • 46fe48870c feat(engine): add FillStrategyRegistry with reflection-based discovery AJ Isaacs 2026-03-18 12:57:31 -04:00
  • c287e3ec32 feat(engine): add IFillStrategy interface and FillContext AJ Isaacs 2026-03-18 12:57:27 -04:00
  • 4348e5c427 feat(engine): add NestPhase.Custom for plugin fill strategies AJ Isaacs 2026-03-18 12:57:23 -04:00
  • e6a7d9b047 docs: add pluggable fill strategies implementation plan AJ Isaacs 2026-03-18 12:54:14 -04:00
  • ddf1686ea5 docs: address spec review feedback for pluggable fill strategies AJ Isaacs 2026-03-18 12:46:30 -04:00
  • 501fbda762 docs: add pluggable fill strategies design spec AJ Isaacs 2026-03-18 12:39:30 -04:00
  • a83efd0b01 feat(ui): show both horizontal and vertical fill previews side by side AJ Isaacs 2026-03-18 11:12:24 -04:00
  • a1139efecb feat(ui): wire Pattern Tile menu item and apply logic in MainForm AJ Isaacs 2026-03-18 09:58:24 -04:00
  • d8373ab135 refactor(ui): extract compaction helper, fix auto-arrange UX in PatternTileForm AJ Isaacs 2026-03-18 09:56:21 -04:00
  • f0b9b51229 feat(ui): add PatternTileForm dialog with unit cell editor and tile preview AJ Isaacs 2026-03-18 09:52:36 -04:00
  • 76a338f3d0 refactor(engine): remove dead import and add spacing comment in PatternTiler AJ Isaacs 2026-03-18 09:48:14 -04:00
  • 0ac7b9babd fix(test): rename misleading test method name AJ Isaacs 2026-03-18 09:46:26 -04:00
  • f336af5d65 feat(engine): add PatternTiler for unit cell tiling across plates AJ Isaacs 2026-03-18 09:43:45 -04:00
  • 3d6be3900e feat(engine): generalize Compactor.Push to support arbitrary angles and BB-only mode AJ Isaacs 2026-03-18 09:41:09 -04:00
  • 285e7082fb docs: add pattern tile layout implementation plan AJ Isaacs 2026-03-18 09:31:27 -04:00
  • 207cef5423 docs: update pattern tile layout spec after review AJ Isaacs 2026-03-18 09:20:47 -04:00
  • c3b3f24704 docs: add pattern tile layout window design spec AJ Isaacs 2026-03-18 09:15:44 -04:00
  • 6229e5e49d fix(engine): fix FillExtents competition and vertical gap bugs AJ Isaacs 2026-03-18 07:59:28 -04:00
  • 07465d6f0c Merge branch 'master' of https://git.thecozycat.net/aj/OpenNest AJ Isaacs 2026-03-18 07:26:09 -04:00
  • d2eeb23107 refactor(io): migrate nest file extension from .zip to .opnest AJ Isaacs 2026-03-18 07:26:04 -04:00
  • ccd230568e feat(engine): integrate FillExtents phase into DefaultNestEngine AJ Isaacs 2026-03-18 00:51:51 -04:00
  • 7a19b78d31 feat(engine): implement FillExtents horizontal column repetition AJ Isaacs 2026-03-18 00:50:16 -04:00
  • 31b293324d feat(engine): implement FillExtents iterative height adjustment AJ Isaacs 2026-03-18 00:48:41 -04:00
  • 7bc9f134f6 feat(engine): add FillExtents scaffold with pair construction and column tiling AJ Isaacs 2026-03-18 00:45:55 -04:00
  • 6e30e24957 feat(engine): add NestPhase.Extents enum value AJ Isaacs 2026-03-18 00:42:48 -04:00
  • 42f2475f3c fix: correct Size width/length axis mapping throughout codebase AJ Isaacs 2026-03-17 16:20:24 -04:00
  • a487d33f52 merge: integrate remote master AJ Isaacs 2026-03-17 12:15:09 -04:00
  • bfd740c81e feat(core): add FlangeShape with JSON preset loading AJ Isaacs 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 Isaacs 2026-03-17 10:29:13 -04:00
  • 21a16e5b7c feat(ui): move add/remove plate buttons to header bar AJ Isaacs 2026-03-17 09:46:08 -04:00
  • 4616f077d5 feat(ui): move plate navigation from toolbar to header above PlateView AJ Isaacs 2026-03-17 09:35:18 -04:00
  • d210d29554 docs: add keyboard shortcuts to README AJ Isaacs 2026-03-17 09:17:10 -04:00
  • dde07fc256 merge: resolve polylabel conflicts, keep remote version with hole support AJ Isaacs 2026-03-17 09:02:30 -04:00
  • 788996abcf docs: add screenshots to README AJ Isaacs 2026-03-17 08:58:50 -04:00
  • 224fbde19a feat: add polylabel algorithm for part label positioning and README AJ Isaacs 2026-03-17 08:52:48 -04:00
  • a0865405e2 refactor(mcp): use shape library in InputTools AJ Isaacs 2026-03-17 08:10:13 -04:00
  • 6e5471271d feat(core): add RoundedRectangleShape AJ Isaacs 2026-03-17 08:07:22 -04:00
  • 0651f185e3 feat(core): add OctagonShape AJ Isaacs 2026-03-17 08:06:21 -04:00
  • 33377291a6 feat(core): add TShape AJ Isaacs 2026-03-17 08:06:08 -04:00
  • dfd5a15274 feat(core): add TrapezoidShape AJ Isaacs 2026-03-17 08:04:15 -04:00
  • 09a7608bcb feat(core): add IsoscelesTriangleShape AJ Isaacs 2026-03-17 08:03:14 -04:00
  • 92d2d6d2bc feat(core): add RightTriangleShape AJ Isaacs 2026-03-17 08:02:18 -04:00
  • 641734ba70 feat(core): add RingShape AJ Isaacs 2026-03-17 08:00:11 -04:00
  • 5d0de4a1b1 feat(core): add CircleShape AJ Isaacs 2026-03-17 07:59:26 -04:00
  • f92d09a863 feat(core): add RectangleShape AJ Isaacs 2026-03-17 07:58:37 -04:00
  • 5670ae79bf feat(core): add ShapeDefinition base class AJ Isaacs 2026-03-17 07:57:54 -04:00
  • aedbbbe0a6 docs: add shape library implementation plan AJ Isaacs 2026-03-17 07:55:54 -04:00
  • 5d9d48ebfc docs: address spec review feedback for shape library AJ Isaacs 2026-03-17 07:49:34 -04:00
  • eb6cb94893 docs: add shape library design spec AJ Isaacs 2026-03-17 07:46:44 -04:00
  • 9d40d78562 feat(ui): add remnant viewer tool window AJ Isaacs 2026-03-16 22:49:51 -04:00
  • 896cb536dd feat(console): add --engine CLI flag to select nest engine AJ Isaacs 2026-03-16 22:49:43 -04:00
  • 493f7f837a fix(engine): sort hull edge angles by longest edge first AJ Isaacs 2026-03-16 22:49:35 -04:00
  • c94beb51a4 feat(engine): try interlocking pair patterns in remainder strips AJ Isaacs 2026-03-16 22:49:27 -04:00
  • c2c723f86f refactor(engine): clean up unused imports after extraction AJ Isaacs 2026-03-16 22:41:30 -04:00
  • 29d58cc8af test(engine): add integration smoke tests for engine refactor AJ Isaacs 2026-03-16 22:39:51 -04:00
  • 5bb637f3e2 refactor(engine): use RemnantFiller in NestEngineBase.Nest AJ Isaacs 2026-03-16 22:38:53 -04:00
  • 75cb6b2bac refactor(engine): rewire StripNestEngine to use extracted helpers AJ Isaacs 2026-03-16 22:37:59 -04:00
  • c077649734 refactor(engine): rewire DefaultNestEngine to use extracted helpers AJ Isaacs 2026-03-16 22:35:25 -04:00
  • 319eace472 refactor(engine): extract RemnantFiller for iterative remnant filling AJ Isaacs 2026-03-16 22:33:00 -04:00
  • c8587929b5 refactor(engine): extract PairFiller from DefaultNestEngine AJ Isaacs 2026-03-16 22:31:51 -04:00
  • 14048b0b7c refactor(engine): make BuildRotatedPattern and FillPattern internal static AJ Isaacs 2026-03-16 22:30:37 -04:00
  • a7f27480e9 refactor(engine): extract AngleCandidateBuilder from DefaultNestEngine AJ Isaacs 2026-03-16 22:29:52 -04:00