mirror of
https://github.com/ynput/ayon-core.git
synced 2025-12-25 21:32:15 +01:00
removed temp file
This commit is contained in:
parent
9e01690645
commit
1c8d2c3a30
1 changed files with 0 additions and 153 deletions
|
|
@ -1,153 +0,0 @@
|
|||
## Basic rules
|
||||
- configurations does not define GUI, but GUI defines configurations!
|
||||
- output is always json (yaml is not needed for anatomy templates anymore)
|
||||
- GUI schema has multiple input types, all inputs are represented by a dictionary
|
||||
- each input may have "input modifiers" (keys in dictionary) that are required or optional
|
||||
- only required modifier for all input items is key `"type"` which says what type of item it is
|
||||
- there are special keys across all inputs
|
||||
- `"is_file"` - this key is for storing pype defaults in `pype` repo
|
||||
- reasons of existence: developing new schemas does not require to create defaults manually
|
||||
- key is validated, must be once in hierarchy else it won't be possible to store pype defaults
|
||||
- `"is_group"` - define that all values under key in hierarchy will be overriden if any value is modified, this information is also stored to overrides
|
||||
- key is validated, can be only once in hierarchy but is not required
|
||||
|
||||
## Basic Dictionary inputs
|
||||
- these inputs wraps another inputs into {key: value} relation
|
||||
|
||||
## dict-invisible
|
||||
- this input gives ability to wrap another inputs but keep them in same widget without visible divider
|
||||
- this is used as first input widget
|
||||
- has required keys `"key"` and `"children"`
|
||||
- "children" says what children inputs are underneath
|
||||
- "key" is key under which will be stored value from it's children
|
||||
- output is dictionary `{the "key": children values}`
|
||||
|
||||
```
|
||||
{
|
||||
"type": "dict-invisible",
|
||||
"key": "global",
|
||||
"children": [{
|
||||
...
|
||||
}]
|
||||
}
|
||||
```
|
||||
|
||||
## dict
|
||||
- this is another dictionary input wrapping more inputs but visually makes them different
|
||||
|
||||
```
|
||||
{
|
||||
"key": "applications",
|
||||
"type": "dict",
|
||||
"label": "Applications",
|
||||
"expandable": true,
|
||||
"is_group": true,
|
||||
"is_file": true,
|
||||
}
|
||||
```
|
||||
|
||||
## Inputs for setting any kind of value (`Pure` inputs)
|
||||
- all these input must have defined `"key"` under which will be stored and `"label"` which will be shown next to input
|
||||
- unless they are used in different types of inputs (later) "as widgets" in that case `"key"` and `"label"` are not required as there is not place where to set them
|
||||
|
||||
### boolean
|
||||
- simple checkbox, nothing more to set
|
||||
```
|
||||
{
|
||||
"type": "boolean",
|
||||
"key": "my_boolean_key",
|
||||
"label": "Do you want to use Pype?"
|
||||
}
|
||||
```
|
||||
|
||||
### number
|
||||
- number input, can be used for both integer and float
|
||||
- key `"decimal"` defines how many decimal places will be used, 0 is for integer input (Default: `0`)
|
||||
- key `"minimum"` as minimum allowed number to enter (Default: `-99999`)
|
||||
- key `"maxium"` as maximum allowed number to enter (Default: `99999`)
|
||||
```
|
||||
{
|
||||
"type": "number",
|
||||
"key": "fps",
|
||||
"label": "Frame rate (FPS)"
|
||||
"decimal": 2,
|
||||
"minimum": 1,
|
||||
"maximum": 300000
|
||||
}
|
||||
```
|
||||
|
||||
### text
|
||||
- simple text input
|
||||
- key `"multiline"` allows to enter multiple lines of text (Default: `False`)
|
||||
|
||||
```
|
||||
{
|
||||
"type": "text",
|
||||
"key": "deadline_pool",
|
||||
"label": "Deadline pool"
|
||||
}
|
||||
```
|
||||
|
||||
### raw-json
|
||||
- a little bit enhanced text input for raw json
|
||||
- has validations of json format
|
||||
- empty value is invalid value, always must be at least `{}` of `[]`
|
||||
|
||||
```
|
||||
{
|
||||
"type": "raw-json",
|
||||
"key": "profiles",
|
||||
"label": "Extract Review profiles"
|
||||
}
|
||||
```
|
||||
|
||||
## Inputs for setting value using Pure inputs
|
||||
- these inputs also have required `"key"` and `"label"`
|
||||
- they use Pure inputs "as widgets"
|
||||
|
||||
### list
|
||||
- output is list
|
||||
- items can be added and removed
|
||||
- items in list must be the same type
|
||||
- type of items is defined with key `"object_type"` where Pure input name is entered (e.g. `number`)
|
||||
- because Pure inputs may have modifiers (`number` input has `minimum`, `maximum` and `decimals`) you can set these in key `"input_modifiers"`
|
||||
|
||||
```
|
||||
{
|
||||
"type": "list",
|
||||
"object_type": "number",
|
||||
"key": "exclude_ports",
|
||||
"label": "Exclude ports",
|
||||
"input_modifiers": {
|
||||
"minimum": 1,
|
||||
"maximum": 65535
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### dict-modifiable
|
||||
- one of dictionary inputs, this is only used as value input
|
||||
- items in this input can be removed and added same way as in `list` input
|
||||
- value items in dictionary must be the same type
|
||||
- type of items is defined with key `"object_type"` where Pure input name is entered (e.g. `number`)
|
||||
- because Pure inputs may have modifiers (`number` input has `minimum`, `maximum` and `decimals`) you can set these in key `"input_modifiers"`
|
||||
- this input can be expandable
|
||||
- that can be set with key `"expandable"` as `True`/`False` (Default: `True`)
|
||||
- with key `"expanded"` as `True`/`False` can be set that is expanded when GUI is opened (Default: `False`)
|
||||
|
||||
```
|
||||
{
|
||||
"type": "dict-modifiable",
|
||||
"object_type": "number",
|
||||
"input_modifiers": {
|
||||
"minimum": 0,
|
||||
"maximum": 300
|
||||
},
|
||||
"is_group": true,
|
||||
"key": "templates_mapping",
|
||||
"label": "Muster - Templates mapping",
|
||||
"is_file": true
|
||||
}
|
||||
```
|
||||
|
||||
Currently there are `system configurations` and `project configurations`. Both has `root` schema where all begins.
|
||||
Loading…
Add table
Add a link
Reference in a new issue