diff --git a/bun.lock b/bun.lock index d8d4c36c6d6..18e175438ff 100644 --- a/bun.lock +++ b/bun.lock @@ -24,7 +24,7 @@ }, "packages/animated-emoji": { "name": "@remotion/animated-emoji", - "version": "4.0.518", + "version": "4.0.519", "dependencies": { "remotion": "workspace:*", }, @@ -36,7 +36,7 @@ }, "packages/animation-utils": { "name": "@remotion/animation-utils", - "version": "4.0.518", + "version": "4.0.519", "dependencies": { "remotion": "workspace:*", }, @@ -52,7 +52,7 @@ }, "packages/astro-example": { "name": "@remotion/astro-example", - "version": "4.0.518", + "version": "4.0.519", "dependencies": { "@astrojs/react": "4.0.0", "@remotion/gif": "workspace:*", @@ -71,7 +71,7 @@ }, "packages/babel-loader": { "name": "@remotion/babel-loader", - "version": "4.0.518", + "version": "4.0.519", "dependencies": { "@babel/core": "7.29.6", "@babel/plugin-proposal-class-properties": "7.14.5", @@ -95,7 +95,7 @@ }, "packages/brand": { "name": "@remotion/brand", - "version": "4.0.518", + "version": "4.0.519", "dependencies": { "@mediabunny/prores": "catalog:", }, @@ -137,7 +137,7 @@ }, "packages/browser-studio": { "name": "@remotion/browser-studio", - "version": "4.0.518", + "version": "4.0.519", "dependencies": { "@remotion/studio-codemods": "workspace:*", "@remotion/studio-protocol": "workspace:*", @@ -164,7 +164,7 @@ }, "packages/bundler": { "name": "@remotion/bundler", - "version": "4.0.518", + "version": "4.0.519", "dependencies": { "@remotion/media-parser": "workspace:*", "@remotion/studio": "workspace:*", @@ -193,7 +193,7 @@ }, "packages/canvas": { "name": "@remotion/canvas", - "version": "4.0.518", + "version": "4.0.519", "dependencies": { "@remotion/player": "workspace:*", "remotion": "workspace:*", @@ -214,8 +214,9 @@ }, "packages/canvas-capture-extension": { "name": "@remotion/canvas-capture-extension", - "version": "4.0.518", + "version": "4.0.519", "dependencies": { + "@remotion/design": "workspace:*", "mediabunny": "catalog:", "react": "catalog:", "react-dom": "catalog:", @@ -235,7 +236,7 @@ }, "packages/captions": { "name": "@remotion/captions", - "version": "4.0.518", + "version": "4.0.519", "devDependencies": { "@remotion/eslint-config-internal": "workspace:*", "@typescript/native-preview": "catalog:", @@ -244,7 +245,7 @@ }, "packages/claude-code-plugin": { "name": "@remotion/claude-code-plugin", - "version": "4.0.518", + "version": "4.0.519", "devDependencies": { "@remotion/eslint-config-internal": "workspace:*", "@typescript/native-preview": "catalog:", @@ -253,7 +254,7 @@ }, "packages/cli": { "name": "@remotion/cli", - "version": "4.0.518", + "version": "4.0.519", "bin": { "remotion": "remotion-cli.js", "remotionb": "remotionb-cli.js", @@ -298,7 +299,7 @@ }, "packages/cloudrun": { "name": "@remotion/cloudrun", - "version": "4.0.518", + "version": "4.0.519", "dependencies": { "@google-cloud/artifact-registry": "3.5.1", "@google-cloud/functions-framework": "3.4.6", @@ -324,7 +325,7 @@ }, "packages/codex-plugin": { "name": "@remotion/codex-plugin", - "version": "4.0.518", + "version": "4.0.519", "devDependencies": { "@remotion/eslint-config-internal": "workspace:*", "@typescript/native-preview": "catalog:", @@ -333,39 +334,39 @@ }, "packages/compositor": { "name": "@remotion/compositor", - "version": "4.0.518", + "version": "4.0.519", }, "packages/compositor-darwin-arm64": { "name": "@remotion/compositor-darwin-arm64", - "version": "4.0.518", + "version": "4.0.519", }, "packages/compositor-darwin-x64": { "name": "@remotion/compositor-darwin-x64", - "version": "4.0.518", + "version": "4.0.519", }, "packages/compositor-linux-arm64-gnu": { "name": "@remotion/compositor-linux-arm64-gnu", - "version": "4.0.518", + "version": "4.0.519", }, "packages/compositor-linux-arm64-musl": { "name": "@remotion/compositor-linux-arm64-musl", - "version": "4.0.518", + "version": "4.0.519", }, "packages/compositor-linux-x64-gnu": { "name": "@remotion/compositor-linux-x64-gnu", - "version": "4.0.518", + "version": "4.0.519", }, "packages/compositor-linux-x64-musl": { "name": "@remotion/compositor-linux-x64-musl", - "version": "4.0.518", + "version": "4.0.519", }, "packages/compositor-win32-x64-msvc": { "name": "@remotion/compositor-win32-x64-msvc", - "version": "4.0.518", + "version": "4.0.519", }, "packages/convert": { "name": "@remotion/convert", - "version": "4.0.518", + "version": "4.0.519", "dependencies": { "@mediabunny/aac-encoder": "catalog:", "@mediabunny/ac3": "catalog:", @@ -428,7 +429,7 @@ }, "packages/core": { "name": "remotion", - "version": "4.0.518", + "version": "4.0.519", "devDependencies": { "@happy-dom/global-registrator": "14.5.1", "@remotion/eslint-config-internal": "workspace:*", @@ -450,7 +451,7 @@ }, "packages/create-video": { "name": "create-video", - "version": "4.0.518", + "version": "4.0.519", "bin": { "create-video": "bin.js", }, @@ -472,7 +473,7 @@ }, "packages/design": { "name": "@remotion/design", - "version": "4.0.518", + "version": "4.0.519", "dependencies": { "@radix-ui/react-select": "2.1.1", "@radix-ui/react-slot": "1.2.4", @@ -502,11 +503,11 @@ }, "packages/discord-poster": { "name": "@remotion/discord-poster", - "version": "4.0.518", + "version": "4.0.519", }, "packages/docs": { "name": "docs", - "version": "4.0.518", + "version": "4.0.519", "dependencies": { "@aws-sdk/s3-request-presigner": "catalog:", "@babel/parser": "7.24.1", @@ -527,6 +528,7 @@ "@remotion/animated-emoji": "workspace:*", "@remotion/animation-utils": "workspace:*", "@remotion/babel-loader": "workspace:*", + "@remotion/brand": "workspace:*", "@remotion/browser-studio": "workspace:*", "@remotion/bundler": "workspace:*", "@remotion/captions": "workspace:*", @@ -640,7 +642,7 @@ }, "packages/docusaurus-plugin": { "name": "@remotion/docusaurus-plugin", - "version": "4.0.518", + "version": "4.0.519", "dependencies": { "@docusaurus/types": "3.6.0", "@shikijs/twoslash": "3.22.0", @@ -659,7 +661,7 @@ }, "packages/effects": { "name": "@remotion/effects", - "version": "4.0.518", + "version": "4.0.519", "dependencies": { "remotion": "workspace:*", }, @@ -673,7 +675,7 @@ }, "packages/elevenlabs": { "name": "@remotion/elevenlabs", - "version": "4.0.518", + "version": "4.0.519", "dependencies": { "@remotion/captions": "workspace:*", }, @@ -685,7 +687,7 @@ }, "packages/enable-scss": { "name": "@remotion/enable-scss", - "version": "4.0.518", + "version": "4.0.519", "dependencies": { "css-loader": "7.1.4", "sass-loader": "14.2.1", @@ -703,7 +705,7 @@ }, "packages/eslint-config": { "name": "@remotion/eslint-config", - "version": "4.0.518", + "version": "4.0.519", "devDependencies": { "@remotion/eslint-config-internal": "workspace:*", "@remotion/eslint-plugin": "workspace:*", @@ -720,7 +722,7 @@ }, "packages/eslint-config-flat": { "name": "@remotion/eslint-config-flat", - "version": "4.0.518", + "version": "4.0.519", "dependencies": { "typescript-eslint": "8.21.0", }, @@ -739,7 +741,7 @@ }, "packages/eslint-config-internal": { "name": "@remotion/eslint-config-internal", - "version": "4.0.518", + "version": "4.0.519", "dependencies": { "@eslint/compat": "1.2.2", "@eslint/eslintrc": "3.1.0", @@ -758,7 +760,7 @@ }, "packages/eslint-plugin": { "name": "@remotion/eslint-plugin", - "version": "4.0.518", + "version": "4.0.519", "dependencies": { "@typescript-eslint/utils": "5.19.0", }, @@ -773,7 +775,7 @@ }, "packages/example": { "name": "@remotion/example", - "version": "4.0.518", + "version": "4.0.519", "dependencies": { "@mdx-js/loader": "2.3.0", "@mdx-js/react": "2.3.0", @@ -870,7 +872,7 @@ }, "packages/example-videos": { "name": "@remotion/example-videos", - "version": "4.0.518", + "version": "4.0.519", "devDependencies": { "@remotion/eslint-config-internal": "workspace:*", "@typescript/native-preview": "catalog:", @@ -881,7 +883,7 @@ }, "packages/example-without-zod": { "name": "@remotion/example-without-zod", - "version": "4.0.518", + "version": "4.0.519", "dependencies": { "@remotion/cli": "workspace:*", "react": "catalog:", @@ -891,7 +893,7 @@ }, "packages/fonts": { "name": "@remotion/fonts", - "version": "4.0.518", + "version": "4.0.519", "dependencies": { "remotion": "workspace:*", }, @@ -903,7 +905,7 @@ }, "packages/gif": { "name": "@remotion/gif", - "version": "4.0.518", + "version": "4.0.519", "dependencies": { "remotion": "workspace:*", }, @@ -924,7 +926,7 @@ }, "packages/google-fonts": { "name": "@remotion/google-fonts", - "version": "4.0.518", + "version": "4.0.519", "dependencies": { "remotion": "workspace:*", }, @@ -937,7 +939,7 @@ }, "packages/gsap": { "name": "@remotion/gsap", - "version": "4.0.518", + "version": "4.0.519", "dependencies": { "remotion": "workspace:*", }, @@ -960,7 +962,7 @@ }, "packages/install-whisper-cpp": { "name": "@remotion/install-whisper-cpp", - "version": "4.0.518", + "version": "4.0.519", "dependencies": { "@remotion/captions": "workspace:*", }, @@ -972,7 +974,7 @@ }, "packages/it-tests": { "name": "@remotion/it-tests", - "version": "4.0.518", + "version": "4.0.519", "devDependencies": { "@mdx-js/loader": "2.3.0", "@remotion/babel-loader": "workspace:*", @@ -1027,7 +1029,7 @@ }, "packages/jonnys-videos": { "name": "@remotion/jonnys-videos", - "version": "4.0.518", + "version": "4.0.519", "dependencies": { "@mediabunny/prores": "catalog:", "@remotion/captions": "workspace:*", @@ -1051,7 +1053,7 @@ }, "packages/kimi-code-plugin": { "name": "@remotion/kimi-code-plugin", - "version": "4.0.518", + "version": "4.0.519", "devDependencies": { "@remotion/eslint-config-internal": "workspace:*", "@typescript/native-preview": "catalog:", @@ -1060,7 +1062,7 @@ }, "packages/lambda": { "name": "@remotion/lambda", - "version": "4.0.518", + "version": "4.0.519", "dependencies": { "@aws-sdk/client-cloudwatch-logs": "catalog:", "@aws-sdk/client-iam": "catalog:", @@ -1102,7 +1104,7 @@ }, "packages/lambda-client": { "name": "@remotion/lambda-client", - "version": "4.0.518", + "version": "4.0.519", "devDependencies": { "@aws-sdk/client-cloudwatch-logs": "catalog:", "@aws-sdk/client-iam": "catalog:", @@ -1126,25 +1128,25 @@ }, "packages/lambda-go": { "name": "@remotion/lambda-go", - "version": "4.0.518", + "version": "4.0.519", "devDependencies": { "remotion": "workspace:*", }, }, "packages/lambda-go-example": { "name": "@remotion/lambda-go-example", - "version": "4.0.518", + "version": "4.0.519", }, "packages/lambda-php": { "name": "@remotion/lambda-php", - "version": "4.0.518", + "version": "4.0.519", "devDependencies": { "remotion": "workspace:*", }, }, "packages/lambda-python": { "name": "@remotion/lambda-python", - "version": "4.0.518", + "version": "4.0.519", "dependencies": { "dotenv": "17.3.1", }, @@ -1154,14 +1156,14 @@ }, "packages/lambda-ruby": { "name": "@remotion/lambda-ruby", - "version": "4.0.518", + "version": "4.0.519", "devDependencies": { "remotion": "workspace:*", }, }, "packages/layout-utils": { "name": "@remotion/layout-utils", - "version": "4.0.518", + "version": "4.0.519", "devDependencies": { "@remotion/eslint-config-internal": "workspace:*", "@typescript/native-preview": "catalog:", @@ -1177,7 +1179,7 @@ }, "packages/licensing": { "name": "@remotion/licensing", - "version": "4.0.518", + "version": "4.0.519", "devDependencies": { "@remotion/eslint-config-internal": "workspace:*", "@typescript/native-preview": "catalog:", @@ -1188,7 +1190,7 @@ }, "packages/light-leaks": { "name": "@remotion/light-leaks", - "version": "4.0.518", + "version": "4.0.519", "dependencies": { "@remotion/effects": "workspace:*", "remotion": "workspace:*", @@ -1208,7 +1210,7 @@ }, "packages/lottie": { "name": "@remotion/lottie", - "version": "4.0.518", + "version": "4.0.519", "dependencies": { "remotion": "workspace:*", }, @@ -1228,7 +1230,7 @@ }, "packages/mac-cursors": { "name": "@remotion/mac-cursors", - "version": "4.0.518", + "version": "4.0.519", "dependencies": { "remotion": "workspace:*", }, @@ -1246,7 +1248,7 @@ }, "packages/maptiler": { "name": "@remotion/maptiler", - "version": "4.0.518", + "version": "4.0.519", "dependencies": { "@maptiler/sdk": "4.0.2", "@turf/turf": "7.3.2", @@ -1266,7 +1268,7 @@ }, "packages/mcp": { "name": "@remotion/mcp", - "version": "4.0.518", + "version": "4.0.519", "bin": { "remotion-mcp": "./dist/esm/index.mjs", }, @@ -1283,7 +1285,7 @@ }, "packages/media": { "name": "@remotion/media", - "version": "4.0.518", + "version": "4.0.519", "dependencies": { "mediabunny": "catalog:", "remotion": "workspace:*", @@ -1307,7 +1309,7 @@ }, "packages/media-parser": { "name": "@remotion/media-parser", - "version": "4.0.518", + "version": "4.0.519", "devDependencies": { "@remotion/eslint-config-internal": "workspace:*", "@remotion/example-videos": "workspace:*", @@ -1320,7 +1322,7 @@ }, "packages/media-utils": { "name": "@remotion/media-utils", - "version": "4.0.518", + "version": "4.0.519", "dependencies": { "mediabunny": "catalog:", "remotion": "workspace:*", @@ -1337,7 +1339,7 @@ }, "packages/motion-blur": { "name": "@remotion/motion-blur", - "version": "4.0.518", + "version": "4.0.519", "dependencies": { "remotion": "workspace:*", }, @@ -1356,7 +1358,7 @@ }, "packages/noise": { "name": "@remotion/noise", - "version": "4.0.518", + "version": "4.0.519", "dependencies": { "remotion": "workspace:*", "simplex-noise": "4.0.1", @@ -1369,7 +1371,7 @@ }, "packages/openai-whisper": { "name": "@remotion/openai-whisper", - "version": "4.0.518", + "version": "4.0.519", "dependencies": { "@remotion/captions": "workspace:*", }, @@ -1382,7 +1384,7 @@ }, "packages/paths": { "name": "@remotion/paths", - "version": "4.0.518", + "version": "4.0.519", "devDependencies": { "@remotion/eslint-config-internal": "workspace:*", "@typescript/native-preview": "catalog:", @@ -1391,7 +1393,7 @@ }, "packages/player": { "name": "@remotion/player", - "version": "4.0.518", + "version": "4.0.519", "dependencies": { "remotion": "workspace:*", }, @@ -1414,7 +1416,7 @@ }, "packages/player-a11y": { "name": "@remotion/player-a11y", - "version": "4.0.518", + "version": "4.0.519", "dependencies": { "@remotion/player": "workspace:*", "remotion": "workspace:*", @@ -1433,7 +1435,7 @@ }, "packages/player-example": { "name": "@remotion/player-example", - "version": "4.0.518", + "version": "4.0.519", "dependencies": { "@remotion/bundler": "workspace:*", "@remotion/canvas": "workspace:*", @@ -1456,7 +1458,7 @@ }, "packages/preload": { "name": "@remotion/preload", - "version": "4.0.518", + "version": "4.0.519", "devDependencies": { "@remotion/eslint-config-internal": "workspace:*", "@typescript/native-preview": "catalog:", @@ -1465,7 +1467,7 @@ }, "packages/promo-pages": { "name": "@remotion/promo-pages", - "version": "4.0.518", + "version": "4.0.519", "dependencies": { "@mediabunny/aac-encoder": "catalog:", "@mediabunny/ac3": "catalog:", @@ -1508,7 +1510,7 @@ }, "packages/react18-tests": { "name": "@remotion/react18-tests", - "version": "4.0.518", + "version": "4.0.519", "dependencies": { "@remotion/zod-types": "workspace:*", "@remotion/zod-types-v3": "workspace:*", @@ -1538,7 +1540,7 @@ }, "packages/remotion-media": { "name": "@remotion/remotion-media", - "version": "4.0.518", + "version": "4.0.519", "dependencies": { "@remotion/cli": "workspace:*", "@remotion/paths": "workspace:*", @@ -1561,7 +1563,7 @@ }, "packages/renderer": { "name": "@remotion/renderer", - "version": "4.0.518", + "version": "4.0.519", "dependencies": { "@remotion/licensing": "workspace:*", "@remotion/streaming": "workspace:*", @@ -1599,7 +1601,7 @@ }, "packages/rive": { "name": "@remotion/rive", - "version": "4.0.518", + "version": "4.0.519", "dependencies": { "@rive-app/canvas-advanced": "2.31.5", "remotion": "workspace:*", @@ -1618,7 +1620,7 @@ }, "packages/rough-notation": { "name": "@remotion/rough-notation", - "version": "4.0.518", + "version": "4.0.519", "dependencies": { "@remotion/paths": "workspace:*", "remotion": "workspace:*", @@ -1638,7 +1640,7 @@ }, "packages/rounded-text-box": { "name": "@remotion/rounded-text-box", - "version": "4.0.518", + "version": "4.0.519", "dependencies": { "@remotion/layout-utils": "workspace:*", "@remotion/paths": "workspace:*", @@ -1651,7 +1653,7 @@ }, "packages/serverless": { "name": "@remotion/serverless", - "version": "4.0.518", + "version": "4.0.519", "dependencies": { "@remotion/bundler": "workspace:*", "@remotion/licensing": "workspace:*", @@ -1666,7 +1668,7 @@ }, "packages/serverless-client": { "name": "@remotion/serverless-client", - "version": "4.0.518", + "version": "4.0.519", "devDependencies": { "@remotion/eslint-config-internal": "workspace:*", "@remotion/renderer": "workspace:*", @@ -1678,7 +1680,7 @@ }, "packages/sfx": { "name": "@remotion/sfx", - "version": "4.0.518", + "version": "4.0.519", "devDependencies": { "@remotion/eslint-config-internal": "workspace:*", "@typescript/native-preview": "catalog:", @@ -1687,7 +1689,7 @@ }, "packages/shapes": { "name": "@remotion/shapes", - "version": "4.0.518", + "version": "4.0.519", "dependencies": { "@remotion/paths": "workspace:*", "remotion": "workspace:*", @@ -1708,7 +1710,7 @@ }, "packages/skia": { "name": "@remotion/skia", - "version": "4.0.518", + "version": "4.0.519", "dependencies": { "remotion": "workspace:*", }, @@ -1732,7 +1734,7 @@ }, "packages/skills": { "name": "@remotion/skills", - "version": "4.0.518", + "version": "4.0.519", "devDependencies": { "@remotion/bundler": "workspace:*", "@remotion/cli": "workspace:*", @@ -1750,7 +1752,7 @@ }, "packages/skills-evals": { "name": "@remotion/skills-evals", - "version": "4.0.518", + "version": "4.0.519", "dependencies": { "@remotion/skills": "workspace:*", "react": "catalog:", @@ -1767,7 +1769,7 @@ }, "packages/starburst": { "name": "@remotion/starburst", - "version": "4.0.518", + "version": "4.0.519", "dependencies": { "@remotion/effects": "workspace:*", "remotion": "workspace:*", @@ -1787,7 +1789,7 @@ }, "packages/streaming": { "name": "@remotion/streaming", - "version": "4.0.518", + "version": "4.0.519", "devDependencies": { "@remotion/eslint-config-internal": "workspace:*", "@typescript/native-preview": "catalog:", @@ -1796,7 +1798,7 @@ }, "packages/studio": { "name": "@remotion/studio", - "version": "4.0.518", + "version": "4.0.519", "dependencies": { "@jridgewell/trace-mapping": "0.3.31", "@remotion/canvas": "workspace:*", @@ -1836,7 +1838,7 @@ }, "packages/studio-codemods": { "name": "@remotion/studio-codemods", - "version": "4.0.518", + "version": "4.0.519", "dependencies": { "@babel/parser": "7.24.1", "@babel/types": "7.24.0", @@ -1853,7 +1855,7 @@ }, "packages/studio-protocol": { "name": "@remotion/studio-protocol", - "version": "4.0.518", + "version": "4.0.519", "devDependencies": { "@remotion/eslint-config-internal": "workspace:*", "@typescript/native-preview": "catalog:", @@ -1862,7 +1864,7 @@ }, "packages/studio-server": { "name": "@remotion/studio-server", - "version": "4.0.518", + "version": "4.0.519", "dependencies": { "@babel/parser": "7.24.1", "@babel/types": "7.24.0", @@ -1894,7 +1896,7 @@ }, "packages/studio-shared": { "name": "@remotion/studio-shared", - "version": "4.0.518", + "version": "4.0.519", "dependencies": { "@remotion/studio-protocol": "workspace:*", "remotion": "workspace:*", @@ -1908,7 +1910,7 @@ }, "packages/svg-3d-engine": { "name": "@remotion/svg-3d-engine", - "version": "4.0.518", + "version": "4.0.519", "dependencies": { "@remotion/paths": "workspace:*", }, @@ -1920,7 +1922,7 @@ }, "packages/tailwind": { "name": "@remotion/tailwind", - "version": "4.0.518", + "version": "4.0.519", "dependencies": { "autoprefixer": "10.4.20", "css-loader": "7.1.4", @@ -1943,7 +1945,7 @@ }, "packages/tailwind-v4": { "name": "@remotion/tailwind-v4", - "version": "4.0.518", + "version": "4.0.519", "dependencies": { "@tailwindcss/webpack": "4.2.0", "css-loader": "7.1.4", @@ -2667,7 +2669,7 @@ }, "packages/test-utils": { "name": "@remotion/test-utils", - "version": "4.0.518", + "version": "4.0.519", "devDependencies": { "@remotion/eslint-config-internal": "workspace:*", "@typescript/native-preview": "catalog:", @@ -2679,7 +2681,7 @@ }, "packages/three": { "name": "@remotion/three", - "version": "4.0.518", + "version": "4.0.519", "dependencies": { "remotion": "workspace:*", }, @@ -2706,7 +2708,7 @@ }, "packages/timeline-utils": { "name": "@remotion/timeline-utils", - "version": "4.0.518", + "version": "4.0.519", "dependencies": { "mediabunny": "catalog:", "remotion": "workspace:*", @@ -2720,7 +2722,7 @@ }, "packages/transitions": { "name": "@remotion/transitions", - "version": "4.0.518", + "version": "4.0.519", "dependencies": { "@remotion/paths": "workspace:*", "@remotion/shapes": "workspace:*", @@ -2744,7 +2746,7 @@ }, "packages/vercel": { "name": "@remotion/vercel", - "version": "4.0.518", + "version": "4.0.519", "dependencies": { "@remotion/renderer": "workspace:*", "remotion": "workspace:*", @@ -2762,7 +2764,7 @@ }, "packages/web-renderer": { "name": "@remotion/web-renderer", - "version": "4.0.518", + "version": "4.0.519", "dependencies": { "@mediabunny/aac-encoder": "catalog:", "@mediabunny/flac-encoder": "catalog:", @@ -2800,7 +2802,7 @@ }, "packages/webcodecs": { "name": "@remotion/webcodecs", - "version": "4.0.518", + "version": "4.0.519", "dependencies": { "@remotion/media-parser": "workspace:*", }, @@ -2817,7 +2819,7 @@ }, "packages/whisper-web": { "name": "@remotion/whisper-web", - "version": "4.0.518", + "version": "4.0.519", "dependencies": { "@remotion/captions": "workspace:*", }, @@ -2829,7 +2831,7 @@ }, "packages/whisper-webgpu": { "name": "@remotion/whisper-webgpu", - "version": "4.0.518", + "version": "4.0.519", "dependencies": { "@huggingface/transformers": "catalog:", "@remotion/captions": "workspace:*", @@ -2842,7 +2844,7 @@ }, "packages/zod-types": { "name": "@remotion/zod-types", - "version": "4.0.518", + "version": "4.0.519", "dependencies": { "remotion": "workspace:*", }, @@ -2855,7 +2857,7 @@ }, "packages/zod-types-v3": { "name": "@remotion/zod-types-v3", - "version": "4.0.518", + "version": "4.0.519", "dependencies": { "@remotion/zod-types": "workspace:*", "remotion": "workspace:*", diff --git a/packages/animated-emoji/package.json b/packages/animated-emoji/package.json index 5729a1acc7d..7664d5b1706 100644 --- a/packages/animated-emoji/package.json +++ b/packages/animated-emoji/package.json @@ -1,6 +1,6 @@ { "name": "@remotion/animated-emoji", - "version": "4.0.518", + "version": "4.0.519", "main": "dist/cjs/index.js", "types": "dist/cjs/index.d.ts", "module": "dist/esm/index.mjs", diff --git a/packages/animation-utils/package.json b/packages/animation-utils/package.json index 32cb030f572..78ac0455ac9 100644 --- a/packages/animation-utils/package.json +++ b/packages/animation-utils/package.json @@ -7,7 +7,7 @@ "name": "Chetan Karwa", "email": "cbkarwa@gmail.com" }, - "version": "4.0.518", + "version": "4.0.519", "description": "Helpers for animating CSS properties", "main": "./dist/index.js", "module": "./dist/index.mjs", diff --git a/packages/astro-example/package.json b/packages/astro-example/package.json index de429577188..0fc8c7e5f06 100644 --- a/packages/astro-example/package.json +++ b/packages/astro-example/package.json @@ -5,7 +5,7 @@ "name": "@remotion/astro-example", "private": true, "type": "module", - "version": "4.0.518", + "version": "4.0.519", "scripts": { "dev": "astro dev", "start": "astro dev", diff --git a/packages/babel-loader/package.json b/packages/babel-loader/package.json index 0238d7ae9c7..1b810b89796 100644 --- a/packages/babel-loader/package.json +++ b/packages/babel-loader/package.json @@ -3,7 +3,7 @@ "url": "https://github.com/remotion-dev/remotion/tree/main/packages/babel-loader" }, "name": "@remotion/babel-loader", - "version": "4.0.518", + "version": "4.0.519", "description": "Babel loader for Remotion", "main": "dist/index.js", "scripts": { diff --git a/packages/brand/package.json b/packages/brand/package.json index ad7deee80fa..c446433b812 100644 --- a/packages/brand/package.json +++ b/packages/brand/package.json @@ -3,7 +3,7 @@ "url": "https://github.com/remotion-dev/remotion/tree/main/packages/brand" }, "name": "@remotion/brand", - "version": "4.0.518", + "version": "4.0.519", "private": true, "sideEffects": [ "*.css" diff --git a/packages/browser-studio/package.json b/packages/browser-studio/package.json index b091a500822..b7d6c41e08a 100644 --- a/packages/browser-studio/package.json +++ b/packages/browser-studio/package.json @@ -4,7 +4,7 @@ }, "name": "@remotion/browser-studio", "private": true, - "version": "4.0.518", + "version": "4.0.519", "description": "Run Remotion Studio in the browser", "main": "dist/esm/index.mjs", "types": "dist/index.d.ts", diff --git a/packages/bugs/package.json b/packages/bugs/package.json index 869fa7fc480..2019d942ecb 100644 --- a/packages/bugs/package.json +++ b/packages/bugs/package.json @@ -4,5 +4,5 @@ }, "name": "bugs", "private": true, - "version": "4.0.518" + "version": "4.0.519" } diff --git a/packages/bundler/package.json b/packages/bundler/package.json index 424c5654ed5..b1755bf1e78 100644 --- a/packages/bundler/package.json +++ b/packages/bundler/package.json @@ -3,7 +3,7 @@ "url": "https://github.com/remotion-dev/remotion/tree/main/packages/bundler" }, "name": "@remotion/bundler", - "version": "4.0.518", + "version": "4.0.519", "description": "Bundle Remotion compositions using Webpack", "main": "dist/index.js", "bugs": { diff --git a/packages/canvas-capture-extension/package.json b/packages/canvas-capture-extension/package.json index ff42eae8f46..5a2b648c8a9 100644 --- a/packages/canvas-capture-extension/package.json +++ b/packages/canvas-capture-extension/package.json @@ -1,6 +1,6 @@ { "name": "@remotion/canvas-capture-extension", - "version": "4.0.518", + "version": "4.0.519", "private": true, "type": "module", "scripts": { diff --git a/packages/canvas/package.json b/packages/canvas/package.json index baed23c55c3..bde1f5bf5bc 100644 --- a/packages/canvas/package.json +++ b/packages/canvas/package.json @@ -3,7 +3,7 @@ "url": "https://github.com/remotion-dev/remotion/tree/main/packages/canvas" }, "name": "@remotion/canvas", - "version": "4.0.518", + "version": "4.0.519", "description": "Headless primitives for Remotion authoring interfaces", "main": "dist/index.cjs", "types": "dist/index.d.ts", diff --git a/packages/captions/package.json b/packages/captions/package.json index 79b79c7e985..fa2b323d796 100644 --- a/packages/captions/package.json +++ b/packages/captions/package.json @@ -3,7 +3,7 @@ "url": "https://github.com/remotion-dev/remotion/tree/main/packages/captions" }, "name": "@remotion/captions", - "version": "4.0.518", + "version": "4.0.519", "description": "Primitives for dealing with captions", "main": "dist/index.js", "types": "dist/index.d.ts", diff --git a/packages/claude-code-plugin/.claude-plugin/plugin.json b/packages/claude-code-plugin/.claude-plugin/plugin.json index bb0d5bebe5b..9f29ab90c93 100644 --- a/packages/claude-code-plugin/.claude-plugin/plugin.json +++ b/packages/claude-code-plugin/.claude-plugin/plugin.json @@ -2,7 +2,7 @@ "$schema": "https://json.schemastore.org/claude-code-plugin-manifest.json", "name": "remotion", "displayName": "Remotion", - "version": "4.0.518", + "version": "4.0.519", "description": "Remotion video creation skills — best practices, animations, audio, captions, 3D, and more for building programmatic videos with React.", "author": { "name": "Remotion", diff --git a/packages/claude-code-plugin/package.json b/packages/claude-code-plugin/package.json index aaed54317d3..1e387144750 100644 --- a/packages/claude-code-plugin/package.json +++ b/packages/claude-code-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@remotion/claude-code-plugin", - "version": "4.0.518", + "version": "4.0.519", "private": true, "type": "module", "repository": { diff --git a/packages/cli/package.json b/packages/cli/package.json index 86b60265bee..26091a4a464 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -3,7 +3,7 @@ "url": "https://github.com/remotion-dev/remotion/tree/main/packages/cli" }, "name": "@remotion/cli", - "version": "4.0.518", + "version": "4.0.519", "description": "Control Remotion features using the `npx remotion` command", "main": "dist/index.js", "bin": { diff --git a/packages/cloudrun/container/package.json b/packages/cloudrun/container/package.json index 753664ed113..d2dea479269 100644 --- a/packages/cloudrun/container/package.json +++ b/packages/cloudrun/container/package.json @@ -1,6 +1,6 @@ { "name": "cloud-run-render", - "version": "4.0.518", + "version": "4.0.519", "description": "Render media and stills on GCP Cloud Run", "main": "dist/index.js", "scripts": { diff --git a/packages/cloudrun/package.json b/packages/cloudrun/package.json index dd39e8fb720..414b2d48527 100644 --- a/packages/cloudrun/package.json +++ b/packages/cloudrun/package.json @@ -3,7 +3,7 @@ "url": "https://github.com/remotion-dev/remotion/tree/main/packages/cloudrun" }, "name": "@remotion/cloudrun", - "version": "4.0.518", + "version": "4.0.519", "description": "Render Remotion videos on Google Cloud Run", "main": "dist/index.js", "scripts": { diff --git a/packages/codex-plugin/.codex-plugin/plugin.json b/packages/codex-plugin/.codex-plugin/plugin.json index 058820d01cf..309931c92b5 100644 --- a/packages/codex-plugin/.codex-plugin/plugin.json +++ b/packages/codex-plugin/.codex-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "remotion", - "version": "4.0.518", + "version": "4.0.519", "description": "Remotion video creation skills — best practices, animations, audio, captions, 3D, and more for building programmatic videos with React.", "author": { "name": "Remotion", diff --git a/packages/codex-plugin/package.json b/packages/codex-plugin/package.json index 80baacbe5e6..461b3641b79 100644 --- a/packages/codex-plugin/package.json +++ b/packages/codex-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@remotion/codex-plugin", - "version": "4.0.518", + "version": "4.0.519", "private": true, "type": "module", "repository": { diff --git a/packages/codex-plugin/plugin.json b/packages/codex-plugin/plugin.json index a642f49f65f..532044b4339 100644 --- a/packages/codex-plugin/plugin.json +++ b/packages/codex-plugin/plugin.json @@ -1,7 +1,7 @@ { "$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json", "name": "remotion", - "version": "4.0.518", + "version": "4.0.519", "description": "Remotion video creation skills — best practices, animations, audio, captions, 3D, and more for building programmatic videos with React.", "author": { "name": "Remotion", diff --git a/packages/compositor-darwin-arm64/package.json b/packages/compositor-darwin-arm64/package.json index 4ccb403cba2..cea50545d79 100644 --- a/packages/compositor-darwin-arm64/package.json +++ b/packages/compositor-darwin-arm64/package.json @@ -2,7 +2,7 @@ "repository": { "url": "https://github.com/remotion-dev/remotion/tree/main/packages/compositor-darwin-arm64" }, - "version": "4.0.518", + "version": "4.0.519", "name": "@remotion/compositor-darwin-arm64", "os": [ "darwin" diff --git a/packages/compositor-darwin-x64/package.json b/packages/compositor-darwin-x64/package.json index 6395cb4b9bd..efcdb226fc0 100644 --- a/packages/compositor-darwin-x64/package.json +++ b/packages/compositor-darwin-x64/package.json @@ -2,7 +2,7 @@ "repository": { "url": "https://github.com/remotion-dev/remotion/tree/main/packages/compositor-darwin-x64" }, - "version": "4.0.518", + "version": "4.0.519", "name": "@remotion/compositor-darwin-x64", "os": [ "darwin" diff --git a/packages/compositor-linux-arm64-gnu/package.json b/packages/compositor-linux-arm64-gnu/package.json index 0bf09b44db4..1c73734136c 100644 --- a/packages/compositor-linux-arm64-gnu/package.json +++ b/packages/compositor-linux-arm64-gnu/package.json @@ -2,7 +2,7 @@ "repository": { "url": "https://github.com/remotion-dev/remotion/tree/main/packages/compositor-linux-arm64-gnu" }, - "version": "4.0.518", + "version": "4.0.519", "name": "@remotion/compositor-linux-arm64-gnu", "os": [ "linux" diff --git a/packages/compositor-linux-arm64-musl/package.json b/packages/compositor-linux-arm64-musl/package.json index a84bf39b9b4..c3687e2ad38 100644 --- a/packages/compositor-linux-arm64-musl/package.json +++ b/packages/compositor-linux-arm64-musl/package.json @@ -2,7 +2,7 @@ "repository": { "url": "https://github.com/remotion-dev/remotion/tree/main/packages/compositor-linux-arm64-musl" }, - "version": "4.0.518", + "version": "4.0.519", "name": "@remotion/compositor-linux-arm64-musl", "os": [ "linux" diff --git a/packages/compositor-linux-x64-gnu/package.json b/packages/compositor-linux-x64-gnu/package.json index e4bae653ea2..da33e9df734 100644 --- a/packages/compositor-linux-x64-gnu/package.json +++ b/packages/compositor-linux-x64-gnu/package.json @@ -2,7 +2,7 @@ "repository": { "url": "https://github.com/remotion-dev/remotion/tree/main/packages/compositor-linux-x64-gnu" }, - "version": "4.0.518", + "version": "4.0.519", "name": "@remotion/compositor-linux-x64-gnu", "os": [ "linux" diff --git a/packages/compositor-linux-x64-musl/package.json b/packages/compositor-linux-x64-musl/package.json index 2358499e5fc..302c29d65eb 100644 --- a/packages/compositor-linux-x64-musl/package.json +++ b/packages/compositor-linux-x64-musl/package.json @@ -2,7 +2,7 @@ "repository": { "url": "https://github.com/remotion-dev/remotion/tree/main/packages/compositor-linux-x64-musl" }, - "version": "4.0.518", + "version": "4.0.519", "name": "@remotion/compositor-linux-x64-musl", "os": [ "linux" diff --git a/packages/compositor-win32-x64-msvc/package.json b/packages/compositor-win32-x64-msvc/package.json index 3b2def6fcc7..08d7cb0d736 100644 --- a/packages/compositor-win32-x64-msvc/package.json +++ b/packages/compositor-win32-x64-msvc/package.json @@ -2,7 +2,7 @@ "repository": { "url": "https://github.com/remotion-dev/remotion/tree/main/packages/compositor-win32-x64-msvc" }, - "version": "4.0.518", + "version": "4.0.519", "name": "@remotion/compositor-win32-x64-msvc", "os": [ "win32" diff --git a/packages/compositor/package.json b/packages/compositor/package.json index 6655455bb43..9969f39167d 100644 --- a/packages/compositor/package.json +++ b/packages/compositor/package.json @@ -3,7 +3,7 @@ "url": "https://github.com/remotion-dev/remotion/tree/main/packages/compositor" }, "name": "@remotion/compositor", - "version": "4.0.518", + "version": "4.0.519", "description": "Rust binary for Remotion", "scripts": { "build-all": "bun build.ts --all" diff --git a/packages/convert/package.json b/packages/convert/package.json index d59189365df..d124f4e7eed 100644 --- a/packages/convert/package.json +++ b/packages/convert/package.json @@ -1,6 +1,6 @@ { "name": "@remotion/convert", - "version": "4.0.518", + "version": "4.0.519", "private": true, "type": "module", "author": "Jonny Burger , Hunain Ahmed ", diff --git a/packages/core/package.json b/packages/core/package.json index 8fc3510dc54..a5e7cc28b0c 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -3,7 +3,7 @@ "url": "https://github.com/remotion-dev/remotion/tree/main/packages/core" }, "name": "remotion", - "version": "4.0.518", + "version": "4.0.519", "description": "Make videos programmatically", "main": "dist/cjs/index.js", "types": "dist/cjs/index.d.ts", diff --git a/packages/core/src/version.ts b/packages/core/src/version.ts index 50a9667f921..664b485c814 100644 --- a/packages/core/src/version.ts +++ b/packages/core/src/version.ts @@ -5,4 +5,4 @@ * @see [Documentation](https://remotion.dev/docs/version) * @returns {string} The current version of the remotion package */ -export const VERSION = '4.0.518'; +export const VERSION = '4.0.519'; diff --git a/packages/create-video/package.json b/packages/create-video/package.json index d928ac8fc1f..683c4d97ec0 100644 --- a/packages/create-video/package.json +++ b/packages/create-video/package.json @@ -3,7 +3,7 @@ "url": "https://github.com/remotion-dev/remotion/tree/main/packages/create-video" }, "name": "create-video", - "version": "4.0.518", + "version": "4.0.519", "description": "Create a new Remotion project", "main": "dist/index.js", "bin": { diff --git a/packages/design/package.json b/packages/design/package.json index 611a7075622..085406fbca9 100644 --- a/packages/design/package.json +++ b/packages/design/package.json @@ -1,6 +1,6 @@ { "name": "@remotion/design", - "version": "4.0.518", + "version": "4.0.519", "main": "dist/index.js", "types": "dist/index.d.ts", "module": "dist/esm/index.mjs", diff --git a/packages/discord-poster/package.json b/packages/discord-poster/package.json index 3a7dd48a90c..c3bb6835046 100644 --- a/packages/discord-poster/package.json +++ b/packages/discord-poster/package.json @@ -3,7 +3,7 @@ "url": "https://github.com/remotion-dev/remotion/tree/main/packages/discord-poster" }, "name": "@remotion/discord-poster", - "version": "4.0.518", + "version": "4.0.519", "license": "SEE LICENSE IN LICENSE.md", "type": "module", "scripts": { diff --git a/packages/docs/docs/resources.mdx b/packages/docs/docs/resources.mdx index 568d936975b..410609e2bc9 100644 --- a/packages/docs/docs/resources.mdx +++ b/packages/docs/docs/resources.mdx @@ -24,6 +24,7 @@ This list tries to compile all templates, libraries, building blocks and example - [Free Remotion Components](https://www.clippkit.com/) - [Remotion Bits - Ready-made blocks to use for you and your agents](https://remotion-bits.dev/) - [SwiftClip - 30 production-ready Remotion templates](https://swift-clip.vercel.app/) ([Source code](https://github.com/zz41354899/SwiftClip)) +- [RenderComp Free - 50 MIT-licensed Remotion templates](https://rendercomp.com/free) ([Source code](https://github.com/RenderComp/free-remotion-templates)) - Docker Build & Render ([Source code](https://github.com/scotthavird/remotion-docker-template)) - [Template for deploying Remotion on Railway](https://railway.com/deploy/remotion-on-rails) ([Blog](https://medium.com/@viveknathani/remotion-on-rails-0852acc9595e)) - [Multiple shared Remotion components in a Monorepo template](https://github.com/Takamasa045/remotion-studio-monorepo) diff --git a/packages/docs/elements/audio/oscilloscope/audio-oscilloscope.tsx b/packages/docs/elements/audio/oscilloscope/audio-oscilloscope.tsx index c11fcab332b..bda47ea1664 100644 --- a/packages/docs/elements/audio/oscilloscope/audio-oscilloscope.tsx +++ b/packages/docs/elements/audio/oscilloscope/audio-oscilloscope.tsx @@ -35,7 +35,7 @@ const audioOscilloscopeSchema = { }, lineColor: { type: 'color', - default: '#55e6ff', + default: '#0b84f3', description: 'Waveform color', }, lineWidth: { @@ -170,7 +170,7 @@ const AudioOscilloscopeInner = forwardRef< amplitude = 2, audioSrc = 'https://remotion.media/elements/remotion-made-this-picture-move.mp3', controls, - lineColor = '#55e6ff', + lineColor = '#0b84f3', lineWidth = 6, name, style, diff --git a/packages/docs/elements/backgrounds/liquid-contours/liquid-contours.tsx b/packages/docs/elements/backgrounds/liquid-contours/liquid-contours.tsx index 672bd50475c..4f4c995c275 100644 --- a/packages/docs/elements/backgrounds/liquid-contours/liquid-contours.tsx +++ b/packages/docs/elements/backgrounds/liquid-contours/liquid-contours.tsx @@ -8,10 +8,13 @@ export const LiquidContours: React.FC = () => { return ( = 9)", "main": "dist/esm/index.mjs", "type": "module", diff --git a/packages/eslint-config-internal/package.json b/packages/eslint-config-internal/package.json index 953a57937d9..9d8e25918b3 100644 --- a/packages/eslint-config-internal/package.json +++ b/packages/eslint-config-internal/package.json @@ -3,7 +3,7 @@ "url": "https://github.com/remotion-dev/remotion/tree/main/packages/eslint-config-internal" }, "name": "@remotion/eslint-config-internal", - "version": "4.0.518", + "version": "4.0.519", "license": "SEE LICENSE IN LICENSE.md", "main": "dist/index.js", "scripts": { diff --git a/packages/eslint-config/package.json b/packages/eslint-config/package.json index 451435ee42f..d501c83085d 100644 --- a/packages/eslint-config/package.json +++ b/packages/eslint-config/package.json @@ -3,7 +3,7 @@ "url": "https://github.com/remotion-dev/remotion/tree/main/packages/eslint-config" }, "name": "@remotion/eslint-config", - "version": "4.0.518", + "version": "4.0.519", "description": "Default configuration for Remotion templates (ESLint <= 8)", "main": "dist/index.js", "files": [ diff --git a/packages/eslint-plugin/package.json b/packages/eslint-plugin/package.json index 47fe8953c32..00519e8fa2e 100644 --- a/packages/eslint-plugin/package.json +++ b/packages/eslint-plugin/package.json @@ -3,7 +3,7 @@ "url": "https://github.com/remotion-dev/remotion/tree/main/packages/eslint-plugin" }, "name": "@remotion/eslint-plugin", - "version": "4.0.518", + "version": "4.0.519", "description": "Rules for writing Remotion code", "scripts": { "test": "node src/tests/execute.mjs", diff --git a/packages/example-videos/package.json b/packages/example-videos/package.json index a017ad089db..4cacd4d8878 100644 --- a/packages/example-videos/package.json +++ b/packages/example-videos/package.json @@ -3,7 +3,7 @@ "url": "https://github.com/remotion-dev/remotion/tree/main/packages/example-videos" }, "name": "@remotion/example-videos", - "version": "4.0.518", + "version": "4.0.519", "main": "dist/index.js", "types": "dist/index.d.ts", "scripts": { diff --git a/packages/example-without-zod/package.json b/packages/example-without-zod/package.json index 5afae6bdb2a..37c6bed59a6 100644 --- a/packages/example-without-zod/package.json +++ b/packages/example-without-zod/package.json @@ -4,7 +4,7 @@ }, "name": "@remotion/example-without-zod", "private": true, - "version": "4.0.518", + "version": "4.0.519", "license": "SEE LICENSE IN LICENSE.md", "author": "Jonny Burger", "main": "dist/index.js", diff --git a/packages/example/e2e/inspector-control-layout.test.mts b/packages/example/e2e/inspector-control-layout.test.mts index 6561b94c672..77e988dad1b 100644 --- a/packages/example/e2e/inspector-control-layout.test.mts +++ b/packages/example/e2e/inspector-control-layout.test.mts @@ -61,7 +61,7 @@ test.describe('Inspector control layout', () => { await stopStudio(); }); - test('does not indent controls after array fields', async ({page}) => { + test('keeps inspector controls aligned', async ({page}) => { await page.goto(`${STUDIO_URL}/inspector-control-layout-e2e`); await expect(page).toHaveURL(/inspector-control-layout-e2e/, { timeout: 15_000, @@ -92,6 +92,18 @@ test.describe('Inspector control layout', () => { .getByRole('button', {name: 'Add keyframe'}) .first(); const colorButton = page.getByRole('button', {name: '#ff5c4d'}); + const sourceAction = page.getByRole('button', {name: 'tablet.mp4'}); + const duplicateAction = page.getByRole('button', { + name: 'Duplicate', + exact: true, + }); + const [sourceActionBox, duplicateActionBox] = await Promise.all([ + getBox(sourceAction), + getBox(duplicateAction), + ]); + expect( + Math.abs(sourceActionBox.x - duplicateActionBox.x), + ).toBeLessThanOrEqual(1); await expectInspectorControlsToUseAvailableWidth( origin, diff --git a/packages/example/e2e/studio.test.mts b/packages/example/e2e/studio.test.mts index 6dfb1e38df4..c4df58a209a 100644 --- a/packages/example/e2e/studio.test.mts +++ b/packages/example/e2e/studio.test.mts @@ -348,6 +348,67 @@ test.describe('visual mode', () => { await page.goto(`${STUDIO_URL}/effect-keyframe-e2e`); const timeline = page.locator('[data-timeline-scrollable]'); await expect(timeline).toBeVisible(); + const timelineBox = await timeline.boundingBox(); + if (timelineBox === null) { + throw new Error('Expected timeline to have a bounding box'); + } + + const dragData = StudioProtocolInternals.makeDragData({ + type: 'asset', + assetPath: 'quick.mov', + durationInSeconds: 5.866667, + height: null, + width: null, + }); + const dragAssetOver = (target: Locator) => { + return target.evaluate( + (element, {coordinates, data}) => { + const dataTransfer = new DataTransfer(); + dataTransfer.setData(data.mimeType, data.payload); + element.dispatchEvent( + new DragEvent('dragover', { + bubbles: true, + cancelable: true, + clientX: coordinates.clientX, + clientY: coordinates.clientY, + dataTransfer, + }), + ); + }, + { + coordinates: { + clientX: timelineBox.x + timelineBox.width / 2, + clientY: timelineBox.y + timelineBox.height / 2, + }, + data: dragData, + }, + ); + }; + const dropIndicator = page.locator( + '[data-timeline-asset-drop-indicator]', + ); + await dragAssetOver(timeline); + await expect(dropIndicator).toBeVisible(); + await page.evaluate(() => { + document.dispatchEvent(new DragEvent('dragend', {bubbles: true})); + }); + await expect(dropIndicator).toBeHidden(); + + await page.getByRole('button', {name: /Search\.\.\./}).click(); + const quickSwitcher = page.getByRole('dialog'); + await quickSwitcher.getByRole('textbox').fill('> Settings'); + await quickSwitcher.getByText('Settings...', {exact: true}).click(); + const settings = page.getByRole('dialog'); + await expect( + settings.getByText('Default codec', {exact: true}), + ).toBeVisible(); + await dragAssetOver(settings); + await expect(dropIndicator).toBeHidden(); + await expect( + settings.getByText('Default codec', {exact: true}), + ).toBeVisible(); + await page.keyboard.press('Escape'); + expect(await dropFile({...file, target: timeline})).toBe(true); await expect(modalTitle).toBeVisible(); } finally { diff --git a/packages/example/package.json b/packages/example/package.json index ddae347986b..4f4d41a662e 100644 --- a/packages/example/package.json +++ b/packages/example/package.json @@ -4,7 +4,7 @@ }, "name": "@remotion/example", "private": true, - "version": "4.0.518", + "version": "4.0.519", "license": "SEE LICENSE IN LICENSE.md", "author": "Jonny Burger", "main": "dist/index.js", diff --git a/packages/example/src/InspectorControlLayoutE2e.tsx b/packages/example/src/InspectorControlLayoutE2e.tsx index 1e82642c921..b8322a3b7a2 100644 --- a/packages/example/src/InspectorControlLayoutE2e.tsx +++ b/packages/example/src/InspectorControlLayoutE2e.tsx @@ -3,11 +3,17 @@ import { AbsoluteFill, Interactive, Sequence, + staticFile, type InteractivitySchema, type SequenceControls, } from 'remotion'; const inspectorControlLayoutSchema = { + src: { + type: 'asset', + default: undefined, + description: 'Source', + }, first: { type: 'array', item: {type: 'number', step: 0.0001}, @@ -49,6 +55,7 @@ const inspectorControlLayoutSchema = { type InspectorControlLayoutProps = { readonly name: string; + readonly src: string; readonly first: readonly number[]; readonly second: readonly number[]; readonly label: string; @@ -80,6 +87,7 @@ export const InspectorControlLayoutE2e: React.FC = () => { return ( { + return ( + <> + + + + ); +}; diff --git a/packages/example/src/mirrored-spectrum.element.tsx b/packages/example/src/mirrored-spectrum.element.tsx new file mode 100644 index 00000000000..e9632dd0d4b --- /dev/null +++ b/packages/example/src/mirrored-spectrum.element.tsx @@ -0,0 +1,176 @@ +import {Audio} from '@remotion/media'; +import {useWindowedAudioData, visualizeAudio} from '@remotion/media-utils'; +import React, {forwardRef, useImperativeHandle, useRef} from 'react'; +import { + Interactive, + Sequence, + useCurrentFrame, + useVideoConfig, + type InteractiveBaseProps, + type InteractiveTransformProps, + type InteractivitySchema, + type SequenceControls, +} from 'remotion'; + +type MirroredAudioSpectrumProps = InteractiveBaseProps & + InteractiveTransformProps & { + readonly audioSrc?: string; + readonly barColor?: string; + readonly numberOfBars?: number; + readonly sensitivity?: number; + }; + +const mirroredAudioSpectrumSchema = { + ...Interactive.baseSchema, + audioSrc: { + type: 'asset', + default: + 'https://remotion.media/elements/remotion-made-this-picture-move.mp3', + description: 'Audio source', + }, + barColor: { + type: 'color', + default: '#0b84f3', + description: 'Bar color', + }, + numberOfBars: { + type: 'number', + min: 3, + max: 127, + step: 2, + default: 65, + description: 'Number of bars', + hiddenFromList: false, + keyframable: false, + }, + sensitivity: { + type: 'number', + min: 0.25, + max: 3, + step: 0.05, + default: 1.5, + description: 'Sensitivity', + hiddenFromList: false, + }, + ...Interactive.transformSchema, +} as const satisfies InteractivitySchema; + +const MirroredAudioSpectrumContent: React.FC<{ + readonly audioSrc: string; + readonly barColor: string; + readonly numberOfBars: number; + readonly outlineRef: React.RefObject; + readonly sensitivity: number; + readonly style: MirroredAudioSpectrumProps['style']; +}> = ({audioSrc, barColor, numberOfBars, outlineRef, sensitivity, style}) => { + const frame = useCurrentFrame(); + const {fps} = useVideoConfig(); + const {audioData, dataOffsetInSeconds} = useWindowedAudioData({ + fps, + frame, + src: audioSrc, + windowInSeconds: 10, + }); + const roundedNumberOfBars = Math.max( + 3, + Math.min(127, Math.round(numberOfBars)), + ); + const numberOfFrequencies = Math.ceil(roundedNumberOfBars / 2); + const frequencyData = audioData + ? visualizeAudio({ + audioData, + dataOffsetInSeconds, + fps, + frame, + numberOfSamples: 256, + optimizeFor: 'speed', + }) + : []; + const frequencyDataSubset = frequencyData.slice(0, numberOfFrequencies); + const frequenciesToDisplay = [ + ...frequencyDataSubset.slice(roundedNumberOfBars % 2).reverse(), + ...frequencyDataSubset, + ]; + + return ( +
+