# Text-Element

## 1. Struktur

```ts
interface TextClip extends BaseClip {
  type: "text";
  text: string;
}
```

## 2. Unterstützte Felder

### `text`
- Typ: `string`
- Erforderlich: ja
- Zweck: Textinhalt

### Gemeinsame Style-Felder

Am häufigsten mit Text verwendet:
- `style.fontFamily`
- `style.fontSize`
- `style.fontWeight`
- `style.fontStyle`
- `style.lineHeight`
- `style.letterSpacing`
- `style.textAlign`
- `style.textWrap`
- `style.fill`
- `style.stroke`
- `style.strokeWidth`
- `style.shadowColor`
- `style.shadowBlur`
- `style.shadowOffset`

## 3. Geeignete Einsatzfälle

- Überschriften
- Unterüberschriften
- CTA-Texte
- Copy-Blöcke in Templates
- Numerische Countdowns
- Zitattexte

## 4. Aktuelles Runtime-Verhalten

- Die Unterstützung für Textstile ist relativ vollständig
- `animations`, `keyframes` und `transitions` können darübergelegt werden
- Die Positionierung wird hauptsächlich durch `transform.x / y` gesteuert

## 5. Beispiel

```json
{
  "type": "text",
  "start": 1,
  "duration": 3,
  "text": "Launch Today",
  "transform": {
    "x": "50%",
    "y": "20%"
  },
  "style": {
    "fontSize": 64,
    "fontWeight": 700,
    "fill": "#ffffff",
    "textAlign": "center",
    "shadowColor": "#000000",
    "shadowBlur": 20
  },
  "animations": [
    {
      "type": "slideIn",
      "direction": "up",
      "distance": 100,
      "duration": 0.6
    }
  ]
}
```