Text Rendering
Titles (ClipSource::Text) are rasterized on the CPU by vv-render/src/text.rs with cosmic-text, then composed on the GPU like any other layer. Every element of a title has a single color, so an 8-bit coverage mask per element is all the compositor needs.

Details
| Aspect | Behaviour |
|---|---|
| Resolution | Masks are rasterized at the output size; font size, position and offsets are given in timeline pixels and scaled, so the preview and the export are sharp at their own resolution. |
| Cache | The last 16 renders, keyed by (params, timeline size, output size). A still title costs one rasterization. |
| Fonts | System fonts through cosmic-text's FontSystem. Scanning them is slow, so warm_up runs on a thread at startup. |
| Background | Rounded rectangle with antialiased edges from the signed distance; optional inner outline ring. Sized around the text block unless an explicit width/height is set. |
| Shadow | The text mask shifted by the offset and softened by three box blurs (approximating a Gaussian). |
| Compositing | Fill::Mask: the mask goes in the Y plane as coverage, the color in the uniform; each mask is its own pass, so blend modes apply to each. |
title_metrics exposes the text block and background padding separately for the OTIO export, because DaVinci Resolve shapes text its own way and has no "around the text" background.
No comments to display
No comments to display