dsh-remotion 0.1.1 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.en.md +18 -4
- package/README.md +15 -4
- package/lib/index.d.ts +12 -2
- package/lib/index.js +50 -4
- package/package.json +63 -64
- package/skills/remotion-best-practices/SKILL.md +59 -0
- package/skills/remotion-best-practices/agents/openai.yaml +7 -0
- package/skills/remotion-best-practices/assets/remotion-icon.png +0 -0
- package/skills/remotion-best-practices/remotion-captions/SKILL.md +36 -0
- package/skills/remotion-best-practices/remotion-captions/agents/openai.yaml +7 -0
- package/skills/remotion-best-practices/remotion-captions/assets/remotion-icon.png +0 -0
- package/skills/{remotion/rules → remotion-best-practices/remotion-captions}/display-captions.md +9 -3
- package/skills/{remotion/rules → remotion-best-practices/remotion-captions}/import-srt-captions.md +5 -1
- package/skills/remotion-best-practices/remotion-create/SKILL.md +68 -0
- package/skills/remotion-best-practices/remotion-create/agents/openai.yaml +7 -0
- package/skills/remotion-best-practices/remotion-create/assets/remotion-icon.png +0 -0
- package/skills/{remotion/rules → remotion-best-practices/remotion-create}/tailwind.md +1 -1
- package/skills/remotion-best-practices/remotion-create/video-layout.md +9 -0
- package/skills/remotion-best-practices/remotion-docs/SKILL.md +46 -0
- package/skills/remotion-best-practices/remotion-docs/agents/openai.yaml +7 -0
- package/skills/remotion-best-practices/remotion-docs/assets/remotion-icon.png +0 -0
- package/skills/remotion-best-practices/remotion-interactivity/SKILL.md +247 -0
- package/skills/remotion-best-practices/remotion-interactivity/agents/openai.yaml +7 -0
- package/skills/remotion-best-practices/remotion-interactivity/assets/remotion-icon.png +0 -0
- package/skills/remotion-best-practices/remotion-maps/SKILL.md +36 -0
- package/skills/remotion-best-practices/remotion-maps/agents/openai.yaml +7 -0
- package/skills/remotion-best-practices/remotion-maps/assets/remotion-icon.png +0 -0
- package/skills/remotion-best-practices/remotion-maps/techniques/cesium/TECHNIQUE.md +89 -0
- package/skills/remotion-best-practices/remotion-maps/techniques/cesium/assets/CesiumFlythrough.tsx +284 -0
- package/skills/remotion-best-practices/remotion-maps/techniques/cesium/assets/cesium-path.json +299 -0
- package/skills/remotion-best-practices/remotion-maps/techniques/cesium/assets/city-path.json +12 -0
- package/skills/remotion-best-practices/remotion-maps/techniques/cesium/assets/example-Root.tsx +39 -0
- package/skills/remotion-best-practices/remotion-maps/techniques/cesium/assets/flight-path.ts +35 -0
- package/skills/remotion-best-practices/remotion-maps/techniques/cesium/assets/sample-river.geojson +215 -0
- package/skills/remotion-best-practices/remotion-maps/techniques/cesium/references/3d-data-sources.md +43 -0
- package/skills/remotion-best-practices/remotion-maps/techniques/cesium/references/3d-flyover-architecture.md +128 -0
- package/skills/remotion-best-practices/remotion-maps/techniques/cesium/references/3d-troubleshooting.md +57 -0
- package/skills/remotion-best-practices/remotion-maps/techniques/cesium/scripts/prep-cesium-path.mjs +161 -0
- package/skills/remotion-best-practices/remotion-maps/techniques/mapbox/TECHNIQUE.md +449 -0
- package/skills/remotion-best-practices/remotion-maps/techniques/mapbox/references/render-stability.md +64 -0
- package/skills/remotion-best-practices/remotion-maps/techniques/maplibre/TECHNIQUE.md +465 -0
- package/skills/remotion-best-practices/remotion-maps/techniques/maplibre/references/render-stability.md +64 -0
- package/skills/remotion-best-practices/remotion-maps/techniques/maptiler/TECHNIQUE.md +80 -0
- package/skills/remotion-best-practices/remotion-maps/techniques/maptiler/assets/CountryLabel.tsx +70 -0
- package/skills/remotion-best-practices/remotion-maps/techniques/maptiler/assets/MapTilerVectorElement.ts +80 -0
- package/skills/remotion-best-practices/remotion-maps/techniques/maptiler/assets/RiverReveal.tsx +363 -0
- package/skills/remotion-best-practices/remotion-maps/techniques/maptiler/assets/example-Root.tsx +22 -0
- package/skills/remotion-best-practices/remotion-maps/techniques/maptiler/assets/sample-data/country-meta.json +7535 -0
- package/skills/remotion-best-practices/remotion-maps/techniques/maptiler/assets/sample-data/yarlung-flow.json +605 -0
- package/skills/remotion-best-practices/remotion-maps/techniques/maptiler/assets/tokens.ts +34 -0
- package/skills/remotion-best-practices/remotion-maps/techniques/maptiler/references/map-data-sources.md +91 -0
- package/skills/remotion-best-practices/remotion-maps/techniques/maptiler/references/map-explainer-architecture.md +129 -0
- package/skills/remotion-best-practices/remotion-maps/techniques/maptiler/references/map-geo-prep.md +85 -0
- package/skills/remotion-best-practices/remotion-maps/techniques/maptiler/references/render-stability.md +64 -0
- package/skills/remotion-best-practices/remotion-maps/techniques/maptiler/scripts/prep-geo.mjs +202 -0
- package/skills/remotion-best-practices/remotion-maps/techniques/static-map/TECHNIQUE.md +37 -0
- package/skills/remotion-best-practices/remotion-markup/SKILL.md +365 -0
- package/skills/remotion-best-practices/remotion-markup/agents/openai.yaml +7 -0
- package/skills/remotion-best-practices/remotion-markup/assets/remotion-icon.png +0 -0
- package/skills/{remotion/rules → remotion-best-practices/remotion-markup}/audio.md +4 -2
- package/skills/{remotion/rules → remotion-best-practices/remotion-markup}/calculate-metadata.md +4 -2
- package/skills/remotion-best-practices/remotion-markup/compositions.md +117 -0
- package/skills/remotion-best-practices/remotion-markup/cropping.md +34 -0
- package/skills/remotion-best-practices/remotion-markup/effects.md +251 -0
- package/skills/{remotion/rules/videos.md → remotion-best-practices/remotion-markup/embedding-videos.md} +6 -4
- package/skills/{remotion/rules → remotion-best-practices/remotion-markup}/ffmpeg.md +5 -1
- package/skills/{remotion/rules → remotion-best-practices/remotion-markup}/gifs.md +55 -9
- package/skills/remotion-best-practices/remotion-markup/google-fonts.md +76 -0
- package/skills/remotion-best-practices/remotion-markup/html-in-canvas.md +128 -0
- package/skills/remotion-best-practices/remotion-markup/images.md +73 -0
- package/skills/remotion-best-practices/remotion-markup/light-leaks.md +106 -0
- package/skills/remotion-best-practices/remotion-markup/local-fonts.md +69 -0
- package/skills/{remotion/rules → remotion-best-practices/remotion-markup}/lottie.md +4 -1
- package/skills/{remotion/rules → remotion-best-practices/remotion-markup}/measuring-dom-nodes.md +5 -1
- package/skills/{remotion/rules → remotion-best-practices/remotion-markup}/measuring-text.md +8 -2
- package/skills/remotion-best-practices/remotion-markup/multi-scene-video.md +81 -0
- package/skills/{remotion/rules → remotion-best-practices/remotion-markup}/parameters.md +3 -1
- package/skills/remotion-best-practices/remotion-markup/remotion-maps/SKILL.md +36 -0
- package/skills/remotion-best-practices/remotion-markup/remotion-maps/agents/openai.yaml +7 -0
- package/skills/remotion-best-practices/remotion-markup/remotion-maps/assets/remotion-icon.png +0 -0
- package/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/cesium/TECHNIQUE.md +89 -0
- package/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/cesium/assets/CesiumFlythrough.tsx +284 -0
- package/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/cesium/assets/cesium-path.json +299 -0
- package/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/cesium/assets/city-path.json +12 -0
- package/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/cesium/assets/example-Root.tsx +39 -0
- package/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/cesium/assets/flight-path.ts +35 -0
- package/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/cesium/assets/sample-river.geojson +215 -0
- package/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/cesium/references/3d-data-sources.md +43 -0
- package/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/cesium/references/3d-flyover-architecture.md +128 -0
- package/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/cesium/references/3d-troubleshooting.md +57 -0
- package/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/cesium/scripts/prep-cesium-path.mjs +161 -0
- package/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/mapbox/TECHNIQUE.md +449 -0
- package/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/mapbox/references/render-stability.md +64 -0
- package/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/maplibre/TECHNIQUE.md +465 -0
- package/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/maplibre/references/render-stability.md +64 -0
- package/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/maptiler/TECHNIQUE.md +80 -0
- package/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/maptiler/assets/CountryLabel.tsx +70 -0
- package/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/maptiler/assets/MapTilerVectorElement.ts +80 -0
- package/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/maptiler/assets/RiverReveal.tsx +363 -0
- package/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/maptiler/assets/example-Root.tsx +22 -0
- package/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/maptiler/assets/sample-data/country-meta.json +7535 -0
- package/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/maptiler/assets/sample-data/yarlung-flow.json +605 -0
- package/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/maptiler/assets/tokens.ts +34 -0
- package/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/maptiler/references/map-data-sources.md +91 -0
- package/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/maptiler/references/map-explainer-architecture.md +129 -0
- package/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/maptiler/references/map-geo-prep.md +85 -0
- package/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/maptiler/references/render-stability.md +64 -0
- package/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/maptiler/scripts/prep-geo.mjs +202 -0
- package/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/static-map/TECHNIQUE.md +37 -0
- package/skills/{remotion/rules → remotion-best-practices/remotion-markup}/sequencing.md +63 -12
- package/skills/remotion-best-practices/remotion-markup/sfx.md +51 -0
- package/skills/remotion-best-practices/remotion-markup/text-highlights.md +56 -0
- package/skills/remotion-best-practices/remotion-markup/timing.md +111 -0
- package/skills/{remotion/rules → remotion-best-practices/remotion-markup}/transitions.md +49 -7
- package/skills/remotion-best-practices/remotion-markup/video-editing.md +90 -0
- package/skills/{remotion/rules → remotion-best-practices/remotion-markup}/voiceover.md +2 -2
- package/skills/remotion-best-practices/remotion-multimedia/SKILL.md +20 -0
- package/skills/remotion-best-practices/remotion-multimedia/agents/openai.yaml +7 -0
- package/skills/remotion-best-practices/remotion-multimedia/assets/remotion-icon.png +0 -0
- package/skills/{remotion/rules → remotion-best-practices/remotion-multimedia}/get-audio-duration.md +1 -3
- package/skills/{remotion/rules → remotion-best-practices/remotion-multimedia}/get-video-dimensions.md +1 -3
- package/skills/{remotion/rules → remotion-best-practices/remotion-multimedia}/get-video-duration.md +1 -3
- package/skills/remotion-best-practices/remotion-render/SKILL.md +27 -0
- package/skills/remotion-best-practices/remotion-render/agents/openai.yaml +7 -0
- package/skills/remotion-best-practices/remotion-render/assets/remotion-icon.png +0 -0
- package/skills/remotion-best-practices/remotion-saas/SKILL.md +33 -0
- package/skills/remotion-best-practices/remotion-saas/agents/openai.yaml +7 -0
- package/skills/remotion-best-practices/remotion-saas/assets/remotion-icon.png +0 -0
- package/skills/remotion-best-practices/remotion-saas/framework.md +21 -0
- package/skills/remotion-best-practices/remotion-saas/player.md +33 -0
- package/skills/remotion-best-practices/remotion-saas/rendering.md +69 -0
- package/skills/remotion-best-practices/remotion-studio/SKILL.md +24 -0
- package/skills/remotion-best-practices/remotion-studio/agents/openai.yaml +7 -0
- package/skills/remotion-best-practices/remotion-studio/assets/remotion-icon.png +0 -0
- package/skills/remotion-best-practices/remotion-upgrade/SKILL.md +31 -0
- package/skills/remotion-best-practices/remotion-upgrade/agents/openai.yaml +7 -0
- package/skills/remotion-best-practices/remotion-upgrade/assets/remotion-icon.png +0 -0
- package/skills/remotion-captions/SKILL.md +36 -0
- package/skills/remotion-captions/agents/openai.yaml +7 -0
- package/skills/remotion-captions/assets/remotion-icon.png +0 -0
- package/skills/remotion-captions/display-captions.md +190 -0
- package/skills/remotion-captions/import-srt-captions.md +73 -0
- package/skills/remotion-captions/transcribe-captions.md +70 -0
- package/skills/remotion-create/SKILL.md +68 -0
- package/skills/remotion-create/agents/openai.yaml +7 -0
- package/skills/remotion-create/assets/remotion-icon.png +0 -0
- package/skills/remotion-create/tailwind.md +11 -0
- package/skills/remotion-create/video-layout.md +9 -0
- package/skills/remotion-docs/SKILL.md +46 -0
- package/skills/remotion-docs/agents/openai.yaml +7 -0
- package/skills/remotion-docs/assets/remotion-icon.png +0 -0
- package/skills/remotion-interactivity/SKILL.md +247 -0
- package/skills/remotion-interactivity/agents/openai.yaml +7 -0
- package/skills/remotion-interactivity/assets/remotion-icon.png +0 -0
- package/skills/remotion-maps/SKILL.md +36 -0
- package/skills/remotion-maps/agents/openai.yaml +7 -0
- package/skills/remotion-maps/assets/remotion-icon.png +0 -0
- package/skills/remotion-maps/techniques/cesium/TECHNIQUE.md +89 -0
- package/skills/remotion-maps/techniques/cesium/assets/CesiumFlythrough.tsx +284 -0
- package/skills/remotion-maps/techniques/cesium/assets/cesium-path.json +299 -0
- package/skills/remotion-maps/techniques/cesium/assets/city-path.json +12 -0
- package/skills/remotion-maps/techniques/cesium/assets/example-Root.tsx +39 -0
- package/skills/remotion-maps/techniques/cesium/assets/flight-path.ts +35 -0
- package/skills/remotion-maps/techniques/cesium/assets/sample-river.geojson +215 -0
- package/skills/remotion-maps/techniques/cesium/references/3d-data-sources.md +43 -0
- package/skills/remotion-maps/techniques/cesium/references/3d-flyover-architecture.md +128 -0
- package/skills/remotion-maps/techniques/cesium/references/3d-troubleshooting.md +57 -0
- package/skills/remotion-maps/techniques/cesium/scripts/prep-cesium-path.mjs +161 -0
- package/skills/remotion-maps/techniques/mapbox/TECHNIQUE.md +449 -0
- package/skills/remotion-maps/techniques/mapbox/references/render-stability.md +64 -0
- package/skills/remotion-maps/techniques/maplibre/TECHNIQUE.md +465 -0
- package/skills/remotion-maps/techniques/maplibre/references/render-stability.md +64 -0
- package/skills/remotion-maps/techniques/maptiler/TECHNIQUE.md +80 -0
- package/skills/remotion-maps/techniques/maptiler/assets/CountryLabel.tsx +70 -0
- package/skills/remotion-maps/techniques/maptiler/assets/MapTilerVectorElement.ts +80 -0
- package/skills/remotion-maps/techniques/maptiler/assets/RiverReveal.tsx +363 -0
- package/skills/remotion-maps/techniques/maptiler/assets/example-Root.tsx +22 -0
- package/skills/remotion-maps/techniques/maptiler/assets/sample-data/country-meta.json +7535 -0
- package/skills/remotion-maps/techniques/maptiler/assets/sample-data/yarlung-flow.json +605 -0
- package/skills/remotion-maps/techniques/maptiler/assets/tokens.ts +34 -0
- package/skills/remotion-maps/techniques/maptiler/references/map-data-sources.md +91 -0
- package/skills/remotion-maps/techniques/maptiler/references/map-explainer-architecture.md +129 -0
- package/skills/remotion-maps/techniques/maptiler/references/map-geo-prep.md +85 -0
- package/skills/remotion-maps/techniques/maptiler/references/render-stability.md +64 -0
- package/skills/remotion-maps/techniques/maptiler/scripts/prep-geo.mjs +202 -0
- package/skills/remotion-maps/techniques/static-map/TECHNIQUE.md +37 -0
- package/skills/remotion-markup/3d.md +86 -0
- package/skills/remotion-markup/SKILL.md +365 -0
- package/skills/remotion-markup/agents/openai.yaml +7 -0
- package/skills/remotion-markup/assets/remotion-icon.png +0 -0
- package/skills/remotion-markup/audio-visualization.md +198 -0
- package/skills/remotion-markup/audio.md +171 -0
- package/skills/remotion-markup/calculate-metadata.md +136 -0
- package/skills/remotion-markup/compositions.md +117 -0
- package/skills/remotion-markup/cropping.md +34 -0
- package/skills/remotion-markup/effects.md +251 -0
- package/skills/remotion-markup/embedding-videos.md +173 -0
- package/skills/remotion-markup/ffmpeg.md +38 -0
- package/skills/remotion-markup/gifs.md +187 -0
- package/skills/remotion-markup/google-fonts.md +76 -0
- package/skills/remotion-markup/html-in-canvas.md +128 -0
- package/skills/remotion-markup/images.md +73 -0
- package/skills/remotion-markup/light-leaks.md +106 -0
- package/skills/remotion-markup/local-fonts.md +69 -0
- package/skills/remotion-markup/lottie.md +73 -0
- package/skills/remotion-markup/measuring-dom-nodes.md +38 -0
- package/skills/remotion-markup/measuring-text.md +146 -0
- package/skills/remotion-markup/multi-scene-video.md +81 -0
- package/skills/remotion-markup/parameters.md +111 -0
- package/skills/remotion-markup/remotion-maps/SKILL.md +36 -0
- package/skills/remotion-markup/remotion-maps/agents/openai.yaml +7 -0
- package/skills/remotion-markup/remotion-maps/assets/remotion-icon.png +0 -0
- package/skills/remotion-markup/remotion-maps/techniques/cesium/TECHNIQUE.md +89 -0
- package/skills/remotion-markup/remotion-maps/techniques/cesium/assets/CesiumFlythrough.tsx +284 -0
- package/skills/remotion-markup/remotion-maps/techniques/cesium/assets/cesium-path.json +299 -0
- package/skills/remotion-markup/remotion-maps/techniques/cesium/assets/city-path.json +12 -0
- package/skills/remotion-markup/remotion-maps/techniques/cesium/assets/example-Root.tsx +39 -0
- package/skills/remotion-markup/remotion-maps/techniques/cesium/assets/flight-path.ts +35 -0
- package/skills/remotion-markup/remotion-maps/techniques/cesium/assets/sample-river.geojson +215 -0
- package/skills/remotion-markup/remotion-maps/techniques/cesium/references/3d-data-sources.md +43 -0
- package/skills/remotion-markup/remotion-maps/techniques/cesium/references/3d-flyover-architecture.md +128 -0
- package/skills/remotion-markup/remotion-maps/techniques/cesium/references/3d-troubleshooting.md +57 -0
- package/skills/remotion-markup/remotion-maps/techniques/cesium/scripts/prep-cesium-path.mjs +161 -0
- package/skills/remotion-markup/remotion-maps/techniques/mapbox/TECHNIQUE.md +449 -0
- package/skills/remotion-markup/remotion-maps/techniques/mapbox/references/render-stability.md +64 -0
- package/skills/remotion-markup/remotion-maps/techniques/maplibre/TECHNIQUE.md +465 -0
- package/skills/remotion-markup/remotion-maps/techniques/maplibre/references/render-stability.md +64 -0
- package/skills/remotion-markup/remotion-maps/techniques/maptiler/TECHNIQUE.md +80 -0
- package/skills/remotion-markup/remotion-maps/techniques/maptiler/assets/CountryLabel.tsx +70 -0
- package/skills/remotion-markup/remotion-maps/techniques/maptiler/assets/MapTilerVectorElement.ts +80 -0
- package/skills/remotion-markup/remotion-maps/techniques/maptiler/assets/RiverReveal.tsx +363 -0
- package/skills/remotion-markup/remotion-maps/techniques/maptiler/assets/example-Root.tsx +22 -0
- package/skills/remotion-markup/remotion-maps/techniques/maptiler/assets/sample-data/country-meta.json +7535 -0
- package/skills/remotion-markup/remotion-maps/techniques/maptiler/assets/sample-data/yarlung-flow.json +605 -0
- package/skills/remotion-markup/remotion-maps/techniques/maptiler/assets/tokens.ts +34 -0
- package/skills/remotion-markup/remotion-maps/techniques/maptiler/references/map-data-sources.md +91 -0
- package/skills/remotion-markup/remotion-maps/techniques/maptiler/references/map-explainer-architecture.md +129 -0
- package/skills/remotion-markup/remotion-maps/techniques/maptiler/references/map-geo-prep.md +85 -0
- package/skills/remotion-markup/remotion-maps/techniques/maptiler/references/render-stability.md +64 -0
- package/skills/remotion-markup/remotion-maps/techniques/maptiler/scripts/prep-geo.mjs +202 -0
- package/skills/remotion-markup/remotion-maps/techniques/static-map/TECHNIQUE.md +37 -0
- package/skills/remotion-markup/sequencing.md +169 -0
- package/skills/remotion-markup/sfx.md +51 -0
- package/skills/remotion-markup/silence-detection.md +71 -0
- package/skills/remotion-markup/text-highlights.md +56 -0
- package/skills/remotion-markup/timing.md +111 -0
- package/skills/remotion-markup/transitions.md +239 -0
- package/skills/remotion-markup/video-editing.md +90 -0
- package/skills/remotion-markup/voiceover.md +99 -0
- package/skills/remotion-multimedia/SKILL.md +20 -0
- package/skills/remotion-multimedia/agents/openai.yaml +7 -0
- package/skills/remotion-multimedia/assets/remotion-icon.png +0 -0
- package/skills/remotion-multimedia/get-audio-duration.md +56 -0
- package/skills/remotion-multimedia/get-video-dimensions.md +66 -0
- package/skills/remotion-multimedia/get-video-duration.md +58 -0
- package/skills/remotion-render/SKILL.md +27 -0
- package/skills/remotion-render/agents/openai.yaml +7 -0
- package/skills/remotion-render/assets/remotion-icon.png +0 -0
- package/skills/remotion-render/transparent-videos.md +106 -0
- package/skills/remotion-saas/SKILL.md +33 -0
- package/skills/remotion-saas/agents/openai.yaml +7 -0
- package/skills/remotion-saas/assets/remotion-icon.png +0 -0
- package/skills/remotion-saas/framework.md +21 -0
- package/skills/remotion-saas/player.md +33 -0
- package/skills/remotion-saas/rendering.md +69 -0
- package/skills/remotion-studio/SKILL.md +24 -0
- package/skills/remotion-studio/agents/openai.yaml +7 -0
- package/skills/remotion-studio/assets/remotion-icon.png +0 -0
- package/skills/remotion-upgrade/SKILL.md +31 -0
- package/skills/remotion-upgrade/agents/openai.yaml +7 -0
- package/skills/remotion-upgrade/assets/remotion-icon.png +0 -0
- package/skills/remotion/SKILL.md +0 -95
- package/skills/remotion/rules/animations.md +0 -31
- package/skills/remotion/rules/assets.md +0 -78
- package/skills/remotion/rules/can-decode.md +0 -81
- package/skills/remotion/rules/charts.md +0 -120
- package/skills/remotion/rules/compositions.md +0 -154
- package/skills/remotion/rules/extract-frames.md +0 -229
- package/skills/remotion/rules/fonts.md +0 -152
- package/skills/remotion/rules/images.md +0 -134
- package/skills/remotion/rules/light-leaks.md +0 -73
- package/skills/remotion/rules/maps.md +0 -412
- package/skills/remotion/rules/sfx.md +0 -30
- package/skills/remotion/rules/subtitles.md +0 -36
- package/skills/remotion/rules/text-animations.md +0 -20
- package/skills/remotion/rules/timing.md +0 -136
- package/skills/remotion/rules/trimming.md +0 -51
- /package/skills/{remotion/rules → remotion-best-practices/remotion-captions}/transcribe-captions.md +0 -0
- /package/skills/{remotion/rules → remotion-best-practices/remotion-markup}/3d.md +0 -0
- /package/skills/{remotion/rules → remotion-best-practices/remotion-markup}/audio-visualization.md +0 -0
- /package/skills/{remotion/rules → remotion-best-practices/remotion-markup}/silence-detection.md +0 -0
- /package/skills/{remotion/rules → remotion-best-practices/remotion-render}/transparent-videos.md +0 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 stardustlc
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.en.md
CHANGED
|
@@ -1,10 +1,16 @@
|
|
|
1
1
|
[中文](README.md)
|
|
2
2
|
|
|
3
|
+
   
|
|
4
|
+
|
|
3
5
|
# dsh-remotion
|
|
4
6
|
|
|
5
7
|
[](https://awesome-dsh-plugin.com)
|
|
6
8
|
|
|
7
|
-
DSH (DeepSeek Harness) video-creation skill plugin: installing it registers the official Remotion skill into DSH (programmatic video with React: animation, audio, captions, 3D, charts, fonts
|
|
9
|
+
DSH (DeepSeek Harness) video-creation skill plugin: installing it registers the official Remotion skill into DSH (programmatic video with React: animation, audio, captions, 3D, charts, fonts; synced with the official Remotion v4.0.519 twelve-skill structure).
|
|
10
|
+
|
|
11
|
+
## Compatibility
|
|
12
|
+
|
|
13
|
+
Verified against `@deepseek-ai/dsh@0.1.2-alpha.2` on 2026-08-31. Built for the cordis patch-bundle plugin model (`cordis.patch.yml` + `dsh.bundle.patch`). No runtime imports of `@deepseek-ai/*` internals.
|
|
8
14
|
|
|
9
15
|
## Installation
|
|
10
16
|
|
|
@@ -14,9 +20,18 @@ dsh plugin --profile web add dsh-remotion
|
|
|
14
20
|
|
|
15
21
|
After restarting, say "make a video with Remotion" to trigger it.
|
|
16
22
|
|
|
23
|
+
## Uninstall
|
|
24
|
+
|
|
25
|
+
```bash
|
|
26
|
+
dsh plugin --profile web remove dsh-remotion
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
Then restart the web service. To clean up fully, also remove the plugin entry from your profile `cordis.patch.yml` if you overrode it.
|
|
30
|
+
|
|
31
|
+
|
|
17
32
|
## Contents
|
|
18
33
|
|
|
19
|
-
- **remotion
|
|
34
|
+
- **remotion-best-practices** (router hub) + 11 domain skills (captions/create/docs/interactivity/maps/markup/multimedia/render/saas/studio/upgrade), synced from official Remotion v4.0.519
|
|
20
35
|
|
|
21
36
|
## Requirements
|
|
22
37
|
|
|
@@ -24,7 +39,7 @@ Node.js ≥ 20 + npx (npm registry); rendering needs ffmpeg (guided by the skill
|
|
|
24
39
|
|
|
25
40
|
## Porting notes
|
|
26
41
|
|
|
27
|
-
|
|
42
|
+
Synced from the official `remotion-dev/remotion` packages/skills (v4.0.519, 2026-08-31): hub symlinks materialized as real directories for cross-platform resolution.
|
|
28
43
|
|
|
29
44
|
## Multi-harness
|
|
30
45
|
|
|
@@ -43,4 +58,3 @@ Port once, use everywhere.
|
|
|
43
58
|
## License
|
|
44
59
|
|
|
45
60
|
MIT for the porting arrangement; skill content copyright remains with Remotion.
|
|
46
|
-
|
package/README.md
CHANGED
|
@@ -9,7 +9,11 @@
|
|
|
9
9
|
[](https://awesome-dsh-plugin.com)
|
|
10
10
|
|
|
11
11
|
|
|
12
|
-
DSH(DeepSeek Harness)视频创作技能插件:**安装即把 Remotion 官方移植技能注册进 DSH**(React 编程式视频:动画、音频、字幕、3D
|
|
12
|
+
DSH(DeepSeek Harness)视频创作技能插件:**安装即把 Remotion 官方移植技能注册进 DSH**(React 编程式视频:动画、音频、字幕、3D、图表、字体等;同步 Remotion 官方 v4.0.519 的 12 技能结构)。
|
|
13
|
+
|
|
14
|
+
## 兼容性
|
|
15
|
+
|
|
16
|
+
在 `@deepseek-ai/dsh@0.1.2-alpha.2` 上验证(2026-08-31)。遵循 cordis 组合包补丁模型(`cordis.patch.yml` + `dsh.bundle.patch`),运行时不 import 任何 `@deepseek-ai/*` 内部模块。
|
|
13
17
|
|
|
14
18
|
## 安装
|
|
15
19
|
|
|
@@ -19,9 +23,18 @@ dsh plugin --profile web add dsh-remotion
|
|
|
19
23
|
|
|
20
24
|
重启后说「用 Remotion 做个视频」即可触发。
|
|
21
25
|
|
|
26
|
+
## 卸载
|
|
27
|
+
|
|
28
|
+
```bash
|
|
29
|
+
dsh plugin --profile web remove dsh-remotion
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
卸载后重启 Web 服务。如需彻底清理,可再手动删除自己 profile `cordis.patch.yml` 中覆盖的插件行。
|
|
33
|
+
|
|
34
|
+
|
|
22
35
|
## 技能内容
|
|
23
36
|
|
|
24
|
-
- **remotion
|
|
37
|
+
- **remotion-best-practices**(总纲路由)+ 11 个领域技能(captions/create/docs/interactivity/maps/markup/multimedia/render/saas/studio/upgrade),同步自 Remotion 官方 v4.0.519
|
|
25
38
|
|
|
26
39
|
## 依赖
|
|
27
40
|
|
|
@@ -48,5 +61,3 @@ Node.js ≥ 20 + npx(npm registry);渲染需 ffmpeg(Remotion 自带指
|
|
|
48
61
|
## License
|
|
49
62
|
|
|
50
63
|
MIT(移植编排);技能内容版权归 Remotion。
|
|
51
|
-
|
|
52
|
-
|
package/lib/index.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
/** cordis 服务注入:apply 里要用 ctx.skills,必须显式声明。 */
|
|
2
|
+
export declare const name = "remotion-skills";
|
|
2
3
|
export declare const inject: string[];
|
|
3
4
|
/** 技能注册定义(最小面)。 */
|
|
4
5
|
export interface SkillRegistration {
|
|
@@ -16,12 +17,21 @@ export interface SkillsPluginContext {
|
|
|
16
17
|
skills: {
|
|
17
18
|
register(definition: SkillRegistration): () => void;
|
|
18
19
|
};
|
|
20
|
+
tools?: {
|
|
21
|
+
register(definition: Record<string, unknown>): () => void;
|
|
22
|
+
};
|
|
19
23
|
on?(event: string, listener: () => void): () => void;
|
|
20
24
|
}
|
|
21
|
-
/**
|
|
22
|
-
export declare const SKILL_NAMES: readonly ["remotion"];
|
|
25
|
+
/** 随包分发的技能清单(Remotion 官方 v4.0.519:总纲路由 + 11 个领域技能)。 */
|
|
26
|
+
export declare const SKILL_NAMES: readonly ["remotion-best-practices", "remotion-captions", "remotion-create", "remotion-docs", "remotion-interactivity", "remotion-maps", "remotion-markup", "remotion-multimedia", "remotion-render", "remotion-saas", "remotion-studio", "remotion-upgrade"];
|
|
23
27
|
/** 打包技能目录的绝对路径。 */
|
|
24
28
|
export declare function bundledSkillsDir(): string;
|
|
29
|
+
/** 检查随包技能资源完整性:每个技能的 SKILL.md 是否存在。 */
|
|
30
|
+
export declare function checkBundledSkills(): Array<{
|
|
31
|
+
name: string;
|
|
32
|
+
ok: boolean;
|
|
33
|
+
detail: string;
|
|
34
|
+
}>;
|
|
25
35
|
/** 拆分 SKILL.md 的 frontmatter 与正文。 */
|
|
26
36
|
export declare function parseSkillFile(text: string): {
|
|
27
37
|
name: string;
|
package/lib/index.js
CHANGED
|
@@ -6,18 +6,40 @@
|
|
|
6
6
|
*
|
|
7
7
|
* @module dsh-remotion
|
|
8
8
|
*/
|
|
9
|
-
import { readFileSync } from 'node:fs';
|
|
9
|
+
import { existsSync, readFileSync } from 'node:fs';
|
|
10
10
|
import { fileURLToPath } from 'node:url';
|
|
11
11
|
import { join } from 'node:path';
|
|
12
12
|
import YAML from 'yaml';
|
|
13
13
|
/** cordis 服务注入:apply 里要用 ctx.skills,必须显式声明。 */
|
|
14
|
-
export const
|
|
15
|
-
|
|
16
|
-
|
|
14
|
+
export const name = 'remotion-skills';
|
|
15
|
+
export const inject = ['skills', 'tools'];
|
|
16
|
+
/** 随包分发的技能清单(Remotion 官方 v4.0.519:总纲路由 + 11 个领域技能)。 */
|
|
17
|
+
export const SKILL_NAMES = [
|
|
18
|
+
"remotion-best-practices",
|
|
19
|
+
"remotion-captions",
|
|
20
|
+
"remotion-create",
|
|
21
|
+
"remotion-docs",
|
|
22
|
+
"remotion-interactivity",
|
|
23
|
+
"remotion-maps",
|
|
24
|
+
"remotion-markup",
|
|
25
|
+
"remotion-multimedia",
|
|
26
|
+
"remotion-render",
|
|
27
|
+
"remotion-saas",
|
|
28
|
+
"remotion-studio",
|
|
29
|
+
"remotion-upgrade",
|
|
30
|
+
];
|
|
17
31
|
/** 打包技能目录的绝对路径。 */
|
|
18
32
|
export function bundledSkillsDir() {
|
|
19
33
|
return fileURLToPath(new URL('../skills/', import.meta.url));
|
|
20
34
|
}
|
|
35
|
+
/** 检查随包技能资源完整性:每个技能的 SKILL.md 是否存在。 */
|
|
36
|
+
export function checkBundledSkills() {
|
|
37
|
+
return SKILL_NAMES.map((skillName) => {
|
|
38
|
+
const file = join(bundledSkillsDir(), skillName, 'SKILL.md');
|
|
39
|
+
const ok = existsSync(file);
|
|
40
|
+
return { name: skillName, ok, detail: ok ? file : 'SKILL.md 缺失:' + file };
|
|
41
|
+
});
|
|
42
|
+
}
|
|
21
43
|
/** 拆分 SKILL.md 的 frontmatter 与正文。 */
|
|
22
44
|
export function parseSkillFile(text) {
|
|
23
45
|
const match = /^---\r?\n([\s\S]*?)\r?\n---\r?\n?/.exec(text);
|
|
@@ -65,6 +87,30 @@ export function apply(ctx) {
|
|
|
65
87
|
console.warn('[dsh-remotion] 技能 ' + skillName + ' 加载失败:' + (error instanceof Error ? error.message : String(error)));
|
|
66
88
|
}
|
|
67
89
|
}
|
|
90
|
+
if (typeof ctx.tools?.register === 'function') {
|
|
91
|
+
disposers.push(ctx.tools.register({
|
|
92
|
+
name: 'remotion_health',
|
|
93
|
+
description: 'dsh-remotion 自检:检查随包技能资源(SKILL.md)是否完整。遇到问题时先运行本工具定位。',
|
|
94
|
+
parameters: { type: 'object', properties: {} },
|
|
95
|
+
output: {
|
|
96
|
+
schema: { type: 'object', additionalProperties: true },
|
|
97
|
+
render(_args, value) {
|
|
98
|
+
const rec = (value ?? {});
|
|
99
|
+
const skills = Array.isArray(rec.skills) ? rec.skills : [];
|
|
100
|
+
const lines = ['dsh-remotion 自检' + (rec.ok === true ? ':技能资源完整。' : ':发现缺失。')];
|
|
101
|
+
for (const item of skills) {
|
|
102
|
+
const s = (item ?? {});
|
|
103
|
+
lines.push('- ' + String(s.name) + ':' + (s.ok === true ? '✅' : '❌ ' + String(s.detail ?? '')));
|
|
104
|
+
}
|
|
105
|
+
return [{ type: 'text', text: lines.join('\n') }];
|
|
106
|
+
},
|
|
107
|
+
},
|
|
108
|
+
async execute() {
|
|
109
|
+
const skills = checkBundledSkills();
|
|
110
|
+
return { ok: skills.every((s) => s.ok), plugin: 'dsh-remotion', skills };
|
|
111
|
+
},
|
|
112
|
+
}));
|
|
113
|
+
}
|
|
68
114
|
if (typeof ctx.on === 'function') {
|
|
69
115
|
ctx.on('dispose', () => {
|
|
70
116
|
for (const dispose of disposers)
|
package/package.json
CHANGED
|
@@ -1,64 +1,63 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "dsh-remotion",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "DSH 视频创作技能插件:注册 Remotion 官方移植技能(React 编程式视频:动画/音频/字幕/3D/图表/字体,38 个规则文件),安装即用。",
|
|
5
|
-
"type": "module",
|
|
6
|
-
"main": "lib/index.js",
|
|
7
|
-
"types": "lib/index.d.ts",
|
|
8
|
-
"exports": {
|
|
9
|
-
".": {
|
|
10
|
-
"types": "./lib/index.d.ts",
|
|
11
|
-
"default": "./lib/index.js"
|
|
12
|
-
},
|
|
13
|
-
"./cordis.patch.yml": "./cordis.patch.yml",
|
|
14
|
-
"./package.json": "./package.json"
|
|
15
|
-
},
|
|
16
|
-
"files": [
|
|
17
|
-
"lib",
|
|
18
|
-
"skills",
|
|
19
|
-
"cordis.patch.yml",
|
|
20
|
-
"README.md",
|
|
21
|
-
"README.en.md"
|
|
22
|
-
],
|
|
23
|
-
"scripts": {
|
|
24
|
-
"build": "tsc -p tsconfig.json",
|
|
25
|
-
"
|
|
26
|
-
"
|
|
27
|
-
"
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
"
|
|
37
|
-
"
|
|
38
|
-
"
|
|
39
|
-
"
|
|
40
|
-
"
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
"
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
"
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
"
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
"
|
|
62
|
-
"
|
|
63
|
-
|
|
64
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "dsh-remotion",
|
|
3
|
+
"version": "0.3.0",
|
|
4
|
+
"description": "DSH 视频创作技能插件:注册 Remotion 官方移植技能(React 编程式视频:动画/音频/字幕/3D/图表/字体,38 个规则文件),安装即用。",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "lib/index.js",
|
|
7
|
+
"types": "lib/index.d.ts",
|
|
8
|
+
"exports": {
|
|
9
|
+
".": {
|
|
10
|
+
"types": "./lib/index.d.ts",
|
|
11
|
+
"default": "./lib/index.js"
|
|
12
|
+
},
|
|
13
|
+
"./cordis.patch.yml": "./cordis.patch.yml",
|
|
14
|
+
"./package.json": "./package.json"
|
|
15
|
+
},
|
|
16
|
+
"files": [
|
|
17
|
+
"lib",
|
|
18
|
+
"skills",
|
|
19
|
+
"cordis.patch.yml",
|
|
20
|
+
"README.md",
|
|
21
|
+
"README.en.md"
|
|
22
|
+
],
|
|
23
|
+
"scripts": {
|
|
24
|
+
"build": "tsc -p tsconfig.json",
|
|
25
|
+
"typecheck": "tsc -p tsconfig.json --noEmit",
|
|
26
|
+
"test": "pnpm run build && node --test \"test/*.test.mjs\"",
|
|
27
|
+
"prepublishOnly": "pnpm run build"
|
|
28
|
+
},
|
|
29
|
+
"dsh": {
|
|
30
|
+
"bundle": {
|
|
31
|
+
"patch": "./cordis.patch.yml"
|
|
32
|
+
}
|
|
33
|
+
},
|
|
34
|
+
"keywords": [
|
|
35
|
+
"dsh",
|
|
36
|
+
"deepseek-harness",
|
|
37
|
+
"plugin",
|
|
38
|
+
"skills",
|
|
39
|
+
"video",
|
|
40
|
+
"dsh-plugin"
|
|
41
|
+
],
|
|
42
|
+
"license": "MIT",
|
|
43
|
+
"engines": {
|
|
44
|
+
"node": ">=22"
|
|
45
|
+
},
|
|
46
|
+
"dependencies": {
|
|
47
|
+
"yaml": "^2.9.0"
|
|
48
|
+
},
|
|
49
|
+
"devDependencies": {
|
|
50
|
+
"@types/node": "^24.0.0",
|
|
51
|
+
"typescript": "^5.6.0"
|
|
52
|
+
},
|
|
53
|
+
"repository": {
|
|
54
|
+
"type": "git",
|
|
55
|
+
"url": "git+https://github.com/STARDUSTLC666/dsh-remotion.git"
|
|
56
|
+
},
|
|
57
|
+
"bugs": {
|
|
58
|
+
"url": "https://github.com/STARDUSTLC666/dsh-remotion/issues"
|
|
59
|
+
},
|
|
60
|
+
"homepage": "https://github.com/STARDUSTLC666/dsh-remotion#readme",
|
|
61
|
+
"author": "stardustlc",
|
|
62
|
+
"packageManager": "pnpm@11.7.0"
|
|
63
|
+
}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: remotion-best-practices
|
|
3
|
+
description: Router for all Remotion skills
|
|
4
|
+
version: 4.0.519
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Preserve user changes
|
|
8
|
+
|
|
9
|
+
Users may make edits in the code outside of the conversation.
|
|
10
|
+
|
|
11
|
+
If you detect a surprising change made in the meanwhile, don't overwrite it, assume it was intentional or ask for confirmation.
|
|
12
|
+
|
|
13
|
+
## Creating a video
|
|
14
|
+
|
|
15
|
+
If the user asks to make, create, or build a new video or composition, load [Create a new Remotion video](./remotion-create/SKILL.md), whether or not a Remotion project already exists.
|
|
16
|
+
|
|
17
|
+
## New project setup
|
|
18
|
+
|
|
19
|
+
If no Remotion project currently exists, load [Create a new Remotion project](./remotion-create/SKILL.md)
|
|
20
|
+
|
|
21
|
+
## React Markup Best Practices
|
|
22
|
+
|
|
23
|
+
If you are writing Remotion React Markup, load [Remotion Markup Best Practices](./remotion-markup/SKILL.md)
|
|
24
|
+
|
|
25
|
+
## Maps
|
|
26
|
+
|
|
27
|
+
For static maps, animated routes and markers, geographic explainers, Mapbox, MapLibre, MapTiler, GeoJSON, or 3D geographic flyovers, load [Remotion Maps](./remotion-maps/SKILL.md).
|
|
28
|
+
|
|
29
|
+
## Multimedia
|
|
30
|
+
|
|
31
|
+
For achieving multimedia tasks in the browser, such as trimming, cropping videos, or getting metadata from them, load [Remotion Multimedia](./remotion-multimedia/SKILL.md)
|
|
32
|
+
|
|
33
|
+
## Improving Interactivity
|
|
34
|
+
|
|
35
|
+
By structuring the Remotion markup well, we can allow users to interactively change things in the Studio and write back to code. If relevant: [Interactivity Best Practices](./remotion-interactivity/SKILL.md)
|
|
36
|
+
|
|
37
|
+
## Rendering
|
|
38
|
+
|
|
39
|
+
For advanced rendering beyond simple `npx remotion render`, see: [Rendering Best Practices](./remotion-render/SKILL.md)
|
|
40
|
+
|
|
41
|
+
## Opening Remotion Studio
|
|
42
|
+
|
|
43
|
+
To launch a project in Remotion Studio, open its exact local URL, or configure Studio CLI flags, load [Remotion Studio](./remotion-studio/SKILL.md).
|
|
44
|
+
|
|
45
|
+
## Captions
|
|
46
|
+
|
|
47
|
+
When working with Captions, load [Remotion Captions](./remotion-captions/SKILL.md).
|
|
48
|
+
|
|
49
|
+
## Creating a SaaS, automation or application
|
|
50
|
+
|
|
51
|
+
Use the [Remotion SaaS skill](./remotion-saas/SKILL.md) for knowledge about Remotion-powered SaaS apps, such as `<Player>`, rendering on Lambda, Vercel, Cloudflare, via Express.js, client-side rendering, or for finding the right SaaS template.
|
|
52
|
+
|
|
53
|
+
## Looking up Remotion APIs and documentation
|
|
54
|
+
|
|
55
|
+
To find and read current Remotion documentation, load [Remotion Docs](./remotion-docs/SKILL.md).
|
|
56
|
+
|
|
57
|
+
## Upgrading
|
|
58
|
+
|
|
59
|
+
To upgrade Remotion, related packages, compatible Mediabunny packages, and installed Remotion Agent Skills, load [Remotion Upgrade](./remotion-upgrade/SKILL.md).
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
interface:
|
|
2
|
+
display_name: '/remotion-best-practices'
|
|
3
|
+
short_description: 'Route Remotion tasks to the right workflow'
|
|
4
|
+
icon_small: './assets/remotion-icon.png'
|
|
5
|
+
icon_large: './assets/remotion-icon.png'
|
|
6
|
+
brand_color: '#0B84F3'
|
|
7
|
+
default_prompt: '$remotion-best-practices: Make a promo video for my product'
|
|
Binary file
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: remotion-captions
|
|
3
|
+
description: Transcribing, displaying and animating captions
|
|
4
|
+
version: 4.0.519
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
All captions must be processed in JSON. The captions must use the [`Caption`](https://www.remotion.dev/docs/captions/caption.md) type which is the following:
|
|
8
|
+
|
|
9
|
+
```ts
|
|
10
|
+
import type { Caption } from "@remotion/captions";
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
This is the definition:
|
|
14
|
+
|
|
15
|
+
```ts
|
|
16
|
+
type Caption = {
|
|
17
|
+
text: string;
|
|
18
|
+
startMs: number;
|
|
19
|
+
endMs: number;
|
|
20
|
+
timestampMs: number | null;
|
|
21
|
+
confidence: number | null;
|
|
22
|
+
pageBreakAfter?: boolean;
|
|
23
|
+
};
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
## Generating captions
|
|
27
|
+
|
|
28
|
+
To transcribe video and audio files to generate captions, load the [transcribe-captions.md](transcribe-captions.md) file for more instructions.
|
|
29
|
+
|
|
30
|
+
## Displaying captions
|
|
31
|
+
|
|
32
|
+
To display captions in your video, load the [display-captions.md](display-captions.md) file for more instructions.
|
|
33
|
+
|
|
34
|
+
## Importing captions
|
|
35
|
+
|
|
36
|
+
To import captions from a .srt file, load the [import-srt-captions.md](import-srt-captions.md) file for more instructions.
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
interface:
|
|
2
|
+
display_name: '/remotion-captions'
|
|
3
|
+
short_description: 'Transcribe, display, and animate captions'
|
|
4
|
+
icon_small: './assets/remotion-icon.png'
|
|
5
|
+
icon_large: './assets/remotion-icon.png'
|
|
6
|
+
brand_color: '#0B84F3'
|
|
7
|
+
default_prompt: '$remotion-captions: Transcribe my video and display captions'
|
package/skills/{remotion/rules → remotion-best-practices/remotion-captions}/display-captions.md
RENAMED
|
@@ -54,7 +54,11 @@ export const MyComponent: React.FC = () => {
|
|
|
54
54
|
return null;
|
|
55
55
|
}
|
|
56
56
|
|
|
57
|
-
return
|
|
57
|
+
return (
|
|
58
|
+
<AbsoluteFill>
|
|
59
|
+
{/* Render captions here */}
|
|
60
|
+
</AbsoluteFill>
|
|
61
|
+
);
|
|
58
62
|
};
|
|
59
63
|
```
|
|
60
64
|
|
|
@@ -80,6 +84,8 @@ const { pages } = useMemo(() => {
|
|
|
80
84
|
}, [captions]);
|
|
81
85
|
```
|
|
82
86
|
|
|
87
|
+
If a caption has `pageBreakAfter: true`, the current page ends after that caption and the next caption starts a new page.
|
|
88
|
+
|
|
83
89
|
## Rendering with Sequences
|
|
84
90
|
|
|
85
91
|
Map over the pages and render each one in a `<Sequence>`. Calculate the start frame and duration from the page timing:
|
|
@@ -152,13 +158,13 @@ const CaptionPage: React.FC<{ page: TikTokPage }> = ({ page }) => {
|
|
|
152
158
|
return (
|
|
153
159
|
<AbsoluteFill style={{ justifyContent: "center", alignItems: "center" }}>
|
|
154
160
|
<div style={{ fontSize: 80, fontWeight: "bold", whiteSpace: "pre" }}>
|
|
155
|
-
{page.tokens.map((token) => {
|
|
161
|
+
{page.tokens.map((token, tokenIndex) => {
|
|
156
162
|
const isActive =
|
|
157
163
|
token.fromMs <= absoluteTimeMs && token.toMs > absoluteTimeMs;
|
|
158
164
|
|
|
159
165
|
return (
|
|
160
166
|
<span
|
|
161
|
-
key={token.fromMs}
|
|
167
|
+
key={`${token.fromMs}-${tokenIndex}`}
|
|
162
168
|
style={{ color: isActive ? HIGHLIGHT_COLOR : "white" }}
|
|
163
169
|
>
|
|
164
170
|
{token.text}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: remotion-create
|
|
3
|
+
description: Create a new Remotion video
|
|
4
|
+
version: 4.0.519
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
These are instructions for making a new Remotion project and composition.
|
|
8
|
+
If this is not the next task, see [Remotion Best Practices](../remotion-best-practices/SKILL.md)
|
|
9
|
+
|
|
10
|
+
## Scaffold a project
|
|
11
|
+
|
|
12
|
+
If a project already exists, skip this.
|
|
13
|
+
Ensure Node.js and Git is installed, and the current folder is appropriate for starting a new project.
|
|
14
|
+
|
|
15
|
+
Scaffold one using:
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
npx create-video@latest --yes --blank --no-tailwind my-video
|
|
19
|
+
cd my-video
|
|
20
|
+
npm i
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
Replace `my-video` with a suitable project name.
|
|
24
|
+
|
|
25
|
+
## Designing a video
|
|
26
|
+
|
|
27
|
+
Keep the scaffold and add React Markup.
|
|
28
|
+
Follow [Remotion React Markup Best Practices](../remotion-markup/SKILL.md) and [Video Layout Rules](video-layout.md) for video-first layout and text sizing guidance.
|
|
29
|
+
|
|
30
|
+
## Is this a multi-scene video?
|
|
31
|
+
|
|
32
|
+
If this is a video with multiple subsequence videos, follow guidance at [Multi-scene videos](../remotion-markup/multi-scene-video.md).
|
|
33
|
+
|
|
34
|
+
## Interactivity Best Practices
|
|
35
|
+
|
|
36
|
+
By structuring the React Markup following [Remotion Interactivity Best Practices](../remotion-interactivity/SKILL.md), you allow the user to make edits in the Studio which write back to code.
|
|
37
|
+
|
|
38
|
+
## TailwindCSS
|
|
39
|
+
|
|
40
|
+
If Tailwind is requested, see [tailwind.md](tailwind.md) for using TailwindCSS in Remotion.
|
|
41
|
+
|
|
42
|
+
## Open the preview
|
|
43
|
+
|
|
44
|
+
Start the preview server after building the composition:
|
|
45
|
+
|
|
46
|
+
```bash
|
|
47
|
+
npx remotion studio --no-open
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
This will start a long-running process and print the server URL for the preview.
|
|
51
|
+
If the server is already started, it will print the URL.
|
|
52
|
+
If an in-harness browser is available, open it there.
|
|
53
|
+
You can visit a specific composition by navigating to `/[composition-id]`, for example `http://localhost:3000/MapAnimation`.
|
|
54
|
+
|
|
55
|
+
## Render the video
|
|
56
|
+
|
|
57
|
+
Only render if the user explicitly asks for it.
|
|
58
|
+
|
|
59
|
+
```
|
|
60
|
+
npx remotion render
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
For more options, see [Rendering](../remotion-render/SKILL.md).
|
|
64
|
+
|
|
65
|
+
## Follow-up
|
|
66
|
+
|
|
67
|
+
The video creation process has finished.
|
|
68
|
+
For follow-up prompts, use [Remotion Best Practices](../remotion-best-practices/SKILL.md)
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
interface:
|
|
2
|
+
display_name: '/remotion-create'
|
|
3
|
+
short_description: 'Create a new Remotion video project'
|
|
4
|
+
icon_small: './assets/remotion-icon.png'
|
|
5
|
+
icon_large: './assets/remotion-icon.png'
|
|
6
|
+
brand_color: '#0B84F3'
|
|
7
|
+
default_prompt: '$remotion-create: Create a Remotion video and make a promo for my product'
|
|
@@ -8,4 +8,4 @@ You can and should use TailwindCSS in Remotion, if TailwindCSS is installed in t
|
|
|
8
8
|
|
|
9
9
|
Don't use `transition-*` or `animate-*` classes - always animate using the `useCurrentFrame()` hook.
|
|
10
10
|
|
|
11
|
-
Tailwind must be installed and enabled first in a Remotion project -
|
|
11
|
+
Tailwind must be installed and enabled first in a Remotion project - see https://www.remotion.dev/docs/tailwind.
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
You are designing a video, not a webpage.
|
|
2
|
+
|
|
3
|
+
- Decide what the viewer should notice first in each scene. Build the frame around that one thing.
|
|
4
|
+
- Keep important content inside a generous safe area. For 1080px-wide videos, keep key text at least 80px from the sides and 100px from the top and bottom.
|
|
5
|
+
- Do not add redundant elements.
|
|
6
|
+
- For 1080px-wide compositions, use these rough minimums:
|
|
7
|
+
- Main headline: 84px
|
|
8
|
+
- Important supporting text: 44px
|
|
9
|
+
- Scale those values with the composition width.
|