Zum Hauptinhalt springen
Funktionen

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

Roadmap jetzt / als Nächstes / später

motion design

Eine Leiste zeichnet sich, dann zeigen drei Spalten, was jetzt, als Nächstes und später kommt, während die Kamera schwenkt.

Ideal für: Eine öffentliche Roadmap, ein Investoren-Update, eine Vorschau aufs Changelog.

Einstellungen

Schrift
Theme
Größe
Stimmung

In einem Film verwenden

Gemacht fürLaunchProduktdemo
Was du ändern kannst:titlephases
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": "Roadmap",
  "narration": "Write the sentence the voice says over this scene; its length is the scene's.",
  "data": {
    "motion": {
      "spec": {
        "version": 1,
        "name": "Roadmap",
        "intent": "what ships now, next and later",
        "camera": "panRight",
        "exit": "mirror",
        "params": [
          {
            "name": "title",
            "type": "text",
            "label": "Title",
            "default": "Where the product goes next",
            "maxLength": 30
          },
          {
            "name": "phases",
            "type": "list",
            "items": "record",
            "label": "Phases (label, title, caption)",
            "min": 3,
            "max": 3,
            "default": [
              {
                "label": "Now",
                "title": "Team workspaces",
                "caption": "Shipping this month"
              },
              {
                "label": "Next",
                "title": "Brand kits",
                "caption": "Beta in November"
              },
              {
                "label": "Later",
                "title": "Live editing",
                "caption": "Exploring for 2027"
              }
            ]
          }
        ],
        "layers": [
          {
            "id": "title",
            "kind": "text",
            "text": "{{title}}",
            "role": "display",
            "align": "start",
            "maxLines": 2,
            "box": {
              "col": 0,
              "row": 0,
              "cols": 12,
              "rows": 3.2
            },
            "tall": {
              "col": 0,
              "row": 0.2,
              "cols": 12,
              "rows": 2.8
            },
            "enter": {
              "primitive": "maskReveal"
            }
          },
          {
            "id": "rail",
            "kind": "shape",
            "shape": "line",
            "stroke": "c1",
            "strokeWidth": "bold",
            "box": {
              "col": 0,
              "row": 3.45,
              "cols": 12,
              "rows": 0.5
            },
            "tall": {
              "col": 0.15,
              "row": 3.4,
              "cols": 0.5,
              "rows": 8.4
            },
            "enter": {
              "primitive": "drawOn",
              "order": 1
            }
          },
          {
            "id": "phase",
            "kind": "text",
            "text": "{{item.label}}",
            "role": "title",
            "color": "c1",
            "uppercase": true,
            "align": "start",
            "valign": "start",
            "maxLines": 1,
            "repeat": {
              "param": "phases",
              "flow": "row",
              "gap": "md"
            },
            "box": {
              "col": 0,
              "row": 4.4,
              "cols": 12,
              "rows": 1.4
            },
            "tall": {
              "col": 0.9,
              "row": 3.4,
              "cols": 4.6,
              "rows": 8.4
            },
            "enter": {
              "primitive": "maskReveal",
              "order": 2
            }
          },
          {
            "id": "item",
            "kind": "text",
            "text": "{{item.title}}",
            "role": "headline",
            "align": "start",
            "valign": "center",
            "maxLines": 2,
            "repeat": {
              "param": "phases",
              "flow": "row",
              "gap": "md"
            },
            "box": {
              "col": 0,
              "row": 6.2,
              "cols": 12,
              "rows": 3.4
            },
            "tall": {
              "col": 5.9,
              "row": 3.4,
              "cols": 6.1,
              "rows": 8.4
            },
            "enter": {
              "primitive": "maskReveal",
              "order": 2
            }
          },
          {
            "id": "when",
            "kind": "text",
            "text": "{{item.caption}}",
            "role": "title",
            "color": "sub",
            "align": "start",
            "valign": "end",
            "maxLines": 2,
            "repeat": {
              "param": "phases",
              "flow": "row",
              "gap": "md"
            },
            "box": {
              "col": 0,
              "row": 9.9,
              "cols": 12,
              "rows": 2
            },
            "tall": {
              "col": 0.9,
              "row": 3.4,
              "cols": 4.6,
              "rows": 8.4
            },
            "enter": {
              "primitive": "maskReveal",
              "order": 2
            }
          }
        ]
      },
      "name": "Roadmap"
    }
  }
}

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: „Roadmap“.

Weitere Funktionen-Animationen