Rendering Architecture
heycreo nutzt einen gemeinsamen Renderkern und zwei Export-Ziele. Studio- Vorschau und beide Backends teilen sich Layout-, Text-Fit- und Element- Logik — was du im Editor siehst, soll dem Export entsprechen.
Übersicht
packages/studio-domain Editor-Dokumentmodell
│
packages/render-engine gemeinsamer Renderkern
│
┌────┴────────────────────┐
│ │
renderers/browser renderers/remotion
(Playwright HTML) (Remotion-Bundle)
PNG / JPEG / WebP / PDF MP4 / WebM
│ │
└──────────┬──────────────┘
│
frontend Studio
(Live-Canvas / Player)
| Pfad | Rolle |
|---|---|
| Studio (frontend) | Live-Vorschau und Bearbeitung |
packages/render-engine | Elemente, Auto-Layout, Text-Fit, Animation |
renderers/browser | Single-File-HTML für Bild/PDF (und Mobile-WebView) |
renderers/remotion | Composition-Bundle für Video-Export |
Der API-Worker wählt das Ziel über render-selector: Bilder/PDF über den
Browser-Renderer; Video über Remotion, wenn das Bundle verfügbar ist.
Live-Vorschau
Beim Bearbeiten siehst du Änderungen sofort:
- Echtzeit-Updates bei Text, Bildern und Layout
- Interaktives Editing mit direktem Feedback
- Derselbe Renderkern wie beim Export
Export
- Bilder: PNG, JPEG, WebP über den Browser-Renderer
- PDF: Browser-Renderer (+ optional CMYK-Prepress via Ghostscript)
- Video: MP4 / WebM über Remotion
- Batch: mehrere Sizes/Exports über die Worker-Queues
Konsistenz
- Gemeinsamer Kern unter
packages/render-engine - Visual-Regression-Snapshots sichern beide Render-Ziele in CI ab
- Vorschau und Export sollen gleich aussehen — Abweichungen bitte melden
Best Practices
- Zuerst Vorschau — Design im Studio prüfen, bevor du exportierst
- Verschiedene Textlängen testen — besonders bei Auto-Resize
- Exports stichprobenartig prüfen, wenn sich Engine oder Renderer ändern
Siehe auch
- Text Auto-Resize — automatische Schriftgröße
- Layout Engine — Container-Layout