changedOutput schema / anyOf
Previous value: -[
- {
- "properties": {
- "bought": {
- "anyOf": [
- {
- "properties": {
- "ft": {
- "type": "number"
- },
- "m": {
- "type": "number"
- },
- "text": {
- "description": "In the system asked for, then the other.",
- "type": "string"
- }
- },
- "required": [
- "m",
- "ft",
- "text"
- ],
- "type": "object"
- },
- {
- "properties": {
- "ft2": {
- "type": "number"
- },
- "m2": {
- "type": "number"
- },
- "text": {
- "type": "string"
- }
- },
- "required": [
- "m2",
- "ft2",
- "text"
- ],
- "type": "object"
- }
- ]
- },
- "bound": {
- "description": "The floor no plan can beat: the pieces with their kerf over the stock (with one stock length, at least one bar for each piece over half a bar; on sheets, one sheet for each piece too big to share one).",
- "required": [
- "wastePercent"
- ],
- "type": "object"
- },
- "buy": {
- "description": "What to buy: each stock length or the sheet size, and how many.",
- "items": {
- "properties": {
- "count": {
- "type": "integer"
- },
- "sheet": {
- "type": "object"
- },
- "stock": {
- "properties": {
- "ft": {
- "type": "number"
- },
- "m": {
- "type": "number"
- },
- "text": {
- "description": "In the system asked for, then the other.",
- "type": "string"
- }
- },
- "required": [
- "m",
- "ft",
- "text"
- ],
- "type": "object"
- },
- "text": {
- "type": "string"
- }
- },
- "required": [
- "count",
- "text"
- ],
- "type": "object"
- },
- "type": "array"
- },
- "citation": {
- "properties": {
- "accessDate": {
- "anyOf": [
- {
- "type": "string"
- },
- {
- "type": "null"
- }
- ]
- },
- "author": {
- "type": "string"
- },
- "formats": {
- "properties": {
- "apa": {
- "type": "string"
- },
- "bibtex": {
- "type": "string"
- },
- "harvard": {
- "type": "string"
- },
- "plain": {
- "type": "string"
- }
- },
- "required": [
- "plain",
- "apa",
- "harvard",
- "bibtex"
- ],
- "type": "object"
- },
- "sourcesChecked": {
- "anyOf": [
- {
- "type": "string"
- },
- {
- "type": "null"
- }
- ]
- },
- "title": {
- "type": "string"
- },
- "url": {
- "type": "string"
- },
- "version": {
- "anyOf": [
- {
- "type": "string"
- },
- {
- "type": "null"
- }
- ]
- }
- },
- "required": [
- "author",
- "title",
- "url",
- "formats",
- "accessDate"
- ],
- "type": "object"
- },
- "engine": {
- "type": "object"
- },
- "gapPercent": {
- "description": "How far this plan is above the bound, percent.",
- "type": "number"
- },
- "given": {
- "description": "What the plan was worked from, in both systems: the stock lengths or sheet sizes, the kerf, the minimum offcut, whether pieces turn.",
- "type": "object"
- },
- "joinedRuns": {
- "type": "integer"
- },
- "kind": {
- "enum": [
- "linear",
- "sheet"
- ]
- },
- "licence": {
- "properties": {
- "attribution": {
- "type": "string"
- },
- "name": {
- "type": "string"
- },
- "url": {
- "type": "string"
- }
- },
- "required": [
- "name",
- "url",
- "attribution"
- ],
- "type": "object"
- },
- "links": {
- "properties": {
- "page": {
- "type": "string"
- }
- },
- "required": [
- "page"
- ],
- "type": "object"
- },
- "material": {
- "type": "string"
- },
- "method": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "notDesign": {
- "type": "string"
- },
- "notice": {
- "type": "string"
- },
- "patterns": {
- "description": "Each way a bar or sheet is cut, with how many are cut that way; up to 150, most used first.",
- "items": {
- "anyOf": [
- {
- "properties": {
- "cuts": {
- "items": {
- "properties": {
- "joined": {
- "type": "boolean"
- },
- "label": {
- "type": "string"
- },
- "length": {
- "properties": {
- "ft": {
- "type": "number"
- },
- "m": {
- "type": "number"
- },
- "text": {
- "description": "In the system asked for, then the other.",
- "type": "string"
- }
- },
- "required": [
- "m",
- "ft",
- "text"
- ],
- "type": "object"
- }
- },
- "required": [
- "length"
- ],
- "type": "object"
- },
- "type": "array"
- },
- "keep": {
- "type": "boolean"
- },
- "offcut": {
- "properties": {
- "ft": {
- "type": "number"
- },
- "m": {
- "type": "number"
- },
- "text": {
- "description": "In the system asked for, then the other.",
- "type": "string"
- }
- },
- "required": [
- "m",
- "ft",
- "text"
- ],
- "type": "object"
- },
- "stock": {
- "properties": {
- "ft": {
- "type": "number"
- },
- "m": {
- "type": "number"
- },
- "text": {
- "description": "In the system asked for, then the other.",
- "type": "string"
- }
- },
- "required": [
- "m",
- "ft",
- "text"
- ],
- "type": "object"
- },
- "times": {
- "type": "integer"
- }
- },
- "required": [
- "times",
- "stock",
- "cuts",
- "offcut",
- "keep"
- ],
- "type": "object"
- },
- {
- "properties": {
- "largestOffcut": {
- "type": "object"
- },
- "placed": {
- "items": {
- "properties": {
- "height": {
- "properties": {
- "ft": {
- "type": "number"
- },
- "m": {
- "type": "number"
- },
- "text": {
- "description": "In the system asked for, then the other.",
- "type": "string"
- }
- },
- "required": [
- "m",
- "ft",
- "text"
- ],
- "type": "object"
- },
- "label": {
- "type": "string"
- },
- "rotated": {
- "type": "boolean"
- },
- "width": {
- "properties": {
- "ft": {
- "type": "number"
- },
- "m": {
- "type": "number"
- },
- "text": {
- "description": "In the system asked for, then the other.",
- "type": "string"
- }
- },
- "required": [
- "m",
- "ft",
- "text"
- ],
- "type": "object"
- },
- "x": {
- "properties": {
- "ft": {
- "type": "number"
- },
- "m": {
- "type": "number"
- },
- "text": {
- "description": "In the system asked for, then the other.",
- "type": "string"
- }
- },
- "required": [
- "m",
- "ft",
- "text"
- ],
- "type": "object"
- },
- "y": {
- "properties": {
- "ft": {
- "type": "number"
- },
- "m": {
- "type": "number"
- },
- "text": {
- "description": "In the system asked for, then the other.",
- "type": "string"
- }
- },
- "required": [
- "m",
- "ft",
- "text"
- ],
- "type": "object"
- }
- },
- "required": [
- "x",
- "y",
- "width",
- "height",
- "rotated"
- ],
- "type": "object"
- },
- "type": "array"
- },
- "times": {
- "type": "integer"
- }
- },
- "required": [
- "times",
- "placed"
- ],
- "type": "object"
- }
- ]
- },
- "type": "array"
- },
- "patternsTotal": {
- "type": "integer"
- },
- "pieces": {
- "type": "integer"
- },
- "proven": {
- "description": "True when no plan buys less: the exact branch and bound finished, or the plan meets the bound.",
- "type": "boolean"
- },
- "required": {
- "anyOf": [
- {
- "properties": {
- "ft": {
- "type": "number"
- },
- "m": {
- "type": "number"
- },
- "text": {
- "description": "In the system asked for, then the other.",
- "type": "string"
- }
- },
- "required": [
- "m",
- "ft",
- "text"
- ],
- "type": "object"
- },
- {
- "properties": {
- "ft2": {
- "type": "number"
- },
- "m2": {
- "type": "number"
- },
- "text": {
- "type": "string"
- }
- },
- "required": [
- "m2",
- "ft2",
- "text"
- ],
- "type": "object"
- }
- ]
- },
- "steps": {
- "description": "Search steps spent (bounded).",
- "type": "integer"
- },
- "system": {
- "enum": [
- "metric",
- "imperial"
- ]
- },
- "tooLong": {
- "description": "Pieces no stock length or sheet takes, listed rather than split.",
- "items": {
- "type": "object"
- },
- "type": "array"
- },
- "waste": {
- "properties": {
- "excludingKeptOffcutsPercent": {
- "type": "number"
- },
- "keptOffcut": {
- "properties": {
- "ft": {
- "type": "number"
- },
- "m": {
- "type": "number"
- },
- "text": {
- "description": "In the system asked for, then the other.",
- "type": "string"
- }
- },
- "required": [
- "m",
- "ft",
- "text"
- ],
- "type": "object"
- },
- "percent": {
- "type": "number"
- }
- },
- "required": [
- "percent"
- ],
- "type": "object"
- }
- },
- "required": [
- "engine",
- "system",
- "kind",
- "material",
- "given",
- "buy",
- "waste",
- "bound",
- "proven",
- "patterns",
- "patternsTotal",
- "notDesign",
- "method",
- "citation",
- "licence",
- "notice",
- "links"
- ],
- "type": "object"
- },
- {
- "properties": {
- "citation": {
- "description": "The one citation line, built from the answer's own data.",
- "type": "string"
- },
- "detail": {
- "const": "summary"
- },
- "lines": {
- "description": "The result lines, as the report's table gives them.",
- "items": {
- "additionalProperties": {
- "type": "string"
- },
- "type": "object"
- },
- "type": "array"
- },
- "more": {
- "anyOf": [
- {
- "type": "string"
- },
- {
- "type": "null"
- }
- ]
- },
- "notes": {
- "description": "What a professional must decide, when to call one, a false-friend warning, that adoption is local: kept in every summary.",
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "open": {
- "anyOf": [
- {
- "type": "string"
- },
- {
- "type": "null"
- }
- ]
- },
- "title": {
- "type": "string"
- },
- "tool": {
- "type": "string"
- },
- "url": {
- "anyOf": [
- {
- "type": "string"
- },
- {
- "type": "null"
- }
- ]
- }
- },
- "required": [
- "detail",
- "tool",
- "title",
- "lines",
- "notes",
- "citation",
- "url",
- "open",
- "more"
- ],
- "type": "object"
- }
-]New value: +[
+ {
+ "properties": {
+ "banding": {
+ "description": "sheet: edge banding per row of the list and the total, with any allowance.",
+ "type": "object"
+ },
+ "bought": {
+ "anyOf": [
+ {
+ "properties": {
+ "ft": {
+ "type": "number"
+ },
+ "m": {
+ "type": "number"
+ },
+ "text": {
+ "description": "In the system asked for, then the other.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "m",
+ "ft",
+ "text"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "ft2": {
+ "type": "number"
+ },
+ "m2": {
+ "type": "number"
+ },
+ "text": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "m2",
+ "ft2",
+ "text"
+ ],
+ "type": "object"
+ }
+ ]
+ },
+ "bound": {
+ "description": "The floor no plan can beat: the pieces with their kerf over the stock (with one stock length, at least one bar for each piece over half a bar; on sheets, one sheet for each piece too big to share one).",
+ "required": [
+ "wastePercent"
+ ],
+ "type": "object"
+ },
+ "buy": {
+ "description": "What to buy: each stock length or the sheet size, and how many.",
+ "items": {
+ "properties": {
+ "count": {
+ "type": "integer"
+ },
+ "sheet": {
+ "type": "object"
+ },
+ "stock": {
+ "properties": {
+ "ft": {
+ "type": "number"
+ },
+ "m": {
+ "type": "number"
+ },
+ "text": {
+ "description": "In the system asked for, then the other.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "m",
+ "ft",
+ "text"
+ ],
+ "type": "object"
+ },
+ "text": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "count",
+ "text"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "citation": {
+ "properties": {
+ "accessDate": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "author": {
+ "type": "string"
+ },
+ "formats": {
+ "properties": {
+ "apa": {
+ "type": "string"
+ },
+ "bibtex": {
+ "type": "string"
+ },
+ "harvard": {
+ "type": "string"
+ },
+ "plain": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "plain",
+ "apa",
+ "harvard",
+ "bibtex"
+ ],
+ "type": "object"
+ },
+ "sourcesChecked": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "title": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ },
+ "version": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "required": [
+ "author",
+ "title",
+ "url",
+ "formats",
+ "accessDate"
+ ],
+ "type": "object"
+ },
+ "engine": {
+ "type": "object"
+ },
+ "gapPercent": {
+ "description": "How far this plan is above the bound, percent.",
+ "type": "number"
+ },
+ "given": {
+ "description": "What the plan was worked from, in both systems: the stock lengths or sheet sizes, the kerf, the minimum offcut, whether pieces turn.",
+ "type": "object"
+ },
+ "joinedRuns": {
+ "type": "integer"
+ },
+ "kind": {
+ "enum": [
+ "linear",
+ "sheet"
+ ]
+ },
+ "licence": {
+ "properties": {
+ "attribution": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "name",
+ "url",
+ "attribution"
+ ],
+ "type": "object"
+ },
+ "links": {
+ "properties": {
+ "page": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "page"
+ ],
+ "type": "object"
+ },
+ "material": {
+ "type": "string"
+ },
+ "method": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "notDesign": {
+ "type": "string"
+ },
+ "notice": {
+ "type": "string"
+ },
+ "patterns": {
+ "description": "Each way a bar or sheet is cut, with how many are cut that way; up to 150, most used first.",
+ "items": {
+ "anyOf": [
+ {
+ "properties": {
+ "cuts": {
+ "items": {
+ "properties": {
+ "joined": {
+ "type": "boolean"
+ },
+ "label": {
+ "type": "string"
+ },
+ "length": {
+ "properties": {
+ "ft": {
+ "type": "number"
+ },
+ "m": {
+ "type": "number"
+ },
+ "text": {
+ "description": "In the system asked for, then the other.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "m",
+ "ft",
+ "text"
+ ],
+ "type": "object"
+ }
+ },
+ "required": [
+ "length"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "keep": {
+ "type": "boolean"
+ },
+ "offcut": {
+ "properties": {
+ "ft": {
+ "type": "number"
+ },
+ "m": {
+ "type": "number"
+ },
+ "text": {
+ "description": "In the system asked for, then the other.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "m",
+ "ft",
+ "text"
+ ],
+ "type": "object"
+ },
+ "stock": {
+ "properties": {
+ "ft": {
+ "type": "number"
+ },
+ "m": {
+ "type": "number"
+ },
+ "text": {
+ "description": "In the system asked for, then the other.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "m",
+ "ft",
+ "text"
+ ],
+ "type": "object"
+ },
+ "times": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "times",
+ "stock",
+ "cuts",
+ "offcut",
+ "keep"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "cuts": {
+ "description": "The saw cuts in the order to make them (edge trim, rips, cross cuts), on a guillotine layout.",
+ "items": {
+ "properties": {
+ "from": {
+ "type": "object"
+ },
+ "kind": {
+ "enum": [
+ "trim",
+ "rip",
+ "cross"
+ ]
+ },
+ "length": {
+ "properties": {
+ "ft": {
+ "type": "number"
+ },
+ "m": {
+ "type": "number"
+ },
+ "text": {
+ "description": "In the system asked for, then the other.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "m",
+ "ft",
+ "text"
+ ],
+ "type": "object"
+ },
+ "order": {
+ "type": "integer"
+ },
+ "to": {
+ "type": "object"
+ }
+ },
+ "required": [
+ "order",
+ "kind"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "guillotine": {
+ "type": "boolean"
+ },
+ "largestOffcut": {
+ "type": "object"
+ },
+ "offcuts": {
+ "description": "Rectangles left whole at or above the minimum size, largest first.",
+ "items": {
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "placed": {
+ "items": {
+ "properties": {
+ "grainLocked": {
+ "type": "boolean"
+ },
+ "height": {
+ "properties": {
+ "ft": {
+ "type": "number"
+ },
+ "m": {
+ "type": "number"
+ },
+ "text": {
+ "description": "In the system asked for, then the other.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "m",
+ "ft",
+ "text"
+ ],
+ "type": "object"
+ },
+ "id": {
+ "description": "The part's id to write on it: the row's letter and its number (A1, A2, B1 …).",
+ "type": "string"
+ },
+ "label": {
+ "type": "string"
+ },
+ "rotated": {
+ "type": "boolean"
+ },
+ "width": {
+ "properties": {
+ "ft": {
+ "type": "number"
+ },
+ "m": {
+ "type": "number"
+ },
+ "text": {
+ "description": "In the system asked for, then the other.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "m",
+ "ft",
+ "text"
+ ],
+ "type": "object"
+ },
+ "x": {
+ "properties": {
+ "ft": {
+ "type": "number"
+ },
+ "m": {
+ "type": "number"
+ },
+ "text": {
+ "description": "In the system asked for, then the other.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "m",
+ "ft",
+ "text"
+ ],
+ "type": "object"
+ },
+ "y": {
+ "properties": {
+ "ft": {
+ "type": "number"
+ },
+ "m": {
+ "type": "number"
+ },
+ "text": {
+ "description": "In the system asked for, then the other.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "m",
+ "ft",
+ "text"
+ ],
+ "type": "object"
+ }
+ },
+ "required": [
+ "x",
+ "y",
+ "width",
+ "height",
+ "rotated"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "times": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "times",
+ "placed"
+ ],
+ "type": "object"
+ }
+ ]
+ },
+ "type": "array"
+ },
+ "patternsTotal": {
+ "type": "integer"
+ },
+ "pieces": {
+ "type": "integer"
+ },
+ "proven": {
+ "description": "True when no plan buys less: the exact branch and bound finished, or the plan meets the bound.",
+ "type": "boolean"
+ },
+ "required": {
+ "anyOf": [
+ {
+ "properties": {
+ "ft": {
+ "type": "number"
+ },
+ "m": {
+ "type": "number"
+ },
+ "text": {
+ "description": "In the system asked for, then the other.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "m",
+ "ft",
+ "text"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "ft2": {
+ "type": "number"
+ },
+ "m2": {
+ "type": "number"
+ },
+ "text": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "m2",
+ "ft2",
+ "text"
+ ],
+ "type": "object"
+ }
+ ]
+ },
+ "steps": {
+ "description": "Search steps spent (bounded).",
+ "type": "integer"
+ },
+ "system": {
+ "enum": [
+ "metric",
+ "imperial"
+ ]
+ },
+ "tooLong": {
+ "description": "Pieces no stock length or sheet takes, listed rather than split.",
+ "items": {
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "waste": {
+ "properties": {
+ "excludingKeptOffcutsPercent": {
+ "type": "number"
+ },
+ "keptOffcut": {
+ "properties": {
+ "ft": {
+ "type": "number"
+ },
+ "m": {
+ "type": "number"
+ },
+ "text": {
+ "description": "In the system asked for, then the other.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "m",
+ "ft",
+ "text"
+ ],
+ "type": "object"
+ },
+ "percent": {
+ "type": "number"
+ }
+ },
+ "required": [
+ "percent"
+ ],
+ "type": "object"
+ },
+ "yieldPercent": {
+ "description": "sheet: the pieces' area over the area bought, percent.",
+ "type": "number"
+ }
+ },
+ "required": [
+ "engine",
+ "system",
+ "kind",
+ "material",
+ "given",
+ "buy",
+ "waste",
+ "bound",
+ "proven",
+ "patterns",
+ "patternsTotal",
+ "notDesign",
+ "method",
+ "citation",
+ "licence",
+ "notice",
+ "links"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "citation": {
+ "description": "The one citation line, built from the answer's own data.",
+ "type": "string"
+ },
+ "detail": {
+ "const": "summary"
+ },
+ "lines": {
+ "description": "The result lines, as the report's table gives them.",
+ "items": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "more": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "notes": {
+ "description": "What a professional must decide, when to call one, a false-friend warning, that adoption is local: kept in every summary.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "open": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "title": {
+ "type": "string"
+ },
+ "tool": {
+ "type": "string"
+ },
+ "url": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "required": [
+ "detail",
+ "tool",
+ "title",
+ "lines",
+ "notes",
+ "citation",
+ "url",
+ "open",
+ "more"
+ ],
+ "type": "object"
+ }
+]