@remotion/web-renderer 4.0.424 → 4.0.426
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/dist/add-sample.js +20 -0
- package/dist/artifact.js +56 -0
- package/dist/audio.js +42 -0
- package/dist/can-use-webfs-target.js +19 -0
- package/dist/compose.js +85 -0
- package/dist/create-scaffold.d.ts +2 -2
- package/dist/create-scaffold.js +104 -0
- package/dist/drawing/border-radius.js +151 -0
- package/dist/drawing/calculate-object-fit.js +208 -0
- package/dist/drawing/calculate-transforms.js +127 -0
- package/dist/drawing/clamp-rect-to-parent-bounds.js +18 -0
- package/dist/drawing/do-rects-intersect.js +6 -0
- package/dist/drawing/draw-background.js +62 -0
- package/dist/drawing/draw-border.js +353 -0
- package/dist/drawing/draw-box-shadow.d.ts +2 -5
- package/dist/drawing/draw-box-shadow.js +103 -0
- package/dist/drawing/draw-dom-element.js +85 -0
- package/dist/drawing/draw-element.js +84 -0
- package/dist/drawing/draw-outline.js +93 -0
- package/dist/drawing/draw-rounded.js +34 -0
- package/dist/drawing/drawn-fn.js +1 -0
- package/dist/drawing/fit-svg-into-its-dimensions.js +35 -0
- package/dist/drawing/get-clipped-background.d.ts +8 -0
- package/dist/drawing/get-clipped-background.js +14 -0
- package/dist/drawing/get-padding-box.js +30 -0
- package/dist/drawing/get-pretransform-rect.js +49 -0
- package/dist/drawing/handle-3d-transform.js +26 -0
- package/dist/drawing/handle-mask.js +21 -0
- package/dist/drawing/has-transform.js +14 -0
- package/dist/drawing/mask-image.js +14 -0
- package/dist/drawing/opacity.js +7 -0
- package/dist/drawing/overflow.js +14 -0
- package/dist/drawing/parse-linear-gradient.js +260 -0
- package/dist/drawing/parse-shadow.d.ts +7 -0
- package/dist/drawing/parse-transform-origin.js +7 -0
- package/dist/drawing/precompose.d.ts +11 -0
- package/dist/drawing/precompose.js +14 -0
- package/dist/drawing/process-node.js +122 -0
- package/dist/drawing/round-to-expand-rect.js +7 -0
- package/dist/drawing/text/apply-text-transform.js +12 -0
- package/dist/drawing/text/draw-text.js +53 -0
- package/dist/drawing/text/find-line-breaks.text.js +118 -0
- package/dist/drawing/text/get-collapsed-text.d.ts +1 -0
- package/dist/drawing/text/get-collapsed-text.js +46 -0
- package/dist/drawing/text/handle-text-node.js +24 -0
- package/dist/drawing/text/parse-text-shadow.d.ts +3 -0
- package/dist/drawing/transform-in-3d.js +177 -0
- package/dist/drawing/transform-rect-with-matrix.js +19 -0
- package/dist/drawing/transform.js +10 -0
- package/dist/drawing/turn-svg-into-drawable.js +41 -0
- package/dist/esm/index.mjs +42 -8
- package/dist/frame-range.js +15 -0
- package/dist/get-audio-encoding-config.js +18 -0
- package/dist/get-biggest-bounding-client-rect.js +43 -0
- package/dist/index.js +2 -0
- package/dist/internal-state.js +36 -0
- package/dist/mediabunny-mappings.js +63 -0
- package/dist/output-target.js +1 -0
- package/dist/props-if-has-props.d.ts +7 -6
- package/dist/props-if-has-props.js +1 -0
- package/dist/render-media-on-web.d.ts +9 -6
- package/dist/render-media-on-web.js +304 -0
- package/dist/render-operations-queue.js +3 -0
- package/dist/render-still-on-web.d.ts +7 -5
- package/dist/render-still-on-web.js +110 -0
- package/dist/send-telemetry-event.js +22 -0
- package/dist/take-screenshot.js +30 -0
- package/dist/throttle-progress.js +43 -0
- package/dist/tree-walker-cleanup-after-children.js +33 -0
- package/dist/update-time.js +17 -0
- package/dist/validate-video-frame.js +34 -0
- package/dist/wait-for-ready.js +39 -0
- package/dist/walk-tree.js +14 -0
- package/dist/web-fs-target.js +41 -0
- package/dist/with-resolvers.js +9 -0
- package/package.json +10 -10
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { withResolvers } from './with-resolvers';
|
|
2
|
+
export const waitForReady = ({ timeoutInMilliseconds, scope, signal, apiName, internalState, }) => {
|
|
3
|
+
const start = performance.now();
|
|
4
|
+
const { promise, resolve, reject } = withResolvers();
|
|
5
|
+
let cancelled = false;
|
|
6
|
+
const check = () => {
|
|
7
|
+
if (cancelled) {
|
|
8
|
+
return;
|
|
9
|
+
}
|
|
10
|
+
if (signal === null || signal === void 0 ? void 0 : signal.aborted) {
|
|
11
|
+
cancelled = true;
|
|
12
|
+
internalState === null || internalState === void 0 ? void 0 : internalState.addWaitForReadyTime(performance.now() - start);
|
|
13
|
+
reject(new Error(`${apiName}() was cancelled`));
|
|
14
|
+
return;
|
|
15
|
+
}
|
|
16
|
+
if (scope.remotion_renderReady === true) {
|
|
17
|
+
internalState === null || internalState === void 0 ? void 0 : internalState.addWaitForReadyTime(performance.now() - start);
|
|
18
|
+
resolve();
|
|
19
|
+
return;
|
|
20
|
+
}
|
|
21
|
+
if (scope.remotion_cancelledError !== undefined) {
|
|
22
|
+
cancelled = true;
|
|
23
|
+
internalState === null || internalState === void 0 ? void 0 : internalState.addWaitForReadyTime(performance.now() - start);
|
|
24
|
+
reject(scope.remotion_cancelledError);
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
if (performance.now() - start > timeoutInMilliseconds + 3000) {
|
|
28
|
+
cancelled = true;
|
|
29
|
+
internalState === null || internalState === void 0 ? void 0 : internalState.addWaitForReadyTime(performance.now() - start);
|
|
30
|
+
reject(new Error(Object.values(scope.remotion_delayRenderTimeouts)
|
|
31
|
+
.map((d) => d.label)
|
|
32
|
+
.join(', ')));
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
requestAnimationFrame(check);
|
|
36
|
+
};
|
|
37
|
+
requestAnimationFrame(check);
|
|
38
|
+
return promise;
|
|
39
|
+
};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export function skipToNextNonDescendant(treeWalker) {
|
|
2
|
+
// Try to go to next sibling
|
|
3
|
+
if (treeWalker.nextSibling()) {
|
|
4
|
+
return true;
|
|
5
|
+
}
|
|
6
|
+
// No sibling, go up to parent and try to find ancestor's sibling
|
|
7
|
+
while (treeWalker.parentNode()) {
|
|
8
|
+
if (treeWalker.nextSibling()) {
|
|
9
|
+
return true;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
// No more nodes
|
|
13
|
+
return false;
|
|
14
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
let sessionId = null;
|
|
2
|
+
const getPrefix = () => {
|
|
3
|
+
if (!sessionId) {
|
|
4
|
+
sessionId = crypto.randomUUID();
|
|
5
|
+
}
|
|
6
|
+
return `__remotion_render:${sessionId}:`;
|
|
7
|
+
};
|
|
8
|
+
export const cleanupStaleOpfsFiles = async () => {
|
|
9
|
+
try {
|
|
10
|
+
const root = await navigator.storage.getDirectory();
|
|
11
|
+
for await (const [name] of root.entries()) {
|
|
12
|
+
if (name.startsWith('__remotion_render:') &&
|
|
13
|
+
!name.startsWith(getPrefix())) {
|
|
14
|
+
await root.removeEntry(name);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
catch (_a) {
|
|
19
|
+
// Ignore, could already be closed
|
|
20
|
+
}
|
|
21
|
+
};
|
|
22
|
+
export const createWebFsTarget = async () => {
|
|
23
|
+
const directoryHandle = await navigator.storage.getDirectory();
|
|
24
|
+
const filename = `${getPrefix()}${crypto.randomUUID()}`;
|
|
25
|
+
const fileHandle = await directoryHandle.getFileHandle(filename, {
|
|
26
|
+
create: true,
|
|
27
|
+
});
|
|
28
|
+
const writable = await fileHandle.createWritable();
|
|
29
|
+
const stream = new WritableStream({
|
|
30
|
+
async write(chunk) {
|
|
31
|
+
await writable.seek(chunk.position);
|
|
32
|
+
await writable.write(chunk);
|
|
33
|
+
},
|
|
34
|
+
});
|
|
35
|
+
const getBlob = async () => {
|
|
36
|
+
const handle = await directoryHandle.getFileHandle(filename);
|
|
37
|
+
return handle.getFile();
|
|
38
|
+
};
|
|
39
|
+
const close = () => writable.close();
|
|
40
|
+
return { stream, getBlob, close };
|
|
41
|
+
};
|
package/package.json
CHANGED
|
@@ -3,11 +3,11 @@
|
|
|
3
3
|
"url": "https://github.com/remotion-dev/remotion/tree/main/packages/web-renderer"
|
|
4
4
|
},
|
|
5
5
|
"name": "@remotion/web-renderer",
|
|
6
|
-
"version": "4.0.
|
|
6
|
+
"version": "4.0.426",
|
|
7
7
|
"main": "dist/index.js",
|
|
8
8
|
"type": "module",
|
|
9
9
|
"scripts": {
|
|
10
|
-
"formatting": "prettier
|
|
10
|
+
"formatting": "prettier src --check",
|
|
11
11
|
"lint": "eslint src",
|
|
12
12
|
"make": "tsgo && bun --env-file=../.env.bundle bundle.ts",
|
|
13
13
|
"watch": "tsgo -w",
|
|
@@ -18,19 +18,19 @@
|
|
|
18
18
|
"author": "Remotion <jonny@remotion.dev>",
|
|
19
19
|
"license": "UNLICENSED",
|
|
20
20
|
"dependencies": {
|
|
21
|
-
"@remotion/licensing": "4.0.
|
|
22
|
-
"remotion": "4.0.
|
|
21
|
+
"@remotion/licensing": "4.0.426",
|
|
22
|
+
"remotion": "4.0.426",
|
|
23
23
|
"mediabunny": "1.34.4"
|
|
24
24
|
},
|
|
25
25
|
"devDependencies": {
|
|
26
26
|
"@react-three/fiber": "9.2.0",
|
|
27
|
-
"@remotion/eslint-config-internal": "4.0.
|
|
28
|
-
"@remotion/player": "4.0.
|
|
29
|
-
"@remotion/media": "4.0.
|
|
30
|
-
"@remotion/three": "4.0.
|
|
27
|
+
"@remotion/eslint-config-internal": "4.0.426",
|
|
28
|
+
"@remotion/player": "4.0.426",
|
|
29
|
+
"@remotion/media": "4.0.426",
|
|
30
|
+
"@remotion/three": "4.0.426",
|
|
31
31
|
"@types/three": "0.170.0",
|
|
32
32
|
"@typescript/native-preview": "7.0.0-dev.20260217.1",
|
|
33
|
-
"@vitejs/plugin-react": "4.
|
|
33
|
+
"@vitejs/plugin-react": "4.3.4",
|
|
34
34
|
"@vitest/browser-playwright": "4.0.9",
|
|
35
35
|
"playwright": "1.55.1",
|
|
36
36
|
"eslint": "9.19.0",
|
|
@@ -39,7 +39,7 @@
|
|
|
39
39
|
"three": "0.178.0",
|
|
40
40
|
"vitest": "4.0.9",
|
|
41
41
|
"vitest-browser-react": "^2.0.2",
|
|
42
|
-
"zod": "3.
|
|
42
|
+
"zod": "4.3.6"
|
|
43
43
|
},
|
|
44
44
|
"peerDependencies": {
|
|
45
45
|
"react": ">=18.0.0",
|