Schemas / Animation / modulators

rig.mod.lfo

v0.31.0 · draft 5 fields 2 required

Fields

FieldTypeMeaning
waveform enumsine · tri · saw · square required sine, tri, saw, square
frequency float required Hz
amplitude float optional Optional. Depth; absent = 1
offset float optional Optional. Bias; absent = 0
phase float optional Optional. 0-1 (wrap); absent = 0

Low-frequency oscillator. Format when present.

Replaces a separate “pulse” schema - use waveform + binding.

Last sample is a runtime cache - do not serialize. Drive targets through rig.mod.binding.

Fulfillment

Hosts advance LFOs in Update (SUDE), typically as an ECS system over LFO components - not a free-function tick over an import side-table. Sample into a runtime cache; bindings apply writes.

JSON Schema

Resolves at https://rig.works/schemas/rig.mod.lfo.schema.jsonraw file.

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://rig.works/schemas/rig.mod.lfo.schema.json",
  "title": "rig.mod.lfo",
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "waveform": {
      "type": "string",
      "enum": [
        "sine",
        "tri",
        "saw",
        "square"
      ]
    },
    "frequency": {
      "$ref": "./_defs.schema.json#/$defs/float"
    },
    "amplitude": {
      "$ref": "./_defs.schema.json#/$defs/float"
    },
    "offset": {
      "$ref": "./_defs.schema.json#/$defs/float"
    },
    "phase": {
      "$ref": "./_defs.schema.json#/$defs/float"
    }
  },
  "required": [
    "waveform",
    "frequency"
  ]
}

Seen in

lfo-binding.json · portable-tool.json · ui-panel.json