Zum Hauptinhalt springen
Vergleich

Live-Ausgabe der echten Render-Engine — ändere die Einstellungen und sie aktualisiert sich sofort.

Vorher / nachher-Zeilen

motion design

Kennzahl für Kennzahl, alter und neuer Wert nebeneinander.

Ideal für: Was sich nach dem Wechsel geändert hat, in zwei oder drei Zahlen.

Einstellungen

Schrift
Theme
Größe
Stimmung

In einem Film verwenden

Was du ändern kannst:titlebeforeLabelafterLabelrows
Für Entwickler (MCP und JSON)

Das ist genau die Szene für create_animation (MCP): Struktur behalten, Worte ändern und den Sprechertext schreiben — die Stimme bestimmt, wie lange die Szene dauert. Mit set_data in update_storyboard einfügen, um einen fertigen Film zu ändern.

{
  "visual": "motion",
  "heading": "Before / after",
  "narration": "Write the sentence the voice says over this scene; its length is the scene's.",
  "data": {
    "motion": {
      "spec": {
        "version": 1,
        "name": "Before and after",
        "intent": "comparison: before vs after: 1-3 rows, each a metric with its old and new value",
        "stagger": "item",
        "params": [
          {
            "name": "title",
            "type": "text",
            "default": "Month one against month six",
            "maxLength": 48,
            "label": "Title"
          },
          {
            "name": "beforeLabel",
            "type": "text",
            "default": "Before",
            "maxLength": 18,
            "label": "Before"
          },
          {
            "name": "afterLabel",
            "type": "text",
            "default": "After",
            "maxLength": 18,
            "label": "After"
          },
          {
            "name": "rows",
            "type": "list",
            "default": [
              {
                "label": "Setup",
                "before": "3 days",
                "after": "20 min"
              },
              {
                "label": "Churn",
                "before": "6.8%",
                "after": "2.9%"
              }
            ],
            "min": 1,
            "max": 3,
            "items": "record",
            "label": "Rows"
          }
        ],
        "layers": [
          {
            "id": "title",
            "kind": "text",
            "text": "{{title}}",
            "role": "headline",
            "align": "center",
            "maxLines": 1,
            "box": {
              "col": 0,
              "row": 0,
              "cols": 12,
              "rows": 2.2
            },
            "tall": {
              "col": 0,
              "row": 1.1500000000000004,
              "cols": 12,
              "rows": 2
            },
            "enter": {
              "primitive": "maskReveal",
              "order": 0
            }
          },
          {
            "id": "beforeCard",
            "kind": "shape",
            "shape": "rect",
            "fill": "surface",
            "radius": "lg",
            "elevation": 1,
            "box": {
              "col": 0,
              "row": 2.6,
              "cols": 5.8,
              "rows": 9.4
            },
            "tall": {
              "col": 0,
              "row": 3.3500000000000005,
              "cols": 5.8,
              "rows": 7.5
            },
            "enter": {
              "primitive": "fadeUp",
              "order": 1
            }
          },
          {
            "id": "afterCard",
            "kind": "shape",
            "shape": "rect",
            "fill": "surface",
            "radius": "lg",
            "elevation": 3,
            "stroke": "c1",
            "strokeWidth": "thin",
            "box": {
              "col": 6.2,
              "row": 2.6,
              "cols": 5.8,
              "rows": 9.4
            },
            "tall": {
              "col": 6.2,
              "row": 3.3500000000000005,
              "cols": 5.8,
              "rows": 7.5
            },
            "enter": {
              "primitive": "scaleSettle",
              "order": 2
            }
          },
          {
            "id": "beforeLabel",
            "kind": "text",
            "text": "{{beforeLabel}}",
            "role": "label",
            "uppercase": true,
            "color": "sub",
            "align": "center",
            "maxLines": 1,
            "box": {
              "col": 0.3,
              "row": 3,
              "cols": 5.2,
              "rows": 0.7
            },
            "tall": {
              "col": 0.3,
              "row": 3.7000000000000006,
              "cols": 5.2,
              "rows": 0.6
            },
            "enter": {
              "primitive": "fadeUp",
              "distance": "nudge",
              "order": 1
            }
          },
          {
            "id": "afterLabel",
            "kind": "text",
            "text": "{{afterLabel}}",
            "role": "label",
            "uppercase": true,
            "color": "c2",
            "align": "center",
            "maxLines": 1,
            "box": {
              "col": 6.5,
              "row": 3,
              "cols": 5.2,
              "rows": 0.7
            },
            "tall": {
              "col": 6.5,
              "row": 3.7000000000000006,
              "cols": 5.2,
              "rows": 0.6
            },
            "enter": {
              "primitive": "fadeUp",
              "distance": "nudge",
              "order": 2
            }
          },
          {
            "id": "bMetric",
            "kind": "text",
            "text": "{{item.label}}",
            "role": "body",
            "color": "sub",
            "align": "center",
            "maxLines": 1,
            "repeat": {
              "param": "rows",
              "flow": "column",
              "gap": "md"
            },
            "box": {
              "col": 0.3,
              "row": 4,
              "cols": 5.2,
              "rows": 7.699999999999999
            },
            "tall": {
              "col": 0.3,
              "row": 4.550000000000001,
              "cols": 5.2,
              "rows": 6.050000000000001
            },
            "valign": "start",
            "enter": {
              "primitive": "fadeUp",
              "distance": "nudge",
              "order": 2
            }
          },
          {
            "id": "before",
            "kind": "text",
            "text": "{{item.before}}",
            "role": "headline",
            "color": "sub",
            "align": "center",
            "maxLines": 1,
            "repeat": {
              "param": "rows",
              "flow": "column",
              "gap": "md"
            },
            "box": {
              "col": 0.3,
              "row": 4,
              "cols": 5.2,
              "rows": 7.699999999999999
            },
            "tall": {
              "col": 0.3,
              "row": 4.550000000000001,
              "cols": 5.2,
              "rows": 6.050000000000001
            },
            "valign": "end",
            "enter": {
              "primitive": "fadeUp",
              "order": 2
            }
          },
          {
            "id": "aMetric",
            "kind": "text",
            "text": "{{item.label}}",
            "role": "body",
            "color": "sub",
            "align": "center",
            "maxLines": 1,
            "repeat": {
              "param": "rows",
              "flow": "column",
              "gap": "md"
            },
            "box": {
              "col": 6.5,
              "row": 4,
              "cols": 5.2,
              "rows": 7.699999999999999
            },
            "tall": {
              "col": 6.5,
              "row": 4.550000000000001,
              "cols": 5.2,
              "rows": 6.050000000000001
            },
            "valign": "start",
            "enter": {
              "primitive": "fadeUp",
              "distance": "nudge",
              "order": 3
            }
          },
          {
            "id": "after",
            "kind": "text",
            "text": "{{item.after}}",
            "role": "display",
            "color": "gradient",
            "align": "center",
            "maxLines": 1,
            "repeat": {
              "param": "rows",
              "flow": "column",
              "gap": "md"
            },
            "box": {
              "col": 6.5,
              "row": 4,
              "cols": 5.2,
              "rows": 7.699999999999999
            },
            "tall": {
              "col": 6.5,
              "row": 4.550000000000001,
              "cols": 5.2,
              "rows": 6.050000000000001
            },
            "valign": "end",
            "enter": {
              "primitive": "scaleSettle",
              "spring": "settle",
              "order": 3
            },
            "exit": {
              "primitive": "exitLift"
            }
          }
        ]
      },
      "name": "Before and after"
    }
  }
}

Wiederverwenden: data.motion.spec einmal mit save_motion_spec speichern (geprüft wie mit validate_motion_spec), dann kann jede Szene das Visual „motion“ mit data.motion.specId und eigenen Parametern nutzen. Name der Spec: „Before and after“.

Weitere Vergleich-Animationen