Schemas / Pixel / raster
rig.pixel.effect_chain
v0.31.0 · draft 2 fields 1 required
Fields
| Field | Type | Meaning | |
|---|---|---|---|
steps |
array<object> | required | Ordered list |
nextId |
uint | optional | Optional. Next id allocator for steps; absent = highest step id + 1 |
Ordered effect steps. Format when present.
Step
Chain
Effect-specific parameters are host / pack extension (side table or JSON text keyed by step). No GPU programs in the schema.
Input routing
parentStep names the step whose result this step consumes. It is dataflow, not containment: several steps may share one parentStep and each reads that same result, which is how a chain branches.
With parentStep unset every step reads the one before it, so a plain ordered list needs no routing fields at all. Editors that draw the chain as a tree indent a step under its parentStep.
A branch has to land somewhere: hosts that honor parentStep composite the branch step's result back over the running canvas with per-pixel alpha (how is a host blend policy). A branch is a layer return, never a straight replace - otherwise sharing a parent would be pointless. Ids that don't resolve (forward or stale) degrade to the preceding step.
parentStep is not groupParent on rig.pixel.layer - the compositor stack is a different graph.
JSON Schema
Resolves at https://rig.works/schemas/rig.pixel.effect_chain.schema.json —
raw file.
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://rig.works/schemas/rig.pixel.effect_chain.schema.json",
"title": "rig.pixel.effect_chain",
"type": "object",
"additionalProperties": false,
"properties": {
"steps": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": false,
"required": [
"id",
"stage",
"effectId"
],
"properties": {
"id": {
"$ref": "./_defs.schema.json#/$defs/uint"
},
"stage": {
"type": "string",
"enum": [
"image",
"draw",
"generate"
]
},
"effectId": {
"$ref": "./_defs.schema.json#/$defs/string"
},
"enabled": {
"$ref": "./_defs.schema.json#/$defs/bool"
},
"parentStep": {
"$ref": "./_defs.schema.json#/$defs/uint"
}
}
}
},
"nextId": {
"$ref": "./_defs.schema.json#/$defs/uint"
}
},
"required": [
"steps"
]
}