diff --git a/scripts/i18n-raw-literal-baseline.txt b/scripts/i18n-raw-literal-baseline.txt index a570296494..81b51da80f 100644 --- a/scripts/i18n-raw-literal-baseline.txt +++ b/scripts/i18n-raw-literal-baseline.txt @@ -6,7 +6,6 @@ packages/docs/app/components/blocks/comparison.tsx|A side-by-side comparison of packages/docs/app/components/blocks/steps.tsx|A numbered step-by-step procedure with circled step numbers. packages/docs/app/components/blocks/steps.tsx|Step title packages/docs/app/components/docBlocks.tsx|| Extract -templates/clips/app/components/editor/waveform.tsx|VISUAL_SILENCE_FLOOR && botY - topY templates/clips/app/components/recorder/storage-setup-card.tsx|AWS S3, Cloudflare R2, DigitalOcean Spaces, MinIO templates/clips/app/components/workspace/notifications-list.tsx|["formatDate"], formatRelativeTime: ReturnType templates/crm/app/components/crm/CreateCrmRecordDialog.tsx|This record lives in the local-authoritative Native SQL CRM. You can connect or mirror another CRM separately. diff --git a/templates/clips/.agents/skills/video-editing/SKILL.md b/templates/clips/.agents/skills/video-editing/SKILL.md index 460fe6d786..5d9394c28f 100644 --- a/templates/clips/.agents/skills/video-editing/SKILL.md +++ b/templates/clips/.agents/skills/video-editing/SKILL.md @@ -229,6 +229,37 @@ downsamples to a 2000-point peaks array. Peaks are cached in recompute. The editor reads the cache first and falls back to computing only when the key is missing or corrupted. +### Timeline filmstrip + +The trim track shows video frames behind the waveform. Two paths, and the order +matters: + +1. **Sprite (preferred).** `generate-filmstrip` runs one ffmpeg pass + (`fps` → `scale` → `pad` → `tile`) into a single JPEG grid, uploads it, and + stores the URL plus grid geometry on the recording. The editor renders cells + with CSS `background-position` — one cached image request, no video decoding + in the browser. +2. **Browser extraction (fallback).** `extractFilmstripThumbnails()` seeks a + detached `