Skip to main content
Glama

CutOptim Engine

Server Details

Cutting optimization: 2D panels, 1D bars, timber and true-shape nesting via the CutOptim API.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
Repository
cutoptim/engine-mcp
GitHub Stars
0

TDQS

A4.1/5.0

Scored across 10 tools

Disambiguation5/5

Each tool targets a distinct mode/verb: 1D vs cross-section-aware wood vs rectangular 2D vs true-shape nesting are explicitly contrasted in the descriptions, and validate_* mirrors optimize_* one-to-one. get_job (async polling) and get_usage (quota) are unrelated and clearly separated.

Naming Consistency5/5

Uniform verb_noun pattern with a predictable suffix family: optimize_{1d,2d,nest,wood}, validate_{1d,2d,nest,wood}, plus get_job/get_usage. The parameterized-mode naming makes the pairing between solve and validate tools immediately legible.

Tool Count5/5

Ten tools is well-scoped: four solver modes, their four free validators, plus job polling and usage. The symmetric optimize/validate pairing means no tool feels bolted on, and nothing obvious is missing from the count.

Completeness4/5

Full solve+validate coverage across all four modes, async job retrieval, and quota introspection make a near-complete lifecycle. Minor gaps: no tool for the multi-part import/split path (POST /v1/import/nest) mentioned for CAD sources, no job listing/cancel, and no health check.

Available Tools

10 tools
get_jobGet an async jobA
Read-onlyIdempotent
Inspect

Free (needs the key that submitted the job). Reads an engine "max" job; when it succeeded, the plan is in result. Poll an async max-engine job. Fetch the status (and, when finished, the plan) of a job submitted with engine: "max". A job is queued, then running, then succeeded (with result = the same response shape a synchronous solve of that mode returns, carrying engine: "max" — a 2D plan for mode: "2d", a nest for mode: "nest") or failed (with error). Polling spends no quota, but the key must still be usable: a revoked key or a lapsed API subscription is refused with 403 here exactly as it is on every other authenticated path. A caller sees only its own jobs — a job id belonging to another account is reported as 401 "job not found", indistinguishable from one that does not exist, so ids cannot be probed.

NameRequiredDescriptionDefault
jobIdYesThe jobId from the 202 submission.

Output Schema

NameRequiredDescription
modeYes
errorNo
jobIdYes
engineYes
resultNo
statusYes
createdAtNo
finishedAtNo

TDQS

A4.3/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes far beyond the readOnly/idempotent annotations: it discloses the queued→running→succeeded/failed state machine, that `result` mirrors the synchronous response for that `mode` (2D plan vs nest), that polling costs no quota but a revoked key or lapsed subscription yields 403, and that another account's job id returns 401 "job not found" so ids cannot be probed. That is exactly the operational context an agent needs before polling.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two opening sentences say essentially the same thing — "Reads an engine max job... the plan is in result" followed by "Poll an async max-engine job. Fetch the status..." — which is wasted duplicate framing. The remaining content is dense and useful, but the entry is not front-loaded cleanly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers submission origin, state transitions, return shape, quota cost, auth failure modes, and cross-account isolation. Even though an output schema exists, the description's explanation of what `result` contains is a genuine bonus rather than a redundancy.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the single parameter already documents itself ("The jobId from the 202 submission"). The description repeats rather than enriches that, though the note about cross-account job ids returning 401 adds meaningful context about the id's scope.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Names a specific verb (reads/fetches) and a precise resource (a job submitted with engine "max"), plus what comes back on success (the plan in `result`). It is clearly distinct from the optimize_*/validate_* siblings that submit jobs rather than poll them.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explains the polling workflow ("Poll an async max-engine job") and the state sequence to wait through, which tells an agent when to call it repeatedly. It never explicitly says "do not use this for synchronous results" or names a sibling alternative, so the exclusion side is left implicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_usageGet API usageA
Read-onlyIdempotent
Inspect

Free (needs an API key). Shows the plan, the calls used and left this month, and when the period ends. The account's current-month usage and quota. Read-only. Does not consume quota and does not send rate-limit headers. The period is the UTC calendar month.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
envNo
planYes
usedYes
limitYes
keyClassNo
keyPrefixYes
periodEndYes
remainingYes
contractVersionYes

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly/idempotent/non-destructive, yet the description adds real substance beyond them: API-key authentication requirement, no quota consumption, no rate-limit headers emitted, and the period being the UTC calendar month. These are exactly the operational details an agent needs and cannot infer from annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the most decision-relevant facts (free, needs API key, what it returns) and short overall. Slight redundancy: 'The account's current-month usage and quota' largely restates the preceding sentence and could be merged.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter read tool with full annotation coverage and an output schema, the description covers everything an agent needs: cost, auth, side effects, and the period definition. Return values are handled by the output schema, so nothing material is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool takes zero parameters, so there is no parameter semantics to document; the baseline for a parameterless tool applies. The description correctly avoids inventing inputs.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Shows the plan, the calls used and left this month, and when the period ends') with concrete returned fields. It is unmistakably distinct from all siblings, which are optimization/validation tools, so an agent can route correctly without opening the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides clear call context: it is free but requires an API key, and it does not consume quota, which tells the agent it is safe to call at any time. It stops short of naming explicit when/when-not conditions or sequencing relative to the optimize_* tools, so it is not a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

optimize_1dOptimize 1D barsBInspect

Metered: one Engine API call. Cut lengths from bars, tubes, profiles or rolls and get the cutting pattern per bar. 1D / linear optimization (bars, profiles, tube). Cut parts of a given length from stock bars. Returns the rods used, the position of every part along each rod, the leftover length and the yield metrics.

NameRequiredDescriptionDefault
partsYes
stockYes
engineNo`max` is not offered here: it is a 2D (and, separately, nesting) tier, and `engine: "max"` on this path is a **400** before a call is charged. In 1D `balanced` resolves to the same packer as `heuristic` — the linear packer is already a best-of-multiple-strategies search, so there is no separate balanced mode. The value is accepted and echoed back so a single client can send one engine id for both endpoints.heuristic
includeNoThree kinds of token. NARROWING (`cutPlan`, `offcuts`): omit the field entirely to get both; a present array keeps only the narrowing tokens it lists (an empty array drops both). ADDITIVE EXPORT (`svg`, `csv`, `dxf`): each adds an inline export STRING to the response (`svg` a standalone 2D layout — 2D only, a warning is returned for 1D/wood; `dxf` an R12/AC1009 drawing; `csv` a cut list, RFC 4180 quoted (a part name with a comma or a quote stays one field) and formula-injection-guarded (a name beginning with `=`, `+`, `-`, `@`, TAB or CR is prefixed with an apostrophe so a spreadsheet reads it as text, not a formula — CWE-1236). 2D DATA (`labels`, `planHash`, `pdf`, `labelsPdf`): `labels` adds per-piece label data (`labels[]`, see `Label2D`), `planHash` a 64-hex fingerprint of the plan (the same plan always gives the same hash), `pdf` the cutting-plan PDF and `labelsPdf` the label PDF, both base64-encoded and drawn by the same code as the CutOptim app. These four are 2D only: a 1D or wood request returns a `warnings` entry instead. `pdf` renders at most 500 parts (total quantity); a larger 2D request with `pdf` is a 413 `too_large` with `details.path: "include"`. Export and data tokens do not affect narrowing, so `["svg"]` adds svg and — listing no narrowing token — drops cutPlan/offcuts; use `["cutPlan","offcuts","svg"]` to keep everything.
optionsNoThe 1D option set is deliberately smaller: there is no `firstCut`, `maxCutStages` or `minimizeRotations`, because none of them means anything on a bar.

Output Schema

NameRequiredDescription
csvNo
dxfNo
rodsYes
engineYes
timingYes
cutPlanNo
metricsYes
unplacedYes
warningsYes
materialsNo
deterministicYes
engineVersionYes
contractVersionYes
unmatchedMaterialsNo

TDQS

B3.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only declare readOnly/destructive/idempotent/openWorld flags; the description adds the billing trait ('Metered: one Engine API call'), which an agent cannot infer from the schema, and summarizes the returned plan content. It does not cover failure behaviour (e.g. the 400 on engine 'max' or the 2000-qty cap) or any cost/rate nuance beyond 'one call'.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the metering note, which is good, but three of the four sentences restate the same idea: cut lengths from bars/tubes/profiles, 1D linear optimization, cut parts from stock bars. The redundant middle sentences crowd out the parameter and routing information that is actually missing.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so the return-value sentence is somewhat redundant (positions, leftovers, yield are presumably in the schema), yet the description omits things this complex a tool needs: units are not converted server-side, the engine enum's 1D caveat, and the include-token behaviour. For a metered, 5-parameter, deeply nested tool it is adequate but thin.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description names no parameter at all — not parts, stock, engine, include or options — even though schema description coverage is only 60% and the schema is heavily nested. An agent must read the schema to learn about material partitioning, unit-agnosticism, kerf/trim, mitrePairing and the narrowing-vs-additive include tokens; the prose contributes nothing here.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: cut parts of given lengths from stock bars, tubes, profiles or rolls, returning the cutting pattern per bar. The '1D / linear optimization' framing clearly separates it from panel/nesting work, though it never names optimize_2d, optimize_nest or optimize_wood explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The opening 'Metered: one Engine API call' is genuinely useful usage context (calls cost money, so be deliberate), and 'Cut parts of a given length from stock bars' implies the domain. But there is no explicit when-to-use/when-not, no mention of validate_1d as the free pre-check, and no routing guidance among the eight sibling optimize/validate tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

optimize_2dOptimize 2D panelsAInspect

Metered: one Engine API call. Cut rectangular parts from sheets (panels, plywood, glass, sheet metal) and get the layout, cut plan and yield. 2D panel optimization. Nest rectangular parts into rectangular sheets. Returns the placement of every part, the remaining offcuts, the guillotine cut plan and the yield metrics. Parts named in matchedSets (grain matching) are cut side by side from one piece of board, one kerf apart; each placed member says which set and position it is.

NameRequiredDescriptionDefault
partsYes
stockYes
engineNoWhich optimizer to run. `heuristic` is the guillotine multi-strategy packer: highest yield, every layout edge-to-edge saw-cuttable, always a full `cutPlan`. `balanced` is a MaxRects free-nesting packer: much faster on large jobs for a small yield cost, but its layouts are often not guillotine (`guillotineValid: false`, `cutPlan: null`), and it does not model `tolerance`, `minimizeCost`, `grainGroup`, `maxCutStages` or `minimizeRotations` — set one of those and a string in `warnings` tells you it was ignored. `max` is the ASYNCHRONOUS tree-search tier (2D only): it reaches the proven optimum on far more jobs at the cost of seconds-to-a-minute per solve, so instead of a plan it returns **202** with a `jobId` — poll `GET /v1/jobs/{id}` for the result. Still deterministic and guillotine-valid. Where the tier is not enabled on a deployment, `engine: "max"` fails closed with **503**. **What `max` models.** It packs ONE stock format at full sheet size with unlimited supply and a fixed 3-stage guillotine pattern. Anything that would make the returned plan physically WRONG is therefore REFUSED with **400** at submission — before a call is reserved and before you wait for the solve: a second `stock` row, `options.trim`, `options.respectStock`, any `material`, any `grainGroup`, a non-empty `matchedSets` (an empty one is fine). Options that only make the plan less tuned are accepted and listed in `warnings`: `tolerance`, `minimizeCost`, `maxCutStages` (fixed at 3), `minimizeRotations`, `firstCut`, `effort`. A `max` result reports no `offcuts`. Send those jobs to `heuristic`. The default never changes silently.heuristic
includeNoThree kinds of token. NARROWING (`cutPlan`, `offcuts`): omit the field entirely to get both; a present array keeps only the narrowing tokens it lists (an empty array drops both). ADDITIVE EXPORT (`svg`, `csv`, `dxf`): each adds an inline export STRING to the response (`svg` a standalone 2D layout — 2D only, a warning is returned for 1D/wood; `dxf` an R12/AC1009 drawing; `csv` a cut list, RFC 4180 quoted (a part name with a comma or a quote stays one field) and formula-injection-guarded (a name beginning with `=`, `+`, `-`, `@`, TAB or CR is prefixed with an apostrophe so a spreadsheet reads it as text, not a formula — CWE-1236). 2D DATA (`labels`, `planHash`, `pdf`, `labelsPdf`): `labels` adds per-piece label data (`labels[]`, see `Label2D`), `planHash` a 64-hex fingerprint of the plan (the same plan always gives the same hash), `pdf` the cutting-plan PDF and `labelsPdf` the label PDF, both base64-encoded and drawn by the same code as the CutOptim app. These four are 2D only: a 1D or wood request returns a `warnings` entry instead. `pdf` renders at most 500 parts (total quantity); a larger 2D request with `pdf` is a 413 `too_large` with `details.path: "include"`. Export and data tokens do not affect narrowing, so `["svg"]` adds svg and — listing no narrowing token — drops cutPlan/offcuts; use `["cutPlan","offcuts","svg"]` to keep everything.
optionsNo
matchedSetsNoMatched sets (grain matching): groups of parts cut side by side from one piece of board. Send a NON-EMPTY ARRAY of sets (at most 50); members are named by `parts[].id`. Only a non-empty array switches the feature on: absent, `null`, `[]` — and any value that is not an array — is a request without sets, answered exactly as before (no error). With sets the response adds `sheets[].parts[].matchedSet` on every member and a `matchedSets` rollup; `csv` gains `Set` and `Position` columns at the end, `svg` the `matched-sets` frame group, `dxf` the position code on LABELS; `pdf` and `labelsPdf` draw the members as ordinary parts for now (a `warnings` line says so; the set marks are in `sheets[].parts[].matchedSet`, `csv` and `svg`). Engine `max` refuses a non-empty array (400 `details.unsupported`); an empty one is fine. 2D only: the 1D, wood and nest endpoints ignore this field and `parts[].id`.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover the safety profile (readOnlyHint false, destructiveHint false, idempotentHint false), so the description's main added value is the metering/quota signal. It also describes what a successful response contains and how matchedSets members are placed. It omits significant behavior the schemas carry, notably that engine 'max' returns a 202 jobId instead of a plan — a materially different call outcome.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads the cost signal and the core action, then the return contents, then the one non-obvious feature (matchedSets). Six sentences with little repetition, though the '2D panel optimization' restatement is redundant with the opening sentence.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with an output schema and a heavily annotated input schema, the description covers action, cost, outputs and the grain-matching feature adequately. The main gap is that the async 'max' engine path and the validation sibling are not surfaced at the description level, so an agent reading only this text could be surprised by a 202.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 50%, but the schema's own per-field descriptions are extremely rich, so most parameter meaning is already structured data. The description adds only set-level semantics for matchedSets (one kerf apart, position reported per member) and does not compensate for the undocumented half of the parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Cut rectangular parts from sheets ... get the layout, cut plan and yield') and pins the problem shape ('Nest rectangular parts into rectangular sheets'), which implicitly separates it from optimize_1d and optimize_nest. It never names a sibling explicitly, so an agent must infer the boundary from 'rectangular' and '2D'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

'Metered: one Engine API call' warns about cost, and the rectangular-parts framing implies the correct domain. But there is no explicit statement of when to prefer this over optimize_nest/optimize_wood or when to run validate_2d first, leaving routing to the agent's inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

optimize_nestNest true shapesAInspect

Metered: one Engine API call (needs an API key; not available with the demo key). Nest free-form polygon parts on sheets. True-shape (irregular / polygon) nesting. Pack ARBITRARY POLYGONS onto fixed sheets, letting parts interlock into each other's concave pockets — an L-bracket, a gasket, a laser-cut profile. This is a different class from the rectangular modes: a part is an outline (polygon, optional interior holes), not a width×height, so a bounding-box packer's notch-air is reclaimed. On a representative 272-part job it uses 6 sheets where the same parts by bounding box need 9 (−33 % material).

Two things the rectangular API cannot express come for free here: per-sheet EXCLUSION ZONES (stock[].exclusions — a defect, a clamp footprint, a pre-printed area; a quality-0 zone is a no-go region for any part), and true-shape holes. Material partition (material) and the opaque meta passthrough work exactly as on the other modes.

⚠️ density is the placed POLYGON area over used sheet area — the honest fill, with concave pockets counted as empty. It is NOT comparable to a rectangular packer's yieldPct (which counts each bounding box as solid and so reads higher for a worse result); the cross-comparable metric is sheetCount on the same parts.

A placed part carries the rigid transform (rotation in degrees, then x/y translation), NOT a re-emitted polygon: your input outline plus that transform reconstructs the placement exactly. Deterministic (a pinned seed); set options.seed to reproduce a layout.

Engines: lbf (default) is synchronous and instant. Besides its own pass it tries the parts restricted to the right angles they allow, and their bounding boxes packed by an exact rectangle packer — which finds grids a sampling search misses (three 500-wide parts on a 1500-wide sheet at zero spacing) — and keeps whichever ranks best; on a tie, the plan that fills its sheets front to back, then the one with fewer parts off the right angles. max is ASYNCHRONOUS: the call answers 202 with a jobId, and you poll GET /v1/jobs/{id} for the result — the same response shape, with engine: "max". It runs the lbf pass first and then a time-budgeted search (options.timeBudgetMs, default 60 s, 10–180 s) that fills sheets one at a time looking for a layout with FEWER sheets; it never returns more sheets than lbf would — nor a plan that ranks worse by the sheet-size ranking below — and says in warnings when it kept the lbf layout. Several sheet sizes per material and respectStock are modelled; a polygon sheet or exclusions (which its strip search cannot model) are served by the lbf pass inside the job, with a warning — never refused. sparrow is a deprecated alias of max.

Sheet sizes and cost. With two or more stock rows for a material, both engines compare arrangements (your order, each row alone, cheapest-first) and then re-nest each sheet — the least-filled first — onto the cheaper or smaller rows, so a plan may MIX sizes (e.g. two large sheets and a small last one). Ranking: most must-cut (priority) parts placed → most parts placed → (with minimizeCost) lowest total price → least total sheet area → fewest sheets. sheets[].stock and stockUsage[] say which row each sheet came from. Used area. sheets[].usedWidth / usedHeight are the farthest extent of any placed part from the sheet origin (the corner the parts are packed into), usedArea their product, and stockUsage[].usedArea the sum per row — the numbers an ERP needs to charge a partial sheet (full sheet, a horizontal or vertical cut, or the bounding box; the charging rule stays yours). Both engines compact the least-filled sheet of each material: its parts are re-nested on the same sheet with rotation SUBSETS of what each part allows ({0,180}, {0,90,180,270}, a single orientation — never a new angle) and the variant with the smallest used area is kept; with max that sheet is then also re-packed by the search itself, along the sheet's height and (on a one-sheet plan) along its width, and the tighter layout is kept under the same rule. Sheet count, sizes, price and placed parts never change. options.compact: false returns the uncompacted layout, and options.compactFor (box · horizontal · vertical) picks the measure to minimise when you charge a full-width or full-height strip. metrics.cutLength / sheets[].cutLength is the summed perimeter of the placed parts' outlines and holes; pierces counts one per closed contour (no common-line cutting, lead-ins or micro-joints — your CAM adds those).

Parts from CAD files. A part may carry source — an SVG or DXF document — instead of polygon coordinates; the server reads the outline (and its holes) out of the file with the same parser the CutOptim app uses. The file replaces ONLY the geometry, and the response then carries an imported block saying what the files contributed. One file describes ONE part; POST /v1/import/nest splits a multi-part drawing first. Nothing is stored: the bytes are parsed in memory and gone with the response. Because a drawing is far larger than a JSON parts list, this path accepts a 10 MB body (the rectangular endpoints keep 1 MB), with per-file and per-request character caps on source.content.

NameRequiredDescriptionDefault
partsYesOne or more parts to nest, one NestPart per row.
stockYesOne or more sheet types, one NestStock per row.
engineNo`lbf` (default) is single-pass, synchronous and instant. `max` is ASYNCHRONOUS: 202 + poll `GET /v1/jobs/{id}`; it runs `lbf` first, then a time-budgeted search that fills sheets one at a time looking for FEWER sheets, and never returns more than `lbf`, nor a plan that ranks worse (price with `minimizeCost`, otherwise sheet area). It accepts several sheet sizes per material and `respectStock`; a `polygon` sheet or exclusion zones are served by `lbf` inside the job, with a warning. `sparrow` is a deprecated alias of `max`.lbf
includeNoAdditive inline export of the achieved layout. `svg` returns a self-contained, styled `<svg>` string (one titled band per sheet, parts drawn as filled polygons with holes, exclusion zones hatched); `dxf` returns an R12 document (closed `POLYLINE`/`VERTEX` outlines on STOCK/PARTS/HOLES/ZONES layers, part names on LABELS). Both are unit-agnostic, exactly like the request coordinates. The geometry in `sheets[]` is returned either way.
optionsNoSolve options. All optional.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the annotations, it discloses metering and API-key requirements, synchronous versus asynchronous job behavior with 202/polling, deterministic seeding, source-file non-persistence, body-size limits, warning behavior, and incomparability of `density` with rectangular `yieldPct`. These are exactly the behavioral traits an agent needs before invoking a complex remote optimization tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The critical purpose, metering warning, and engine distinction are front-loaded, and the long text is organized around clear themes. However, it is extremely verbose for a tool description and includes output-metric and implementation detail that could be trimmed without hurting invocation correctness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity, full input schema, output schema, and annotations, the description is complete enough to call correctly. It covers authentication, async job flow, file import, stock modeling, compaction, warnings, and return-metric caveats.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema already documents every parameter in detail. The description still adds cross-parameter meaning — engine behavior, polling, source-file handling, exclusion zones, ranking rules, compaction semantics, and the distinction between `density` and `sheetCount` — though some of this repeats schema wording rather than adding new parameter guidance.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description immediately states a specific verb and resource: nesting free-form polygon parts on sheets, with true-shape/irregular nesting. It explicitly contrasts this with rectangular modes, so an agent can distinguish it from rectangular nesting siblings without reading the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explains when to use this tool versus rectangular modes, when to use `polygon` versus `source`, and when to choose `lbf` versus asynchronous `max`. It also names exclusions and constraints such as API-key requirements, demo-key limitations, and cases where `max` falls back to `lbf` with warnings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

optimize_woodOptimize timberAInspect

Metered: one Engine API call. Cut timber parts grouped by cross-section from matching stock lengths. Timber optimization (cross-section-aware 1D). Cut lengths from bars that have a CROSS-SECTION. Unlike /v1/optimize/1d, where every bar can serve every part, a 50×150 part can only come out of 50×150 stock — so the job is split by cross-section, each section is matched to its own stock and solved separately, and the response carries both per-section and job-wide totals.

Fanning the same job out into several /v1/optimize/1d calls is not equivalent: it costs one call per section against your quota, moves the stock matching to your code, and cannot distinguish "no material of this section" from "did not fit" — which this endpoint reports separately as unmatched and unplaced.

sw and sh may be given in either order: 50×100 and 100×50 are the same bar turned over and are matched as one section. The response reports the normalised short/long form.

NameRequiredDescriptionDefault
partsYes
stockYesAt most 50 rows. Since every cross-section needs at least one stock row, this is also the practical ceiling on cross-sections in a single job; a wider catalogue should be split into several requests.
engineNoAs in 1D, `max` is not offered here (a **400** before a call is charged). `balanced` resolves to the same packer as `heuristic`: within a section a timber job is a length problem, and free nesting has nothing to offer it. The value is accepted, echoed back, and a warning states which packer actually ran.heuristic
includeNoThree kinds of token. NARROWING (`cutPlan`, `offcuts`): omit the field entirely to get both; a present array keeps only the narrowing tokens it lists (an empty array drops both). ADDITIVE EXPORT (`svg`, `csv`, `dxf`): each adds an inline export STRING to the response (`svg` a standalone 2D layout — 2D only, a warning is returned for 1D/wood; `dxf` an R12/AC1009 drawing; `csv` a cut list, RFC 4180 quoted (a part name with a comma or a quote stays one field) and formula-injection-guarded (a name beginning with `=`, `+`, `-`, `@`, TAB or CR is prefixed with an apostrophe so a spreadsheet reads it as text, not a formula — CWE-1236). 2D DATA (`labels`, `planHash`, `pdf`, `labelsPdf`): `labels` adds per-piece label data (`labels[]`, see `Label2D`), `planHash` a 64-hex fingerprint of the plan (the same plan always gives the same hash), `pdf` the cutting-plan PDF and `labelsPdf` the label PDF, both base64-encoded and drawn by the same code as the CutOptim app. These four are 2D only: a 1D or wood request returns a `warnings` entry instead. `pdf` renders at most 500 parts (total quantity); a larger 2D request with `pdf` is a 413 `too_large` with `details.path: "include"`. Export and data tokens do not affect narrowing, so `["svg"]` adds svg and — listing no narrowing token — drops cutPlan/offcuts; use `["cutPlan","offcuts","svg"]` to keep everything.
optionsNoIdentical to `Options1D` — a cross-section changes what fits, not how a bar is cut.

Output Schema

NameRequiredDescription
csvNo
dxfNo
engineYes
timingYes
cutPlanNo
metricsYes
sectionsYes
unplacedYes
warningsYes
unmatchedYes
deterministicYes
engineVersionYes
contractVersionYes

TDQS

A4.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds significant operational behavioral context beyond the general safety hints in the annotations, detailing performance characteristics (one API call), failure modes (unmatched vs. unplaced), and specific matching logic (50x150 part only from 50x150 stock). It informs the agent about why certain inputs are grouped or split.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely detailed and verbose, which hurts conciseness. However, its structure is highly logical, front-loading the core optimization logic and then dedicating sections to comparing it against alternative methods. The length is justified by the complexity of the tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the high complexity of the input (multiple nested objects, multiple cross-section definitions), the definition is exceptionally complete. It covers cost implication, logical constraints, and the mechanics of the output plan, providing all necessary context for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

While the schema is detailed, the description adds vital semantic understanding, such as the fact that `sw` and `sh` order is irrelevant, that `material` creates independent sections, and the complexity of the `include` and `options` tokens. This knowledge elevates the understanding of parameter interactions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the purpose is timber optimization grouped by cross-section. It specifically distinguishes itself from sibling tools like `/v1/optimize/1d` by explaining that it is 'cross-section-aware,' which is a critical functional difference.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It provides extremely explicit usage guidance by comparing this tool against the primary alternative (`/v1/optimize/1d`). It explicitly warns agents against 'fanning the job out,' detailing the negative consequences of that approach (increased cost, lost stock matching context, inability to distinguish between 'unmatched' and 'unplaced' parts).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

validate_1dValidate a 1D requestA
Read-onlyIdempotent
Inspect

Free, no key needed: checks a 1D request without solving it. Same arguments as optimize_1d (field descriptions there). Validate a 1D request — free, no key, no quota, no solve. Schema-validate the SAME body /v1/optimize/1d takes, WITHOUT solving or spending a call. See /v1/validate/2d.

NameRequiredDescriptionDefault
partsYes
stockYes
engineNoheuristic
includeNo
optionsNo

Output Schema

NameRequiredDescription
modeYes
partsYes
stockYes
validYes
warningsYes
engineEnabledNo
contractVersionYes

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes beyond the annotations by disclosing cost and auth traits the annotations don't cover: free, no API key required, no quota consumed, and no solve performed. That is exactly the operational context an agent needs before choosing this over optimize_1d. It does not describe what a failed validation looks like or rate limits, keeping it short of a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The core fact — free, no key, no solve — is restated three separate times ('Free, no key needed', 'free, no key, no quota, no solve', 'WITHOUT solving or spending a call'), so the text is roughly double the needed length. It is front-loaded, but several clauses do not earn their place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need no explanation, and the tool's core contract (same body as optimize_1d, no solve) is conveyed. However, for a nested five-parameter payload with zero schema coverage, the agent still lacks any in-definition sense of what makes a body valid or what the error shape is, leaving it dependent on cross-referencing optimize_1d.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% on a five-parameter schema with nested objects and an enum, and the description compensates only by delegating: 'Same arguments as optimize_1d (field descriptions there).' That pointer is better than nothing but forces a second tool lookup and leaves required vs optional, nesting, and the engine/include enums unexplained in either place.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('checks/validates a 1D request') and immediately distinguishes it from the sibling it could be confused with: same body as optimize_1d but 'WITHOUT solving or spending a call'. An agent can tell it apart from optimize_1d without opening either schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly positions itself as the pre-flight alternative to optimize_1d by noting it takes 'the SAME body /v1/optimize/1d takes, WITHOUT solving or spending a call', which tells the agent when to prefer it. It names the alternative but does not spell out when-not-to-use (e.g. after a successful solve, or for 2D payloads beyond a bare URL reference).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

validate_2dValidate a 2D requestA
Read-onlyIdempotent
Inspect

Free, no key needed: checks a 2D request without solving it. Same arguments as optimize_2d (field descriptions there). Validate a 2D request — free, no key, no quota, no solve. Schema-validate the SAME body /v1/optimize/2d takes, WITHOUT solving or spending a call. 200 {valid:true, warnings} (warnings flag parts that fit no stock — an approximate, solve-free probe), or 400 with the exact bad field path. Open like /v1/health: validate payloads during integration before you even have a key. The engine verdict matches the optimize path exactly, engine: "max" included: a body this endpoint accepts is one /v1/optimize/2d will accept, and one it refuses (400 for an option the max tier cannot model, 503 where that tier is not enabled) is refused there too.

NameRequiredDescriptionDefault
partsYes
stockYes
engineNoheuristic
includeNo
optionsNo
matchedSetsNo

Output Schema

NameRequiredDescription
modeYes
partsYes
stockYes
validYes
warningsYes
engineEnabledNo
contractVersionYes

TDQS

A3.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations cover the safety profile (readOnly, idempotent, non-destructive, openWorld), and the description adds substantial detail beyond them: the 200 shape `{valid:true, warnings}`, the 400 with exact bad field path, that warnings are a solve-free approximation, and that the engine verdict — including `engine: "max"` and 503s — matches the optimize path exactly. That equivalence guarantee is the kind of context nothing else in the structured data conveys.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The information is front-loaded correctly, but the 'free / no key / no quota / no solve' message is restated at least three times across the text, and the simulated-response sentence largely duplicates what the output schema already defines. Roughly a third of the description could be cut without losing meaning.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Behaviorally this is close to complete: response codes, warning semantics, and parity with the optimize path are all explained, and an output schema exists so return values needn't be detailed. The gap is parameter documentation — for a six-parameter tool with a deeply nested body at 0% schema coverage, deferring entirely to another tool leaves the agent reliant on a sibling.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% across a deep nested schema (parts, stock, options, matchedSets), so the description carries the burden — but it only says "same arguments as optimize_2d (field descriptions there)", deferring rather than explaining. The only parameter-level insight offered is that `engine` values, including "max", are validated identically, which covers a fraction of the surface.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource — schema-validates the same body `/v1/optimize/2d` accepts, without solving it — and explicitly distinguishes itself from the sibling optimize_2d by saying it does not spend a call. An agent can tell exactly what this does versus the optimize tools without opening a schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives a concrete when-to-use: validate payloads during integration, before you even have a key. It also implicitly separates itself from optimize_2d (this one does not solve), and points to optimize_2d for field descriptions. Missing is an explicit statement of when NOT to use it (e.g., when you actually need a cut plan).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

validate_nestValidate a nesting requestA
Read-onlyIdempotent
Inspect

Free, no key needed: checks a nesting request without solving it. Same arguments as optimize_nest (field descriptions there). Validate a nest request — free, no key, no quota, no solve. Schema-validate the SAME body /v1/optimize/nest takes, WITHOUT solving or spending a call. Reports engineEnabled (whether the nesting engine is built into this deployment) and warns about parts whose bounding box fits no stock sheet. For engine: "max" the verdict matches the optimize path exactly: 400 for anything outside the preview scope, 503 where the async tier is not enabled, and otherwise a warning that the job will be asynchronous. See /v1/validate/2d.

NameRequiredDescriptionDefault
partsYes
stockYes
engineNolbf
includeNo
optionsNo

Output Schema

NameRequiredDescription
modeYes
partsYes
stockYes
validYes
warningsYes
engineEnabledNo
contractVersionYes

TDQS

A4.2/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well beyond the readOnly/idempotent annotations: free, no key, no quota, and no call consumed. It also discloses concrete behavioral outcomes — reports engineEnabled, warns on parts whose bounding box fits no stock sheet, and for engine "max" returns 400/503 or an async warning matching the optimize path exactly.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the key framing and the sibling pointer, but the "free / no key / no quota / no solve" idea is restated three times in the opening lines. The engine-max error-code detail earns its place; the repetition does not.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a deeply nested 5-parameter request with an output schema, the description supplies the validation semantics, the response highlights (engineEnabled, fit warnings), and engine-specific failure modes. The remaining gap is that field-level meaning is outsourced to optimize_nest rather than restated.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the schema itself documents nothing, and the description defers parameter meaning to optimize_nest ("field descriptions there"). That cross-reference is genuinely useful and the only param-specific note (engine "max") is accurate, but an agent still has to fetch another tool's schema to learn what parts/stock/options require.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource — schema-validates a nesting request without solving it — and immediately anchors it to the sibling it shadows ("Same arguments as optimize_nest"). An agent can distinguish it from optimize_nest and validate_2d/validate_1d without opening any schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Makes the selection condition clear: use this to check a request without spending a solve call or quota, and it explicitly points to optimize_nest as the solving counterpart. It does not spell out a "when not to use" case or contrast against the other validate_* siblings, so it stops just short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

validate_woodValidate a timber requestA
Read-onlyIdempotent
Inspect

Free, no key needed: checks a timber request without solving it. Same arguments as optimize_wood (field descriptions there). Validate a wood request — free, no key, no quota, no solve. Schema-validate the SAME body /v1/optimize/wood takes, WITHOUT solving or spending a call. Warnings flag parts with no matching-section stock long enough. See /v1/validate/2d.

NameRequiredDescriptionDefault
partsYes
stockYes
engineNoheuristic
includeNo
optionsNo

Output Schema

NameRequiredDescription
modeYes
partsYes
stockYes
validYes
warningsYes
engineEnabledNo
contractVersionYes

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds meaningful context beyond annotations: it is free, requires no key/quota, does not solve, and emits warnings for parts with no matching stock section.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The purpose is front-loaded and the structure is understandable, but the description repeats 'free, no key, no quota, no solve' multiple times. That redundancy wastes space without adding clarity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has a nested schema, 0% parameter description coverage, and an output schema. The description covers the key behavioral distinction from optimize_wood, but it does not adequately explain the input body beyond pointing to the sibling tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description does not explain the five parameters (parts, stock, engine, include, options) or their semantics. Referencing optimize_wood for field descriptions is an external cross-reference, but it does not compensate for the missing parameter guidance here.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: validate a timber/wood request without solving it. It explicitly distinguishes this from optimize_wood by saying it does NOT solve or spend a call, so an agent can tell the two apart before opening either schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It clearly positions the tool as a free pre-check before calling optimize_wood, with the condition that it avoids solving or spending a call. It does not explicitly state when not to use it or how to choose among validate_1d/2d/nest, but the sibling comparison is adequate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 3 tool updates
    • Changedget_job1 field changed
      • changedOutput schema / properties / result / oneOf
        Previous value: -[
        -  {
        -    "properties": {
        -      "contractVersion": {
        -        "type": "string"
        -      },
        -      "csv": {
        -        "type": "string"
        -      },
        -      "cutPlan": {
        -        "items": {
        -          "properties": {
        -            "angle": {
        -              "type": "number"
        -            },
        -            "axis": {
        -              "enum": [
        -                "h",
        -                "v"
        -              ],
        -              "type": "string"
        -            },
        -            "bevel": {
        -              "type": "number"
        -            },
        -            "length": {
        -              "minimum": 0,
        -              "type": "number"
        -            },
        -            "pos": {
        -              "type": "number"
        -            },
        -            "sheet": {
        -              "minimum": 0,
        -              "type": "integer"
        -            },
        -            "stage": {
        -              "minimum": 1,
        -              "type": "integer"
        -            },
        -            "step": {
        -              "minimum": 1,
        -              "type": "integer"
        -            }
        -          },
        -          "required": [
        -            "sheet",
        -            "step",
        -            "axis",
        -            "pos",
        -            "length",
        -            "stage"
        -          ],
        -          "type": "object"
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "deterministic": {
        -        "const": true,
        -        "type": "boolean"
        -      },
        -      "dxf": {
        -        "type": "string"
        -      },
        -      "edgeBanding": {
        -        "properties": {
        -          "byPart": {
        -            "items": {
        -              "properties": {
        -                "byType": {
        -                  "items": {
        -                    "properties": {
        -                      "meters": {
        -                        "type": "number"
        -                      },
        -                      "reference": {
        -                        "type": "string"
        -                      }
        -                    },
        -                    "required": [
        -                      "reference",
        -                      "meters"
        -                    ],
        -                    "type": "object"
        -                  },
        -                  "type": "array"
        -                },
        -                "meters": {
        -                  "type": "number"
        -                },
        -                "name": {
        -                  "type": "string"
        -                }
        -              },
        -              "required": [
        -                "name",
        -                "meters",
        -                "byType"
        -              ],
        -              "type": "object"
        -            },
        -            "type": "array"
        -          },
        -          "byType": {
        -            "items": {
        -              "properties": {
        -                "meters": {
        -                  "type": "number"
        -                },
        -                "reference": {
        -                  "type": "string"
        -                }
        -              },
        -              "required": [
        -                "reference",
        -                "meters"
        -              ],
        -              "type": "object"
        -            },
        -            "type": "array"
        -          },
        -          "totalMeters": {
        -            "type": "number"
        -          }
        -        },
        -        "required": [
        -          "totalMeters",
        -          "byType",
        -          "byPart"
        -        ],
        -        "type": "object"
        -      },
        -      "engine": {
        -        "enum": [
        -          "heuristic",
        -          "balanced",
        -          "max"
        -        ],
        -        "type": "string"
        -      },
        -      "engineVersion": {
        -        "type": "string"
        -      },
        -      "guillotineValid": {
        -        "type": "boolean"
        -      },
        -      "labels": {
        -        "items": {
        -          "properties": {
        -            "edges": {
        -              "properties": {
        -                "bottom": {
        -                  "properties": {
        -                    "length": {
        -                      "type": "number"
        -                    },
        -                    "reference": {
        -                      "type": "string"
        -                    }
        -                  },
        -                  "required": [
        -                    "reference",
        -                    "length"
        -                  ],
        -                  "type": "object"
        -                },
        -                "left": {
        -                  "properties": {
        -                    "length": {
        -                      "type": "number"
        -                    },
        -                    "reference": {
        -                      "type": "string"
        -                    }
        -                  },
        -                  "required": [
        -                    "reference",
        -                    "length"
        -                  ],
        -                  "type": "object"
        -                },
        -                "right": {
        -                  "properties": {
        -                    "length": {
        -                      "type": "number"
        -                    },
        -                    "reference": {
        -                      "type": "string"
        -                    }
        -                  },
        -                  "required": [
        -                    "reference",
        -                    "length"
        -                  ],
        -                  "type": "object"
        -                },
        -                "top": {
        -                  "properties": {
        -                    "length": {
        -                      "type": "number"
        -                    },
        -                    "reference": {
        -                      "type": "string"
        -                    }
        -                  },
        -                  "required": [
        -                    "reference",
        -                    "length"
        -                  ],
        -                  "type": "object"
        -                }
        -              },
        -              "type": "object"
        -            },
        -            "grain": {
        -              "enum": [
        -                "w",
        -                "h"
        -              ],
        -              "type": "string"
        -            },
        -            "h": {
        -              "type": "number"
        -            },
        -            "material": {
        -              "type": "string"
        -            },
        -            "meta": {
        -              "type": "object"
        -            },
        -            "name": {
        -              "type": "string"
        -            },
        -            "of": {
        -              "minimum": 1,
        -              "type": "integer"
        -            },
        -            "partNo": {
        -              "type": "integer"
        -            },
        -            "piece": {
        -              "minimum": 1,
        -              "type": "integer"
        -            },
        -            "rotated": {
        -              "type": "boolean"
        -            },
        -            "sheet": {
        -              "type": "integer"
        -            },
        -            "sheetMeta": {
        -              "type": "object"
        -            },
        -            "sheetNo": {
        -              "minimum": 1,
        -              "type": "integer"
        -            },
        -            "stockRow": {
        -              "minimum": 0,
        -              "type": "integer"
        -            },
        -            "w": {
        -              "type": "number"
        -            },
        -            "x": {
        -              "type": "number"
        -            },
        -            "y": {
        -              "type": "number"
        -            }
        -          },
        -          "required": [
        -            "sheet",
        -            "name",
        -            "partNo",
        -            "w",
        -            "h",
        -            "rotated",
        -            "x",
        -            "y"
        -          ],
        -          "type": "object"
        -        },
        -        "type": "array"
        -      },
        -      "labelsPdf": {
        -        "format": "byte",
        -        "type": "string"
        -      },
        -      "matchedSets": {
        -        "items": {
        -          "properties": {
        -            "asBlock": {
        -              "type": "integer"
        -            },
        -            "block": {
        -              "properties": {
        -                "h": {
        -                  "type": "number"
        -                },
        -                "w": {
        -                  "type": "number"
        -                }
        -              },
        -              "required": [
        -                "w",
        -                "h"
        -              ],
        -              "type": "object"
        -            },
        -            "id": {
        -              "type": "string"
        -            },
        -            "letter": {
        -              "type": "string"
        -            },
        -            "name": {
        -              "type": "string"
        -            },
        -            "requested": {
        -              "type": "integer"
        -            },
        -            "split": {
        -              "type": "integer"
        -            },
        -            "unplaced": {
        -              "type": "integer"
        -            },
        -            "warnings": {
        -              "items": {
        -                "type": "string"
        -              },
        -              "type": "array"
        -            }
        -          },
        -          "required": [
        -            "id",
        -            "letter",
        -            "requested",
        -            "asBlock",
        -            "split",
        -            "unplaced",
        -            "block",
        -            "warnings"
        -          ],
        -          "type": "object"
        -        },
        -        "type": "array"
        -      },
        -      "materials": {
        -        "items": {
        -          "properties": {
        -            "material": {
        -              "type": "string"
        -            },
        -            "placed": {
        -              "type": "integer"
        -            },
        -            "sheetCount": {
        -              "type": "integer"
        -            },
        -            "total": {
        -              "type": "integer"
        -            },
        -            "totalPrice": {
        -              "type": "number"
        -            },
        -            "yieldPct": {
        -              "type": "number"
        -            }
        -          },
        -          "required": [
        -            "material",
        -            "sheetCount",
        -            "yieldPct",
        -            "placed",
        -            "total",
        -            "totalPrice"
        -          ],
        -          "type": "object"
        -        },
        -        "type": "array"
        -      },
        -      "metrics": {
        -        "properties": {
        -          "cutLength": {
        -            "type": "number"
        -          },
        -          "cutLines": {
        -            "type": "integer"
        -          },
        -          "placed": {
        -            "type": "integer"
        -          },
        -          "sawPasses": {
        -            "type": "integer"
        -          },
        -          "sheetCount": {
        -            "type": "integer"
        -          },
        -          "total": {
        -            "type": "integer"
        -          },
        -          "totalPrice": {
        -            "type": "number"
        -          },
        -          "yieldPct": {
        -            "type": "number"
        -          }
        -        },
        -        "required": [
        -          "sheetCount",
        -          "yieldPct",
        -          "placed",
        -          "total",
        -          "cutLines",
        -          "sawPasses",
        -          "cutLength",
        -          "totalPrice"
        -        ],
        -        "type": "object"
        -      },
        -      "pdf": {
        -        "format": "byte",
        -        "type": "string"
        -      },
        -      "planHash": {
        -        "type": "string"
        -      },
        -      "sheets": {
        -        "items": {
        -          "properties": {
        -            "grain": {
        -              "enum": [
        -                "w",
        -                "h"
        -              ],
        -              "type": "string"
        -            },
        -            "h": {
        -              "type": "number"
        -            },
        -            "material": {
        -              "type": "string"
        -            },
        -            "meta": {
        -              "type": "object"
        -            },
        -            "offcuts": {
        -              "items": {
        -                "properties": {
        -                  "h": {
        -                    "type": "number"
        -                  },
        -                  "w": {
        -                    "type": "number"
        -                  },
        -                  "x": {
        -                    "type": "number"
        -                  },
        -                  "y": {
        -                    "type": "number"
        -                  }
        -                },
        -                "required": [
        -                  "x",
        -                  "y",
        -                  "w",
        -                  "h"
        -                ],
        -                "type": "object"
        -              },
        -              "type": "array"
        -            },
        -            "parts": {
        -              "items": {
        -                "properties": {
        -                  "h": {
        -                    "type": "number"
        -                  },
        -                  "matchedSet": {
        -                    "properties": {
        -                      "hint": {
        -                        "enum": [
        -                          "left",
        -                          "middle",
        -                          "right",
        -                          "top",
        -                          "bottom"
        -                        ],
        -                        "type": "string"
        -                      },
        -                      "id": {
        -                        "type": "string"
        -                      },
        -                      "instance": {
        -                        "minimum": 1,
        -                        "type": "integer"
        -                      },
        -                      "position": {
        -                        "minimum": 1,
        -                        "type": "integer"
        -                      }
        -                    },
        -                    "required": [
        -                      "id",
        -                      "instance",
        -                      "position"
        -                    ],
        -                    "type": "object"
        -                  },
        -                  "meta": {
        -                    "type": "object"
        -                  },
        -                  "name": {
        -                    "type": "string"
        -                  },
        -                  "rotated": {
        -                    "type": "boolean"
        -                  },
        -                  "w": {
        -                    "type": "number"
        -                  },
        -                  "x": {
        -                    "type": "number"
        -                  },
        -                  "y": {
        -                    "type": "number"
        -                  }
        -                },
        -                "required": [
        -                  "name",
        -                  "x",
        -                  "y",
        -                  "w",
        -                  "h",
        -                  "rotated"
        -                ],
        -                "type": "object"
        -              },
        -              "type": "array"
        -            },
        -            "price": {
        -              "type": [
        -                "number",
        -                "null"
        -              ]
        -            },
        -            "w": {
        -              "type": "number"
        -            }
        -          },
        -          "required": [
        -            "w",
        -            "h",
        -            "price",
        -            "parts"
        -          ],
        -          "type": "object"
        -        },
        -        "type": "array"
        -      },
        -      "svg": {
        -        "type": "string"
        -      },
        -      "timing": {
        -        "properties": {
        -          "solveMs": {
        -            "type": "number"
        -          }
        -        },
        -        "required": [
        -          "solveMs"
        -        ],
        -        "type": "object"
        -      },
        -      "unmatchedMaterials": {
        -        "items": {
        -          "properties": {
        -            "material": {
        -              "type": "string"
        -            },
        -            "parts": {
        -              "items": {
        -                "properties": {
        -                  "h": {
        -                    "type": "number"
        -                  },
        -                  "name": {
        -                    "type": "string"
        -                  },
        -                  "qty": {
        -                    "minimum": 1,
        -                    "type": "integer"
        -                  },
        -                  "w": {
        -                    "type": "number"
        -                  }
        -                },
        -                "required": [
        -                  "name",
        -                  "w",
        -                  "h",
        -                  "qty"
        -                ],
        -                "type": "object"
        -              },
        -              "type": "array"
        -            }
        -          },
        -          "required": [
        -            "material",
        -            "parts"
        -          ],
        -          "type": "object"
        -        },
        -        "type": "array"
        -      },
        -      "unplaced": {
        -        "items": {
        -          "properties": {
        -            "h": {
        -              "type": "number"
        -            },
        -            "name": {
        -              "type": "string"
        -            },
        -            "qty": {
        -              "minimum": 1,
        -              "type": "integer"
        -            },
        -            "w": {
        -              "type": "number"
        -            }
        -          },
        -          "required": [
        -            "name",
        -            "w",
        -            "h",
        -            "qty"
        -          ],
        -          "type": "object"
        -        },
        -        "type": "array"
        -      },
        -      "warnings": {
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": "array"
        -      }
        -    },
        -    "required": [
        -      "engine",
        -      "engineVersion",
        -      "contractVersion",
        -      "deterministic",
        -      "sheets",
        -      "metrics",
        -      "unplaced",
        -      "warnings",
        -      "guillotineValid",
        -      "timing"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "properties": {
        -      "contractVersion": {
        -        "type": "string"
        -      },
        -      "deterministic": {
        -        "type": "boolean"
        -      },
        -      "dxf": {
        -        "type": "string"
        -      },
        -      "engine": {
        -        "enum": [
        -          "lbf",
        -          "max"
        -        ],
        -        "type": "string"
        -      },
        -      "engineVersion": {
        -        "type": "string"
        -      },
        -      "imported": {
        -        "properties": {
        -          "parts": {
        -            "type": "integer"
        -          },
        -          "units": {
        -            "items": {
        -              "enum": [
        -                "mm",
        -                "in"
        -              ],
        -              "type": "string"
        -            },
        -            "type": "array"
        -          },
        -          "vertices": {
        -            "type": "integer"
        -          }
        -        },
        -        "required": [
        -          "parts",
        -          "vertices",
        -          "units"
        -        ],
        -        "type": "object"
        -      },
        -      "materials": {
        -        "items": {
        -          "properties": {
        -            "density": {
        -              "type": "number"
        -            },
        -            "material": {
        -              "type": "string"
        -            },
        -            "placed": {
        -              "type": "integer"
        -            },
        -            "sheetCount": {
        -              "type": "integer"
        -            },
        -            "total": {
        -              "type": "integer"
        -            },
        -            "totalPrice": {
        -              "type": "number"
        -            }
        -          },
        -          "required": [
        -            "material",
        -            "sheetCount",
        -            "density",
        -            "placed",
        -            "total",
        -            "totalPrice"
        -          ],
        -          "type": "object"
        -        },
        -        "type": "array"
        -      },
        -      "metrics": {
        -        "properties": {
        -          "cutLength": {
        -            "type": "number"
        -          },
        -          "density": {
        -            "type": "number"
        -          },
        -          "pierces": {
        -            "type": "integer"
        -          },
        -          "placed": {
        -            "type": "integer"
        -          },
        -          "sheetCount": {
        -            "type": "integer"
        -          },
        -          "total": {
        -            "type": "integer"
        -          },
        -          "totalPrice": {
        -            "type": "number"
        -          }
        -        },
        -        "required": [
        -          "sheetCount",
        -          "density",
        -          "placed",
        -          "total",
        -          "totalPrice",
        -          "cutLength",
        -          "pierces"
        -        ],
        -        "type": "object"
        -      },
        -      "sheets": {
        -        "items": {
        -          "properties": {
        -            "cutLength": {
        -              "type": "number"
        -            },
        -            "density": {
        -              "type": "number"
        -            },
        -            "exclusions": {
        -              "items": {
        -                "properties": {
        -                  "polygon": {
        -                    "items": {
        -                      "items": {
        -                        "type": "number"
        -                      },
        -                      "maxItems": 2,
        -                      "minItems": 2,
        -                      "type": "array"
        -                    },
        -                    "minItems": 3,
        -                    "type": "array"
        -                  },
        -                  "quality": {
        -                    "default": 0,
        -                    "minimum": 0,
        -                    "type": "integer"
        -                  }
        -                },
        -                "required": [
        -                  "polygon"
        -                ],
        -                "type": "object"
        -              },
        -              "type": "array"
        -            },
        -            "h": {
        -              "type": "number"
        -            },
        -            "material": {
        -              "type": "string"
        -            },
        -            "meta": {
        -              "type": "object"
        -            },
        -            "parts": {
        -              "items": {
        -                "properties": {
        -                  "material": {
        -                    "type": "string"
        -                  },
        -                  "meta": {
        -                    "type": "object"
        -                  },
        -                  "name": {
        -                    "type": "string"
        -                  },
        -                  "rotation": {
        -                    "type": "number"
        -                  },
        -                  "sheet": {
        -                    "type": "integer"
        -                  },
        -                  "x": {
        -                    "type": "number"
        -                  },
        -                  "y": {
        -                    "type": "number"
        -                  }
        -                },
        -                "required": [
        -                  "name",
        -                  "sheet",
        -                  "x",
        -                  "y",
        -                  "rotation"
        -                ],
        -                "type": "object"
        -              },
        -              "type": "array"
        -            },
        -            "pierces": {
        -              "type": "integer"
        -            },
        -            "polygon": {
        -              "items": {
        -                "items": {
        -                  "type": "number"
        -                },
        -                "maxItems": 2,
        -                "minItems": 2,
        -                "type": "array"
        -              },
        -              "minItems": 3,
        -              "type": "array"
        -            },
        -            "price": {
        -              "type": [
        -                "number",
        -                "null"
        -              ]
        -            },
        -            "stock": {
        -              "minimum": 0,
        -              "type": "integer"
        -            },
        -            "usedArea": {
        -              "type": "number"
        -            },
        -            "usedHeight": {
        -              "type": "number"
        -            },
        -            "usedWidth": {
        -              "type": "number"
        -            },
        -            "w": {
        -              "type": "number"
        -            }
        -          },
        -          "required": [
        -            "stock",
        -            "price",
        -            "density",
        -            "cutLength",
        -            "pierces",
        -            "usedWidth",
        -            "usedHeight",
        -            "usedArea",
        -            "parts"
        -          ],
        -          "type": "object"
        -        },
        -        "type": "array"
        -      },
        -      "stockUsage": {
        -        "items": {
        -          "properties": {
        -            "density": {
        -              "type": "number"
        -            },
        -            "h": {
        -              "type": "number"
        -            },
        -            "material": {
        -              "type": "string"
        -            },
        -            "sheetCount": {
        -              "type": "integer"
        -            },
        -            "stock": {
        -              "minimum": 0,
        -              "type": "integer"
        -            },
        -            "totalPrice": {
        -              "type": "number"
        -            },
        -            "usedArea": {
        -              "type": "number"
        -            },
        -            "w": {
        -              "type": "number"
        -            }
        -          },
        -          "required": [
        -            "stock",
        -            "sheetCount",
        -            "totalPrice",
        -            "density",
        -            "usedArea"
        -          ],
        -          "type": "object"
        -        },
        -        "type": "array"
        -      },
        -      "svg": {
        -        "type": "string"
        -      },
        -      "timing": {
        -        "properties": {
        -          "solveMs": {
        -            "type": "number"
        -          }
        -        },
        -        "required": [
        -          "solveMs"
        -        ],
        -        "type": "object"
        -      },
        -      "unmatchedMaterials": {
        -        "items": {
        -          "properties": {
        -            "material": {
        -              "type": "string"
        -            },
        -            "parts": {
        -              "items": {
        -                "properties": {
        -                  "name": {
        -                    "type": "string"
        -                  },
        -                  "qty": {
        -                    "type": "integer"
        -                  }
        -                },
        -                "required": [
        -                  "name",
        -                  "qty"
        -                ],
        -                "type": "object"
        -              },
        -              "type": "array"
        -            }
        -          },
        -          "required": [
        -            "material",
        -            "parts"
        -          ],
        -          "type": "object"
        -        },
        -        "type": "array"
        -      },
        -      "unplaced": {
        -        "items": {
        -          "properties": {
        -            "name": {
        -              "type": "string"
        -            },
        -            "qty": {
        -              "type": "integer"
        -            }
        -          },
        -          "required": [
        -            "name",
        -            "qty"
        -          ],
        -          "type": "object"
        -        },
        -        "type": "array"
        -      },
        -      "warnings": {
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": "array"
        -      }
        -    },
        -    "required": [
        -      "engine",
        -      "engineVersion",
        -      "contractVersion",
        -      "deterministic",
        -      "sheets",
        -      "metrics",
        -      "stockUsage",
        -      "unplaced",
        -      "warnings",
        -      "timing"
        -    ],
        -    "type": "object"
        -  }
        -]New value: +[
        +  {
        +    "properties": {
        +      "contractVersion": {
        +        "type": "string"
        +      },
        +      "csv": {
        +        "type": "string"
        +      },
        +      "cutPlan": {
        +        "items": {
        +          "properties": {
        +            "angle": {
        +              "type": "number"
        +            },
        +            "axis": {
        +              "enum": [
        +                "h",
        +                "v"
        +              ],
        +              "type": "string"
        +            },
        +            "bevel": {
        +              "type": "number"
        +            },
        +            "length": {
        +              "minimum": 0,
        +              "type": "number"
        +            },
        +            "pos": {
        +              "type": "number"
        +            },
        +            "sheet": {
        +              "minimum": 0,
        +              "type": "integer"
        +            },
        +            "stage": {
        +              "minimum": 1,
        +              "type": "integer"
        +            },
        +            "step": {
        +              "minimum": 1,
        +              "type": "integer"
        +            }
        +          },
        +          "required": [
        +            "sheet",
        +            "step",
        +            "axis",
        +            "pos",
        +            "length",
        +            "stage"
        +          ],
        +          "type": "object"
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "deterministic": {
        +        "const": true,
        +        "type": "boolean"
        +      },
        +      "dxf": {
        +        "type": "string"
        +      },
        +      "edgeBanding": {
        +        "properties": {
        +          "byPart": {
        +            "items": {
        +              "properties": {
        +                "byType": {
        +                  "items": {
        +                    "properties": {
        +                      "meters": {
        +                        "type": "number"
        +                      },
        +                      "reference": {
        +                        "type": "string"
        +                      }
        +                    },
        +                    "required": [
        +                      "reference",
        +                      "meters"
        +                    ],
        +                    "type": "object"
        +                  },
        +                  "type": "array"
        +                },
        +                "meters": {
        +                  "type": "number"
        +                },
        +                "name": {
        +                  "type": "string"
        +                }
        +              },
        +              "required": [
        +                "name",
        +                "meters",
        +                "byType"
        +              ],
        +              "type": "object"
        +            },
        +            "type": "array"
        +          },
        +          "byType": {
        +            "items": {
        +              "properties": {
        +                "meters": {
        +                  "type": "number"
        +                },
        +                "reference": {
        +                  "type": "string"
        +                }
        +              },
        +              "required": [
        +                "reference",
        +                "meters"
        +              ],
        +              "type": "object"
        +            },
        +            "type": "array"
        +          },
        +          "totalMeters": {
        +            "type": "number"
        +          }
        +        },
        +        "required": [
        +          "totalMeters",
        +          "byType",
        +          "byPart"
        +        ],
        +        "type": "object"
        +      },
        +      "engine": {
        +        "enum": [
        +          "heuristic",
        +          "balanced",
        +          "max"
        +        ],
        +        "type": "string"
        +      },
        +      "engineVersion": {
        +        "type": "string"
        +      },
        +      "guillotineValid": {
        +        "type": "boolean"
        +      },
        +      "labels": {
        +        "items": {
        +          "properties": {
        +            "edges": {
        +              "properties": {
        +                "bottom": {
        +                  "properties": {
        +                    "length": {
        +                      "type": "number"
        +                    },
        +                    "reference": {
        +                      "type": "string"
        +                    }
        +                  },
        +                  "required": [
        +                    "reference",
        +                    "length"
        +                  ],
        +                  "type": "object"
        +                },
        +                "left": {
        +                  "properties": {
        +                    "length": {
        +                      "type": "number"
        +                    },
        +                    "reference": {
        +                      "type": "string"
        +                    }
        +                  },
        +                  "required": [
        +                    "reference",
        +                    "length"
        +                  ],
        +                  "type": "object"
        +                },
        +                "right": {
        +                  "properties": {
        +                    "length": {
        +                      "type": "number"
        +                    },
        +                    "reference": {
        +                      "type": "string"
        +                    }
        +                  },
        +                  "required": [
        +                    "reference",
        +                    "length"
        +                  ],
        +                  "type": "object"
        +                },
        +                "top": {
        +                  "properties": {
        +                    "length": {
        +                      "type": "number"
        +                    },
        +                    "reference": {
        +                      "type": "string"
        +                    }
        +                  },
        +                  "required": [
        +                    "reference",
        +                    "length"
        +                  ],
        +                  "type": "object"
        +                }
        +              },
        +              "type": "object"
        +            },
        +            "grain": {
        +              "enum": [
        +                "w",
        +                "h"
        +              ],
        +              "type": "string"
        +            },
        +            "h": {
        +              "type": "number"
        +            },
        +            "material": {
        +              "type": "string"
        +            },
        +            "meta": {
        +              "type": "object"
        +            },
        +            "name": {
        +              "type": "string"
        +            },
        +            "of": {
        +              "minimum": 1,
        +              "type": "integer"
        +            },
        +            "partNo": {
        +              "type": "integer"
        +            },
        +            "piece": {
        +              "minimum": 1,
        +              "type": "integer"
        +            },
        +            "qr": {
        +              "type": "string"
        +            },
        +            "rotated": {
        +              "type": "boolean"
        +            },
        +            "sheet": {
        +              "type": "integer"
        +            },
        +            "sheetMeta": {
        +              "type": "object"
        +            },
        +            "sheetNo": {
        +              "minimum": 1,
        +              "type": "integer"
        +            },
        +            "stockRow": {
        +              "minimum": 0,
        +              "type": "integer"
        +            },
        +            "w": {
        +              "type": "number"
        +            },
        +            "x": {
        +              "type": "number"
        +            },
        +            "y": {
        +              "type": "number"
        +            }
        +          },
        +          "required": [
        +            "sheet",
        +            "name",
        +            "partNo",
        +            "w",
        +            "h",
        +            "rotated",
        +            "x",
        +            "y"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "labelsPdf": {
        +        "format": "byte",
        +        "type": "string"
        +      },
        +      "matchedSets": {
        +        "items": {
        +          "properties": {
        +            "asBlock": {
        +              "type": "integer"
        +            },
        +            "block": {
        +              "properties": {
        +                "h": {
        +                  "type": "number"
        +                },
        +                "w": {
        +                  "type": "number"
        +                }
        +              },
        +              "required": [
        +                "w",
        +                "h"
        +              ],
        +              "type": "object"
        +            },
        +            "id": {
        +              "type": "string"
        +            },
        +            "letter": {
        +              "type": "string"
        +            },
        +            "name": {
        +              "type": "string"
        +            },
        +            "requested": {
        +              "type": "integer"
        +            },
        +            "split": {
        +              "type": "integer"
        +            },
        +            "unplaced": {
        +              "type": "integer"
        +            },
        +            "warnings": {
        +              "items": {
        +                "type": "string"
        +              },
        +              "type": "array"
        +            }
        +          },
        +          "required": [
        +            "id",
        +            "letter",
        +            "requested",
        +            "asBlock",
        +            "split",
        +            "unplaced",
        +            "block",
        +            "warnings"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "materials": {
        +        "items": {
        +          "properties": {
        +            "material": {
        +              "type": "string"
        +            },
        +            "placed": {
        +              "type": "integer"
        +            },
        +            "sheetCount": {
        +              "type": "integer"
        +            },
        +            "total": {
        +              "type": "integer"
        +            },
        +            "totalPrice": {
        +              "type": "number"
        +            },
        +            "yieldPct": {
        +              "type": "number"
        +            }
        +          },
        +          "required": [
        +            "material",
        +            "sheetCount",
        +            "yieldPct",
        +            "placed",
        +            "total",
        +            "totalPrice"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "metrics": {
        +        "properties": {
        +          "cutLength": {
        +            "type": "number"
        +          },
        +          "cutLines": {
        +            "type": "integer"
        +          },
        +          "placed": {
        +            "type": "integer"
        +          },
        +          "sawPasses": {
        +            "type": "integer"
        +          },
        +          "sheetCount": {
        +            "type": "integer"
        +          },
        +          "total": {
        +            "type": "integer"
        +          },
        +          "totalPrice": {
        +            "type": "number"
        +          },
        +          "yieldPct": {
        +            "type": "number"
        +          }
        +        },
        +        "required": [
        +          "sheetCount",
        +          "yieldPct",
        +          "placed",
        +          "total",
        +          "cutLines",
        +          "sawPasses",
        +          "cutLength",
        +          "totalPrice"
        +        ],
        +        "type": "object"
        +      },
        +      "pdf": {
        +        "format": "byte",
        +        "type": "string"
        +      },
        +      "planHash": {
        +        "type": "string"
        +      },
        +      "sheets": {
        +        "items": {
        +          "properties": {
        +            "grain": {
        +              "enum": [
        +                "w",
        +                "h"
        +              ],
        +              "type": "string"
        +            },
        +            "h": {
        +              "type": "number"
        +            },
        +            "material": {
        +              "type": "string"
        +            },
        +            "meta": {
        +              "type": "object"
        +            },
        +            "offcuts": {
        +              "items": {
        +                "properties": {
        +                  "h": {
        +                    "type": "number"
        +                  },
        +                  "w": {
        +                    "type": "number"
        +                  },
        +                  "x": {
        +                    "type": "number"
        +                  },
        +                  "y": {
        +                    "type": "number"
        +                  }
        +                },
        +                "required": [
        +                  "x",
        +                  "y",
        +                  "w",
        +                  "h"
        +                ],
        +                "type": "object"
        +              },
        +              "type": "array"
        +            },
        +            "parts": {
        +              "items": {
        +                "properties": {
        +                  "h": {
        +                    "type": "number"
        +                  },
        +                  "matchedSet": {
        +                    "properties": {
        +                      "hint": {
        +                        "enum": [
        +                          "left",
        +                          "middle",
        +                          "right",
        +                          "top",
        +                          "bottom"
        +                        ],
        +                        "type": "string"
        +                      },
        +                      "id": {
        +                        "type": "string"
        +                      },
        +                      "instance": {
        +                        "minimum": 1,
        +                        "type": "integer"
        +                      },
        +                      "position": {
        +                        "minimum": 1,
        +                        "type": "integer"
        +                      }
        +                    },
        +                    "required": [
        +                      "id",
        +                      "instance",
        +                      "position"
        +                    ],
        +                    "type": "object"
        +                  },
        +                  "meta": {
        +                    "type": "object"
        +                  },
        +                  "name": {
        +                    "type": "string"
        +                  },
        +                  "rotated": {
        +                    "type": "boolean"
        +                  },
        +                  "w": {
        +                    "type": "number"
        +                  },
        +                  "x": {
        +                    "type": "number"
        +                  },
        +                  "y": {
        +                    "type": "number"
        +                  }
        +                },
        +                "required": [
        +                  "name",
        +                  "x",
        +                  "y",
        +                  "w",
        +                  "h",
        +                  "rotated"
        +                ],
        +                "type": "object"
        +              },
        +              "type": "array"
        +            },
        +            "price": {
        +              "type": [
        +                "number",
        +                "null"
        +              ]
        +            },
        +            "w": {
        +              "type": "number"
        +            }
        +          },
        +          "required": [
        +            "w",
        +            "h",
        +            "price",
        +            "parts"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "svg": {
        +        "type": "string"
        +      },
        +      "timing": {
        +        "properties": {
        +          "solveMs": {
        +            "type": "number"
        +          }
        +        },
        +        "required": [
        +          "solveMs"
        +        ],
        +        "type": "object"
        +      },
        +      "unmatchedMaterials": {
        +        "items": {
        +          "properties": {
        +            "material": {
        +              "type": "string"
        +            },
        +            "parts": {
        +              "items": {
        +                "properties": {
        +                  "h": {
        +                    "type": "number"
        +                  },
        +                  "name": {
        +                    "type": "string"
        +                  },
        +                  "qty": {
        +                    "minimum": 1,
        +                    "type": "integer"
        +                  },
        +                  "w": {
        +                    "type": "number"
        +                  }
        +                },
        +                "required": [
        +                  "name",
        +                  "w",
        +                  "h",
        +                  "qty"
        +                ],
        +                "type": "object"
        +              },
        +              "type": "array"
        +            }
        +          },
        +          "required": [
        +            "material",
        +            "parts"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "unplaced": {
        +        "items": {
        +          "properties": {
        +            "h": {
        +              "type": "number"
        +            },
        +            "name": {
        +              "type": "string"
        +            },
        +            "qty": {
        +              "minimum": 1,
        +              "type": "integer"
        +            },
        +            "w": {
        +              "type": "number"
        +            }
        +          },
        +          "required": [
        +            "name",
        +            "w",
        +            "h",
        +            "qty"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "warnings": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      }
        +    },
        +    "required": [
        +      "engine",
        +      "engineVersion",
        +      "contractVersion",
        +      "deterministic",
        +      "sheets",
        +      "metrics",
        +      "unplaced",
        +      "warnings",
        +      "guillotineValid",
        +      "timing"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "properties": {
        +      "contractVersion": {
        +        "type": "string"
        +      },
        +      "deterministic": {
        +        "type": "boolean"
        +      },
        +      "dxf": {
        +        "type": "string"
        +      },
        +      "engine": {
        +        "enum": [
        +          "lbf",
        +          "max"
        +        ],
        +        "type": "string"
        +      },
        +      "engineVersion": {
        +        "type": "string"
        +      },
        +      "imported": {
        +        "properties": {
        +          "parts": {
        +            "type": "integer"
        +          },
        +          "units": {
        +            "items": {
        +              "enum": [
        +                "mm",
        +                "in"
        +              ],
        +              "type": "string"
        +            },
        +            "type": "array"
        +          },
        +          "vertices": {
        +            "type": "integer"
        +          }
        +        },
        +        "required": [
        +          "parts",
        +          "vertices",
        +          "units"
        +        ],
        +        "type": "object"
        +      },
        +      "materials": {
        +        "items": {
        +          "properties": {
        +            "density": {
        +              "type": "number"
        +            },
        +            "material": {
        +              "type": "string"
        +            },
        +            "placed": {
        +              "type": "integer"
        +            },
        +            "sheetCount": {
        +              "type": "integer"
        +            },
        +            "total": {
        +              "type": "integer"
        +            },
        +            "totalPrice": {
        +              "type": "number"
        +            }
        +          },
        +          "required": [
        +            "material",
        +            "sheetCount",
        +            "density",
        +            "placed",
        +            "total",
        +            "totalPrice"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "metrics": {
        +        "properties": {
        +          "cutLength": {
        +            "type": "number"
        +          },
        +          "density": {
        +            "type": "number"
        +          },
        +          "pierces": {
        +            "type": "integer"
        +          },
        +          "placed": {
        +            "type": "integer"
        +          },
        +          "sheetCount": {
        +            "type": "integer"
        +          },
        +          "total": {
        +            "type": "integer"
        +          },
        +          "totalPrice": {
        +            "type": "number"
        +          }
        +        },
        +        "required": [
        +          "sheetCount",
        +          "density",
        +          "placed",
        +          "total",
        +          "totalPrice",
        +          "cutLength",
        +          "pierces"
        +        ],
        +        "type": "object"
        +      },
        +      "sheets": {
        +        "items": {
        +          "properties": {
        +            "cutLength": {
        +              "type": "number"
        +            },
        +            "density": {
        +              "type": "number"
        +            },
        +            "exclusions": {
        +              "items": {
        +                "properties": {
        +                  "polygon": {
        +                    "items": {
        +                      "items": {
        +                        "type": "number"
        +                      },
        +                      "maxItems": 2,
        +                      "minItems": 2,
        +                      "type": "array"
        +                    },
        +                    "minItems": 3,
        +                    "type": "array"
        +                  },
        +                  "quality": {
        +                    "default": 0,
        +                    "minimum": 0,
        +                    "type": "integer"
        +                  }
        +                },
        +                "required": [
        +                  "polygon"
        +                ],
        +                "type": "object"
        +              },
        +              "type": "array"
        +            },
        +            "h": {
        +              "type": "number"
        +            },
        +            "material": {
        +              "type": "string"
        +            },
        +            "meta": {
        +              "type": "object"
        +            },
        +            "parts": {
        +              "items": {
        +                "properties": {
        +                  "material": {
        +                    "type": "string"
        +                  },
        +                  "meta": {
        +                    "type": "object"
        +                  },
        +                  "name": {
        +                    "type": "string"
        +                  },
        +                  "rotation": {
        +                    "type": "number"
        +                  },
        +                  "sheet": {
        +                    "type": "integer"
        +                  },
        +                  "x": {
        +                    "type": "number"
        +                  },
        +                  "y": {
        +                    "type": "number"
        +                  }
        +                },
        +                "required": [
        +                  "name",
        +                  "sheet",
        +                  "x",
        +                  "y",
        +                  "rotation"
        +                ],
        +                "type": "object"
        +              },
        +              "type": "array"
        +            },
        +            "pierces": {
        +              "type": "integer"
        +            },
        +            "polygon": {
        +              "items": {
        +                "items": {
        +                  "type": "number"
        +                },
        +                "maxItems": 2,
        +                "minItems": 2,
        +                "type": "array"
        +              },
        +              "minItems": 3,
        +              "type": "array"
        +            },
        +            "price": {
        +              "type": [
        +                "number",
        +                "null"
        +              ]
        +            },
        +            "stock": {
        +              "minimum": 0,
        +              "type": "integer"
        +            },
        +            "usedArea": {
        +              "type": "number"
        +            },
        +            "usedHeight": {
        +              "type": "number"
        +            },
        +            "usedWidth": {
        +              "type": "number"
        +            },
        +            "w": {
        +              "type": "number"
        +            }
        +          },
        +          "required": [
        +            "stock",
        +            "price",
        +            "density",
        +            "cutLength",
        +            "pierces",
        +            "usedWidth",
        +            "usedHeight",
        +            "usedArea",
        +            "parts"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "stockUsage": {
        +        "items": {
        +          "properties": {
        +            "density": {
        +              "type": "number"
        +            },
        +            "h": {
        +              "type": "number"
        +            },
        +            "material": {
        +              "type": "string"
        +            },
        +            "sheetCount": {
        +              "type": "integer"
        +            },
        +            "stock": {
        +              "minimum": 0,
        +              "type": "integer"
        +            },
        +            "totalPrice": {
        +              "type": "number"
        +            },
        +            "usedArea": {
        +              "type": "number"
        +            },
        +            "w": {
        +              "type": "number"
        +            }
        +          },
        +          "required": [
        +            "stock",
        +            "sheetCount",
        +            "totalPrice",
        +            "density",
        +            "usedArea"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "svg": {
        +        "type": "string"
        +      },
        +      "timing": {
        +        "properties": {
        +          "solveMs": {
        +            "type": "number"
        +          }
        +        },
        +        "required": [
        +          "solveMs"
        +        ],
        +        "type": "object"
        +      },
        +      "unmatchedMaterials": {
        +        "items": {
        +          "properties": {
        +            "material": {
        +              "type": "string"
        +            },
        +            "parts": {
        +              "items": {
        +                "properties": {
        +                  "name": {
        +                    "type": "string"
        +                  },
        +                  "qty": {
        +                    "type": "integer"
        +                  }
        +                },
        +                "required": [
        +                  "name",
        +                  "qty"
        +                ],
        +                "type": "object"
        +              },
        +              "type": "array"
        +            }
        +          },
        +          "required": [
        +            "material",
        +            "parts"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "unplaced": {
        +        "items": {
        +          "properties": {
        +            "name": {
        +              "type": "string"
        +            },
        +            "qty": {
        +              "type": "integer"
        +            }
        +          },
        +          "required": [
        +            "name",
        +            "qty"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "warnings": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      }
        +    },
        +    "required": [
        +      "engine",
        +      "engineVersion",
        +      "contractVersion",
        +      "deterministic",
        +      "sheets",
        +      "metrics",
        +      "stockUsage",
        +      "unplaced",
        +      "warnings",
        +      "timing"
        +    ],
        +    "type": "object"
        +  }
        +]
    • Changedoptimize_2d3 fields changed
      • addedInput schema / properties / parts / items / properties / qr
        Added value: +{
        +  "description": "QR payload template for every copy of this row: returned resolved in `labels[].qr` and printed as a QR code (error correction level M) on each of the row's labels in `labelsPdf`. Exactly two tokens are filled in: `{piece}` (the copy, 1-based — the `k` of the `k/n` printed on the label) and `{of}` (the row's `qty`); any other `{…}` stays as sent. At most 300 UTF-8 bytes once filled in, printable characters only (no control characters); not together with `qrs`. A wrong value is a 400 `invalid_request` naming the field, before any quota is used. Metadata only: it never changes the plan or `planHash`. On a small label format a long payload can print below 0.4 mm per module, and `warnings` then says so. 2D only.",
        +  "maxLength": 300,
        +  "minLength": 1,
        +  "type": "string"
        +}
      • addedInput schema / properties / parts / items / properties / qrs
        Added value: +{
        +  "description": "One QR payload per copy of this row, used verbatim: copy `k` (the `k/n` printed on its label) gets entry `k`, in `labels[].qr` and on `labelsPdf`. Exactly `qty` entries (`qty` defaults to 1), each 1 to 300 UTF-8 bytes of printable characters; not together with `qr`. A wrong value is a 400 `invalid_request` naming the field, before any quota is used. 2D only.",
        +  "items": {
        +    "maxLength": 300,
        +    "minLength": 1,
        +    "type": "string"
        +  },
        +  "maxItems": 2000,
        +  "minItems": 1,
        +  "type": "array"
        +}
      • changedOutput schema / anyOf
        Previous value: -[
        -  {
        -    "properties": {
        -      "contractVersion": {
        -        "type": "string"
        -      },
        -      "csv": {
        -        "type": "string"
        -      },
        -      "cutPlan": {
        -        "items": {
        -          "properties": {
        -            "angle": {
        -              "type": "number"
        -            },
        -            "axis": {
        -              "enum": [
        -                "h",
        -                "v"
        -              ],
        -              "type": "string"
        -            },
        -            "bevel": {
        -              "type": "number"
        -            },
        -            "length": {
        -              "minimum": 0,
        -              "type": "number"
        -            },
        -            "pos": {
        -              "type": "number"
        -            },
        -            "sheet": {
        -              "minimum": 0,
        -              "type": "integer"
        -            },
        -            "stage": {
        -              "minimum": 1,
        -              "type": "integer"
        -            },
        -            "step": {
        -              "minimum": 1,
        -              "type": "integer"
        -            }
        -          },
        -          "required": [
        -            "sheet",
        -            "step",
        -            "axis",
        -            "pos",
        -            "length",
        -            "stage"
        -          ],
        -          "type": "object"
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "deterministic": {
        -        "const": true,
        -        "type": "boolean"
        -      },
        -      "dxf": {
        -        "type": "string"
        -      },
        -      "edgeBanding": {
        -        "properties": {
        -          "byPart": {
        -            "items": {
        -              "properties": {
        -                "byType": {
        -                  "items": {
        -                    "properties": {
        -                      "meters": {
        -                        "type": "number"
        -                      },
        -                      "reference": {
        -                        "type": "string"
        -                      }
        -                    },
        -                    "required": [
        -                      "reference",
        -                      "meters"
        -                    ],
        -                    "type": "object"
        -                  },
        -                  "type": "array"
        -                },
        -                "meters": {
        -                  "type": "number"
        -                },
        -                "name": {
        -                  "type": "string"
        -                }
        -              },
        -              "required": [
        -                "name",
        -                "meters",
        -                "byType"
        -              ],
        -              "type": "object"
        -            },
        -            "type": "array"
        -          },
        -          "byType": {
        -            "items": {
        -              "properties": {
        -                "meters": {
        -                  "type": "number"
        -                },
        -                "reference": {
        -                  "type": "string"
        -                }
        -              },
        -              "required": [
        -                "reference",
        -                "meters"
        -              ],
        -              "type": "object"
        -            },
        -            "type": "array"
        -          },
        -          "totalMeters": {
        -            "type": "number"
        -          }
        -        },
        -        "required": [
        -          "totalMeters",
        -          "byType",
        -          "byPart"
        -        ],
        -        "type": "object"
        -      },
        -      "engine": {
        -        "enum": [
        -          "heuristic",
        -          "balanced",
        -          "max"
        -        ],
        -        "type": "string"
        -      },
        -      "engineVersion": {
        -        "type": "string"
        -      },
        -      "guillotineValid": {
        -        "type": "boolean"
        -      },
        -      "labels": {
        -        "items": {
        -          "properties": {
        -            "edges": {
        -              "properties": {
        -                "bottom": {
        -                  "properties": {
        -                    "length": {
        -                      "type": "number"
        -                    },
        -                    "reference": {
        -                      "type": "string"
        -                    }
        -                  },
        -                  "required": [
        -                    "reference",
        -                    "length"
        -                  ],
        -                  "type": "object"
        -                },
        -                "left": {
        -                  "properties": {
        -                    "length": {
        -                      "type": "number"
        -                    },
        -                    "reference": {
        -                      "type": "string"
        -                    }
        -                  },
        -                  "required": [
        -                    "reference",
        -                    "length"
        -                  ],
        -                  "type": "object"
        -                },
        -                "right": {
        -                  "properties": {
        -                    "length": {
        -                      "type": "number"
        -                    },
        -                    "reference": {
        -                      "type": "string"
        -                    }
        -                  },
        -                  "required": [
        -                    "reference",
        -                    "length"
        -                  ],
        -                  "type": "object"
        -                },
        -                "top": {
        -                  "properties": {
        -                    "length": {
        -                      "type": "number"
        -                    },
        -                    "reference": {
        -                      "type": "string"
        -                    }
        -                  },
        -                  "required": [
        -                    "reference",
        -                    "length"
        -                  ],
        -                  "type": "object"
        -                }
        -              },
        -              "type": "object"
        -            },
        -            "grain": {
        -              "enum": [
        -                "w",
        -                "h"
        -              ],
        -              "type": "string"
        -            },
        -            "h": {
        -              "type": "number"
        -            },
        -            "material": {
        -              "type": "string"
        -            },
        -            "meta": {
        -              "type": "object"
        -            },
        -            "name": {
        -              "type": "string"
        -            },
        -            "of": {
        -              "minimum": 1,
        -              "type": "integer"
        -            },
        -            "partNo": {
        -              "type": "integer"
        -            },
        -            "piece": {
        -              "minimum": 1,
        -              "type": "integer"
        -            },
        -            "rotated": {
        -              "type": "boolean"
        -            },
        -            "sheet": {
        -              "type": "integer"
        -            },
        -            "sheetMeta": {
        -              "type": "object"
        -            },
        -            "sheetNo": {
        -              "minimum": 1,
        -              "type": "integer"
        -            },
        -            "stockRow": {
        -              "minimum": 0,
        -              "type": "integer"
        -            },
        -            "w": {
        -              "type": "number"
        -            },
        -            "x": {
        -              "type": "number"
        -            },
        -            "y": {
        -              "type": "number"
        -            }
        -          },
        -          "required": [
        -            "sheet",
        -            "name",
        -            "partNo",
        -            "w",
        -            "h",
        -            "rotated",
        -            "x",
        -            "y"
        -          ],
        -          "type": "object"
        -        },
        -        "type": "array"
        -      },
        -      "labelsPdf": {
        -        "format": "byte",
        -        "type": "string"
        -      },
        -      "matchedSets": {
        -        "items": {
        -          "properties": {
        -            "asBlock": {
        -              "type": "integer"
        -            },
        -            "block": {
        -              "properties": {
        -                "h": {
        -                  "type": "number"
        -                },
        -                "w": {
        -                  "type": "number"
        -                }
        -              },
        -              "required": [
        -                "w",
        -                "h"
        -              ],
        -              "type": "object"
        -            },
        -            "id": {
        -              "type": "string"
        -            },
        -            "letter": {
        -              "type": "string"
        -            },
        -            "name": {
        -              "type": "string"
        -            },
        -            "requested": {
        -              "type": "integer"
        -            },
        -            "split": {
        -              "type": "integer"
        -            },
        -            "unplaced": {
        -              "type": "integer"
        -            },
        -            "warnings": {
        -              "items": {
        -                "type": "string"
        -              },
        -              "type": "array"
        -            }
        -          },
        -          "required": [
        -            "id",
        -            "letter",
        -            "requested",
        -            "asBlock",
        -            "split",
        -            "unplaced",
        -            "block",
        -            "warnings"
        -          ],
        -          "type": "object"
        -        },
        -        "type": "array"
        -      },
        -      "materials": {
        -        "items": {
        -          "properties": {
        -            "material": {
        -              "type": "string"
        -            },
        -            "placed": {
        -              "type": "integer"
        -            },
        -            "sheetCount": {
        -              "type": "integer"
        -            },
        -            "total": {
        -              "type": "integer"
        -            },
        -            "totalPrice": {
        -              "type": "number"
        -            },
        -            "yieldPct": {
        -              "type": "number"
        -            }
        -          },
        -          "required": [
        -            "material",
        -            "sheetCount",
        -            "yieldPct",
        -            "placed",
        -            "total",
        -            "totalPrice"
        -          ],
        -          "type": "object"
        -        },
        -        "type": "array"
        -      },
        -      "metrics": {
        -        "properties": {
        -          "cutLength": {
        -            "type": "number"
        -          },
        -          "cutLines": {
        -            "type": "integer"
        -          },
        -          "placed": {
        -            "type": "integer"
        -          },
        -          "sawPasses": {
        -            "type": "integer"
        -          },
        -          "sheetCount": {
        -            "type": "integer"
        -          },
        -          "total": {
        -            "type": "integer"
        -          },
        -          "totalPrice": {
        -            "type": "number"
        -          },
        -          "yieldPct": {
        -            "type": "number"
        -          }
        -        },
        -        "required": [
        -          "sheetCount",
        -          "yieldPct",
        -          "placed",
        -          "total",
        -          "cutLines",
        -          "sawPasses",
        -          "cutLength",
        -          "totalPrice"
        -        ],
        -        "type": "object"
        -      },
        -      "pdf": {
        -        "format": "byte",
        -        "type": "string"
        -      },
        -      "planHash": {
        -        "type": "string"
        -      },
        -      "sheets": {
        -        "items": {
        -          "properties": {
        -            "grain": {
        -              "enum": [
        -                "w",
        -                "h"
        -              ],
        -              "type": "string"
        -            },
        -            "h": {
        -              "type": "number"
        -            },
        -            "material": {
        -              "type": "string"
        -            },
        -            "meta": {
        -              "type": "object"
        -            },
        -            "offcuts": {
        -              "items": {
        -                "properties": {
        -                  "h": {
        -                    "type": "number"
        -                  },
        -                  "w": {
        -                    "type": "number"
        -                  },
        -                  "x": {
        -                    "type": "number"
        -                  },
        -                  "y": {
        -                    "type": "number"
        -                  }
        -                },
        -                "required": [
        -                  "x",
        -                  "y",
        -                  "w",
        -                  "h"
        -                ],
        -                "type": "object"
        -              },
        -              "type": "array"
        -            },
        -            "parts": {
        -              "items": {
        -                "properties": {
        -                  "h": {
        -                    "type": "number"
        -                  },
        -                  "matchedSet": {
        -                    "properties": {
        -                      "hint": {
        -                        "enum": [
        -                          "left",
        -                          "middle",
        -                          "right",
        -                          "top",
        -                          "bottom"
        -                        ],
        -                        "type": "string"
        -                      },
        -                      "id": {
        -                        "type": "string"
        -                      },
        -                      "instance": {
        -                        "minimum": 1,
        -                        "type": "integer"
        -                      },
        -                      "position": {
        -                        "minimum": 1,
        -                        "type": "integer"
        -                      }
        -                    },
        -                    "required": [
        -                      "id",
        -                      "instance",
        -                      "position"
        -                    ],
        -                    "type": "object"
        -                  },
        -                  "meta": {
        -                    "type": "object"
        -                  },
        -                  "name": {
        -                    "type": "string"
        -                  },
        -                  "rotated": {
        -                    "type": "boolean"
        -                  },
        -                  "w": {
        -                    "type": "number"
        -                  },
        -                  "x": {
        -                    "type": "number"
        -                  },
        -                  "y": {
        -                    "type": "number"
        -                  }
        -                },
        -                "required": [
        -                  "name",
        -                  "x",
        -                  "y",
        -                  "w",
        -                  "h",
        -                  "rotated"
        -                ],
        -                "type": "object"
        -              },
        -              "type": "array"
        -            },
        -            "price": {
        -              "type": [
        -                "number",
        -                "null"
        -              ]
        -            },
        -            "w": {
        -              "type": "number"
        -            }
        -          },
        -          "required": [
        -            "w",
        -            "h",
        -            "price",
        -            "parts"
        -          ],
        -          "type": "object"
        -        },
        -        "type": "array"
        -      },
        -      "svg": {
        -        "type": "string"
        -      },
        -      "timing": {
        -        "properties": {
        -          "solveMs": {
        -            "type": "number"
        -          }
        -        },
        -        "required": [
        -          "solveMs"
        -        ],
        -        "type": "object"
        -      },
        -      "unmatchedMaterials": {
        -        "items": {
        -          "properties": {
        -            "material": {
        -              "type": "string"
        -            },
        -            "parts": {
        -              "items": {
        -                "properties": {
        -                  "h": {
        -                    "type": "number"
        -                  },
        -                  "name": {
        -                    "type": "string"
        -                  },
        -                  "qty": {
        -                    "minimum": 1,
        -                    "type": "integer"
        -                  },
        -                  "w": {
        -                    "type": "number"
        -                  }
        -                },
        -                "required": [
        -                  "name",
        -                  "w",
        -                  "h",
        -                  "qty"
        -                ],
        -                "type": "object"
        -              },
        -              "type": "array"
        -            }
        -          },
        -          "required": [
        -            "material",
        -            "parts"
        -          ],
        -          "type": "object"
        -        },
        -        "type": "array"
        -      },
        -      "unplaced": {
        -        "items": {
        -          "properties": {
        -            "h": {
        -              "type": "number"
        -            },
        -            "name": {
        -              "type": "string"
        -            },
        -            "qty": {
        -              "minimum": 1,
        -              "type": "integer"
        -            },
        -            "w": {
        -              "type": "number"
        -            }
        -          },
        -          "required": [
        -            "name",
        -            "w",
        -            "h",
        -            "qty"
        -          ],
        -          "type": "object"
        -        },
        -        "type": "array"
        -      },
        -      "warnings": {
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": "array"
        -      }
        -    },
        -    "required": [
        -      "engine",
        -      "engineVersion",
        -      "contractVersion",
        -      "deterministic",
        -      "sheets",
        -      "metrics",
        -      "unplaced",
        -      "warnings",
        -      "guillotineValid",
        -      "timing"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "properties": {
        -      "engine": {
        -        "enum": [
        -          "max"
        -        ],
        -        "type": "string"
        -      },
        -      "jobId": {
        -        "format": "uuid",
        -        "type": "string"
        -      },
        -      "mode": {
        -        "enum": [
        -          "2d"
        -        ],
        -        "type": "string"
        -      },
        -      "pollAfterMs": {
        -        "type": "integer"
        -      },
        -      "quota": {
        -        "properties": {
        -          "limit": {
        -            "type": "integer"
        -          },
        -          "reserved": {
        -            "type": "integer"
        -          },
        -          "used": {
        -            "type": "integer"
        -          }
        -        },
        -        "type": "object"
        -      },
        -      "status": {
        -        "enum": [
        -          "queued"
        -        ],
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "jobId",
        -      "status",
        -      "mode",
        -      "engine",
        -      "pollAfterMs"
        -    ],
        -    "type": "object"
        -  }
        -]New value: +[
        +  {
        +    "properties": {
        +      "contractVersion": {
        +        "type": "string"
        +      },
        +      "csv": {
        +        "type": "string"
        +      },
        +      "cutPlan": {
        +        "items": {
        +          "properties": {
        +            "angle": {
        +              "type": "number"
        +            },
        +            "axis": {
        +              "enum": [
        +                "h",
        +                "v"
        +              ],
        +              "type": "string"
        +            },
        +            "bevel": {
        +              "type": "number"
        +            },
        +            "length": {
        +              "minimum": 0,
        +              "type": "number"
        +            },
        +            "pos": {
        +              "type": "number"
        +            },
        +            "sheet": {
        +              "minimum": 0,
        +              "type": "integer"
        +            },
        +            "stage": {
        +              "minimum": 1,
        +              "type": "integer"
        +            },
        +            "step": {
        +              "minimum": 1,
        +              "type": "integer"
        +            }
        +          },
        +          "required": [
        +            "sheet",
        +            "step",
        +            "axis",
        +            "pos",
        +            "length",
        +            "stage"
        +          ],
        +          "type": "object"
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "deterministic": {
        +        "const": true,
        +        "type": "boolean"
        +      },
        +      "dxf": {
        +        "type": "string"
        +      },
        +      "edgeBanding": {
        +        "properties": {
        +          "byPart": {
        +            "items": {
        +              "properties": {
        +                "byType": {
        +                  "items": {
        +                    "properties": {
        +                      "meters": {
        +                        "type": "number"
        +                      },
        +                      "reference": {
        +                        "type": "string"
        +                      }
        +                    },
        +                    "required": [
        +                      "reference",
        +                      "meters"
        +                    ],
        +                    "type": "object"
        +                  },
        +                  "type": "array"
        +                },
        +                "meters": {
        +                  "type": "number"
        +                },
        +                "name": {
        +                  "type": "string"
        +                }
        +              },
        +              "required": [
        +                "name",
        +                "meters",
        +                "byType"
        +              ],
        +              "type": "object"
        +            },
        +            "type": "array"
        +          },
        +          "byType": {
        +            "items": {
        +              "properties": {
        +                "meters": {
        +                  "type": "number"
        +                },
        +                "reference": {
        +                  "type": "string"
        +                }
        +              },
        +              "required": [
        +                "reference",
        +                "meters"
        +              ],
        +              "type": "object"
        +            },
        +            "type": "array"
        +          },
        +          "totalMeters": {
        +            "type": "number"
        +          }
        +        },
        +        "required": [
        +          "totalMeters",
        +          "byType",
        +          "byPart"
        +        ],
        +        "type": "object"
        +      },
        +      "engine": {
        +        "enum": [
        +          "heuristic",
        +          "balanced",
        +          "max"
        +        ],
        +        "type": "string"
        +      },
        +      "engineVersion": {
        +        "type": "string"
        +      },
        +      "guillotineValid": {
        +        "type": "boolean"
        +      },
        +      "labels": {
        +        "items": {
        +          "properties": {
        +            "edges": {
        +              "properties": {
        +                "bottom": {
        +                  "properties": {
        +                    "length": {
        +                      "type": "number"
        +                    },
        +                    "reference": {
        +                      "type": "string"
        +                    }
        +                  },
        +                  "required": [
        +                    "reference",
        +                    "length"
        +                  ],
        +                  "type": "object"
        +                },
        +                "left": {
        +                  "properties": {
        +                    "length": {
        +                      "type": "number"
        +                    },
        +                    "reference": {
        +                      "type": "string"
        +                    }
        +                  },
        +                  "required": [
        +                    "reference",
        +                    "length"
        +                  ],
        +                  "type": "object"
        +                },
        +                "right": {
        +                  "properties": {
        +                    "length": {
        +                      "type": "number"
        +                    },
        +                    "reference": {
        +                      "type": "string"
        +                    }
        +                  },
        +                  "required": [
        +                    "reference",
        +                    "length"
        +                  ],
        +                  "type": "object"
        +                },
        +                "top": {
        +                  "properties": {
        +                    "length": {
        +                      "type": "number"
        +                    },
        +                    "reference": {
        +                      "type": "string"
        +                    }
        +                  },
        +                  "required": [
        +                    "reference",
        +                    "length"
        +                  ],
        +                  "type": "object"
        +                }
        +              },
        +              "type": "object"
        +            },
        +            "grain": {
        +              "enum": [
        +                "w",
        +                "h"
        +              ],
        +              "type": "string"
        +            },
        +            "h": {
        +              "type": "number"
        +            },
        +            "material": {
        +              "type": "string"
        +            },
        +            "meta": {
        +              "type": "object"
        +            },
        +            "name": {
        +              "type": "string"
        +            },
        +            "of": {
        +              "minimum": 1,
        +              "type": "integer"
        +            },
        +            "partNo": {
        +              "type": "integer"
        +            },
        +            "piece": {
        +              "minimum": 1,
        +              "type": "integer"
        +            },
        +            "qr": {
        +              "type": "string"
        +            },
        +            "rotated": {
        +              "type": "boolean"
        +            },
        +            "sheet": {
        +              "type": "integer"
        +            },
        +            "sheetMeta": {
        +              "type": "object"
        +            },
        +            "sheetNo": {
        +              "minimum": 1,
        +              "type": "integer"
        +            },
        +            "stockRow": {
        +              "minimum": 0,
        +              "type": "integer"
        +            },
        +            "w": {
        +              "type": "number"
        +            },
        +            "x": {
        +              "type": "number"
        +            },
        +            "y": {
        +              "type": "number"
        +            }
        +          },
        +          "required": [
        +            "sheet",
        +            "name",
        +            "partNo",
        +            "w",
        +            "h",
        +            "rotated",
        +            "x",
        +            "y"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "labelsPdf": {
        +        "format": "byte",
        +        "type": "string"
        +      },
        +      "matchedSets": {
        +        "items": {
        +          "properties": {
        +            "asBlock": {
        +              "type": "integer"
        +            },
        +            "block": {
        +              "properties": {
        +                "h": {
        +                  "type": "number"
        +                },
        +                "w": {
        +                  "type": "number"
        +                }
        +              },
        +              "required": [
        +                "w",
        +                "h"
        +              ],
        +              "type": "object"
        +            },
        +            "id": {
        +              "type": "string"
        +            },
        +            "letter": {
        +              "type": "string"
        +            },
        +            "name": {
        +              "type": "string"
        +            },
        +            "requested": {
        +              "type": "integer"
        +            },
        +            "split": {
        +              "type": "integer"
        +            },
        +            "unplaced": {
        +              "type": "integer"
        +            },
        +            "warnings": {
        +              "items": {
        +                "type": "string"
        +              },
        +              "type": "array"
        +            }
        +          },
        +          "required": [
        +            "id",
        +            "letter",
        +            "requested",
        +            "asBlock",
        +            "split",
        +            "unplaced",
        +            "block",
        +            "warnings"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "materials": {
        +        "items": {
        +          "properties": {
        +            "material": {
        +              "type": "string"
        +            },
        +            "placed": {
        +              "type": "integer"
        +            },
        +            "sheetCount": {
        +              "type": "integer"
        +            },
        +            "total": {
        +              "type": "integer"
        +            },
        +            "totalPrice": {
        +              "type": "number"
        +            },
        +            "yieldPct": {
        +              "type": "number"
        +            }
        +          },
        +          "required": [
        +            "material",
        +            "sheetCount",
        +            "yieldPct",
        +            "placed",
        +            "total",
        +            "totalPrice"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "metrics": {
        +        "properties": {
        +          "cutLength": {
        +            "type": "number"
        +          },
        +          "cutLines": {
        +            "type": "integer"
        +          },
        +          "placed": {
        +            "type": "integer"
        +          },
        +          "sawPasses": {
        +            "type": "integer"
        +          },
        +          "sheetCount": {
        +            "type": "integer"
        +          },
        +          "total": {
        +            "type": "integer"
        +          },
        +          "totalPrice": {
        +            "type": "number"
        +          },
        +          "yieldPct": {
        +            "type": "number"
        +          }
        +        },
        +        "required": [
        +          "sheetCount",
        +          "yieldPct",
        +          "placed",
        +          "total",
        +          "cutLines",
        +          "sawPasses",
        +          "cutLength",
        +          "totalPrice"
        +        ],
        +        "type": "object"
        +      },
        +      "pdf": {
        +        "format": "byte",
        +        "type": "string"
        +      },
        +      "planHash": {
        +        "type": "string"
        +      },
        +      "sheets": {
        +        "items": {
        +          "properties": {
        +            "grain": {
        +              "enum": [
        +                "w",
        +                "h"
        +              ],
        +              "type": "string"
        +            },
        +            "h": {
        +              "type": "number"
        +            },
        +            "material": {
        +              "type": "string"
        +            },
        +            "meta": {
        +              "type": "object"
        +            },
        +            "offcuts": {
        +              "items": {
        +                "properties": {
        +                  "h": {
        +                    "type": "number"
        +                  },
        +                  "w": {
        +                    "type": "number"
        +                  },
        +                  "x": {
        +                    "type": "number"
        +                  },
        +                  "y": {
        +                    "type": "number"
        +                  }
        +                },
        +                "required": [
        +                  "x",
        +                  "y",
        +                  "w",
        +                  "h"
        +                ],
        +                "type": "object"
        +              },
        +              "type": "array"
        +            },
        +            "parts": {
        +              "items": {
        +                "properties": {
        +                  "h": {
        +                    "type": "number"
        +                  },
        +                  "matchedSet": {
        +                    "properties": {
        +                      "hint": {
        +                        "enum": [
        +                          "left",
        +                          "middle",
        +                          "right",
        +                          "top",
        +                          "bottom"
        +                        ],
        +                        "type": "string"
        +                      },
        +                      "id": {
        +                        "type": "string"
        +                      },
        +                      "instance": {
        +                        "minimum": 1,
        +                        "type": "integer"
        +                      },
        +                      "position": {
        +                        "minimum": 1,
        +                        "type": "integer"
        +                      }
        +                    },
        +                    "required": [
        +                      "id",
        +                      "instance",
        +                      "position"
        +                    ],
        +                    "type": "object"
        +                  },
        +                  "meta": {
        +                    "type": "object"
        +                  },
        +                  "name": {
        +                    "type": "string"
        +                  },
        +                  "rotated": {
        +                    "type": "boolean"
        +                  },
        +                  "w": {
        +                    "type": "number"
        +                  },
        +                  "x": {
        +                    "type": "number"
        +                  },
        +                  "y": {
        +                    "type": "number"
        +                  }
        +                },
        +                "required": [
        +                  "name",
        +                  "x",
        +                  "y",
        +                  "w",
        +                  "h",
        +                  "rotated"
        +                ],
        +                "type": "object"
        +              },
        +              "type": "array"
        +            },
        +            "price": {
        +              "type": [
        +                "number",
        +                "null"
        +              ]
        +            },
        +            "w": {
        +              "type": "number"
        +            }
        +          },
        +          "required": [
        +            "w",
        +            "h",
        +            "price",
        +            "parts"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "svg": {
        +        "type": "string"
        +      },
        +      "timing": {
        +        "properties": {
        +          "solveMs": {
        +            "type": "number"
        +          }
        +        },
        +        "required": [
        +          "solveMs"
        +        ],
        +        "type": "object"
        +      },
        +      "unmatchedMaterials": {
        +        "items": {
        +          "properties": {
        +            "material": {
        +              "type": "string"
        +            },
        +            "parts": {
        +              "items": {
        +                "properties": {
        +                  "h": {
        +                    "type": "number"
        +                  },
        +                  "name": {
        +                    "type": "string"
        +                  },
        +                  "qty": {
        +                    "minimum": 1,
        +                    "type": "integer"
        +                  },
        +                  "w": {
        +                    "type": "number"
        +                  }
        +                },
        +                "required": [
        +                  "name",
        +                  "w",
        +                  "h",
        +                  "qty"
        +                ],
        +                "type": "object"
        +              },
        +              "type": "array"
        +            }
        +          },
        +          "required": [
        +            "material",
        +            "parts"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "unplaced": {
        +        "items": {
        +          "properties": {
        +            "h": {
        +              "type": "number"
        +            },
        +            "name": {
        +              "type": "string"
        +            },
        +            "qty": {
        +              "minimum": 1,
        +              "type": "integer"
        +            },
        +            "w": {
        +              "type": "number"
        +            }
        +          },
        +          "required": [
        +            "name",
        +            "w",
        +            "h",
        +            "qty"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "warnings": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      }
        +    },
        +    "required": [
        +      "engine",
        +      "engineVersion",
        +      "contractVersion",
        +      "deterministic",
        +      "sheets",
        +      "metrics",
        +      "unplaced",
        +      "warnings",
        +      "guillotineValid",
        +      "timing"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "properties": {
        +      "engine": {
        +        "enum": [
        +          "max"
        +        ],
        +        "type": "string"
        +      },
        +      "jobId": {
        +        "format": "uuid",
        +        "type": "string"
        +      },
        +      "mode": {
        +        "enum": [
        +          "2d"
        +        ],
        +        "type": "string"
        +      },
        +      "pollAfterMs": {
        +        "type": "integer"
        +      },
        +      "quota": {
        +        "properties": {
        +          "limit": {
        +            "type": "integer"
        +          },
        +          "reserved": {
        +            "type": "integer"
        +          },
        +          "used": {
        +            "type": "integer"
        +          }
        +        },
        +        "type": "object"
        +      },
        +      "status": {
        +        "enum": [
        +          "queued"
        +        ],
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "jobId",
        +      "status",
        +      "mode",
        +      "engine",
        +      "pollAfterMs"
        +    ],
        +    "type": "object"
        +  }
        +]
    • Changedvalidate_2d2 fields changed
      • addedInput schema / properties / parts / items / properties / qr
        Added value: +{
        +  "maxLength": 300,
        +  "minLength": 1,
        +  "type": "string"
        +}
      • addedInput schema / properties / parts / items / properties / qrs
        Added value: +{
        +  "items": {
        +    "maxLength": 300,
        +    "minLength": 1,
        +    "type": "string"
        +  },
        +  "maxItems": 2000,
        +  "minItems": 1,
        +  "type": "array"
        +}
  2. 3 tool updates
    • Changedget_job1 field changed
      • changedOutput schema / properties / result / oneOf
        Previous value: -[
        -  {
        -    "properties": {
        -      "contractVersion": {
        -        "type": "string"
        -      },
        -      "csv": {
        -        "type": "string"
        -      },
        -      "cutPlan": {
        -        "items": {
        -          "properties": {
        -            "angle": {
        -              "type": "number"
        -            },
        -            "axis": {
        -              "enum": [
        -                "h",
        -                "v"
        -              ],
        -              "type": "string"
        -            },
        -            "bevel": {
        -              "type": "number"
        -            },
        -            "length": {
        -              "minimum": 0,
        -              "type": "number"
        -            },
        -            "pos": {
        -              "type": "number"
        -            },
        -            "sheet": {
        -              "minimum": 0,
        -              "type": "integer"
        -            },
        -            "stage": {
        -              "minimum": 1,
        -              "type": "integer"
        -            },
        -            "step": {
        -              "minimum": 1,
        -              "type": "integer"
        -            }
        -          },
        -          "required": [
        -            "sheet",
        -            "step",
        -            "axis",
        -            "pos",
        -            "length",
        -            "stage"
        -          ],
        -          "type": "object"
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "deterministic": {
        -        "const": true,
        -        "type": "boolean"
        -      },
        -      "dxf": {
        -        "type": "string"
        -      },
        -      "edgeBanding": {
        -        "properties": {
        -          "byPart": {
        -            "items": {
        -              "properties": {
        -                "byType": {
        -                  "items": {
        -                    "properties": {
        -                      "meters": {
        -                        "type": "number"
        -                      },
        -                      "reference": {
        -                        "type": "string"
        -                      }
        -                    },
        -                    "required": [
        -                      "reference",
        -                      "meters"
        -                    ],
        -                    "type": "object"
        -                  },
        -                  "type": "array"
        -                },
        -                "meters": {
        -                  "type": "number"
        -                },
        -                "name": {
        -                  "type": "string"
        -                }
        -              },
        -              "required": [
        -                "name",
        -                "meters",
        -                "byType"
        -              ],
        -              "type": "object"
        -            },
        -            "type": "array"
        -          },
        -          "byType": {
        -            "items": {
        -              "properties": {
        -                "meters": {
        -                  "type": "number"
        -                },
        -                "reference": {
        -                  "type": "string"
        -                }
        -              },
        -              "required": [
        -                "reference",
        -                "meters"
        -              ],
        -              "type": "object"
        -            },
        -            "type": "array"
        -          },
        -          "totalMeters": {
        -            "type": "number"
        -          }
        -        },
        -        "required": [
        -          "totalMeters",
        -          "byType",
        -          "byPart"
        -        ],
        -        "type": "object"
        -      },
        -      "engine": {
        -        "enum": [
        -          "heuristic",
        -          "balanced",
        -          "max"
        -        ],
        -        "type": "string"
        -      },
        -      "engineVersion": {
        -        "type": "string"
        -      },
        -      "guillotineValid": {
        -        "type": "boolean"
        -      },
        -      "labels": {
        -        "items": {
        -          "properties": {
        -            "edges": {
        -              "properties": {
        -                "bottom": {
        -                  "properties": {
        -                    "length": {
        -                      "type": "number"
        -                    },
        -                    "reference": {
        -                      "type": "string"
        -                    }
        -                  },
        -                  "required": [
        -                    "reference",
        -                    "length"
        -                  ],
        -                  "type": "object"
        -                },
        -                "left": {
        -                  "properties": {
        -                    "length": {
        -                      "type": "number"
        -                    },
        -                    "reference": {
        -                      "type": "string"
        -                    }
        -                  },
        -                  "required": [
        -                    "reference",
        -                    "length"
        -                  ],
        -                  "type": "object"
        -                },
        -                "right": {
        -                  "properties": {
        -                    "length": {
        -                      "type": "number"
        -                    },
        -                    "reference": {
        -                      "type": "string"
        -                    }
        -                  },
        -                  "required": [
        -                    "reference",
        -                    "length"
        -                  ],
        -                  "type": "object"
        -                },
        -                "top": {
        -                  "properties": {
        -                    "length": {
        -                      "type": "number"
        -                    },
        -                    "reference": {
        -                      "type": "string"
        -                    }
        -                  },
        -                  "required": [
        -                    "reference",
        -                    "length"
        -                  ],
        -                  "type": "object"
        -                }
        -              },
        -              "type": "object"
        -            },
        -            "grain": {
        -              "enum": [
        -                "w",
        -                "h"
        -              ],
        -              "type": "string"
        -            },
        -            "h": {
        -              "type": "number"
        -            },
        -            "material": {
        -              "type": "string"
        -            },
        -            "meta": {
        -              "type": "object"
        -            },
        -            "name": {
        -              "type": "string"
        -            },
        -            "partNo": {
        -              "type": "integer"
        -            },
        -            "rotated": {
        -              "type": "boolean"
        -            },
        -            "sheet": {
        -              "type": "integer"
        -            },
        -            "w": {
        -              "type": "number"
        -            },
        -            "x": {
        -              "type": "number"
        -            },
        -            "y": {
        -              "type": "number"
        -            }
        -          },
        -          "required": [
        -            "sheet",
        -            "name",
        -            "partNo",
        -            "w",
        -            "h",
        -            "rotated",
        -            "x",
        -            "y"
        -          ],
        -          "type": "object"
        -        },
        -        "type": "array"
        -      },
        -      "labelsPdf": {
        -        "format": "byte",
        -        "type": "string"
        -      },
        -      "matchedSets": {
        -        "items": {
        -          "properties": {
        -            "asBlock": {
        -              "type": "integer"
        -            },
        -            "block": {
        -              "properties": {
        -                "h": {
        -                  "type": "number"
        -                },
        -                "w": {
        -                  "type": "number"
        -                }
        -              },
        -              "required": [
        -                "w",
        -                "h"
        -              ],
        -              "type": "object"
        -            },
        -            "id": {
        -              "type": "string"
        -            },
        -            "letter": {
        -              "type": "string"
        -            },
        -            "name": {
        -              "type": "string"
        -            },
        -            "requested": {
        -              "type": "integer"
        -            },
        -            "split": {
        -              "type": "integer"
        -            },
        -            "unplaced": {
        -              "type": "integer"
        -            },
        -            "warnings": {
        -              "items": {
        -                "type": "string"
        -              },
        -              "type": "array"
        -            }
        -          },
        -          "required": [
        -            "id",
        -            "letter",
        -            "requested",
        -            "asBlock",
        -            "split",
        -            "unplaced",
        -            "block",
        -            "warnings"
        -          ],
        -          "type": "object"
        -        },
        -        "type": "array"
        -      },
        -      "materials": {
        -        "items": {
        -          "properties": {
        -            "material": {
        -              "type": "string"
        -            },
        -            "placed": {
        -              "type": "integer"
        -            },
        -            "sheetCount": {
        -              "type": "integer"
        -            },
        -            "total": {
        -              "type": "integer"
        -            },
        -            "totalPrice": {
        -              "type": "number"
        -            },
        -            "yieldPct": {
        -              "type": "number"
        -            }
        -          },
        -          "required": [
        -            "material",
        -            "sheetCount",
        -            "yieldPct",
        -            "placed",
        -            "total",
        -            "totalPrice"
        -          ],
        -          "type": "object"
        -        },
        -        "type": "array"
        -      },
        -      "metrics": {
        -        "properties": {
        -          "cutLength": {
        -            "type": "number"
        -          },
        -          "cutLines": {
        -            "type": "integer"
        -          },
        -          "placed": {
        -            "type": "integer"
        -          },
        -          "sawPasses": {
        -            "type": "integer"
        -          },
        -          "sheetCount": {
        -            "type": "integer"
        -          },
        -          "total": {
        -            "type": "integer"
        -          },
        -          "totalPrice": {
        -            "type": "number"
        -          },
        -          "yieldPct": {
        -            "type": "number"
        -          }
        -        },
        -        "required": [
        -          "sheetCount",
        -          "yieldPct",
        -          "placed",
        -          "total",
        -          "cutLines",
        -          "sawPasses",
        -          "cutLength",
        -          "totalPrice"
        -        ],
        -        "type": "object"
        -      },
        -      "pdf": {
        -        "format": "byte",
        -        "type": "string"
        -      },
        -      "planHash": {
        -        "type": "string"
        -      },
        -      "sheets": {
        -        "items": {
        -          "properties": {
        -            "grain": {
        -              "enum": [
        -                "w",
        -                "h"
        -              ],
        -              "type": "string"
        -            },
        -            "h": {
        -              "type": "number"
        -            },
        -            "material": {
        -              "type": "string"
        -            },
        -            "meta": {
        -              "type": "object"
        -            },
        -            "offcuts": {
        -              "items": {
        -                "properties": {
        -                  "h": {
        -                    "type": "number"
        -                  },
        -                  "w": {
        -                    "type": "number"
        -                  },
        -                  "x": {
        -                    "type": "number"
        -                  },
        -                  "y": {
        -                    "type": "number"
        -                  }
        -                },
        -                "required": [
        -                  "x",
        -                  "y",
        -                  "w",
        -                  "h"
        -                ],
        -                "type": "object"
        -              },
        -              "type": "array"
        -            },
        -            "parts": {
        -              "items": {
        -                "properties": {
        -                  "h": {
        -                    "type": "number"
        -                  },
        -                  "matchedSet": {
        -                    "properties": {
        -                      "hint": {
        -                        "enum": [
        -                          "left",
        -                          "middle",
        -                          "right",
        -                          "top",
        -                          "bottom"
        -                        ],
        -                        "type": "string"
        -                      },
        -                      "id": {
        -                        "type": "string"
        -                      },
        -                      "instance": {
        -                        "minimum": 1,
        -                        "type": "integer"
        -                      },
        -                      "position": {
        -                        "minimum": 1,
        -                        "type": "integer"
        -                      }
        -                    },
        -                    "required": [
        -                      "id",
        -                      "instance",
        -                      "position"
        -                    ],
        -                    "type": "object"
        -                  },
        -                  "meta": {
        -                    "type": "object"
        -                  },
        -                  "name": {
        -                    "type": "string"
        -                  },
        -                  "rotated": {
        -                    "type": "boolean"
        -                  },
        -                  "w": {
        -                    "type": "number"
        -                  },
        -                  "x": {
        -                    "type": "number"
        -                  },
        -                  "y": {
        -                    "type": "number"
        -                  }
        -                },
        -                "required": [
        -                  "name",
        -                  "x",
        -                  "y",
        -                  "w",
        -                  "h",
        -                  "rotated"
        -                ],
        -                "type": "object"
        -              },
        -              "type": "array"
        -            },
        -            "price": {
        -              "type": [
        -                "number",
        -                "null"
        -              ]
        -            },
        -            "w": {
        -              "type": "number"
        -            }
        -          },
        -          "required": [
        -            "w",
        -            "h",
        -            "price",
        -            "parts"
        -          ],
        -          "type": "object"
        -        },
        -        "type": "array"
        -      },
        -      "svg": {
        -        "type": "string"
        -      },
        -      "timing": {
        -        "properties": {
        -          "solveMs": {
        -            "type": "number"
        -          }
        -        },
        -        "required": [
        -          "solveMs"
        -        ],
        -        "type": "object"
        -      },
        -      "unmatchedMaterials": {
        -        "items": {
        -          "properties": {
        -            "material": {
        -              "type": "string"
        -            },
        -            "parts": {
        -              "items": {
        -                "properties": {
        -                  "h": {
        -                    "type": "number"
        -                  },
        -                  "name": {
        -                    "type": "string"
        -                  },
        -                  "qty": {
        -                    "minimum": 1,
        -                    "type": "integer"
        -                  },
        -                  "w": {
        -                    "type": "number"
        -                  }
        -                },
        -                "required": [
        -                  "name",
        -                  "w",
        -                  "h",
        -                  "qty"
        -                ],
        -                "type": "object"
        -              },
        -              "type": "array"
        -            }
        -          },
        -          "required": [
        -            "material",
        -            "parts"
        -          ],
        -          "type": "object"
        -        },
        -        "type": "array"
        -      },
        -      "unplaced": {
        -        "items": {
        -          "properties": {
        -            "h": {
        -              "type": "number"
        -            },
        -            "name": {
        -              "type": "string"
        -            },
        -            "qty": {
        -              "minimum": 1,
        -              "type": "integer"
        -            },
        -            "w": {
        -              "type": "number"
        -            }
        -          },
        -          "required": [
        -            "name",
        -            "w",
        -            "h",
        -            "qty"
        -          ],
        -          "type": "object"
        -        },
        -        "type": "array"
        -      },
        -      "warnings": {
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": "array"
        -      }
        -    },
        -    "required": [
        -      "engine",
        -      "engineVersion",
        -      "contractVersion",
        -      "deterministic",
        -      "sheets",
        -      "metrics",
        -      "unplaced",
        -      "warnings",
        -      "guillotineValid",
        -      "timing"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "properties": {
        -      "contractVersion": {
        -        "type": "string"
        -      },
        -      "deterministic": {
        -        "type": "boolean"
        -      },
        -      "dxf": {
        -        "type": "string"
        -      },
        -      "engine": {
        -        "enum": [
        -          "lbf",
        -          "max"
        -        ],
        -        "type": "string"
        -      },
        -      "engineVersion": {
        -        "type": "string"
        -      },
        -      "imported": {
        -        "properties": {
        -          "parts": {
        -            "type": "integer"
        -          },
        -          "units": {
        -            "items": {
        -              "enum": [
        -                "mm",
        -                "in"
        -              ],
        -              "type": "string"
        -            },
        -            "type": "array"
        -          },
        -          "vertices": {
        -            "type": "integer"
        -          }
        -        },
        -        "required": [
        -          "parts",
        -          "vertices",
        -          "units"
        -        ],
        -        "type": "object"
        -      },
        -      "materials": {
        -        "items": {
        -          "properties": {
        -            "density": {
        -              "type": "number"
        -            },
        -            "material": {
        -              "type": "string"
        -            },
        -            "placed": {
        -              "type": "integer"
        -            },
        -            "sheetCount": {
        -              "type": "integer"
        -            },
        -            "total": {
        -              "type": "integer"
        -            },
        -            "totalPrice": {
        -              "type": "number"
        -            }
        -          },
        -          "required": [
        -            "material",
        -            "sheetCount",
        -            "density",
        -            "placed",
        -            "total",
        -            "totalPrice"
        -          ],
        -          "type": "object"
        -        },
        -        "type": "array"
        -      },
        -      "metrics": {
        -        "properties": {
        -          "cutLength": {
        -            "type": "number"
        -          },
        -          "density": {
        -            "type": "number"
        -          },
        -          "pierces": {
        -            "type": "integer"
        -          },
        -          "placed": {
        -            "type": "integer"
        -          },
        -          "sheetCount": {
        -            "type": "integer"
        -          },
        -          "total": {
        -            "type": "integer"
        -          },
        -          "totalPrice": {
        -            "type": "number"
        -          }
        -        },
        -        "required": [
        -          "sheetCount",
        -          "density",
        -          "placed",
        -          "total",
        -          "totalPrice",
        -          "cutLength",
        -          "pierces"
        -        ],
        -        "type": "object"
        -      },
        -      "sheets": {
        -        "items": {
        -          "properties": {
        -            "cutLength": {
        -              "type": "number"
        -            },
        -            "density": {
        -              "type": "number"
        -            },
        -            "exclusions": {
        -              "items": {
        -                "properties": {
        -                  "polygon": {
        -                    "items": {
        -                      "items": {
        -                        "type": "number"
        -                      },
        -                      "maxItems": 2,
        -                      "minItems": 2,
        -                      "type": "array"
        -                    },
        -                    "minItems": 3,
        -                    "type": "array"
        -                  },
        -                  "quality": {
        -                    "default": 0,
        -                    "minimum": 0,
        -                    "type": "integer"
        -                  }
        -                },
        -                "required": [
        -                  "polygon"
        -                ],
        -                "type": "object"
        -              },
        -              "type": "array"
        -            },
        -            "h": {
        -              "type": "number"
        -            },
        -            "material": {
        -              "type": "string"
        -            },
        -            "meta": {
        -              "type": "object"
        -            },
        -            "parts": {
        -              "items": {
        -                "properties": {
        -                  "material": {
        -                    "type": "string"
        -                  },
        -                  "meta": {
        -                    "type": "object"
        -                  },
        -                  "name": {
        -                    "type": "string"
        -                  },
        -                  "rotation": {
        -                    "type": "number"
        -                  },
        -                  "sheet": {
        -                    "type": "integer"
        -                  },
        -                  "x": {
        -                    "type": "number"
        -                  },
        -                  "y": {
        -                    "type": "number"
        -                  }
        -                },
        -                "required": [
        -                  "name",
        -                  "sheet",
        -                  "x",
        -                  "y",
        -                  "rotation"
        -                ],
        -                "type": "object"
        -              },
        -              "type": "array"
        -            },
        -            "pierces": {
        -              "type": "integer"
        -            },
        -            "polygon": {
        -              "items": {
        -                "items": {
        -                  "type": "number"
        -                },
        -                "maxItems": 2,
        -                "minItems": 2,
        -                "type": "array"
        -              },
        -              "minItems": 3,
        -              "type": "array"
        -            },
        -            "price": {
        -              "type": [
        -                "number",
        -                "null"
        -              ]
        -            },
        -            "stock": {
        -              "minimum": 0,
        -              "type": "integer"
        -            },
        -            "usedArea": {
        -              "type": "number"
        -            },
        -            "usedHeight": {
        -              "type": "number"
        -            },
        -            "usedWidth": {
        -              "type": "number"
        -            },
        -            "w": {
        -              "type": "number"
        -            }
        -          },
        -          "required": [
        -            "stock",
        -            "price",
        -            "density",
        -            "cutLength",
        -            "pierces",
        -            "usedWidth",
        -            "usedHeight",
        -            "usedArea",
        -            "parts"
        -          ],
        -          "type": "object"
        -        },
        -        "type": "array"
        -      },
        -      "stockUsage": {
        -        "items": {
        -          "properties": {
        -            "density": {
        -              "type": "number"
        -            },
        -            "h": {
        -              "type": "number"
        -            },
        -            "material": {
        -              "type": "string"
        -            },
        -            "sheetCount": {
        -              "type": "integer"
        -            },
        -            "stock": {
        -              "minimum": 0,
        -              "type": "integer"
        -            },
        -            "totalPrice": {
        -              "type": "number"
        -            },
        -            "usedArea": {
        -              "type": "number"
        -            },
        -            "w": {
        -              "type": "number"
        -            }
        -          },
        -          "required": [
        -            "stock",
        -            "sheetCount",
        -            "totalPrice",
        -            "density",
        -            "usedArea"
        -          ],
        -          "type": "object"
        -        },
        -        "type": "array"
        -      },
        -      "svg": {
        -        "type": "string"
        -      },
        -      "timing": {
        -        "properties": {
        -          "solveMs": {
        -            "type": "number"
        -          }
        -        },
        -        "required": [
        -          "solveMs"
        -        ],
        -        "type": "object"
        -      },
        -      "unmatchedMaterials": {
        -        "items": {
        -          "properties": {
        -            "material": {
        -              "type": "string"
        -            },
        -            "parts": {
        -              "items": {
        -                "properties": {
        -                  "name": {
        -                    "type": "string"
        -                  },
        -                  "qty": {
        -                    "type": "integer"
        -                  }
        -                },
        -                "required": [
        -                  "name",
        -                  "qty"
        -                ],
        -                "type": "object"
        -              },
        -              "type": "array"
        -            }
        -          },
        -          "required": [
        -            "material",
        -            "parts"
        -          ],
        -          "type": "object"
        -        },
        -        "type": "array"
        -      },
        -      "unplaced": {
        -        "items": {
        -          "properties": {
        -            "name": {
        -              "type": "string"
        -            },
        -            "qty": {
        -              "type": "integer"
        -            }
        -          },
        -          "required": [
        -            "name",
        -            "qty"
        -          ],
        -          "type": "object"
        -        },
        -        "type": "array"
        -      },
        -      "warnings": {
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": "array"
        -      }
        -    },
        -    "required": [
        -      "engine",
        -      "engineVersion",
        -      "contractVersion",
        -      "deterministic",
        -      "sheets",
        -      "metrics",
        -      "stockUsage",
        -      "unplaced",
        -      "warnings",
        -      "timing"
        -    ],
        -    "type": "object"
        -  }
        -]New value: +[
        +  {
        +    "properties": {
        +      "contractVersion": {
        +        "type": "string"
        +      },
        +      "csv": {
        +        "type": "string"
        +      },
        +      "cutPlan": {
        +        "items": {
        +          "properties": {
        +            "angle": {
        +              "type": "number"
        +            },
        +            "axis": {
        +              "enum": [
        +                "h",
        +                "v"
        +              ],
        +              "type": "string"
        +            },
        +            "bevel": {
        +              "type": "number"
        +            },
        +            "length": {
        +              "minimum": 0,
        +              "type": "number"
        +            },
        +            "pos": {
        +              "type": "number"
        +            },
        +            "sheet": {
        +              "minimum": 0,
        +              "type": "integer"
        +            },
        +            "stage": {
        +              "minimum": 1,
        +              "type": "integer"
        +            },
        +            "step": {
        +              "minimum": 1,
        +              "type": "integer"
        +            }
        +          },
        +          "required": [
        +            "sheet",
        +            "step",
        +            "axis",
        +            "pos",
        +            "length",
        +            "stage"
        +          ],
        +          "type": "object"
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "deterministic": {
        +        "const": true,
        +        "type": "boolean"
        +      },
        +      "dxf": {
        +        "type": "string"
        +      },
        +      "edgeBanding": {
        +        "properties": {
        +          "byPart": {
        +            "items": {
        +              "properties": {
        +                "byType": {
        +                  "items": {
        +                    "properties": {
        +                      "meters": {
        +                        "type": "number"
        +                      },
        +                      "reference": {
        +                        "type": "string"
        +                      }
        +                    },
        +                    "required": [
        +                      "reference",
        +                      "meters"
        +                    ],
        +                    "type": "object"
        +                  },
        +                  "type": "array"
        +                },
        +                "meters": {
        +                  "type": "number"
        +                },
        +                "name": {
        +                  "type": "string"
        +                }
        +              },
        +              "required": [
        +                "name",
        +                "meters",
        +                "byType"
        +              ],
        +              "type": "object"
        +            },
        +            "type": "array"
        +          },
        +          "byType": {
        +            "items": {
        +              "properties": {
        +                "meters": {
        +                  "type": "number"
        +                },
        +                "reference": {
        +                  "type": "string"
        +                }
        +              },
        +              "required": [
        +                "reference",
        +                "meters"
        +              ],
        +              "type": "object"
        +            },
        +            "type": "array"
        +          },
        +          "totalMeters": {
        +            "type": "number"
        +          }
        +        },
        +        "required": [
        +          "totalMeters",
        +          "byType",
        +          "byPart"
        +        ],
        +        "type": "object"
        +      },
        +      "engine": {
        +        "enum": [
        +          "heuristic",
        +          "balanced",
        +          "max"
        +        ],
        +        "type": "string"
        +      },
        +      "engineVersion": {
        +        "type": "string"
        +      },
        +      "guillotineValid": {
        +        "type": "boolean"
        +      },
        +      "labels": {
        +        "items": {
        +          "properties": {
        +            "edges": {
        +              "properties": {
        +                "bottom": {
        +                  "properties": {
        +                    "length": {
        +                      "type": "number"
        +                    },
        +                    "reference": {
        +                      "type": "string"
        +                    }
        +                  },
        +                  "required": [
        +                    "reference",
        +                    "length"
        +                  ],
        +                  "type": "object"
        +                },
        +                "left": {
        +                  "properties": {
        +                    "length": {
        +                      "type": "number"
        +                    },
        +                    "reference": {
        +                      "type": "string"
        +                    }
        +                  },
        +                  "required": [
        +                    "reference",
        +                    "length"
        +                  ],
        +                  "type": "object"
        +                },
        +                "right": {
        +                  "properties": {
        +                    "length": {
        +                      "type": "number"
        +                    },
        +                    "reference": {
        +                      "type": "string"
        +                    }
        +                  },
        +                  "required": [
        +                    "reference",
        +                    "length"
        +                  ],
        +                  "type": "object"
        +                },
        +                "top": {
        +                  "properties": {
        +                    "length": {
        +                      "type": "number"
        +                    },
        +                    "reference": {
        +                      "type": "string"
        +                    }
        +                  },
        +                  "required": [
        +                    "reference",
        +                    "length"
        +                  ],
        +                  "type": "object"
        +                }
        +              },
        +              "type": "object"
        +            },
        +            "grain": {
        +              "enum": [
        +                "w",
        +                "h"
        +              ],
        +              "type": "string"
        +            },
        +            "h": {
        +              "type": "number"
        +            },
        +            "material": {
        +              "type": "string"
        +            },
        +            "meta": {
        +              "type": "object"
        +            },
        +            "name": {
        +              "type": "string"
        +            },
        +            "of": {
        +              "minimum": 1,
        +              "type": "integer"
        +            },
        +            "partNo": {
        +              "type": "integer"
        +            },
        +            "piece": {
        +              "minimum": 1,
        +              "type": "integer"
        +            },
        +            "rotated": {
        +              "type": "boolean"
        +            },
        +            "sheet": {
        +              "type": "integer"
        +            },
        +            "sheetMeta": {
        +              "type": "object"
        +            },
        +            "sheetNo": {
        +              "minimum": 1,
        +              "type": "integer"
        +            },
        +            "stockRow": {
        +              "minimum": 0,
        +              "type": "integer"
        +            },
        +            "w": {
        +              "type": "number"
        +            },
        +            "x": {
        +              "type": "number"
        +            },
        +            "y": {
        +              "type": "number"
        +            }
        +          },
        +          "required": [
        +            "sheet",
        +            "name",
        +            "partNo",
        +            "w",
        +            "h",
        +            "rotated",
        +            "x",
        +            "y"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "labelsPdf": {
        +        "format": "byte",
        +        "type": "string"
        +      },
        +      "matchedSets": {
        +        "items": {
        +          "properties": {
        +            "asBlock": {
        +              "type": "integer"
        +            },
        +            "block": {
        +              "properties": {
        +                "h": {
        +                  "type": "number"
        +                },
        +                "w": {
        +                  "type": "number"
        +                }
        +              },
        +              "required": [
        +                "w",
        +                "h"
        +              ],
        +              "type": "object"
        +            },
        +            "id": {
        +              "type": "string"
        +            },
        +            "letter": {
        +              "type": "string"
        +            },
        +            "name": {
        +              "type": "string"
        +            },
        +            "requested": {
        +              "type": "integer"
        +            },
        +            "split": {
        +              "type": "integer"
        +            },
        +            "unplaced": {
        +              "type": "integer"
        +            },
        +            "warnings": {
        +              "items": {
        +                "type": "string"
        +              },
        +              "type": "array"
        +            }
        +          },
        +          "required": [
        +            "id",
        +            "letter",
        +            "requested",
        +            "asBlock",
        +            "split",
        +            "unplaced",
        +            "block",
        +            "warnings"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "materials": {
        +        "items": {
        +          "properties": {
        +            "material": {
        +              "type": "string"
        +            },
        +            "placed": {
        +              "type": "integer"
        +            },
        +            "sheetCount": {
        +              "type": "integer"
        +            },
        +            "total": {
        +              "type": "integer"
        +            },
        +            "totalPrice": {
        +              "type": "number"
        +            },
        +            "yieldPct": {
        +              "type": "number"
        +            }
        +          },
        +          "required": [
        +            "material",
        +            "sheetCount",
        +            "yieldPct",
        +            "placed",
        +            "total",
        +            "totalPrice"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "metrics": {
        +        "properties": {
        +          "cutLength": {
        +            "type": "number"
        +          },
        +          "cutLines": {
        +            "type": "integer"
        +          },
        +          "placed": {
        +            "type": "integer"
        +          },
        +          "sawPasses": {
        +            "type": "integer"
        +          },
        +          "sheetCount": {
        +            "type": "integer"
        +          },
        +          "total": {
        +            "type": "integer"
        +          },
        +          "totalPrice": {
        +            "type": "number"
        +          },
        +          "yieldPct": {
        +            "type": "number"
        +          }
        +        },
        +        "required": [
        +          "sheetCount",
        +          "yieldPct",
        +          "placed",
        +          "total",
        +          "cutLines",
        +          "sawPasses",
        +          "cutLength",
        +          "totalPrice"
        +        ],
        +        "type": "object"
        +      },
        +      "pdf": {
        +        "format": "byte",
        +        "type": "string"
        +      },
        +      "planHash": {
        +        "type": "string"
        +      },
        +      "sheets": {
        +        "items": {
        +          "properties": {
        +            "grain": {
        +              "enum": [
        +                "w",
        +                "h"
        +              ],
        +              "type": "string"
        +            },
        +            "h": {
        +              "type": "number"
        +            },
        +            "material": {
        +              "type": "string"
        +            },
        +            "meta": {
        +              "type": "object"
        +            },
        +            "offcuts": {
        +              "items": {
        +                "properties": {
        +                  "h": {
        +                    "type": "number"
        +                  },
        +                  "w": {
        +                    "type": "number"
        +                  },
        +                  "x": {
        +                    "type": "number"
        +                  },
        +                  "y": {
        +                    "type": "number"
        +                  }
        +                },
        +                "required": [
        +                  "x",
        +                  "y",
        +                  "w",
        +                  "h"
        +                ],
        +                "type": "object"
        +              },
        +              "type": "array"
        +            },
        +            "parts": {
        +              "items": {
        +                "properties": {
        +                  "h": {
        +                    "type": "number"
        +                  },
        +                  "matchedSet": {
        +                    "properties": {
        +                      "hint": {
        +                        "enum": [
        +                          "left",
        +                          "middle",
        +                          "right",
        +                          "top",
        +                          "bottom"
        +                        ],
        +                        "type": "string"
        +                      },
        +                      "id": {
        +                        "type": "string"
        +                      },
        +                      "instance": {
        +                        "minimum": 1,
        +                        "type": "integer"
        +                      },
        +                      "position": {
        +                        "minimum": 1,
        +                        "type": "integer"
        +                      }
        +                    },
        +                    "required": [
        +                      "id",
        +                      "instance",
        +                      "position"
        +                    ],
        +                    "type": "object"
        +                  },
        +                  "meta": {
        +                    "type": "object"
        +                  },
        +                  "name": {
        +                    "type": "string"
        +                  },
        +                  "rotated": {
        +                    "type": "boolean"
        +                  },
        +                  "w": {
        +                    "type": "number"
        +                  },
        +                  "x": {
        +                    "type": "number"
        +                  },
        +                  "y": {
        +                    "type": "number"
        +                  }
        +                },
        +                "required": [
        +                  "name",
        +                  "x",
        +                  "y",
        +                  "w",
        +                  "h",
        +                  "rotated"
        +                ],
        +                "type": "object"
        +              },
        +              "type": "array"
        +            },
        +            "price": {
        +              "type": [
        +                "number",
        +                "null"
        +              ]
        +            },
        +            "w": {
        +              "type": "number"
        +            }
        +          },
        +          "required": [
        +            "w",
        +            "h",
        +            "price",
        +            "parts"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "svg": {
        +        "type": "string"
        +      },
        +      "timing": {
        +        "properties": {
        +          "solveMs": {
        +            "type": "number"
        +          }
        +        },
        +        "required": [
        +          "solveMs"
        +        ],
        +        "type": "object"
        +      },
        +      "unmatchedMaterials": {
        +        "items": {
        +          "properties": {
        +            "material": {
        +              "type": "string"
        +            },
        +            "parts": {
        +              "items": {
        +                "properties": {
        +                  "h": {
        +                    "type": "number"
        +                  },
        +                  "name": {
        +                    "type": "string"
        +                  },
        +                  "qty": {
        +                    "minimum": 1,
        +                    "type": "integer"
        +                  },
        +                  "w": {
        +                    "type": "number"
        +                  }
        +                },
        +                "required": [
        +                  "name",
        +                  "w",
        +                  "h",
        +                  "qty"
        +                ],
        +                "type": "object"
        +              },
        +              "type": "array"
        +            }
        +          },
        +          "required": [
        +            "material",
        +            "parts"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "unplaced": {
        +        "items": {
        +          "properties": {
        +            "h": {
        +              "type": "number"
        +            },
        +            "name": {
        +              "type": "string"
        +            },
        +            "qty": {
        +              "minimum": 1,
        +              "type": "integer"
        +            },
        +            "w": {
        +              "type": "number"
        +            }
        +          },
        +          "required": [
        +            "name",
        +            "w",
        +            "h",
        +            "qty"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "warnings": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      }
        +    },
        +    "required": [
        +      "engine",
        +      "engineVersion",
        +      "contractVersion",
        +      "deterministic",
        +      "sheets",
        +      "metrics",
        +      "unplaced",
        +      "warnings",
        +      "guillotineValid",
        +      "timing"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "properties": {
        +      "contractVersion": {
        +        "type": "string"
        +      },
        +      "deterministic": {
        +        "type": "boolean"
        +      },
        +      "dxf": {
        +        "type": "string"
        +      },
        +      "engine": {
        +        "enum": [
        +          "lbf",
        +          "max"
        +        ],
        +        "type": "string"
        +      },
        +      "engineVersion": {
        +        "type": "string"
        +      },
        +      "imported": {
        +        "properties": {
        +          "parts": {
        +            "type": "integer"
        +          },
        +          "units": {
        +            "items": {
        +              "enum": [
        +                "mm",
        +                "in"
        +              ],
        +              "type": "string"
        +            },
        +            "type": "array"
        +          },
        +          "vertices": {
        +            "type": "integer"
        +          }
        +        },
        +        "required": [
        +          "parts",
        +          "vertices",
        +          "units"
        +        ],
        +        "type": "object"
        +      },
        +      "materials": {
        +        "items": {
        +          "properties": {
        +            "density": {
        +              "type": "number"
        +            },
        +            "material": {
        +              "type": "string"
        +            },
        +            "placed": {
        +              "type": "integer"
        +            },
        +            "sheetCount": {
        +              "type": "integer"
        +            },
        +            "total": {
        +              "type": "integer"
        +            },
        +            "totalPrice": {
        +              "type": "number"
        +            }
        +          },
        +          "required": [
        +            "material",
        +            "sheetCount",
        +            "density",
        +            "placed",
        +            "total",
        +            "totalPrice"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "metrics": {
        +        "properties": {
        +          "cutLength": {
        +            "type": "number"
        +          },
        +          "density": {
        +            "type": "number"
        +          },
        +          "pierces": {
        +            "type": "integer"
        +          },
        +          "placed": {
        +            "type": "integer"
        +          },
        +          "sheetCount": {
        +            "type": "integer"
        +          },
        +          "total": {
        +            "type": "integer"
        +          },
        +          "totalPrice": {
        +            "type": "number"
        +          }
        +        },
        +        "required": [
        +          "sheetCount",
        +          "density",
        +          "placed",
        +          "total",
        +          "totalPrice",
        +          "cutLength",
        +          "pierces"
        +        ],
        +        "type": "object"
        +      },
        +      "sheets": {
        +        "items": {
        +          "properties": {
        +            "cutLength": {
        +              "type": "number"
        +            },
        +            "density": {
        +              "type": "number"
        +            },
        +            "exclusions": {
        +              "items": {
        +                "properties": {
        +                  "polygon": {
        +                    "items": {
        +                      "items": {
        +                        "type": "number"
        +                      },
        +                      "maxItems": 2,
        +                      "minItems": 2,
        +                      "type": "array"
        +                    },
        +                    "minItems": 3,
        +                    "type": "array"
        +                  },
        +                  "quality": {
        +                    "default": 0,
        +                    "minimum": 0,
        +                    "type": "integer"
        +                  }
        +                },
        +                "required": [
        +                  "polygon"
        +                ],
        +                "type": "object"
        +              },
        +              "type": "array"
        +            },
        +            "h": {
        +              "type": "number"
        +            },
        +            "material": {
        +              "type": "string"
        +            },
        +            "meta": {
        +              "type": "object"
        +            },
        +            "parts": {
        +              "items": {
        +                "properties": {
        +                  "material": {
        +                    "type": "string"
        +                  },
        +                  "meta": {
        +                    "type": "object"
        +                  },
        +                  "name": {
        +                    "type": "string"
        +                  },
        +                  "rotation": {
        +                    "type": "number"
        +                  },
        +                  "sheet": {
        +                    "type": "integer"
        +                  },
        +                  "x": {
        +                    "type": "number"
        +                  },
        +                  "y": {
        +                    "type": "number"
        +                  }
        +                },
        +                "required": [
        +                  "name",
        +                  "sheet",
        +                  "x",
        +                  "y",
        +                  "rotation"
        +                ],
        +                "type": "object"
        +              },
        +              "type": "array"
        +            },
        +            "pierces": {
        +              "type": "integer"
        +            },
        +            "polygon": {
        +              "items": {
        +                "items": {
        +                  "type": "number"
        +                },
        +                "maxItems": 2,
        +                "minItems": 2,
        +                "type": "array"
        +              },
        +              "minItems": 3,
        +              "type": "array"
        +            },
        +            "price": {
        +              "type": [
        +                "number",
        +                "null"
        +              ]
        +            },
        +            "stock": {
        +              "minimum": 0,
        +              "type": "integer"
        +            },
        +            "usedArea": {
        +              "type": "number"
        +            },
        +            "usedHeight": {
        +              "type": "number"
        +            },
        +            "usedWidth": {
        +              "type": "number"
        +            },
        +            "w": {
        +              "type": "number"
        +            }
        +          },
        +          "required": [
        +            "stock",
        +            "price",
        +            "density",
        +            "cutLength",
        +            "pierces",
        +            "usedWidth",
        +            "usedHeight",
        +            "usedArea",
        +            "parts"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "stockUsage": {
        +        "items": {
        +          "properties": {
        +            "density": {
        +              "type": "number"
        +            },
        +            "h": {
        +              "type": "number"
        +            },
        +            "material": {
        +              "type": "string"
        +            },
        +            "sheetCount": {
        +              "type": "integer"
        +            },
        +            "stock": {
        +              "minimum": 0,
        +              "type": "integer"
        +            },
        +            "totalPrice": {
        +              "type": "number"
        +            },
        +            "usedArea": {
        +              "type": "number"
        +            },
        +            "w": {
        +              "type": "number"
        +            }
        +          },
        +          "required": [
        +            "stock",
        +            "sheetCount",
        +            "totalPrice",
        +            "density",
        +            "usedArea"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "svg": {
        +        "type": "string"
        +      },
        +      "timing": {
        +        "properties": {
        +          "solveMs": {
        +            "type": "number"
        +          }
        +        },
        +        "required": [
        +          "solveMs"
        +        ],
        +        "type": "object"
        +      },
        +      "unmatchedMaterials": {
        +        "items": {
        +          "properties": {
        +            "material": {
        +              "type": "string"
        +            },
        +            "parts": {
        +              "items": {
        +                "properties": {
        +                  "name": {
        +                    "type": "string"
        +                  },
        +                  "qty": {
        +                    "type": "integer"
        +                  }
        +                },
        +                "required": [
        +                  "name",
        +                  "qty"
        +                ],
        +                "type": "object"
        +              },
        +              "type": "array"
        +            }
        +          },
        +          "required": [
        +            "material",
        +            "parts"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "unplaced": {
        +        "items": {
        +          "properties": {
        +            "name": {
        +              "type": "string"
        +            },
        +            "qty": {
        +              "type": "integer"
        +            }
        +          },
        +          "required": [
        +            "name",
        +            "qty"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "warnings": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      }
        +    },
        +    "required": [
        +      "engine",
        +      "engineVersion",
        +      "contractVersion",
        +      "deterministic",
        +      "sheets",
        +      "metrics",
        +      "stockUsage",
        +      "unplaced",
        +      "warnings",
        +      "timing"
        +    ],
        +    "type": "object"
        +  }
        +]
    • Changedoptimize_2d2 fields changed
      • addedInput schema / properties / options / properties / labels
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Label settings — the same settings as the Label format panel of the CutOptim app, under these names. They shape `labelsPdf` and add `piece`, `of`, `sheetNo`, `stockRow` and `sheetMeta` to every `labels[]` entry. Every field is optional; `{}` is valid and only adds those fields. Absent: the label PDF is the A4 sheet and `labels[]` is exactly as without this object. Validated STRICTLY, unlike the rest of `options`: an unknown key, a wrong type or a value out of range is a 400 `invalid_request` with `details.path`, before any call is counted (also on `/v1/validate/2d`). `null` for a field means the field is absent. Sent without `include` `labels` or `labelsPdf`, it changes nothing and the answer says so in `warnings`. 2D only.",
        +  "properties": {
        +    "dimSize": {
        +      "default": "normal",
        +      "description": "Size of the dimension text on the label.",
        +      "enum": [
        +        "normal",
        +        "large",
        +        "xl"
        +      ],
        +      "type": "string"
        +    },
        +    "factoryEdges": {
        +      "default": false,
        +      "description": "Mark FE on the edges of a piece that lie on a sheet edge with no `trim` on that side (the board's factory edge).",
        +      "type": "boolean"
        +    },
        +    "format": {
        +      "default": "sheet",
        +      "description": "`sheet` = the A4 sheet of labels (3 columns); `roll` = one label per page, `width` × `height` mm, for a label printer; `apli-03056` = APLI 03056 sheets (24 labels of 64.6 × 33.9 mm on A4, 3 × 8); `brother-dk-11201` = Brother DK-11201 roll labels (29 × 90 mm, one per page).",
        +      "enum": [
        +        "sheet",
        +        "roll",
        +        "apli-03056",
        +        "brother-dk-11201"
        +      ],
        +      "type": "string"
        +    },
        +    "height": {
        +      "default": 40,
        +      "description": "Label height in mm, `roll` only.",
        +      "maximum": 300,
        +      "minimum": 15,
        +      "type": "number"
        +    },
        +    "hiddenFaceHint": {
        +      "default": false,
        +      "description": "Print the \"hidden side\" mark.",
        +      "type": "boolean"
        +    },
        +    "offset": {
        +      "additionalProperties": false,
        +      "description": "Printer offset in mm: moves everything printed on the label right (`x`) and down (`y`); negative values move it back. Applied rounded to 0.1 mm.",
        +      "properties": {
        +        "x": {
        +          "default": 0,
        +          "maximum": 20,
        +          "minimum": -20,
        +          "type": "number"
        +        },
        +        "y": {
        +          "default": 0,
        +          "maximum": 20,
        +          "minimum": -20,
        +          "type": "number"
        +        }
        +      },
        +      "type": "object"
        +    },
        +    "order": {
        +      "default": "input",
        +      "description": "`input` = labels in `parts` order; `cut` = sheet by sheet, in the order the saw plan frees the pieces.",
        +      "enum": [
        +        "input",
        +        "cut"
        +      ],
        +      "type": "string"
        +    },
        +    "partNo": {
        +      "default": false,
        +      "description": "Print the part number, top left and largest: the 1-based row of the FIRST `parts` row with that name (rows sharing a name share a number; with unique names it equals `labels[].partNo`).",
        +      "type": "boolean"
        +    },
        +    "parts": {
        +      "description": "Print only the labels of these part numbers (the numbers `partNo` prints), e.g. to re-print after sanding. Empty or absent = all.",
        +      "items": {
        +        "maximum": 999999,
        +        "minimum": 1,
        +        "type": "integer"
        +      },
        +      "maxItems": 500,
        +      "type": "array"
        +    },
        +    "stageWords": {
        +      "additionalProperties": false,
        +      "description": "Your own word for a built-in stage key, at most 6 characters; empty or absent = the English abbreviation (RC, C2S, EB, S, D).",
        +      "properties": {
        +        "c2s": {
        +          "maxLength": 6,
        +          "type": "string"
        +        },
        +        "d": {
        +          "maxLength": 6,
        +          "type": "string"
        +        },
        +        "eb": {
        +          "maxLength": 6,
        +          "type": "string"
        +        },
        +        "rc": {
        +          "maxLength": 6,
        +          "type": "string"
        +        },
        +        "s": {
        +          "maxLength": 6,
        +          "type": "string"
        +        }
        +      },
        +      "type": "object"
        +    },
        +    "stages": {
        +      "description": "Work stages printed as a row of circles to tick off by pen; empty or absent = no row. Each entry is a built-in key — `rc` (rough cut), `c2s` (cut to size), `eb` (edge banded, printed only on a banded part), `s` (sanded), `d` (drilled, not printed yet) — or free text of at most 6 characters, printed as sent (keys are lower case: `RC` is free text). Spaces are trimmed; printable characters only.",
        +      "items": {
        +        "maxLength": 6,
        +        "minLength": 1,
        +        "type": "string"
        +      },
        +      "maxItems": 6,
        +      "type": "array"
        +    },
        +    "width": {
        +      "default": 100,
        +      "description": "Label width in mm, `roll` only.",
        +      "maximum": 300,
        +      "minimum": 20,
        +      "type": "number"
        +    }
        +  },
        +  "type": "object"
        +}
      • changedOutput schema / anyOf
        Previous value: -[
        -  {
        -    "properties": {
        -      "contractVersion": {
        -        "type": "string"
        -      },
        -      "csv": {
        -        "type": "string"
        -      },
        -      "cutPlan": {
        -        "items": {
        -          "properties": {
        -            "angle": {
        -              "type": "number"
        -            },
        -            "axis": {
        -              "enum": [
        -                "h",
        -                "v"
        -              ],
        -              "type": "string"
        -            },
        -            "bevel": {
        -              "type": "number"
        -            },
        -            "length": {
        -              "minimum": 0,
        -              "type": "number"
        -            },
        -            "pos": {
        -              "type": "number"
        -            },
        -            "sheet": {
        -              "minimum": 0,
        -              "type": "integer"
        -            },
        -            "stage": {
        -              "minimum": 1,
        -              "type": "integer"
        -            },
        -            "step": {
        -              "minimum": 1,
        -              "type": "integer"
        -            }
        -          },
        -          "required": [
        -            "sheet",
        -            "step",
        -            "axis",
        -            "pos",
        -            "length",
        -            "stage"
        -          ],
        -          "type": "object"
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "deterministic": {
        -        "const": true,
        -        "type": "boolean"
        -      },
        -      "dxf": {
        -        "type": "string"
        -      },
        -      "edgeBanding": {
        -        "properties": {
        -          "byPart": {
        -            "items": {
        -              "properties": {
        -                "byType": {
        -                  "items": {
        -                    "properties": {
        -                      "meters": {
        -                        "type": "number"
        -                      },
        -                      "reference": {
        -                        "type": "string"
        -                      }
        -                    },
        -                    "required": [
        -                      "reference",
        -                      "meters"
        -                    ],
        -                    "type": "object"
        -                  },
        -                  "type": "array"
        -                },
        -                "meters": {
        -                  "type": "number"
        -                },
        -                "name": {
        -                  "type": "string"
        -                }
        -              },
        -              "required": [
        -                "name",
        -                "meters",
        -                "byType"
        -              ],
        -              "type": "object"
        -            },
        -            "type": "array"
        -          },
        -          "byType": {
        -            "items": {
        -              "properties": {
        -                "meters": {
        -                  "type": "number"
        -                },
        -                "reference": {
        -                  "type": "string"
        -                }
        -              },
        -              "required": [
        -                "reference",
        -                "meters"
        -              ],
        -              "type": "object"
        -            },
        -            "type": "array"
        -          },
        -          "totalMeters": {
        -            "type": "number"
        -          }
        -        },
        -        "required": [
        -          "totalMeters",
        -          "byType",
        -          "byPart"
        -        ],
        -        "type": "object"
        -      },
        -      "engine": {
        -        "enum": [
        -          "heuristic",
        -          "balanced",
        -          "max"
        -        ],
        -        "type": "string"
        -      },
        -      "engineVersion": {
        -        "type": "string"
        -      },
        -      "guillotineValid": {
        -        "type": "boolean"
        -      },
        -      "labels": {
        -        "items": {
        -          "properties": {
        -            "edges": {
        -              "properties": {
        -                "bottom": {
        -                  "properties": {
        -                    "length": {
        -                      "type": "number"
        -                    },
        -                    "reference": {
        -                      "type": "string"
        -                    }
        -                  },
        -                  "required": [
        -                    "reference",
        -                    "length"
        -                  ],
        -                  "type": "object"
        -                },
        -                "left": {
        -                  "properties": {
        -                    "length": {
        -                      "type": "number"
        -                    },
        -                    "reference": {
        -                      "type": "string"
        -                    }
        -                  },
        -                  "required": [
        -                    "reference",
        -                    "length"
        -                  ],
        -                  "type": "object"
        -                },
        -                "right": {
        -                  "properties": {
        -                    "length": {
        -                      "type": "number"
        -                    },
        -                    "reference": {
        -                      "type": "string"
        -                    }
        -                  },
        -                  "required": [
        -                    "reference",
        -                    "length"
        -                  ],
        -                  "type": "object"
        -                },
        -                "top": {
        -                  "properties": {
        -                    "length": {
        -                      "type": "number"
        -                    },
        -                    "reference": {
        -                      "type": "string"
        -                    }
        -                  },
        -                  "required": [
        -                    "reference",
        -                    "length"
        -                  ],
        -                  "type": "object"
        -                }
        -              },
        -              "type": "object"
        -            },
        -            "grain": {
        -              "enum": [
        -                "w",
        -                "h"
        -              ],
        -              "type": "string"
        -            },
        -            "h": {
        -              "type": "number"
        -            },
        -            "material": {
        -              "type": "string"
        -            },
        -            "meta": {
        -              "type": "object"
        -            },
        -            "name": {
        -              "type": "string"
        -            },
        -            "partNo": {
        -              "type": "integer"
        -            },
        -            "rotated": {
        -              "type": "boolean"
        -            },
        -            "sheet": {
        -              "type": "integer"
        -            },
        -            "w": {
        -              "type": "number"
        -            },
        -            "x": {
        -              "type": "number"
        -            },
        -            "y": {
        -              "type": "number"
        -            }
        -          },
        -          "required": [
        -            "sheet",
        -            "name",
        -            "partNo",
        -            "w",
        -            "h",
        -            "rotated",
        -            "x",
        -            "y"
        -          ],
        -          "type": "object"
        -        },
        -        "type": "array"
        -      },
        -      "labelsPdf": {
        -        "format": "byte",
        -        "type": "string"
        -      },
        -      "matchedSets": {
        -        "items": {
        -          "properties": {
        -            "asBlock": {
        -              "type": "integer"
        -            },
        -            "block": {
        -              "properties": {
        -                "h": {
        -                  "type": "number"
        -                },
        -                "w": {
        -                  "type": "number"
        -                }
        -              },
        -              "required": [
        -                "w",
        -                "h"
        -              ],
        -              "type": "object"
        -            },
        -            "id": {
        -              "type": "string"
        -            },
        -            "letter": {
        -              "type": "string"
        -            },
        -            "name": {
        -              "type": "string"
        -            },
        -            "requested": {
        -              "type": "integer"
        -            },
        -            "split": {
        -              "type": "integer"
        -            },
        -            "unplaced": {
        -              "type": "integer"
        -            },
        -            "warnings": {
        -              "items": {
        -                "type": "string"
        -              },
        -              "type": "array"
        -            }
        -          },
        -          "required": [
        -            "id",
        -            "letter",
        -            "requested",
        -            "asBlock",
        -            "split",
        -            "unplaced",
        -            "block",
        -            "warnings"
        -          ],
        -          "type": "object"
        -        },
        -        "type": "array"
        -      },
        -      "materials": {
        -        "items": {
        -          "properties": {
        -            "material": {
        -              "type": "string"
        -            },
        -            "placed": {
        -              "type": "integer"
        -            },
        -            "sheetCount": {
        -              "type": "integer"
        -            },
        -            "total": {
        -              "type": "integer"
        -            },
        -            "totalPrice": {
        -              "type": "number"
        -            },
        -            "yieldPct": {
        -              "type": "number"
        -            }
        -          },
        -          "required": [
        -            "material",
        -            "sheetCount",
        -            "yieldPct",
        -            "placed",
        -            "total",
        -            "totalPrice"
        -          ],
        -          "type": "object"
        -        },
        -        "type": "array"
        -      },
        -      "metrics": {
        -        "properties": {
        -          "cutLength": {
        -            "type": "number"
        -          },
        -          "cutLines": {
        -            "type": "integer"
        -          },
        -          "placed": {
        -            "type": "integer"
        -          },
        -          "sawPasses": {
        -            "type": "integer"
        -          },
        -          "sheetCount": {
        -            "type": "integer"
        -          },
        -          "total": {
        -            "type": "integer"
        -          },
        -          "totalPrice": {
        -            "type": "number"
        -          },
        -          "yieldPct": {
        -            "type": "number"
        -          }
        -        },
        -        "required": [
        -          "sheetCount",
        -          "yieldPct",
        -          "placed",
        -          "total",
        -          "cutLines",
        -          "sawPasses",
        -          "cutLength",
        -          "totalPrice"
        -        ],
        -        "type": "object"
        -      },
        -      "pdf": {
        -        "format": "byte",
        -        "type": "string"
        -      },
        -      "planHash": {
        -        "type": "string"
        -      },
        -      "sheets": {
        -        "items": {
        -          "properties": {
        -            "grain": {
        -              "enum": [
        -                "w",
        -                "h"
        -              ],
        -              "type": "string"
        -            },
        -            "h": {
        -              "type": "number"
        -            },
        -            "material": {
        -              "type": "string"
        -            },
        -            "meta": {
        -              "type": "object"
        -            },
        -            "offcuts": {
        -              "items": {
        -                "properties": {
        -                  "h": {
        -                    "type": "number"
        -                  },
        -                  "w": {
        -                    "type": "number"
        -                  },
        -                  "x": {
        -                    "type": "number"
        -                  },
        -                  "y": {
        -                    "type": "number"
        -                  }
        -                },
        -                "required": [
        -                  "x",
        -                  "y",
        -                  "w",
        -                  "h"
        -                ],
        -                "type": "object"
        -              },
        -              "type": "array"
        -            },
        -            "parts": {
        -              "items": {
        -                "properties": {
        -                  "h": {
        -                    "type": "number"
        -                  },
        -                  "matchedSet": {
        -                    "properties": {
        -                      "hint": {
        -                        "enum": [
        -                          "left",
        -                          "middle",
        -                          "right",
        -                          "top",
        -                          "bottom"
        -                        ],
        -                        "type": "string"
        -                      },
        -                      "id": {
        -                        "type": "string"
        -                      },
        -                      "instance": {
        -                        "minimum": 1,
        -                        "type": "integer"
        -                      },
        -                      "position": {
        -                        "minimum": 1,
        -                        "type": "integer"
        -                      }
        -                    },
        -                    "required": [
        -                      "id",
        -                      "instance",
        -                      "position"
        -                    ],
        -                    "type": "object"
        -                  },
        -                  "meta": {
        -                    "type": "object"
        -                  },
        -                  "name": {
        -                    "type": "string"
        -                  },
        -                  "rotated": {
        -                    "type": "boolean"
        -                  },
        -                  "w": {
        -                    "type": "number"
        -                  },
        -                  "x": {
        -                    "type": "number"
        -                  },
        -                  "y": {
        -                    "type": "number"
        -                  }
        -                },
        -                "required": [
        -                  "name",
        -                  "x",
        -                  "y",
        -                  "w",
        -                  "h",
        -                  "rotated"
        -                ],
        -                "type": "object"
        -              },
        -              "type": "array"
        -            },
        -            "price": {
        -              "type": [
        -                "number",
        -                "null"
        -              ]
        -            },
        -            "w": {
        -              "type": "number"
        -            }
        -          },
        -          "required": [
        -            "w",
        -            "h",
        -            "price",
        -            "parts"
        -          ],
        -          "type": "object"
        -        },
        -        "type": "array"
        -      },
        -      "svg": {
        -        "type": "string"
        -      },
        -      "timing": {
        -        "properties": {
        -          "solveMs": {
        -            "type": "number"
        -          }
        -        },
        -        "required": [
        -          "solveMs"
        -        ],
        -        "type": "object"
        -      },
        -      "unmatchedMaterials": {
        -        "items": {
        -          "properties": {
        -            "material": {
        -              "type": "string"
        -            },
        -            "parts": {
        -              "items": {
        -                "properties": {
        -                  "h": {
        -                    "type": "number"
        -                  },
        -                  "name": {
        -                    "type": "string"
        -                  },
        -                  "qty": {
        -                    "minimum": 1,
        -                    "type": "integer"
        -                  },
        -                  "w": {
        -                    "type": "number"
        -                  }
        -                },
        -                "required": [
        -                  "name",
        -                  "w",
        -                  "h",
        -                  "qty"
        -                ],
        -                "type": "object"
        -              },
        -              "type": "array"
        -            }
        -          },
        -          "required": [
        -            "material",
        -            "parts"
        -          ],
        -          "type": "object"
        -        },
        -        "type": "array"
        -      },
        -      "unplaced": {
        -        "items": {
        -          "properties": {
        -            "h": {
        -              "type": "number"
        -            },
        -            "name": {
        -              "type": "string"
        -            },
        -            "qty": {
        -              "minimum": 1,
        -              "type": "integer"
        -            },
        -            "w": {
        -              "type": "number"
        -            }
        -          },
        -          "required": [
        -            "name",
        -            "w",
        -            "h",
        -            "qty"
        -          ],
        -          "type": "object"
        -        },
        -        "type": "array"
        -      },
        -      "warnings": {
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": "array"
        -      }
        -    },
        -    "required": [
        -      "engine",
        -      "engineVersion",
        -      "contractVersion",
        -      "deterministic",
        -      "sheets",
        -      "metrics",
        -      "unplaced",
        -      "warnings",
        -      "guillotineValid",
        -      "timing"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "properties": {
        -      "engine": {
        -        "enum": [
        -          "max"
        -        ],
        -        "type": "string"
        -      },
        -      "jobId": {
        -        "format": "uuid",
        -        "type": "string"
        -      },
        -      "mode": {
        -        "enum": [
        -          "2d"
        -        ],
        -        "type": "string"
        -      },
        -      "pollAfterMs": {
        -        "type": "integer"
        -      },
        -      "quota": {
        -        "properties": {
        -          "limit": {
        -            "type": "integer"
        -          },
        -          "reserved": {
        -            "type": "integer"
        -          },
        -          "used": {
        -            "type": "integer"
        -          }
        -        },
        -        "type": "object"
        -      },
        -      "status": {
        -        "enum": [
        -          "queued"
        -        ],
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "jobId",
        -      "status",
        -      "mode",
        -      "engine",
        -      "pollAfterMs"
        -    ],
        -    "type": "object"
        -  }
        -]New value: +[
        +  {
        +    "properties": {
        +      "contractVersion": {
        +        "type": "string"
        +      },
        +      "csv": {
        +        "type": "string"
        +      },
        +      "cutPlan": {
        +        "items": {
        +          "properties": {
        +            "angle": {
        +              "type": "number"
        +            },
        +            "axis": {
        +              "enum": [
        +                "h",
        +                "v"
        +              ],
        +              "type": "string"
        +            },
        +            "bevel": {
        +              "type": "number"
        +            },
        +            "length": {
        +              "minimum": 0,
        +              "type": "number"
        +            },
        +            "pos": {
        +              "type": "number"
        +            },
        +            "sheet": {
        +              "minimum": 0,
        +              "type": "integer"
        +            },
        +            "stage": {
        +              "minimum": 1,
        +              "type": "integer"
        +            },
        +            "step": {
        +              "minimum": 1,
        +              "type": "integer"
        +            }
        +          },
        +          "required": [
        +            "sheet",
        +            "step",
        +            "axis",
        +            "pos",
        +            "length",
        +            "stage"
        +          ],
        +          "type": "object"
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "deterministic": {
        +        "const": true,
        +        "type": "boolean"
        +      },
        +      "dxf": {
        +        "type": "string"
        +      },
        +      "edgeBanding": {
        +        "properties": {
        +          "byPart": {
        +            "items": {
        +              "properties": {
        +                "byType": {
        +                  "items": {
        +                    "properties": {
        +                      "meters": {
        +                        "type": "number"
        +                      },
        +                      "reference": {
        +                        "type": "string"
        +                      }
        +                    },
        +                    "required": [
        +                      "reference",
        +                      "meters"
        +                    ],
        +                    "type": "object"
        +                  },
        +                  "type": "array"
        +                },
        +                "meters": {
        +                  "type": "number"
        +                },
        +                "name": {
        +                  "type": "string"
        +                }
        +              },
        +              "required": [
        +                "name",
        +                "meters",
        +                "byType"
        +              ],
        +              "type": "object"
        +            },
        +            "type": "array"
        +          },
        +          "byType": {
        +            "items": {
        +              "properties": {
        +                "meters": {
        +                  "type": "number"
        +                },
        +                "reference": {
        +                  "type": "string"
        +                }
        +              },
        +              "required": [
        +                "reference",
        +                "meters"
        +              ],
        +              "type": "object"
        +            },
        +            "type": "array"
        +          },
        +          "totalMeters": {
        +            "type": "number"
        +          }
        +        },
        +        "required": [
        +          "totalMeters",
        +          "byType",
        +          "byPart"
        +        ],
        +        "type": "object"
        +      },
        +      "engine": {
        +        "enum": [
        +          "heuristic",
        +          "balanced",
        +          "max"
        +        ],
        +        "type": "string"
        +      },
        +      "engineVersion": {
        +        "type": "string"
        +      },
        +      "guillotineValid": {
        +        "type": "boolean"
        +      },
        +      "labels": {
        +        "items": {
        +          "properties": {
        +            "edges": {
        +              "properties": {
        +                "bottom": {
        +                  "properties": {
        +                    "length": {
        +                      "type": "number"
        +                    },
        +                    "reference": {
        +                      "type": "string"
        +                    }
        +                  },
        +                  "required": [
        +                    "reference",
        +                    "length"
        +                  ],
        +                  "type": "object"
        +                },
        +                "left": {
        +                  "properties": {
        +                    "length": {
        +                      "type": "number"
        +                    },
        +                    "reference": {
        +                      "type": "string"
        +                    }
        +                  },
        +                  "required": [
        +                    "reference",
        +                    "length"
        +                  ],
        +                  "type": "object"
        +                },
        +                "right": {
        +                  "properties": {
        +                    "length": {
        +                      "type": "number"
        +                    },
        +                    "reference": {
        +                      "type": "string"
        +                    }
        +                  },
        +                  "required": [
        +                    "reference",
        +                    "length"
        +                  ],
        +                  "type": "object"
        +                },
        +                "top": {
        +                  "properties": {
        +                    "length": {
        +                      "type": "number"
        +                    },
        +                    "reference": {
        +                      "type": "string"
        +                    }
        +                  },
        +                  "required": [
        +                    "reference",
        +                    "length"
        +                  ],
        +                  "type": "object"
        +                }
        +              },
        +              "type": "object"
        +            },
        +            "grain": {
        +              "enum": [
        +                "w",
        +                "h"
        +              ],
        +              "type": "string"
        +            },
        +            "h": {
        +              "type": "number"
        +            },
        +            "material": {
        +              "type": "string"
        +            },
        +            "meta": {
        +              "type": "object"
        +            },
        +            "name": {
        +              "type": "string"
        +            },
        +            "of": {
        +              "minimum": 1,
        +              "type": "integer"
        +            },
        +            "partNo": {
        +              "type": "integer"
        +            },
        +            "piece": {
        +              "minimum": 1,
        +              "type": "integer"
        +            },
        +            "rotated": {
        +              "type": "boolean"
        +            },
        +            "sheet": {
        +              "type": "integer"
        +            },
        +            "sheetMeta": {
        +              "type": "object"
        +            },
        +            "sheetNo": {
        +              "minimum": 1,
        +              "type": "integer"
        +            },
        +            "stockRow": {
        +              "minimum": 0,
        +              "type": "integer"
        +            },
        +            "w": {
        +              "type": "number"
        +            },
        +            "x": {
        +              "type": "number"
        +            },
        +            "y": {
        +              "type": "number"
        +            }
        +          },
        +          "required": [
        +            "sheet",
        +            "name",
        +            "partNo",
        +            "w",
        +            "h",
        +            "rotated",
        +            "x",
        +            "y"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "labelsPdf": {
        +        "format": "byte",
        +        "type": "string"
        +      },
        +      "matchedSets": {
        +        "items": {
        +          "properties": {
        +            "asBlock": {
        +              "type": "integer"
        +            },
        +            "block": {
        +              "properties": {
        +                "h": {
        +                  "type": "number"
        +                },
        +                "w": {
        +                  "type": "number"
        +                }
        +              },
        +              "required": [
        +                "w",
        +                "h"
        +              ],
        +              "type": "object"
        +            },
        +            "id": {
        +              "type": "string"
        +            },
        +            "letter": {
        +              "type": "string"
        +            },
        +            "name": {
        +              "type": "string"
        +            },
        +            "requested": {
        +              "type": "integer"
        +            },
        +            "split": {
        +              "type": "integer"
        +            },
        +            "unplaced": {
        +              "type": "integer"
        +            },
        +            "warnings": {
        +              "items": {
        +                "type": "string"
        +              },
        +              "type": "array"
        +            }
        +          },
        +          "required": [
        +            "id",
        +            "letter",
        +            "requested",
        +            "asBlock",
        +            "split",
        +            "unplaced",
        +            "block",
        +            "warnings"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "materials": {
        +        "items": {
        +          "properties": {
        +            "material": {
        +              "type": "string"
        +            },
        +            "placed": {
        +              "type": "integer"
        +            },
        +            "sheetCount": {
        +              "type": "integer"
        +            },
        +            "total": {
        +              "type": "integer"
        +            },
        +            "totalPrice": {
        +              "type": "number"
        +            },
        +            "yieldPct": {
        +              "type": "number"
        +            }
        +          },
        +          "required": [
        +            "material",
        +            "sheetCount",
        +            "yieldPct",
        +            "placed",
        +            "total",
        +            "totalPrice"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "metrics": {
        +        "properties": {
        +          "cutLength": {
        +            "type": "number"
        +          },
        +          "cutLines": {
        +            "type": "integer"
        +          },
        +          "placed": {
        +            "type": "integer"
        +          },
        +          "sawPasses": {
        +            "type": "integer"
        +          },
        +          "sheetCount": {
        +            "type": "integer"
        +          },
        +          "total": {
        +            "type": "integer"
        +          },
        +          "totalPrice": {
        +            "type": "number"
        +          },
        +          "yieldPct": {
        +            "type": "number"
        +          }
        +        },
        +        "required": [
        +          "sheetCount",
        +          "yieldPct",
        +          "placed",
        +          "total",
        +          "cutLines",
        +          "sawPasses",
        +          "cutLength",
        +          "totalPrice"
        +        ],
        +        "type": "object"
        +      },
        +      "pdf": {
        +        "format": "byte",
        +        "type": "string"
        +      },
        +      "planHash": {
        +        "type": "string"
        +      },
        +      "sheets": {
        +        "items": {
        +          "properties": {
        +            "grain": {
        +              "enum": [
        +                "w",
        +                "h"
        +              ],
        +              "type": "string"
        +            },
        +            "h": {
        +              "type": "number"
        +            },
        +            "material": {
        +              "type": "string"
        +            },
        +            "meta": {
        +              "type": "object"
        +            },
        +            "offcuts": {
        +              "items": {
        +                "properties": {
        +                  "h": {
        +                    "type": "number"
        +                  },
        +                  "w": {
        +                    "type": "number"
        +                  },
        +                  "x": {
        +                    "type": "number"
        +                  },
        +                  "y": {
        +                    "type": "number"
        +                  }
        +                },
        +                "required": [
        +                  "x",
        +                  "y",
        +                  "w",
        +                  "h"
        +                ],
        +                "type": "object"
        +              },
        +              "type": "array"
        +            },
        +            "parts": {
        +              "items": {
        +                "properties": {
        +                  "h": {
        +                    "type": "number"
        +                  },
        +                  "matchedSet": {
        +                    "properties": {
        +                      "hint": {
        +                        "enum": [
        +                          "left",
        +                          "middle",
        +                          "right",
        +                          "top",
        +                          "bottom"
        +                        ],
        +                        "type": "string"
        +                      },
        +                      "id": {
        +                        "type": "string"
        +                      },
        +                      "instance": {
        +                        "minimum": 1,
        +                        "type": "integer"
        +                      },
        +                      "position": {
        +                        "minimum": 1,
        +                        "type": "integer"
        +                      }
        +                    },
        +                    "required": [
        +                      "id",
        +                      "instance",
        +                      "position"
        +                    ],
        +                    "type": "object"
        +                  },
        +                  "meta": {
        +                    "type": "object"
        +                  },
        +                  "name": {
        +                    "type": "string"
        +                  },
        +                  "rotated": {
        +                    "type": "boolean"
        +                  },
        +                  "w": {
        +                    "type": "number"
        +                  },
        +                  "x": {
        +                    "type": "number"
        +                  },
        +                  "y": {
        +                    "type": "number"
        +                  }
        +                },
        +                "required": [
        +                  "name",
        +                  "x",
        +                  "y",
        +                  "w",
        +                  "h",
        +                  "rotated"
        +                ],
        +                "type": "object"
        +              },
        +              "type": "array"
        +            },
        +            "price": {
        +              "type": [
        +                "number",
        +                "null"
        +              ]
        +            },
        +            "w": {
        +              "type": "number"
        +            }
        +          },
        +          "required": [
        +            "w",
        +            "h",
        +            "price",
        +            "parts"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "svg": {
        +        "type": "string"
        +      },
        +      "timing": {
        +        "properties": {
        +          "solveMs": {
        +            "type": "number"
        +          }
        +        },
        +        "required": [
        +          "solveMs"
        +        ],
        +        "type": "object"
        +      },
        +      "unmatchedMaterials": {
        +        "items": {
        +          "properties": {
        +            "material": {
        +              "type": "string"
        +            },
        +            "parts": {
        +              "items": {
        +                "properties": {
        +                  "h": {
        +                    "type": "number"
        +                  },
        +                  "name": {
        +                    "type": "string"
        +                  },
        +                  "qty": {
        +                    "minimum": 1,
        +                    "type": "integer"
        +                  },
        +                  "w": {
        +                    "type": "number"
        +                  }
        +                },
        +                "required": [
        +                  "name",
        +                  "w",
        +                  "h",
        +                  "qty"
        +                ],
        +                "type": "object"
        +              },
        +              "type": "array"
        +            }
        +          },
        +          "required": [
        +            "material",
        +            "parts"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "unplaced": {
        +        "items": {
        +          "properties": {
        +            "h": {
        +              "type": "number"
        +            },
        +            "name": {
        +              "type": "string"
        +            },
        +            "qty": {
        +              "minimum": 1,
        +              "type": "integer"
        +            },
        +            "w": {
        +              "type": "number"
        +            }
        +          },
        +          "required": [
        +            "name",
        +            "w",
        +            "h",
        +            "qty"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "warnings": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      }
        +    },
        +    "required": [
        +      "engine",
        +      "engineVersion",
        +      "contractVersion",
        +      "deterministic",
        +      "sheets",
        +      "metrics",
        +      "unplaced",
        +      "warnings",
        +      "guillotineValid",
        +      "timing"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "properties": {
        +      "engine": {
        +        "enum": [
        +          "max"
        +        ],
        +        "type": "string"
        +      },
        +      "jobId": {
        +        "format": "uuid",
        +        "type": "string"
        +      },
        +      "mode": {
        +        "enum": [
        +          "2d"
        +        ],
        +        "type": "string"
        +      },
        +      "pollAfterMs": {
        +        "type": "integer"
        +      },
        +      "quota": {
        +        "properties": {
        +          "limit": {
        +            "type": "integer"
        +          },
        +          "reserved": {
        +            "type": "integer"
        +          },
        +          "used": {
        +            "type": "integer"
        +          }
        +        },
        +        "type": "object"
        +      },
        +      "status": {
        +        "enum": [
        +          "queued"
        +        ],
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "jobId",
        +      "status",
        +      "mode",
        +      "engine",
        +      "pollAfterMs"
        +    ],
        +    "type": "object"
        +  }
        +]
    • Changedvalidate_2d1 field changed
      • addedInput schema / properties / options / properties / labels
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "dimSize": {
        +      "default": "normal",
        +      "enum": [
        +        "normal",
        +        "large",
        +        "xl"
        +      ],
        +      "type": "string"
        +    },
        +    "factoryEdges": {
        +      "default": false,
        +      "type": "boolean"
        +    },
        +    "format": {
        +      "default": "sheet",
        +      "enum": [
        +        "sheet",
        +        "roll",
        +        "apli-03056",
        +        "brother-dk-11201"
        +      ],
        +      "type": "string"
        +    },
        +    "height": {
        +      "default": 40,
        +      "maximum": 300,
        +      "minimum": 15,
        +      "type": "number"
        +    },
        +    "hiddenFaceHint": {
        +      "default": false,
        +      "type": "boolean"
        +    },
        +    "offset": {
        +      "additionalProperties": false,
        +      "properties": {
        +        "x": {
        +          "default": 0,
        +          "maximum": 20,
        +          "minimum": -20,
        +          "type": "number"
        +        },
        +        "y": {
        +          "default": 0,
        +          "maximum": 20,
        +          "minimum": -20,
        +          "type": "number"
        +        }
        +      },
        +      "type": "object"
        +    },
        +    "order": {
        +      "default": "input",
        +      "enum": [
        +        "input",
        +        "cut"
        +      ],
        +      "type": "string"
        +    },
        +    "partNo": {
        +      "default": false,
        +      "type": "boolean"
        +    },
        +    "parts": {
        +      "items": {
        +        "maximum": 999999,
        +        "minimum": 1,
        +        "type": "integer"
        +      },
        +      "maxItems": 500,
        +      "type": "array"
        +    },
        +    "stageWords": {
        +      "additionalProperties": false,
        +      "properties": {
        +        "c2s": {
        +          "maxLength": 6,
        +          "type": "string"
        +        },
        +        "d": {
        +          "maxLength": 6,
        +          "type": "string"
        +        },
        +        "eb": {
        +          "maxLength": 6,
        +          "type": "string"
        +        },
        +        "rc": {
        +          "maxLength": 6,
        +          "type": "string"
        +        },
        +        "s": {
        +          "maxLength": 6,
        +          "type": "string"
        +        }
        +      },
        +      "type": "object"
        +    },
        +    "stages": {
        +      "items": {
        +        "maxLength": 6,
        +        "minLength": 1,
        +        "type": "string"
        +      },
        +      "maxItems": 6,
        +      "type": "array"
        +    },
        +    "width": {
        +      "default": 100,
        +      "maximum": 300,
        +      "minimum": 20,
        +      "type": "number"
        +    }
        +  },
        +  "type": "object"
        +}
  3. 6 tool updates
    • Changedget_job1 field changed
      • changedOutput schema / properties / result / oneOf
        Previous value: -[
        -  {
        -    "properties": {
        -      "contractVersion": {
        -        "type": "string"
        -      },
        -      "csv": {
        -        "type": "string"
        -      },
        -      "cutPlan": {
        -        "items": {
        -          "properties": {
        -            "axis": {
        -              "enum": [
        -                "h",
        -                "v"
        -              ],
        -              "type": "string"
        -            },
        -            "length": {
        -              "minimum": 0,
        -              "type": "number"
        -            },
        -            "pos": {
        -              "type": "number"
        -            },
        -            "sheet": {
        -              "minimum": 0,
        -              "type": "integer"
        -            },
        -            "stage": {
        -              "minimum": 1,
        -              "type": "integer"
        -            },
        -            "step": {
        -              "minimum": 1,
        -              "type": "integer"
        -            }
        -          },
        -          "required": [
        -            "sheet",
        -            "step",
        -            "axis",
        -            "pos",
        -            "length",
        -            "stage"
        -          ],
        -          "type": "object"
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "deterministic": {
        -        "const": true,
        -        "type": "boolean"
        -      },
        -      "dxf": {
        -        "type": "string"
        -      },
        -      "edgeBanding": {
        -        "properties": {
        -          "byPart": {
        -            "items": {
        -              "properties": {
        -                "byType": {
        -                  "items": {
        -                    "properties": {
        -                      "meters": {
        -                        "type": "number"
        -                      },
        -                      "reference": {
        -                        "type": "string"
        -                      }
        -                    },
        -                    "required": [
        -                      "reference",
        -                      "meters"
        -                    ],
        -                    "type": "object"
        -                  },
        -                  "type": "array"
        -                },
        -                "meters": {
        -                  "type": "number"
        -                },
        -                "name": {
        -                  "type": "string"
        -                }
        -              },
        -              "required": [
        -                "name",
        -                "meters",
        -                "byType"
        -              ],
        -              "type": "object"
        -            },
        -            "type": "array"
        -          },
        -          "byType": {
        -            "items": {
        -              "properties": {
        -                "meters": {
        -                  "type": "number"
        -                },
        -                "reference": {
        -                  "type": "string"
        -                }
        -              },
        -              "required": [
        -                "reference",
        -                "meters"
        -              ],
        -              "type": "object"
        -            },
        -            "type": "array"
        -          },
        -          "totalMeters": {
        -            "type": "number"
        -          }
        -        },
        -        "required": [
        -          "totalMeters",
        -          "byType",
        -          "byPart"
        -        ],
        -        "type": "object"
        -      },
        -      "engine": {
        -        "enum": [
        -          "heuristic",
        -          "balanced",
        -          "max"
        -        ],
        -        "type": "string"
        -      },
        -      "engineVersion": {
        -        "type": "string"
        -      },
        -      "guillotineValid": {
        -        "type": "boolean"
        -      },
        -      "labels": {
        -        "items": {
        -          "properties": {
        -            "edges": {
        -              "properties": {
        -                "bottom": {
        -                  "properties": {
        -                    "length": {
        -                      "type": "number"
        -                    },
        -                    "reference": {
        -                      "type": "string"
        -                    }
        -                  },
        -                  "required": [
        -                    "reference",
        -                    "length"
        -                  ],
        -                  "type": "object"
        -                },
        -                "left": {
        -                  "properties": {
        -                    "length": {
        -                      "type": "number"
        -                    },
        -                    "reference": {
        -                      "type": "string"
        -                    }
        -                  },
        -                  "required": [
        -                    "reference",
        -                    "length"
        -                  ],
        -                  "type": "object"
        -                },
        -                "right": {
        -                  "properties": {
        -                    "length": {
        -                      "type": "number"
        -                    },
        -                    "reference": {
        -                      "type": "string"
        -                    }
        -                  },
        -                  "required": [
        -                    "reference",
        -                    "length"
        -                  ],
        -                  "type": "object"
        -                },
        -                "top": {
        -                  "properties": {
        -                    "length": {
        -                      "type": "number"
        -                    },
        -                    "reference": {
        -                      "type": "string"
        -                    }
        -                  },
        -                  "required": [
        -                    "reference",
        -                    "length"
        -                  ],
        -                  "type": "object"
        -                }
        -              },
        -              "type": "object"
        -            },
        -            "grain": {
        -              "enum": [
        -                "w",
        -                "h"
        -              ],
        -              "type": "string"
        -            },
        -            "h": {
        -              "type": "number"
        -            },
        -            "material": {
        -              "type": "string"
        -            },
        -            "meta": {
        -              "type": "object"
        -            },
        -            "name": {
        -              "type": "string"
        -            },
        -            "partNo": {
        -              "type": "integer"
        -            },
        -            "rotated": {
        -              "type": "boolean"
        -            },
        -            "sheet": {
        -              "type": "integer"
        -            },
        -            "w": {
        -              "type": "number"
        -            },
        -            "x": {
        -              "type": "number"
        -            },
        -            "y": {
        -              "type": "number"
        -            }
        -          },
        -          "required": [
        -            "sheet",
        -            "name",
        -            "partNo",
        -            "w",
        -            "h",
        -            "rotated",
        -            "x",
        -            "y"
        -          ],
        -          "type": "object"
        -        },
        -        "type": "array"
        -      },
        -      "labelsPdf": {
        -        "format": "byte",
        -        "type": "string"
        -      },
        -      "matchedSets": {
        -        "items": {
        -          "properties": {
        -            "asBlock": {
        -              "type": "integer"
        -            },
        -            "block": {
        -              "properties": {
        -                "h": {
        -                  "type": "number"
        -                },
        -                "w": {
        -                  "type": "number"
        -                }
        -              },
        -              "required": [
        -                "w",
        -                "h"
        -              ],
        -              "type": "object"
        -            },
        -            "id": {
        -              "type": "string"
        -            },
        -            "letter": {
        -              "type": "string"
        -            },
        -            "name": {
        -              "type": "string"
        -            },
        -            "requested": {
        -              "type": "integer"
        -            },
        -            "split": {
        -              "type": "integer"
        -            },
        -            "unplaced": {
        -              "type": "integer"
        -            },
        -            "warnings": {
        -              "items": {
        -                "type": "string"
        -              },
        -              "type": "array"
        -            }
        -          },
        -          "required": [
        -            "id",
        -            "letter",
        -            "requested",
        -            "asBlock",
        -            "split",
        -            "unplaced",
        -            "block",
        -            "warnings"
        -          ],
        -          "type": "object"
        -        },
        -        "type": "array"
        -      },
        -      "materials": {
        -        "items": {
        -          "properties": {
        -            "material": {
        -              "type": "string"
        -            },
        -            "placed": {
        -              "type": "integer"
        -            },
        -            "sheetCount": {
        -              "type": "integer"
        -            },
        -            "total": {
        -              "type": "integer"
        -            },
        -            "totalPrice": {
        -              "type": "number"
        -            },
        -            "yieldPct": {
        -              "type": "number"
        -            }
        -          },
        -          "required": [
        -            "material",
        -            "sheetCount",
        -            "yieldPct",
        -            "placed",
        -            "total",
        -            "totalPrice"
        -          ],
        -          "type": "object"
        -        },
        -        "type": "array"
        -      },
        -      "metrics": {
        -        "properties": {
        -          "cutLength": {
        -            "type": "number"
        -          },
        -          "cutLines": {
        -            "type": "integer"
        -          },
        -          "placed": {
        -            "type": "integer"
        -          },
        -          "sawPasses": {
        -            "type": "integer"
        -          },
        -          "sheetCount": {
        -            "type": "integer"
        -          },
        -          "total": {
        -            "type": "integer"
        -          },
        -          "totalPrice": {
        -            "type": "number"
        -          },
        -          "yieldPct": {
        -            "type": "number"
        -          }
        -        },
        -        "required": [
        -          "sheetCount",
        -          "yieldPct",
        -          "placed",
        -          "total",
        -          "cutLines",
        -          "sawPasses",
        -          "cutLength",
        -          "totalPrice"
        -        ],
        -        "type": "object"
        -      },
        -      "pdf": {
        -        "format": "byte",
        -        "type": "string"
        -      },
        -      "planHash": {
        -        "type": "string"
        -      },
        -      "sheets": {
        -        "items": {
        -          "properties": {
        -            "grain": {
        -              "enum": [
        -                "w",
        -                "h"
        -              ],
        -              "type": "string"
        -            },
        -            "h": {
        -              "type": "number"
        -            },
        -            "material": {
        -              "type": "string"
        -            },
        -            "meta": {
        -              "type": "object"
        -            },
        -            "offcuts": {
        -              "items": {
        -                "properties": {
        -                  "h": {
        -                    "type": "number"
        -                  },
        -                  "w": {
        -                    "type": "number"
        -                  },
        -                  "x": {
        -                    "type": "number"
        -                  },
        -                  "y": {
        -                    "type": "number"
        -                  }
        -                },
        -                "required": [
        -                  "x",
        -                  "y",
        -                  "w",
        -                  "h"
        -                ],
        -                "type": "object"
        -              },
        -              "type": "array"
        -            },
        -            "parts": {
        -              "items": {
        -                "properties": {
        -                  "h": {
        -                    "type": "number"
        -                  },
        -                  "matchedSet": {
        -                    "properties": {
        -                      "hint": {
        -                        "enum": [
        -                          "left",
        -                          "middle",
        -                          "right",
        -                          "top",
        -                          "bottom"
        -                        ],
        -                        "type": "string"
        -                      },
        -                      "id": {
        -                        "type": "string"
        -                      },
        -                      "instance": {
        -                        "minimum": 1,
        -                        "type": "integer"
        -                      },
        -                      "position": {
        -                        "minimum": 1,
        -                        "type": "integer"
        -                      }
        -                    },
        -                    "required": [
        -                      "id",
        -                      "instance",
        -                      "position"
        -                    ],
        -                    "type": "object"
        -                  },
        -                  "meta": {
        -                    "type": "object"
        -                  },
        -                  "name": {
        -                    "type": "string"
        -                  },
        -                  "rotated": {
        -                    "type": "boolean"
        -                  },
        -                  "w": {
        -                    "type": "number"
        -                  },
        -                  "x": {
        -                    "type": "number"
        -                  },
        -                  "y": {
        -                    "type": "number"
        -                  }
        -                },
        -                "required": [
        -                  "name",
        -                  "x",
        -                  "y",
        -                  "w",
        -                  "h",
        -                  "rotated"
        -                ],
        -                "type": "object"
        -              },
        -              "type": "array"
        -            },
        -            "price": {
        -              "type": [
        -                "number",
        -                "null"
        -              ]
        -            },
        -            "w": {
        -              "type": "number"
        -            }
        -          },
        -          "required": [
        -            "w",
        -            "h",
        -            "price",
        -            "parts"
        -          ],
        -          "type": "object"
        -        },
        -        "type": "array"
        -      },
        -      "svg": {
        -        "type": "string"
        -      },
        -      "timing": {
        -        "properties": {
        -          "solveMs": {
        -            "type": "number"
        -          }
        -        },
        -        "required": [
        -          "solveMs"
        -        ],
        -        "type": "object"
        -      },
        -      "unmatchedMaterials": {
        -        "items": {
        -          "properties": {
        -            "material": {
        -              "type": "string"
        -            },
        -            "parts": {
        -              "items": {
        -                "properties": {
        -                  "h": {
        -                    "type": "number"
        -                  },
        -                  "name": {
        -                    "type": "string"
        -                  },
        -                  "qty": {
        -                    "minimum": 1,
        -                    "type": "integer"
        -                  },
        -                  "w": {
        -                    "type": "number"
        -                  }
        -                },
        -                "required": [
        -                  "name",
        -                  "w",
        -                  "h",
        -                  "qty"
        -                ],
        -                "type": "object"
        -              },
        -              "type": "array"
        -            }
        -          },
        -          "required": [
        -            "material",
        -            "parts"
        -          ],
        -          "type": "object"
        -        },
        -        "type": "array"
        -      },
        -      "unplaced": {
        -        "items": {
        -          "properties": {
        -            "h": {
        -              "type": "number"
        -            },
        -            "name": {
        -              "type": "string"
        -            },
        -            "qty": {
        -              "minimum": 1,
        -              "type": "integer"
        -            },
        -            "w": {
        -              "type": "number"
        -            }
        -          },
        -          "required": [
        -            "name",
        -            "w",
        -            "h",
        -            "qty"
        -          ],
        -          "type": "object"
        -        },
        -        "type": "array"
        -      },
        -      "warnings": {
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": "array"
        -      }
        -    },
        -    "required": [
        -      "engine",
        -      "engineVersion",
        -      "contractVersion",
        -      "deterministic",
        -      "sheets",
        -      "metrics",
        -      "unplaced",
        -      "warnings",
        -      "guillotineValid",
        -      "timing"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "properties": {
        -      "contractVersion": {
        -        "type": "string"
        -      },
        -      "deterministic": {
        -        "type": "boolean"
        -      },
        -      "dxf": {
        -        "type": "string"
        -      },
        -      "engine": {
        -        "enum": [
        -          "lbf",
        -          "max"
        -        ],
        -        "type": "string"
        -      },
        -      "engineVersion": {
        -        "type": "string"
        -      },
        -      "imported": {
        -        "properties": {
        -          "parts": {
        -            "type": "integer"
        -          },
        -          "units": {
        -            "items": {
        -              "enum": [
        -                "mm",
        -                "in"
        -              ],
        -              "type": "string"
        -            },
        -            "type": "array"
        -          },
        -          "vertices": {
        -            "type": "integer"
        -          }
        -        },
        -        "required": [
        -          "parts",
        -          "vertices",
        -          "units"
        -        ],
        -        "type": "object"
        -      },
        -      "materials": {
        -        "items": {
        -          "properties": {
        -            "density": {
        -              "type": "number"
        -            },
        -            "material": {
        -              "type": "string"
        -            },
        -            "placed": {
        -              "type": "integer"
        -            },
        -            "sheetCount": {
        -              "type": "integer"
        -            },
        -            "total": {
        -              "type": "integer"
        -            },
        -            "totalPrice": {
        -              "type": "number"
        -            }
        -          },
        -          "required": [
        -            "material",
        -            "sheetCount",
        -            "density",
        -            "placed",
        -            "total",
        -            "totalPrice"
        -          ],
        -          "type": "object"
        -        },
        -        "type": "array"
        -      },
        -      "metrics": {
        -        "properties": {
        -          "cutLength": {
        -            "type": "number"
        -          },
        -          "density": {
        -            "type": "number"
        -          },
        -          "pierces": {
        -            "type": "integer"
        -          },
        -          "placed": {
        -            "type": "integer"
        -          },
        -          "sheetCount": {
        -            "type": "integer"
        -          },
        -          "total": {
        -            "type": "integer"
        -          },
        -          "totalPrice": {
        -            "type": "number"
        -          }
        -        },
        -        "required": [
        -          "sheetCount",
        -          "density",
        -          "placed",
        -          "total",
        -          "totalPrice",
        -          "cutLength",
        -          "pierces"
        -        ],
        -        "type": "object"
        -      },
        -      "sheets": {
        -        "items": {
        -          "properties": {
        -            "cutLength": {
        -              "type": "number"
        -            },
        -            "density": {
        -              "type": "number"
        -            },
        -            "exclusions": {
        -              "items": {
        -                "properties": {
        -                  "polygon": {
        -                    "items": {
        -                      "items": {
        -                        "type": "number"
        -                      },
        -                      "maxItems": 2,
        -                      "minItems": 2,
        -                      "type": "array"
        -                    },
        -                    "minItems": 3,
        -                    "type": "array"
        -                  },
        -                  "quality": {
        -                    "default": 0,
        -                    "minimum": 0,
        -                    "type": "integer"
        -                  }
        -                },
        -                "required": [
        -                  "polygon"
        -                ],
        -                "type": "object"
        -              },
        -              "type": "array"
        -            },
        -            "h": {
        -              "type": "number"
        -            },
        -            "material": {
        -              "type": "string"
        -            },
        -            "meta": {
        -              "type": "object"
        -            },
        -            "parts": {
        -              "items": {
        -                "properties": {
        -                  "material": {
        -                    "type": "string"
        -                  },
        -                  "meta": {
        -                    "type": "object"
        -                  },
        -                  "name": {
        -                    "type": "string"
        -                  },
        -                  "rotation": {
        -                    "type": "number"
        -                  },
        -                  "sheet": {
        -                    "type": "integer"
        -                  },
        -                  "x": {
        -                    "type": "number"
        -                  },
        -                  "y": {
        -                    "type": "number"
        -                  }
        -                },
        -                "required": [
        -                  "name",
        -                  "sheet",
        -                  "x",
        -                  "y",
        -                  "rotation"
        -                ],
        -                "type": "object"
        -              },
        -              "type": "array"
        -            },
        -            "pierces": {
        -              "type": "integer"
        -            },
        -            "polygon": {
        -              "items": {
        -                "items": {
        -                  "type": "number"
        -                },
        -                "maxItems": 2,
        -                "minItems": 2,
        -                "type": "array"
        -              },
        -              "minItems": 3,
        -              "type": "array"
        -            },
        -            "price": {
        -              "type": [
        -                "number",
        -                "null"
        -              ]
        -            },
        -            "stock": {
        -              "minimum": 0,
        -              "type": "integer"
        -            },
        -            "usedArea": {
        -              "type": "number"
        -            },
        -            "usedHeight": {
        -              "type": "number"
        -            },
        -            "usedWidth": {
        -              "type": "number"
        -            },
        -            "w": {
        -              "type": "number"
        -            }
        -          },
        -          "required": [
        -            "stock",
        -            "price",
        -            "density",
        -            "cutLength",
        -            "pierces",
        -            "usedWidth",
        -            "usedHeight",
        -            "usedArea",
        -            "parts"
        -          ],
        -          "type": "object"
        -        },
        -        "type": "array"
        -      },
        -      "stockUsage": {
        -        "items": {
        -          "properties": {
        -            "density": {
        -              "type": "number"
        -            },
        -            "h": {
        -              "type": "number"
        -            },
        -            "material": {
        -              "type": "string"
        -            },
        -            "sheetCount": {
        -              "type": "integer"
        -            },
        -            "stock": {
        -              "minimum": 0,
        -              "type": "integer"
        -            },
        -            "totalPrice": {
        -              "type": "number"
        -            },
        -            "usedArea": {
        -              "type": "number"
        -            },
        -            "w": {
        -              "type": "number"
        -            }
        -          },
        -          "required": [
        -            "stock",
        -            "sheetCount",
        -            "totalPrice",
        -            "density",
        -            "usedArea"
        -          ],
        -          "type": "object"
        -        },
        -        "type": "array"
        -      },
        -      "svg": {
        -        "type": "string"
        -      },
        -      "timing": {
        -        "properties": {
        -          "solveMs": {
        -            "type": "number"
        -          }
        -        },
        -        "required": [
        -          "solveMs"
        -        ],
        -        "type": "object"
        -      },
        -      "unmatchedMaterials": {
        -        "items": {
        -          "properties": {
        -            "material": {
        -              "type": "string"
        -            },
        -            "parts": {
        -              "items": {
        -                "properties": {
        -                  "name": {
        -                    "type": "string"
        -                  },
        -                  "qty": {
        -                    "type": "integer"
        -                  }
        -                },
        -                "required": [
        -                  "name",
        -                  "qty"
        -                ],
        -                "type": "object"
        -              },
        -              "type": "array"
        -            }
        -          },
        -          "required": [
        -            "material",
        -            "parts"
        -          ],
        -          "type": "object"
        -        },
        -        "type": "array"
        -      },
        -      "unplaced": {
        -        "items": {
        -          "properties": {
        -            "name": {
        -              "type": "string"
        -            },
        -            "qty": {
        -              "type": "integer"
        -            }
        -          },
        -          "required": [
        -            "name",
        -            "qty"
        -          ],
        -          "type": "object"
        -        },
        -        "type": "array"
        -      },
        -      "warnings": {
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": "array"
        -      }
        -    },
        -    "required": [
        -      "engine",
        -      "engineVersion",
        -      "contractVersion",
        -      "deterministic",
        -      "sheets",
        -      "metrics",
        -      "stockUsage",
        -      "unplaced",
        -      "warnings",
        -      "timing"
        -    ],
        -    "type": "object"
        -  }
        -]New value: +[
        +  {
        +    "properties": {
        +      "contractVersion": {
        +        "type": "string"
        +      },
        +      "csv": {
        +        "type": "string"
        +      },
        +      "cutPlan": {
        +        "items": {
        +          "properties": {
        +            "angle": {
        +              "type": "number"
        +            },
        +            "axis": {
        +              "enum": [
        +                "h",
        +                "v"
        +              ],
        +              "type": "string"
        +            },
        +            "bevel": {
        +              "type": "number"
        +            },
        +            "length": {
        +              "minimum": 0,
        +              "type": "number"
        +            },
        +            "pos": {
        +              "type": "number"
        +            },
        +            "sheet": {
        +              "minimum": 0,
        +              "type": "integer"
        +            },
        +            "stage": {
        +              "minimum": 1,
        +              "type": "integer"
        +            },
        +            "step": {
        +              "minimum": 1,
        +              "type": "integer"
        +            }
        +          },
        +          "required": [
        +            "sheet",
        +            "step",
        +            "axis",
        +            "pos",
        +            "length",
        +            "stage"
        +          ],
        +          "type": "object"
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "deterministic": {
        +        "const": true,
        +        "type": "boolean"
        +      },
        +      "dxf": {
        +        "type": "string"
        +      },
        +      "edgeBanding": {
        +        "properties": {
        +          "byPart": {
        +            "items": {
        +              "properties": {
        +                "byType": {
        +                  "items": {
        +                    "properties": {
        +                      "meters": {
        +                        "type": "number"
        +                      },
        +                      "reference": {
        +                        "type": "string"
        +                      }
        +                    },
        +                    "required": [
        +                      "reference",
        +                      "meters"
        +                    ],
        +                    "type": "object"
        +                  },
        +                  "type": "array"
        +                },
        +                "meters": {
        +                  "type": "number"
        +                },
        +                "name": {
        +                  "type": "string"
        +                }
        +              },
        +              "required": [
        +                "name",
        +                "meters",
        +                "byType"
        +              ],
        +              "type": "object"
        +            },
        +            "type": "array"
        +          },
        +          "byType": {
        +            "items": {
        +              "properties": {
        +                "meters": {
        +                  "type": "number"
        +                },
        +                "reference": {
        +                  "type": "string"
        +                }
        +              },
        +              "required": [
        +                "reference",
        +                "meters"
        +              ],
        +              "type": "object"
        +            },
        +            "type": "array"
        +          },
        +          "totalMeters": {
        +            "type": "number"
        +          }
        +        },
        +        "required": [
        +          "totalMeters",
        +          "byType",
        +          "byPart"
        +        ],
        +        "type": "object"
        +      },
        +      "engine": {
        +        "enum": [
        +          "heuristic",
        +          "balanced",
        +          "max"
        +        ],
        +        "type": "string"
        +      },
        +      "engineVersion": {
        +        "type": "string"
        +      },
        +      "guillotineValid": {
        +        "type": "boolean"
        +      },
        +      "labels": {
        +        "items": {
        +          "properties": {
        +            "edges": {
        +              "properties": {
        +                "bottom": {
        +                  "properties": {
        +                    "length": {
        +                      "type": "number"
        +                    },
        +                    "reference": {
        +                      "type": "string"
        +                    }
        +                  },
        +                  "required": [
        +                    "reference",
        +                    "length"
        +                  ],
        +                  "type": "object"
        +                },
        +                "left": {
        +                  "properties": {
        +                    "length": {
        +                      "type": "number"
        +                    },
        +                    "reference": {
        +                      "type": "string"
        +                    }
        +                  },
        +                  "required": [
        +                    "reference",
        +                    "length"
        +                  ],
        +                  "type": "object"
        +                },
        +                "right": {
        +                  "properties": {
        +                    "length": {
        +                      "type": "number"
        +                    },
        +                    "reference": {
        +                      "type": "string"
        +                    }
        +                  },
        +                  "required": [
        +                    "reference",
        +                    "length"
        +                  ],
        +                  "type": "object"
        +                },
        +                "top": {
        +                  "properties": {
        +                    "length": {
        +                      "type": "number"
        +                    },
        +                    "reference": {
        +                      "type": "string"
        +                    }
        +                  },
        +                  "required": [
        +                    "reference",
        +                    "length"
        +                  ],
        +                  "type": "object"
        +                }
        +              },
        +              "type": "object"
        +            },
        +            "grain": {
        +              "enum": [
        +                "w",
        +                "h"
        +              ],
        +              "type": "string"
        +            },
        +            "h": {
        +              "type": "number"
        +            },
        +            "material": {
        +              "type": "string"
        +            },
        +            "meta": {
        +              "type": "object"
        +            },
        +            "name": {
        +              "type": "string"
        +            },
        +            "partNo": {
        +              "type": "integer"
        +            },
        +            "rotated": {
        +              "type": "boolean"
        +            },
        +            "sheet": {
        +              "type": "integer"
        +            },
        +            "w": {
        +              "type": "number"
        +            },
        +            "x": {
        +              "type": "number"
        +            },
        +            "y": {
        +              "type": "number"
        +            }
        +          },
        +          "required": [
        +            "sheet",
        +            "name",
        +            "partNo",
        +            "w",
        +            "h",
        +            "rotated",
        +            "x",
        +            "y"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "labelsPdf": {
        +        "format": "byte",
        +        "type": "string"
        +      },
        +      "matchedSets": {
        +        "items": {
        +          "properties": {
        +            "asBlock": {
        +              "type": "integer"
        +            },
        +            "block": {
        +              "properties": {
        +                "h": {
        +                  "type": "number"
        +                },
        +                "w": {
        +                  "type": "number"
        +                }
        +              },
        +              "required": [
        +                "w",
        +                "h"
        +              ],
        +              "type": "object"
        +            },
        +            "id": {
        +              "type": "string"
        +            },
        +            "letter": {
        +              "type": "string"
        +            },
        +            "name": {
        +              "type": "string"
        +            },
        +            "requested": {
        +              "type": "integer"
        +            },
        +            "split": {
        +              "type": "integer"
        +            },
        +            "unplaced": {
        +              "type": "integer"
        +            },
        +            "warnings": {
        +              "items": {
        +                "type": "string"
        +              },
        +              "type": "array"
        +            }
        +          },
        +          "required": [
        +            "id",
        +            "letter",
        +            "requested",
        +            "asBlock",
        +            "split",
        +            "unplaced",
        +            "block",
        +            "warnings"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "materials": {
        +        "items": {
        +          "properties": {
        +            "material": {
        +              "type": "string"
        +            },
        +            "placed": {
        +              "type": "integer"
        +            },
        +            "sheetCount": {
        +              "type": "integer"
        +            },
        +            "total": {
        +              "type": "integer"
        +            },
        +            "totalPrice": {
        +              "type": "number"
        +            },
        +            "yieldPct": {
        +              "type": "number"
        +            }
        +          },
        +          "required": [
        +            "material",
        +            "sheetCount",
        +            "yieldPct",
        +            "placed",
        +            "total",
        +            "totalPrice"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "metrics": {
        +        "properties": {
        +          "cutLength": {
        +            "type": "number"
        +          },
        +          "cutLines": {
        +            "type": "integer"
        +          },
        +          "placed": {
        +            "type": "integer"
        +          },
        +          "sawPasses": {
        +            "type": "integer"
        +          },
        +          "sheetCount": {
        +            "type": "integer"
        +          },
        +          "total": {
        +            "type": "integer"
        +          },
        +          "totalPrice": {
        +            "type": "number"
        +          },
        +          "yieldPct": {
        +            "type": "number"
        +          }
        +        },
        +        "required": [
        +          "sheetCount",
        +          "yieldPct",
        +          "placed",
        +          "total",
        +          "cutLines",
        +          "sawPasses",
        +          "cutLength",
        +          "totalPrice"
        +        ],
        +        "type": "object"
        +      },
        +      "pdf": {
        +        "format": "byte",
        +        "type": "string"
        +      },
        +      "planHash": {
        +        "type": "string"
        +      },
        +      "sheets": {
        +        "items": {
        +          "properties": {
        +            "grain": {
        +              "enum": [
        +                "w",
        +                "h"
        +              ],
        +              "type": "string"
        +            },
        +            "h": {
        +              "type": "number"
        +            },
        +            "material": {
        +              "type": "string"
        +            },
        +            "meta": {
        +              "type": "object"
        +            },
        +            "offcuts": {
        +              "items": {
        +                "properties": {
        +                  "h": {
        +                    "type": "number"
        +                  },
        +                  "w": {
        +                    "type": "number"
        +                  },
        +                  "x": {
        +                    "type": "number"
        +                  },
        +                  "y": {
        +                    "type": "number"
        +                  }
        +                },
        +                "required": [
        +                  "x",
        +                  "y",
        +                  "w",
        +                  "h"
        +                ],
        +                "type": "object"
        +              },
        +              "type": "array"
        +            },
        +            "parts": {
        +              "items": {
        +                "properties": {
        +                  "h": {
        +                    "type": "number"
        +                  },
        +                  "matchedSet": {
        +                    "properties": {
        +                      "hint": {
        +                        "enum": [
        +                          "left",
        +                          "middle",
        +                          "right",
        +                          "top",
        +                          "bottom"
        +                        ],
        +                        "type": "string"
        +                      },
        +                      "id": {
        +                        "type": "string"
        +                      },
        +                      "instance": {
        +                        "minimum": 1,
        +                        "type": "integer"
        +                      },
        +                      "position": {
        +                        "minimum": 1,
        +                        "type": "integer"
        +                      }
        +                    },
        +                    "required": [
        +                      "id",
        +                      "instance",
        +                      "position"
        +                    ],
        +                    "type": "object"
        +                  },
        +                  "meta": {
        +                    "type": "object"
        +                  },
        +                  "name": {
        +                    "type": "string"
        +                  },
        +                  "rotated": {
        +                    "type": "boolean"
        +                  },
        +                  "w": {
        +                    "type": "number"
        +                  },
        +                  "x": {
        +                    "type": "number"
        +                  },
        +                  "y": {
        +                    "type": "number"
        +                  }
        +                },
        +                "required": [
        +                  "name",
        +                  "x",
        +                  "y",
        +                  "w",
        +                  "h",
        +                  "rotated"
        +                ],
        +                "type": "object"
        +              },
        +              "type": "array"
        +            },
        +            "price": {
        +              "type": [
        +                "number",
        +                "null"
        +              ]
        +            },
        +            "w": {
        +              "type": "number"
        +            }
        +          },
        +          "required": [
        +            "w",
        +            "h",
        +            "price",
        +            "parts"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "svg": {
        +        "type": "string"
        +      },
        +      "timing": {
        +        "properties": {
        +          "solveMs": {
        +            "type": "number"
        +          }
        +        },
        +        "required": [
        +          "solveMs"
        +        ],
        +        "type": "object"
        +      },
        +      "unmatchedMaterials": {
        +        "items": {
        +          "properties": {
        +            "material": {
        +              "type": "string"
        +            },
        +            "parts": {
        +              "items": {
        +                "properties": {
        +                  "h": {
        +                    "type": "number"
        +                  },
        +                  "name": {
        +                    "type": "string"
        +                  },
        +                  "qty": {
        +                    "minimum": 1,
        +                    "type": "integer"
        +                  },
        +                  "w": {
        +                    "type": "number"
        +                  }
        +                },
        +                "required": [
        +                  "name",
        +                  "w",
        +                  "h",
        +                  "qty"
        +                ],
        +                "type": "object"
        +              },
        +              "type": "array"
        +            }
        +          },
        +          "required": [
        +            "material",
        +            "parts"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "unplaced": {
        +        "items": {
        +          "properties": {
        +            "h": {
        +              "type": "number"
        +            },
        +            "name": {
        +              "type": "string"
        +            },
        +            "qty": {
        +              "minimum": 1,
        +              "type": "integer"
        +            },
        +            "w": {
        +              "type": "number"
        +            }
        +          },
        +          "required": [
        +            "name",
        +            "w",
        +            "h",
        +            "qty"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "warnings": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      }
        +    },
        +    "required": [
        +      "engine",
        +      "engineVersion",
        +      "contractVersion",
        +      "deterministic",
        +      "sheets",
        +      "metrics",
        +      "unplaced",
        +      "warnings",
        +      "guillotineValid",
        +      "timing"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "properties": {
        +      "contractVersion": {
        +        "type": "string"
        +      },
        +      "deterministic": {
        +        "type": "boolean"
        +      },
        +      "dxf": {
        +        "type": "string"
        +      },
        +      "engine": {
        +        "enum": [
        +          "lbf",
        +          "max"
        +        ],
        +        "type": "string"
        +      },
        +      "engineVersion": {
        +        "type": "string"
        +      },
        +      "imported": {
        +        "properties": {
        +          "parts": {
        +            "type": "integer"
        +          },
        +          "units": {
        +            "items": {
        +              "enum": [
        +                "mm",
        +                "in"
        +              ],
        +              "type": "string"
        +            },
        +            "type": "array"
        +          },
        +          "vertices": {
        +            "type": "integer"
        +          }
        +        },
        +        "required": [
        +          "parts",
        +          "vertices",
        +          "units"
        +        ],
        +        "type": "object"
        +      },
        +      "materials": {
        +        "items": {
        +          "properties": {
        +            "density": {
        +              "type": "number"
        +            },
        +            "material": {
        +              "type": "string"
        +            },
        +            "placed": {
        +              "type": "integer"
        +            },
        +            "sheetCount": {
        +              "type": "integer"
        +            },
        +            "total": {
        +              "type": "integer"
        +            },
        +            "totalPrice": {
        +              "type": "number"
        +            }
        +          },
        +          "required": [
        +            "material",
        +            "sheetCount",
        +            "density",
        +            "placed",
        +            "total",
        +            "totalPrice"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "metrics": {
        +        "properties": {
        +          "cutLength": {
        +            "type": "number"
        +          },
        +          "density": {
        +            "type": "number"
        +          },
        +          "pierces": {
        +            "type": "integer"
        +          },
        +          "placed": {
        +            "type": "integer"
        +          },
        +          "sheetCount": {
        +            "type": "integer"
        +          },
        +          "total": {
        +            "type": "integer"
        +          },
        +          "totalPrice": {
        +            "type": "number"
        +          }
        +        },
        +        "required": [
        +          "sheetCount",
        +          "density",
        +          "placed",
        +          "total",
        +          "totalPrice",
        +          "cutLength",
        +          "pierces"
        +        ],
        +        "type": "object"
        +      },
        +      "sheets": {
        +        "items": {
        +          "properties": {
        +            "cutLength": {
        +              "type": "number"
        +            },
        +            "density": {
        +              "type": "number"
        +            },
        +            "exclusions": {
        +              "items": {
        +                "properties": {
        +                  "polygon": {
        +                    "items": {
        +                      "items": {
        +                        "type": "number"
        +                      },
        +                      "maxItems": 2,
        +                      "minItems": 2,
        +                      "type": "array"
        +                    },
        +                    "minItems": 3,
        +                    "type": "array"
        +                  },
        +                  "quality": {
        +                    "default": 0,
        +                    "minimum": 0,
        +                    "type": "integer"
        +                  }
        +                },
        +                "required": [
        +                  "polygon"
        +                ],
        +                "type": "object"
        +              },
        +              "type": "array"
        +            },
        +            "h": {
        +              "type": "number"
        +            },
        +            "material": {
        +              "type": "string"
        +            },
        +            "meta": {
        +              "type": "object"
        +            },
        +            "parts": {
        +              "items": {
        +                "properties": {
        +                  "material": {
        +                    "type": "string"
        +                  },
        +                  "meta": {
        +                    "type": "object"
        +                  },
        +                  "name": {
        +                    "type": "string"
        +                  },
        +                  "rotation": {
        +                    "type": "number"
        +                  },
        +                  "sheet": {
        +                    "type": "integer"
        +                  },
        +                  "x": {
        +                    "type": "number"
        +                  },
        +                  "y": {
        +                    "type": "number"
        +                  }
        +                },
        +                "required": [
        +                  "name",
        +                  "sheet",
        +                  "x",
        +                  "y",
        +                  "rotation"
        +                ],
        +                "type": "object"
        +              },
        +              "type": "array"
        +            },
        +            "pierces": {
        +              "type": "integer"
        +            },
        +            "polygon": {
        +              "items": {
        +                "items": {
        +                  "type": "number"
        +                },
        +                "maxItems": 2,
        +                "minItems": 2,
        +                "type": "array"
        +              },
        +              "minItems": 3,
        +              "type": "array"
        +            },
        +            "price": {
        +              "type": [
        +                "number",
        +                "null"
        +              ]
        +            },
        +            "stock": {
        +              "minimum": 0,
        +              "type": "integer"
        +            },
        +            "usedArea": {
        +              "type": "number"
        +            },
        +            "usedHeight": {
        +              "type": "number"
        +            },
        +            "usedWidth": {
        +              "type": "number"
        +            },
        +            "w": {
        +              "type": "number"
        +            }
        +          },
        +          "required": [
        +            "stock",
        +            "price",
        +            "density",
        +            "cutLength",
        +            "pierces",
        +            "usedWidth",
        +            "usedHeight",
        +            "usedArea",
        +            "parts"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "stockUsage": {
        +        "items": {
        +          "properties": {
        +            "density": {
        +              "type": "number"
        +            },
        +            "h": {
        +              "type": "number"
        +            },
        +            "material": {
        +              "type": "string"
        +            },
        +            "sheetCount": {
        +              "type": "integer"
        +            },
        +            "stock": {
        +              "minimum": 0,
        +              "type": "integer"
        +            },
        +            "totalPrice": {
        +              "type": "number"
        +            },
        +            "usedArea": {
        +              "type": "number"
        +            },
        +            "w": {
        +              "type": "number"
        +            }
        +          },
        +          "required": [
        +            "stock",
        +            "sheetCount",
        +            "totalPrice",
        +            "density",
        +            "usedArea"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "svg": {
        +        "type": "string"
        +      },
        +      "timing": {
        +        "properties": {
        +          "solveMs": {
        +            "type": "number"
        +          }
        +        },
        +        "required": [
        +          "solveMs"
        +        ],
        +        "type": "object"
        +      },
        +      "unmatchedMaterials": {
        +        "items": {
        +          "properties": {
        +            "material": {
        +              "type": "string"
        +            },
        +            "parts": {
        +              "items": {
        +                "properties": {
        +                  "name": {
        +                    "type": "string"
        +                  },
        +                  "qty": {
        +                    "type": "integer"
        +                  }
        +                },
        +                "required": [
        +                  "name",
        +                  "qty"
        +                ],
        +                "type": "object"
        +              },
        +              "type": "array"
        +            }
        +          },
        +          "required": [
        +            "material",
        +            "parts"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "unplaced": {
        +        "items": {
        +          "properties": {
        +            "name": {
        +              "type": "string"
        +            },
        +            "qty": {
        +              "type": "integer"
        +            }
        +          },
        +          "required": [
        +            "name",
        +            "qty"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "warnings": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      }
        +    },
        +    "required": [
        +      "engine",
        +      "engineVersion",
        +      "contractVersion",
        +      "deterministic",
        +      "sheets",
        +      "metrics",
        +      "stockUsage",
        +      "unplaced",
        +      "warnings",
        +      "timing"
        +    ],
        +    "type": "object"
        +  }
        +]
    • Changedoptimize_1d10 fields changed
      • addedInput schema / properties / options / properties / mitrePairing
        Added value: +{
        +  "default": false,
        +  "description": "Pair parts of one section whose facing ends (`parts[].ends`) can share ONE saw cut. Off by default: a request without it is solved exactly as before. On, a plan with pairs is returned only when it ranks strictly better than the unpaired plan by the packer's own ranking (parts placed first, then material — or price with `minimizeCost`); otherwise the unpaired plan comes back. Pairs only, no chains of three or more.",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / parts / items / properties / depth
        Added value: +{
        +  "description": "Mitre pairing only: the side of the bar the `angle` of `ends` is seen on. Required with `ends` (a 1D part has no cross-section to take it from). Unit-agnostic: pick one unit (mm, inch, …) for every length in the request and every length in the response is in that same unit. Nothing is converted server-side.",
        +  "exclusiveMinimum": 0,
        +  "type": "number"
        +}
      • addedInput schema / properties / parts / items / properties / ends
        Added value: +{
        +  "description": "The angled ends of a part, read only with `options.mitrePairing`. Two parts of one section whose facing ends lie in one plane (after a turn `flip` allows) can be cut with ONE saw cut between them: the triangle between the long and the short point is not wasted. Without `mitrePairing` the ends are not used (a warning says so) and the part packs as its `length`.",
        +  "properties": {
        +    "end": {
        +      "description": "One end cut of a part, in degrees from square (0 = a square end), signed. The part is measured long point to long point (`length` is its overall length). A part whose two end cuts would cross inside its section (shorter than its leads) cannot be made: a 400 `invalid_request` naming `parts[i].ends` says how long it must at least be.",
        +      "properties": {
        +        "angle": {
        +          "description": "The face angle: the mitre or plumb cut as seen on the `depth` side (wood: on `sh` as entered).",
        +          "exclusiveMaximum": 90,
        +          "exclusiveMinimum": -90,
        +          "type": "number"
        +        },
        +        "bevel": {
        +          "default": 0,
        +          "description": "The edge angle: the bevel as seen on the `thickness` side (wood: on `sw` as entered). A compound cut has both.",
        +          "exclusiveMaximum": 90,
        +          "exclusiveMinimum": -90,
        +          "type": "number"
        +        }
        +      },
        +      "required": [
        +        "angle"
        +      ],
        +      "type": "object"
        +    },
        +    "start": {
        +      "description": "One end cut of a part, in degrees from square (0 = a square end), signed. The part is measured long point to long point (`length` is its overall length). A part whose two end cuts would cross inside its section (shorter than its leads) cannot be made: a 400 `invalid_request` naming `parts[i].ends` says how long it must at least be.",
        +      "properties": {
        +        "angle": {
        +          "description": "The face angle: the mitre or plumb cut as seen on the `depth` side (wood: on `sh` as entered).",
        +          "exclusiveMaximum": 90,
        +          "exclusiveMinimum": -90,
        +          "type": "number"
        +        },
        +        "bevel": {
        +          "default": 0,
        +          "description": "The edge angle: the bevel as seen on the `thickness` side (wood: on `sw` as entered). A compound cut has both.",
        +          "exclusiveMaximum": 90,
        +          "exclusiveMinimum": -90,
        +          "type": "number"
        +        }
        +      },
        +      "required": [
        +        "angle"
        +      ],
        +      "type": "object"
        +    }
        +  },
        +  "type": "object"
        +}
      • addedInput schema / properties / parts / items / properties / flip
        Added value: +{
        +  "default": "none",
        +  "description": "Mitre pairing only: which 180° turns of the part on the bar are allowed, so its angled end can meet a neighbour's. `none` (default — a profiled moulding or one-sided stock), `face` (end for end, the crown or top edge stays up — roof members), `edge` (end for end over the edge — flat stock, frames), `any`.",
        +  "enum": [
        +    "none",
        +    "face",
        +    "edge",
        +    "any"
        +  ],
        +  "type": "string"
        +}
      • addedInput schema / properties / parts / items / properties / thickness
        Added value: +{
        +  "description": "Mitre pairing only: the other side, the one the `bevel` is seen on. Required with `ends`. Unit-agnostic: pick one unit (mm, inch, …) for every length in the request and every length in the response is in that same unit. Nothing is converted server-side.",
        +  "exclusiveMinimum": 0,
        +  "type": "number"
        +}
      • addedOutput schema / properties / cutPlan / items / properties / angle
        Added value: +{
        +  "type": "number"
        +}
      • addedOutput schema / properties / cutPlan / items / properties / bevel
        Added value: +{
        +  "type": "number"
        +}
      • addedOutput schema / properties / metrics / properties / sharedCuts
        Added value: +{
        +  "type": "integer"
        +}
      • addedOutput schema / properties / rods / items / properties / parts / items / properties / flipped
        Added value: +{
        +  "enum": [
        +    "face",
        +    "edge",
        +    "roll"
        +  ],
        +  "type": "string"
        +}
      • addedOutput schema / properties / rods / items / properties / parts / items / properties / sharedCut
        Added value: +{
        +  "properties": {
        +    "angle": {
        +      "type": "number"
        +    },
        +    "bevel": {
        +      "type": "number"
        +    },
        +    "kerfAlongAxis": {
        +      "type": "number"
        +    },
        +    "lead": {
        +      "type": "number"
        +    }
        +  },
        +  "required": [
        +    "angle",
        +    "bevel",
        +    "kerfAlongAxis",
        +    "lead"
        +  ],
        +  "type": "object"
        +}
    • Changedoptimize_2d1 field changed
      • changedOutput schema / anyOf
        Previous value: -[
        -  {
        -    "properties": {
        -      "contractVersion": {
        -        "type": "string"
        -      },
        -      "csv": {
        -        "type": "string"
        -      },
        -      "cutPlan": {
        -        "items": {
        -          "properties": {
        -            "axis": {
        -              "enum": [
        -                "h",
        -                "v"
        -              ],
        -              "type": "string"
        -            },
        -            "length": {
        -              "minimum": 0,
        -              "type": "number"
        -            },
        -            "pos": {
        -              "type": "number"
        -            },
        -            "sheet": {
        -              "minimum": 0,
        -              "type": "integer"
        -            },
        -            "stage": {
        -              "minimum": 1,
        -              "type": "integer"
        -            },
        -            "step": {
        -              "minimum": 1,
        -              "type": "integer"
        -            }
        -          },
        -          "required": [
        -            "sheet",
        -            "step",
        -            "axis",
        -            "pos",
        -            "length",
        -            "stage"
        -          ],
        -          "type": "object"
        -        },
        -        "type": [
        -          "array",
        -          "null"
        -        ]
        -      },
        -      "deterministic": {
        -        "const": true,
        -        "type": "boolean"
        -      },
        -      "dxf": {
        -        "type": "string"
        -      },
        -      "edgeBanding": {
        -        "properties": {
        -          "byPart": {
        -            "items": {
        -              "properties": {
        -                "byType": {
        -                  "items": {
        -                    "properties": {
        -                      "meters": {
        -                        "type": "number"
        -                      },
        -                      "reference": {
        -                        "type": "string"
        -                      }
        -                    },
        -                    "required": [
        -                      "reference",
        -                      "meters"
        -                    ],
        -                    "type": "object"
        -                  },
        -                  "type": "array"
        -                },
        -                "meters": {
        -                  "type": "number"
        -                },
        -                "name": {
        -                  "type": "string"
        -                }
        -              },
        -              "required": [
        -                "name",
        -                "meters",
        -                "byType"
        -              ],
        -              "type": "object"
        -            },
        -            "type": "array"
        -          },
        -          "byType": {
        -            "items": {
        -              "properties": {
        -                "meters": {
        -                  "type": "number"
        -                },
        -                "reference": {
        -                  "type": "string"
        -                }
        -              },
        -              "required": [
        -                "reference",
        -                "meters"
        -              ],
        -              "type": "object"
        -            },
        -            "type": "array"
        -          },
        -          "totalMeters": {
        -            "type": "number"
        -          }
        -        },
        -        "required": [
        -          "totalMeters",
        -          "byType",
        -          "byPart"
        -        ],
        -        "type": "object"
        -      },
        -      "engine": {
        -        "enum": [
        -          "heuristic",
        -          "balanced",
        -          "max"
        -        ],
        -        "type": "string"
        -      },
        -      "engineVersion": {
        -        "type": "string"
        -      },
        -      "guillotineValid": {
        -        "type": "boolean"
        -      },
        -      "labels": {
        -        "items": {
        -          "properties": {
        -            "edges": {
        -              "properties": {
        -                "bottom": {
        -                  "properties": {
        -                    "length": {
        -                      "type": "number"
        -                    },
        -                    "reference": {
        -                      "type": "string"
        -                    }
        -                  },
        -                  "required": [
        -                    "reference",
        -                    "length"
        -                  ],
        -                  "type": "object"
        -                },
        -                "left": {
        -                  "properties": {
        -                    "length": {
        -                      "type": "number"
        -                    },
        -                    "reference": {
        -                      "type": "string"
        -                    }
        -                  },
        -                  "required": [
        -                    "reference",
        -                    "length"
        -                  ],
        -                  "type": "object"
        -                },
        -                "right": {
        -                  "properties": {
        -                    "length": {
        -                      "type": "number"
        -                    },
        -                    "reference": {
        -                      "type": "string"
        -                    }
        -                  },
        -                  "required": [
        -                    "reference",
        -                    "length"
        -                  ],
        -                  "type": "object"
        -                },
        -                "top": {
        -                  "properties": {
        -                    "length": {
        -                      "type": "number"
        -                    },
        -                    "reference": {
        -                      "type": "string"
        -                    }
        -                  },
        -                  "required": [
        -                    "reference",
        -                    "length"
        -                  ],
        -                  "type": "object"
        -                }
        -              },
        -              "type": "object"
        -            },
        -            "grain": {
        -              "enum": [
        -                "w",
        -                "h"
        -              ],
        -              "type": "string"
        -            },
        -            "h": {
        -              "type": "number"
        -            },
        -            "material": {
        -              "type": "string"
        -            },
        -            "meta": {
        -              "type": "object"
        -            },
        -            "name": {
        -              "type": "string"
        -            },
        -            "partNo": {
        -              "type": "integer"
        -            },
        -            "rotated": {
        -              "type": "boolean"
        -            },
        -            "sheet": {
        -              "type": "integer"
        -            },
        -            "w": {
        -              "type": "number"
        -            },
        -            "x": {
        -              "type": "number"
        -            },
        -            "y": {
        -              "type": "number"
        -            }
        -          },
        -          "required": [
        -            "sheet",
        -            "name",
        -            "partNo",
        -            "w",
        -            "h",
        -            "rotated",
        -            "x",
        -            "y"
        -          ],
        -          "type": "object"
        -        },
        -        "type": "array"
        -      },
        -      "labelsPdf": {
        -        "format": "byte",
        -        "type": "string"
        -      },
        -      "matchedSets": {
        -        "items": {
        -          "properties": {
        -            "asBlock": {
        -              "type": "integer"
        -            },
        -            "block": {
        -              "properties": {
        -                "h": {
        -                  "type": "number"
        -                },
        -                "w": {
        -                  "type": "number"
        -                }
        -              },
        -              "required": [
        -                "w",
        -                "h"
        -              ],
        -              "type": "object"
        -            },
        -            "id": {
        -              "type": "string"
        -            },
        -            "letter": {
        -              "type": "string"
        -            },
        -            "name": {
        -              "type": "string"
        -            },
        -            "requested": {
        -              "type": "integer"
        -            },
        -            "split": {
        -              "type": "integer"
        -            },
        -            "unplaced": {
        -              "type": "integer"
        -            },
        -            "warnings": {
        -              "items": {
        -                "type": "string"
        -              },
        -              "type": "array"
        -            }
        -          },
        -          "required": [
        -            "id",
        -            "letter",
        -            "requested",
        -            "asBlock",
        -            "split",
        -            "unplaced",
        -            "block",
        -            "warnings"
        -          ],
        -          "type": "object"
        -        },
        -        "type": "array"
        -      },
        -      "materials": {
        -        "items": {
        -          "properties": {
        -            "material": {
        -              "type": "string"
        -            },
        -            "placed": {
        -              "type": "integer"
        -            },
        -            "sheetCount": {
        -              "type": "integer"
        -            },
        -            "total": {
        -              "type": "integer"
        -            },
        -            "totalPrice": {
        -              "type": "number"
        -            },
        -            "yieldPct": {
        -              "type": "number"
        -            }
        -          },
        -          "required": [
        -            "material",
        -            "sheetCount",
        -            "yieldPct",
        -            "placed",
        -            "total",
        -            "totalPrice"
        -          ],
        -          "type": "object"
        -        },
        -        "type": "array"
        -      },
        -      "metrics": {
        -        "properties": {
        -          "cutLength": {
        -            "type": "number"
        -          },
        -          "cutLines": {
        -            "type": "integer"
        -          },
        -          "placed": {
        -            "type": "integer"
        -          },
        -          "sawPasses": {
        -            "type": "integer"
        -          },
        -          "sheetCount": {
        -            "type": "integer"
        -          },
        -          "total": {
        -            "type": "integer"
        -          },
        -          "totalPrice": {
        -            "type": "number"
        -          },
        -          "yieldPct": {
        -            "type": "number"
        -          }
        -        },
        -        "required": [
        -          "sheetCount",
        -          "yieldPct",
        -          "placed",
        -          "total",
        -          "cutLines",
        -          "sawPasses",
        -          "cutLength",
        -          "totalPrice"
        -        ],
        -        "type": "object"
        -      },
        -      "pdf": {
        -        "format": "byte",
        -        "type": "string"
        -      },
        -      "planHash": {
        -        "type": "string"
        -      },
        -      "sheets": {
        -        "items": {
        -          "properties": {
        -            "grain": {
        -              "enum": [
        -                "w",
        -                "h"
        -              ],
        -              "type": "string"
        -            },
        -            "h": {
        -              "type": "number"
        -            },
        -            "material": {
        -              "type": "string"
        -            },
        -            "meta": {
        -              "type": "object"
        -            },
        -            "offcuts": {
        -              "items": {
        -                "properties": {
        -                  "h": {
        -                    "type": "number"
        -                  },
        -                  "w": {
        -                    "type": "number"
        -                  },
        -                  "x": {
        -                    "type": "number"
        -                  },
        -                  "y": {
        -                    "type": "number"
        -                  }
        -                },
        -                "required": [
        -                  "x",
        -                  "y",
        -                  "w",
        -                  "h"
        -                ],
        -                "type": "object"
        -              },
        -              "type": "array"
        -            },
        -            "parts": {
        -              "items": {
        -                "properties": {
        -                  "h": {
        -                    "type": "number"
        -                  },
        -                  "matchedSet": {
        -                    "properties": {
        -                      "hint": {
        -                        "enum": [
        -                          "left",
        -                          "middle",
        -                          "right",
        -                          "top",
        -                          "bottom"
        -                        ],
        -                        "type": "string"
        -                      },
        -                      "id": {
        -                        "type": "string"
        -                      },
        -                      "instance": {
        -                        "minimum": 1,
        -                        "type": "integer"
        -                      },
        -                      "position": {
        -                        "minimum": 1,
        -                        "type": "integer"
        -                      }
        -                    },
        -                    "required": [
        -                      "id",
        -                      "instance",
        -                      "position"
        -                    ],
        -                    "type": "object"
        -                  },
        -                  "meta": {
        -                    "type": "object"
        -                  },
        -                  "name": {
        -                    "type": "string"
        -                  },
        -                  "rotated": {
        -                    "type": "boolean"
        -                  },
        -                  "w": {
        -                    "type": "number"
        -                  },
        -                  "x": {
        -                    "type": "number"
        -                  },
        -                  "y": {
        -                    "type": "number"
        -                  }
        -                },
        -                "required": [
        -                  "name",
        -                  "x",
        -                  "y",
        -                  "w",
        -                  "h",
        -                  "rotated"
        -                ],
        -                "type": "object"
        -              },
        -              "type": "array"
        -            },
        -            "price": {
        -              "type": [
        -                "number",
        -                "null"
        -              ]
        -            },
        -            "w": {
        -              "type": "number"
        -            }
        -          },
        -          "required": [
        -            "w",
        -            "h",
        -            "price",
        -            "parts"
        -          ],
        -          "type": "object"
        -        },
        -        "type": "array"
        -      },
        -      "svg": {
        -        "type": "string"
        -      },
        -      "timing": {
        -        "properties": {
        -          "solveMs": {
        -            "type": "number"
        -          }
        -        },
        -        "required": [
        -          "solveMs"
        -        ],
        -        "type": "object"
        -      },
        -      "unmatchedMaterials": {
        -        "items": {
        -          "properties": {
        -            "material": {
        -              "type": "string"
        -            },
        -            "parts": {
        -              "items": {
        -                "properties": {
        -                  "h": {
        -                    "type": "number"
        -                  },
        -                  "name": {
        -                    "type": "string"
        -                  },
        -                  "qty": {
        -                    "minimum": 1,
        -                    "type": "integer"
        -                  },
        -                  "w": {
        -                    "type": "number"
        -                  }
        -                },
        -                "required": [
        -                  "name",
        -                  "w",
        -                  "h",
        -                  "qty"
        -                ],
        -                "type": "object"
        -              },
        -              "type": "array"
        -            }
        -          },
        -          "required": [
        -            "material",
        -            "parts"
        -          ],
        -          "type": "object"
        -        },
        -        "type": "array"
        -      },
        -      "unplaced": {
        -        "items": {
        -          "properties": {
        -            "h": {
        -              "type": "number"
        -            },
        -            "name": {
        -              "type": "string"
        -            },
        -            "qty": {
        -              "minimum": 1,
        -              "type": "integer"
        -            },
        -            "w": {
        -              "type": "number"
        -            }
        -          },
        -          "required": [
        -            "name",
        -            "w",
        -            "h",
        -            "qty"
        -          ],
        -          "type": "object"
        -        },
        -        "type": "array"
        -      },
        -      "warnings": {
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": "array"
        -      }
        -    },
        -    "required": [
        -      "engine",
        -      "engineVersion",
        -      "contractVersion",
        -      "deterministic",
        -      "sheets",
        -      "metrics",
        -      "unplaced",
        -      "warnings",
        -      "guillotineValid",
        -      "timing"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "properties": {
        -      "engine": {
        -        "enum": [
        -          "max"
        -        ],
        -        "type": "string"
        -      },
        -      "jobId": {
        -        "format": "uuid",
        -        "type": "string"
        -      },
        -      "mode": {
        -        "enum": [
        -          "2d"
        -        ],
        -        "type": "string"
        -      },
        -      "pollAfterMs": {
        -        "type": "integer"
        -      },
        -      "quota": {
        -        "properties": {
        -          "limit": {
        -            "type": "integer"
        -          },
        -          "reserved": {
        -            "type": "integer"
        -          },
        -          "used": {
        -            "type": "integer"
        -          }
        -        },
        -        "type": "object"
        -      },
        -      "status": {
        -        "enum": [
        -          "queued"
        -        ],
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "jobId",
        -      "status",
        -      "mode",
        -      "engine",
        -      "pollAfterMs"
        -    ],
        -    "type": "object"
        -  }
        -]New value: +[
        +  {
        +    "properties": {
        +      "contractVersion": {
        +        "type": "string"
        +      },
        +      "csv": {
        +        "type": "string"
        +      },
        +      "cutPlan": {
        +        "items": {
        +          "properties": {
        +            "angle": {
        +              "type": "number"
        +            },
        +            "axis": {
        +              "enum": [
        +                "h",
        +                "v"
        +              ],
        +              "type": "string"
        +            },
        +            "bevel": {
        +              "type": "number"
        +            },
        +            "length": {
        +              "minimum": 0,
        +              "type": "number"
        +            },
        +            "pos": {
        +              "type": "number"
        +            },
        +            "sheet": {
        +              "minimum": 0,
        +              "type": "integer"
        +            },
        +            "stage": {
        +              "minimum": 1,
        +              "type": "integer"
        +            },
        +            "step": {
        +              "minimum": 1,
        +              "type": "integer"
        +            }
        +          },
        +          "required": [
        +            "sheet",
        +            "step",
        +            "axis",
        +            "pos",
        +            "length",
        +            "stage"
        +          ],
        +          "type": "object"
        +        },
        +        "type": [
        +          "array",
        +          "null"
        +        ]
        +      },
        +      "deterministic": {
        +        "const": true,
        +        "type": "boolean"
        +      },
        +      "dxf": {
        +        "type": "string"
        +      },
        +      "edgeBanding": {
        +        "properties": {
        +          "byPart": {
        +            "items": {
        +              "properties": {
        +                "byType": {
        +                  "items": {
        +                    "properties": {
        +                      "meters": {
        +                        "type": "number"
        +                      },
        +                      "reference": {
        +                        "type": "string"
        +                      }
        +                    },
        +                    "required": [
        +                      "reference",
        +                      "meters"
        +                    ],
        +                    "type": "object"
        +                  },
        +                  "type": "array"
        +                },
        +                "meters": {
        +                  "type": "number"
        +                },
        +                "name": {
        +                  "type": "string"
        +                }
        +              },
        +              "required": [
        +                "name",
        +                "meters",
        +                "byType"
        +              ],
        +              "type": "object"
        +            },
        +            "type": "array"
        +          },
        +          "byType": {
        +            "items": {
        +              "properties": {
        +                "meters": {
        +                  "type": "number"
        +                },
        +                "reference": {
        +                  "type": "string"
        +                }
        +              },
        +              "required": [
        +                "reference",
        +                "meters"
        +              ],
        +              "type": "object"
        +            },
        +            "type": "array"
        +          },
        +          "totalMeters": {
        +            "type": "number"
        +          }
        +        },
        +        "required": [
        +          "totalMeters",
        +          "byType",
        +          "byPart"
        +        ],
        +        "type": "object"
        +      },
        +      "engine": {
        +        "enum": [
        +          "heuristic",
        +          "balanced",
        +          "max"
        +        ],
        +        "type": "string"
        +      },
        +      "engineVersion": {
        +        "type": "string"
        +      },
        +      "guillotineValid": {
        +        "type": "boolean"
        +      },
        +      "labels": {
        +        "items": {
        +          "properties": {
        +            "edges": {
        +              "properties": {
        +                "bottom": {
        +                  "properties": {
        +                    "length": {
        +                      "type": "number"
        +                    },
        +                    "reference": {
        +                      "type": "string"
        +                    }
        +                  },
        +                  "required": [
        +                    "reference",
        +                    "length"
        +                  ],
        +                  "type": "object"
        +                },
        +                "left": {
        +                  "properties": {
        +                    "length": {
        +                      "type": "number"
        +                    },
        +                    "reference": {
        +                      "type": "string"
        +                    }
        +                  },
        +                  "required": [
        +                    "reference",
        +                    "length"
        +                  ],
        +                  "type": "object"
        +                },
        +                "right": {
        +                  "properties": {
        +                    "length": {
        +                      "type": "number"
        +                    },
        +                    "reference": {
        +                      "type": "string"
        +                    }
        +                  },
        +                  "required": [
        +                    "reference",
        +                    "length"
        +                  ],
        +                  "type": "object"
        +                },
        +                "top": {
        +                  "properties": {
        +                    "length": {
        +                      "type": "number"
        +                    },
        +                    "reference": {
        +                      "type": "string"
        +                    }
        +                  },
        +                  "required": [
        +                    "reference",
        +                    "length"
        +                  ],
        +                  "type": "object"
        +                }
        +              },
        +              "type": "object"
        +            },
        +            "grain": {
        +              "enum": [
        +                "w",
        +                "h"
        +              ],
        +              "type": "string"
        +            },
        +            "h": {
        +              "type": "number"
        +            },
        +            "material": {
        +              "type": "string"
        +            },
        +            "meta": {
        +              "type": "object"
        +            },
        +            "name": {
        +              "type": "string"
        +            },
        +            "partNo": {
        +              "type": "integer"
        +            },
        +            "rotated": {
        +              "type": "boolean"
        +            },
        +            "sheet": {
        +              "type": "integer"
        +            },
        +            "w": {
        +              "type": "number"
        +            },
        +            "x": {
        +              "type": "number"
        +            },
        +            "y": {
        +              "type": "number"
        +            }
        +          },
        +          "required": [
        +            "sheet",
        +            "name",
        +            "partNo",
        +            "w",
        +            "h",
        +            "rotated",
        +            "x",
        +            "y"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "labelsPdf": {
        +        "format": "byte",
        +        "type": "string"
        +      },
        +      "matchedSets": {
        +        "items": {
        +          "properties": {
        +            "asBlock": {
        +              "type": "integer"
        +            },
        +            "block": {
        +              "properties": {
        +                "h": {
        +                  "type": "number"
        +                },
        +                "w": {
        +                  "type": "number"
        +                }
        +              },
        +              "required": [
        +                "w",
        +                "h"
        +              ],
        +              "type": "object"
        +            },
        +            "id": {
        +              "type": "string"
        +            },
        +            "letter": {
        +              "type": "string"
        +            },
        +            "name": {
        +              "type": "string"
        +            },
        +            "requested": {
        +              "type": "integer"
        +            },
        +            "split": {
        +              "type": "integer"
        +            },
        +            "unplaced": {
        +              "type": "integer"
        +            },
        +            "warnings": {
        +              "items": {
        +                "type": "string"
        +              },
        +              "type": "array"
        +            }
        +          },
        +          "required": [
        +            "id",
        +            "letter",
        +            "requested",
        +            "asBlock",
        +            "split",
        +            "unplaced",
        +            "block",
        +            "warnings"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "materials": {
        +        "items": {
        +          "properties": {
        +            "material": {
        +              "type": "string"
        +            },
        +            "placed": {
        +              "type": "integer"
        +            },
        +            "sheetCount": {
        +              "type": "integer"
        +            },
        +            "total": {
        +              "type": "integer"
        +            },
        +            "totalPrice": {
        +              "type": "number"
        +            },
        +            "yieldPct": {
        +              "type": "number"
        +            }
        +          },
        +          "required": [
        +            "material",
        +            "sheetCount",
        +            "yieldPct",
        +            "placed",
        +            "total",
        +            "totalPrice"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "metrics": {
        +        "properties": {
        +          "cutLength": {
        +            "type": "number"
        +          },
        +          "cutLines": {
        +            "type": "integer"
        +          },
        +          "placed": {
        +            "type": "integer"
        +          },
        +          "sawPasses": {
        +            "type": "integer"
        +          },
        +          "sheetCount": {
        +            "type": "integer"
        +          },
        +          "total": {
        +            "type": "integer"
        +          },
        +          "totalPrice": {
        +            "type": "number"
        +          },
        +          "yieldPct": {
        +            "type": "number"
        +          }
        +        },
        +        "required": [
        +          "sheetCount",
        +          "yieldPct",
        +          "placed",
        +          "total",
        +          "cutLines",
        +          "sawPasses",
        +          "cutLength",
        +          "totalPrice"
        +        ],
        +        "type": "object"
        +      },
        +      "pdf": {
        +        "format": "byte",
        +        "type": "string"
        +      },
        +      "planHash": {
        +        "type": "string"
        +      },
        +      "sheets": {
        +        "items": {
        +          "properties": {
        +            "grain": {
        +              "enum": [
        +                "w",
        +                "h"
        +              ],
        +              "type": "string"
        +            },
        +            "h": {
        +              "type": "number"
        +            },
        +            "material": {
        +              "type": "string"
        +            },
        +            "meta": {
        +              "type": "object"
        +            },
        +            "offcuts": {
        +              "items": {
        +                "properties": {
        +                  "h": {
        +                    "type": "number"
        +                  },
        +                  "w": {
        +                    "type": "number"
        +                  },
        +                  "x": {
        +                    "type": "number"
        +                  },
        +                  "y": {
        +                    "type": "number"
        +                  }
        +                },
        +                "required": [
        +                  "x",
        +                  "y",
        +                  "w",
        +                  "h"
        +                ],
        +                "type": "object"
        +              },
        +              "type": "array"
        +            },
        +            "parts": {
        +              "items": {
        +                "properties": {
        +                  "h": {
        +                    "type": "number"
        +                  },
        +                  "matchedSet": {
        +                    "properties": {
        +                      "hint": {
        +                        "enum": [
        +                          "left",
        +                          "middle",
        +                          "right",
        +                          "top",
        +                          "bottom"
        +                        ],
        +                        "type": "string"
        +                      },
        +                      "id": {
        +                        "type": "string"
        +                      },
        +                      "instance": {
        +                        "minimum": 1,
        +                        "type": "integer"
        +                      },
        +                      "position": {
        +                        "minimum": 1,
        +                        "type": "integer"
        +                      }
        +                    },
        +                    "required": [
        +                      "id",
        +                      "instance",
        +                      "position"
        +                    ],
        +                    "type": "object"
        +                  },
        +                  "meta": {
        +                    "type": "object"
        +                  },
        +                  "name": {
        +                    "type": "string"
        +                  },
        +                  "rotated": {
        +                    "type": "boolean"
        +                  },
        +                  "w": {
        +                    "type": "number"
        +                  },
        +                  "x": {
        +                    "type": "number"
        +                  },
        +                  "y": {
        +                    "type": "number"
        +                  }
        +                },
        +                "required": [
        +                  "name",
        +                  "x",
        +                  "y",
        +                  "w",
        +                  "h",
        +                  "rotated"
        +                ],
        +                "type": "object"
        +              },
        +              "type": "array"
        +            },
        +            "price": {
        +              "type": [
        +                "number",
        +                "null"
        +              ]
        +            },
        +            "w": {
        +              "type": "number"
        +            }
        +          },
        +          "required": [
        +            "w",
        +            "h",
        +            "price",
        +            "parts"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "svg": {
        +        "type": "string"
        +      },
        +      "timing": {
        +        "properties": {
        +          "solveMs": {
        +            "type": "number"
        +          }
        +        },
        +        "required": [
        +          "solveMs"
        +        ],
        +        "type": "object"
        +      },
        +      "unmatchedMaterials": {
        +        "items": {
        +          "properties": {
        +            "material": {
        +              "type": "string"
        +            },
        +            "parts": {
        +              "items": {
        +                "properties": {
        +                  "h": {
        +                    "type": "number"
        +                  },
        +                  "name": {
        +                    "type": "string"
        +                  },
        +                  "qty": {
        +                    "minimum": 1,
        +                    "type": "integer"
        +                  },
        +                  "w": {
        +                    "type": "number"
        +                  }
        +                },
        +                "required": [
        +                  "name",
        +                  "w",
        +                  "h",
        +                  "qty"
        +                ],
        +                "type": "object"
        +              },
        +              "type": "array"
        +            }
        +          },
        +          "required": [
        +            "material",
        +            "parts"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "unplaced": {
        +        "items": {
        +          "properties": {
        +            "h": {
        +              "type": "number"
        +            },
        +            "name": {
        +              "type": "string"
        +            },
        +            "qty": {
        +              "minimum": 1,
        +              "type": "integer"
        +            },
        +            "w": {
        +              "type": "number"
        +            }
        +          },
        +          "required": [
        +            "name",
        +            "w",
        +            "h",
        +            "qty"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "warnings": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      }
        +    },
        +    "required": [
        +      "engine",
        +      "engineVersion",
        +      "contractVersion",
        +      "deterministic",
        +      "sheets",
        +      "metrics",
        +      "unplaced",
        +      "warnings",
        +      "guillotineValid",
        +      "timing"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "properties": {
        +      "engine": {
        +        "enum": [
        +          "max"
        +        ],
        +        "type": "string"
        +      },
        +      "jobId": {
        +        "format": "uuid",
        +        "type": "string"
        +      },
        +      "mode": {
        +        "enum": [
        +          "2d"
        +        ],
        +        "type": "string"
        +      },
        +      "pollAfterMs": {
        +        "type": "integer"
        +      },
        +      "quota": {
        +        "properties": {
        +          "limit": {
        +            "type": "integer"
        +          },
        +          "reserved": {
        +            "type": "integer"
        +          },
        +          "used": {
        +            "type": "integer"
        +          }
        +        },
        +        "type": "object"
        +      },
        +      "status": {
        +        "enum": [
        +          "queued"
        +        ],
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "jobId",
        +      "status",
        +      "mode",
        +      "engine",
        +      "pollAfterMs"
        +    ],
        +    "type": "object"
        +  }
        +]
    • Changedoptimize_wood7 fields changed
      • addedInput schema / properties / options / properties / mitrePairing
        Added value: +{
        +  "default": false,
        +  "description": "Pair parts of one section whose facing ends (`parts[].ends`) can share ONE saw cut. Off by default: a request without it is solved exactly as before. On, a plan with pairs is returned only when it ranks strictly better than the unpaired plan by the packer's own ranking (parts placed first, then material — or price with `minimizeCost`); otherwise the unpaired plan comes back. Pairs only, no chains of three or more.",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / parts / items / properties / ends
        Added value: +{
        +  "description": "Angled ends (mitre pairing). The `angle` is seen on `sh` AS ENTERED and the `bevel` on `sw`, so send the section the way the angles were measured.",
        +  "properties": {
        +    "end": {
        +      "description": "One end cut of a part, in degrees from square (0 = a square end), signed. The part is measured long point to long point (`length` is its overall length). A part whose two end cuts would cross inside its section (shorter than its leads) cannot be made: a 400 `invalid_request` naming `parts[i].ends` says how long it must at least be.",
        +      "properties": {
        +        "angle": {
        +          "description": "The face angle: the mitre or plumb cut as seen on the `depth` side (wood: on `sh` as entered).",
        +          "exclusiveMaximum": 90,
        +          "exclusiveMinimum": -90,
        +          "type": "number"
        +        },
        +        "bevel": {
        +          "default": 0,
        +          "description": "The edge angle: the bevel as seen on the `thickness` side (wood: on `sw` as entered). A compound cut has both.",
        +          "exclusiveMaximum": 90,
        +          "exclusiveMinimum": -90,
        +          "type": "number"
        +        }
        +      },
        +      "required": [
        +        "angle"
        +      ],
        +      "type": "object"
        +    },
        +    "start": {
        +      "description": "One end cut of a part, in degrees from square (0 = a square end), signed. The part is measured long point to long point (`length` is its overall length). A part whose two end cuts would cross inside its section (shorter than its leads) cannot be made: a 400 `invalid_request` naming `parts[i].ends` says how long it must at least be.",
        +      "properties": {
        +        "angle": {
        +          "description": "The face angle: the mitre or plumb cut as seen on the `depth` side (wood: on `sh` as entered).",
        +          "exclusiveMaximum": 90,
        +          "exclusiveMinimum": -90,
        +          "type": "number"
        +        },
        +        "bevel": {
        +          "default": 0,
        +          "description": "The edge angle: the bevel as seen on the `thickness` side (wood: on `sw` as entered). A compound cut has both.",
        +          "exclusiveMaximum": 90,
        +          "exclusiveMinimum": -90,
        +          "type": "number"
        +        }
        +      },
        +      "required": [
        +        "angle"
        +      ],
        +      "type": "object"
        +    }
        +  },
        +  "type": "object"
        +}
      • addedInput schema / properties / parts / items / properties / flip
        Added value: +{
        +  "default": "none",
        +  "description": "Mitre pairing only: which 180° turns of the part on the bar are allowed, so its angled end can meet a neighbour's. `none` (default — a profiled moulding or one-sided stock), `face` (end for end, the crown or top edge stays up — roof members), `edge` (end for end over the edge — flat stock, frames), `any`.",
        +  "enum": [
        +    "none",
        +    "face",
        +    "edge",
        +    "any"
        +  ],
        +  "type": "string"
        +}
      • changedOutput schema / properties / cutPlan / items / allOf
        Previous value: -[
        -  {
        -    "properties": {
        -      "axis": {
        -        "enum": [
        -          "h",
        -          "v"
        -        ],
        -        "type": "string"
        -      },
        -      "length": {
        -        "minimum": 0,
        -        "type": "number"
        -      },
        -      "pos": {
        -        "type": "number"
        -      },
        -      "sheet": {
        -        "minimum": 0,
        -        "type": "integer"
        -      },
        -      "stage": {
        -        "minimum": 1,
        -        "type": "integer"
        -      },
        -      "step": {
        -        "minimum": 1,
        -        "type": "integer"
        -      }
        -    },
        -    "required": [
        -      "sheet",
        -      "step",
        -      "axis",
        -      "pos",
        -      "length",
        -      "stage"
        -    ],
        -    "type": "object"
        -  }
        -]New value: +[
        +  {
        +    "properties": {
        +      "angle": {
        +        "type": "number"
        +      },
        +      "axis": {
        +        "enum": [
        +          "h",
        +          "v"
        +        ],
        +        "type": "string"
        +      },
        +      "bevel": {
        +        "type": "number"
        +      },
        +      "length": {
        +        "minimum": 0,
        +        "type": "number"
        +      },
        +      "pos": {
        +        "type": "number"
        +      },
        +      "sheet": {
        +        "minimum": 0,
        +        "type": "integer"
        +      },
        +      "stage": {
        +        "minimum": 1,
        +        "type": "integer"
        +      },
        +      "step": {
        +        "minimum": 1,
        +        "type": "integer"
        +      }
        +    },
        +    "required": [
        +      "sheet",
        +      "step",
        +      "axis",
        +      "pos",
        +      "length",
        +      "stage"
        +    ],
        +    "type": "object"
        +  }
        +]
      • addedOutput schema / properties / metrics / properties / sharedCuts
        Added value: +{
        +  "type": "integer"
        +}
      • addedOutput schema / properties / sections / items / properties / rods / items / properties / parts / items / properties / flipped
        Added value: +{
        +  "enum": [
        +    "face",
        +    "edge",
        +    "roll"
        +  ],
        +  "type": "string"
        +}
      • addedOutput schema / properties / sections / items / properties / rods / items / properties / parts / items / properties / sharedCut
        Added value: +{
        +  "properties": {
        +    "angle": {
        +      "type": "number"
        +    },
        +    "bevel": {
        +      "type": "number"
        +    },
        +    "kerfAlongAxis": {
        +      "type": "number"
        +    },
        +    "lead": {
        +      "type": "number"
        +    }
        +  },
        +  "required": [
        +    "angle",
        +    "bevel",
        +    "kerfAlongAxis",
        +    "lead"
        +  ],
        +  "type": "object"
        +}
    • Changedvalidate_1d5 fields changed
      • addedInput schema / properties / options / properties / mitrePairing
        Added value: +{
        +  "default": false,
        +  "type": "boolean"
        +}
      • addedInput schema / properties / parts / items / properties / depth
        Added value: +{
        +  "exclusiveMinimum": 0,
        +  "type": "number"
        +}
      • addedInput schema / properties / parts / items / properties / ends
        Added value: +{
        +  "properties": {
        +    "end": {
        +      "properties": {
        +        "angle": {
        +          "exclusiveMaximum": 90,
        +          "exclusiveMinimum": -90,
        +          "type": "number"
        +        },
        +        "bevel": {
        +          "default": 0,
        +          "exclusiveMaximum": 90,
        +          "exclusiveMinimum": -90,
        +          "type": "number"
        +        }
        +      },
        +      "required": [
        +        "angle"
        +      ],
        +      "type": "object"
        +    },
        +    "start": {
        +      "properties": {
        +        "angle": {
        +          "exclusiveMaximum": 90,
        +          "exclusiveMinimum": -90,
        +          "type": "number"
        +        },
        +        "bevel": {
        +          "default": 0,
        +          "exclusiveMaximum": 90,
        +          "exclusiveMinimum": -90,
        +          "type": "number"
        +        }
        +      },
        +      "required": [
        +        "angle"
        +      ],
        +      "type": "object"
        +    }
        +  },
        +  "type": "object"
        +}
      • addedInput schema / properties / parts / items / properties / flip
        Added value: +{
        +  "default": "none",
        +  "enum": [
        +    "none",
        +    "face",
        +    "edge",
        +    "any"
        +  ],
        +  "type": "string"
        +}
      • addedInput schema / properties / parts / items / properties / thickness
        Added value: +{
        +  "exclusiveMinimum": 0,
        +  "type": "number"
        +}
    • Changedvalidate_wood3 fields changed
      • addedInput schema / properties / options / properties / mitrePairing
        Added value: +{
        +  "default": false,
        +  "type": "boolean"
        +}
      • addedInput schema / properties / parts / items / properties / ends
        Added value: +{
        +  "properties": {
        +    "end": {
        +      "properties": {
        +        "angle": {
        +          "exclusiveMaximum": 90,
        +          "exclusiveMinimum": -90,
        +          "type": "number"
        +        },
        +        "bevel": {
        +          "default": 0,
        +          "exclusiveMaximum": 90,
        +          "exclusiveMinimum": -90,
        +          "type": "number"
        +        }
        +      },
        +      "required": [
        +        "angle"
        +      ],
        +      "type": "object"
        +    },
        +    "start": {
        +      "properties": {
        +        "angle": {
        +          "exclusiveMaximum": 90,
        +          "exclusiveMinimum": -90,
        +          "type": "number"
        +        },
        +        "bevel": {
        +          "default": 0,
        +          "exclusiveMaximum": 90,
        +          "exclusiveMinimum": -90,
        +          "type": "number"
        +        }
        +      },
        +      "required": [
        +        "angle"
        +      ],
        +      "type": "object"
        +    }
        +  },
        +  "type": "object"
        +}
      • addedInput schema / properties / parts / items / properties / flip
        Added value: +{
        +  "default": "none",
        +  "enum": [
        +    "none",
        +    "face",
        +    "edge",
        +    "any"
        +  ],
        +  "type": "string"
        +}
  4. 10 tool updates
    • First observedget_job
    • First observedget_usage
    • First observedoptimize_1d
    • First observedoptimize_2d
    • First observedoptimize_nest
    • First observedoptimize_wood
    • First observedvalidate_1d
    • First observedvalidate_2d
    • First observedvalidate_nest
    • First observedvalidate_wood

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    B
    maintenance
    SmartCut is a hosted cutting-optimisation API. It turns a list of parts and available stock into machine-ready cutting patterns for sheet materials (plywood, MDF, glass, plastic, sheet metal), linear stock (timber, bar, pipe, extrusion) and roll goods. Guillotine and true-shape nesting modes, with grain direction, per-part orientation locks, edge banding, blade kerf and stock trim.
    3
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables 2D irregular polygon nesting (bin-packing) with tools to design, preview, get reports, and export DXF files for laser cutting or CNC routing.
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables an agent to turn furniture measurements into parametric module parts, optimize panel cutting layouts, and export cut lists, labels, PDF/SVG, CSV, or DXF.
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    Free, open-source 2D nesting for fixed sheets (laser, CNC, plasma, waterjet, fabric): SVG/DXF import, part-in-part nesting across several sheets, validation and export. Runs as an MCP server, on the command line and in the browser.
    5
    10
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.