@openvidstudio/mcp-server 0.1.0 → 1.4.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 +202 -0
- package/README.md +63 -0
- package/dist/api.d.ts +28 -0
- package/dist/api.js +35 -0
- package/dist/audioTick.d.ts +33 -0
- package/dist/audioTick.js +117 -0
- package/dist/beats.d.ts +126 -3
- package/dist/canvasExplainer.d.ts +198 -0
- package/dist/canvasExplainer.js +661 -0
- package/dist/canvasValidate.d.ts +76 -0
- package/dist/canvasValidate.js +263 -0
- package/dist/capture.d.ts +33 -0
- package/dist/capture.js +97 -1
- package/dist/config.d.ts +52 -0
- package/dist/config.js +29 -1
- package/dist/facts.d.ts +45 -0
- package/dist/facts.js +124 -0
- package/dist/frameDiff.d.ts +74 -0
- package/dist/frameDiff.js +120 -0
- package/dist/install.d.ts +63 -0
- package/dist/install.js +225 -0
- package/dist/jobs.d.ts +37 -0
- package/dist/jobs.js +72 -0
- package/dist/lessonArc.d.ts +68 -0
- package/dist/lessonArc.js +188 -0
- package/dist/paths.d.ts +10 -0
- package/dist/paths.js +11 -1
- package/dist/primitives/registry.d.ts +43 -0
- package/dist/primitives/registry.js +729 -0
- package/dist/remotionBridge.d.ts +138 -0
- package/dist/remotionBridge.js +364 -0
- package/dist/renderCache.d.ts +178 -0
- package/dist/renderCache.js +371 -0
- package/dist/scenes/castToSteps.d.ts +49 -0
- package/dist/scenes/castToSteps.js +69 -0
- package/dist/scenes/cursorPoints.d.ts +43 -0
- package/dist/scenes/cursorPoints.js +125 -0
- package/dist/scenes/repoInfo.d.ts +17 -0
- package/dist/scenes/repoInfo.js +122 -0
- package/dist/scenes/templates.d.ts +77 -2
- package/dist/scenes/templates.js +349 -71
- package/dist/scenes/videoDuration.d.ts +15 -0
- package/dist/scenes/videoDuration.js +30 -0
- package/dist/server.d.ts +2 -1
- package/dist/server.js +19 -1
- package/dist/stdio.js +12 -4
- package/dist/tools/captureDesktop.d.ts +30 -0
- package/dist/tools/captureDesktop.js +225 -0
- package/dist/tools/captureMobile.d.ts +18 -0
- package/dist/tools/captureMobile.js +176 -0
- package/dist/tools/captureScreenRecording.d.ts +102 -2
- package/dist/tools/captureScreenRecording.js +310 -12
- package/dist/tools/captureScreenshot.d.ts +126 -2
- package/dist/tools/captureScreenshot.js +308 -24
- package/dist/tools/captureTerminal.d.ts +50 -0
- package/dist/tools/captureTerminal.js +156 -0
- package/dist/tools/checkScript.d.ts +105 -0
- package/dist/tools/checkScript.js +456 -0
- package/dist/tools/collectFacts.d.ts +82 -0
- package/dist/tools/collectFacts.js +210 -0
- package/dist/tools/composeScore.d.ts +156 -0
- package/dist/tools/composeScore.js +330 -0
- package/dist/tools/contactSheet.d.ts +19 -1
- package/dist/tools/contactSheet.js +53 -14
- package/dist/tools/diffBeats.d.ts +48 -0
- package/dist/tools/diffBeats.js +226 -0
- package/dist/tools/docsDrift.d.ts +84 -0
- package/dist/tools/docsDrift.js +275 -0
- package/dist/tools/exportRendition.d.ts +283 -0
- package/dist/tools/exportRendition.js +688 -0
- package/dist/tools/extractBrand.d.ts +32 -0
- package/dist/tools/extractBrand.js +541 -0
- package/dist/tools/finalizeVideo.d.ts +94 -0
- package/dist/tools/finalizeVideo.js +300 -0
- package/dist/tools/fitBeats.d.ts +69 -0
- package/dist/tools/fitBeats.js +229 -0
- package/dist/tools/generateNarration.d.ts +98 -1
- package/dist/tools/generateNarration.js +274 -66
- package/dist/tools/importHiggsfieldClip.js +16 -0
- package/dist/tools/index.js +57 -0
- package/dist/tools/initProject.d.ts +12 -1
- package/dist/tools/initProject.js +80 -2
- package/dist/tools/jobStatus.d.ts +14 -0
- package/dist/tools/jobStatus.js +37 -0
- package/dist/tools/mcp.d.ts +9 -0
- package/dist/tools/mcp.js +66 -4
- package/dist/tools/motionPrimitives.d.ts +46 -0
- package/dist/tools/motionPrimitives.js +128 -0
- package/dist/tools/musicCues.d.ts +43 -0
- package/dist/tools/musicCues.js +252 -0
- package/dist/tools/musicLibrary.d.ts +80 -0
- package/dist/tools/musicLibrary.js +614 -0
- package/dist/tools/planBeats.d.ts +35 -0
- package/dist/tools/planBeats.js +98 -5
- package/dist/tools/planProduction.d.ts +77 -0
- package/dist/tools/planProduction.js +303 -0
- package/dist/tools/planShots.d.ts +79 -0
- package/dist/tools/planShots.js +427 -0
- package/dist/tools/preflight.d.ts +43 -0
- package/dist/tools/preflight.js +203 -16
- package/dist/tools/qcCapture.d.ts +38 -0
- package/dist/tools/qcCapture.js +206 -0
- package/dist/tools/qcExtractFrames.d.ts +36 -6
- package/dist/tools/qcExtractFrames.js +81 -28
- package/dist/tools/reformatVertical.d.ts +112 -0
- package/dist/tools/reformatVertical.js +260 -0
- package/dist/tools/releaseDiff.d.ts +96 -0
- package/dist/tools/releaseDiff.js +319 -0
- package/dist/tools/renderCanvasExplainer.d.ts +2 -0
- package/dist/tools/renderCanvasExplainer.js +56 -0
- package/dist/tools/renderStills.d.ts +138 -0
- package/dist/tools/renderStills.js +399 -0
- package/dist/tools/renderVideo.d.ts +70 -1
- package/dist/tools/renderVideo.js +362 -5
- package/dist/tools/scaffoldScene.d.ts +29 -4
- package/dist/tools/scaffoldScene.js +218 -16
- package/dist/tools/soundEffects.d.ts +49 -0
- package/dist/tools/soundEffects.js +383 -0
- package/dist/tools/stitchComposition.d.ts +105 -6
- package/dist/tools/stitchComposition.js +416 -50
- package/dist/tools/validateBeats.d.ts +28 -0
- package/dist/tools/validateBeats.js +357 -23
- package/dist/tools/validateCanvasExplainer.d.ts +2 -0
- package/dist/tools/validateCanvasExplainer.js +35 -0
- package/dist/tools/validateScenes.d.ts +71 -3
- package/dist/tools/validateScenes.js +348 -34
- package/dist/tools/validateScenesRender.d.ts +186 -0
- package/dist/tools/validateScenesRender.js +772 -0
- package/dist/tools/visualRegression.d.ts +72 -0
- package/dist/tools/visualRegression.js +192 -0
- package/dist/tools/writeBeatsFile.d.ts +1 -0
- package/dist/tools/writeBeatsFile.js +4 -2
- package/dist/tools/writeBrief.d.ts +155 -0
- package/dist/tools/writeBrief.js +344 -0
- package/dist/tools/writeDescription.d.ts +58 -0
- package/dist/tools/writeDescription.js +503 -0
- package/dist/util.d.ts +7 -12
- package/dist/util.js +14 -48
- package/docs/API.md +1351 -344
- package/docs/CAPTURE.md +182 -0
- package/docs/CREATIVE.md +217 -0
- package/docs/NARRATION.md +252 -111
- package/docs/OVERVIEW.md +30 -3
- package/docs/PIPELINE.md +433 -7
- package/docs/PLANNING.md +309 -19
- package/docs/PRESETS.md +153 -0
- package/docs/SCRIPT.md +194 -0
- package/docs/STYLE.md +74 -9
- package/docs/SUPERNOVA.md +191 -0
- package/docs/TOOLS.md +55 -0
- package/package.json +60 -54
- package/py/compose-score.py +1032 -0
- package/py/edge-words.py +57 -0
- package/templates/default/.agents/skills/remotion-best-practices/SKILL.md +59 -0
- package/templates/default/.agents/skills/remotion-best-practices/agents/openai.yaml +7 -0
- package/templates/default/.agents/skills/remotion-best-practices/assets/remotion-icon.png +0 -0
- package/templates/default/.agents/skills/remotion-best-practices/remotion-captions/REFERENCE.md +36 -0
- package/templates/default/.agents/skills/remotion-best-practices/remotion-captions/agents/openai.yaml +7 -0
- package/templates/default/.agents/skills/remotion-best-practices/remotion-captions/assets/remotion-icon.png +0 -0
- package/templates/default/.agents/skills/remotion-best-practices/remotion-captions/display-captions.md +190 -0
- package/templates/default/.agents/skills/remotion-best-practices/remotion-captions/import-srt-captions.md +73 -0
- package/templates/default/.agents/skills/remotion-best-practices/remotion-captions/transcribe-captions.md +70 -0
- package/templates/default/.agents/skills/remotion-best-practices/remotion-create/REFERENCE.md +68 -0
- package/templates/default/.agents/skills/remotion-best-practices/remotion-create/agents/openai.yaml +7 -0
- package/templates/default/.agents/skills/remotion-best-practices/remotion-create/assets/remotion-icon.png +0 -0
- package/templates/default/.agents/skills/remotion-best-practices/remotion-create/tailwind.md +11 -0
- package/templates/default/.agents/skills/remotion-best-practices/remotion-create/video-layout.md +9 -0
- package/templates/default/.agents/skills/remotion-best-practices/remotion-docs/REFERENCE.md +46 -0
- package/templates/default/.agents/skills/remotion-best-practices/remotion-docs/agents/openai.yaml +7 -0
- package/templates/default/.agents/skills/remotion-best-practices/remotion-docs/assets/remotion-icon.png +0 -0
- package/templates/default/.agents/skills/remotion-best-practices/remotion-interactivity/REFERENCE.md +247 -0
- package/templates/default/.agents/skills/remotion-best-practices/remotion-interactivity/agents/openai.yaml +7 -0
- package/templates/default/.agents/skills/remotion-best-practices/remotion-interactivity/assets/remotion-icon.png +0 -0
- package/templates/default/.agents/skills/remotion-best-practices/remotion-maps/REFERENCE.md +36 -0
- package/templates/default/.agents/skills/remotion-best-practices/remotion-maps/agents/openai.yaml +7 -0
- package/templates/default/.agents/skills/remotion-best-practices/remotion-maps/assets/remotion-icon.png +0 -0
- package/templates/default/.agents/skills/remotion-best-practices/remotion-maps/techniques/cesium/TECHNIQUE.md +89 -0
- package/templates/default/.agents/skills/remotion-best-practices/remotion-maps/techniques/cesium/assets/CesiumFlythrough.tsx +284 -0
- package/templates/default/.agents/skills/remotion-best-practices/remotion-maps/techniques/cesium/assets/cesium-path.json +299 -0
- package/templates/default/.agents/skills/remotion-best-practices/remotion-maps/techniques/cesium/assets/city-path.json +12 -0
- package/templates/default/.agents/skills/remotion-best-practices/remotion-maps/techniques/cesium/assets/example-Root.tsx +39 -0
- package/templates/default/.agents/skills/remotion-best-practices/remotion-maps/techniques/cesium/assets/flight-path.ts +35 -0
- package/templates/default/.agents/skills/remotion-best-practices/remotion-maps/techniques/cesium/assets/sample-river.geojson +215 -0
- package/templates/default/.agents/skills/remotion-best-practices/remotion-maps/techniques/cesium/references/3d-data-sources.md +43 -0
- package/templates/default/.agents/skills/remotion-best-practices/remotion-maps/techniques/cesium/references/3d-flyover-architecture.md +128 -0
- package/templates/default/.agents/skills/remotion-best-practices/remotion-maps/techniques/cesium/references/3d-troubleshooting.md +57 -0
- package/templates/default/.agents/skills/remotion-best-practices/remotion-maps/techniques/cesium/scripts/prep-cesium-path.mjs +161 -0
- package/templates/default/.agents/skills/remotion-best-practices/remotion-maps/techniques/mapbox/TECHNIQUE.md +449 -0
- package/templates/default/.agents/skills/remotion-best-practices/remotion-maps/techniques/mapbox/references/render-stability.md +64 -0
- package/templates/default/.agents/skills/remotion-best-practices/remotion-maps/techniques/maplibre/TECHNIQUE.md +465 -0
- package/templates/default/.agents/skills/remotion-best-practices/remotion-maps/techniques/maplibre/references/render-stability.md +64 -0
- package/templates/default/.agents/skills/remotion-best-practices/remotion-maps/techniques/maptiler/TECHNIQUE.md +80 -0
- package/templates/default/.agents/skills/remotion-best-practices/remotion-maps/techniques/maptiler/assets/CountryLabel.tsx +70 -0
- package/templates/default/.agents/skills/remotion-best-practices/remotion-maps/techniques/maptiler/assets/MapTilerVectorElement.ts +80 -0
- package/templates/default/.agents/skills/remotion-best-practices/remotion-maps/techniques/maptiler/assets/RiverReveal.tsx +363 -0
- package/templates/default/.agents/skills/remotion-best-practices/remotion-maps/techniques/maptiler/assets/example-Root.tsx +22 -0
- package/templates/default/.agents/skills/remotion-best-practices/remotion-maps/techniques/maptiler/assets/sample-data/country-meta.json +7535 -0
- package/templates/default/.agents/skills/remotion-best-practices/remotion-maps/techniques/maptiler/assets/sample-data/yarlung-flow.json +605 -0
- package/templates/default/.agents/skills/remotion-best-practices/remotion-maps/techniques/maptiler/assets/tokens.ts +34 -0
- package/templates/default/.agents/skills/remotion-best-practices/remotion-maps/techniques/maptiler/references/map-data-sources.md +91 -0
- package/templates/default/.agents/skills/remotion-best-practices/remotion-maps/techniques/maptiler/references/map-explainer-architecture.md +129 -0
- package/templates/default/.agents/skills/remotion-best-practices/remotion-maps/techniques/maptiler/references/map-geo-prep.md +85 -0
- package/templates/default/.agents/skills/remotion-best-practices/remotion-maps/techniques/maptiler/references/render-stability.md +64 -0
- package/templates/default/.agents/skills/remotion-best-practices/remotion-maps/techniques/maptiler/scripts/prep-geo.mjs +202 -0
- package/templates/default/.agents/skills/remotion-best-practices/remotion-maps/techniques/static-map/TECHNIQUE.md +37 -0
- package/templates/default/.agents/skills/remotion-best-practices/remotion-markup/3d.md +86 -0
- package/templates/default/.agents/skills/remotion-best-practices/remotion-markup/REFERENCE.md +365 -0
- package/templates/default/.agents/skills/remotion-best-practices/remotion-markup/agents/openai.yaml +7 -0
- package/templates/default/.agents/skills/remotion-best-practices/remotion-markup/assets/remotion-icon.png +0 -0
- package/templates/default/.agents/skills/remotion-best-practices/remotion-markup/audio-visualization.md +198 -0
- package/templates/default/.agents/skills/remotion-best-practices/remotion-markup/audio.md +171 -0
- package/templates/default/.agents/skills/remotion-best-practices/remotion-markup/calculate-metadata.md +136 -0
- package/templates/default/.agents/skills/remotion-best-practices/remotion-markup/compositions.md +117 -0
- package/templates/default/.agents/skills/remotion-best-practices/remotion-markup/cropping.md +34 -0
- package/templates/default/.agents/skills/remotion-best-practices/remotion-markup/effects.md +251 -0
- package/templates/default/.agents/skills/remotion-best-practices/remotion-markup/embedding-videos.md +173 -0
- package/templates/default/.agents/skills/remotion-best-practices/remotion-markup/ffmpeg.md +38 -0
- package/templates/default/.agents/skills/remotion-best-practices/remotion-markup/gifs.md +187 -0
- package/templates/default/.agents/skills/remotion-best-practices/remotion-markup/google-fonts.md +76 -0
- package/templates/default/.agents/skills/remotion-best-practices/remotion-markup/html-in-canvas.md +128 -0
- package/templates/default/.agents/skills/remotion-best-practices/remotion-markup/images.md +73 -0
- package/templates/default/.agents/skills/remotion-best-practices/remotion-markup/light-leaks.md +106 -0
- package/templates/default/.agents/skills/remotion-best-practices/remotion-markup/local-fonts.md +69 -0
- package/templates/default/.agents/skills/remotion-best-practices/remotion-markup/lottie.md +73 -0
- package/templates/default/.agents/skills/remotion-best-practices/remotion-markup/measuring-dom-nodes.md +38 -0
- package/templates/default/.agents/skills/remotion-best-practices/remotion-markup/measuring-text.md +146 -0
- package/templates/default/.agents/skills/remotion-best-practices/remotion-markup/multi-scene-video.md +81 -0
- package/templates/default/.agents/skills/remotion-best-practices/remotion-markup/parameters.md +111 -0
- package/templates/default/.agents/skills/remotion-best-practices/remotion-markup/remotion-maps/REFERENCE.md +36 -0
- package/templates/default/.agents/skills/remotion-best-practices/remotion-markup/remotion-maps/agents/openai.yaml +7 -0
- package/templates/default/.agents/skills/remotion-best-practices/remotion-markup/remotion-maps/assets/remotion-icon.png +0 -0
- package/templates/default/.agents/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/cesium/TECHNIQUE.md +89 -0
- package/templates/default/.agents/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/cesium/assets/CesiumFlythrough.tsx +284 -0
- package/templates/default/.agents/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/cesium/assets/cesium-path.json +299 -0
- package/templates/default/.agents/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/cesium/assets/city-path.json +12 -0
- package/templates/default/.agents/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/cesium/assets/example-Root.tsx +39 -0
- package/templates/default/.agents/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/cesium/assets/flight-path.ts +35 -0
- package/templates/default/.agents/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/cesium/assets/sample-river.geojson +215 -0
- package/templates/default/.agents/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/cesium/references/3d-data-sources.md +43 -0
- package/templates/default/.agents/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/cesium/references/3d-flyover-architecture.md +128 -0
- package/templates/default/.agents/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/cesium/references/3d-troubleshooting.md +57 -0
- package/templates/default/.agents/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/cesium/scripts/prep-cesium-path.mjs +161 -0
- package/templates/default/.agents/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/mapbox/TECHNIQUE.md +449 -0
- package/templates/default/.agents/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/mapbox/references/render-stability.md +64 -0
- package/templates/default/.agents/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/maplibre/TECHNIQUE.md +465 -0
- package/templates/default/.agents/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/maplibre/references/render-stability.md +64 -0
- package/templates/default/.agents/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/maptiler/TECHNIQUE.md +80 -0
- package/templates/default/.agents/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/maptiler/assets/CountryLabel.tsx +70 -0
- package/templates/default/.agents/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/maptiler/assets/MapTilerVectorElement.ts +80 -0
- package/templates/default/.agents/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/maptiler/assets/RiverReveal.tsx +363 -0
- package/templates/default/.agents/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/maptiler/assets/example-Root.tsx +22 -0
- package/templates/default/.agents/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/maptiler/assets/sample-data/country-meta.json +7535 -0
- package/templates/default/.agents/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/maptiler/assets/sample-data/yarlung-flow.json +605 -0
- package/templates/default/.agents/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/maptiler/assets/tokens.ts +34 -0
- package/templates/default/.agents/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/maptiler/references/map-data-sources.md +91 -0
- package/templates/default/.agents/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/maptiler/references/map-explainer-architecture.md +129 -0
- package/templates/default/.agents/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/maptiler/references/map-geo-prep.md +85 -0
- package/templates/default/.agents/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/maptiler/references/render-stability.md +64 -0
- package/templates/default/.agents/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/maptiler/scripts/prep-geo.mjs +202 -0
- package/templates/default/.agents/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/static-map/TECHNIQUE.md +37 -0
- package/templates/default/.agents/skills/remotion-best-practices/remotion-markup/sequencing.md +169 -0
- package/templates/default/.agents/skills/remotion-best-practices/remotion-markup/sfx.md +51 -0
- package/templates/default/.agents/skills/remotion-best-practices/remotion-markup/silence-detection.md +71 -0
- package/templates/default/.agents/skills/remotion-best-practices/remotion-markup/text-highlights.md +56 -0
- package/templates/default/.agents/skills/remotion-best-practices/remotion-markup/timing.md +111 -0
- package/templates/default/.agents/skills/remotion-best-practices/remotion-markup/transitions.md +239 -0
- package/templates/default/.agents/skills/remotion-best-practices/remotion-markup/video-editing.md +90 -0
- package/templates/default/.agents/skills/remotion-best-practices/remotion-markup/voiceover.md +99 -0
- package/templates/default/.agents/skills/remotion-best-practices/remotion-multimedia/REFERENCE.md +20 -0
- package/templates/default/.agents/skills/remotion-best-practices/remotion-multimedia/agents/openai.yaml +7 -0
- package/templates/default/.agents/skills/remotion-best-practices/remotion-multimedia/assets/remotion-icon.png +0 -0
- package/templates/default/.agents/skills/remotion-best-practices/remotion-multimedia/get-audio-duration.md +56 -0
- package/templates/default/.agents/skills/remotion-best-practices/remotion-multimedia/get-video-dimensions.md +66 -0
- package/templates/default/.agents/skills/remotion-best-practices/remotion-multimedia/get-video-duration.md +58 -0
- package/templates/default/.agents/skills/remotion-best-practices/remotion-render/REFERENCE.md +27 -0
- package/templates/default/.agents/skills/remotion-best-practices/remotion-render/agents/openai.yaml +7 -0
- package/templates/default/.agents/skills/remotion-best-practices/remotion-render/assets/remotion-icon.png +0 -0
- package/templates/default/.agents/skills/remotion-best-practices/remotion-render/transparent-videos.md +106 -0
- package/templates/default/.agents/skills/remotion-best-practices/remotion-saas/REFERENCE.md +33 -0
- package/templates/default/.agents/skills/remotion-best-practices/remotion-saas/agents/openai.yaml +7 -0
- package/templates/default/.agents/skills/remotion-best-practices/remotion-saas/assets/remotion-icon.png +0 -0
- package/templates/default/.agents/skills/remotion-best-practices/remotion-saas/framework.md +21 -0
- package/templates/default/.agents/skills/remotion-best-practices/remotion-saas/player.md +33 -0
- package/templates/default/.agents/skills/remotion-best-practices/remotion-saas/rendering.md +69 -0
- package/templates/default/.agents/skills/remotion-best-practices/remotion-studio/REFERENCE.md +24 -0
- package/templates/default/.agents/skills/remotion-best-practices/remotion-studio/agents/openai.yaml +7 -0
- package/templates/default/.agents/skills/remotion-best-practices/remotion-studio/assets/remotion-icon.png +0 -0
- package/templates/default/.agents/skills/remotion-best-practices/remotion-upgrade/REFERENCE.md +31 -0
- package/templates/default/.agents/skills/remotion-best-practices/remotion-upgrade/agents/openai.yaml +7 -0
- package/templates/default/.agents/skills/remotion-best-practices/remotion-upgrade/assets/remotion-icon.png +0 -0
- package/templates/default/.agents/skills/remotion-captions/SKILL.md +36 -0
- package/templates/default/.agents/skills/remotion-captions/agents/openai.yaml +7 -0
- package/templates/default/.agents/skills/remotion-captions/assets/remotion-icon.png +0 -0
- package/templates/default/.agents/skills/remotion-captions/display-captions.md +190 -0
- package/templates/default/.agents/skills/remotion-captions/import-srt-captions.md +73 -0
- package/templates/default/.agents/skills/remotion-captions/transcribe-captions.md +70 -0
- package/templates/default/.agents/skills/remotion-create/SKILL.md +68 -0
- package/templates/default/.agents/skills/remotion-create/agents/openai.yaml +7 -0
- package/templates/default/.agents/skills/remotion-create/assets/remotion-icon.png +0 -0
- package/templates/default/.agents/skills/remotion-create/tailwind.md +11 -0
- package/templates/default/.agents/skills/remotion-create/video-layout.md +9 -0
- package/templates/default/.agents/skills/remotion-docs/SKILL.md +46 -0
- package/templates/default/.agents/skills/remotion-docs/agents/openai.yaml +7 -0
- package/templates/default/.agents/skills/remotion-docs/assets/remotion-icon.png +0 -0
- package/templates/default/.agents/skills/remotion-interactivity/SKILL.md +247 -0
- package/templates/default/.agents/skills/remotion-interactivity/agents/openai.yaml +7 -0
- package/templates/default/.agents/skills/remotion-interactivity/assets/remotion-icon.png +0 -0
- package/templates/default/.agents/skills/remotion-maps/SKILL.md +36 -0
- package/templates/default/.agents/skills/remotion-maps/agents/openai.yaml +7 -0
- package/templates/default/.agents/skills/remotion-maps/assets/remotion-icon.png +0 -0
- package/templates/default/.agents/skills/remotion-maps/techniques/cesium/TECHNIQUE.md +89 -0
- package/templates/default/.agents/skills/remotion-maps/techniques/cesium/assets/CesiumFlythrough.tsx +284 -0
- package/templates/default/.agents/skills/remotion-maps/techniques/cesium/assets/cesium-path.json +299 -0
- package/templates/default/.agents/skills/remotion-maps/techniques/cesium/assets/city-path.json +12 -0
- package/templates/default/.agents/skills/remotion-maps/techniques/cesium/assets/example-Root.tsx +39 -0
- package/templates/default/.agents/skills/remotion-maps/techniques/cesium/assets/flight-path.ts +35 -0
- package/templates/default/.agents/skills/remotion-maps/techniques/cesium/assets/sample-river.geojson +215 -0
- package/templates/default/.agents/skills/remotion-maps/techniques/cesium/references/3d-data-sources.md +43 -0
- package/templates/default/.agents/skills/remotion-maps/techniques/cesium/references/3d-flyover-architecture.md +128 -0
- package/templates/default/.agents/skills/remotion-maps/techniques/cesium/references/3d-troubleshooting.md +57 -0
- package/templates/default/.agents/skills/remotion-maps/techniques/cesium/scripts/prep-cesium-path.mjs +161 -0
- package/templates/default/.agents/skills/remotion-maps/techniques/mapbox/TECHNIQUE.md +449 -0
- package/templates/default/.agents/skills/remotion-maps/techniques/mapbox/references/render-stability.md +64 -0
- package/templates/default/.agents/skills/remotion-maps/techniques/maplibre/TECHNIQUE.md +465 -0
- package/templates/default/.agents/skills/remotion-maps/techniques/maplibre/references/render-stability.md +64 -0
- package/templates/default/.agents/skills/remotion-maps/techniques/maptiler/TECHNIQUE.md +80 -0
- package/templates/default/.agents/skills/remotion-maps/techniques/maptiler/assets/CountryLabel.tsx +70 -0
- package/templates/default/.agents/skills/remotion-maps/techniques/maptiler/assets/MapTilerVectorElement.ts +80 -0
- package/templates/default/.agents/skills/remotion-maps/techniques/maptiler/assets/RiverReveal.tsx +363 -0
- package/templates/default/.agents/skills/remotion-maps/techniques/maptiler/assets/example-Root.tsx +22 -0
- package/templates/default/.agents/skills/remotion-maps/techniques/maptiler/assets/sample-data/country-meta.json +7535 -0
- package/templates/default/.agents/skills/remotion-maps/techniques/maptiler/assets/sample-data/yarlung-flow.json +605 -0
- package/templates/default/.agents/skills/remotion-maps/techniques/maptiler/assets/tokens.ts +34 -0
- package/templates/default/.agents/skills/remotion-maps/techniques/maptiler/references/map-data-sources.md +91 -0
- package/templates/default/.agents/skills/remotion-maps/techniques/maptiler/references/map-explainer-architecture.md +129 -0
- package/templates/default/.agents/skills/remotion-maps/techniques/maptiler/references/map-geo-prep.md +85 -0
- package/templates/default/.agents/skills/remotion-maps/techniques/maptiler/references/render-stability.md +64 -0
- package/templates/default/.agents/skills/remotion-maps/techniques/maptiler/scripts/prep-geo.mjs +202 -0
- package/templates/default/.agents/skills/remotion-maps/techniques/static-map/TECHNIQUE.md +37 -0
- package/templates/default/.agents/skills/remotion-markup/3d.md +86 -0
- package/templates/default/.agents/skills/remotion-markup/SKILL.md +365 -0
- package/templates/default/.agents/skills/remotion-markup/agents/openai.yaml +7 -0
- package/templates/default/.agents/skills/remotion-markup/assets/remotion-icon.png +0 -0
- package/templates/default/.agents/skills/remotion-markup/audio-visualization.md +198 -0
- package/templates/default/.agents/skills/remotion-markup/audio.md +171 -0
- package/templates/default/.agents/skills/remotion-markup/calculate-metadata.md +136 -0
- package/templates/default/.agents/skills/remotion-markup/compositions.md +117 -0
- package/templates/default/.agents/skills/remotion-markup/cropping.md +34 -0
- package/templates/default/.agents/skills/remotion-markup/effects.md +251 -0
- package/templates/default/.agents/skills/remotion-markup/embedding-videos.md +173 -0
- package/templates/default/.agents/skills/remotion-markup/ffmpeg.md +38 -0
- package/templates/default/.agents/skills/remotion-markup/gifs.md +187 -0
- package/templates/default/.agents/skills/remotion-markup/google-fonts.md +76 -0
- package/templates/default/.agents/skills/remotion-markup/html-in-canvas.md +128 -0
- package/templates/default/.agents/skills/remotion-markup/images.md +73 -0
- package/templates/default/.agents/skills/remotion-markup/light-leaks.md +106 -0
- package/templates/default/.agents/skills/remotion-markup/local-fonts.md +69 -0
- package/templates/default/.agents/skills/remotion-markup/lottie.md +73 -0
- package/templates/default/.agents/skills/remotion-markup/measuring-dom-nodes.md +38 -0
- package/templates/default/.agents/skills/remotion-markup/measuring-text.md +146 -0
- package/templates/default/.agents/skills/remotion-markup/multi-scene-video.md +81 -0
- package/templates/default/.agents/skills/remotion-markup/parameters.md +111 -0
- package/templates/default/.agents/skills/remotion-markup/remotion-maps/REFERENCE.md +36 -0
- package/templates/default/.agents/skills/remotion-markup/remotion-maps/agents/openai.yaml +7 -0
- package/templates/default/.agents/skills/remotion-markup/remotion-maps/assets/remotion-icon.png +0 -0
- package/templates/default/.agents/skills/remotion-markup/remotion-maps/techniques/cesium/TECHNIQUE.md +89 -0
- package/templates/default/.agents/skills/remotion-markup/remotion-maps/techniques/cesium/assets/CesiumFlythrough.tsx +284 -0
- package/templates/default/.agents/skills/remotion-markup/remotion-maps/techniques/cesium/assets/cesium-path.json +299 -0
- package/templates/default/.agents/skills/remotion-markup/remotion-maps/techniques/cesium/assets/city-path.json +12 -0
- package/templates/default/.agents/skills/remotion-markup/remotion-maps/techniques/cesium/assets/example-Root.tsx +39 -0
- package/templates/default/.agents/skills/remotion-markup/remotion-maps/techniques/cesium/assets/flight-path.ts +35 -0
- package/templates/default/.agents/skills/remotion-markup/remotion-maps/techniques/cesium/assets/sample-river.geojson +215 -0
- package/templates/default/.agents/skills/remotion-markup/remotion-maps/techniques/cesium/references/3d-data-sources.md +43 -0
- package/templates/default/.agents/skills/remotion-markup/remotion-maps/techniques/cesium/references/3d-flyover-architecture.md +128 -0
- package/templates/default/.agents/skills/remotion-markup/remotion-maps/techniques/cesium/references/3d-troubleshooting.md +57 -0
- package/templates/default/.agents/skills/remotion-markup/remotion-maps/techniques/cesium/scripts/prep-cesium-path.mjs +161 -0
- package/templates/default/.agents/skills/remotion-markup/remotion-maps/techniques/mapbox/TECHNIQUE.md +449 -0
- package/templates/default/.agents/skills/remotion-markup/remotion-maps/techniques/mapbox/references/render-stability.md +64 -0
- package/templates/default/.agents/skills/remotion-markup/remotion-maps/techniques/maplibre/TECHNIQUE.md +465 -0
- package/templates/default/.agents/skills/remotion-markup/remotion-maps/techniques/maplibre/references/render-stability.md +64 -0
- package/templates/default/.agents/skills/remotion-markup/remotion-maps/techniques/maptiler/TECHNIQUE.md +80 -0
- package/templates/default/.agents/skills/remotion-markup/remotion-maps/techniques/maptiler/assets/CountryLabel.tsx +70 -0
- package/templates/default/.agents/skills/remotion-markup/remotion-maps/techniques/maptiler/assets/MapTilerVectorElement.ts +80 -0
- package/templates/default/.agents/skills/remotion-markup/remotion-maps/techniques/maptiler/assets/RiverReveal.tsx +363 -0
- package/templates/default/.agents/skills/remotion-markup/remotion-maps/techniques/maptiler/assets/example-Root.tsx +22 -0
- package/templates/default/.agents/skills/remotion-markup/remotion-maps/techniques/maptiler/assets/sample-data/country-meta.json +7535 -0
- package/templates/default/.agents/skills/remotion-markup/remotion-maps/techniques/maptiler/assets/sample-data/yarlung-flow.json +605 -0
- package/templates/default/.agents/skills/remotion-markup/remotion-maps/techniques/maptiler/assets/tokens.ts +34 -0
- package/templates/default/.agents/skills/remotion-markup/remotion-maps/techniques/maptiler/references/map-data-sources.md +91 -0
- package/templates/default/.agents/skills/remotion-markup/remotion-maps/techniques/maptiler/references/map-explainer-architecture.md +129 -0
- package/templates/default/.agents/skills/remotion-markup/remotion-maps/techniques/maptiler/references/map-geo-prep.md +85 -0
- package/templates/default/.agents/skills/remotion-markup/remotion-maps/techniques/maptiler/references/render-stability.md +64 -0
- package/templates/default/.agents/skills/remotion-markup/remotion-maps/techniques/maptiler/scripts/prep-geo.mjs +202 -0
- package/templates/default/.agents/skills/remotion-markup/remotion-maps/techniques/static-map/TECHNIQUE.md +37 -0
- package/templates/default/.agents/skills/remotion-markup/sequencing.md +169 -0
- package/templates/default/.agents/skills/remotion-markup/sfx.md +51 -0
- package/templates/default/.agents/skills/remotion-markup/silence-detection.md +71 -0
- package/templates/default/.agents/skills/remotion-markup/text-highlights.md +56 -0
- package/templates/default/.agents/skills/remotion-markup/timing.md +111 -0
- package/templates/default/.agents/skills/remotion-markup/transitions.md +239 -0
- package/templates/default/.agents/skills/remotion-markup/video-editing.md +90 -0
- package/templates/default/.agents/skills/remotion-markup/voiceover.md +99 -0
- package/templates/default/.agents/skills/remotion-multimedia/SKILL.md +20 -0
- package/templates/default/.agents/skills/remotion-multimedia/agents/openai.yaml +7 -0
- package/templates/default/.agents/skills/remotion-multimedia/assets/remotion-icon.png +0 -0
- package/templates/default/.agents/skills/remotion-multimedia/get-audio-duration.md +56 -0
- package/templates/default/.agents/skills/remotion-multimedia/get-video-dimensions.md +66 -0
- package/templates/default/.agents/skills/remotion-multimedia/get-video-duration.md +58 -0
- package/templates/default/.agents/skills/remotion-render/SKILL.md +27 -0
- package/templates/default/.agents/skills/remotion-render/agents/openai.yaml +7 -0
- package/templates/default/.agents/skills/remotion-render/assets/remotion-icon.png +0 -0
- package/templates/default/.agents/skills/remotion-render/transparent-videos.md +106 -0
- package/templates/default/.agents/skills/remotion-saas/SKILL.md +33 -0
- package/templates/default/.agents/skills/remotion-saas/agents/openai.yaml +7 -0
- package/templates/default/.agents/skills/remotion-saas/assets/remotion-icon.png +0 -0
- package/templates/default/.agents/skills/remotion-saas/framework.md +21 -0
- package/templates/default/.agents/skills/remotion-saas/player.md +33 -0
- package/templates/default/.agents/skills/remotion-saas/rendering.md +69 -0
- package/templates/default/.agents/skills/remotion-studio/SKILL.md +24 -0
- package/templates/default/.agents/skills/remotion-studio/agents/openai.yaml +7 -0
- package/templates/default/.agents/skills/remotion-studio/assets/remotion-icon.png +0 -0
- package/templates/default/.agents/skills/remotion-upgrade/SKILL.md +31 -0
- package/templates/default/.agents/skills/remotion-upgrade/agents/openai.yaml +7 -0
- package/templates/default/.agents/skills/remotion-upgrade/assets/remotion-icon.png +0 -0
- package/templates/default/.claude/skills/remotion-best-practices/SKILL.md +59 -0
- package/templates/default/.claude/skills/remotion-best-practices/agents/openai.yaml +7 -0
- package/templates/default/.claude/skills/remotion-best-practices/assets/remotion-icon.png +0 -0
- package/templates/default/.claude/skills/remotion-best-practices/remotion-captions/REFERENCE.md +36 -0
- package/templates/default/.claude/skills/remotion-best-practices/remotion-captions/agents/openai.yaml +7 -0
- package/templates/default/.claude/skills/remotion-best-practices/remotion-captions/assets/remotion-icon.png +0 -0
- package/templates/default/.claude/skills/remotion-best-practices/remotion-captions/display-captions.md +190 -0
- package/templates/default/.claude/skills/remotion-best-practices/remotion-captions/import-srt-captions.md +73 -0
- package/templates/default/.claude/skills/remotion-best-practices/remotion-captions/transcribe-captions.md +70 -0
- package/templates/default/.claude/skills/remotion-best-practices/remotion-create/REFERENCE.md +68 -0
- package/templates/default/.claude/skills/remotion-best-practices/remotion-create/agents/openai.yaml +7 -0
- package/templates/default/.claude/skills/remotion-best-practices/remotion-create/assets/remotion-icon.png +0 -0
- package/templates/default/.claude/skills/remotion-best-practices/remotion-create/tailwind.md +11 -0
- package/templates/default/.claude/skills/remotion-best-practices/remotion-create/video-layout.md +9 -0
- package/templates/default/.claude/skills/remotion-best-practices/remotion-docs/REFERENCE.md +46 -0
- package/templates/default/.claude/skills/remotion-best-practices/remotion-docs/agents/openai.yaml +7 -0
- package/templates/default/.claude/skills/remotion-best-practices/remotion-docs/assets/remotion-icon.png +0 -0
- package/templates/default/.claude/skills/remotion-best-practices/remotion-interactivity/REFERENCE.md +247 -0
- package/templates/default/.claude/skills/remotion-best-practices/remotion-interactivity/agents/openai.yaml +7 -0
- package/templates/default/.claude/skills/remotion-best-practices/remotion-interactivity/assets/remotion-icon.png +0 -0
- package/templates/default/.claude/skills/remotion-best-practices/remotion-maps/REFERENCE.md +36 -0
- package/templates/default/.claude/skills/remotion-best-practices/remotion-maps/agents/openai.yaml +7 -0
- package/templates/default/.claude/skills/remotion-best-practices/remotion-maps/assets/remotion-icon.png +0 -0
- package/templates/default/.claude/skills/remotion-best-practices/remotion-maps/techniques/cesium/TECHNIQUE.md +89 -0
- package/templates/default/.claude/skills/remotion-best-practices/remotion-maps/techniques/cesium/assets/CesiumFlythrough.tsx +284 -0
- package/templates/default/.claude/skills/remotion-best-practices/remotion-maps/techniques/cesium/assets/cesium-path.json +299 -0
- package/templates/default/.claude/skills/remotion-best-practices/remotion-maps/techniques/cesium/assets/city-path.json +12 -0
- package/templates/default/.claude/skills/remotion-best-practices/remotion-maps/techniques/cesium/assets/example-Root.tsx +39 -0
- package/templates/default/.claude/skills/remotion-best-practices/remotion-maps/techniques/cesium/assets/flight-path.ts +35 -0
- package/templates/default/.claude/skills/remotion-best-practices/remotion-maps/techniques/cesium/assets/sample-river.geojson +215 -0
- package/templates/default/.claude/skills/remotion-best-practices/remotion-maps/techniques/cesium/references/3d-data-sources.md +43 -0
- package/templates/default/.claude/skills/remotion-best-practices/remotion-maps/techniques/cesium/references/3d-flyover-architecture.md +128 -0
- package/templates/default/.claude/skills/remotion-best-practices/remotion-maps/techniques/cesium/references/3d-troubleshooting.md +57 -0
- package/templates/default/.claude/skills/remotion-best-practices/remotion-maps/techniques/cesium/scripts/prep-cesium-path.mjs +161 -0
- package/templates/default/.claude/skills/remotion-best-practices/remotion-maps/techniques/mapbox/TECHNIQUE.md +449 -0
- package/templates/default/.claude/skills/remotion-best-practices/remotion-maps/techniques/mapbox/references/render-stability.md +64 -0
- package/templates/default/.claude/skills/remotion-best-practices/remotion-maps/techniques/maplibre/TECHNIQUE.md +465 -0
- package/templates/default/.claude/skills/remotion-best-practices/remotion-maps/techniques/maplibre/references/render-stability.md +64 -0
- package/templates/default/.claude/skills/remotion-best-practices/remotion-maps/techniques/maptiler/TECHNIQUE.md +80 -0
- package/templates/default/.claude/skills/remotion-best-practices/remotion-maps/techniques/maptiler/assets/CountryLabel.tsx +70 -0
- package/templates/default/.claude/skills/remotion-best-practices/remotion-maps/techniques/maptiler/assets/MapTilerVectorElement.ts +80 -0
- package/templates/default/.claude/skills/remotion-best-practices/remotion-maps/techniques/maptiler/assets/RiverReveal.tsx +363 -0
- package/templates/default/.claude/skills/remotion-best-practices/remotion-maps/techniques/maptiler/assets/example-Root.tsx +22 -0
- package/templates/default/.claude/skills/remotion-best-practices/remotion-maps/techniques/maptiler/assets/sample-data/country-meta.json +7535 -0
- package/templates/default/.claude/skills/remotion-best-practices/remotion-maps/techniques/maptiler/assets/sample-data/yarlung-flow.json +605 -0
- package/templates/default/.claude/skills/remotion-best-practices/remotion-maps/techniques/maptiler/assets/tokens.ts +34 -0
- package/templates/default/.claude/skills/remotion-best-practices/remotion-maps/techniques/maptiler/references/map-data-sources.md +91 -0
- package/templates/default/.claude/skills/remotion-best-practices/remotion-maps/techniques/maptiler/references/map-explainer-architecture.md +129 -0
- package/templates/default/.claude/skills/remotion-best-practices/remotion-maps/techniques/maptiler/references/map-geo-prep.md +85 -0
- package/templates/default/.claude/skills/remotion-best-practices/remotion-maps/techniques/maptiler/references/render-stability.md +64 -0
- package/templates/default/.claude/skills/remotion-best-practices/remotion-maps/techniques/maptiler/scripts/prep-geo.mjs +202 -0
- package/templates/default/.claude/skills/remotion-best-practices/remotion-maps/techniques/static-map/TECHNIQUE.md +37 -0
- package/templates/default/.claude/skills/remotion-best-practices/remotion-markup/3d.md +86 -0
- package/templates/default/.claude/skills/remotion-best-practices/remotion-markup/REFERENCE.md +365 -0
- package/templates/default/.claude/skills/remotion-best-practices/remotion-markup/agents/openai.yaml +7 -0
- package/templates/default/.claude/skills/remotion-best-practices/remotion-markup/assets/remotion-icon.png +0 -0
- package/templates/default/.claude/skills/remotion-best-practices/remotion-markup/audio-visualization.md +198 -0
- package/templates/default/.claude/skills/remotion-best-practices/remotion-markup/audio.md +171 -0
- package/templates/default/.claude/skills/remotion-best-practices/remotion-markup/calculate-metadata.md +136 -0
- package/templates/default/.claude/skills/remotion-best-practices/remotion-markup/compositions.md +117 -0
- package/templates/default/.claude/skills/remotion-best-practices/remotion-markup/cropping.md +34 -0
- package/templates/default/.claude/skills/remotion-best-practices/remotion-markup/effects.md +251 -0
- package/templates/default/.claude/skills/remotion-best-practices/remotion-markup/embedding-videos.md +173 -0
- package/templates/default/.claude/skills/remotion-best-practices/remotion-markup/ffmpeg.md +38 -0
- package/templates/default/.claude/skills/remotion-best-practices/remotion-markup/gifs.md +187 -0
- package/templates/default/.claude/skills/remotion-best-practices/remotion-markup/google-fonts.md +76 -0
- package/templates/default/.claude/skills/remotion-best-practices/remotion-markup/html-in-canvas.md +128 -0
- package/templates/default/.claude/skills/remotion-best-practices/remotion-markup/images.md +73 -0
- package/templates/default/.claude/skills/remotion-best-practices/remotion-markup/light-leaks.md +106 -0
- package/templates/default/.claude/skills/remotion-best-practices/remotion-markup/local-fonts.md +69 -0
- package/templates/default/.claude/skills/remotion-best-practices/remotion-markup/lottie.md +73 -0
- package/templates/default/.claude/skills/remotion-best-practices/remotion-markup/measuring-dom-nodes.md +38 -0
- package/templates/default/.claude/skills/remotion-best-practices/remotion-markup/measuring-text.md +146 -0
- package/templates/default/.claude/skills/remotion-best-practices/remotion-markup/multi-scene-video.md +81 -0
- package/templates/default/.claude/skills/remotion-best-practices/remotion-markup/parameters.md +111 -0
- package/templates/default/.claude/skills/remotion-best-practices/remotion-markup/remotion-maps/REFERENCE.md +36 -0
- package/templates/default/.claude/skills/remotion-best-practices/remotion-markup/remotion-maps/agents/openai.yaml +7 -0
- package/templates/default/.claude/skills/remotion-best-practices/remotion-markup/remotion-maps/assets/remotion-icon.png +0 -0
- package/templates/default/.claude/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/cesium/TECHNIQUE.md +89 -0
- package/templates/default/.claude/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/cesium/assets/CesiumFlythrough.tsx +284 -0
- package/templates/default/.claude/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/cesium/assets/cesium-path.json +299 -0
- package/templates/default/.claude/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/cesium/assets/city-path.json +12 -0
- package/templates/default/.claude/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/cesium/assets/example-Root.tsx +39 -0
- package/templates/default/.claude/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/cesium/assets/flight-path.ts +35 -0
- package/templates/default/.claude/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/cesium/assets/sample-river.geojson +215 -0
- package/templates/default/.claude/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/cesium/references/3d-data-sources.md +43 -0
- package/templates/default/.claude/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/cesium/references/3d-flyover-architecture.md +128 -0
- package/templates/default/.claude/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/cesium/references/3d-troubleshooting.md +57 -0
- package/templates/default/.claude/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/cesium/scripts/prep-cesium-path.mjs +161 -0
- package/templates/default/.claude/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/mapbox/TECHNIQUE.md +449 -0
- package/templates/default/.claude/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/mapbox/references/render-stability.md +64 -0
- package/templates/default/.claude/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/maplibre/TECHNIQUE.md +465 -0
- package/templates/default/.claude/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/maplibre/references/render-stability.md +64 -0
- package/templates/default/.claude/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/maptiler/TECHNIQUE.md +80 -0
- package/templates/default/.claude/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/maptiler/assets/CountryLabel.tsx +70 -0
- package/templates/default/.claude/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/maptiler/assets/MapTilerVectorElement.ts +80 -0
- package/templates/default/.claude/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/maptiler/assets/RiverReveal.tsx +363 -0
- package/templates/default/.claude/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/maptiler/assets/example-Root.tsx +22 -0
- package/templates/default/.claude/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/maptiler/assets/sample-data/country-meta.json +7535 -0
- package/templates/default/.claude/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/maptiler/assets/sample-data/yarlung-flow.json +605 -0
- package/templates/default/.claude/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/maptiler/assets/tokens.ts +34 -0
- package/templates/default/.claude/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/maptiler/references/map-data-sources.md +91 -0
- package/templates/default/.claude/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/maptiler/references/map-explainer-architecture.md +129 -0
- package/templates/default/.claude/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/maptiler/references/map-geo-prep.md +85 -0
- package/templates/default/.claude/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/maptiler/references/render-stability.md +64 -0
- package/templates/default/.claude/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/maptiler/scripts/prep-geo.mjs +202 -0
- package/templates/default/.claude/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/static-map/TECHNIQUE.md +37 -0
- package/templates/default/.claude/skills/remotion-best-practices/remotion-markup/sequencing.md +169 -0
- package/templates/default/.claude/skills/remotion-best-practices/remotion-markup/sfx.md +51 -0
- package/templates/default/.claude/skills/remotion-best-practices/remotion-markup/silence-detection.md +71 -0
- package/templates/default/.claude/skills/remotion-best-practices/remotion-markup/text-highlights.md +56 -0
- package/templates/default/.claude/skills/remotion-best-practices/remotion-markup/timing.md +111 -0
- package/templates/default/.claude/skills/remotion-best-practices/remotion-markup/transitions.md +239 -0
- package/templates/default/.claude/skills/remotion-best-practices/remotion-markup/video-editing.md +90 -0
- package/templates/default/.claude/skills/remotion-best-practices/remotion-markup/voiceover.md +99 -0
- package/templates/default/.claude/skills/remotion-best-practices/remotion-multimedia/REFERENCE.md +20 -0
- package/templates/default/.claude/skills/remotion-best-practices/remotion-multimedia/agents/openai.yaml +7 -0
- package/templates/default/.claude/skills/remotion-best-practices/remotion-multimedia/assets/remotion-icon.png +0 -0
- package/templates/default/.claude/skills/remotion-best-practices/remotion-multimedia/get-audio-duration.md +56 -0
- package/templates/default/.claude/skills/remotion-best-practices/remotion-multimedia/get-video-dimensions.md +66 -0
- package/templates/default/.claude/skills/remotion-best-practices/remotion-multimedia/get-video-duration.md +58 -0
- package/templates/default/.claude/skills/remotion-best-practices/remotion-render/REFERENCE.md +27 -0
- package/templates/default/.claude/skills/remotion-best-practices/remotion-render/agents/openai.yaml +7 -0
- package/templates/default/.claude/skills/remotion-best-practices/remotion-render/assets/remotion-icon.png +0 -0
- package/templates/default/.claude/skills/remotion-best-practices/remotion-render/transparent-videos.md +106 -0
- package/templates/default/.claude/skills/remotion-best-practices/remotion-saas/REFERENCE.md +33 -0
- package/templates/default/.claude/skills/remotion-best-practices/remotion-saas/agents/openai.yaml +7 -0
- package/templates/default/.claude/skills/remotion-best-practices/remotion-saas/assets/remotion-icon.png +0 -0
- package/templates/default/.claude/skills/remotion-best-practices/remotion-saas/framework.md +21 -0
- package/templates/default/.claude/skills/remotion-best-practices/remotion-saas/player.md +33 -0
- package/templates/default/.claude/skills/remotion-best-practices/remotion-saas/rendering.md +69 -0
- package/templates/default/.claude/skills/remotion-best-practices/remotion-studio/REFERENCE.md +24 -0
- package/templates/default/.claude/skills/remotion-best-practices/remotion-studio/agents/openai.yaml +7 -0
- package/templates/default/.claude/skills/remotion-best-practices/remotion-studio/assets/remotion-icon.png +0 -0
- package/templates/default/.claude/skills/remotion-best-practices/remotion-upgrade/REFERENCE.md +31 -0
- package/templates/default/.claude/skills/remotion-best-practices/remotion-upgrade/agents/openai.yaml +7 -0
- package/templates/default/.claude/skills/remotion-best-practices/remotion-upgrade/assets/remotion-icon.png +0 -0
- package/templates/default/.claude/skills/remotion-captions/SKILL.md +36 -0
- package/templates/default/.claude/skills/remotion-captions/agents/openai.yaml +7 -0
- package/templates/default/.claude/skills/remotion-captions/assets/remotion-icon.png +0 -0
- package/templates/default/.claude/skills/remotion-captions/display-captions.md +190 -0
- package/templates/default/.claude/skills/remotion-captions/import-srt-captions.md +73 -0
- package/templates/default/.claude/skills/remotion-captions/transcribe-captions.md +70 -0
- package/templates/default/.claude/skills/remotion-create/SKILL.md +68 -0
- package/templates/default/.claude/skills/remotion-create/agents/openai.yaml +7 -0
- package/templates/default/.claude/skills/remotion-create/assets/remotion-icon.png +0 -0
- package/templates/default/.claude/skills/remotion-create/tailwind.md +11 -0
- package/templates/default/.claude/skills/remotion-create/video-layout.md +9 -0
- package/templates/default/.claude/skills/remotion-docs/SKILL.md +46 -0
- package/templates/default/.claude/skills/remotion-docs/agents/openai.yaml +7 -0
- package/templates/default/.claude/skills/remotion-docs/assets/remotion-icon.png +0 -0
- package/templates/default/.claude/skills/remotion-interactivity/SKILL.md +247 -0
- package/templates/default/.claude/skills/remotion-interactivity/agents/openai.yaml +7 -0
- package/templates/default/.claude/skills/remotion-interactivity/assets/remotion-icon.png +0 -0
- package/templates/default/.claude/skills/remotion-maps/SKILL.md +36 -0
- package/templates/default/.claude/skills/remotion-maps/agents/openai.yaml +7 -0
- package/templates/default/.claude/skills/remotion-maps/assets/remotion-icon.png +0 -0
- package/templates/default/.claude/skills/remotion-maps/techniques/cesium/TECHNIQUE.md +89 -0
- package/templates/default/.claude/skills/remotion-maps/techniques/cesium/assets/CesiumFlythrough.tsx +284 -0
- package/templates/default/.claude/skills/remotion-maps/techniques/cesium/assets/cesium-path.json +299 -0
- package/templates/default/.claude/skills/remotion-maps/techniques/cesium/assets/city-path.json +12 -0
- package/templates/default/.claude/skills/remotion-maps/techniques/cesium/assets/example-Root.tsx +39 -0
- package/templates/default/.claude/skills/remotion-maps/techniques/cesium/assets/flight-path.ts +35 -0
- package/templates/default/.claude/skills/remotion-maps/techniques/cesium/assets/sample-river.geojson +215 -0
- package/templates/default/.claude/skills/remotion-maps/techniques/cesium/references/3d-data-sources.md +43 -0
- package/templates/default/.claude/skills/remotion-maps/techniques/cesium/references/3d-flyover-architecture.md +128 -0
- package/templates/default/.claude/skills/remotion-maps/techniques/cesium/references/3d-troubleshooting.md +57 -0
- package/templates/default/.claude/skills/remotion-maps/techniques/cesium/scripts/prep-cesium-path.mjs +161 -0
- package/templates/default/.claude/skills/remotion-maps/techniques/mapbox/TECHNIQUE.md +449 -0
- package/templates/default/.claude/skills/remotion-maps/techniques/mapbox/references/render-stability.md +64 -0
- package/templates/default/.claude/skills/remotion-maps/techniques/maplibre/TECHNIQUE.md +465 -0
- package/templates/default/.claude/skills/remotion-maps/techniques/maplibre/references/render-stability.md +64 -0
- package/templates/default/.claude/skills/remotion-maps/techniques/maptiler/TECHNIQUE.md +80 -0
- package/templates/default/.claude/skills/remotion-maps/techniques/maptiler/assets/CountryLabel.tsx +70 -0
- package/templates/default/.claude/skills/remotion-maps/techniques/maptiler/assets/MapTilerVectorElement.ts +80 -0
- package/templates/default/.claude/skills/remotion-maps/techniques/maptiler/assets/RiverReveal.tsx +363 -0
- package/templates/default/.claude/skills/remotion-maps/techniques/maptiler/assets/example-Root.tsx +22 -0
- package/templates/default/.claude/skills/remotion-maps/techniques/maptiler/assets/sample-data/country-meta.json +7535 -0
- package/templates/default/.claude/skills/remotion-maps/techniques/maptiler/assets/sample-data/yarlung-flow.json +605 -0
- package/templates/default/.claude/skills/remotion-maps/techniques/maptiler/assets/tokens.ts +34 -0
- package/templates/default/.claude/skills/remotion-maps/techniques/maptiler/references/map-data-sources.md +91 -0
- package/templates/default/.claude/skills/remotion-maps/techniques/maptiler/references/map-explainer-architecture.md +129 -0
- package/templates/default/.claude/skills/remotion-maps/techniques/maptiler/references/map-geo-prep.md +85 -0
- package/templates/default/.claude/skills/remotion-maps/techniques/maptiler/references/render-stability.md +64 -0
- package/templates/default/.claude/skills/remotion-maps/techniques/maptiler/scripts/prep-geo.mjs +202 -0
- package/templates/default/.claude/skills/remotion-maps/techniques/static-map/TECHNIQUE.md +37 -0
- package/templates/default/.claude/skills/remotion-markup/3d.md +86 -0
- package/templates/default/.claude/skills/remotion-markup/SKILL.md +365 -0
- package/templates/default/.claude/skills/remotion-markup/agents/openai.yaml +7 -0
- package/templates/default/.claude/skills/remotion-markup/assets/remotion-icon.png +0 -0
- package/templates/default/.claude/skills/remotion-markup/audio-visualization.md +198 -0
- package/templates/default/.claude/skills/remotion-markup/audio.md +171 -0
- package/templates/default/.claude/skills/remotion-markup/calculate-metadata.md +136 -0
- package/templates/default/.claude/skills/remotion-markup/compositions.md +117 -0
- package/templates/default/.claude/skills/remotion-markup/cropping.md +34 -0
- package/templates/default/.claude/skills/remotion-markup/effects.md +251 -0
- package/templates/default/.claude/skills/remotion-markup/embedding-videos.md +173 -0
- package/templates/default/.claude/skills/remotion-markup/ffmpeg.md +38 -0
- package/templates/default/.claude/skills/remotion-markup/gifs.md +187 -0
- package/templates/default/.claude/skills/remotion-markup/google-fonts.md +76 -0
- package/templates/default/.claude/skills/remotion-markup/html-in-canvas.md +128 -0
- package/templates/default/.claude/skills/remotion-markup/images.md +73 -0
- package/templates/default/.claude/skills/remotion-markup/light-leaks.md +106 -0
- package/templates/default/.claude/skills/remotion-markup/local-fonts.md +69 -0
- package/templates/default/.claude/skills/remotion-markup/lottie.md +73 -0
- package/templates/default/.claude/skills/remotion-markup/measuring-dom-nodes.md +38 -0
- package/templates/default/.claude/skills/remotion-markup/measuring-text.md +146 -0
- package/templates/default/.claude/skills/remotion-markup/multi-scene-video.md +81 -0
- package/templates/default/.claude/skills/remotion-markup/parameters.md +111 -0
- package/templates/default/.claude/skills/remotion-markup/remotion-maps/REFERENCE.md +36 -0
- package/templates/default/.claude/skills/remotion-markup/remotion-maps/agents/openai.yaml +7 -0
- package/templates/default/.claude/skills/remotion-markup/remotion-maps/assets/remotion-icon.png +0 -0
- package/templates/default/.claude/skills/remotion-markup/remotion-maps/techniques/cesium/TECHNIQUE.md +89 -0
- package/templates/default/.claude/skills/remotion-markup/remotion-maps/techniques/cesium/assets/CesiumFlythrough.tsx +284 -0
- package/templates/default/.claude/skills/remotion-markup/remotion-maps/techniques/cesium/assets/cesium-path.json +299 -0
- package/templates/default/.claude/skills/remotion-markup/remotion-maps/techniques/cesium/assets/city-path.json +12 -0
- package/templates/default/.claude/skills/remotion-markup/remotion-maps/techniques/cesium/assets/example-Root.tsx +39 -0
- package/templates/default/.claude/skills/remotion-markup/remotion-maps/techniques/cesium/assets/flight-path.ts +35 -0
- package/templates/default/.claude/skills/remotion-markup/remotion-maps/techniques/cesium/assets/sample-river.geojson +215 -0
- package/templates/default/.claude/skills/remotion-markup/remotion-maps/techniques/cesium/references/3d-data-sources.md +43 -0
- package/templates/default/.claude/skills/remotion-markup/remotion-maps/techniques/cesium/references/3d-flyover-architecture.md +128 -0
- package/templates/default/.claude/skills/remotion-markup/remotion-maps/techniques/cesium/references/3d-troubleshooting.md +57 -0
- package/templates/default/.claude/skills/remotion-markup/remotion-maps/techniques/cesium/scripts/prep-cesium-path.mjs +161 -0
- package/templates/default/.claude/skills/remotion-markup/remotion-maps/techniques/mapbox/TECHNIQUE.md +449 -0
- package/templates/default/.claude/skills/remotion-markup/remotion-maps/techniques/mapbox/references/render-stability.md +64 -0
- package/templates/default/.claude/skills/remotion-markup/remotion-maps/techniques/maplibre/TECHNIQUE.md +465 -0
- package/templates/default/.claude/skills/remotion-markup/remotion-maps/techniques/maplibre/references/render-stability.md +64 -0
- package/templates/default/.claude/skills/remotion-markup/remotion-maps/techniques/maptiler/TECHNIQUE.md +80 -0
- package/templates/default/.claude/skills/remotion-markup/remotion-maps/techniques/maptiler/assets/CountryLabel.tsx +70 -0
- package/templates/default/.claude/skills/remotion-markup/remotion-maps/techniques/maptiler/assets/MapTilerVectorElement.ts +80 -0
- package/templates/default/.claude/skills/remotion-markup/remotion-maps/techniques/maptiler/assets/RiverReveal.tsx +363 -0
- package/templates/default/.claude/skills/remotion-markup/remotion-maps/techniques/maptiler/assets/example-Root.tsx +22 -0
- package/templates/default/.claude/skills/remotion-markup/remotion-maps/techniques/maptiler/assets/sample-data/country-meta.json +7535 -0
- package/templates/default/.claude/skills/remotion-markup/remotion-maps/techniques/maptiler/assets/sample-data/yarlung-flow.json +605 -0
- package/templates/default/.claude/skills/remotion-markup/remotion-maps/techniques/maptiler/assets/tokens.ts +34 -0
- package/templates/default/.claude/skills/remotion-markup/remotion-maps/techniques/maptiler/references/map-data-sources.md +91 -0
- package/templates/default/.claude/skills/remotion-markup/remotion-maps/techniques/maptiler/references/map-explainer-architecture.md +129 -0
- package/templates/default/.claude/skills/remotion-markup/remotion-maps/techniques/maptiler/references/map-geo-prep.md +85 -0
- package/templates/default/.claude/skills/remotion-markup/remotion-maps/techniques/maptiler/references/render-stability.md +64 -0
- package/templates/default/.claude/skills/remotion-markup/remotion-maps/techniques/maptiler/scripts/prep-geo.mjs +202 -0
- package/templates/default/.claude/skills/remotion-markup/remotion-maps/techniques/static-map/TECHNIQUE.md +37 -0
- package/templates/default/.claude/skills/remotion-markup/sequencing.md +169 -0
- package/templates/default/.claude/skills/remotion-markup/sfx.md +51 -0
- package/templates/default/.claude/skills/remotion-markup/silence-detection.md +71 -0
- package/templates/default/.claude/skills/remotion-markup/text-highlights.md +56 -0
- package/templates/default/.claude/skills/remotion-markup/timing.md +111 -0
- package/templates/default/.claude/skills/remotion-markup/transitions.md +239 -0
- package/templates/default/.claude/skills/remotion-markup/video-editing.md +90 -0
- package/templates/default/.claude/skills/remotion-markup/voiceover.md +99 -0
- package/templates/default/.claude/skills/remotion-multimedia/SKILL.md +20 -0
- package/templates/default/.claude/skills/remotion-multimedia/agents/openai.yaml +7 -0
- package/templates/default/.claude/skills/remotion-multimedia/assets/remotion-icon.png +0 -0
- package/templates/default/.claude/skills/remotion-multimedia/get-audio-duration.md +56 -0
- package/templates/default/.claude/skills/remotion-multimedia/get-video-dimensions.md +66 -0
- package/templates/default/.claude/skills/remotion-multimedia/get-video-duration.md +58 -0
- package/templates/default/.claude/skills/remotion-render/SKILL.md +27 -0
- package/templates/default/.claude/skills/remotion-render/agents/openai.yaml +7 -0
- package/templates/default/.claude/skills/remotion-render/assets/remotion-icon.png +0 -0
- package/templates/default/.claude/skills/remotion-render/transparent-videos.md +106 -0
- package/templates/default/.claude/skills/remotion-saas/SKILL.md +33 -0
- package/templates/default/.claude/skills/remotion-saas/agents/openai.yaml +7 -0
- package/templates/default/.claude/skills/remotion-saas/assets/remotion-icon.png +0 -0
- package/templates/default/.claude/skills/remotion-saas/framework.md +21 -0
- package/templates/default/.claude/skills/remotion-saas/player.md +33 -0
- package/templates/default/.claude/skills/remotion-saas/rendering.md +69 -0
- package/templates/default/.claude/skills/remotion-studio/SKILL.md +24 -0
- package/templates/default/.claude/skills/remotion-studio/agents/openai.yaml +7 -0
- package/templates/default/.claude/skills/remotion-studio/assets/remotion-icon.png +0 -0
- package/templates/default/.claude/skills/remotion-upgrade/SKILL.md +31 -0
- package/templates/default/.claude/skills/remotion-upgrade/agents/openai.yaml +7 -0
- package/templates/default/.claude/skills/remotion-upgrade/assets/remotion-icon.png +0 -0
- package/templates/default/.cursor/skills/remotion-best-practices/SKILL.md +59 -0
- package/templates/default/.cursor/skills/remotion-best-practices/agents/openai.yaml +7 -0
- package/templates/default/.cursor/skills/remotion-best-practices/assets/remotion-icon.png +0 -0
- package/templates/default/.cursor/skills/remotion-best-practices/remotion-captions/REFERENCE.md +36 -0
- package/templates/default/.cursor/skills/remotion-best-practices/remotion-captions/agents/openai.yaml +7 -0
- package/templates/default/.cursor/skills/remotion-best-practices/remotion-captions/assets/remotion-icon.png +0 -0
- package/templates/default/.cursor/skills/remotion-best-practices/remotion-captions/display-captions.md +190 -0
- package/templates/default/.cursor/skills/remotion-best-practices/remotion-captions/import-srt-captions.md +73 -0
- package/templates/default/.cursor/skills/remotion-best-practices/remotion-captions/transcribe-captions.md +70 -0
- package/templates/default/.cursor/skills/remotion-best-practices/remotion-create/REFERENCE.md +68 -0
- package/templates/default/.cursor/skills/remotion-best-practices/remotion-create/agents/openai.yaml +7 -0
- package/templates/default/.cursor/skills/remotion-best-practices/remotion-create/assets/remotion-icon.png +0 -0
- package/templates/default/.cursor/skills/remotion-best-practices/remotion-create/tailwind.md +11 -0
- package/templates/default/.cursor/skills/remotion-best-practices/remotion-create/video-layout.md +9 -0
- package/templates/default/.cursor/skills/remotion-best-practices/remotion-docs/REFERENCE.md +46 -0
- package/templates/default/.cursor/skills/remotion-best-practices/remotion-docs/agents/openai.yaml +7 -0
- package/templates/default/.cursor/skills/remotion-best-practices/remotion-docs/assets/remotion-icon.png +0 -0
- package/templates/default/.cursor/skills/remotion-best-practices/remotion-interactivity/REFERENCE.md +247 -0
- package/templates/default/.cursor/skills/remotion-best-practices/remotion-interactivity/agents/openai.yaml +7 -0
- package/templates/default/.cursor/skills/remotion-best-practices/remotion-interactivity/assets/remotion-icon.png +0 -0
- package/templates/default/.cursor/skills/remotion-best-practices/remotion-maps/REFERENCE.md +36 -0
- package/templates/default/.cursor/skills/remotion-best-practices/remotion-maps/agents/openai.yaml +7 -0
- package/templates/default/.cursor/skills/remotion-best-practices/remotion-maps/assets/remotion-icon.png +0 -0
- package/templates/default/.cursor/skills/remotion-best-practices/remotion-maps/techniques/cesium/TECHNIQUE.md +89 -0
- package/templates/default/.cursor/skills/remotion-best-practices/remotion-maps/techniques/cesium/assets/CesiumFlythrough.tsx +284 -0
- package/templates/default/.cursor/skills/remotion-best-practices/remotion-maps/techniques/cesium/assets/cesium-path.json +299 -0
- package/templates/default/.cursor/skills/remotion-best-practices/remotion-maps/techniques/cesium/assets/city-path.json +12 -0
- package/templates/default/.cursor/skills/remotion-best-practices/remotion-maps/techniques/cesium/assets/example-Root.tsx +39 -0
- package/templates/default/.cursor/skills/remotion-best-practices/remotion-maps/techniques/cesium/assets/flight-path.ts +35 -0
- package/templates/default/.cursor/skills/remotion-best-practices/remotion-maps/techniques/cesium/assets/sample-river.geojson +215 -0
- package/templates/default/.cursor/skills/remotion-best-practices/remotion-maps/techniques/cesium/references/3d-data-sources.md +43 -0
- package/templates/default/.cursor/skills/remotion-best-practices/remotion-maps/techniques/cesium/references/3d-flyover-architecture.md +128 -0
- package/templates/default/.cursor/skills/remotion-best-practices/remotion-maps/techniques/cesium/references/3d-troubleshooting.md +57 -0
- package/templates/default/.cursor/skills/remotion-best-practices/remotion-maps/techniques/cesium/scripts/prep-cesium-path.mjs +161 -0
- package/templates/default/.cursor/skills/remotion-best-practices/remotion-maps/techniques/mapbox/TECHNIQUE.md +449 -0
- package/templates/default/.cursor/skills/remotion-best-practices/remotion-maps/techniques/mapbox/references/render-stability.md +64 -0
- package/templates/default/.cursor/skills/remotion-best-practices/remotion-maps/techniques/maplibre/TECHNIQUE.md +465 -0
- package/templates/default/.cursor/skills/remotion-best-practices/remotion-maps/techniques/maplibre/references/render-stability.md +64 -0
- package/templates/default/.cursor/skills/remotion-best-practices/remotion-maps/techniques/maptiler/TECHNIQUE.md +80 -0
- package/templates/default/.cursor/skills/remotion-best-practices/remotion-maps/techniques/maptiler/assets/CountryLabel.tsx +70 -0
- package/templates/default/.cursor/skills/remotion-best-practices/remotion-maps/techniques/maptiler/assets/MapTilerVectorElement.ts +80 -0
- package/templates/default/.cursor/skills/remotion-best-practices/remotion-maps/techniques/maptiler/assets/RiverReveal.tsx +363 -0
- package/templates/default/.cursor/skills/remotion-best-practices/remotion-maps/techniques/maptiler/assets/example-Root.tsx +22 -0
- package/templates/default/.cursor/skills/remotion-best-practices/remotion-maps/techniques/maptiler/assets/sample-data/country-meta.json +7535 -0
- package/templates/default/.cursor/skills/remotion-best-practices/remotion-maps/techniques/maptiler/assets/sample-data/yarlung-flow.json +605 -0
- package/templates/default/.cursor/skills/remotion-best-practices/remotion-maps/techniques/maptiler/assets/tokens.ts +34 -0
- package/templates/default/.cursor/skills/remotion-best-practices/remotion-maps/techniques/maptiler/references/map-data-sources.md +91 -0
- package/templates/default/.cursor/skills/remotion-best-practices/remotion-maps/techniques/maptiler/references/map-explainer-architecture.md +129 -0
- package/templates/default/.cursor/skills/remotion-best-practices/remotion-maps/techniques/maptiler/references/map-geo-prep.md +85 -0
- package/templates/default/.cursor/skills/remotion-best-practices/remotion-maps/techniques/maptiler/references/render-stability.md +64 -0
- package/templates/default/.cursor/skills/remotion-best-practices/remotion-maps/techniques/maptiler/scripts/prep-geo.mjs +202 -0
- package/templates/default/.cursor/skills/remotion-best-practices/remotion-maps/techniques/static-map/TECHNIQUE.md +37 -0
- package/templates/default/.cursor/skills/remotion-best-practices/remotion-markup/3d.md +86 -0
- package/templates/default/.cursor/skills/remotion-best-practices/remotion-markup/REFERENCE.md +365 -0
- package/templates/default/.cursor/skills/remotion-best-practices/remotion-markup/agents/openai.yaml +7 -0
- package/templates/default/.cursor/skills/remotion-best-practices/remotion-markup/assets/remotion-icon.png +0 -0
- package/templates/default/.cursor/skills/remotion-best-practices/remotion-markup/audio-visualization.md +198 -0
- package/templates/default/.cursor/skills/remotion-best-practices/remotion-markup/audio.md +171 -0
- package/templates/default/.cursor/skills/remotion-best-practices/remotion-markup/calculate-metadata.md +136 -0
- package/templates/default/.cursor/skills/remotion-best-practices/remotion-markup/compositions.md +117 -0
- package/templates/default/.cursor/skills/remotion-best-practices/remotion-markup/cropping.md +34 -0
- package/templates/default/.cursor/skills/remotion-best-practices/remotion-markup/effects.md +251 -0
- package/templates/default/.cursor/skills/remotion-best-practices/remotion-markup/embedding-videos.md +173 -0
- package/templates/default/.cursor/skills/remotion-best-practices/remotion-markup/ffmpeg.md +38 -0
- package/templates/default/.cursor/skills/remotion-best-practices/remotion-markup/gifs.md +187 -0
- package/templates/default/.cursor/skills/remotion-best-practices/remotion-markup/google-fonts.md +76 -0
- package/templates/default/.cursor/skills/remotion-best-practices/remotion-markup/html-in-canvas.md +128 -0
- package/templates/default/.cursor/skills/remotion-best-practices/remotion-markup/images.md +73 -0
- package/templates/default/.cursor/skills/remotion-best-practices/remotion-markup/light-leaks.md +106 -0
- package/templates/default/.cursor/skills/remotion-best-practices/remotion-markup/local-fonts.md +69 -0
- package/templates/default/.cursor/skills/remotion-best-practices/remotion-markup/lottie.md +73 -0
- package/templates/default/.cursor/skills/remotion-best-practices/remotion-markup/measuring-dom-nodes.md +38 -0
- package/templates/default/.cursor/skills/remotion-best-practices/remotion-markup/measuring-text.md +146 -0
- package/templates/default/.cursor/skills/remotion-best-practices/remotion-markup/multi-scene-video.md +81 -0
- package/templates/default/.cursor/skills/remotion-best-practices/remotion-markup/parameters.md +111 -0
- package/templates/default/.cursor/skills/remotion-best-practices/remotion-markup/remotion-maps/REFERENCE.md +36 -0
- package/templates/default/.cursor/skills/remotion-best-practices/remotion-markup/remotion-maps/agents/openai.yaml +7 -0
- package/templates/default/.cursor/skills/remotion-best-practices/remotion-markup/remotion-maps/assets/remotion-icon.png +0 -0
- package/templates/default/.cursor/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/cesium/TECHNIQUE.md +89 -0
- package/templates/default/.cursor/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/cesium/assets/CesiumFlythrough.tsx +284 -0
- package/templates/default/.cursor/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/cesium/assets/cesium-path.json +299 -0
- package/templates/default/.cursor/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/cesium/assets/city-path.json +12 -0
- package/templates/default/.cursor/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/cesium/assets/example-Root.tsx +39 -0
- package/templates/default/.cursor/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/cesium/assets/flight-path.ts +35 -0
- package/templates/default/.cursor/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/cesium/assets/sample-river.geojson +215 -0
- package/templates/default/.cursor/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/cesium/references/3d-data-sources.md +43 -0
- package/templates/default/.cursor/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/cesium/references/3d-flyover-architecture.md +128 -0
- package/templates/default/.cursor/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/cesium/references/3d-troubleshooting.md +57 -0
- package/templates/default/.cursor/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/cesium/scripts/prep-cesium-path.mjs +161 -0
- package/templates/default/.cursor/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/mapbox/TECHNIQUE.md +449 -0
- package/templates/default/.cursor/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/mapbox/references/render-stability.md +64 -0
- package/templates/default/.cursor/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/maplibre/TECHNIQUE.md +465 -0
- package/templates/default/.cursor/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/maplibre/references/render-stability.md +64 -0
- package/templates/default/.cursor/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/maptiler/TECHNIQUE.md +80 -0
- package/templates/default/.cursor/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/maptiler/assets/CountryLabel.tsx +70 -0
- package/templates/default/.cursor/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/maptiler/assets/MapTilerVectorElement.ts +80 -0
- package/templates/default/.cursor/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/maptiler/assets/RiverReveal.tsx +363 -0
- package/templates/default/.cursor/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/maptiler/assets/example-Root.tsx +22 -0
- package/templates/default/.cursor/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/maptiler/assets/sample-data/country-meta.json +7535 -0
- package/templates/default/.cursor/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/maptiler/assets/sample-data/yarlung-flow.json +605 -0
- package/templates/default/.cursor/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/maptiler/assets/tokens.ts +34 -0
- package/templates/default/.cursor/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/maptiler/references/map-data-sources.md +91 -0
- package/templates/default/.cursor/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/maptiler/references/map-explainer-architecture.md +129 -0
- package/templates/default/.cursor/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/maptiler/references/map-geo-prep.md +85 -0
- package/templates/default/.cursor/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/maptiler/references/render-stability.md +64 -0
- package/templates/default/.cursor/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/maptiler/scripts/prep-geo.mjs +202 -0
- package/templates/default/.cursor/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/static-map/TECHNIQUE.md +37 -0
- package/templates/default/.cursor/skills/remotion-best-practices/remotion-markup/sequencing.md +169 -0
- package/templates/default/.cursor/skills/remotion-best-practices/remotion-markup/sfx.md +51 -0
- package/templates/default/.cursor/skills/remotion-best-practices/remotion-markup/silence-detection.md +71 -0
- package/templates/default/.cursor/skills/remotion-best-practices/remotion-markup/text-highlights.md +56 -0
- package/templates/default/.cursor/skills/remotion-best-practices/remotion-markup/timing.md +111 -0
- package/templates/default/.cursor/skills/remotion-best-practices/remotion-markup/transitions.md +239 -0
- package/templates/default/.cursor/skills/remotion-best-practices/remotion-markup/video-editing.md +90 -0
- package/templates/default/.cursor/skills/remotion-best-practices/remotion-markup/voiceover.md +99 -0
- package/templates/default/.cursor/skills/remotion-best-practices/remotion-multimedia/REFERENCE.md +20 -0
- package/templates/default/.cursor/skills/remotion-best-practices/remotion-multimedia/agents/openai.yaml +7 -0
- package/templates/default/.cursor/skills/remotion-best-practices/remotion-multimedia/assets/remotion-icon.png +0 -0
- package/templates/default/.cursor/skills/remotion-best-practices/remotion-multimedia/get-audio-duration.md +56 -0
- package/templates/default/.cursor/skills/remotion-best-practices/remotion-multimedia/get-video-dimensions.md +66 -0
- package/templates/default/.cursor/skills/remotion-best-practices/remotion-multimedia/get-video-duration.md +58 -0
- package/templates/default/.cursor/skills/remotion-best-practices/remotion-render/REFERENCE.md +27 -0
- package/templates/default/.cursor/skills/remotion-best-practices/remotion-render/agents/openai.yaml +7 -0
- package/templates/default/.cursor/skills/remotion-best-practices/remotion-render/assets/remotion-icon.png +0 -0
- package/templates/default/.cursor/skills/remotion-best-practices/remotion-render/transparent-videos.md +106 -0
- package/templates/default/.cursor/skills/remotion-best-practices/remotion-saas/REFERENCE.md +33 -0
- package/templates/default/.cursor/skills/remotion-best-practices/remotion-saas/agents/openai.yaml +7 -0
- package/templates/default/.cursor/skills/remotion-best-practices/remotion-saas/assets/remotion-icon.png +0 -0
- package/templates/default/.cursor/skills/remotion-best-practices/remotion-saas/framework.md +21 -0
- package/templates/default/.cursor/skills/remotion-best-practices/remotion-saas/player.md +33 -0
- package/templates/default/.cursor/skills/remotion-best-practices/remotion-saas/rendering.md +69 -0
- package/templates/default/.cursor/skills/remotion-best-practices/remotion-studio/REFERENCE.md +24 -0
- package/templates/default/.cursor/skills/remotion-best-practices/remotion-studio/agents/openai.yaml +7 -0
- package/templates/default/.cursor/skills/remotion-best-practices/remotion-studio/assets/remotion-icon.png +0 -0
- package/templates/default/.cursor/skills/remotion-best-practices/remotion-upgrade/REFERENCE.md +31 -0
- package/templates/default/.cursor/skills/remotion-best-practices/remotion-upgrade/agents/openai.yaml +7 -0
- package/templates/default/.cursor/skills/remotion-best-practices/remotion-upgrade/assets/remotion-icon.png +0 -0
- package/templates/default/.cursor/skills/remotion-captions/SKILL.md +36 -0
- package/templates/default/.cursor/skills/remotion-captions/agents/openai.yaml +7 -0
- package/templates/default/.cursor/skills/remotion-captions/assets/remotion-icon.png +0 -0
- package/templates/default/.cursor/skills/remotion-captions/display-captions.md +190 -0
- package/templates/default/.cursor/skills/remotion-captions/import-srt-captions.md +73 -0
- package/templates/default/.cursor/skills/remotion-captions/transcribe-captions.md +70 -0
- package/templates/default/.cursor/skills/remotion-create/SKILL.md +68 -0
- package/templates/default/.cursor/skills/remotion-create/agents/openai.yaml +7 -0
- package/templates/default/.cursor/skills/remotion-create/assets/remotion-icon.png +0 -0
- package/templates/default/.cursor/skills/remotion-create/tailwind.md +11 -0
- package/templates/default/.cursor/skills/remotion-create/video-layout.md +9 -0
- package/templates/default/.cursor/skills/remotion-docs/SKILL.md +46 -0
- package/templates/default/.cursor/skills/remotion-docs/agents/openai.yaml +7 -0
- package/templates/default/.cursor/skills/remotion-docs/assets/remotion-icon.png +0 -0
- package/templates/default/.cursor/skills/remotion-interactivity/SKILL.md +247 -0
- package/templates/default/.cursor/skills/remotion-interactivity/agents/openai.yaml +7 -0
- package/templates/default/.cursor/skills/remotion-interactivity/assets/remotion-icon.png +0 -0
- package/templates/default/.cursor/skills/remotion-maps/SKILL.md +36 -0
- package/templates/default/.cursor/skills/remotion-maps/agents/openai.yaml +7 -0
- package/templates/default/.cursor/skills/remotion-maps/assets/remotion-icon.png +0 -0
- package/templates/default/.cursor/skills/remotion-maps/techniques/cesium/TECHNIQUE.md +89 -0
- package/templates/default/.cursor/skills/remotion-maps/techniques/cesium/assets/CesiumFlythrough.tsx +284 -0
- package/templates/default/.cursor/skills/remotion-maps/techniques/cesium/assets/cesium-path.json +299 -0
- package/templates/default/.cursor/skills/remotion-maps/techniques/cesium/assets/city-path.json +12 -0
- package/templates/default/.cursor/skills/remotion-maps/techniques/cesium/assets/example-Root.tsx +39 -0
- package/templates/default/.cursor/skills/remotion-maps/techniques/cesium/assets/flight-path.ts +35 -0
- package/templates/default/.cursor/skills/remotion-maps/techniques/cesium/assets/sample-river.geojson +215 -0
- package/templates/default/.cursor/skills/remotion-maps/techniques/cesium/references/3d-data-sources.md +43 -0
- package/templates/default/.cursor/skills/remotion-maps/techniques/cesium/references/3d-flyover-architecture.md +128 -0
- package/templates/default/.cursor/skills/remotion-maps/techniques/cesium/references/3d-troubleshooting.md +57 -0
- package/templates/default/.cursor/skills/remotion-maps/techniques/cesium/scripts/prep-cesium-path.mjs +161 -0
- package/templates/default/.cursor/skills/remotion-maps/techniques/mapbox/TECHNIQUE.md +449 -0
- package/templates/default/.cursor/skills/remotion-maps/techniques/mapbox/references/render-stability.md +64 -0
- package/templates/default/.cursor/skills/remotion-maps/techniques/maplibre/TECHNIQUE.md +465 -0
- package/templates/default/.cursor/skills/remotion-maps/techniques/maplibre/references/render-stability.md +64 -0
- package/templates/default/.cursor/skills/remotion-maps/techniques/maptiler/TECHNIQUE.md +80 -0
- package/templates/default/.cursor/skills/remotion-maps/techniques/maptiler/assets/CountryLabel.tsx +70 -0
- package/templates/default/.cursor/skills/remotion-maps/techniques/maptiler/assets/MapTilerVectorElement.ts +80 -0
- package/templates/default/.cursor/skills/remotion-maps/techniques/maptiler/assets/RiverReveal.tsx +363 -0
- package/templates/default/.cursor/skills/remotion-maps/techniques/maptiler/assets/example-Root.tsx +22 -0
- package/templates/default/.cursor/skills/remotion-maps/techniques/maptiler/assets/sample-data/country-meta.json +7535 -0
- package/templates/default/.cursor/skills/remotion-maps/techniques/maptiler/assets/sample-data/yarlung-flow.json +605 -0
- package/templates/default/.cursor/skills/remotion-maps/techniques/maptiler/assets/tokens.ts +34 -0
- package/templates/default/.cursor/skills/remotion-maps/techniques/maptiler/references/map-data-sources.md +91 -0
- package/templates/default/.cursor/skills/remotion-maps/techniques/maptiler/references/map-explainer-architecture.md +129 -0
- package/templates/default/.cursor/skills/remotion-maps/techniques/maptiler/references/map-geo-prep.md +85 -0
- package/templates/default/.cursor/skills/remotion-maps/techniques/maptiler/references/render-stability.md +64 -0
- package/templates/default/.cursor/skills/remotion-maps/techniques/maptiler/scripts/prep-geo.mjs +202 -0
- package/templates/default/.cursor/skills/remotion-maps/techniques/static-map/TECHNIQUE.md +37 -0
- package/templates/default/.cursor/skills/remotion-markup/3d.md +86 -0
- package/templates/default/.cursor/skills/remotion-markup/SKILL.md +365 -0
- package/templates/default/.cursor/skills/remotion-markup/agents/openai.yaml +7 -0
- package/templates/default/.cursor/skills/remotion-markup/assets/remotion-icon.png +0 -0
- package/templates/default/.cursor/skills/remotion-markup/audio-visualization.md +198 -0
- package/templates/default/.cursor/skills/remotion-markup/audio.md +171 -0
- package/templates/default/.cursor/skills/remotion-markup/calculate-metadata.md +136 -0
- package/templates/default/.cursor/skills/remotion-markup/compositions.md +117 -0
- package/templates/default/.cursor/skills/remotion-markup/cropping.md +34 -0
- package/templates/default/.cursor/skills/remotion-markup/effects.md +251 -0
- package/templates/default/.cursor/skills/remotion-markup/embedding-videos.md +173 -0
- package/templates/default/.cursor/skills/remotion-markup/ffmpeg.md +38 -0
- package/templates/default/.cursor/skills/remotion-markup/gifs.md +187 -0
- package/templates/default/.cursor/skills/remotion-markup/google-fonts.md +76 -0
- package/templates/default/.cursor/skills/remotion-markup/html-in-canvas.md +128 -0
- package/templates/default/.cursor/skills/remotion-markup/images.md +73 -0
- package/templates/default/.cursor/skills/remotion-markup/light-leaks.md +106 -0
- package/templates/default/.cursor/skills/remotion-markup/local-fonts.md +69 -0
- package/templates/default/.cursor/skills/remotion-markup/lottie.md +73 -0
- package/templates/default/.cursor/skills/remotion-markup/measuring-dom-nodes.md +38 -0
- package/templates/default/.cursor/skills/remotion-markup/measuring-text.md +146 -0
- package/templates/default/.cursor/skills/remotion-markup/multi-scene-video.md +81 -0
- package/templates/default/.cursor/skills/remotion-markup/parameters.md +111 -0
- package/templates/default/.cursor/skills/remotion-markup/remotion-maps/REFERENCE.md +36 -0
- package/templates/default/.cursor/skills/remotion-markup/remotion-maps/agents/openai.yaml +7 -0
- package/templates/default/.cursor/skills/remotion-markup/remotion-maps/assets/remotion-icon.png +0 -0
- package/templates/default/.cursor/skills/remotion-markup/remotion-maps/techniques/cesium/TECHNIQUE.md +89 -0
- package/templates/default/.cursor/skills/remotion-markup/remotion-maps/techniques/cesium/assets/CesiumFlythrough.tsx +284 -0
- package/templates/default/.cursor/skills/remotion-markup/remotion-maps/techniques/cesium/assets/cesium-path.json +299 -0
- package/templates/default/.cursor/skills/remotion-markup/remotion-maps/techniques/cesium/assets/city-path.json +12 -0
- package/templates/default/.cursor/skills/remotion-markup/remotion-maps/techniques/cesium/assets/example-Root.tsx +39 -0
- package/templates/default/.cursor/skills/remotion-markup/remotion-maps/techniques/cesium/assets/flight-path.ts +35 -0
- package/templates/default/.cursor/skills/remotion-markup/remotion-maps/techniques/cesium/assets/sample-river.geojson +215 -0
- package/templates/default/.cursor/skills/remotion-markup/remotion-maps/techniques/cesium/references/3d-data-sources.md +43 -0
- package/templates/default/.cursor/skills/remotion-markup/remotion-maps/techniques/cesium/references/3d-flyover-architecture.md +128 -0
- package/templates/default/.cursor/skills/remotion-markup/remotion-maps/techniques/cesium/references/3d-troubleshooting.md +57 -0
- package/templates/default/.cursor/skills/remotion-markup/remotion-maps/techniques/cesium/scripts/prep-cesium-path.mjs +161 -0
- package/templates/default/.cursor/skills/remotion-markup/remotion-maps/techniques/mapbox/TECHNIQUE.md +449 -0
- package/templates/default/.cursor/skills/remotion-markup/remotion-maps/techniques/mapbox/references/render-stability.md +64 -0
- package/templates/default/.cursor/skills/remotion-markup/remotion-maps/techniques/maplibre/TECHNIQUE.md +465 -0
- package/templates/default/.cursor/skills/remotion-markup/remotion-maps/techniques/maplibre/references/render-stability.md +64 -0
- package/templates/default/.cursor/skills/remotion-markup/remotion-maps/techniques/maptiler/TECHNIQUE.md +80 -0
- package/templates/default/.cursor/skills/remotion-markup/remotion-maps/techniques/maptiler/assets/CountryLabel.tsx +70 -0
- package/templates/default/.cursor/skills/remotion-markup/remotion-maps/techniques/maptiler/assets/MapTilerVectorElement.ts +80 -0
- package/templates/default/.cursor/skills/remotion-markup/remotion-maps/techniques/maptiler/assets/RiverReveal.tsx +363 -0
- package/templates/default/.cursor/skills/remotion-markup/remotion-maps/techniques/maptiler/assets/example-Root.tsx +22 -0
- package/templates/default/.cursor/skills/remotion-markup/remotion-maps/techniques/maptiler/assets/sample-data/country-meta.json +7535 -0
- package/templates/default/.cursor/skills/remotion-markup/remotion-maps/techniques/maptiler/assets/sample-data/yarlung-flow.json +605 -0
- package/templates/default/.cursor/skills/remotion-markup/remotion-maps/techniques/maptiler/assets/tokens.ts +34 -0
- package/templates/default/.cursor/skills/remotion-markup/remotion-maps/techniques/maptiler/references/map-data-sources.md +91 -0
- package/templates/default/.cursor/skills/remotion-markup/remotion-maps/techniques/maptiler/references/map-explainer-architecture.md +129 -0
- package/templates/default/.cursor/skills/remotion-markup/remotion-maps/techniques/maptiler/references/map-geo-prep.md +85 -0
- package/templates/default/.cursor/skills/remotion-markup/remotion-maps/techniques/maptiler/references/render-stability.md +64 -0
- package/templates/default/.cursor/skills/remotion-markup/remotion-maps/techniques/maptiler/scripts/prep-geo.mjs +202 -0
- package/templates/default/.cursor/skills/remotion-markup/remotion-maps/techniques/static-map/TECHNIQUE.md +37 -0
- package/templates/default/.cursor/skills/remotion-markup/sequencing.md +169 -0
- package/templates/default/.cursor/skills/remotion-markup/sfx.md +51 -0
- package/templates/default/.cursor/skills/remotion-markup/silence-detection.md +71 -0
- package/templates/default/.cursor/skills/remotion-markup/text-highlights.md +56 -0
- package/templates/default/.cursor/skills/remotion-markup/timing.md +111 -0
- package/templates/default/.cursor/skills/remotion-markup/transitions.md +239 -0
- package/templates/default/.cursor/skills/remotion-markup/video-editing.md +90 -0
- package/templates/default/.cursor/skills/remotion-markup/voiceover.md +99 -0
- package/templates/default/.cursor/skills/remotion-multimedia/SKILL.md +20 -0
- package/templates/default/.cursor/skills/remotion-multimedia/agents/openai.yaml +7 -0
- package/templates/default/.cursor/skills/remotion-multimedia/assets/remotion-icon.png +0 -0
- package/templates/default/.cursor/skills/remotion-multimedia/get-audio-duration.md +56 -0
- package/templates/default/.cursor/skills/remotion-multimedia/get-video-dimensions.md +66 -0
- package/templates/default/.cursor/skills/remotion-multimedia/get-video-duration.md +58 -0
- package/templates/default/.cursor/skills/remotion-render/SKILL.md +27 -0
- package/templates/default/.cursor/skills/remotion-render/agents/openai.yaml +7 -0
- package/templates/default/.cursor/skills/remotion-render/assets/remotion-icon.png +0 -0
- package/templates/default/.cursor/skills/remotion-render/transparent-videos.md +106 -0
- package/templates/default/.cursor/skills/remotion-saas/SKILL.md +33 -0
- package/templates/default/.cursor/skills/remotion-saas/agents/openai.yaml +7 -0
- package/templates/default/.cursor/skills/remotion-saas/assets/remotion-icon.png +0 -0
- package/templates/default/.cursor/skills/remotion-saas/framework.md +21 -0
- package/templates/default/.cursor/skills/remotion-saas/player.md +33 -0
- package/templates/default/.cursor/skills/remotion-saas/rendering.md +69 -0
- package/templates/default/.cursor/skills/remotion-studio/SKILL.md +24 -0
- package/templates/default/.cursor/skills/remotion-studio/agents/openai.yaml +7 -0
- package/templates/default/.cursor/skills/remotion-studio/assets/remotion-icon.png +0 -0
- package/templates/default/.cursor/skills/remotion-upgrade/SKILL.md +31 -0
- package/templates/default/.cursor/skills/remotion-upgrade/agents/openai.yaml +7 -0
- package/templates/default/.cursor/skills/remotion-upgrade/assets/remotion-icon.png +0 -0
- package/templates/default/.github/skills/remotion-best-practices/SKILL.md +59 -0
- package/templates/default/.github/skills/remotion-best-practices/agents/openai.yaml +7 -0
- package/templates/default/.github/skills/remotion-best-practices/assets/remotion-icon.png +0 -0
- package/templates/default/.github/skills/remotion-best-practices/remotion-captions/REFERENCE.md +36 -0
- package/templates/default/.github/skills/remotion-best-practices/remotion-captions/agents/openai.yaml +7 -0
- package/templates/default/.github/skills/remotion-best-practices/remotion-captions/assets/remotion-icon.png +0 -0
- package/templates/default/.github/skills/remotion-best-practices/remotion-captions/display-captions.md +190 -0
- package/templates/default/.github/skills/remotion-best-practices/remotion-captions/import-srt-captions.md +73 -0
- package/templates/default/.github/skills/remotion-best-practices/remotion-captions/transcribe-captions.md +70 -0
- package/templates/default/.github/skills/remotion-best-practices/remotion-create/REFERENCE.md +68 -0
- package/templates/default/.github/skills/remotion-best-practices/remotion-create/agents/openai.yaml +7 -0
- package/templates/default/.github/skills/remotion-best-practices/remotion-create/assets/remotion-icon.png +0 -0
- package/templates/default/.github/skills/remotion-best-practices/remotion-create/tailwind.md +11 -0
- package/templates/default/.github/skills/remotion-best-practices/remotion-create/video-layout.md +9 -0
- package/templates/default/.github/skills/remotion-best-practices/remotion-docs/REFERENCE.md +46 -0
- package/templates/default/.github/skills/remotion-best-practices/remotion-docs/agents/openai.yaml +7 -0
- package/templates/default/.github/skills/remotion-best-practices/remotion-docs/assets/remotion-icon.png +0 -0
- package/templates/default/.github/skills/remotion-best-practices/remotion-interactivity/REFERENCE.md +247 -0
- package/templates/default/.github/skills/remotion-best-practices/remotion-interactivity/agents/openai.yaml +7 -0
- package/templates/default/.github/skills/remotion-best-practices/remotion-interactivity/assets/remotion-icon.png +0 -0
- package/templates/default/.github/skills/remotion-best-practices/remotion-maps/REFERENCE.md +36 -0
- package/templates/default/.github/skills/remotion-best-practices/remotion-maps/agents/openai.yaml +7 -0
- package/templates/default/.github/skills/remotion-best-practices/remotion-maps/assets/remotion-icon.png +0 -0
- package/templates/default/.github/skills/remotion-best-practices/remotion-maps/techniques/cesium/TECHNIQUE.md +89 -0
- package/templates/default/.github/skills/remotion-best-practices/remotion-maps/techniques/cesium/assets/CesiumFlythrough.tsx +284 -0
- package/templates/default/.github/skills/remotion-best-practices/remotion-maps/techniques/cesium/assets/cesium-path.json +299 -0
- package/templates/default/.github/skills/remotion-best-practices/remotion-maps/techniques/cesium/assets/city-path.json +12 -0
- package/templates/default/.github/skills/remotion-best-practices/remotion-maps/techniques/cesium/assets/example-Root.tsx +39 -0
- package/templates/default/.github/skills/remotion-best-practices/remotion-maps/techniques/cesium/assets/flight-path.ts +35 -0
- package/templates/default/.github/skills/remotion-best-practices/remotion-maps/techniques/cesium/assets/sample-river.geojson +215 -0
- package/templates/default/.github/skills/remotion-best-practices/remotion-maps/techniques/cesium/references/3d-data-sources.md +43 -0
- package/templates/default/.github/skills/remotion-best-practices/remotion-maps/techniques/cesium/references/3d-flyover-architecture.md +128 -0
- package/templates/default/.github/skills/remotion-best-practices/remotion-maps/techniques/cesium/references/3d-troubleshooting.md +57 -0
- package/templates/default/.github/skills/remotion-best-practices/remotion-maps/techniques/cesium/scripts/prep-cesium-path.mjs +161 -0
- package/templates/default/.github/skills/remotion-best-practices/remotion-maps/techniques/mapbox/TECHNIQUE.md +449 -0
- package/templates/default/.github/skills/remotion-best-practices/remotion-maps/techniques/mapbox/references/render-stability.md +64 -0
- package/templates/default/.github/skills/remotion-best-practices/remotion-maps/techniques/maplibre/TECHNIQUE.md +465 -0
- package/templates/default/.github/skills/remotion-best-practices/remotion-maps/techniques/maplibre/references/render-stability.md +64 -0
- package/templates/default/.github/skills/remotion-best-practices/remotion-maps/techniques/maptiler/TECHNIQUE.md +80 -0
- package/templates/default/.github/skills/remotion-best-practices/remotion-maps/techniques/maptiler/assets/CountryLabel.tsx +70 -0
- package/templates/default/.github/skills/remotion-best-practices/remotion-maps/techniques/maptiler/assets/MapTilerVectorElement.ts +80 -0
- package/templates/default/.github/skills/remotion-best-practices/remotion-maps/techniques/maptiler/assets/RiverReveal.tsx +363 -0
- package/templates/default/.github/skills/remotion-best-practices/remotion-maps/techniques/maptiler/assets/example-Root.tsx +22 -0
- package/templates/default/.github/skills/remotion-best-practices/remotion-maps/techniques/maptiler/assets/sample-data/country-meta.json +7535 -0
- package/templates/default/.github/skills/remotion-best-practices/remotion-maps/techniques/maptiler/assets/sample-data/yarlung-flow.json +605 -0
- package/templates/default/.github/skills/remotion-best-practices/remotion-maps/techniques/maptiler/assets/tokens.ts +34 -0
- package/templates/default/.github/skills/remotion-best-practices/remotion-maps/techniques/maptiler/references/map-data-sources.md +91 -0
- package/templates/default/.github/skills/remotion-best-practices/remotion-maps/techniques/maptiler/references/map-explainer-architecture.md +129 -0
- package/templates/default/.github/skills/remotion-best-practices/remotion-maps/techniques/maptiler/references/map-geo-prep.md +85 -0
- package/templates/default/.github/skills/remotion-best-practices/remotion-maps/techniques/maptiler/references/render-stability.md +64 -0
- package/templates/default/.github/skills/remotion-best-practices/remotion-maps/techniques/maptiler/scripts/prep-geo.mjs +202 -0
- package/templates/default/.github/skills/remotion-best-practices/remotion-maps/techniques/static-map/TECHNIQUE.md +37 -0
- package/templates/default/.github/skills/remotion-best-practices/remotion-markup/3d.md +86 -0
- package/templates/default/.github/skills/remotion-best-practices/remotion-markup/REFERENCE.md +365 -0
- package/templates/default/.github/skills/remotion-best-practices/remotion-markup/agents/openai.yaml +7 -0
- package/templates/default/.github/skills/remotion-best-practices/remotion-markup/assets/remotion-icon.png +0 -0
- package/templates/default/.github/skills/remotion-best-practices/remotion-markup/audio-visualization.md +198 -0
- package/templates/default/.github/skills/remotion-best-practices/remotion-markup/audio.md +171 -0
- package/templates/default/.github/skills/remotion-best-practices/remotion-markup/calculate-metadata.md +136 -0
- package/templates/default/.github/skills/remotion-best-practices/remotion-markup/compositions.md +117 -0
- package/templates/default/.github/skills/remotion-best-practices/remotion-markup/cropping.md +34 -0
- package/templates/default/.github/skills/remotion-best-practices/remotion-markup/effects.md +251 -0
- package/templates/default/.github/skills/remotion-best-practices/remotion-markup/embedding-videos.md +173 -0
- package/templates/default/.github/skills/remotion-best-practices/remotion-markup/ffmpeg.md +38 -0
- package/templates/default/.github/skills/remotion-best-practices/remotion-markup/gifs.md +187 -0
- package/templates/default/.github/skills/remotion-best-practices/remotion-markup/google-fonts.md +76 -0
- package/templates/default/.github/skills/remotion-best-practices/remotion-markup/html-in-canvas.md +128 -0
- package/templates/default/.github/skills/remotion-best-practices/remotion-markup/images.md +73 -0
- package/templates/default/.github/skills/remotion-best-practices/remotion-markup/light-leaks.md +106 -0
- package/templates/default/.github/skills/remotion-best-practices/remotion-markup/local-fonts.md +69 -0
- package/templates/default/.github/skills/remotion-best-practices/remotion-markup/lottie.md +73 -0
- package/templates/default/.github/skills/remotion-best-practices/remotion-markup/measuring-dom-nodes.md +38 -0
- package/templates/default/.github/skills/remotion-best-practices/remotion-markup/measuring-text.md +146 -0
- package/templates/default/.github/skills/remotion-best-practices/remotion-markup/multi-scene-video.md +81 -0
- package/templates/default/.github/skills/remotion-best-practices/remotion-markup/parameters.md +111 -0
- package/templates/default/.github/skills/remotion-best-practices/remotion-markup/remotion-maps/REFERENCE.md +36 -0
- package/templates/default/.github/skills/remotion-best-practices/remotion-markup/remotion-maps/agents/openai.yaml +7 -0
- package/templates/default/.github/skills/remotion-best-practices/remotion-markup/remotion-maps/assets/remotion-icon.png +0 -0
- package/templates/default/.github/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/cesium/TECHNIQUE.md +89 -0
- package/templates/default/.github/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/cesium/assets/CesiumFlythrough.tsx +284 -0
- package/templates/default/.github/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/cesium/assets/cesium-path.json +299 -0
- package/templates/default/.github/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/cesium/assets/city-path.json +12 -0
- package/templates/default/.github/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/cesium/assets/example-Root.tsx +39 -0
- package/templates/default/.github/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/cesium/assets/flight-path.ts +35 -0
- package/templates/default/.github/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/cesium/assets/sample-river.geojson +215 -0
- package/templates/default/.github/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/cesium/references/3d-data-sources.md +43 -0
- package/templates/default/.github/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/cesium/references/3d-flyover-architecture.md +128 -0
- package/templates/default/.github/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/cesium/references/3d-troubleshooting.md +57 -0
- package/templates/default/.github/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/cesium/scripts/prep-cesium-path.mjs +161 -0
- package/templates/default/.github/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/mapbox/TECHNIQUE.md +449 -0
- package/templates/default/.github/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/mapbox/references/render-stability.md +64 -0
- package/templates/default/.github/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/maplibre/TECHNIQUE.md +465 -0
- package/templates/default/.github/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/maplibre/references/render-stability.md +64 -0
- package/templates/default/.github/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/maptiler/TECHNIQUE.md +80 -0
- package/templates/default/.github/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/maptiler/assets/CountryLabel.tsx +70 -0
- package/templates/default/.github/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/maptiler/assets/MapTilerVectorElement.ts +80 -0
- package/templates/default/.github/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/maptiler/assets/RiverReveal.tsx +363 -0
- package/templates/default/.github/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/maptiler/assets/example-Root.tsx +22 -0
- package/templates/default/.github/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/maptiler/assets/sample-data/country-meta.json +7535 -0
- package/templates/default/.github/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/maptiler/assets/sample-data/yarlung-flow.json +605 -0
- package/templates/default/.github/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/maptiler/assets/tokens.ts +34 -0
- package/templates/default/.github/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/maptiler/references/map-data-sources.md +91 -0
- package/templates/default/.github/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/maptiler/references/map-explainer-architecture.md +129 -0
- package/templates/default/.github/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/maptiler/references/map-geo-prep.md +85 -0
- package/templates/default/.github/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/maptiler/references/render-stability.md +64 -0
- package/templates/default/.github/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/maptiler/scripts/prep-geo.mjs +202 -0
- package/templates/default/.github/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/static-map/TECHNIQUE.md +37 -0
- package/templates/default/.github/skills/remotion-best-practices/remotion-markup/sequencing.md +169 -0
- package/templates/default/.github/skills/remotion-best-practices/remotion-markup/sfx.md +51 -0
- package/templates/default/.github/skills/remotion-best-practices/remotion-markup/silence-detection.md +71 -0
- package/templates/default/.github/skills/remotion-best-practices/remotion-markup/text-highlights.md +56 -0
- package/templates/default/.github/skills/remotion-best-practices/remotion-markup/timing.md +111 -0
- package/templates/default/.github/skills/remotion-best-practices/remotion-markup/transitions.md +239 -0
- package/templates/default/.github/skills/remotion-best-practices/remotion-markup/video-editing.md +90 -0
- package/templates/default/.github/skills/remotion-best-practices/remotion-markup/voiceover.md +99 -0
- package/templates/default/.github/skills/remotion-best-practices/remotion-multimedia/REFERENCE.md +20 -0
- package/templates/default/.github/skills/remotion-best-practices/remotion-multimedia/agents/openai.yaml +7 -0
- package/templates/default/.github/skills/remotion-best-practices/remotion-multimedia/assets/remotion-icon.png +0 -0
- package/templates/default/.github/skills/remotion-best-practices/remotion-multimedia/get-audio-duration.md +56 -0
- package/templates/default/.github/skills/remotion-best-practices/remotion-multimedia/get-video-dimensions.md +66 -0
- package/templates/default/.github/skills/remotion-best-practices/remotion-multimedia/get-video-duration.md +58 -0
- package/templates/default/.github/skills/remotion-best-practices/remotion-render/REFERENCE.md +27 -0
- package/templates/default/.github/skills/remotion-best-practices/remotion-render/agents/openai.yaml +7 -0
- package/templates/default/.github/skills/remotion-best-practices/remotion-render/assets/remotion-icon.png +0 -0
- package/templates/default/.github/skills/remotion-best-practices/remotion-render/transparent-videos.md +106 -0
- package/templates/default/.github/skills/remotion-best-practices/remotion-saas/REFERENCE.md +33 -0
- package/templates/default/.github/skills/remotion-best-practices/remotion-saas/agents/openai.yaml +7 -0
- package/templates/default/.github/skills/remotion-best-practices/remotion-saas/assets/remotion-icon.png +0 -0
- package/templates/default/.github/skills/remotion-best-practices/remotion-saas/framework.md +21 -0
- package/templates/default/.github/skills/remotion-best-practices/remotion-saas/player.md +33 -0
- package/templates/default/.github/skills/remotion-best-practices/remotion-saas/rendering.md +69 -0
- package/templates/default/.github/skills/remotion-best-practices/remotion-studio/REFERENCE.md +24 -0
- package/templates/default/.github/skills/remotion-best-practices/remotion-studio/agents/openai.yaml +7 -0
- package/templates/default/.github/skills/remotion-best-practices/remotion-studio/assets/remotion-icon.png +0 -0
- package/templates/default/.github/skills/remotion-best-practices/remotion-upgrade/REFERENCE.md +31 -0
- package/templates/default/.github/skills/remotion-best-practices/remotion-upgrade/agents/openai.yaml +7 -0
- package/templates/default/.github/skills/remotion-best-practices/remotion-upgrade/assets/remotion-icon.png +0 -0
- package/templates/default/.github/skills/remotion-captions/SKILL.md +36 -0
- package/templates/default/.github/skills/remotion-captions/agents/openai.yaml +7 -0
- package/templates/default/.github/skills/remotion-captions/assets/remotion-icon.png +0 -0
- package/templates/default/.github/skills/remotion-captions/display-captions.md +190 -0
- package/templates/default/.github/skills/remotion-captions/import-srt-captions.md +73 -0
- package/templates/default/.github/skills/remotion-captions/transcribe-captions.md +70 -0
- package/templates/default/.github/skills/remotion-create/SKILL.md +68 -0
- package/templates/default/.github/skills/remotion-create/agents/openai.yaml +7 -0
- package/templates/default/.github/skills/remotion-create/assets/remotion-icon.png +0 -0
- package/templates/default/.github/skills/remotion-create/tailwind.md +11 -0
- package/templates/default/.github/skills/remotion-create/video-layout.md +9 -0
- package/templates/default/.github/skills/remotion-docs/SKILL.md +46 -0
- package/templates/default/.github/skills/remotion-docs/agents/openai.yaml +7 -0
- package/templates/default/.github/skills/remotion-docs/assets/remotion-icon.png +0 -0
- package/templates/default/.github/skills/remotion-interactivity/SKILL.md +247 -0
- package/templates/default/.github/skills/remotion-interactivity/agents/openai.yaml +7 -0
- package/templates/default/.github/skills/remotion-interactivity/assets/remotion-icon.png +0 -0
- package/templates/default/.github/skills/remotion-maps/SKILL.md +36 -0
- package/templates/default/.github/skills/remotion-maps/agents/openai.yaml +7 -0
- package/templates/default/.github/skills/remotion-maps/assets/remotion-icon.png +0 -0
- package/templates/default/.github/skills/remotion-maps/techniques/cesium/TECHNIQUE.md +89 -0
- package/templates/default/.github/skills/remotion-maps/techniques/cesium/assets/CesiumFlythrough.tsx +284 -0
- package/templates/default/.github/skills/remotion-maps/techniques/cesium/assets/cesium-path.json +299 -0
- package/templates/default/.github/skills/remotion-maps/techniques/cesium/assets/city-path.json +12 -0
- package/templates/default/.github/skills/remotion-maps/techniques/cesium/assets/example-Root.tsx +39 -0
- package/templates/default/.github/skills/remotion-maps/techniques/cesium/assets/flight-path.ts +35 -0
- package/templates/default/.github/skills/remotion-maps/techniques/cesium/assets/sample-river.geojson +215 -0
- package/templates/default/.github/skills/remotion-maps/techniques/cesium/references/3d-data-sources.md +43 -0
- package/templates/default/.github/skills/remotion-maps/techniques/cesium/references/3d-flyover-architecture.md +128 -0
- package/templates/default/.github/skills/remotion-maps/techniques/cesium/references/3d-troubleshooting.md +57 -0
- package/templates/default/.github/skills/remotion-maps/techniques/cesium/scripts/prep-cesium-path.mjs +161 -0
- package/templates/default/.github/skills/remotion-maps/techniques/mapbox/TECHNIQUE.md +449 -0
- package/templates/default/.github/skills/remotion-maps/techniques/mapbox/references/render-stability.md +64 -0
- package/templates/default/.github/skills/remotion-maps/techniques/maplibre/TECHNIQUE.md +465 -0
- package/templates/default/.github/skills/remotion-maps/techniques/maplibre/references/render-stability.md +64 -0
- package/templates/default/.github/skills/remotion-maps/techniques/maptiler/TECHNIQUE.md +80 -0
- package/templates/default/.github/skills/remotion-maps/techniques/maptiler/assets/CountryLabel.tsx +70 -0
- package/templates/default/.github/skills/remotion-maps/techniques/maptiler/assets/MapTilerVectorElement.ts +80 -0
- package/templates/default/.github/skills/remotion-maps/techniques/maptiler/assets/RiverReveal.tsx +363 -0
- package/templates/default/.github/skills/remotion-maps/techniques/maptiler/assets/example-Root.tsx +22 -0
- package/templates/default/.github/skills/remotion-maps/techniques/maptiler/assets/sample-data/country-meta.json +7535 -0
- package/templates/default/.github/skills/remotion-maps/techniques/maptiler/assets/sample-data/yarlung-flow.json +605 -0
- package/templates/default/.github/skills/remotion-maps/techniques/maptiler/assets/tokens.ts +34 -0
- package/templates/default/.github/skills/remotion-maps/techniques/maptiler/references/map-data-sources.md +91 -0
- package/templates/default/.github/skills/remotion-maps/techniques/maptiler/references/map-explainer-architecture.md +129 -0
- package/templates/default/.github/skills/remotion-maps/techniques/maptiler/references/map-geo-prep.md +85 -0
- package/templates/default/.github/skills/remotion-maps/techniques/maptiler/references/render-stability.md +64 -0
- package/templates/default/.github/skills/remotion-maps/techniques/maptiler/scripts/prep-geo.mjs +202 -0
- package/templates/default/.github/skills/remotion-maps/techniques/static-map/TECHNIQUE.md +37 -0
- package/templates/default/.github/skills/remotion-markup/3d.md +86 -0
- package/templates/default/.github/skills/remotion-markup/SKILL.md +365 -0
- package/templates/default/.github/skills/remotion-markup/agents/openai.yaml +7 -0
- package/templates/default/.github/skills/remotion-markup/assets/remotion-icon.png +0 -0
- package/templates/default/.github/skills/remotion-markup/audio-visualization.md +198 -0
- package/templates/default/.github/skills/remotion-markup/audio.md +171 -0
- package/templates/default/.github/skills/remotion-markup/calculate-metadata.md +136 -0
- package/templates/default/.github/skills/remotion-markup/compositions.md +117 -0
- package/templates/default/.github/skills/remotion-markup/cropping.md +34 -0
- package/templates/default/.github/skills/remotion-markup/effects.md +251 -0
- package/templates/default/.github/skills/remotion-markup/embedding-videos.md +173 -0
- package/templates/default/.github/skills/remotion-markup/ffmpeg.md +38 -0
- package/templates/default/.github/skills/remotion-markup/gifs.md +187 -0
- package/templates/default/.github/skills/remotion-markup/google-fonts.md +76 -0
- package/templates/default/.github/skills/remotion-markup/html-in-canvas.md +128 -0
- package/templates/default/.github/skills/remotion-markup/images.md +73 -0
- package/templates/default/.github/skills/remotion-markup/light-leaks.md +106 -0
- package/templates/default/.github/skills/remotion-markup/local-fonts.md +69 -0
- package/templates/default/.github/skills/remotion-markup/lottie.md +73 -0
- package/templates/default/.github/skills/remotion-markup/measuring-dom-nodes.md +38 -0
- package/templates/default/.github/skills/remotion-markup/measuring-text.md +146 -0
- package/templates/default/.github/skills/remotion-markup/multi-scene-video.md +81 -0
- package/templates/default/.github/skills/remotion-markup/parameters.md +111 -0
- package/templates/default/.github/skills/remotion-markup/remotion-maps/REFERENCE.md +36 -0
- package/templates/default/.github/skills/remotion-markup/remotion-maps/agents/openai.yaml +7 -0
- package/templates/default/.github/skills/remotion-markup/remotion-maps/assets/remotion-icon.png +0 -0
- package/templates/default/.github/skills/remotion-markup/remotion-maps/techniques/cesium/TECHNIQUE.md +89 -0
- package/templates/default/.github/skills/remotion-markup/remotion-maps/techniques/cesium/assets/CesiumFlythrough.tsx +284 -0
- package/templates/default/.github/skills/remotion-markup/remotion-maps/techniques/cesium/assets/cesium-path.json +299 -0
- package/templates/default/.github/skills/remotion-markup/remotion-maps/techniques/cesium/assets/city-path.json +12 -0
- package/templates/default/.github/skills/remotion-markup/remotion-maps/techniques/cesium/assets/example-Root.tsx +39 -0
- package/templates/default/.github/skills/remotion-markup/remotion-maps/techniques/cesium/assets/flight-path.ts +35 -0
- package/templates/default/.github/skills/remotion-markup/remotion-maps/techniques/cesium/assets/sample-river.geojson +215 -0
- package/templates/default/.github/skills/remotion-markup/remotion-maps/techniques/cesium/references/3d-data-sources.md +43 -0
- package/templates/default/.github/skills/remotion-markup/remotion-maps/techniques/cesium/references/3d-flyover-architecture.md +128 -0
- package/templates/default/.github/skills/remotion-markup/remotion-maps/techniques/cesium/references/3d-troubleshooting.md +57 -0
- package/templates/default/.github/skills/remotion-markup/remotion-maps/techniques/cesium/scripts/prep-cesium-path.mjs +161 -0
- package/templates/default/.github/skills/remotion-markup/remotion-maps/techniques/mapbox/TECHNIQUE.md +449 -0
- package/templates/default/.github/skills/remotion-markup/remotion-maps/techniques/mapbox/references/render-stability.md +64 -0
- package/templates/default/.github/skills/remotion-markup/remotion-maps/techniques/maplibre/TECHNIQUE.md +465 -0
- package/templates/default/.github/skills/remotion-markup/remotion-maps/techniques/maplibre/references/render-stability.md +64 -0
- package/templates/default/.github/skills/remotion-markup/remotion-maps/techniques/maptiler/TECHNIQUE.md +80 -0
- package/templates/default/.github/skills/remotion-markup/remotion-maps/techniques/maptiler/assets/CountryLabel.tsx +70 -0
- package/templates/default/.github/skills/remotion-markup/remotion-maps/techniques/maptiler/assets/MapTilerVectorElement.ts +80 -0
- package/templates/default/.github/skills/remotion-markup/remotion-maps/techniques/maptiler/assets/RiverReveal.tsx +363 -0
- package/templates/default/.github/skills/remotion-markup/remotion-maps/techniques/maptiler/assets/example-Root.tsx +22 -0
- package/templates/default/.github/skills/remotion-markup/remotion-maps/techniques/maptiler/assets/sample-data/country-meta.json +7535 -0
- package/templates/default/.github/skills/remotion-markup/remotion-maps/techniques/maptiler/assets/sample-data/yarlung-flow.json +605 -0
- package/templates/default/.github/skills/remotion-markup/remotion-maps/techniques/maptiler/assets/tokens.ts +34 -0
- package/templates/default/.github/skills/remotion-markup/remotion-maps/techniques/maptiler/references/map-data-sources.md +91 -0
- package/templates/default/.github/skills/remotion-markup/remotion-maps/techniques/maptiler/references/map-explainer-architecture.md +129 -0
- package/templates/default/.github/skills/remotion-markup/remotion-maps/techniques/maptiler/references/map-geo-prep.md +85 -0
- package/templates/default/.github/skills/remotion-markup/remotion-maps/techniques/maptiler/references/render-stability.md +64 -0
- package/templates/default/.github/skills/remotion-markup/remotion-maps/techniques/maptiler/scripts/prep-geo.mjs +202 -0
- package/templates/default/.github/skills/remotion-markup/remotion-maps/techniques/static-map/TECHNIQUE.md +37 -0
- package/templates/default/.github/skills/remotion-markup/sequencing.md +169 -0
- package/templates/default/.github/skills/remotion-markup/sfx.md +51 -0
- package/templates/default/.github/skills/remotion-markup/silence-detection.md +71 -0
- package/templates/default/.github/skills/remotion-markup/text-highlights.md +56 -0
- package/templates/default/.github/skills/remotion-markup/timing.md +111 -0
- package/templates/default/.github/skills/remotion-markup/transitions.md +239 -0
- package/templates/default/.github/skills/remotion-markup/video-editing.md +90 -0
- package/templates/default/.github/skills/remotion-markup/voiceover.md +99 -0
- package/templates/default/.github/skills/remotion-multimedia/SKILL.md +20 -0
- package/templates/default/.github/skills/remotion-multimedia/agents/openai.yaml +7 -0
- package/templates/default/.github/skills/remotion-multimedia/assets/remotion-icon.png +0 -0
- package/templates/default/.github/skills/remotion-multimedia/get-audio-duration.md +56 -0
- package/templates/default/.github/skills/remotion-multimedia/get-video-dimensions.md +66 -0
- package/templates/default/.github/skills/remotion-multimedia/get-video-duration.md +58 -0
- package/templates/default/.github/skills/remotion-render/SKILL.md +27 -0
- package/templates/default/.github/skills/remotion-render/agents/openai.yaml +7 -0
- package/templates/default/.github/skills/remotion-render/assets/remotion-icon.png +0 -0
- package/templates/default/.github/skills/remotion-render/transparent-videos.md +106 -0
- package/templates/default/.github/skills/remotion-saas/SKILL.md +33 -0
- package/templates/default/.github/skills/remotion-saas/agents/openai.yaml +7 -0
- package/templates/default/.github/skills/remotion-saas/assets/remotion-icon.png +0 -0
- package/templates/default/.github/skills/remotion-saas/framework.md +21 -0
- package/templates/default/.github/skills/remotion-saas/player.md +33 -0
- package/templates/default/.github/skills/remotion-saas/rendering.md +69 -0
- package/templates/default/.github/skills/remotion-studio/SKILL.md +24 -0
- package/templates/default/.github/skills/remotion-studio/agents/openai.yaml +7 -0
- package/templates/default/.github/skills/remotion-studio/assets/remotion-icon.png +0 -0
- package/templates/default/.github/skills/remotion-upgrade/SKILL.md +31 -0
- package/templates/default/.github/skills/remotion-upgrade/agents/openai.yaml +7 -0
- package/templates/default/.github/skills/remotion-upgrade/assets/remotion-icon.png +0 -0
- package/templates/default/.github/workflows/visual-regression.yml +69 -0
- package/templates/default/.opencode/skills/remotion-best-practices/SKILL.md +59 -0
- package/templates/default/.opencode/skills/remotion-best-practices/agents/openai.yaml +7 -0
- package/templates/default/.opencode/skills/remotion-best-practices/assets/remotion-icon.png +0 -0
- package/templates/default/.opencode/skills/remotion-best-practices/remotion-captions/REFERENCE.md +36 -0
- package/templates/default/.opencode/skills/remotion-best-practices/remotion-captions/agents/openai.yaml +7 -0
- package/templates/default/.opencode/skills/remotion-best-practices/remotion-captions/assets/remotion-icon.png +0 -0
- package/templates/default/.opencode/skills/remotion-best-practices/remotion-captions/display-captions.md +190 -0
- package/templates/default/.opencode/skills/remotion-best-practices/remotion-captions/import-srt-captions.md +73 -0
- package/templates/default/.opencode/skills/remotion-best-practices/remotion-captions/transcribe-captions.md +70 -0
- package/templates/default/.opencode/skills/remotion-best-practices/remotion-create/REFERENCE.md +68 -0
- package/templates/default/.opencode/skills/remotion-best-practices/remotion-create/agents/openai.yaml +7 -0
- package/templates/default/.opencode/skills/remotion-best-practices/remotion-create/assets/remotion-icon.png +0 -0
- package/templates/default/.opencode/skills/remotion-best-practices/remotion-create/tailwind.md +11 -0
- package/templates/default/.opencode/skills/remotion-best-practices/remotion-create/video-layout.md +9 -0
- package/templates/default/.opencode/skills/remotion-best-practices/remotion-docs/REFERENCE.md +46 -0
- package/templates/default/.opencode/skills/remotion-best-practices/remotion-docs/agents/openai.yaml +7 -0
- package/templates/default/.opencode/skills/remotion-best-practices/remotion-docs/assets/remotion-icon.png +0 -0
- package/templates/default/.opencode/skills/remotion-best-practices/remotion-interactivity/REFERENCE.md +247 -0
- package/templates/default/.opencode/skills/remotion-best-practices/remotion-interactivity/agents/openai.yaml +7 -0
- package/templates/default/.opencode/skills/remotion-best-practices/remotion-interactivity/assets/remotion-icon.png +0 -0
- package/templates/default/.opencode/skills/remotion-best-practices/remotion-maps/REFERENCE.md +36 -0
- package/templates/default/.opencode/skills/remotion-best-practices/remotion-maps/agents/openai.yaml +7 -0
- package/templates/default/.opencode/skills/remotion-best-practices/remotion-maps/assets/remotion-icon.png +0 -0
- package/templates/default/.opencode/skills/remotion-best-practices/remotion-maps/techniques/cesium/TECHNIQUE.md +89 -0
- package/templates/default/.opencode/skills/remotion-best-practices/remotion-maps/techniques/cesium/assets/CesiumFlythrough.tsx +284 -0
- package/templates/default/.opencode/skills/remotion-best-practices/remotion-maps/techniques/cesium/assets/cesium-path.json +299 -0
- package/templates/default/.opencode/skills/remotion-best-practices/remotion-maps/techniques/cesium/assets/city-path.json +12 -0
- package/templates/default/.opencode/skills/remotion-best-practices/remotion-maps/techniques/cesium/assets/example-Root.tsx +39 -0
- package/templates/default/.opencode/skills/remotion-best-practices/remotion-maps/techniques/cesium/assets/flight-path.ts +35 -0
- package/templates/default/.opencode/skills/remotion-best-practices/remotion-maps/techniques/cesium/assets/sample-river.geojson +215 -0
- package/templates/default/.opencode/skills/remotion-best-practices/remotion-maps/techniques/cesium/references/3d-data-sources.md +43 -0
- package/templates/default/.opencode/skills/remotion-best-practices/remotion-maps/techniques/cesium/references/3d-flyover-architecture.md +128 -0
- package/templates/default/.opencode/skills/remotion-best-practices/remotion-maps/techniques/cesium/references/3d-troubleshooting.md +57 -0
- package/templates/default/.opencode/skills/remotion-best-practices/remotion-maps/techniques/cesium/scripts/prep-cesium-path.mjs +161 -0
- package/templates/default/.opencode/skills/remotion-best-practices/remotion-maps/techniques/mapbox/TECHNIQUE.md +449 -0
- package/templates/default/.opencode/skills/remotion-best-practices/remotion-maps/techniques/mapbox/references/render-stability.md +64 -0
- package/templates/default/.opencode/skills/remotion-best-practices/remotion-maps/techniques/maplibre/TECHNIQUE.md +465 -0
- package/templates/default/.opencode/skills/remotion-best-practices/remotion-maps/techniques/maplibre/references/render-stability.md +64 -0
- package/templates/default/.opencode/skills/remotion-best-practices/remotion-maps/techniques/maptiler/TECHNIQUE.md +80 -0
- package/templates/default/.opencode/skills/remotion-best-practices/remotion-maps/techniques/maptiler/assets/CountryLabel.tsx +70 -0
- package/templates/default/.opencode/skills/remotion-best-practices/remotion-maps/techniques/maptiler/assets/MapTilerVectorElement.ts +80 -0
- package/templates/default/.opencode/skills/remotion-best-practices/remotion-maps/techniques/maptiler/assets/RiverReveal.tsx +363 -0
- package/templates/default/.opencode/skills/remotion-best-practices/remotion-maps/techniques/maptiler/assets/example-Root.tsx +22 -0
- package/templates/default/.opencode/skills/remotion-best-practices/remotion-maps/techniques/maptiler/assets/sample-data/country-meta.json +7535 -0
- package/templates/default/.opencode/skills/remotion-best-practices/remotion-maps/techniques/maptiler/assets/sample-data/yarlung-flow.json +605 -0
- package/templates/default/.opencode/skills/remotion-best-practices/remotion-maps/techniques/maptiler/assets/tokens.ts +34 -0
- package/templates/default/.opencode/skills/remotion-best-practices/remotion-maps/techniques/maptiler/references/map-data-sources.md +91 -0
- package/templates/default/.opencode/skills/remotion-best-practices/remotion-maps/techniques/maptiler/references/map-explainer-architecture.md +129 -0
- package/templates/default/.opencode/skills/remotion-best-practices/remotion-maps/techniques/maptiler/references/map-geo-prep.md +85 -0
- package/templates/default/.opencode/skills/remotion-best-practices/remotion-maps/techniques/maptiler/references/render-stability.md +64 -0
- package/templates/default/.opencode/skills/remotion-best-practices/remotion-maps/techniques/maptiler/scripts/prep-geo.mjs +202 -0
- package/templates/default/.opencode/skills/remotion-best-practices/remotion-maps/techniques/static-map/TECHNIQUE.md +37 -0
- package/templates/default/.opencode/skills/remotion-best-practices/remotion-markup/3d.md +86 -0
- package/templates/default/.opencode/skills/remotion-best-practices/remotion-markup/REFERENCE.md +365 -0
- package/templates/default/.opencode/skills/remotion-best-practices/remotion-markup/agents/openai.yaml +7 -0
- package/templates/default/.opencode/skills/remotion-best-practices/remotion-markup/assets/remotion-icon.png +0 -0
- package/templates/default/.opencode/skills/remotion-best-practices/remotion-markup/audio-visualization.md +198 -0
- package/templates/default/.opencode/skills/remotion-best-practices/remotion-markup/audio.md +171 -0
- package/templates/default/.opencode/skills/remotion-best-practices/remotion-markup/calculate-metadata.md +136 -0
- package/templates/default/.opencode/skills/remotion-best-practices/remotion-markup/compositions.md +117 -0
- package/templates/default/.opencode/skills/remotion-best-practices/remotion-markup/cropping.md +34 -0
- package/templates/default/.opencode/skills/remotion-best-practices/remotion-markup/effects.md +251 -0
- package/templates/default/.opencode/skills/remotion-best-practices/remotion-markup/embedding-videos.md +173 -0
- package/templates/default/.opencode/skills/remotion-best-practices/remotion-markup/ffmpeg.md +38 -0
- package/templates/default/.opencode/skills/remotion-best-practices/remotion-markup/gifs.md +187 -0
- package/templates/default/.opencode/skills/remotion-best-practices/remotion-markup/google-fonts.md +76 -0
- package/templates/default/.opencode/skills/remotion-best-practices/remotion-markup/html-in-canvas.md +128 -0
- package/templates/default/.opencode/skills/remotion-best-practices/remotion-markup/images.md +73 -0
- package/templates/default/.opencode/skills/remotion-best-practices/remotion-markup/light-leaks.md +106 -0
- package/templates/default/.opencode/skills/remotion-best-practices/remotion-markup/local-fonts.md +69 -0
- package/templates/default/.opencode/skills/remotion-best-practices/remotion-markup/lottie.md +73 -0
- package/templates/default/.opencode/skills/remotion-best-practices/remotion-markup/measuring-dom-nodes.md +38 -0
- package/templates/default/.opencode/skills/remotion-best-practices/remotion-markup/measuring-text.md +146 -0
- package/templates/default/.opencode/skills/remotion-best-practices/remotion-markup/multi-scene-video.md +81 -0
- package/templates/default/.opencode/skills/remotion-best-practices/remotion-markup/parameters.md +111 -0
- package/templates/default/.opencode/skills/remotion-best-practices/remotion-markup/remotion-maps/REFERENCE.md +36 -0
- package/templates/default/.opencode/skills/remotion-best-practices/remotion-markup/remotion-maps/agents/openai.yaml +7 -0
- package/templates/default/.opencode/skills/remotion-best-practices/remotion-markup/remotion-maps/assets/remotion-icon.png +0 -0
- package/templates/default/.opencode/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/cesium/TECHNIQUE.md +89 -0
- package/templates/default/.opencode/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/cesium/assets/CesiumFlythrough.tsx +284 -0
- package/templates/default/.opencode/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/cesium/assets/cesium-path.json +299 -0
- package/templates/default/.opencode/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/cesium/assets/city-path.json +12 -0
- package/templates/default/.opencode/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/cesium/assets/example-Root.tsx +39 -0
- package/templates/default/.opencode/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/cesium/assets/flight-path.ts +35 -0
- package/templates/default/.opencode/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/cesium/assets/sample-river.geojson +215 -0
- package/templates/default/.opencode/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/cesium/references/3d-data-sources.md +43 -0
- package/templates/default/.opencode/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/cesium/references/3d-flyover-architecture.md +128 -0
- package/templates/default/.opencode/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/cesium/references/3d-troubleshooting.md +57 -0
- package/templates/default/.opencode/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/cesium/scripts/prep-cesium-path.mjs +161 -0
- package/templates/default/.opencode/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/mapbox/TECHNIQUE.md +449 -0
- package/templates/default/.opencode/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/mapbox/references/render-stability.md +64 -0
- package/templates/default/.opencode/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/maplibre/TECHNIQUE.md +465 -0
- package/templates/default/.opencode/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/maplibre/references/render-stability.md +64 -0
- package/templates/default/.opencode/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/maptiler/TECHNIQUE.md +80 -0
- package/templates/default/.opencode/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/maptiler/assets/CountryLabel.tsx +70 -0
- package/templates/default/.opencode/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/maptiler/assets/MapTilerVectorElement.ts +80 -0
- package/templates/default/.opencode/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/maptiler/assets/RiverReveal.tsx +363 -0
- package/templates/default/.opencode/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/maptiler/assets/example-Root.tsx +22 -0
- package/templates/default/.opencode/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/maptiler/assets/sample-data/country-meta.json +7535 -0
- package/templates/default/.opencode/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/maptiler/assets/sample-data/yarlung-flow.json +605 -0
- package/templates/default/.opencode/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/maptiler/assets/tokens.ts +34 -0
- package/templates/default/.opencode/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/maptiler/references/map-data-sources.md +91 -0
- package/templates/default/.opencode/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/maptiler/references/map-explainer-architecture.md +129 -0
- package/templates/default/.opencode/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/maptiler/references/map-geo-prep.md +85 -0
- package/templates/default/.opencode/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/maptiler/references/render-stability.md +64 -0
- package/templates/default/.opencode/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/maptiler/scripts/prep-geo.mjs +202 -0
- package/templates/default/.opencode/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/static-map/TECHNIQUE.md +37 -0
- package/templates/default/.opencode/skills/remotion-best-practices/remotion-markup/sequencing.md +169 -0
- package/templates/default/.opencode/skills/remotion-best-practices/remotion-markup/sfx.md +51 -0
- package/templates/default/.opencode/skills/remotion-best-practices/remotion-markup/silence-detection.md +71 -0
- package/templates/default/.opencode/skills/remotion-best-practices/remotion-markup/text-highlights.md +56 -0
- package/templates/default/.opencode/skills/remotion-best-practices/remotion-markup/timing.md +111 -0
- package/templates/default/.opencode/skills/remotion-best-practices/remotion-markup/transitions.md +239 -0
- package/templates/default/.opencode/skills/remotion-best-practices/remotion-markup/video-editing.md +90 -0
- package/templates/default/.opencode/skills/remotion-best-practices/remotion-markup/voiceover.md +99 -0
- package/templates/default/.opencode/skills/remotion-best-practices/remotion-multimedia/REFERENCE.md +20 -0
- package/templates/default/.opencode/skills/remotion-best-practices/remotion-multimedia/agents/openai.yaml +7 -0
- package/templates/default/.opencode/skills/remotion-best-practices/remotion-multimedia/assets/remotion-icon.png +0 -0
- package/templates/default/.opencode/skills/remotion-best-practices/remotion-multimedia/get-audio-duration.md +56 -0
- package/templates/default/.opencode/skills/remotion-best-practices/remotion-multimedia/get-video-dimensions.md +66 -0
- package/templates/default/.opencode/skills/remotion-best-practices/remotion-multimedia/get-video-duration.md +58 -0
- package/templates/default/.opencode/skills/remotion-best-practices/remotion-render/REFERENCE.md +27 -0
- package/templates/default/.opencode/skills/remotion-best-practices/remotion-render/agents/openai.yaml +7 -0
- package/templates/default/.opencode/skills/remotion-best-practices/remotion-render/assets/remotion-icon.png +0 -0
- package/templates/default/.opencode/skills/remotion-best-practices/remotion-render/transparent-videos.md +106 -0
- package/templates/default/.opencode/skills/remotion-best-practices/remotion-saas/REFERENCE.md +33 -0
- package/templates/default/.opencode/skills/remotion-best-practices/remotion-saas/agents/openai.yaml +7 -0
- package/templates/default/.opencode/skills/remotion-best-practices/remotion-saas/assets/remotion-icon.png +0 -0
- package/templates/default/.opencode/skills/remotion-best-practices/remotion-saas/framework.md +21 -0
- package/templates/default/.opencode/skills/remotion-best-practices/remotion-saas/player.md +33 -0
- package/templates/default/.opencode/skills/remotion-best-practices/remotion-saas/rendering.md +69 -0
- package/templates/default/.opencode/skills/remotion-best-practices/remotion-studio/REFERENCE.md +24 -0
- package/templates/default/.opencode/skills/remotion-best-practices/remotion-studio/agents/openai.yaml +7 -0
- package/templates/default/.opencode/skills/remotion-best-practices/remotion-studio/assets/remotion-icon.png +0 -0
- package/templates/default/.opencode/skills/remotion-best-practices/remotion-upgrade/REFERENCE.md +31 -0
- package/templates/default/.opencode/skills/remotion-best-practices/remotion-upgrade/agents/openai.yaml +7 -0
- package/templates/default/.opencode/skills/remotion-best-practices/remotion-upgrade/assets/remotion-icon.png +0 -0
- package/templates/default/.opencode/skills/remotion-captions/SKILL.md +36 -0
- package/templates/default/.opencode/skills/remotion-captions/agents/openai.yaml +7 -0
- package/templates/default/.opencode/skills/remotion-captions/assets/remotion-icon.png +0 -0
- package/templates/default/.opencode/skills/remotion-captions/display-captions.md +190 -0
- package/templates/default/.opencode/skills/remotion-captions/import-srt-captions.md +73 -0
- package/templates/default/.opencode/skills/remotion-captions/transcribe-captions.md +70 -0
- package/templates/default/.opencode/skills/remotion-create/SKILL.md +68 -0
- package/templates/default/.opencode/skills/remotion-create/agents/openai.yaml +7 -0
- package/templates/default/.opencode/skills/remotion-create/assets/remotion-icon.png +0 -0
- package/templates/default/.opencode/skills/remotion-create/tailwind.md +11 -0
- package/templates/default/.opencode/skills/remotion-create/video-layout.md +9 -0
- package/templates/default/.opencode/skills/remotion-docs/SKILL.md +46 -0
- package/templates/default/.opencode/skills/remotion-docs/agents/openai.yaml +7 -0
- package/templates/default/.opencode/skills/remotion-docs/assets/remotion-icon.png +0 -0
- package/templates/default/.opencode/skills/remotion-interactivity/SKILL.md +247 -0
- package/templates/default/.opencode/skills/remotion-interactivity/agents/openai.yaml +7 -0
- package/templates/default/.opencode/skills/remotion-interactivity/assets/remotion-icon.png +0 -0
- package/templates/default/.opencode/skills/remotion-maps/SKILL.md +36 -0
- package/templates/default/.opencode/skills/remotion-maps/agents/openai.yaml +7 -0
- package/templates/default/.opencode/skills/remotion-maps/assets/remotion-icon.png +0 -0
- package/templates/default/.opencode/skills/remotion-maps/techniques/cesium/TECHNIQUE.md +89 -0
- package/templates/default/.opencode/skills/remotion-maps/techniques/cesium/assets/CesiumFlythrough.tsx +284 -0
- package/templates/default/.opencode/skills/remotion-maps/techniques/cesium/assets/cesium-path.json +299 -0
- package/templates/default/.opencode/skills/remotion-maps/techniques/cesium/assets/city-path.json +12 -0
- package/templates/default/.opencode/skills/remotion-maps/techniques/cesium/assets/example-Root.tsx +39 -0
- package/templates/default/.opencode/skills/remotion-maps/techniques/cesium/assets/flight-path.ts +35 -0
- package/templates/default/.opencode/skills/remotion-maps/techniques/cesium/assets/sample-river.geojson +215 -0
- package/templates/default/.opencode/skills/remotion-maps/techniques/cesium/references/3d-data-sources.md +43 -0
- package/templates/default/.opencode/skills/remotion-maps/techniques/cesium/references/3d-flyover-architecture.md +128 -0
- package/templates/default/.opencode/skills/remotion-maps/techniques/cesium/references/3d-troubleshooting.md +57 -0
- package/templates/default/.opencode/skills/remotion-maps/techniques/cesium/scripts/prep-cesium-path.mjs +161 -0
- package/templates/default/.opencode/skills/remotion-maps/techniques/mapbox/TECHNIQUE.md +449 -0
- package/templates/default/.opencode/skills/remotion-maps/techniques/mapbox/references/render-stability.md +64 -0
- package/templates/default/.opencode/skills/remotion-maps/techniques/maplibre/TECHNIQUE.md +465 -0
- package/templates/default/.opencode/skills/remotion-maps/techniques/maplibre/references/render-stability.md +64 -0
- package/templates/default/.opencode/skills/remotion-maps/techniques/maptiler/TECHNIQUE.md +80 -0
- package/templates/default/.opencode/skills/remotion-maps/techniques/maptiler/assets/CountryLabel.tsx +70 -0
- package/templates/default/.opencode/skills/remotion-maps/techniques/maptiler/assets/MapTilerVectorElement.ts +80 -0
- package/templates/default/.opencode/skills/remotion-maps/techniques/maptiler/assets/RiverReveal.tsx +363 -0
- package/templates/default/.opencode/skills/remotion-maps/techniques/maptiler/assets/example-Root.tsx +22 -0
- package/templates/default/.opencode/skills/remotion-maps/techniques/maptiler/assets/sample-data/country-meta.json +7535 -0
- package/templates/default/.opencode/skills/remotion-maps/techniques/maptiler/assets/sample-data/yarlung-flow.json +605 -0
- package/templates/default/.opencode/skills/remotion-maps/techniques/maptiler/assets/tokens.ts +34 -0
- package/templates/default/.opencode/skills/remotion-maps/techniques/maptiler/references/map-data-sources.md +91 -0
- package/templates/default/.opencode/skills/remotion-maps/techniques/maptiler/references/map-explainer-architecture.md +129 -0
- package/templates/default/.opencode/skills/remotion-maps/techniques/maptiler/references/map-geo-prep.md +85 -0
- package/templates/default/.opencode/skills/remotion-maps/techniques/maptiler/references/render-stability.md +64 -0
- package/templates/default/.opencode/skills/remotion-maps/techniques/maptiler/scripts/prep-geo.mjs +202 -0
- package/templates/default/.opencode/skills/remotion-maps/techniques/static-map/TECHNIQUE.md +37 -0
- package/templates/default/.opencode/skills/remotion-markup/3d.md +86 -0
- package/templates/default/.opencode/skills/remotion-markup/SKILL.md +365 -0
- package/templates/default/.opencode/skills/remotion-markup/agents/openai.yaml +7 -0
- package/templates/default/.opencode/skills/remotion-markup/assets/remotion-icon.png +0 -0
- package/templates/default/.opencode/skills/remotion-markup/audio-visualization.md +198 -0
- package/templates/default/.opencode/skills/remotion-markup/audio.md +171 -0
- package/templates/default/.opencode/skills/remotion-markup/calculate-metadata.md +136 -0
- package/templates/default/.opencode/skills/remotion-markup/compositions.md +117 -0
- package/templates/default/.opencode/skills/remotion-markup/cropping.md +34 -0
- package/templates/default/.opencode/skills/remotion-markup/effects.md +251 -0
- package/templates/default/.opencode/skills/remotion-markup/embedding-videos.md +173 -0
- package/templates/default/.opencode/skills/remotion-markup/ffmpeg.md +38 -0
- package/templates/default/.opencode/skills/remotion-markup/gifs.md +187 -0
- package/templates/default/.opencode/skills/remotion-markup/google-fonts.md +76 -0
- package/templates/default/.opencode/skills/remotion-markup/html-in-canvas.md +128 -0
- package/templates/default/.opencode/skills/remotion-markup/images.md +73 -0
- package/templates/default/.opencode/skills/remotion-markup/light-leaks.md +106 -0
- package/templates/default/.opencode/skills/remotion-markup/local-fonts.md +69 -0
- package/templates/default/.opencode/skills/remotion-markup/lottie.md +73 -0
- package/templates/default/.opencode/skills/remotion-markup/measuring-dom-nodes.md +38 -0
- package/templates/default/.opencode/skills/remotion-markup/measuring-text.md +146 -0
- package/templates/default/.opencode/skills/remotion-markup/multi-scene-video.md +81 -0
- package/templates/default/.opencode/skills/remotion-markup/parameters.md +111 -0
- package/templates/default/.opencode/skills/remotion-markup/remotion-maps/REFERENCE.md +36 -0
- package/templates/default/.opencode/skills/remotion-markup/remotion-maps/agents/openai.yaml +7 -0
- package/templates/default/.opencode/skills/remotion-markup/remotion-maps/assets/remotion-icon.png +0 -0
- package/templates/default/.opencode/skills/remotion-markup/remotion-maps/techniques/cesium/TECHNIQUE.md +89 -0
- package/templates/default/.opencode/skills/remotion-markup/remotion-maps/techniques/cesium/assets/CesiumFlythrough.tsx +284 -0
- package/templates/default/.opencode/skills/remotion-markup/remotion-maps/techniques/cesium/assets/cesium-path.json +299 -0
- package/templates/default/.opencode/skills/remotion-markup/remotion-maps/techniques/cesium/assets/city-path.json +12 -0
- package/templates/default/.opencode/skills/remotion-markup/remotion-maps/techniques/cesium/assets/example-Root.tsx +39 -0
- package/templates/default/.opencode/skills/remotion-markup/remotion-maps/techniques/cesium/assets/flight-path.ts +35 -0
- package/templates/default/.opencode/skills/remotion-markup/remotion-maps/techniques/cesium/assets/sample-river.geojson +215 -0
- package/templates/default/.opencode/skills/remotion-markup/remotion-maps/techniques/cesium/references/3d-data-sources.md +43 -0
- package/templates/default/.opencode/skills/remotion-markup/remotion-maps/techniques/cesium/references/3d-flyover-architecture.md +128 -0
- package/templates/default/.opencode/skills/remotion-markup/remotion-maps/techniques/cesium/references/3d-troubleshooting.md +57 -0
- package/templates/default/.opencode/skills/remotion-markup/remotion-maps/techniques/cesium/scripts/prep-cesium-path.mjs +161 -0
- package/templates/default/.opencode/skills/remotion-markup/remotion-maps/techniques/mapbox/TECHNIQUE.md +449 -0
- package/templates/default/.opencode/skills/remotion-markup/remotion-maps/techniques/mapbox/references/render-stability.md +64 -0
- package/templates/default/.opencode/skills/remotion-markup/remotion-maps/techniques/maplibre/TECHNIQUE.md +465 -0
- package/templates/default/.opencode/skills/remotion-markup/remotion-maps/techniques/maplibre/references/render-stability.md +64 -0
- package/templates/default/.opencode/skills/remotion-markup/remotion-maps/techniques/maptiler/TECHNIQUE.md +80 -0
- package/templates/default/.opencode/skills/remotion-markup/remotion-maps/techniques/maptiler/assets/CountryLabel.tsx +70 -0
- package/templates/default/.opencode/skills/remotion-markup/remotion-maps/techniques/maptiler/assets/MapTilerVectorElement.ts +80 -0
- package/templates/default/.opencode/skills/remotion-markup/remotion-maps/techniques/maptiler/assets/RiverReveal.tsx +363 -0
- package/templates/default/.opencode/skills/remotion-markup/remotion-maps/techniques/maptiler/assets/example-Root.tsx +22 -0
- package/templates/default/.opencode/skills/remotion-markup/remotion-maps/techniques/maptiler/assets/sample-data/country-meta.json +7535 -0
- package/templates/default/.opencode/skills/remotion-markup/remotion-maps/techniques/maptiler/assets/sample-data/yarlung-flow.json +605 -0
- package/templates/default/.opencode/skills/remotion-markup/remotion-maps/techniques/maptiler/assets/tokens.ts +34 -0
- package/templates/default/.opencode/skills/remotion-markup/remotion-maps/techniques/maptiler/references/map-data-sources.md +91 -0
- package/templates/default/.opencode/skills/remotion-markup/remotion-maps/techniques/maptiler/references/map-explainer-architecture.md +129 -0
- package/templates/default/.opencode/skills/remotion-markup/remotion-maps/techniques/maptiler/references/map-geo-prep.md +85 -0
- package/templates/default/.opencode/skills/remotion-markup/remotion-maps/techniques/maptiler/references/render-stability.md +64 -0
- package/templates/default/.opencode/skills/remotion-markup/remotion-maps/techniques/maptiler/scripts/prep-geo.mjs +202 -0
- package/templates/default/.opencode/skills/remotion-markup/remotion-maps/techniques/static-map/TECHNIQUE.md +37 -0
- package/templates/default/.opencode/skills/remotion-markup/sequencing.md +169 -0
- package/templates/default/.opencode/skills/remotion-markup/sfx.md +51 -0
- package/templates/default/.opencode/skills/remotion-markup/silence-detection.md +71 -0
- package/templates/default/.opencode/skills/remotion-markup/text-highlights.md +56 -0
- package/templates/default/.opencode/skills/remotion-markup/timing.md +111 -0
- package/templates/default/.opencode/skills/remotion-markup/transitions.md +239 -0
- package/templates/default/.opencode/skills/remotion-markup/video-editing.md +90 -0
- package/templates/default/.opencode/skills/remotion-markup/voiceover.md +99 -0
- package/templates/default/.opencode/skills/remotion-multimedia/SKILL.md +20 -0
- package/templates/default/.opencode/skills/remotion-multimedia/agents/openai.yaml +7 -0
- package/templates/default/.opencode/skills/remotion-multimedia/assets/remotion-icon.png +0 -0
- package/templates/default/.opencode/skills/remotion-multimedia/get-audio-duration.md +56 -0
- package/templates/default/.opencode/skills/remotion-multimedia/get-video-dimensions.md +66 -0
- package/templates/default/.opencode/skills/remotion-multimedia/get-video-duration.md +58 -0
- package/templates/default/.opencode/skills/remotion-render/SKILL.md +27 -0
- package/templates/default/.opencode/skills/remotion-render/agents/openai.yaml +7 -0
- package/templates/default/.opencode/skills/remotion-render/assets/remotion-icon.png +0 -0
- package/templates/default/.opencode/skills/remotion-render/transparent-videos.md +106 -0
- package/templates/default/.opencode/skills/remotion-saas/SKILL.md +33 -0
- package/templates/default/.opencode/skills/remotion-saas/agents/openai.yaml +7 -0
- package/templates/default/.opencode/skills/remotion-saas/assets/remotion-icon.png +0 -0
- package/templates/default/.opencode/skills/remotion-saas/framework.md +21 -0
- package/templates/default/.opencode/skills/remotion-saas/player.md +33 -0
- package/templates/default/.opencode/skills/remotion-saas/rendering.md +69 -0
- package/templates/default/.opencode/skills/remotion-studio/SKILL.md +24 -0
- package/templates/default/.opencode/skills/remotion-studio/agents/openai.yaml +7 -0
- package/templates/default/.opencode/skills/remotion-studio/assets/remotion-icon.png +0 -0
- package/templates/default/.opencode/skills/remotion-upgrade/SKILL.md +31 -0
- package/templates/default/.opencode/skills/remotion-upgrade/agents/openai.yaml +7 -0
- package/templates/default/.opencode/skills/remotion-upgrade/assets/remotion-icon.png +0 -0
- package/templates/default/.windsurf/skills/remotion-best-practices/SKILL.md +59 -0
- package/templates/default/.windsurf/skills/remotion-best-practices/agents/openai.yaml +7 -0
- package/templates/default/.windsurf/skills/remotion-best-practices/assets/remotion-icon.png +0 -0
- package/templates/default/.windsurf/skills/remotion-best-practices/remotion-captions/REFERENCE.md +36 -0
- package/templates/default/.windsurf/skills/remotion-best-practices/remotion-captions/agents/openai.yaml +7 -0
- package/templates/default/.windsurf/skills/remotion-best-practices/remotion-captions/assets/remotion-icon.png +0 -0
- package/templates/default/.windsurf/skills/remotion-best-practices/remotion-captions/display-captions.md +190 -0
- package/templates/default/.windsurf/skills/remotion-best-practices/remotion-captions/import-srt-captions.md +73 -0
- package/templates/default/.windsurf/skills/remotion-best-practices/remotion-captions/transcribe-captions.md +70 -0
- package/templates/default/.windsurf/skills/remotion-best-practices/remotion-create/REFERENCE.md +68 -0
- package/templates/default/.windsurf/skills/remotion-best-practices/remotion-create/agents/openai.yaml +7 -0
- package/templates/default/.windsurf/skills/remotion-best-practices/remotion-create/assets/remotion-icon.png +0 -0
- package/templates/default/.windsurf/skills/remotion-best-practices/remotion-create/tailwind.md +11 -0
- package/templates/default/.windsurf/skills/remotion-best-practices/remotion-create/video-layout.md +9 -0
- package/templates/default/.windsurf/skills/remotion-best-practices/remotion-docs/REFERENCE.md +46 -0
- package/templates/default/.windsurf/skills/remotion-best-practices/remotion-docs/agents/openai.yaml +7 -0
- package/templates/default/.windsurf/skills/remotion-best-practices/remotion-docs/assets/remotion-icon.png +0 -0
- package/templates/default/.windsurf/skills/remotion-best-practices/remotion-interactivity/REFERENCE.md +247 -0
- package/templates/default/.windsurf/skills/remotion-best-practices/remotion-interactivity/agents/openai.yaml +7 -0
- package/templates/default/.windsurf/skills/remotion-best-practices/remotion-interactivity/assets/remotion-icon.png +0 -0
- package/templates/default/.windsurf/skills/remotion-best-practices/remotion-maps/REFERENCE.md +36 -0
- package/templates/default/.windsurf/skills/remotion-best-practices/remotion-maps/agents/openai.yaml +7 -0
- package/templates/default/.windsurf/skills/remotion-best-practices/remotion-maps/assets/remotion-icon.png +0 -0
- package/templates/default/.windsurf/skills/remotion-best-practices/remotion-maps/techniques/cesium/TECHNIQUE.md +89 -0
- package/templates/default/.windsurf/skills/remotion-best-practices/remotion-maps/techniques/cesium/assets/CesiumFlythrough.tsx +284 -0
- package/templates/default/.windsurf/skills/remotion-best-practices/remotion-maps/techniques/cesium/assets/cesium-path.json +299 -0
- package/templates/default/.windsurf/skills/remotion-best-practices/remotion-maps/techniques/cesium/assets/city-path.json +12 -0
- package/templates/default/.windsurf/skills/remotion-best-practices/remotion-maps/techniques/cesium/assets/example-Root.tsx +39 -0
- package/templates/default/.windsurf/skills/remotion-best-practices/remotion-maps/techniques/cesium/assets/flight-path.ts +35 -0
- package/templates/default/.windsurf/skills/remotion-best-practices/remotion-maps/techniques/cesium/assets/sample-river.geojson +215 -0
- package/templates/default/.windsurf/skills/remotion-best-practices/remotion-maps/techniques/cesium/references/3d-data-sources.md +43 -0
- package/templates/default/.windsurf/skills/remotion-best-practices/remotion-maps/techniques/cesium/references/3d-flyover-architecture.md +128 -0
- package/templates/default/.windsurf/skills/remotion-best-practices/remotion-maps/techniques/cesium/references/3d-troubleshooting.md +57 -0
- package/templates/default/.windsurf/skills/remotion-best-practices/remotion-maps/techniques/cesium/scripts/prep-cesium-path.mjs +161 -0
- package/templates/default/.windsurf/skills/remotion-best-practices/remotion-maps/techniques/mapbox/TECHNIQUE.md +449 -0
- package/templates/default/.windsurf/skills/remotion-best-practices/remotion-maps/techniques/mapbox/references/render-stability.md +64 -0
- package/templates/default/.windsurf/skills/remotion-best-practices/remotion-maps/techniques/maplibre/TECHNIQUE.md +465 -0
- package/templates/default/.windsurf/skills/remotion-best-practices/remotion-maps/techniques/maplibre/references/render-stability.md +64 -0
- package/templates/default/.windsurf/skills/remotion-best-practices/remotion-maps/techniques/maptiler/TECHNIQUE.md +80 -0
- package/templates/default/.windsurf/skills/remotion-best-practices/remotion-maps/techniques/maptiler/assets/CountryLabel.tsx +70 -0
- package/templates/default/.windsurf/skills/remotion-best-practices/remotion-maps/techniques/maptiler/assets/MapTilerVectorElement.ts +80 -0
- package/templates/default/.windsurf/skills/remotion-best-practices/remotion-maps/techniques/maptiler/assets/RiverReveal.tsx +363 -0
- package/templates/default/.windsurf/skills/remotion-best-practices/remotion-maps/techniques/maptiler/assets/example-Root.tsx +22 -0
- package/templates/default/.windsurf/skills/remotion-best-practices/remotion-maps/techniques/maptiler/assets/sample-data/country-meta.json +7535 -0
- package/templates/default/.windsurf/skills/remotion-best-practices/remotion-maps/techniques/maptiler/assets/sample-data/yarlung-flow.json +605 -0
- package/templates/default/.windsurf/skills/remotion-best-practices/remotion-maps/techniques/maptiler/assets/tokens.ts +34 -0
- package/templates/default/.windsurf/skills/remotion-best-practices/remotion-maps/techniques/maptiler/references/map-data-sources.md +91 -0
- package/templates/default/.windsurf/skills/remotion-best-practices/remotion-maps/techniques/maptiler/references/map-explainer-architecture.md +129 -0
- package/templates/default/.windsurf/skills/remotion-best-practices/remotion-maps/techniques/maptiler/references/map-geo-prep.md +85 -0
- package/templates/default/.windsurf/skills/remotion-best-practices/remotion-maps/techniques/maptiler/references/render-stability.md +64 -0
- package/templates/default/.windsurf/skills/remotion-best-practices/remotion-maps/techniques/maptiler/scripts/prep-geo.mjs +202 -0
- package/templates/default/.windsurf/skills/remotion-best-practices/remotion-maps/techniques/static-map/TECHNIQUE.md +37 -0
- package/templates/default/.windsurf/skills/remotion-best-practices/remotion-markup/3d.md +86 -0
- package/templates/default/.windsurf/skills/remotion-best-practices/remotion-markup/REFERENCE.md +365 -0
- package/templates/default/.windsurf/skills/remotion-best-practices/remotion-markup/agents/openai.yaml +7 -0
- package/templates/default/.windsurf/skills/remotion-best-practices/remotion-markup/assets/remotion-icon.png +0 -0
- package/templates/default/.windsurf/skills/remotion-best-practices/remotion-markup/audio-visualization.md +198 -0
- package/templates/default/.windsurf/skills/remotion-best-practices/remotion-markup/audio.md +171 -0
- package/templates/default/.windsurf/skills/remotion-best-practices/remotion-markup/calculate-metadata.md +136 -0
- package/templates/default/.windsurf/skills/remotion-best-practices/remotion-markup/compositions.md +117 -0
- package/templates/default/.windsurf/skills/remotion-best-practices/remotion-markup/cropping.md +34 -0
- package/templates/default/.windsurf/skills/remotion-best-practices/remotion-markup/effects.md +251 -0
- package/templates/default/.windsurf/skills/remotion-best-practices/remotion-markup/embedding-videos.md +173 -0
- package/templates/default/.windsurf/skills/remotion-best-practices/remotion-markup/ffmpeg.md +38 -0
- package/templates/default/.windsurf/skills/remotion-best-practices/remotion-markup/gifs.md +187 -0
- package/templates/default/.windsurf/skills/remotion-best-practices/remotion-markup/google-fonts.md +76 -0
- package/templates/default/.windsurf/skills/remotion-best-practices/remotion-markup/html-in-canvas.md +128 -0
- package/templates/default/.windsurf/skills/remotion-best-practices/remotion-markup/images.md +73 -0
- package/templates/default/.windsurf/skills/remotion-best-practices/remotion-markup/light-leaks.md +106 -0
- package/templates/default/.windsurf/skills/remotion-best-practices/remotion-markup/local-fonts.md +69 -0
- package/templates/default/.windsurf/skills/remotion-best-practices/remotion-markup/lottie.md +73 -0
- package/templates/default/.windsurf/skills/remotion-best-practices/remotion-markup/measuring-dom-nodes.md +38 -0
- package/templates/default/.windsurf/skills/remotion-best-practices/remotion-markup/measuring-text.md +146 -0
- package/templates/default/.windsurf/skills/remotion-best-practices/remotion-markup/multi-scene-video.md +81 -0
- package/templates/default/.windsurf/skills/remotion-best-practices/remotion-markup/parameters.md +111 -0
- package/templates/default/.windsurf/skills/remotion-best-practices/remotion-markup/remotion-maps/REFERENCE.md +36 -0
- package/templates/default/.windsurf/skills/remotion-best-practices/remotion-markup/remotion-maps/agents/openai.yaml +7 -0
- package/templates/default/.windsurf/skills/remotion-best-practices/remotion-markup/remotion-maps/assets/remotion-icon.png +0 -0
- package/templates/default/.windsurf/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/cesium/TECHNIQUE.md +89 -0
- package/templates/default/.windsurf/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/cesium/assets/CesiumFlythrough.tsx +284 -0
- package/templates/default/.windsurf/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/cesium/assets/cesium-path.json +299 -0
- package/templates/default/.windsurf/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/cesium/assets/city-path.json +12 -0
- package/templates/default/.windsurf/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/cesium/assets/example-Root.tsx +39 -0
- package/templates/default/.windsurf/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/cesium/assets/flight-path.ts +35 -0
- package/templates/default/.windsurf/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/cesium/assets/sample-river.geojson +215 -0
- package/templates/default/.windsurf/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/cesium/references/3d-data-sources.md +43 -0
- package/templates/default/.windsurf/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/cesium/references/3d-flyover-architecture.md +128 -0
- package/templates/default/.windsurf/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/cesium/references/3d-troubleshooting.md +57 -0
- package/templates/default/.windsurf/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/cesium/scripts/prep-cesium-path.mjs +161 -0
- package/templates/default/.windsurf/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/mapbox/TECHNIQUE.md +449 -0
- package/templates/default/.windsurf/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/mapbox/references/render-stability.md +64 -0
- package/templates/default/.windsurf/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/maplibre/TECHNIQUE.md +465 -0
- package/templates/default/.windsurf/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/maplibre/references/render-stability.md +64 -0
- package/templates/default/.windsurf/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/maptiler/TECHNIQUE.md +80 -0
- package/templates/default/.windsurf/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/maptiler/assets/CountryLabel.tsx +70 -0
- package/templates/default/.windsurf/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/maptiler/assets/MapTilerVectorElement.ts +80 -0
- package/templates/default/.windsurf/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/maptiler/assets/RiverReveal.tsx +363 -0
- package/templates/default/.windsurf/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/maptiler/assets/example-Root.tsx +22 -0
- package/templates/default/.windsurf/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/maptiler/assets/sample-data/country-meta.json +7535 -0
- package/templates/default/.windsurf/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/maptiler/assets/sample-data/yarlung-flow.json +605 -0
- package/templates/default/.windsurf/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/maptiler/assets/tokens.ts +34 -0
- package/templates/default/.windsurf/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/maptiler/references/map-data-sources.md +91 -0
- package/templates/default/.windsurf/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/maptiler/references/map-explainer-architecture.md +129 -0
- package/templates/default/.windsurf/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/maptiler/references/map-geo-prep.md +85 -0
- package/templates/default/.windsurf/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/maptiler/references/render-stability.md +64 -0
- package/templates/default/.windsurf/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/maptiler/scripts/prep-geo.mjs +202 -0
- package/templates/default/.windsurf/skills/remotion-best-practices/remotion-markup/remotion-maps/techniques/static-map/TECHNIQUE.md +37 -0
- package/templates/default/.windsurf/skills/remotion-best-practices/remotion-markup/sequencing.md +169 -0
- package/templates/default/.windsurf/skills/remotion-best-practices/remotion-markup/sfx.md +51 -0
- package/templates/default/.windsurf/skills/remotion-best-practices/remotion-markup/silence-detection.md +71 -0
- package/templates/default/.windsurf/skills/remotion-best-practices/remotion-markup/text-highlights.md +56 -0
- package/templates/default/.windsurf/skills/remotion-best-practices/remotion-markup/timing.md +111 -0
- package/templates/default/.windsurf/skills/remotion-best-practices/remotion-markup/transitions.md +239 -0
- package/templates/default/.windsurf/skills/remotion-best-practices/remotion-markup/video-editing.md +90 -0
- package/templates/default/.windsurf/skills/remotion-best-practices/remotion-markup/voiceover.md +99 -0
- package/templates/default/.windsurf/skills/remotion-best-practices/remotion-multimedia/REFERENCE.md +20 -0
- package/templates/default/.windsurf/skills/remotion-best-practices/remotion-multimedia/agents/openai.yaml +7 -0
- package/templates/default/.windsurf/skills/remotion-best-practices/remotion-multimedia/assets/remotion-icon.png +0 -0
- package/templates/default/.windsurf/skills/remotion-best-practices/remotion-multimedia/get-audio-duration.md +56 -0
- package/templates/default/.windsurf/skills/remotion-best-practices/remotion-multimedia/get-video-dimensions.md +66 -0
- package/templates/default/.windsurf/skills/remotion-best-practices/remotion-multimedia/get-video-duration.md +58 -0
- package/templates/default/.windsurf/skills/remotion-best-practices/remotion-render/REFERENCE.md +27 -0
- package/templates/default/.windsurf/skills/remotion-best-practices/remotion-render/agents/openai.yaml +7 -0
- package/templates/default/.windsurf/skills/remotion-best-practices/remotion-render/assets/remotion-icon.png +0 -0
- package/templates/default/.windsurf/skills/remotion-best-practices/remotion-render/transparent-videos.md +106 -0
- package/templates/default/.windsurf/skills/remotion-best-practices/remotion-saas/REFERENCE.md +33 -0
- package/templates/default/.windsurf/skills/remotion-best-practices/remotion-saas/agents/openai.yaml +7 -0
- package/templates/default/.windsurf/skills/remotion-best-practices/remotion-saas/assets/remotion-icon.png +0 -0
- package/templates/default/.windsurf/skills/remotion-best-practices/remotion-saas/framework.md +21 -0
- package/templates/default/.windsurf/skills/remotion-best-practices/remotion-saas/player.md +33 -0
- package/templates/default/.windsurf/skills/remotion-best-practices/remotion-saas/rendering.md +69 -0
- package/templates/default/.windsurf/skills/remotion-best-practices/remotion-studio/REFERENCE.md +24 -0
- package/templates/default/.windsurf/skills/remotion-best-practices/remotion-studio/agents/openai.yaml +7 -0
- package/templates/default/.windsurf/skills/remotion-best-practices/remotion-studio/assets/remotion-icon.png +0 -0
- package/templates/default/.windsurf/skills/remotion-best-practices/remotion-upgrade/REFERENCE.md +31 -0
- package/templates/default/.windsurf/skills/remotion-best-practices/remotion-upgrade/agents/openai.yaml +7 -0
- package/templates/default/.windsurf/skills/remotion-best-practices/remotion-upgrade/assets/remotion-icon.png +0 -0
- package/templates/default/.windsurf/skills/remotion-captions/SKILL.md +36 -0
- package/templates/default/.windsurf/skills/remotion-captions/agents/openai.yaml +7 -0
- package/templates/default/.windsurf/skills/remotion-captions/assets/remotion-icon.png +0 -0
- package/templates/default/.windsurf/skills/remotion-captions/display-captions.md +190 -0
- package/templates/default/.windsurf/skills/remotion-captions/import-srt-captions.md +73 -0
- package/templates/default/.windsurf/skills/remotion-captions/transcribe-captions.md +70 -0
- package/templates/default/.windsurf/skills/remotion-create/SKILL.md +68 -0
- package/templates/default/.windsurf/skills/remotion-create/agents/openai.yaml +7 -0
- package/templates/default/.windsurf/skills/remotion-create/assets/remotion-icon.png +0 -0
- package/templates/default/.windsurf/skills/remotion-create/tailwind.md +11 -0
- package/templates/default/.windsurf/skills/remotion-create/video-layout.md +9 -0
- package/templates/default/.windsurf/skills/remotion-docs/SKILL.md +46 -0
- package/templates/default/.windsurf/skills/remotion-docs/agents/openai.yaml +7 -0
- package/templates/default/.windsurf/skills/remotion-docs/assets/remotion-icon.png +0 -0
- package/templates/default/.windsurf/skills/remotion-interactivity/SKILL.md +247 -0
- package/templates/default/.windsurf/skills/remotion-interactivity/agents/openai.yaml +7 -0
- package/templates/default/.windsurf/skills/remotion-interactivity/assets/remotion-icon.png +0 -0
- package/templates/default/.windsurf/skills/remotion-maps/SKILL.md +36 -0
- package/templates/default/.windsurf/skills/remotion-maps/agents/openai.yaml +7 -0
- package/templates/default/.windsurf/skills/remotion-maps/assets/remotion-icon.png +0 -0
- package/templates/default/.windsurf/skills/remotion-maps/techniques/cesium/TECHNIQUE.md +89 -0
- package/templates/default/.windsurf/skills/remotion-maps/techniques/cesium/assets/CesiumFlythrough.tsx +284 -0
- package/templates/default/.windsurf/skills/remotion-maps/techniques/cesium/assets/cesium-path.json +299 -0
- package/templates/default/.windsurf/skills/remotion-maps/techniques/cesium/assets/city-path.json +12 -0
- package/templates/default/.windsurf/skills/remotion-maps/techniques/cesium/assets/example-Root.tsx +39 -0
- package/templates/default/.windsurf/skills/remotion-maps/techniques/cesium/assets/flight-path.ts +35 -0
- package/templates/default/.windsurf/skills/remotion-maps/techniques/cesium/assets/sample-river.geojson +215 -0
- package/templates/default/.windsurf/skills/remotion-maps/techniques/cesium/references/3d-data-sources.md +43 -0
- package/templates/default/.windsurf/skills/remotion-maps/techniques/cesium/references/3d-flyover-architecture.md +128 -0
- package/templates/default/.windsurf/skills/remotion-maps/techniques/cesium/references/3d-troubleshooting.md +57 -0
- package/templates/default/.windsurf/skills/remotion-maps/techniques/cesium/scripts/prep-cesium-path.mjs +161 -0
- package/templates/default/.windsurf/skills/remotion-maps/techniques/mapbox/TECHNIQUE.md +449 -0
- package/templates/default/.windsurf/skills/remotion-maps/techniques/mapbox/references/render-stability.md +64 -0
- package/templates/default/.windsurf/skills/remotion-maps/techniques/maplibre/TECHNIQUE.md +465 -0
- package/templates/default/.windsurf/skills/remotion-maps/techniques/maplibre/references/render-stability.md +64 -0
- package/templates/default/.windsurf/skills/remotion-maps/techniques/maptiler/TECHNIQUE.md +80 -0
- package/templates/default/.windsurf/skills/remotion-maps/techniques/maptiler/assets/CountryLabel.tsx +70 -0
- package/templates/default/.windsurf/skills/remotion-maps/techniques/maptiler/assets/MapTilerVectorElement.ts +80 -0
- package/templates/default/.windsurf/skills/remotion-maps/techniques/maptiler/assets/RiverReveal.tsx +363 -0
- package/templates/default/.windsurf/skills/remotion-maps/techniques/maptiler/assets/example-Root.tsx +22 -0
- package/templates/default/.windsurf/skills/remotion-maps/techniques/maptiler/assets/sample-data/country-meta.json +7535 -0
- package/templates/default/.windsurf/skills/remotion-maps/techniques/maptiler/assets/sample-data/yarlung-flow.json +605 -0
- package/templates/default/.windsurf/skills/remotion-maps/techniques/maptiler/assets/tokens.ts +34 -0
- package/templates/default/.windsurf/skills/remotion-maps/techniques/maptiler/references/map-data-sources.md +91 -0
- package/templates/default/.windsurf/skills/remotion-maps/techniques/maptiler/references/map-explainer-architecture.md +129 -0
- package/templates/default/.windsurf/skills/remotion-maps/techniques/maptiler/references/map-geo-prep.md +85 -0
- package/templates/default/.windsurf/skills/remotion-maps/techniques/maptiler/references/render-stability.md +64 -0
- package/templates/default/.windsurf/skills/remotion-maps/techniques/maptiler/scripts/prep-geo.mjs +202 -0
- package/templates/default/.windsurf/skills/remotion-maps/techniques/static-map/TECHNIQUE.md +37 -0
- package/templates/default/.windsurf/skills/remotion-markup/3d.md +86 -0
- package/templates/default/.windsurf/skills/remotion-markup/SKILL.md +365 -0
- package/templates/default/.windsurf/skills/remotion-markup/agents/openai.yaml +7 -0
- package/templates/default/.windsurf/skills/remotion-markup/assets/remotion-icon.png +0 -0
- package/templates/default/.windsurf/skills/remotion-markup/audio-visualization.md +198 -0
- package/templates/default/.windsurf/skills/remotion-markup/audio.md +171 -0
- package/templates/default/.windsurf/skills/remotion-markup/calculate-metadata.md +136 -0
- package/templates/default/.windsurf/skills/remotion-markup/compositions.md +117 -0
- package/templates/default/.windsurf/skills/remotion-markup/cropping.md +34 -0
- package/templates/default/.windsurf/skills/remotion-markup/effects.md +251 -0
- package/templates/default/.windsurf/skills/remotion-markup/embedding-videos.md +173 -0
- package/templates/default/.windsurf/skills/remotion-markup/ffmpeg.md +38 -0
- package/templates/default/.windsurf/skills/remotion-markup/gifs.md +187 -0
- package/templates/default/.windsurf/skills/remotion-markup/google-fonts.md +76 -0
- package/templates/default/.windsurf/skills/remotion-markup/html-in-canvas.md +128 -0
- package/templates/default/.windsurf/skills/remotion-markup/images.md +73 -0
- package/templates/default/.windsurf/skills/remotion-markup/light-leaks.md +106 -0
- package/templates/default/.windsurf/skills/remotion-markup/local-fonts.md +69 -0
- package/templates/default/.windsurf/skills/remotion-markup/lottie.md +73 -0
- package/templates/default/.windsurf/skills/remotion-markup/measuring-dom-nodes.md +38 -0
- package/templates/default/.windsurf/skills/remotion-markup/measuring-text.md +146 -0
- package/templates/default/.windsurf/skills/remotion-markup/multi-scene-video.md +81 -0
- package/templates/default/.windsurf/skills/remotion-markup/parameters.md +111 -0
- package/templates/default/.windsurf/skills/remotion-markup/remotion-maps/REFERENCE.md +36 -0
- package/templates/default/.windsurf/skills/remotion-markup/remotion-maps/agents/openai.yaml +7 -0
- package/templates/default/.windsurf/skills/remotion-markup/remotion-maps/assets/remotion-icon.png +0 -0
- package/templates/default/.windsurf/skills/remotion-markup/remotion-maps/techniques/cesium/TECHNIQUE.md +89 -0
- package/templates/default/.windsurf/skills/remotion-markup/remotion-maps/techniques/cesium/assets/CesiumFlythrough.tsx +284 -0
- package/templates/default/.windsurf/skills/remotion-markup/remotion-maps/techniques/cesium/assets/cesium-path.json +299 -0
- package/templates/default/.windsurf/skills/remotion-markup/remotion-maps/techniques/cesium/assets/city-path.json +12 -0
- package/templates/default/.windsurf/skills/remotion-markup/remotion-maps/techniques/cesium/assets/example-Root.tsx +39 -0
- package/templates/default/.windsurf/skills/remotion-markup/remotion-maps/techniques/cesium/assets/flight-path.ts +35 -0
- package/templates/default/.windsurf/skills/remotion-markup/remotion-maps/techniques/cesium/assets/sample-river.geojson +215 -0
- package/templates/default/.windsurf/skills/remotion-markup/remotion-maps/techniques/cesium/references/3d-data-sources.md +43 -0
- package/templates/default/.windsurf/skills/remotion-markup/remotion-maps/techniques/cesium/references/3d-flyover-architecture.md +128 -0
- package/templates/default/.windsurf/skills/remotion-markup/remotion-maps/techniques/cesium/references/3d-troubleshooting.md +57 -0
- package/templates/default/.windsurf/skills/remotion-markup/remotion-maps/techniques/cesium/scripts/prep-cesium-path.mjs +161 -0
- package/templates/default/.windsurf/skills/remotion-markup/remotion-maps/techniques/mapbox/TECHNIQUE.md +449 -0
- package/templates/default/.windsurf/skills/remotion-markup/remotion-maps/techniques/mapbox/references/render-stability.md +64 -0
- package/templates/default/.windsurf/skills/remotion-markup/remotion-maps/techniques/maplibre/TECHNIQUE.md +465 -0
- package/templates/default/.windsurf/skills/remotion-markup/remotion-maps/techniques/maplibre/references/render-stability.md +64 -0
- package/templates/default/.windsurf/skills/remotion-markup/remotion-maps/techniques/maptiler/TECHNIQUE.md +80 -0
- package/templates/default/.windsurf/skills/remotion-markup/remotion-maps/techniques/maptiler/assets/CountryLabel.tsx +70 -0
- package/templates/default/.windsurf/skills/remotion-markup/remotion-maps/techniques/maptiler/assets/MapTilerVectorElement.ts +80 -0
- package/templates/default/.windsurf/skills/remotion-markup/remotion-maps/techniques/maptiler/assets/RiverReveal.tsx +363 -0
- package/templates/default/.windsurf/skills/remotion-markup/remotion-maps/techniques/maptiler/assets/example-Root.tsx +22 -0
- package/templates/default/.windsurf/skills/remotion-markup/remotion-maps/techniques/maptiler/assets/sample-data/country-meta.json +7535 -0
- package/templates/default/.windsurf/skills/remotion-markup/remotion-maps/techniques/maptiler/assets/sample-data/yarlung-flow.json +605 -0
- package/templates/default/.windsurf/skills/remotion-markup/remotion-maps/techniques/maptiler/assets/tokens.ts +34 -0
- package/templates/default/.windsurf/skills/remotion-markup/remotion-maps/techniques/maptiler/references/map-data-sources.md +91 -0
- package/templates/default/.windsurf/skills/remotion-markup/remotion-maps/techniques/maptiler/references/map-explainer-architecture.md +129 -0
- package/templates/default/.windsurf/skills/remotion-markup/remotion-maps/techniques/maptiler/references/map-geo-prep.md +85 -0
- package/templates/default/.windsurf/skills/remotion-markup/remotion-maps/techniques/maptiler/references/render-stability.md +64 -0
- package/templates/default/.windsurf/skills/remotion-markup/remotion-maps/techniques/maptiler/scripts/prep-geo.mjs +202 -0
- package/templates/default/.windsurf/skills/remotion-markup/remotion-maps/techniques/static-map/TECHNIQUE.md +37 -0
- package/templates/default/.windsurf/skills/remotion-markup/sequencing.md +169 -0
- package/templates/default/.windsurf/skills/remotion-markup/sfx.md +51 -0
- package/templates/default/.windsurf/skills/remotion-markup/silence-detection.md +71 -0
- package/templates/default/.windsurf/skills/remotion-markup/text-highlights.md +56 -0
- package/templates/default/.windsurf/skills/remotion-markup/timing.md +111 -0
- package/templates/default/.windsurf/skills/remotion-markup/transitions.md +239 -0
- package/templates/default/.windsurf/skills/remotion-markup/video-editing.md +90 -0
- package/templates/default/.windsurf/skills/remotion-markup/voiceover.md +99 -0
- package/templates/default/.windsurf/skills/remotion-multimedia/SKILL.md +20 -0
- package/templates/default/.windsurf/skills/remotion-multimedia/agents/openai.yaml +7 -0
- package/templates/default/.windsurf/skills/remotion-multimedia/assets/remotion-icon.png +0 -0
- package/templates/default/.windsurf/skills/remotion-multimedia/get-audio-duration.md +56 -0
- package/templates/default/.windsurf/skills/remotion-multimedia/get-video-dimensions.md +66 -0
- package/templates/default/.windsurf/skills/remotion-multimedia/get-video-duration.md +58 -0
- package/templates/default/.windsurf/skills/remotion-render/SKILL.md +27 -0
- package/templates/default/.windsurf/skills/remotion-render/agents/openai.yaml +7 -0
- package/templates/default/.windsurf/skills/remotion-render/assets/remotion-icon.png +0 -0
- package/templates/default/.windsurf/skills/remotion-render/transparent-videos.md +106 -0
- package/templates/default/.windsurf/skills/remotion-saas/SKILL.md +33 -0
- package/templates/default/.windsurf/skills/remotion-saas/agents/openai.yaml +7 -0
- package/templates/default/.windsurf/skills/remotion-saas/assets/remotion-icon.png +0 -0
- package/templates/default/.windsurf/skills/remotion-saas/framework.md +21 -0
- package/templates/default/.windsurf/skills/remotion-saas/player.md +33 -0
- package/templates/default/.windsurf/skills/remotion-saas/rendering.md +69 -0
- package/templates/default/.windsurf/skills/remotion-studio/SKILL.md +24 -0
- package/templates/default/.windsurf/skills/remotion-studio/agents/openai.yaml +7 -0
- package/templates/default/.windsurf/skills/remotion-studio/assets/remotion-icon.png +0 -0
- package/templates/default/.windsurf/skills/remotion-upgrade/SKILL.md +31 -0
- package/templates/default/.windsurf/skills/remotion-upgrade/agents/openai.yaml +7 -0
- package/templates/default/.windsurf/skills/remotion-upgrade/assets/remotion-icon.png +0 -0
- package/templates/default/AGENTS.md +61 -0
- package/templates/default/CLAUDE.md +49 -8
- package/templates/default/openvidstudio-core/package.json +16 -12
- package/templates/default/openvidstudio-core/scripts/gen-fonts.sh +31 -0
- package/templates/default/openvidstudio-core/scripts/gen-sfx.sh +2 -20
- package/templates/default/openvidstudio-core/src/ChecklistPanel.tsx +2 -5
- package/templates/default/openvidstudio-core/src/CinematicScene.tsx +14 -6
- package/templates/default/openvidstudio-core/src/CursorActor.tsx +59 -15
- package/templates/default/openvidstudio-core/src/DirectedShot.tsx +294 -0
- package/templates/default/openvidstudio-core/src/KineticText.tsx +84 -17
- package/templates/default/openvidstudio-core/src/LayeredShot.tsx +80 -0
- package/templates/default/openvidstudio-core/src/RepoCta.tsx +21 -15
- package/templates/default/openvidstudio-core/src/TerminalReplay.tsx +2 -5
- package/templates/default/openvidstudio-core/src/TransitionOverlay.tsx +194 -0
- package/templates/default/openvidstudio-core/src/atmosphere.tsx +109 -0
- package/templates/default/openvidstudio-core/src/camera.tsx +72 -12
- package/templates/default/openvidstudio-core/src/designSystem.ts +179 -0
- package/templates/default/openvidstudio-core/src/handheld.tsx +116 -0
- package/templates/default/openvidstudio-core/src/index.ts +69 -7
- package/templates/default/openvidstudio-core/src/kinetic.tsx +152 -0
- package/templates/default/openvidstudio-core/src/localFonts.ts +67 -0
- package/templates/default/openvidstudio-core/src/motion.ts +6 -0
- package/templates/default/openvidstudio-core/src/motionBlur.tsx +35 -0
- package/templates/default/openvidstudio-core/src/musicClock.tsx +171 -0
- package/templates/default/openvidstudio-core/src/narrationWords.tsx +85 -0
- package/templates/default/openvidstudio-core/src/panels.tsx +367 -0
- package/templates/default/openvidstudio-core/src/pixel.tsx +285 -0
- package/templates/default/openvidstudio-core/src/sfx.tsx +77 -30
- package/templates/default/openvidstudio-core/src/shots.ts +114 -0
- package/templates/default/openvidstudio-core/src/tokens.ts +51 -2
- package/templates/default/openvidstudio-stem/package.json +41 -0
- package/templates/default/openvidstudio-stem/public/fonts/SPACE-GROTESK-LICENSE.txt +93 -0
- package/templates/default/openvidstudio-stem/public/fonts/space-grotesk-latin-500-normal.woff2 +0 -0
- package/templates/default/openvidstudio-stem/public/fonts/space-grotesk-latin-700-normal.woff2 +0 -0
- package/templates/default/openvidstudio-stem/public/mathjax/MATHJAX-LICENSE.txt +202 -0
- package/templates/default/openvidstudio-stem/public/mathjax/fira/svg/dynamic/accents-other.js +1 -0
- package/templates/default/openvidstudio-stem/public/mathjax/fira/svg/dynamic/accents.js +1 -0
- package/templates/default/openvidstudio-stem/public/mathjax/fira/svg/dynamic/arrows.js +1 -0
- package/templates/default/openvidstudio-stem/public/mathjax/fira/svg/dynamic/calligraphic.js +1 -0
- package/templates/default/openvidstudio-stem/public/mathjax/fira/svg/dynamic/cyrillic.js +1 -0
- package/templates/default/openvidstudio-stem/public/mathjax/fira/svg/dynamic/double-struck.js +1 -0
- package/templates/default/openvidstudio-stem/public/mathjax/fira/svg/dynamic/fraktur.js +1 -0
- package/templates/default/openvidstudio-stem/public/mathjax/fira/svg/dynamic/greek.js +1 -0
- package/templates/default/openvidstudio-stem/public/mathjax/fira/svg/dynamic/latin-b.js +1 -0
- package/templates/default/openvidstudio-stem/public/mathjax/fira/svg/dynamic/latin-bi.js +1 -0
- package/templates/default/openvidstudio-stem/public/mathjax/fira/svg/dynamic/latin-i.js +1 -0
- package/templates/default/openvidstudio-stem/public/mathjax/fira/svg/dynamic/latin-m.js +1 -0
- package/templates/default/openvidstudio-stem/public/mathjax/fira/svg/dynamic/latin.js +1 -0
- package/templates/default/openvidstudio-stem/public/mathjax/fira/svg/dynamic/math-other.js +1 -0
- package/templates/default/openvidstudio-stem/public/mathjax/fira/svg/dynamic/monospace.js +1 -0
- package/templates/default/openvidstudio-stem/public/mathjax/fira/svg/dynamic/phonetics.js +1 -0
- package/templates/default/openvidstudio-stem/public/mathjax/fira/svg/dynamic/sans-serif.js +1 -0
- package/templates/default/openvidstudio-stem/public/mathjax/fira/svg/dynamic/script.js +1 -0
- package/templates/default/openvidstudio-stem/public/mathjax/fira/svg/dynamic/shapes.js +1 -0
- package/templates/default/openvidstudio-stem/public/mathjax/fira/svg/dynamic/stretchy.js +1 -0
- package/templates/default/openvidstudio-stem/public/mathjax/fira/svg/dynamic/symbols-other.js +1 -0
- package/templates/default/openvidstudio-stem/public/mathjax/fira/svg/dynamic/symbols.js +1 -0
- package/templates/default/openvidstudio-stem/public/mathjax/fira/svg/dynamic/up-int.js +1 -0
- package/templates/default/openvidstudio-stem/public/mathjax/fira/svg/dynamic/variants.js +1 -0
- package/templates/default/openvidstudio-stem/public/mathjax/fira/svg.js +1 -0
- package/templates/default/openvidstudio-stem/public/mathjax/tex-svg-nofont.js +1 -0
- package/templates/default/openvidstudio-stem/src/ArrayViz.tsx +118 -0
- package/templates/default/openvidstudio-stem/src/ComplexityCurve.tsx +108 -0
- package/templates/default/openvidstudio-stem/src/Derivation.tsx +334 -0
- package/templates/default/openvidstudio-stem/src/Equation.tsx +132 -0
- package/templates/default/openvidstudio-stem/src/FreeBody.tsx +152 -0
- package/templates/default/openvidstudio-stem/src/GraphViz.tsx +249 -0
- package/templates/default/openvidstudio-stem/src/LessonCaptions.tsx +135 -0
- package/templates/default/openvidstudio-stem/src/MatrixGrid.tsx +187 -0
- package/templates/default/openvidstudio-stem/src/Nova.tsx +104 -0
- package/templates/default/openvidstudio-stem/src/Orbit.tsx +241 -0
- package/templates/default/openvidstudio-stem/src/Spark.tsx +69 -0
- package/templates/default/openvidstudio-stem/src/TreeViz.tsx +241 -0
- package/templates/default/openvidstudio-stem/src/VectorField.tsx +231 -0
- package/templates/default/openvidstudio-stem/src/Wave.tsx +234 -0
- package/templates/default/openvidstudio-stem/src/designSystem.ts +76 -0
- package/templates/default/openvidstudio-stem/src/glow.tsx +52 -0
- package/templates/default/openvidstudio-stem/src/graph.tsx +331 -0
- package/templates/default/openvidstudio-stem/src/index.ts +61 -0
- package/templates/default/openvidstudio-stem/src/localFonts.ts +40 -0
- package/templates/default/openvidstudio-stem/src/mathjax.ts +79 -0
- package/templates/default/openvidstudio-stem/src/paths.ts +148 -0
- package/templates/default/output/.gitignore +3 -0
- package/templates/default/output/README.md +9 -0
- package/templates/default/package.json +19 -13
- package/templates/default/public/fonts/inter-latin-400-normal.woff2 +0 -0
- package/templates/default/public/fonts/inter-latin-500-normal.woff2 +0 -0
- package/templates/default/public/fonts/inter-latin-700-normal.woff2 +0 -0
- package/templates/default/public/fonts/inter-latin-800-normal.woff2 +0 -0
- package/templates/default/public/fonts/inter-latin-900-normal.woff2 +0 -0
- package/templates/default/public/fonts/jetbrains-mono-latin-400-normal.woff2 +0 -0
- package/templates/default/public/fonts/jetbrains-mono-latin-700-normal.woff2 +0 -0
- package/templates/default/public/imported_audios/README.md +14 -0
- package/templates/default/public/sfx/CREDITS.md +49 -0
- package/templates/default/public/sfx/bong.wav +0 -0
- package/templates/default/public/sfx/click.wav +0 -0
- package/templates/default/public/sfx/click_soft.wav +0 -0
- package/templates/default/public/sfx/drop.wav +0 -0
- package/templates/default/public/sfx/typing-effect.mp3 +0 -0
- package/templates/default/scripts/visual-regression.mjs +69 -0
- package/templates/default/src/PreflightBenchmark.tsx +49 -0
- package/templates/default/public/sfx/key_a.wav +0 -0
- package/templates/default/public/sfx/key_b.wav +0 -0
- package/templates/default/public/sfx/key_c.wav +0 -0
- package/templates/default/public/sfx/key_enter.wav +0 -0
package/docs/PIPELINE.md
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
# PIPELINE.md: how a new video gets made
|
|
2
2
|
|
|
3
|
+
> **Before anything else:** this pipeline films a web frontend that loads and works in
|
|
4
|
+
> Chrome under Playwright. That is the requirement the whole chain rests on. The desktop,
|
|
5
|
+
> mobile and terminal backends exist for beats a browser genuinely cannot reach, and they
|
|
6
|
+
> are deliberately secondary: the browser path is the one that is tuned and tested end to
|
|
7
|
+
> end.
|
|
8
|
+
|
|
3
9
|
Brief in, video out. Follow in order; `STYLE.md`'s rules are binding at
|
|
4
10
|
every step. Beat authoring itself is driven by `PLANNING.md`'s guided
|
|
5
11
|
intake process: read that first, before hand-writing a `beats.json`.
|
|
@@ -8,7 +14,9 @@ intake process: read that first, before hand-writing a `beats.json`.
|
|
|
8
14
|
- Install dependencies for the scaffolded project (`@openvidstudio/core`
|
|
9
15
|
plus Remotion/React, see the project's own `package.json`).
|
|
10
16
|
- An SFX pack exists at `public/sfx/` (regen: `bash scripts/gen-sfx.sh`,
|
|
11
|
-
needs ffmpeg).
|
|
17
|
+
needs ffmpeg). Anything you import from outside the pack goes in
|
|
18
|
+
`public/imported_audios/` instead, kept separate so it is always clear
|
|
19
|
+
which sounds carry licence terms. See `NARRATION.md`.
|
|
12
20
|
|
|
13
21
|
## 1. Beats file (the single source of truth)
|
|
14
22
|
Create `<video>/beats.json`:
|
|
@@ -28,6 +36,19 @@ Create `<video>/beats.json`:
|
|
|
28
36
|
clip for a shot that isn't product UI at all. `PLANNING.md` owns the
|
|
29
37
|
full field spec and decision tree; this file just needs every beat to
|
|
30
38
|
carry the field.
|
|
39
|
+
- **`transition`** and **`artifacts`** (both optional, `PLANNING.md` §4.5): the
|
|
40
|
+
way into a beat (`cut`, `whip`, `fade`, `push`, `wipe` or `light-leak`; anything
|
|
41
|
+
but a cut is drawn over the cut, see §3) and explicit overrides of that beat's
|
|
42
|
+
output paths. Omit either and the default (`"cut"`, convention path) is assumed;
|
|
43
|
+
every existing `beats.json` stays valid without them.
|
|
44
|
+
- **Editing an already-written `beats.json`**: run `diff_beats` (new draft in,
|
|
45
|
+
persisted file on disk compared) before re-running anything. It reports, per beat,
|
|
46
|
+
whether it's added/removed/unchanged/changed, which fields changed, whether
|
|
47
|
+
capture or `scaffold_scene` actually need to rerun for it, and whether its output
|
|
48
|
+
files exist on disk right now. Patch one beat's timing and `diff_beats` tells you
|
|
49
|
+
that's the only one that needs `scaffold_scene --overwrite`, not the whole video.
|
|
50
|
+
`render_video` still re-renders the full composition regardless (Remotion has no
|
|
51
|
+
partial-render mode), so treat that as a single go/no-go signal, not per-beat.
|
|
31
52
|
- Two beat arcs, pick by product complexity:
|
|
32
53
|
- **Simple demo** (single core feature): hook (8s), problem (11s), demo
|
|
33
54
|
x2-3 (12-14s each), differentiator (10s), cta (9s). 60-75s total.
|
|
@@ -42,6 +63,12 @@ Create `<video>/beats.json`:
|
|
|
42
63
|
budget ~10-20s/demo beat and check the running total as you add
|
|
43
64
|
beats, don't let it creep past the brief's stated limit "for
|
|
44
65
|
completeness."
|
|
66
|
+
- **Vary the shot lengths.** Four or more beats whose longest is under 2.5 times
|
|
67
|
+
the shortest read as a metronome: a cut on the same count however much the
|
|
68
|
+
content changes. `validate_beats` says so as a warning (never an error, and
|
|
69
|
+
`write_beats_file` still writes the file). Give the strongest claim one long
|
|
70
|
+
hold and make another beat a short punch. A deliberately even video can ignore
|
|
71
|
+
the note.
|
|
45
72
|
- No em dashes in any on-screen string or VO line (writing rule).
|
|
46
73
|
- **Claiming a feature in VO obligates showing it.** If a beat's VO
|
|
47
74
|
asserts something the product does, either show the real thing or say
|
|
@@ -50,7 +77,27 @@ Create `<video>/beats.json`:
|
|
|
50
77
|
visual backs up. Full generalized version of this rule: `SCRIPT.md`.
|
|
51
78
|
|
|
52
79
|
## 2. Scenes
|
|
53
|
-
One file per beat.
|
|
80
|
+
One file per beat. **How a scene gets written depends on the creative level in the brief**
|
|
81
|
+
(`src/videos/<name>/brief.json`, see PLANNING.md 4.9):
|
|
82
|
+
|
|
83
|
+
- **peak and mid: author the scene.** Compose it from `@openvidstudio/core`'s primitives
|
|
84
|
+
(API.md) against the video's own `design.ts`. `scaffold_scene` with `mode: "starter"` writes a
|
|
85
|
+
minimal file wired to that design system with no layout imposed; `mode: "blank"` registers the
|
|
86
|
+
beat for stitching and writes nothing. The primitives are building blocks, not a template: when
|
|
87
|
+
the brief's motif needs something the library lacks, write the component, and consider
|
|
88
|
+
proposing it for core afterwards. Use `useMusicClock(beatId)` to land hits on the score and
|
|
89
|
+
`DirectedShot` to give a capture a move.
|
|
90
|
+
- **literal, or a tight time budget: use a template.** `scaffold_scene` in its default
|
|
91
|
+
`"template"` mode emits a scene that renders as-is from the beat's own copy and duration.
|
|
92
|
+
- Either way the scene passes STYLE.md's hard rules, and any number it shows comes from
|
|
93
|
+
`facts.json` (see Run records and facts below) or a capture, never from memory. In a
|
|
94
|
+
Supernova lesson the numbers are computed, not claimed: `validate_scenes` accepts a number that
|
|
95
|
+
is in the concept card's worked example (`concept.json`) or in an `Equation`'s `tex`, and still
|
|
96
|
+
flags one that appears nowhere.
|
|
97
|
+
- Bespoke scenes live anywhere under the video folder; point the beat at the file with
|
|
98
|
+
`scene: "./scenes/Whatever.tsx"` and `stitch_composition` wires it.
|
|
99
|
+
|
|
100
|
+
Rules for the scene files themselves:
|
|
54
101
|
- Any beat with `captureMethod: "screenshot"` or `"recording"`: capture it
|
|
55
102
|
per **CAPTURE.md**, not ad hoc. That doc exists because uncorrected
|
|
56
103
|
captures reliably come out small, soft, or bleed in content from a
|
|
@@ -64,6 +111,15 @@ One file per beat. Rules:
|
|
|
64
111
|
moving recording can't be re-cropped to a DOM rect the way a still
|
|
65
112
|
screenshot can, because the rect would need to track the content frame
|
|
66
113
|
by frame).
|
|
114
|
+
- **Layered screenshots** (parallax). A flat capture can only be slid as one piece. Pass
|
|
115
|
+
`layers` to `capture_screenshot` (selectors for the elements that should move
|
|
116
|
+
separately, for example a sidebar, a card, a toast) and it also writes the page with those
|
|
117
|
+
elements removed (`<id>-bg.png`), one transparent PNG per element, and
|
|
118
|
+
`<id>.layers.json`, a manifest of where each piece sits in the capture and how far from the
|
|
119
|
+
background it is (`depth`). `LayeredShot` (API.md) reads that manifest and moves the pieces
|
|
120
|
+
at different rates under the camera. Layers are cut from the same pixels as the main
|
|
121
|
+
image, so putting them back at their rectangles reproduces it. Details and limits are in
|
|
122
|
+
`CAPTURE.md`.
|
|
67
123
|
- **Constructed mockups** (`captureMethod: "dom-demo"`), for a claim the
|
|
68
124
|
product doesn't do yet, or where a real screenshot isn't available or
|
|
69
125
|
would show something contradicting the claim: build it as a hand-coded
|
|
@@ -109,10 +165,66 @@ One file per beat. Rules:
|
|
|
109
165
|
`<video>/<Name>Demo.tsx`: `<Series>` mapping `beats.json` ids to scene
|
|
110
166
|
components. Register in the project's `Root.tsx` with duration from beats.
|
|
111
167
|
|
|
168
|
+
**Transitions.** A beat's `transition` is drawn by core's `TransitionOverlay`, which
|
|
169
|
+
`stitch_composition` mounts in a `Sequence` centred on the beat's first frame: 6 frames
|
|
170
|
+
either side at 30 fps (scaled with fps, so about 0.2s whatever the frame rate), clamped at
|
|
171
|
+
frame 0 and to the beat's own length. It is drawn on top of a hard cut and never replaces
|
|
172
|
+
one, so no beat start or duration moves and the bar-snapped timing and the audio joins stay
|
|
173
|
+
where `beats.json` put them. The overlay is at its peak on the cut frame and clear on its
|
|
174
|
+
first and last frames, and it reads the colour tokens, so it follows a brand applied with
|
|
175
|
+
`applyBrand`:
|
|
176
|
+
|
|
177
|
+
| `transition` | What is drawn |
|
|
178
|
+
|---|---|
|
|
179
|
+
| `cut` (default) | nothing |
|
|
180
|
+
| `fade` | a dip to the brand background and back |
|
|
181
|
+
| `whip` | a heavy blur with an accent streak that crosses the frame on the cut |
|
|
182
|
+
| `push` | a panel in from the right that covers the frame on the cut and leaves to the left |
|
|
183
|
+
| `wipe` | a skewed band with an accent edge crossing left to right |
|
|
184
|
+
| `light-leak` | warm light in the accent's hue that drifts and peaks on the cut |
|
|
185
|
+
|
|
186
|
+
Nothing is emitted for a composition with no transitions, and none for the first beat
|
|
187
|
+
(there is no cut into it). To check one, `render_stills` with `perBeat: "review"` puts the
|
|
188
|
+
first and last stills of each beat 3 frames inside it, which is inside the overlay.
|
|
189
|
+
|
|
190
|
+
**Music-only videos** (`beats.json`'s top-level `narration: "none"`, see `SCRIPT.md`): pass
|
|
191
|
+
`stitch_composition` a `musicBed: { file, volume }` to control the bed and its mix level
|
|
192
|
+
directly; it otherwise defaults the bed to full volume with no narration to duck under.
|
|
193
|
+
|
|
194
|
+
**`<video>/overrides.tsx`** (optional): if this file exists, `stitch_composition` imports and
|
|
195
|
+
renders it as an extra layer on every stitch, without ever writing to it itself. This is the
|
|
196
|
+
place for a hand-added layer (an extra callout, a one-off effect) that needs to survive a
|
|
197
|
+
caption edit and re-stitch, since everything else in the generated composition file is
|
|
198
|
+
regenerated from `beats.json` on every run.
|
|
199
|
+
|
|
112
200
|
## 4. Preview + QC loop
|
|
201
|
+
|
|
202
|
+
### The review loop (mandatory, in every mode, before any full render)
|
|
203
|
+
|
|
204
|
+
Author a scene, `render_stills`, look, fix, repeat until the rubric in CREATIVE.md passes.
|
|
205
|
+
`render_stills` bundles the project once and renders real frames, about ten times faster than a
|
|
206
|
+
draft render:
|
|
207
|
+
|
|
208
|
+
- `perBeat: "review"` renders five frames per beat (start+3, 25%, mid, 75%, end-3); the first and
|
|
209
|
+
last sit just inside the beat, so adjacent beats show both sides of every cut. `perBeat: N`
|
|
210
|
+
spreads N frames start to end, `at` picks one, `frames` takes exact composition frames.
|
|
211
|
+
- `crop: { x, y, width, height }` (composition pixels) is for small text. Each still also gets
|
|
212
|
+
`<name>-crop.png`, that region re-rendered at a higher scale (a whole number, nearest 960 px
|
|
213
|
+
wide, at most 4x) rather than stretched from the 1x still, which would only show the blur. A
|
|
214
|
+
region outside the composition is an error.
|
|
215
|
+
- It writes a labelled contact grid (one row per beat when `perBeat` is used: across is time
|
|
216
|
+
within the beat, down is the cut to the next). `round` keeps each round in its own folder.
|
|
217
|
+
- It also returns the numeric findings `validate_scenes` makes in render mode (cropping, text
|
|
218
|
+
size, reading time, contrast, em dashes, safe area, HUD overlap, dead frames, brand palette),
|
|
219
|
+
so an agent without image input reviews from the numbers. A beat that cannot be mounted is
|
|
220
|
+
reported as skipped, never as clean.
|
|
221
|
+
|
|
222
|
+
Then `validate_scenes` with `render: true` is the gate before stitching and rendering.
|
|
223
|
+
|
|
224
|
+
### Frame QC after a render
|
|
113
225
|
- `npm run dev` for live preview while writing scenes.
|
|
114
226
|
- Render, then extract frames at each beat midpoint:
|
|
115
|
-
`ffmpeg -nostdin -ss <t> -i
|
|
227
|
+
`ffmpeg -nostdin -ss <t> -i output/<video>.mp4 -frames:v 1 -q:v 3 output/qc/<t>.jpg -y`
|
|
116
228
|
- QC checklist (all must pass):
|
|
117
229
|
- [ ] Text crisp on a 1080p pause-frame at every zoom level
|
|
118
230
|
- [ ] Zero linear easing; every scene has camera motion
|
|
@@ -136,12 +248,288 @@ components. Register in the project's `Root.tsx` with duration from beats.
|
|
|
136
248
|
claim
|
|
137
249
|
|
|
138
250
|
## 5. Render + exports
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
251
|
+
Every tool rejects an input it does not take, naming the key, listing the valid ones and suggesting
|
|
252
|
+
the closest, so `render_video { quality: "draft" }` fails at once instead of running a full render
|
|
253
|
+
(the option is `draft: true`).
|
|
254
|
+
|
|
255
|
+
- `npx remotion render <composition-id> output/<video>.mp4`
|
|
256
|
+
- After the first full render, prefer `render_video` with `incremental: true`.
|
|
257
|
+
Each beat renders to `output/segments/<video>/<beatId>.mp4` and the segments
|
|
258
|
+
are joined with ffmpeg's concat demuxer under stream copy, so a beat whose
|
|
259
|
+
inputs did not change is not re-rendered and its bytes reach the final file
|
|
260
|
+
untouched. A segment is reused only when the beat's JSON, its scene source,
|
|
261
|
+
every artifact it references, its narration, and the project-wide inputs
|
|
262
|
+
(`src/brand.ts`, the generated composition, the music bed) all hash the same.
|
|
263
|
+
Editing one caption in a five minute video then costs that beat, not 9000
|
|
264
|
+
frames. `diff_beats` tells you what changed; this is what acts on it.
|
|
265
|
+
- `node scripts/markers.mjs <video>` writes `output/<video>-markers.json` and
|
|
266
|
+
`output/<video>-vo.srt`
|
|
267
|
+
- The finished video, the contact sheet, and every QC still all land under
|
|
268
|
+
`output/`. That folder is gitignored (renders are build output, not
|
|
269
|
+
source) and is where an upload step should pick the finished mp4 up from.
|
|
142
270
|
- Write `<video>/script.md`: VO table (timestamps from markers), delivery
|
|
143
271
|
notes, description draft. See `SCRIPT.md` for VO pacing/duration rules.
|
|
144
272
|
|
|
273
|
+
### Final assembly
|
|
274
|
+
|
|
275
|
+
`finalize_video` is the last pass over a finished render. It measures the mix's
|
|
276
|
+
real integrated loudness, true peak and range, then normalises it two-pass with
|
|
277
|
+
ffmpeg's `loudnorm`: the first pass measures, the second applies a linear gain
|
|
278
|
+
computed from those numbers, and the video stream is copied, not re-encoded. The
|
|
279
|
+
written file is measured again, and the result says whether it landed within 1 LU
|
|
280
|
+
of the target. The target is **-14 LUFS integrated, -1.5 dBTP**. That is not the
|
|
281
|
+
-15 `compose_score` uses for `mode: "bed"`: that figure is the music alone sitting
|
|
282
|
+
under narration, while this is the finished mix, and -14 is the level the large
|
|
283
|
+
video platforms normalise to. Override it with `targetLufs` / `truePeakDb`.
|
|
284
|
+
|
|
285
|
+
It writes `output/<video>-final.mp4` (the original render is kept), a poster
|
|
286
|
+
frame, and a copy under a size cap (`shareMaxMB`, default 10). Pass `poster:
|
|
287
|
+
false` or `share: false` to skip either. A render with no audio track skips the
|
|
288
|
+
loudness step and says so.
|
|
289
|
+
|
|
290
|
+
It also writes `output/<video>-DESCRIPTION.md` through `write_description` (`description:
|
|
291
|
+
false` skips it): a YouTube-ready description with a Chapters list built from the beats (the
|
|
292
|
+
first at 0:00, each at least ten seconds, at least three, merging short beats forward; a beat
|
|
293
|
+
may carry an optional `chapter` title), a Credits section read from what is on disk (the music
|
|
294
|
+
source and licence, the narration engine, any sound effect whose licence asks for credit), and
|
|
295
|
+
the disclosure of every constructed sample-content shot in the brief's shot list. A finished
|
|
296
|
+
video is posted with it, which is why it is written on every run.
|
|
297
|
+
|
|
298
|
+
### Other outputs from the same render
|
|
299
|
+
|
|
300
|
+
The finished mp4 is one consumer of the beats, not the only one. All of these
|
|
301
|
+
read the render plus `beats.json`, so none of them can drift from the video:
|
|
302
|
+
|
|
303
|
+
- `export_rendition` with `format: "gif"` writes a README GIF through a real
|
|
304
|
+
two-pass palette. A one-pass GIF falls back to a fixed 256 colour palette and
|
|
305
|
+
bands flat UI into mud, which is most of what a product demo is.
|
|
306
|
+
- `export_rendition` with `format: "screenshots"` writes one frame per beat plus
|
|
307
|
+
an index pairing each with that beat's narration, which is already written.
|
|
308
|
+
- `export_rendition` with `format: "store-frames"` writes App Store and Play
|
|
309
|
+
Store images at the exact dimensions each store rejects submissions over.
|
|
310
|
+
- `export_rendition` with `format: "poster"` writes one still. By default it is
|
|
311
|
+
the last beat's midpoint; with `posterPick: "auto"` every beat's midpoint is
|
|
312
|
+
scored (luma entropy and contrast, penalising near-black and blown-out frames)
|
|
313
|
+
and the best one wins, so the thumbnail is not a fade or a call-to-action card
|
|
314
|
+
by accident.
|
|
315
|
+
- `export_rendition` with `format: "share"` writes a copy under a hard size cap
|
|
316
|
+
(`maxMB`, default 10, where 1MB is 1,000,000 bytes). The bitrate comes from the
|
|
317
|
+
cap and the duration, the largest resolution that bitrate can carry without
|
|
318
|
+
blocking is chosen, it is encoded two-pass H.264, and the file on disk is
|
|
319
|
+
measured and re-encoded smaller if it came out over. When the cap cannot be met
|
|
320
|
+
it says so rather than reporting success.
|
|
321
|
+
- `export_rendition` with `format: "reels"` packages a render that is already
|
|
322
|
+
1080x1920 as an Instagram Reels file: H.264 + AAC at 30fps, moov atom first.
|
|
323
|
+
It re-encodes only what the source is not already and refuses a 16:9 render
|
|
324
|
+
rather than cropping it. See "Native vertical (9:16)" below.
|
|
325
|
+
- `reformat_vertical` writes a 9:16 cut with the crop chosen per beat from the
|
|
326
|
+
manifest rather than by taking the middle of the frame. It crops a finished
|
|
327
|
+
16:9 render, so for content that has to be seen whole render natively instead
|
|
328
|
+
("Native vertical (9:16)" below).
|
|
329
|
+
|
|
330
|
+
### Keeping it true after it ships
|
|
331
|
+
|
|
332
|
+
- `visual_regression` diffs this render's beats against the last accepted one
|
|
333
|
+
and returns markdown ready to post on a pull request. Scaffolded projects get
|
|
334
|
+
a workflow for it at `.github/workflows/visual-regression.yml`; the baseline
|
|
335
|
+
lives in `.openvidstudio/visual-baseline/<video>/` and is meant to be
|
|
336
|
+
committed, so accepting a visual change is an ordinary commit.
|
|
337
|
+
- `docs_drift` re-captures the pages the beats came from and names the clips
|
|
338
|
+
that no longer match them. Run it on a schedule.
|
|
339
|
+
- `release_diff` takes two refs and a running instance of each, and drafts a
|
|
340
|
+
before/after manifest covering only the routes that actually changed on
|
|
341
|
+
screen. It does not write the narration and does not install the manifest:
|
|
342
|
+
both go through the approval gate in `PLANNING.md` §5.
|
|
343
|
+
|
|
344
|
+
## Production mode: standard and supernova
|
|
345
|
+
|
|
346
|
+
`production.mode` in `openvidstudio.config.json` is `"standard"` when it is absent, and that is every
|
|
347
|
+
product video: real captures, a story, a creative level (peak, mid or literal). `"supernova"` is a
|
|
348
|
+
different kind of production, a short STEM lesson that is written script first, narrated, and built
|
|
349
|
+
from constructed pictures rather than captures. It is not a fourth creative level, so a lesson is not
|
|
350
|
+
asked for one and is not planned on that scale.
|
|
351
|
+
|
|
352
|
+
`init_project` with `mode: "supernova"` makes a lesson project: it stores the mode, defaults the frame
|
|
353
|
+
to 1080x1920, vendors `@openvidstudio/stem` (with its display font, Space Grotesk, copied into
|
|
354
|
+
`public/fonts/`) and adds the dependency. A standard project gets none of that: its files, config and
|
|
355
|
+
`package.json` are exactly what they were. `@openvidstudio/stem` exports `supernovaDesignSystem(subject)`,
|
|
356
|
+
the Void + Spark design system with one accent per subject (math, physics, cs, chemistry, biology):
|
|
357
|
+
|
|
358
|
+
```ts
|
|
359
|
+
import { supernovaDesignSystem } from "@openvidstudio/stem";
|
|
360
|
+
export const design = supernovaDesignSystem("physics");
|
|
361
|
+
```
|
|
362
|
+
|
|
363
|
+
`validate_beats` reads `production.mode` (an unknown value is an error; a silent lesson is a warning),
|
|
364
|
+
`write_brief` takes `mode` and needs no `creativeLevel` for a lesson (and no real or constructed split
|
|
365
|
+
in its shot list), `plan_production` plans a lesson with its own arc, no capture time and no creative
|
|
366
|
+
level, and `validate_scenes` and `write_description` follow it: numbers in a worked example or an
|
|
367
|
+
equation pass, `validate_scenes` in render mode counts glowing elements (more than one is a warning,
|
|
368
|
+
more than two an error, except in a beat with a Nova), and the description says in one line that the
|
|
369
|
+
video is a constructed explanation instead of disclosing shots one by one.
|
|
370
|
+
|
|
371
|
+
## Native vertical (9:16)
|
|
372
|
+
|
|
373
|
+
For Reels, Shorts and TikTok there are two ways to get a 1080x1920 file, and they are not
|
|
374
|
+
interchangeable.
|
|
375
|
+
|
|
376
|
+
| | Native vertical | `reformat_vertical` |
|
|
377
|
+
|---|---|---|
|
|
378
|
+
| What it does | Renders the composition at 1080x1920 and lays every scene out for that frame | Crops a finished 1920x1080 render, one crop per beat |
|
|
379
|
+
| Content wider than a phone | Designed to fit | Cut off: each crop is a 608x1080 slice, under a third of the frame width |
|
|
380
|
+
| Use it when | The video exists for a phone: diagrams, equations, a lesson where the picture has to be seen whole | A 16:9 render already exists and what matters sits at the left, centre or right (a terminal's left margin, a centred panel) |
|
|
381
|
+
|
|
382
|
+
`reformat_vertical` never re-lays anything out, so a diagram, a graph or a wide equation in
|
|
383
|
+
the 16:9 version is cropped, not reflowed. If the picture is the content, render natively.
|
|
384
|
+
|
|
385
|
+
### Setting up a native vertical project
|
|
386
|
+
|
|
387
|
+
1. `init_project` with `videoConfig: { fps: 30, width: 1080, height: 1920 }`. `stitch_composition`
|
|
388
|
+
writes that size into the composition, and `validate_scenes` reads it from
|
|
389
|
+
`openvidstudio.config.json`, so framing is judged against 1080 wide, not 1920.
|
|
390
|
+
2. Camera coordinates are stage pixels, and `CinematicScene`'s stage is the composition size, so
|
|
391
|
+
the frame centre is `x: 540, y: 960` (not 960,540). `scaffold_scene` reads the project's frame
|
|
392
|
+
size and writes that centre into its starter and templates, and lays the templates out for it:
|
|
393
|
+
the camera is centred, content is sized to the 1080 wide frame, and the side-by-side templates
|
|
394
|
+
(split-panel, comparison) stack. A scene you write by hand takes the centre from
|
|
395
|
+
`useVideoConfig()`. A landscape recording or capture in a vertical frame is cropped (a recording
|
|
396
|
+
fills the frame with `object-fit: cover`), so for those keep what matters near the centre.
|
|
397
|
+
3. In the video's `design.ts`, pass the stage so the layout grid scales to it: `defineDesignSystem({
|
|
398
|
+
stage: { width: 1080, height: 1920 } })` gives margins of 84 / 231 / 196 instead of
|
|
399
|
+
150 / 130 / 110. Set `grid` yourself for the safe zones below.
|
|
400
|
+
4. Run `validate_scenes` with `render: true` and look at stills (`render_stills`, `contact_sheet`)
|
|
401
|
+
before a full render. The crop, safe-area and text-size checks measure the real 1080x1920 frame.
|
|
402
|
+
5. Package the finished render with `export_rendition` and `format: "reels"` (1080x1920 H.264 +
|
|
403
|
+
AAC, 30fps, moov atom first). It re-encodes only what the file is not already, and it refuses
|
|
404
|
+
a 16:9 render instead of cropping it.
|
|
405
|
+
|
|
406
|
+
### Reels safe zones
|
|
407
|
+
|
|
408
|
+
Instagram draws its own interface over a reel: the account and caption block along the bottom, the
|
|
409
|
+
action buttons down the right edge, the header along the top. Keep key content (text, the part of a
|
|
410
|
+
diagram being explained, a face) clear of those. Approximate figures for a 1080x1920 frame:
|
|
411
|
+
|
|
412
|
+
| Edge | Keep clear | In pixels |
|
|
413
|
+
|---|---|---|
|
|
414
|
+
| Top | about 14% | 270 |
|
|
415
|
+
| Bottom | about 22% | 420 |
|
|
416
|
+
| Right | about 10% | 108 |
|
|
417
|
+
|
|
418
|
+
These are rounded estimates, not Instagram's published numbers, and the interface changes. Check
|
|
419
|
+
them against Instagram's current guidance before relying on them, and against a real upload of a
|
|
420
|
+
test reel. Backgrounds and atmosphere can run to the edge; it is key content that stays inside.
|
|
421
|
+
A design system that follows them:
|
|
422
|
+
|
|
423
|
+
```ts
|
|
424
|
+
export const design = defineDesignSystem({
|
|
425
|
+
stage: { width: 1080, height: 1920 },
|
|
426
|
+
grid: { marginX: 108, marginTop: 270, marginBottom: 420 },
|
|
427
|
+
});
|
|
428
|
+
```
|
|
429
|
+
|
|
430
|
+
`validate_scenes`'s safe-area check is a floor (4% in from the sides, 5% from the top and bottom,
|
|
431
|
+
as fractions of the real frame), not this zone. The Reels zone is a design decision, so it is
|
|
432
|
+
checked by looking at a still.
|
|
433
|
+
|
|
434
|
+
### What follows the frame size
|
|
435
|
+
|
|
436
|
+
These read the composition size, so the same scene source works at 1920x1080 and at 1080x1920.
|
|
437
|
+
Each is checked at both sizes in `vertical.test.mjs`.
|
|
438
|
+
|
|
439
|
+
- `CinematicScene`: `stageWidth` and `stageHeight` default to the composition size.
|
|
440
|
+
- `DotGrid`: `w` and `h` default to the composition size, so the grid covers the whole frame.
|
|
441
|
+
- `Letterbox`: bars are 64/1080 of the frame height, about 114px at 1920 tall.
|
|
442
|
+
- `RepoCta`: laid out from the frame centre, so the card is centred in either shape.
|
|
443
|
+
- `scaffold_scene`: every template and the starter, generated from the project's frame size
|
|
444
|
+
(checked at both sizes in `scaffold-vertical.test.mjs`; the 1920x1080 output is unchanged byte
|
|
445
|
+
for byte). `DirectedShot` is not used by any scaffolded scene, so there is nothing to set there;
|
|
446
|
+
when you use it by hand, pass the real `captureWidth` and `captureHeight`.
|
|
447
|
+
- `ChapterHud`: with no `design` it takes the layout grid for the composition's size, so in a reel
|
|
448
|
+
the rail sits above the bottom safe zone rather than 46px from the edge.
|
|
449
|
+
- `defineDesignSystem`: the layout grid scales to the `stage` it is given.
|
|
450
|
+
- `validate_scenes`: the static framing check uses the project's `videoConfig`; render mode already
|
|
451
|
+
measured the real composition.
|
|
452
|
+
- `export_rendition` with `format: "reels"`.
|
|
453
|
+
|
|
454
|
+
Anything not on this list has not been checked at 1080x1920. Measure it with `validate_scenes`
|
|
455
|
+
(`render: true`) and a still before trusting it in a vertical video.
|
|
456
|
+
|
|
457
|
+
## Canvas explainers
|
|
458
|
+
|
|
459
|
+
A second visual path next to Remotion scenes: one self-contained HTML file with a `<canvas>` (chalkboard, whiteboard,
|
|
460
|
+
flat vector, a pixel narrator) that keeps three promises:
|
|
461
|
+
|
|
462
|
+
| Promise | Meaning |
|
|
463
|
+
|---|---|
|
|
464
|
+
| `window.seek(t)` | Draws the frame at time `t`, in seconds, as a pure function of `t` |
|
|
465
|
+
| `window.DURATION` | Its length in seconds |
|
|
466
|
+
| `window.scoreSound(kit)` | Its Web Audio score, rendered offline through `window.SOUND.renderOffline(scoreSound, seconds, sampleRate, { voiceover })` |
|
|
467
|
+
|
|
468
|
+
`render_canvas_explainer` loads the file in headless Chromium, waits for `document.fonts.ready`, walks
|
|
469
|
+
`round(DURATION * fps)` frames (1280x720 at 30 fps; pass `width: 720, height: 1280` for a Reel, both even), pipes the
|
|
470
|
+
canvas PNGs into ffmpeg (H.264, yuv420p), renders the score, and muxes the two. A file that does not expose the
|
|
471
|
+
promises is refused with the missing ones named. The logic is `dist/canvasExplainer.js`, which also runs standalone:
|
|
472
|
+
`node canvasExplainer.js --html explainer.html --out out.mp4 --width 720 --height 1280`. `async: true` returns a
|
|
473
|
+
`jobId` for `job_status`, as `render_video` does. The result carries SHA-256 hashes of the first, middle and last
|
|
474
|
+
frame: render twice and compare them to check that frames are a function of `t`. A file that calls `Math.random` is
|
|
475
|
+
warned about.
|
|
476
|
+
|
|
477
|
+
**Voice-over.** Pass `videoName` and the project's `beats.json` (after `generate_narration` and `fit_beats`) drives the
|
|
478
|
+
render: before the first draw the renderer sets `window.BEATS`, an array of `{ id, start, end, text }` in seconds, and
|
|
479
|
+
`window.DURATION` becomes the last beat's end (an explainer reads `BEATS` instead of constants). The narration clips
|
|
480
|
+
`public/audio/vo/<beatId>.mp3` are mixed in at each beat's start, to the sample, over the score rendered with
|
|
481
|
+
`{ voiceover: true }`, and the score is ducked `audio.duckDb` (default 9, never under 6) while a clip plays, eased down over
|
|
482
|
+
40 ms and back over 250 ms. `narration: "none"` renders silent narration with the full-mix sound. `check_script` and
|
|
483
|
+
`validate_beats` read the same `beats.json`, so the script gates apply unchanged.
|
|
484
|
+
|
|
485
|
+
**Captions.** Burned in from each beat's text, in chunks that break at sentence ends (and at a comma after three words
|
|
486
|
+
and at six words), timed from `<beatId>.words.json` when it exists and by word length across the clip when it does not,
|
|
487
|
+
inside the safe areas (above the bottom 22% and below the top 14% of a tall canvas, 8% either way on a wide one). Done
|
|
488
|
+
through `window.CAPTIONS.draw(ctx, t, opts)`, a helper the renderer injects: an explainer calls it at the end of
|
|
489
|
+
`seek(t)` to caption in its own font and colours (`opts.font`, `color`, `background`, `position`), and the renderer calls it
|
|
490
|
+
itself for one that does not. Chosen over an ASS subtitle pass in ffmpeg because that needs libass and system fonts, cannot match a
|
|
491
|
+
canvas's pixel font, and draws outside the explainer's own frame; the helper keeps captions inside the pure-function-of-`t`
|
|
492
|
+
promise and costs an explainer one line.
|
|
493
|
+
|
|
494
|
+
**Checks.** `validate_canvas_explainer` (also a pre-flight inside the renderer, which refuses to render on an error;
|
|
495
|
+
`validate: false` skips it) loads the file and samples frames through `seek`: a frame is the same drawn twice (error); text is at
|
|
496
|
+
least 28px for labels, 44px for headlines and 64px for key numbers at 720 on the shorter side, scaled to the canvas, found by
|
|
497
|
+
intercepting `fillText` and `strokeText` (warning below, error below half; the shorter side rather than the width, so a
|
|
498
|
+
720x1280 Reel keeps the full minimums); no text in the top 14% or bottom 22% of a tall canvas except captions (warning); the arc
|
|
499
|
+
through the code `validate_scenes` uses (first drawn element after 15 s a warning, after 25 s an error; 8 s of identical
|
|
500
|
+
frames a warning); the sound scheduled into an offline context, with the most source nodes playing at once (warning above 3)
|
|
501
|
+
and the peak level (warning at clipping); and `Math.random` in the source. Findings have `validate_scenes`' shape.
|
|
502
|
+
|
|
503
|
+
## Run records and facts
|
|
504
|
+
|
|
505
|
+
A beat's text says what was intended. A run record says what actually happened. Each tool
|
|
506
|
+
that captures, composes, renders or validates writes one small JSON file to
|
|
507
|
+
`.openvidstudio/runs/<tool>-<timestamp>.json` when it finishes: a capture records what it
|
|
508
|
+
captured (URL or command, output path, real size on disk, whether the page settled), a render
|
|
509
|
+
records the size of the file that landed and which beats it rendered or reused from the cache,
|
|
510
|
+
a validator records its findings. Writing a record never fails the tool: an unwritable runs
|
|
511
|
+
directory is logged to stderr and the tool's own result is returned untouched.
|
|
512
|
+
|
|
513
|
+
`collect_facts` (one call per video) merges the records that belong to a video into
|
|
514
|
+
`src/videos/<video>/facts.json`, keyed by beat id, and compares them with `beats.json`:
|
|
515
|
+
|
|
516
|
+
- `provenance` per beat is `capture` (a capture tool ran for it), `construction` (the beat
|
|
517
|
+
claims no capture, e.g. `dom-demo`) or `unverified` (it claims a capture and none ran).
|
|
518
|
+
- `discrepancies` lists a beat that claims a capture with no record behind it, and a recorded
|
|
519
|
+
capture whose file is no longer on disk.
|
|
520
|
+
- Only the latest record per tool is kept per beat. Older records stay in the runs directory.
|
|
521
|
+
|
|
522
|
+
Per-beat records (captures) take no video name, so they belong to every video whose
|
|
523
|
+
`beats.json` has that beat id. Video-level records (render, validate, stitch) are matched by
|
|
524
|
+
`videoName`. `validate_beats` validates a draft that is not on disk, so it only writes a record
|
|
525
|
+
when you pass it `videoName`.
|
|
526
|
+
|
|
527
|
+
Not instrumented, on purpose: `plan_*`, `write_*`, `scaffold_scene` and the other tools that
|
|
528
|
+
draft something for approval produce intent, which beats.json and brief.json already hold;
|
|
529
|
+
`extract_brand`, `contact_sheet` and `qc_extract_frames` write their own artifacts, which are
|
|
530
|
+
the evidence. `render_stills`, `compose_score` and `write_description` are the judgment calls: they
|
|
531
|
+
write files the next tool reads, and nothing downstream checks a claim against them yet.
|
|
532
|
+
|
|
145
533
|
## Asset conventions
|
|
146
534
|
|
|
147
535
|
Every tool in this pipeline that reads or writes a beat's media agrees on
|
|
@@ -156,8 +544,46 @@ VO specifically, silently omits the layer with no warning:
|
|
|
156
544
|
| Recording / Higgsfield clip | `public/video/<beatId>.mp4` | `capture_screen_recording` / `import_higgsfield_clip` | the `real-recording` / `higgsfield-clip` scene `scaffold_scene` generates |
|
|
157
545
|
| VO narration | `public/audio/vo/<beatId>.mp3` | (dev-provided, e.g. an edge-tts run) | `stitch_composition`, only if the file exists at this exact path when it runs |
|
|
158
546
|
| Music bed | `public/audio/music-bed.mp3` | (dev-provided) | `stitch_composition`, only if the file exists at this exact path when it runs |
|
|
547
|
+
| Built-in SFX | `public/sfx/<name>.{wav,mp3}` | `scripts/gen-sfx.sh`, ships with the template | `@openvidstudio/core`'s `sfx.tsx` helpers |
|
|
548
|
+
| Imported SFX / music | `public/imported_audios/<id>.<ext>` | dropped in by hand, or `plan_sound_effects` (Freesound provider) | scenes, via `staticFile("imported_audios/<id>.<ext>")` |
|
|
549
|
+
| Rendered video, contact sheet, QC stills | `output/<video>.mp4`, `output/contact-sheet.jpg`, `output/qc/<video>/` | `render_video`, `contact_sheet`, `qc_extract_frames` | pick up / upload from here |
|
|
550
|
+
| Terminal cast | `public/terminal/<beatId>.json` | `capture_terminal` | a `TerminalReplay` scene |
|
|
551
|
+
| Translated VO | `public/audio/vo/<lang>/<beatId>.mp3` | `generate_narration` with `languages` | `stitch_composition`, as that language's composition |
|
|
552
|
+
| Beat segments and their cache | `output/segments/<video>/` | `render_video` with `incremental` | `render_video`, on the next run |
|
|
553
|
+
| Visual baseline | `.openvidstudio/visual-baseline/<video>/<beatId>.png` | `visual_regression` | `visual_regression`, on the next run. Commit these |
|
|
554
|
+
| Final master, poster, share copy | `output/<video>-final.mp4`, `output/<video>-poster.jpg`, `output/<video>-share.mp4` | `finalize_video` | pick up / upload from here |
|
|
555
|
+
| Run record | `.openvidstudio/runs/<tool>-<timestamp>.json` | `capture_screenshot`, `capture_screen_recording`, `capture_terminal`, `capture_desktop`, `capture_mobile`, `import_higgsfield_clip`, `stitch_composition`, `render_video`, `finalize_video`, `validate_scenes`, `validate_beats` (with `videoName`) | `collect_facts`. Local evidence, not source: gitignore `.openvidstudio/runs/` |
|
|
556
|
+
| Facts | `src/videos/<video>/facts.json` | `collect_facts` | a reviewer, or any check that wants to hold a claim up against what ran. Commit it if you want it reviewed |
|
|
557
|
+
| Layered capture | `public/images/<beatId>-bg.png`, `<beatId>-layer-<name>.png`, `<beatId>.layers.json` | `capture_screenshot` with `layers` | `LayeredShot`, from the manifest. Paths inside it are relative to `public/` |
|
|
558
|
+
| Capture sidecar | `<asset>.capture.json` (next to the screenshot it describes) | `capture_screenshot`, `capture_screen_recording`, `release_diff` | `docs_drift` / `release_diff`, to re-capture at the same CSS viewport and scale the reference actually used |
|
|
559
|
+
|
|
560
|
+
Every path in this table is also the default a beat's `artifacts` field
|
|
561
|
+
(`PLANNING.md` §4.5) resolves to when omitted; set `artifacts.screenshotPath` /
|
|
562
|
+
`recordingPath` / `voPath` / `terminalPath` explicitly only when overriding it.
|
|
563
|
+
|
|
564
|
+
**Non-browser captures write to the same paths.** `capture_desktop` and
|
|
565
|
+
`capture_mobile` both produce `public/video/<beatId>.mp4`, exactly like
|
|
566
|
+
`capture_screen_recording`, so a scene does not need to know which backend filmed it.
|
|
567
|
+
`capture_terminal` is the exception: it records timed text rather than pixels, so it
|
|
568
|
+
writes a JSON cast instead of an mp4. See `PLANNING.md` §4.6 for when to use each.
|
|
569
|
+
|
|
570
|
+
**One language per composition.** The base language keeps the flat
|
|
571
|
+
`public/audio/vo/<beatId>.mp3` path, so nothing that already has narration moves.
|
|
572
|
+
Every other language lives under its own tag, and `stitch_composition` with
|
|
573
|
+
`languages` emits one composition per language over a single shared scene tree.
|
|
574
|
+
`requireNarration` is then enforced per language: a video fully narrated in
|
|
575
|
+
English and half narrated in Hindi is a failure of the Hindi cut, and one
|
|
576
|
+
combined complaint would hide which cut broke.
|
|
577
|
+
|
|
578
|
+
**VO omission is reported (changed 2026-09-09).** `stitch_composition` still renders a
|
|
579
|
+
beat with no narration file rather than failing, because a deliberately silent beat is
|
|
580
|
+
legitimate. What changed is that it no longer says nothing: the result now carries
|
|
581
|
+
`voBeatsMissing` and a plain-language `warnings` entry naming every beat that will play
|
|
582
|
+
silent and the exact path it looked for. Pass `requireNarration: true` (which the
|
|
583
|
+
2min-demo and 5min-demo presets should) to turn that into a hard failure instead. The
|
|
584
|
+
old behaviour, described below, is why this exists.
|
|
159
585
|
|
|
160
|
-
**
|
|
586
|
+
**Historical note on why.** `stitch_composition` checks
|
|
161
587
|
`public/audio/vo/<beatId>.mp3` for every beat and just skips the Audio
|
|
162
588
|
layer for any beat where the file isn't there, no error, no warning. A
|
|
163
589
|
video with a beat missing its VO file renders fine and plays with no
|