{
  "$schema": "../catalyst-tab-bundle.schema.json",
  "catalystVersion": "1.7.0",
  "mechanism": "DifferentialWristMechanism",
  "description": "Differential (diffy) wrist pitch + roll dashboard.",
  "placeholders": {
    "MECH": "Replace with the DifferentialWristMechanism name (e.g. Wrist, EndEffector)."
  },
  "tabs": [
    {
      "title": "{MECH} — Pitch",
      "type": "LineGraph",
      "axes": {
        "left": {
          "unit": "degrees",
          "fields": [
            { "key": "/Catalyst/{MECH}/PitchDegrees", "color": "#e94560" },
            { "key": "/Catalyst/{MECH}/PitchSetpointDegrees", "color": "#ff6b6b", "style": "dashed" }
          ]
        }
      }
    },
    {
      "title": "{MECH} — Roll",
      "type": "LineGraph",
      "axes": {
        "left": {
          "unit": "degrees",
          "fields": [
            { "key": "/Catalyst/{MECH}/RollDegrees", "color": "#60a5fa" },
            { "key": "/Catalyst/{MECH}/RollSetpointDegrees", "color": "#93c5fd", "style": "dashed" }
          ]
        }
      }
    },
    {
      "title": "{MECH} — Status",
      "type": "LineGraph",
      "axes": {
        "left": {
          "unit": "boolean",
          "fields": [
            { "key": "/Catalyst/{MECH}/AtSetpoint", "color": "#4ade80" }
          ]
        }
      }
    },
    {
      "title": "{MECH} — Tuning",
      "type": "Table",
      "fields": [
        "/Catalyst/Tuning/{MECH}/kP",
        "/Catalyst/Tuning/{MECH}/kI",
        "/Catalyst/Tuning/{MECH}/kD",
        "/Catalyst/Tuning/{MECH}/kS",
        "/Catalyst/Tuning/{MECH}/kV",
        "/Catalyst/Tuning/{MECH}/kA",
        "/Catalyst/Tuning/{MECH}/kG",
        "/Catalyst/Tuning/{MECH}/MM/CruiseVelocity",
        "/Catalyst/Tuning/{MECH}/MM/Acceleration",
        "/Catalyst/Tuning/{MECH}/MM/Jerk"
      ]
    }
  ]
}
