Schemas / Animation / modulators

rig.anim.tween

v0.31.0 · draft 9 fields 5 required

Fields

FieldTypeMeaning
target entity required Entity to drive
propertyKey string required Field name / path
from float required Start
to float required End
duration float required Seconds
elapsed float optional Optional. Seconds; absent = 0
easing enumlinear · ease-in · ease-out · ease-in-out optional Optional. linear, ease-in, ease-out, ease-in-out; absent = linear
loop bool optional Optional. Repeat; absent = false
playing bool optional Optional. Active; absent = true

Drive one float property over time. Format when present.

No onComplete callbacks - host flags / events only.

Fulfillment

Advance in Update as an ECS system over tween components; write the target field through the same property addressing as rig.mod.binding. Do not introduce a free-function tick over an import side-table.

JSON Schema

Resolves at https://rig.works/schemas/rig.anim.tween.schema.jsonraw file.

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://rig.works/schemas/rig.anim.tween.schema.json",
  "title": "rig.anim.tween",
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "target": {
      "$ref": "./_defs.schema.json#/$defs/entity"
    },
    "propertyKey": {
      "$ref": "./_defs.schema.json#/$defs/string"
    },
    "from": {
      "$ref": "./_defs.schema.json#/$defs/float"
    },
    "to": {
      "$ref": "./_defs.schema.json#/$defs/float"
    },
    "duration": {
      "$ref": "./_defs.schema.json#/$defs/float"
    },
    "elapsed": {
      "$ref": "./_defs.schema.json#/$defs/float"
    },
    "easing": {
      "type": "string",
      "enum": [
        "linear",
        "ease-in",
        "ease-out",
        "ease-in-out"
      ]
    },
    "loop": {
      "$ref": "./_defs.schema.json#/$defs/bool"
    },
    "playing": {
      "$ref": "./_defs.schema.json#/$defs/bool"
    }
  },
  "required": [
    "target",
    "propertyKey",
    "from",
    "to",
    "duration"
  ]
}