aboutsummaryrefslogtreecommitdiff
path: root/schemas/opcut.yaml
diff options
context:
space:
mode:
authorbozo.kopic <bozo@kopic.xyz>2022-06-26 17:28:49 +0200
committerbozo.kopic <bozo@kopic.xyz>2022-06-26 17:28:49 +0200
commit75cc60fd42c58cadc28f5eb4499f197604254aba (patch)
tree48513c9c59dd24207100fc2cf2c3118c8145dd72 /schemas/opcut.yaml
parent7ae36a21d031c3d71e9015823c61380f88b0595d (diff)
WIP native implementation
Diffstat (limited to 'schemas/opcut.yaml')
-rw-r--r--schemas/opcut.yaml54
1 files changed, 54 insertions, 0 deletions
diff --git a/schemas/opcut.yaml b/schemas/opcut.yaml
index 47e0a7f..8dadb93 100644
--- a/schemas/opcut.yaml
+++ b/schemas/opcut.yaml
@@ -4,6 +4,8 @@ id: "opcut://opcut.yaml#"
definitions:
params:
type: object
+ description: |
+ calculation input parameters independent of calculation method
required:
- cut_width
- panels
@@ -11,20 +13,30 @@ definitions:
properties:
cut_width:
type: number
+ description: |
+ width of the guillotine cut
min_initial_usage:
type: boolean
+ description: |
+ minimize usage of initial panels
panels:
type: object
+ description: |
+ input panels (keys represent unique panel identifiers)
patternProperties:
".+":
"$ref": "opcut://opcut.yaml#/definitions/panel"
items:
type: object
+ description: |
+ required items (keys represent unique item identifiers)
patternProperties:
".+":
"$ref": "opcut://opcut.yaml#/definitions/item"
result:
type: object
+ description: |
+ calculation result
required:
- params
- used
@@ -34,24 +46,36 @@ definitions:
"$ref": "opcut://opcut.yaml#"
used:
type: array
+ description: |
+ resulting panels associated with required items
items:
"$ref": "opcut://opcut.yaml#/definitions/used"
unused:
type: array
+ description: |
+ resulting unused panels
items:
"$ref": "opcut://opcut.yaml#/definitions/unused"
panel:
type: object
+ description: |
+ single input panel
required:
- width
- height
properties:
width:
type: number
+ description: |
+ panel's initial width
height:
type: number
+ description: |
+ panel's initial height
item:
type: object
+ description: |
+ single required item
required:
- width
- height
@@ -59,12 +83,20 @@ definitions:
properties:
width:
type: number
+ description: |
+ items's width
height:
type: number
+ description: |
+ items's height
can_rotate:
type: boolean
+ description: |
+ can item be rotated (is grain direction irrelevant)
used:
type: object
+ description: |
+ single resulting panels associated with required item
required:
- panel
- item
@@ -74,16 +106,28 @@ definitions:
properties:
panel:
type: string
+ description: |
+ input panel identifier
item:
type: string
+ description: |
+ matching required item identifier
x:
type: number
+ description: |
+ used panel location based on input panel's width offset
y:
type: number
+ description: |
+ used panel location based on input panel's height offset
rotate:
type: boolean
+ description: |
+ is resulting panel rotated
unused:
type: object
+ description: |
+ single unused resulting panel
required:
- panel
- width
@@ -93,12 +137,22 @@ definitions:
properties:
panel:
type: string
+ description: |
+ input panel identifier
width:
type: number
+ description: |
+ unused resulting panel's width
height:
type: number
+ description: |
+ unused resulting panel's height
x:
type: number
+ description: |
+ used panel location based on input panel's width offset
y:
type: number
+ description: |
+ used panel location based on input panel's height offset
...