# Élément texte

## 1. Structure

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

## 2. Champs pris en charge

### `text`
- Type : `string`
- Requis : oui
- Rôle : contenu textuel

### Champs de style courants

Le plus souvent utilisés avec le texte :
- `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. Bons cas d'usage

- Titres
- Sous-titres
- Textes CTA
- Blocs de texte dans les templates
- Comptes à rebours numériques
- Citations

## 4. Comportement actuel du runtime

- La prise en charge des styles de texte est assez complète
- `animations`, `keyframes` et `transitions` peuvent être ajoutés par-dessus
- Le positionnement est principalement piloté par `transform.x / y`

## 5. Exemple

```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
    }
  ]
}
```