@openvidstudio/mcp-server 0.1.0 → 1.3.1
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/capture.d.ts +33 -0
- package/dist/capture.js +97 -1
- package/dist/config.d.ts +46 -0
- package/dist/config.js +27 -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/jobs.d.ts +37 -0
- package/dist/jobs.js +72 -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 +0 -0
- 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 +75 -0
- package/dist/tools/checkScript.js +279 -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/generateNarration.d.ts +79 -1
- package/dist/tools/generateNarration.js +228 -63
- package/dist/tools/importHiggsfieldClip.js +16 -0
- package/dist/tools/index.js +51 -0
- package/dist/tools/initProject.d.ts +12 -1
- package/dist/tools/initProject.js +75 -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 +183 -15
- 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/renderStills.d.ts +138 -0
- package/dist/tools/renderStills.js +399 -0
- package/dist/tools/renderVideo.d.ts +67 -1
- package/dist/tools/renderVideo.js +353 -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 +26 -0
- package/dist/tools/validateBeats.js +355 -21
- package/dist/tools/validateScenes.d.ts +65 -3
- package/dist/tools/validateScenes.js +325 -32
- package/dist/tools/validateScenesRender.d.ts +178 -0
- package/dist/tools/validateScenesRender.js +741 -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 +52 -0
- package/dist/tools/writeDescription.js +441 -0
- package/dist/util.d.ts +7 -12
- package/dist/util.js +14 -48
- package/docs/API.md +1060 -344
- package/docs/CAPTURE.md +182 -0
- package/docs/CREATIVE.md +217 -0
- package/docs/NARRATION.md +245 -111
- package/docs/OVERVIEW.md +30 -3
- package/docs/PIPELINE.md +387 -7
- package/docs/PLANNING.md +309 -19
- package/docs/PRESETS.md +153 -0
- package/docs/SCRIPT.md +134 -0
- package/docs/STYLE.md +74 -9
- package/docs/SUPERNOVA.md +153 -0
- package/docs/TOOLS.md +52 -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/Equation.tsx +132 -0
- package/templates/default/openvidstudio-stem/src/FreeBody.tsx +152 -0
- package/templates/default/openvidstudio-stem/src/Nova.tsx +104 -0
- package/templates/default/openvidstudio-stem/src/Spark.tsx +69 -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 +40 -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
|
@@ -33,22 +33,77 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
33
33
|
};
|
|
34
34
|
})();
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.typedNumbers = typedNumbers;
|
|
37
|
+
exports.lessonNumbers = lessonNumbers;
|
|
38
|
+
exports.isLesson = isLesson;
|
|
36
39
|
exports.runValidateScenes = runValidateScenes;
|
|
40
|
+
exports.runValidateScenesFull = runValidateScenesFull;
|
|
37
41
|
exports.registerValidateScenes = registerValidateScenes;
|
|
38
42
|
const fs = __importStar(require("node:fs"));
|
|
39
43
|
const path = __importStar(require("node:path"));
|
|
40
44
|
const zod_1 = require("zod");
|
|
41
45
|
const util_1 = require("../util");
|
|
42
46
|
const config_1 = require("../config");
|
|
47
|
+
const capture_1 = require("@openvidstudio/capture");
|
|
43
48
|
const mcp_1 = require("./mcp");
|
|
44
|
-
const
|
|
45
|
-
const
|
|
49
|
+
const facts_1 = require("../facts");
|
|
50
|
+
const renderStills_1 = require("./renderStills");
|
|
51
|
+
const validateScenesRender_1 = require("./validateScenesRender");
|
|
52
|
+
/**
|
|
53
|
+
* Reads the `<asset>.settle.json` sidecar capture_screenshot/capture_screen_recording
|
|
54
|
+
* write next to their output (see @openvidstudio/capture's writeSettleSidecar) and
|
|
55
|
+
* reports a timed-out settle loudly: that beat's frame may have been caught mid-
|
|
56
|
+
* transition, and the only previous evidence was a field in a tool result nobody kept.
|
|
57
|
+
* No sidecar (settle:false, or an asset captured before this existed) is not an error,
|
|
58
|
+
* it just means nothing to check.
|
|
59
|
+
*/
|
|
60
|
+
function checkSettleSidecar(assetPathAbs, beatId, component, findings) {
|
|
61
|
+
const sidecarPath = (0, capture_1.settleSidecarPath)(assetPathAbs);
|
|
62
|
+
if (!fs.existsSync(sidecarPath))
|
|
63
|
+
return;
|
|
64
|
+
let report;
|
|
65
|
+
try {
|
|
66
|
+
report = JSON.parse(fs.readFileSync(sidecarPath, "utf8"));
|
|
67
|
+
}
|
|
68
|
+
catch {
|
|
69
|
+
return; // Malformed sidecar: not this tool's job to diagnose, skip rather than crash validation.
|
|
70
|
+
}
|
|
71
|
+
if (!report.settled) {
|
|
72
|
+
const pending = [];
|
|
73
|
+
if (!report.fontsReady)
|
|
74
|
+
pending.push("fonts");
|
|
75
|
+
if (!report.imagesReady)
|
|
76
|
+
pending.push("images");
|
|
77
|
+
if (report.pendingAnimations > 0)
|
|
78
|
+
pending.push(`${report.pendingAnimations} animation(s)`);
|
|
79
|
+
findings.push({
|
|
80
|
+
beatId,
|
|
81
|
+
scene: `${component}.tsx`,
|
|
82
|
+
severity: "error",
|
|
83
|
+
message: `Capture timed out waiting to settle after ${report.waitedMs}ms, still pending: ` +
|
|
84
|
+
`${pending.join(", ") || "unknown"}. The frame may be caught mid-transition. Re-run the capture tool ` +
|
|
85
|
+
`with a larger settleTimeoutMs, or fix whatever on the page never finishes loading/animating.`,
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
}
|
|
46
89
|
/** Every numeric `scale:` in the camera array. */
|
|
47
90
|
function cameraScales(src) {
|
|
48
91
|
return [...src.matchAll(/scale:\s*([\d.]+)/g)]
|
|
49
92
|
.map((m) => Number.parseFloat(m[1]))
|
|
50
93
|
.filter((n) => Number.isFinite(n));
|
|
51
94
|
}
|
|
95
|
+
/**
|
|
96
|
+
* Core components that wrap `CinematicScene` with their own hardcoded internal camera
|
|
97
|
+
* keyframes (see e.g. RepoCta.tsx's `camera={[...]}`), so a scene built from one needs no
|
|
98
|
+
* external camera layered on top -- the generated .tsx just renders the component with
|
|
99
|
+
* content props and has no `scale:`/`camera` array of its own to find. Checked in packages/
|
|
100
|
+
* core/src for anything else similarly wrapping CinematicScene internally: RepoCta is the
|
|
101
|
+
* only one today. Extend this list if another one is added.
|
|
102
|
+
*/
|
|
103
|
+
const SELF_CAMERA_COMPONENTS = ["RepoCta"];
|
|
104
|
+
function usesSelfManagedCamera(src) {
|
|
105
|
+
return SELF_CAMERA_COMPONENTS.some((name) => new RegExp(`\\b${name}\\b`).test(src));
|
|
106
|
+
}
|
|
52
107
|
/** Explicit pixel widths a scene declares, which is what gets cropped. */
|
|
53
108
|
function declaredWidths(src) {
|
|
54
109
|
const out = [];
|
|
@@ -60,10 +115,129 @@ function declaredWidths(src) {
|
|
|
60
115
|
out.push(Number(m[1]));
|
|
61
116
|
return out;
|
|
62
117
|
}
|
|
118
|
+
/**
|
|
119
|
+
* The one artifact a beat actually needs, plus the command that produces it.
|
|
120
|
+
*
|
|
121
|
+
* Returns null for beats that need no capture at all (dom-demo), so the caller does not
|
|
122
|
+
* have to special-case them. Honours an `artifacts` override, since a beat is allowed to
|
|
123
|
+
* put its capture somewhere other than the convention path.
|
|
124
|
+
*/
|
|
125
|
+
/**
|
|
126
|
+
* Numbers a scene types into its own copy. C8: a scene that shows a number must get it from
|
|
127
|
+
* facts.json (what collect_facts merged out of the real tool runs) or from a capture, never
|
|
128
|
+
* from the author's memory, because a retyped number is the one that goes stale or was never
|
|
129
|
+
* true. This reads the scene source for numbers inside visible text (JSX text, and the string
|
|
130
|
+
* props text, label, title, name, caption, value) and returns them. Years, version strings
|
|
131
|
+
* and single digits are not claims and are skipped.
|
|
132
|
+
*/
|
|
133
|
+
function typedNumbers(src) {
|
|
134
|
+
const candidates = [];
|
|
135
|
+
for (const m of src.matchAll(/>([^<>{}]*\d[^<>{}]*)</g))
|
|
136
|
+
candidates.push(m[1]);
|
|
137
|
+
for (const m of src.matchAll(/\b(?:text|label|title|name|caption|value)\s*=\s*(?:"([^"]*\d[^"]*)"|'([^']*\d[^']*)')/g))
|
|
138
|
+
candidates.push((m[1] ?? m[2]));
|
|
139
|
+
const found = [];
|
|
140
|
+
for (const text of candidates) {
|
|
141
|
+
for (const m of text.matchAll(/(?<![\w.])(v?)(\d(?:[\d,]*\d)?(?:\.\d+)?)(?![\w])/g)) {
|
|
142
|
+
const token = m[2];
|
|
143
|
+
if (m[1] === "v")
|
|
144
|
+
continue;
|
|
145
|
+
if (/^(19|20)\d{2}$/.test(token))
|
|
146
|
+
continue;
|
|
147
|
+
if (/^\d$/.test(token))
|
|
148
|
+
continue;
|
|
149
|
+
if (/^\d+\.\d+\.\d+/.test(token))
|
|
150
|
+
continue;
|
|
151
|
+
found.push(token);
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
return [...new Set(found)];
|
|
155
|
+
}
|
|
156
|
+
/** A number as a comparable token: thousands separators dropped, so "1,200" and "1200" are the same. */
|
|
157
|
+
const numberKey = (token) => token.replace(/,/g, "");
|
|
158
|
+
/** The numbers a lesson's concept card and an Equation's TeX already account for. */
|
|
159
|
+
function lessonNumbers(example, src) {
|
|
160
|
+
const allowed = new Set();
|
|
161
|
+
const add = (text) => {
|
|
162
|
+
// Every run of digits, however it is attached: "36x" in TeX and "20m/s" in prose both account for 36 and 20.
|
|
163
|
+
for (const m of text.matchAll(/\d+(?:,\d{3})*(?:\.\d+)?/g))
|
|
164
|
+
allowed.add(numberKey(m[0]));
|
|
165
|
+
};
|
|
166
|
+
if (example)
|
|
167
|
+
add(example);
|
|
168
|
+
// tex="...", tex={"..."}, tex={`...`}, tex={String.raw`...`}
|
|
169
|
+
for (const m of src.matchAll(/\btex\s*=\s*(?:"([^"]*)"|'([^']*)'|\{\s*(?:String\.raw)?\s*(?:"([^"]*)"|'([^']*)'|`([^`]*)`)\s*\})/g)) {
|
|
170
|
+
add(m[1] ?? m[2] ?? m[3] ?? m[4] ?? m[5] ?? "");
|
|
171
|
+
}
|
|
172
|
+
return allowed;
|
|
173
|
+
}
|
|
174
|
+
function importsFacts(src) {
|
|
175
|
+
return /from\s+["'][^"']*facts(?:\.json)?["']/.test(src);
|
|
176
|
+
}
|
|
177
|
+
function expectedArtifact(beat, method, source) {
|
|
178
|
+
const a = beat.artifacts ?? {};
|
|
179
|
+
if (method === "existing-asset") {
|
|
180
|
+
const rel = beat.visual?.assetPath;
|
|
181
|
+
return rel
|
|
182
|
+
? { rel, fix: `This beat shows an asset the project already publishes; put the real file at that path.` }
|
|
183
|
+
: null;
|
|
184
|
+
}
|
|
185
|
+
if (method === "screenshot") {
|
|
186
|
+
return {
|
|
187
|
+
rel: a.screenshotPath ?? `public/images/${beat.id}.png`,
|
|
188
|
+
fix: "Run capture_screenshot.",
|
|
189
|
+
};
|
|
190
|
+
}
|
|
191
|
+
if (method === "recording") {
|
|
192
|
+
if (source === "terminal") {
|
|
193
|
+
return {
|
|
194
|
+
rel: a.terminalPath ?? `public/terminal/${beat.id}.json`,
|
|
195
|
+
fix: "Run capture_terminal for this beat.",
|
|
196
|
+
};
|
|
197
|
+
}
|
|
198
|
+
const rel = a.recordingPath ?? `public/video/${beat.id}.mp4`;
|
|
199
|
+
if (source === "desktop")
|
|
200
|
+
return { rel, fix: "Run capture_desktop for this beat." };
|
|
201
|
+
if (source === "mobile")
|
|
202
|
+
return { rel, fix: "Run capture_mobile for this beat." };
|
|
203
|
+
return { rel, fix: "Run capture_screen_recording." };
|
|
204
|
+
}
|
|
205
|
+
if (method === "higgsfield") {
|
|
206
|
+
return {
|
|
207
|
+
rel: a.recordingPath ?? `public/video/${beat.id}.mp4`,
|
|
208
|
+
fix: "Run import_higgsfield_clip.",
|
|
209
|
+
};
|
|
210
|
+
}
|
|
211
|
+
return null;
|
|
212
|
+
}
|
|
213
|
+
/** True when the config or the beats file says this project is a Supernova lesson. */
|
|
214
|
+
function isLesson(projectRoot, beats) {
|
|
215
|
+
return beats.production?.mode === "supernova" || (0, config_1.productionMode)((0, config_1.loadConfig)(projectRoot)) === "supernova";
|
|
216
|
+
}
|
|
217
|
+
function recordValidateScenes(input, result) {
|
|
218
|
+
(0, facts_1.writeFactRecord)((0, util_1.resolveProjectRoot)(input.projectRoot), {
|
|
219
|
+
tool: "validate_scenes",
|
|
220
|
+
videoName: (0, util_1.sanitizeSegment)(input.videoName, "videoName"),
|
|
221
|
+
facts: {
|
|
222
|
+
ok: result.ok,
|
|
223
|
+
scenesChecked: result.scenesChecked,
|
|
224
|
+
renderMode: result.render !== undefined,
|
|
225
|
+
errors: result.findings.filter((f) => f.severity === "error").length,
|
|
226
|
+
warnings: result.findings.filter((f) => f.severity === "warning").length,
|
|
227
|
+
findings: result.findings,
|
|
228
|
+
...(result.render ? { render: result.render } : {}),
|
|
229
|
+
},
|
|
230
|
+
});
|
|
231
|
+
}
|
|
63
232
|
function runValidateScenes(input) {
|
|
233
|
+
const result = staticPass(input);
|
|
234
|
+
recordValidateScenes(input, result);
|
|
235
|
+
return result;
|
|
236
|
+
}
|
|
237
|
+
function staticPass(input) {
|
|
64
238
|
const videoName = (0, util_1.sanitizeSegment)(input.videoName, "videoName");
|
|
65
239
|
const projectRoot = (0, util_1.resolveProjectRoot)(input.projectRoot);
|
|
66
|
-
const
|
|
240
|
+
const { width: frameW, height: frameH } = (0, config_1.loadConfig)(projectRoot).videoConfig;
|
|
67
241
|
const videoDir = path.join(projectRoot, "src", "videos", videoName);
|
|
68
242
|
const scenesDir = path.join(videoDir, "scenes");
|
|
69
243
|
const beatsFile = path.join(videoDir, "beats.json");
|
|
@@ -73,25 +247,45 @@ function runValidateScenes(input) {
|
|
|
73
247
|
const doc = JSON.parse(fs.readFileSync(beatsFile, "utf8"));
|
|
74
248
|
const findings = [];
|
|
75
249
|
let checked = 0;
|
|
250
|
+
// A lesson (Supernova) is judged by its own rules: the numbers in an equation or a worked example are
|
|
251
|
+
// computed, not claims, and nothing in it is footage to disclose. The config or the beats file may say so.
|
|
252
|
+
const lesson = isLesson(projectRoot, doc);
|
|
253
|
+
let example;
|
|
254
|
+
if (lesson) {
|
|
255
|
+
try {
|
|
256
|
+
const card = JSON.parse(fs.readFileSync(path.join(videoDir, "concept.json"), "utf8"));
|
|
257
|
+
if (typeof card.example === "string")
|
|
258
|
+
example = card.example;
|
|
259
|
+
}
|
|
260
|
+
catch {
|
|
261
|
+
// No concept card, or not valid JSON: only the Equations' own numbers are accounted for.
|
|
262
|
+
}
|
|
263
|
+
}
|
|
76
264
|
for (const beat of doc.beats) {
|
|
77
|
-
|
|
78
|
-
|
|
265
|
+
// A beat can point at a bespoke scene (C5's `scene` field); stitch_composition imports that
|
|
266
|
+
// file instead of scenes/<Pascal>.tsx, so this has to read the same one.
|
|
267
|
+
const overridden = beat.scene ? path.join(videoDir, beat.scene.replace(/\.(tsx|ts|jsx|js)$/, "") + ".tsx") : null;
|
|
268
|
+
const component = overridden ? path.basename(overridden, ".tsx") : (0, util_1.pascalCase)(beat.id);
|
|
269
|
+
const file = overridden ?? path.join(scenesDir, `${component}.tsx`);
|
|
79
270
|
if (!fs.existsSync(file)) {
|
|
80
271
|
findings.push({
|
|
81
272
|
beatId: beat.id,
|
|
82
273
|
scene: `${component}.tsx`,
|
|
83
274
|
severity: "error",
|
|
84
|
-
message:
|
|
275
|
+
message: overridden
|
|
276
|
+
? `Scene override ${beat.scene} does not exist.`
|
|
277
|
+
: `No scene file. Run scaffold_scene for this beat.`,
|
|
85
278
|
});
|
|
86
279
|
continue;
|
|
87
280
|
}
|
|
88
281
|
checked++;
|
|
89
282
|
const src = fs.readFileSync(file, "utf8");
|
|
90
|
-
// Framing. The binding number is the scene's highest scale, not its first.
|
|
283
|
+
// Framing. The binding number is the scene's highest scale, not its first. The frame is the
|
|
284
|
+
// project's own composition size, so a 1080x1920 reel is judged against 1080 wide, not 1920.
|
|
91
285
|
const scales = cameraScales(src);
|
|
92
286
|
const maxScale = scales.length ? Math.max(...scales) : 1;
|
|
93
|
-
const visibleW = Math.round(
|
|
94
|
-
const visibleH = Math.round(
|
|
287
|
+
const visibleW = Math.round(frameW / maxScale);
|
|
288
|
+
const visibleH = Math.round(frameH / maxScale);
|
|
95
289
|
for (const w of declaredWidths(src)) {
|
|
96
290
|
if (w > visibleW) {
|
|
97
291
|
findings.push({
|
|
@@ -99,7 +293,7 @@ function runValidateScenes(input) {
|
|
|
99
293
|
scene: `${component}.tsx`,
|
|
100
294
|
severity: "error",
|
|
101
295
|
message: `Content declares ${w}px wide but the camera reaches scale ${maxScale}, which shows only ` +
|
|
102
|
-
`${visibleW}x${visibleH} of the stage. It will be cropped at the frame edge and the render ` +
|
|
296
|
+
`${visibleW}x${visibleH} of the ${frameW}x${frameH} stage. It will be cropped at the frame edge and the render ` +
|
|
103
297
|
`will not warn. Narrow the content or lower the camera scale.`,
|
|
104
298
|
});
|
|
105
299
|
}
|
|
@@ -116,7 +310,7 @@ function runValidateScenes(input) {
|
|
|
116
310
|
});
|
|
117
311
|
}
|
|
118
312
|
}
|
|
119
|
-
if (scales.length < 2) {
|
|
313
|
+
if (scales.length < 2 && !usesSelfManagedCamera(src)) {
|
|
120
314
|
findings.push({
|
|
121
315
|
beatId: beat.id,
|
|
122
316
|
scene: `${component}.tsx`,
|
|
@@ -125,40 +319,69 @@ function runValidateScenes(input) {
|
|
|
125
319
|
});
|
|
126
320
|
}
|
|
127
321
|
// Capture assets the scene references but that are not on disk yet.
|
|
322
|
+
//
|
|
323
|
+
// Which artifact a beat needs, and which tool produces it, both depend on the beat's
|
|
324
|
+
// `source` as well as its captureMethod. Telling someone to run capture_screenshot
|
|
325
|
+
// for a `source: "desktop"` beat is worse than saying nothing: the suggested command
|
|
326
|
+
// cannot produce the missing file.
|
|
128
327
|
const method = beat.visual?.captureMethod;
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
328
|
+
const source = beat.visual?.source ?? "browser";
|
|
329
|
+
const expected = expectedArtifact(beat, method, source);
|
|
330
|
+
if (expected) {
|
|
331
|
+
const assetPathAbs = path.join(projectRoot, expected.rel);
|
|
332
|
+
if (!fs.existsSync(assetPathAbs)) {
|
|
132
333
|
findings.push({
|
|
133
334
|
beatId: beat.id,
|
|
134
335
|
scene: `${component}.tsx`,
|
|
135
336
|
severity: "error",
|
|
136
|
-
message: `References
|
|
337
|
+
message: `References ${expected.rel}, which does not exist. ${expected.fix}`,
|
|
137
338
|
});
|
|
138
339
|
}
|
|
340
|
+
else if (source === "browser" && (method === "screenshot" || method === "recording")) {
|
|
341
|
+
// Settling is a browser-capture concept: capture_desktop/mobile/terminal have no
|
|
342
|
+
// settlePage call and never write this sidecar.
|
|
343
|
+
checkSettleSidecar(assetPathAbs, beat.id, component, findings);
|
|
344
|
+
}
|
|
139
345
|
}
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
346
|
+
// C8: numbers shown on screen come from facts or a capture. A scene that types numbers into its
|
|
347
|
+
// own copy without importing facts.json is asserting them from memory. A file can opt out of the
|
|
348
|
+
// check with a `// ovs-numbers-ok: <reason>` comment (a step counter, a fixed price).
|
|
349
|
+
if (!importsFacts(src) && !src.includes("ovs-numbers-ok")) {
|
|
350
|
+
let typed = typedNumbers(src);
|
|
351
|
+
// In a lesson a number is fine when the concept card's worked example or an Equation's TeX has it;
|
|
352
|
+
// one that appears nowhere is still flagged.
|
|
353
|
+
if (lesson) {
|
|
354
|
+
const allowed = lessonNumbers(example, src);
|
|
355
|
+
typed = typed.filter((t) => !allowed.has(numberKey(t)));
|
|
356
|
+
}
|
|
357
|
+
if (typed.length > 0) {
|
|
143
358
|
findings.push({
|
|
144
359
|
beatId: beat.id,
|
|
145
360
|
scene: `${component}.tsx`,
|
|
146
|
-
severity: "
|
|
147
|
-
|
|
361
|
+
severity: "warning",
|
|
362
|
+
check: "numbers-sourcing",
|
|
363
|
+
message: `Shows ${typed.length === 1 ? "a number" : "numbers"} typed into the scene (${typed.slice(0, 4).join(", ")}` +
|
|
364
|
+
`${typed.length > 4 ? ", ..." : ""}) without importing facts.json. A number on screen should come from ` +
|
|
365
|
+
`a real tool run (collect_facts merges them into src/videos/${videoName}/facts.json) or from a capture. ` +
|
|
366
|
+
`If this one is a label rather than a claim, add "// ovs-numbers-ok: <why>" to the file.`,
|
|
148
367
|
});
|
|
149
368
|
}
|
|
150
369
|
}
|
|
151
|
-
|
|
370
|
+
const todo = src.match(/TODO/g);
|
|
371
|
+
if (todo) {
|
|
372
|
+
const offset = src.indexOf("TODO");
|
|
373
|
+
const line = src.slice(0, offset).split("\n").length;
|
|
152
374
|
findings.push({
|
|
153
375
|
beatId: beat.id,
|
|
154
376
|
scene: `${component}.tsx`,
|
|
155
377
|
severity: "warning",
|
|
156
|
-
message: `Still contains a TODO.`,
|
|
378
|
+
message: `Still contains a TODO at ${component}.tsx:${line}.`,
|
|
157
379
|
});
|
|
158
380
|
}
|
|
159
381
|
}
|
|
160
|
-
// Narration, which stitch_composition skips silently when absent.
|
|
161
|
-
|
|
382
|
+
// Narration, which stitch_composition skips silently when absent. Not for a video that declares
|
|
383
|
+
// narration: "none", which has no voice to miss.
|
|
384
|
+
for (const beat of doc.narration === "none" ? [] : doc.beats) {
|
|
162
385
|
const vo = path.join(projectRoot, "public", "audio", "vo", `${beat.id}.mp3`);
|
|
163
386
|
if (!fs.existsSync(vo)) {
|
|
164
387
|
findings.push({
|
|
@@ -170,22 +393,92 @@ function runValidateScenes(input) {
|
|
|
170
393
|
});
|
|
171
394
|
}
|
|
172
395
|
}
|
|
173
|
-
|
|
174
|
-
return { ok: !
|
|
396
|
+
const tagged = findings.map((f) => ({ source: "static", ...f }));
|
|
397
|
+
return { mode: lesson ? "supernova" : "standard", ok: !tagged.some((f) => f.severity === "error"), scenesChecked: checked, findings: tagged };
|
|
398
|
+
}
|
|
399
|
+
/**
|
|
400
|
+
* The static pass plus, when `render` is set, the render-based pass. Async because the
|
|
401
|
+
* render pass bundles the project and drives a browser; runValidateScenes stays synchronous
|
|
402
|
+
* for every caller that only wants the static read.
|
|
403
|
+
*/
|
|
404
|
+
async function runValidateScenesFull(input) {
|
|
405
|
+
const result = staticPass(input);
|
|
406
|
+
if (!input.render) {
|
|
407
|
+
recordValidateScenes(input, result);
|
|
408
|
+
return result;
|
|
409
|
+
}
|
|
410
|
+
const videoName = (0, util_1.sanitizeSegment)(input.videoName, "videoName");
|
|
411
|
+
const projectRoot = (0, util_1.resolveProjectRoot)(input.projectRoot);
|
|
412
|
+
const videoDir = path.join(projectRoot, "src", "videos", videoName);
|
|
413
|
+
const doc = JSON.parse(fs.readFileSync(path.join(videoDir, "beats.json"), "utf8"));
|
|
414
|
+
let beats = doc.beats;
|
|
415
|
+
if (input.beatIds && input.beatIds.length > 0) {
|
|
416
|
+
const known = new Set(beats.map((b) => b.id));
|
|
417
|
+
const unknown = input.beatIds.filter((id) => !known.has(id));
|
|
418
|
+
if (unknown.length > 0)
|
|
419
|
+
throw new Error(`beatIds not found in beats.json: ${unknown.join(", ")}`);
|
|
420
|
+
const wanted = new Set(input.beatIds);
|
|
421
|
+
beats = beats.filter((b) => wanted.has(b.id));
|
|
422
|
+
}
|
|
423
|
+
const compositionId = (0, renderStills_1.resolveCompositionId)(projectRoot, videoName, input.compositionId);
|
|
424
|
+
const rendered = await (0, validateScenesRender_1.runRenderChecks)({
|
|
425
|
+
projectRoot,
|
|
426
|
+
videoName,
|
|
427
|
+
compositionId,
|
|
428
|
+
beats,
|
|
429
|
+
fps: doc.fps ?? 30,
|
|
430
|
+
minimums: (0, validateScenesRender_1.readTypeMinimums)(videoDir),
|
|
431
|
+
deliberateHolds: (0, validateScenesRender_1.readDeliberateHolds)(videoDir),
|
|
432
|
+
glowBudget: isLesson(projectRoot, doc),
|
|
433
|
+
});
|
|
434
|
+
const findings = [...result.findings, ...rendered.findings];
|
|
435
|
+
const full = {
|
|
436
|
+
mode: result.mode,
|
|
437
|
+
ok: !findings.some((f) => f.severity === "error"),
|
|
438
|
+
scenesChecked: result.scenesChecked,
|
|
439
|
+
findings,
|
|
440
|
+
render: {
|
|
441
|
+
compositionId,
|
|
442
|
+
beatsMeasured: rendered.beatsMeasured,
|
|
443
|
+
beatsSkipped: rendered.beatsSkipped,
|
|
444
|
+
bundleMs: rendered.bundleMs,
|
|
445
|
+
totalMs: rendered.totalMs,
|
|
446
|
+
},
|
|
447
|
+
};
|
|
448
|
+
recordValidateScenes(input, full);
|
|
449
|
+
return full;
|
|
175
450
|
}
|
|
176
451
|
function registerValidateScenes(server) {
|
|
177
452
|
server.registerTool("validate_scenes", {
|
|
178
453
|
title: "Check scenes for problems that render without erroring",
|
|
179
454
|
description: "Reads every scene for a video and reports what would otherwise only be caught by watching the " +
|
|
180
|
-
"output. Chiefly framing: content is laid out on a
|
|
181
|
-
"
|
|
182
|
-
"
|
|
183
|
-
"
|
|
455
|
+
"output. Chiefly framing: content is laid out on a stage the size of the composition (1920x1080 by " +
|
|
456
|
+
"default, 1080x1920 for a native vertical project, read from the project's videoConfig) but the " +
|
|
457
|
+
"camera shows stage divided by scale, so a panel wider than the visible box is cropped at the frame " +
|
|
458
|
+
"edge with no warning at all. Also flags scenes whose camera never moves (a static frame fails STYLE.md), " +
|
|
459
|
+
"capture assets a scene references that are not on disk, a browser capture whose settle sidecar " +
|
|
460
|
+
"reports a timeout (the frame may be mid-transition -- see capture_screenshot/" +
|
|
461
|
+
"capture_screen_recording's settle/settleTimeoutMs), leftover TODOs, and beats with no " +
|
|
184
462
|
"narration file, since stitch_composition skips those silently and the beat renders mute. Run it " +
|
|
185
|
-
"after scaffolding and again before rendering."
|
|
463
|
+
"after scaffolding and again before rendering. Pass render: true to also mount the stitched composition " +
|
|
464
|
+
"in a real browser and measure what actually renders: text cropped at the frame edge (camera-" +
|
|
465
|
+
"transformed content only, found through the real DOM), text below the design system's minimum " +
|
|
466
|
+
"size (a Pill/ToolChip label gets its own, lower floor rather than body's), on-screen text that " +
|
|
467
|
+
"needs longer to read than the beat lasts (3.5 words/sec plus 0.8s, the same budget validate_beats " +
|
|
468
|
+
"applies), beats whose frames never change, em dashes in on-screen copy, text colour against the " +
|
|
469
|
+
"pixels rendered behind it (WCAG 4.5:1, 3:1 for large text), text outside the title-safe area, and " +
|
|
470
|
+
"scene text that overlaps the chapter HUD. In a Supernova lesson (production mode supernova) two checks change: " +
|
|
471
|
+
"a number typed into a scene passes when the concept card's worked example (concept.json) or an Equation's tex " +
|
|
472
|
+
"has it, and one that appears nowhere is still flagged, and render mode also counts the glowing elements in " +
|
|
473
|
+
"sampled frames (Void + Spark allows one at a time): more than one is a warning, more than two an error, " +
|
|
474
|
+
"except in a beat that holds a Nova. Needs stitch_composition to have run. A beat that cannot be mounted (a screen " +
|
|
475
|
+
"recording played through OffthreadVideo) is reported as render-skipped, never as clean.",
|
|
186
476
|
inputSchema: {
|
|
187
477
|
projectRoot: zod_1.z.string().optional(),
|
|
188
478
|
videoName: zod_1.z.string().min(1),
|
|
479
|
+
render: zod_1.z.boolean().optional(),
|
|
480
|
+
compositionId: zod_1.z.string().optional(),
|
|
481
|
+
beatIds: zod_1.z.array(zod_1.z.string()).optional(),
|
|
189
482
|
},
|
|
190
|
-
}, async (input) => (0, mcp_1.runTool)("validate_scenes", () =>
|
|
483
|
+
}, async (input) => (0, mcp_1.runTool)("validate_scenes", () => runValidateScenesFull(input)));
|
|
191
484
|
}
|
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
import type { SceneFinding } from "./validateScenes";
|
|
2
|
+
import { MAX_READING_WORDS_PER_SEC, READING_OVERHEAD_SEC } from "./validateBeats";
|
|
3
|
+
/**
|
|
4
|
+
* validate_scenes's render mode: the checks a static read of scene source cannot make,
|
|
5
|
+
* because each one depends on what the camera and the layout actually produce.
|
|
6
|
+
*
|
|
7
|
+
* - crop: text inside the camera-transformed stage that lands outside the frame
|
|
8
|
+
* - text size: text that ends up below the design system's minimum on-screen size
|
|
9
|
+
* - reading: a beat that is on screen for less time than its text takes to read
|
|
10
|
+
* - dead frames: a beat whose rendered pixels never change
|
|
11
|
+
* - em dash: an em dash anywhere in on-screen copy
|
|
12
|
+
* - contrast: text colour against the pixels actually rendered behind it
|
|
13
|
+
* - safe area: text inside the frame but outside the title-safe inset
|
|
14
|
+
* - HUD overlap: scene text drawn over the chapter HUD
|
|
15
|
+
*
|
|
16
|
+
* Measurement is DOM-based, not pixel-based. The scene is mounted in a real browser through
|
|
17
|
+
* the remotionBridge, seeked to a handful of frames inside each beat, and measured with
|
|
18
|
+
* getBoundingClientRect. That gives exact coordinates with no anti-aliasing or colour
|
|
19
|
+
* threshold to tune. Dead frames are the one pixel check, since "nothing moved" has no DOM
|
|
20
|
+
* equivalent (a canvas or a video can change without a node changing).
|
|
21
|
+
*
|
|
22
|
+
* Stage content is told apart from screen-space overlay content through the two data
|
|
23
|
+
* attributes core writes (`data-ovs-camera-stage`, `data-ovs-overlay`). Overlay content
|
|
24
|
+
* (captions, HUD) is not transformed by the camera, so it cannot be cropped by it and is
|
|
25
|
+
* exempt from the crop check. It is still held to the size and reading checks.
|
|
26
|
+
*/
|
|
27
|
+
/**
|
|
28
|
+
* Silent reading budget for on-screen text: about 3.5 words a second plus 0.8 s to land on it,
|
|
29
|
+
* the same numbers validate_beats applies to onScreenText on a narration:"none" beat, imported
|
|
30
|
+
* so the two gates can never disagree about how long a card has to stay up. This is a different
|
|
31
|
+
* number from validateBeats's MIN_PACE/MAX_PACE, which is the pace of spoken narration.
|
|
32
|
+
*/
|
|
33
|
+
export { MAX_READING_WORDS_PER_SEC, READING_OVERHEAD_SEC };
|
|
34
|
+
export interface TypeScaleMinimums {
|
|
35
|
+
body: number;
|
|
36
|
+
mono: number;
|
|
37
|
+
/** Small UI chips (Pill, ToolChip): never held to body's minimum, which they are not
|
|
38
|
+
* trying to meet, nor to mono's, which is about a different font role entirely. */
|
|
39
|
+
label: number;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Minimums used when a video has no design.ts. body/mono mirror DEFAULT_TYPE_SCALE in
|
|
43
|
+
* packages/core/src/designSystem.ts (body 26-34, mono 15-22); the values are copied rather
|
|
44
|
+
* than imported because this package does not depend on core, which is a template dependency.
|
|
45
|
+
* label has no DesignSystem.typeScale counterpart (that type has no label field) and is not
|
|
46
|
+
* read from design.ts below: it is a fixed floor, picked below Pill/ToolChip's own 18/20px
|
|
47
|
+
* defaults so a deliberately smaller label still passes, but a near-illegible one is flagged.
|
|
48
|
+
*/
|
|
49
|
+
export declare const DEFAULT_TYPE_MINIMUMS: TypeScaleMinimums;
|
|
50
|
+
/**
|
|
51
|
+
* Reads the lower bound of `body` and `mono` from src/videos/<name>/design.ts when one
|
|
52
|
+
* exists. Regex rather than evaluating the file, since design.ts is TypeScript that imports
|
|
53
|
+
* core and cannot be loaded from here. Anything it cannot read falls back to the default.
|
|
54
|
+
*/
|
|
55
|
+
export declare function readTypeMinimums(videoDir: string): TypeScaleMinimums;
|
|
56
|
+
export interface RenderBeat {
|
|
57
|
+
id: string;
|
|
58
|
+
start: number;
|
|
59
|
+
duration: number;
|
|
60
|
+
}
|
|
61
|
+
export interface RenderCheckInput {
|
|
62
|
+
projectRoot: string;
|
|
63
|
+
videoName: string;
|
|
64
|
+
compositionId: string;
|
|
65
|
+
beats: RenderBeat[];
|
|
66
|
+
fps: number;
|
|
67
|
+
minimums: TypeScaleMinimums;
|
|
68
|
+
/** An already-built bundle directory to measure against, instead of bundling the project again. */
|
|
69
|
+
bundleDir?: string;
|
|
70
|
+
/** Beat ids the brief marks as deliberate holds: unchanging frames there are not a dead-frames finding. */
|
|
71
|
+
deliberateHolds?: string[];
|
|
72
|
+
/** Count the glowing elements in each sampled frame against Supernova's one-at-a-time budget. Lessons only. */
|
|
73
|
+
glowBudget?: boolean;
|
|
74
|
+
}
|
|
75
|
+
export interface RenderCheckResult {
|
|
76
|
+
findings: SceneFinding[];
|
|
77
|
+
beatsMeasured: number;
|
|
78
|
+
beatsSkipped: {
|
|
79
|
+
beatId: string;
|
|
80
|
+
reason: string;
|
|
81
|
+
}[];
|
|
82
|
+
bundleMs: number;
|
|
83
|
+
totalMs: number;
|
|
84
|
+
}
|
|
85
|
+
interface TextProbe {
|
|
86
|
+
text: string;
|
|
87
|
+
/** Font size as it appears in the output frame, camera scale included. */
|
|
88
|
+
fontPx: number;
|
|
89
|
+
mono: boolean;
|
|
90
|
+
/** Inside a data-ovs-label element (Pill, ToolChip): held to its own, lower minimum. */
|
|
91
|
+
label: boolean;
|
|
92
|
+
inStage: boolean;
|
|
93
|
+
opacity: number;
|
|
94
|
+
/** Fraction of the text box outside the frame, 0 to 1. */
|
|
95
|
+
croppedRatio: number;
|
|
96
|
+
/** Furthest overhang past any frame edge, in output pixels. */
|
|
97
|
+
overhangPx: number;
|
|
98
|
+
/** Inside a data-ovs-hud element (ChapterHud): chrome, exempt from size and reading checks. */
|
|
99
|
+
hud?: boolean;
|
|
100
|
+
/** Furthest the text box reaches past the title-safe inset, in output pixels (0 if inside). */
|
|
101
|
+
safeOverhangPx?: number;
|
|
102
|
+
/** Largest share of the text box covered by a HUD element it is not part of, 0 to 1. */
|
|
103
|
+
hudOverlap?: number;
|
|
104
|
+
/** The CSS text colour, r/g/b 0-255 and alpha 0-1 (alpha 0 for gradient or clipped text). */
|
|
105
|
+
rgba?: [number, number, number, number];
|
|
106
|
+
/** The text box in the output frame, used to read the background out of the screenshot. */
|
|
107
|
+
box?: {
|
|
108
|
+
l: number;
|
|
109
|
+
t: number;
|
|
110
|
+
r: number;
|
|
111
|
+
b: number;
|
|
112
|
+
};
|
|
113
|
+
/** Background colour behind the text, read from the screenshot after the probe. */
|
|
114
|
+
bg?: [number, number, number] | null;
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* WCAG contrast ratio of text against an opaque background. The text colour is first
|
|
118
|
+
* composited over that background with its own alpha times its ancestors' opacity, which is
|
|
119
|
+
* what actually reaches the screen.
|
|
120
|
+
*/
|
|
121
|
+
export declare function contrastAgainst(rgba: [number, number, number, number], opacity: number, bg: [number, number, number]): number;
|
|
122
|
+
/**
|
|
123
|
+
* The colour behind a text box, read from the rendered frame. Taken from a ring just outside
|
|
124
|
+
* the box rather than from inside it, because inside it a large or bold string can cover more
|
|
125
|
+
* than half the pixels and the median would be the glyph colour, not the surface. The median of
|
|
126
|
+
* each channel keeps a gradient or a soft shadow from skewing it. Falls back to the box
|
|
127
|
+
* interior when there is no ring (a box that fills the frame).
|
|
128
|
+
*/
|
|
129
|
+
export declare function backgroundBehind(pixels: Uint8Array, width: number, height: number, channels: number, box: {
|
|
130
|
+
l: number;
|
|
131
|
+
t: number;
|
|
132
|
+
r: number;
|
|
133
|
+
b: number;
|
|
134
|
+
}, ringPx: number): [number, number, number] | null;
|
|
135
|
+
/**
|
|
136
|
+
* Beat ids the brief marks `deliberateHold: true` in its shotList. A missing or unreadable brief
|
|
137
|
+
* means no holds are declared, which is the strict reading: unchanging frames get reported.
|
|
138
|
+
*/
|
|
139
|
+
export declare function readDeliberateHolds(videoDir: string): string[];
|
|
140
|
+
/**
|
|
141
|
+
* The #rrggbb colours src/brand.ts sets, minus pure black and white (which nearly any frame
|
|
142
|
+
* contains, so they could not tell a branded render from an unbranded one). Empty when there is
|
|
143
|
+
* no brand file or it carries no hex colours.
|
|
144
|
+
*/
|
|
145
|
+
export declare function brandHexColors(projectRoot: string): string[];
|
|
146
|
+
/**
|
|
147
|
+
* Pure: for each colour, the share of sampled pixels in a frame that match it. A stride keeps
|
|
148
|
+
* this cheap on a 1920x1080 frame; a flat brand surface is far larger than any stride skips.
|
|
149
|
+
*/
|
|
150
|
+
export declare function colorShares(pixels: Uint8Array, width: number, height: number, channels: number, colors: string[]): Map<string, number>;
|
|
151
|
+
/** Pure: the palette finding, given the largest share each brand colour reached in any sampled frame. */
|
|
152
|
+
export declare function judgeBrandPalette(maxShare: Map<string, number>): SceneFinding[];
|
|
153
|
+
/**
|
|
154
|
+
* Pure: turns what was measured in one beat's sampled frames into findings. Split out of the
|
|
155
|
+
* browser loop so the judgement is testable without a browser.
|
|
156
|
+
*/
|
|
157
|
+
export declare function judgeBeat(opts: {
|
|
158
|
+
beat: RenderBeat;
|
|
159
|
+
fps: number;
|
|
160
|
+
minimums: TypeScaleMinimums;
|
|
161
|
+
samples: TextProbe[][];
|
|
162
|
+
/** Largest changed-pixel ratio between any two sampled frames, or null if not measured. */
|
|
163
|
+
maxChangedRatio: number | null;
|
|
164
|
+
/** The brief marks this beat as a deliberate hold, so unchanging frames are intended. */
|
|
165
|
+
deliberateHold?: boolean;
|
|
166
|
+
}): SceneFinding[];
|
|
167
|
+
/** What the glow helper in @openvidstudio/stem leaves in the DOM: an element per glow, tagged with its kind and level. */
|
|
168
|
+
interface GlowProbe {
|
|
169
|
+
kind: string;
|
|
170
|
+
level: number;
|
|
171
|
+
}
|
|
172
|
+
/**
|
|
173
|
+
* The glow budget: one glowing element at a time. More than one in a sampled frame is a warning, more
|
|
174
|
+
* than two an error. A beat that holds a Nova is exempt: the payoff is allowed to be the moment
|
|
175
|
+
* everything lights up. The worst frame in the beat is the one reported, once.
|
|
176
|
+
*/
|
|
177
|
+
export declare function judgeGlow(beat: RenderBeat, samples: GlowProbe[][], frames: number[]): SceneFinding[];
|
|
178
|
+
export declare function runRenderChecks(input: RenderCheckInput): Promise<RenderCheckResult>;
|