Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,10 @@ exhaustion. Its primary metric is geometric utilization. "Estimated unused
area" is not disposable waste because kerf, lead-ins, pierces, and toolpaths are
outside this benchmark's scope.

The first [2D reference-machine result](results/2d/v1.1.0/README.md) publishes
complete production layouts, raw timings, independent area accounting, and
machine provenance for every case.

The current immutable dataset release is
[v1.1.0](https://github.com/technodweep/cutnesting-benchmarks/releases/tag/v1.1.0).
This release adds the initial public 2D suite without changing the immutable 1D
Expand Down
9 changes: 6 additions & 3 deletions SHA256SUMS
Original file line number Diff line number Diff line change
Expand Up @@ -12,12 +12,12 @@
379c6258142310a26b56e19a12090219a7842230c93043add22165d92543ed8a datasets/1d/v1/cases/1d-oversized-cut.json
3872aa21644f029e59717c5d383b8f56cae2ddc46f714569658504c3f9b0e7ba CONTRIBUTING.md
389631286dcf8f56adac4738d308f494a2d5a07739ece075b328f523b2f0dfde templates/2d-sheet-and-plate.xlsx
3c1ac369feffeb30b7661cb30c25415430e348c589c1e5ee8e618a18a0129b88 scripts/validate-repository.mjs
3f9b228cb1790199f4f5d57c0c5273d0bc31afc56085cf84a45f18d62291c55a templates/definitions.json
3fa1679686c4089d3f40cf5c775c44fd13a86c73ae0b8248dc6d09abc4d19b73 datasets/2d/v1/cases/2d-exact-square-grid.json
4075b6de75729e73d7c885871b65ed82977f2cb410da0fda05a8a8ff3acfb12c datasets/1d/v1/cases/1d-high-piece-count.json
416bdf8ab60a5c061d0f03bb3b6b7ca72d3de33a13b0be2ce248d6905590af56 samples/dxf/self-intersection.dxf
469b6ae250e6ed87b69eb74c4a4465a5a115d4f9177f43ff05ea3f8c49305cba docs/dstv-nc1-supported-subset.md
4a0daebaafb7e39cd2c2a6ec58dc2dff7674c098828d6703c3d3a71b22557b9c README.md
4e6d54ec0510235190e6d0c99adc0723b178bd96eba8cc56432588a7ded33054 datasets/2d/v1/manifest.json
530c7acb6679f73e273f6837c91113de1a4ac4f891340137186237e921238411 templates/1d-pipe.csv
54d511cc31cd3abf7bfcdff8b5375fbf6380d641e0613d6da74315ac35131fb0 templates/1d-aluminium.csv
Expand All @@ -33,10 +33,10 @@
730ec1858fcd0d8639002409c367b3d49b3627a6a81f7a1b3eb810fc3efbcb75 datasets/2d/v1/cases/2d-steel-plate-grid.json
754fe4464a7ea94ab81eebe10a69f07ccb27abace529301fab6673b2e98a648c samples/nc1/unsupported-profile.nc1
782d465d88d25f1dffd6f9fafa1620b6607aa1f6bf96c73c379f15b17992be0b results/1d/v1.0.1/README.md
7dc97fd0976ecc0a6bcc852fe44c5a13f8bae4b879866a440b14ac180fc25132 results/README.md
8b616e1bb088f6fb56910aa453e74aaae1c5411928f8622b25374c3eec0d1e80 LICENSE
8c899cfafd3434d17c6b3530160924e6b3aae38c8247e02c17d151af0e8bfb4d scripts/generate-templates.mjs
8e4cbbe934b9f3f1ff4478ec7387ba22b042966c3df45b08d2e43cda7f2c771e samples/dxf/unsupported-entity.dxf
8f49453b8ef308d6c2fdc1b6fb5cf2b6c17215eb93e1a20bc5e8ebac3326b35a results/README.md
95f51b0bbfbcde9d53690fdf5055714a0b7ada002c76b799f907ef0e70c6b361 datasets/1d/v1/cases/1d-pipe-batch.json
988e03e819c1fd5064f1a48e1cf72b9e11a5b1b067630234f4647363b69901f3 docs/repository-contract.md
9cc055698c8c63b83eda5b2bdf21e57b49a80989365730438f9bc1fdeb349c9e samples/dxf/unitless-open-contour.dxf
Expand All @@ -48,8 +48,10 @@ a4980b24140bd58dda422718e4b189f208715976b670c33f257c224b20c9942f samples/nc1/pl
a574cffc3eb42f427a035157e78948adc13d4694907ceaaf0a6765dd6d0df4b7 datasets/2d/v1/cases/2d-wood-panel-grid.json
aac5abb1eacaee94944a150db7d0facf886c71a26def8a36e4be7db3137f3bfc .gitignore
af57dba5ee88fb4ce9aee2b1d5b6dfbfb784981a43c25c41f8e6ce9cc09cfc5a results/1d/v1.0.1/reference-windows-x64-i5-9400f.json
b806fe512326d7e0f2a09d8bd556fb505b0008b1df907ff2f3f56a13c69999a3 scripts/validate-repository.mjs
c4aa3a77b37562ab4206221aab32cf68a89c3de33f411533c08547097d61a7a2 templates/1d-steel.csv
c680e32b10dee44df1f84b3f57e8c7c75591e01ee2686ffc53ec9ce7e05e25dc datasets/1d/v1/cases/1d-cost-tradeoff.json
ca01339838d276d94c12c7b50007d562b0840435c0be13f3936fb943d1dfc3ea results/2d/v1.1.0/reference-windows-x64-i5-9400f.summary.csv
cb1136ac89f569865b72f8af974ec059abe7914013f0c32f1396d8b99e874a28 schemas/1d-case.schema.json
cb6c36568a75c8d10b06ec7d8731789e56023b11cc8d498cfca57703c13a9ad1 datasets/1d/v1/cases/1d-wood-furniture.json
cd13e90119f89a461de8d5a7d14bbe96cf8708110172ad2d019da5f376a262b8 CITATION.cff
Expand All @@ -59,9 +61,10 @@ da6e8342856133226cad0ca6c6bca1e607497c30a1d016105b7d54f4ce254a70 datasets/2d/v1
e603eb378f7453f5e14ce87bc5ea0285b93f0fbce3a6edb225190df987ebdace samples/manifest.json
e6dc9fea66d59eb62cdc747718fc784bb962952ff7501280b15ba6472042fc36 templates/2d-sheet-and-plate.csv
eeb3bc4f2215d6ed7e29a743946c4075fd77f23316cd3cdffe607cc38c99474d schemas/2d-manifest.schema.json
eff9c1bba52b9d7b7bfb09a7bf202bd0716ffda73fd2dcdf8def2af541af5907 results/2d/v1.1.0/README.md
f1ce8f5048968c79ad8e7406696389708e3fb51ee08626b23a80916b9e5d1984 LICENSE-DATA.md
f27e13aa8a94fc76ce4766ed9f3910ad00e28cfd48d6ff42177e11dc799cc65a scripts/verify-checksums.mjs
f2d26570c37279a45974a3726a5c06b6bb2f8109b035fbf087fb90602289e22e results/2d/v1.1.0/reference-windows-x64-i5-9400f.json
f839d9a035286c9dddde94329a0bbffd0d0880eaf985687b1588cf1020c17866 samples/dxf/unitless-rectangle.dxf
f8ee19613ce597319f2cb9b1a89c9dbe1257b01a9742145633bba14170078c0a methodology/2d-v1.md
fa23d582976607d64ce1497aeebdaa43eb43adc68a9f46e9866d316c17b4bfd3 README.md
ff9ea556c36d48d767b4d6f87f9aa61e58248e8683fa90d3ee4a8c7ff0d0604a .github/workflows/validate.yml
47 changes: 47 additions & 0 deletions results/2d/v1.1.0/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
# CutNesting 2D reference result - dataset v1.1.0

This is the first public reference-machine run of the CutNesting production 2D
nesting engine. It measures a named engine commit against an immutable public
dataset; it is not a comparison with another tool.

## Reproducibility record

- Generated: 2026-07-22T08:19:02.698Z
- Dataset: `v1.1.0` at commit `403f9c4eaea7757d2ba6106e917d4d7657675c72`
- Suite and methodology: `1.0.0`
- Engine: `nesting-2d-wasm` `0.1.0`, commit `b974023d6c66aa19959dd8d9f2dc1e88fb56cefb`
- Production entry point: `optimize_nest`
- Execution target: native Rust, not browser WebAssembly
- Timing: 3 warmups and 30 measured synchronous solver calls per case
- Reference machine: Intel Core i5-9400F, 6 logical cores, Windows x64
- Toolchain: Rust/Cargo 1.96.1 and Node.js 26.4.0
- Source and dataset worktrees: clean

The complete JSON retains every raw timing sample, production layout,
validation outcome, input hash and machine field. The CSV is a compact,
analysis-friendly view of the same per-case metrics.

## Results

| Case | Placed | Unplaced | Geometric utilization | Estimated unused area | p50 solve time |
| ----------------------------- | -----: | -------: | --------------------: | --------------------: | -------------: |
| Exact square grid | 4 | 0 | 100.000% | 0.000% | 0.565 ms |
| Steel plate panel grid | 12 | 0 | 93.440% | 6.560% | 7.944 ms |
| Wood sheet panel grid | 12 | 0 | 96.748% | 3.252% | 7.652 ms |
| Irregular remnant with a void | 4 | 0 | 25.397% | 74.603% | 7.863 ms |
| Finite sheet stock exhausted | 1 | 2 | 36.000% | 64.000% | 0.516 ms |

The irregular-remnant case is a geometry and feasibility fixture, not a low-
waste claim. The finite-stock case intentionally leaves two parts unplaced and
tests explicit stock-exhaustion reporting.

Geometric unused area is sheet polygon area minus placed part polygon area.
It is not disposable manufacturing waste: this benchmark does not model kerf,
lead-ins, pierces, common-line cutting, or generated toolpaths. Part gaps and
edge margins constrain placement but remain included in unused area.

## Files

- [`reference-windows-x64-i5-9400f.json`](reference-windows-x64-i5-9400f.json) - complete result and provenance
- [`reference-windows-x64-i5-9400f.summary.csv`](reference-windows-x64-i5-9400f.summary.csv) - compact result table
- [`../../../methodology/2d-v1.md`](../../../methodology/2d-v1.md) - area, timing and validation rules
Loading
Loading