From 244dc6715aff967757abc994b73e3652650d0b77 Mon Sep 17 00:00:00 2001 From: ciregenz Date: Sun, 29 Mar 2026 16:40:12 -0700 Subject: [PATCH] [eric] prod push 1.0.20 --- .gitignore | 1 + .../skills/remotion-best-practices/SKILL.md | 61 - .../remotion-best-practices/rules/3d.md | 86 - .../rules/animations.md | 27 - .../remotion-best-practices/rules/assets.md | 78 - .../rules/assets/charts-bar-chart.tsx | 173 - .../assets/text-animations-typewriter.tsx | 100 - .../assets/text-animations-word-highlight.tsx | 103 - .../rules/audio-visualization.md | 198 - .../remotion-best-practices/rules/audio.md | 169 - .../rules/calculate-metadata.md | 134 - .../rules/can-decode.md | 81 - .../remotion-best-practices/rules/charts.md | 120 - .../rules/compositions.md | 154 - .../rules/display-captions.md | 184 - .../rules/extract-frames.md | 229 - .../remotion-best-practices/rules/ffmpeg.md | 38 - .../remotion-best-practices/rules/fonts.md | 152 - .../rules/get-audio-duration.md | 58 - .../rules/get-video-dimensions.md | 68 - .../rules/get-video-duration.md | 60 - .../remotion-best-practices/rules/gifs.md | 141 - .../remotion-best-practices/rules/images.md | 134 - .../rules/import-srt-captions.md | 69 - .../rules/light-leaks.md | 73 - .../remotion-best-practices/rules/lottie.md | 70 - .../remotion-best-practices/rules/maps.md | 412 -- .../rules/measuring-dom-nodes.md | 34 - .../rules/measuring-text.md | 140 - .../rules/parameters.md | 109 - .../rules/sequencing.md | 118 - .../remotion-best-practices/rules/sfx.md | 30 - .../rules/subtitles.md | 36 - .../remotion-best-practices/rules/tailwind.md | 11 - .../rules/text-animations.md | 20 - .../remotion-best-practices/rules/timing.md | 179 - .../rules/transcribe-captions.md | 70 - .../rules/transitions.md | 197 - .../rules/transparent-videos.md | 106 - .../remotion-best-practices/rules/trimming.md | 51 - .../remotion-best-practices/rules/videos.md | 171 - .../rules/voiceover.md | 99 - .../.claude/skills/remotion-best-practices | 1 - .../.cursor/skills/remotion-best-practices | 1 - openswarm-demo1/.gitignore | 7 - .../.opencode/skills/remotion-best-practices | 1 - openswarm-demo1/.prettierrc | 5 - openswarm-demo1/README.md | 54 - openswarm-demo1/eslint.config.mjs | 3 - openswarm-demo1/package-lock.json | 4899 ----------------- openswarm-demo1/package.json | 34 - openswarm-demo1/public/icon.png | Bin 327756 -> 0 bytes openswarm-demo1/public/screenshot.png | Bin 65294 -> 0 bytes openswarm-demo1/remotion.config.ts | 13 - openswarm-demo1/src/Composition.tsx | 65 - openswarm-demo1/src/Root.tsx | 22 - openswarm-demo1/src/index.css | 1 - openswarm-demo1/src/index.ts | 4 - openswarm-demo1/src/scenes/CtaScene.tsx | 148 - openswarm-demo1/src/scenes/DashboardScene.tsx | 135 - openswarm-demo1/src/scenes/FeaturesScene.tsx | 167 - openswarm-demo1/src/scenes/HookScene.tsx | 117 - openswarm-demo1/src/scenes/IntroScene.tsx | 118 - openswarm-demo1/tsconfig.json | 15 - 64 files changed, 1 insertion(+), 10353 deletions(-) delete mode 100644 openswarm-demo1/.agents/skills/remotion-best-practices/SKILL.md delete mode 100644 openswarm-demo1/.agents/skills/remotion-best-practices/rules/3d.md delete mode 100644 openswarm-demo1/.agents/skills/remotion-best-practices/rules/animations.md delete mode 100644 openswarm-demo1/.agents/skills/remotion-best-practices/rules/assets.md delete mode 100644 openswarm-demo1/.agents/skills/remotion-best-practices/rules/assets/charts-bar-chart.tsx delete mode 100644 openswarm-demo1/.agents/skills/remotion-best-practices/rules/assets/text-animations-typewriter.tsx delete mode 100644 openswarm-demo1/.agents/skills/remotion-best-practices/rules/assets/text-animations-word-highlight.tsx delete mode 100644 openswarm-demo1/.agents/skills/remotion-best-practices/rules/audio-visualization.md delete mode 100644 openswarm-demo1/.agents/skills/remotion-best-practices/rules/audio.md delete mode 100644 openswarm-demo1/.agents/skills/remotion-best-practices/rules/calculate-metadata.md delete mode 100644 openswarm-demo1/.agents/skills/remotion-best-practices/rules/can-decode.md delete mode 100644 openswarm-demo1/.agents/skills/remotion-best-practices/rules/charts.md delete mode 100644 openswarm-demo1/.agents/skills/remotion-best-practices/rules/compositions.md delete mode 100644 openswarm-demo1/.agents/skills/remotion-best-practices/rules/display-captions.md delete mode 100644 openswarm-demo1/.agents/skills/remotion-best-practices/rules/extract-frames.md delete mode 100644 openswarm-demo1/.agents/skills/remotion-best-practices/rules/ffmpeg.md delete mode 100644 openswarm-demo1/.agents/skills/remotion-best-practices/rules/fonts.md delete mode 100644 openswarm-demo1/.agents/skills/remotion-best-practices/rules/get-audio-duration.md delete mode 100644 openswarm-demo1/.agents/skills/remotion-best-practices/rules/get-video-dimensions.md delete mode 100644 openswarm-demo1/.agents/skills/remotion-best-practices/rules/get-video-duration.md delete mode 100644 openswarm-demo1/.agents/skills/remotion-best-practices/rules/gifs.md delete mode 100644 openswarm-demo1/.agents/skills/remotion-best-practices/rules/images.md delete mode 100644 openswarm-demo1/.agents/skills/remotion-best-practices/rules/import-srt-captions.md delete mode 100644 openswarm-demo1/.agents/skills/remotion-best-practices/rules/light-leaks.md delete mode 100644 openswarm-demo1/.agents/skills/remotion-best-practices/rules/lottie.md delete mode 100644 openswarm-demo1/.agents/skills/remotion-best-practices/rules/maps.md delete mode 100644 openswarm-demo1/.agents/skills/remotion-best-practices/rules/measuring-dom-nodes.md delete mode 100644 openswarm-demo1/.agents/skills/remotion-best-practices/rules/measuring-text.md delete mode 100644 openswarm-demo1/.agents/skills/remotion-best-practices/rules/parameters.md delete mode 100644 openswarm-demo1/.agents/skills/remotion-best-practices/rules/sequencing.md delete mode 100644 openswarm-demo1/.agents/skills/remotion-best-practices/rules/sfx.md delete mode 100644 openswarm-demo1/.agents/skills/remotion-best-practices/rules/subtitles.md delete mode 100644 openswarm-demo1/.agents/skills/remotion-best-practices/rules/tailwind.md delete mode 100644 openswarm-demo1/.agents/skills/remotion-best-practices/rules/text-animations.md delete mode 100644 openswarm-demo1/.agents/skills/remotion-best-practices/rules/timing.md delete mode 100644 openswarm-demo1/.agents/skills/remotion-best-practices/rules/transcribe-captions.md delete mode 100644 openswarm-demo1/.agents/skills/remotion-best-practices/rules/transitions.md delete mode 100644 openswarm-demo1/.agents/skills/remotion-best-practices/rules/transparent-videos.md delete mode 100644 openswarm-demo1/.agents/skills/remotion-best-practices/rules/trimming.md delete mode 100644 openswarm-demo1/.agents/skills/remotion-best-practices/rules/videos.md delete mode 100644 openswarm-demo1/.agents/skills/remotion-best-practices/rules/voiceover.md delete mode 120000 openswarm-demo1/.claude/skills/remotion-best-practices delete mode 120000 openswarm-demo1/.cursor/skills/remotion-best-practices delete mode 100644 openswarm-demo1/.gitignore delete mode 120000 openswarm-demo1/.opencode/skills/remotion-best-practices delete mode 100644 openswarm-demo1/.prettierrc delete mode 100644 openswarm-demo1/README.md delete mode 100644 openswarm-demo1/eslint.config.mjs delete mode 100644 openswarm-demo1/package-lock.json delete mode 100644 openswarm-demo1/package.json delete mode 100644 openswarm-demo1/public/icon.png delete mode 100644 openswarm-demo1/public/screenshot.png delete mode 100644 openswarm-demo1/remotion.config.ts delete mode 100644 openswarm-demo1/src/Composition.tsx delete mode 100644 openswarm-demo1/src/Root.tsx delete mode 100644 openswarm-demo1/src/index.css delete mode 100644 openswarm-demo1/src/index.ts delete mode 100644 openswarm-demo1/src/scenes/CtaScene.tsx delete mode 100644 openswarm-demo1/src/scenes/DashboardScene.tsx delete mode 100644 openswarm-demo1/src/scenes/FeaturesScene.tsx delete mode 100644 openswarm-demo1/src/scenes/HookScene.tsx delete mode 100644 openswarm-demo1/src/scenes/IntroScene.tsx delete mode 100644 openswarm-demo1/tsconfig.json diff --git a/.gitignore b/.gitignore index ebddebb5..7456e9cb 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,7 @@ .DS_Store .worktrees .env +openswarm-demo1/ backend/data/** !backend/data/outputs/ !backend/data/outputs/*.json diff --git a/openswarm-demo1/.agents/skills/remotion-best-practices/SKILL.md b/openswarm-demo1/.agents/skills/remotion-best-practices/SKILL.md deleted file mode 100644 index 7ddaa0fd..00000000 --- a/openswarm-demo1/.agents/skills/remotion-best-practices/SKILL.md +++ /dev/null @@ -1,61 +0,0 @@ ---- -name: remotion-best-practices -description: Best practices for Remotion - Video creation in React -metadata: - tags: remotion, video, react, animation, composition ---- - -## When to use - -Use this skills whenever you are dealing with Remotion code to obtain the domain-specific knowledge. - -## Captions - -When dealing with captions or subtitles, load the [./rules/subtitles.md](./rules/subtitles.md) file for more information. - -## Using FFmpeg - -For some video operations, such as trimming videos or detecting silence, FFmpeg should be used. Load the [./rules/ffmpeg.md](./rules/ffmpeg.md) file for more information. - -## Audio visualization - -When needing to visualize audio (spectrum bars, waveforms, bass-reactive effects), load the [./rules/audio-visualization.md](./rules/audio-visualization.md) file for more information. - -## Sound effects - -When needing to use sound effects, load the [./rules/sound-effects.md](./rules/sound-effects.md) file for more information. - -## How to use - -Read individual rule files for detailed explanations and code examples: - -- [rules/3d.md](rules/3d.md) - 3D content in Remotion using Three.js and React Three Fiber -- [rules/animations.md](rules/animations.md) - Fundamental animation skills for Remotion -- [rules/assets.md](rules/assets.md) - Importing images, videos, audio, and fonts into Remotion -- [rules/audio.md](rules/audio.md) - Using audio and sound in Remotion - importing, trimming, volume, speed, pitch -- [rules/calculate-metadata.md](rules/calculate-metadata.md) - Dynamically set composition duration, dimensions, and props -- [rules/can-decode.md](rules/can-decode.md) - Check if a video can be decoded by the browser using Mediabunny -- [rules/charts.md](rules/charts.md) - Chart and data visualization patterns for Remotion (bar, pie, line, stock charts) -- [rules/compositions.md](rules/compositions.md) - Defining compositions, stills, folders, default props and dynamic metadata -- [rules/extract-frames.md](rules/extract-frames.md) - Extract frames from videos at specific timestamps using Mediabunny -- [rules/fonts.md](rules/fonts.md) - Loading Google Fonts and local fonts in Remotion -- [rules/get-audio-duration.md](rules/get-audio-duration.md) - Getting the duration of an audio file in seconds with Mediabunny -- [rules/get-video-dimensions.md](rules/get-video-dimensions.md) - Getting the width and height of a video file with Mediabunny -- [rules/get-video-duration.md](rules/get-video-duration.md) - Getting the duration of a video file in seconds with Mediabunny -- [rules/gifs.md](rules/gifs.md) - Displaying GIFs synchronized with Remotion's timeline -- [rules/images.md](rules/images.md) - Embedding images in Remotion using the Img component -- [rules/light-leaks.md](rules/light-leaks.md) - Light leak overlay effects using @remotion/light-leaks -- [rules/lottie.md](rules/lottie.md) - Embedding Lottie animations in Remotion -- [rules/measuring-dom-nodes.md](rules/measuring-dom-nodes.md) - Measuring DOM element dimensions in Remotion -- [rules/measuring-text.md](rules/measuring-text.md) - Measuring text dimensions, fitting text to containers, and checking overflow -- [rules/sequencing.md](rules/sequencing.md) - Sequencing patterns for Remotion - delay, trim, limit duration of items -- [rules/tailwind.md](rules/tailwind.md) - Using TailwindCSS in Remotion -- [rules/text-animations.md](rules/text-animations.md) - Typography and text animation patterns for Remotion -- [rules/timing.md](rules/timing.md) - Interpolation curves in Remotion - linear, easing, spring animations -- [rules/transitions.md](rules/transitions.md) - Scene transition patterns for Remotion -- [rules/transparent-videos.md](rules/transparent-videos.md) - Rendering out a video with transparency -- [rules/trimming.md](rules/trimming.md) - Trimming patterns for Remotion - cut the beginning or end of animations -- [rules/videos.md](rules/videos.md) - Embedding videos in Remotion - trimming, volume, speed, looping, pitch -- [rules/parameters.md](rules/parameters.md) - Make a video parametrizable by adding a Zod schema -- [rules/maps.md](rules/maps.md) - Add a map using Mapbox and animate it -- [rules/voiceover.md](rules/voiceover.md) - Adding AI-generated voiceover to Remotion compositions using ElevenLabs TTS diff --git a/openswarm-demo1/.agents/skills/remotion-best-practices/rules/3d.md b/openswarm-demo1/.agents/skills/remotion-best-practices/rules/3d.md deleted file mode 100644 index c9d254f1..00000000 --- a/openswarm-demo1/.agents/skills/remotion-best-practices/rules/3d.md +++ /dev/null @@ -1,86 +0,0 @@ ---- -name: 3d -description: 3D content in Remotion using Three.js and React Three Fiber. -metadata: - tags: 3d, three, threejs ---- - -# Using Three.js and React Three Fiber in Remotion - -Follow React Three Fiber and Three.js best practices. -Only the following Remotion-specific rules need to be followed: - -## Prerequisites - -First, the `@remotion/three` package needs to be installed. -If it is not, use the following command: - -```bash -npx remotion add @remotion/three # If project uses npm -bunx remotion add @remotion/three # If project uses bun -yarn remotion add @remotion/three # If project uses yarn -pnpm exec remotion add @remotion/three # If project uses pnpm -``` - -## Using ThreeCanvas - -You MUST wrap 3D content in `` and include proper lighting. -`` MUST have a `width` and `height` prop. - -```tsx -import { ThreeCanvas } from "@remotion/three"; -import { useVideoConfig } from "remotion"; - -const { width, height } = useVideoConfig(); - - - - - - - - -; -``` - -## No animations not driven by `useCurrentFrame()` - -Shaders, models etc MUST NOT animate by themselves. -No animations are allowed unless they are driven by `useCurrentFrame()`. -Otherwise, it will cause flickering during rendering. - -Using `useFrame()` from `@react-three/fiber` is forbidden. - -## Animate using `useCurrentFrame()` - -Use `useCurrentFrame()` to perform animations. - -```tsx -const frame = useCurrentFrame(); -const rotationY = frame * 0.02; - - - - -; -``` - -## Using `` inside `` - -The `layout` prop of any `` inside a `` must be set to `none`. - -```tsx -import { Sequence } from "remotion"; -import { ThreeCanvas } from "@remotion/three"; - -const { width, height } = useVideoConfig(); - - - - - - - - -; -``` diff --git a/openswarm-demo1/.agents/skills/remotion-best-practices/rules/animations.md b/openswarm-demo1/.agents/skills/remotion-best-practices/rules/animations.md deleted file mode 100644 index 619591e8..00000000 --- a/openswarm-demo1/.agents/skills/remotion-best-practices/rules/animations.md +++ /dev/null @@ -1,27 +0,0 @@ ---- -name: animations -description: Fundamental animation skills for Remotion -metadata: - tags: animations, transitions, frames, useCurrentFrame ---- - -All animations MUST be driven by the `useCurrentFrame()` hook. -Write animations in seconds and multiply them by the `fps` value from `useVideoConfig()`. - -```tsx -import { useCurrentFrame } from "remotion"; - -export const FadeIn = () => { - const frame = useCurrentFrame(); - const { fps } = useVideoConfig(); - - const opacity = interpolate(frame, [0, 2 * fps], [0, 1], { - extrapolateRight: "clamp", - }); - - return
Hello World!
; -}; -``` - -CSS transitions or animations are FORBIDDEN - they will not render correctly. -Tailwind animation class names are FORBIDDEN - they will not render correctly. diff --git a/openswarm-demo1/.agents/skills/remotion-best-practices/rules/assets.md b/openswarm-demo1/.agents/skills/remotion-best-practices/rules/assets.md deleted file mode 100644 index a5d40152..00000000 --- a/openswarm-demo1/.agents/skills/remotion-best-practices/rules/assets.md +++ /dev/null @@ -1,78 +0,0 @@ ---- -name: assets -description: Importing images, videos, audio, and fonts into Remotion -metadata: - tags: assets, staticFile, images, fonts, public ---- - -# Importing assets in Remotion - -## The public folder - -Place assets in the `public/` folder at your project root. - -## Using staticFile() - -You MUST use `staticFile()` to reference files from the `public/` folder: - -```tsx -import { Img, staticFile } from "remotion"; - -export const MyComposition = () => { - return ; -}; -``` - -The function returns an encoded URL that works correctly when deploying to subdirectories. - -## Using with components - -**Images:** - -```tsx -import { Img, staticFile } from "remotion"; - -; -``` - -**Videos:** - -```tsx -import { Video } from "@remotion/media"; -import { staticFile } from "remotion"; - -