@revideo/renderer 0.2.4 → 0.2.6-alpha.904

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.
@@ -5,4 +5,9 @@ declare global {
5
5
  onRenderFailed: (msg: string) => void;
6
6
  }
7
7
  }
8
- export declare const render: (project: Project) => Promise<void>;
8
+ /**
9
+ * Render the project.
10
+ * @param project - The project to render.
11
+ * @param range - The range of frames to render.
12
+ */
13
+ export declare const render: (project: Project, workerId: number, totalNumOfWorkers: number) => Promise<void>;
@@ -1,10 +1,25 @@
1
1
  import { Renderer } from '@revideo/core';
2
- export const render = async (project) => {
2
+ /**
3
+ * Render the project.
4
+ * @param project - The project to render.
5
+ * @param range - The range of frames to render.
6
+ */
7
+ export const render = async (project, workerId, totalNumOfWorkers) => {
3
8
  try {
4
9
  const renderer = new Renderer(project);
10
+ const settings = {
11
+ ...project.meta.getFullRenderingSettings(),
12
+ name: project.name,
13
+ };
14
+ const frames = await renderer.getNumberOfFrames(settings);
15
+ // Get the range of frames to render (there can't be any overlap between workers)
16
+ const framesPerWorker = Math.ceil(frames / totalNumOfWorkers);
17
+ const startFrame = framesPerWorker * workerId;
18
+ const endFrame = Math.min(startFrame + framesPerWorker, frames);
5
19
  await renderer.render({
6
20
  ...project.meta.getFullRenderingSettings(),
7
21
  name: project.name,
22
+ range: [renderer.frameToTime(startFrame), renderer.frameToTime(endFrame)],
8
23
  });
9
24
  window.onRenderComplete();
10
25
  }
@@ -12,4 +27,4 @@ export const render = async (project) => {
12
27
  window.onRenderFailed(e.message);
13
28
  }
14
29
  };
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVuZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vY2xpZW50L3JlbmRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBU3ZDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sR0FBRyxLQUFLLEVBQUUsT0FBZ0IsRUFBRSxFQUFFO0lBQy9DLElBQUksQ0FBQztRQUNILE1BQU0sUUFBUSxHQUFHLElBQUksUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3ZDLE1BQU0sUUFBUSxDQUFDLE1BQU0sQ0FBQztZQUNwQixHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsd0JBQXdCLEVBQUU7WUFDMUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFJO1NBQ25CLENBQUMsQ0FBQztRQUNILE1BQU0sQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFBQyxPQUFPLENBQU0sRUFBRSxDQUFDO1FBQ2hCLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ25DLENBQUM7QUFDSCxDQUFDLENBQUMifQ==
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVuZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vY2xpZW50L3JlbmRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBU3ZDOzs7O0dBSUc7QUFDSCxNQUFNLENBQUMsTUFBTSxNQUFNLEdBQUcsS0FBSyxFQUN6QixPQUFnQixFQUNoQixRQUFnQixFQUNoQixpQkFBeUIsRUFDekIsRUFBRTtJQUNGLElBQUksQ0FBQztRQUNILE1BQU0sUUFBUSxHQUFHLElBQUksUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRXZDLE1BQU0sUUFBUSxHQUFHO1lBQ2YsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLHdCQUF3QixFQUFFO1lBQzFDLElBQUksRUFBRSxPQUFPLENBQUMsSUFBSTtTQUNuQixDQUFDO1FBRUYsTUFBTSxNQUFNLEdBQUcsTUFBTSxRQUFRLENBQUMsaUJBQWlCLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFMUQsaUZBQWlGO1FBQ2pGLE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLGlCQUFpQixDQUFDLENBQUM7UUFDOUQsTUFBTSxVQUFVLEdBQUcsZUFBZSxHQUFHLFFBQVEsQ0FBQztRQUM5QyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsR0FBRyxlQUFlLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFFaEUsTUFBTSxRQUFRLENBQUMsTUFBTSxDQUFDO1lBQ3BCLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyx3QkFBd0IsRUFBRTtZQUMxQyxJQUFJLEVBQUUsT0FBTyxDQUFDLElBQUk7WUFDbEIsS0FBSyxFQUFFLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsRUFBRSxRQUFRLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1NBQzFFLENBQUMsQ0FBQztRQUNILE1BQU0sQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFBQyxPQUFPLENBQU0sRUFBRSxDQUFDO1FBQ2hCLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ25DLENBQUM7QUFDSCxDQUFDLENBQUMifQ==
package/dist/main.d.ts CHANGED
@@ -1 +1,5 @@
1
- export declare const renderVideo: (configFile: string, params?: Record<string, unknown>, outName?: string) => Promise<void>;
1
+ interface RenderVideoSettings {
2
+ name: string;
3
+ }
4
+ export declare const renderVideo: (configFile: string, params?: Record<string, unknown>, settings?: RenderVideoSettings) => Promise<void[]>;
5
+ export {};
package/dist/main.js CHANGED
@@ -5,17 +5,18 @@ const path = require("path");
5
5
  const puppeteer_1 = require("puppeteer");
6
6
  const vite_1 = require("vite");
7
7
  const plugin_1 = require("./plugin");
8
- const renderVideo = async (configFile, params, outName = 'project') => {
9
- console.log('Rendering...');
10
- const resolvedConfigPath = path.resolve(process.cwd(), configFile);
8
+ function buildUrl(port, fileName, workerId, totalNumOfWorkers) {
9
+ return `http://localhost:${port}/render?fileName=${fileName}&workerId=${workerId}&totalNumOfWorkers=${totalNumOfWorkers}`;
10
+ }
11
+ async function renderWorker(fixedPort, resolvedConfigPath, url, params) {
11
12
  const [browser, server] = await Promise.all([
12
13
  puppeteer_1.default.launch({ headless: true }),
13
14
  (0, vite_1.createServer)({
14
15
  configFile: resolvedConfigPath,
15
16
  server: {
16
- port: 9000,
17
+ port: fixedPort,
17
18
  },
18
- plugins: [(0, plugin_1.rendererPlugin)(params, outName)],
19
+ plugins: [(0, plugin_1.rendererPlugin)(params)],
19
20
  }).then(server => server.listen()),
20
21
  ]);
21
22
  const page = await browser.newPage();
@@ -27,6 +28,12 @@ const renderVideo = async (configFile, params, outName = 'project') => {
27
28
  if (port === null) {
28
29
  throw new Error('Server address is null');
29
30
  }
31
+ // Attach logs from puppeteer to the console
32
+ page.on('console', msg => {
33
+ for (let i = 0; i < msg.args().length; ++i) {
34
+ console.log(`${port}: ${msg.args()[i]}`);
35
+ }
36
+ });
30
37
  const renderingComplete = new Promise((resolve, reject) => {
31
38
  page.exposeFunction('onRenderComplete', async () => {
32
39
  await Promise.all([browser.close(), server.close()]);
@@ -39,8 +46,25 @@ const renderVideo = async (configFile, params, outName = 'project') => {
39
46
  reject(new Error(errorMessage));
40
47
  });
41
48
  });
42
- await page.goto(`http://localhost:${port}/render`);
43
- await renderingComplete;
49
+ await page.goto(url);
50
+ return renderingComplete;
51
+ }
52
+ const renderVideo = async (configFile, params, settings = {
53
+ name: 'project2',
54
+ }) => {
55
+ console.log('Rendering...');
56
+ const resolvedConfigPath = path.resolve(process.cwd(), configFile);
57
+ /**
58
+ * TODO: Change this in the future after more testing.
59
+ * We still need to concate the videos together after rendering.
60
+ */
61
+ const numOfWorkers = 1;
62
+ const promises = [];
63
+ for (let i = 0; i < numOfWorkers; i++) {
64
+ const url = buildUrl(9000 + i, settings.name, i, numOfWorkers);
65
+ promises.push(renderWorker(9000 + i, resolvedConfigPath, url, params));
66
+ }
67
+ return Promise.all(promises);
44
68
  };
45
69
  exports.renderVideo = renderVideo;
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NlcnZlci9tYWluLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZCQUE2QjtBQUM3Qix5Q0FBa0M7QUFDbEMsK0JBQWtDO0FBQ2xDLHFDQUF3QztBQUVqQyxNQUFNLFdBQVcsR0FBRyxLQUFLLEVBQzlCLFVBQWtCLEVBQ2xCLE1BQWdDLEVBQ2hDLFVBQWtCLFNBQVMsRUFDM0IsRUFBRTtJQUNGLE9BQU8sQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUM7SUFFNUIsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsRUFBRSxVQUFVLENBQUMsQ0FBQztJQUVuRSxNQUFNLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxHQUFHLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FBQztRQUMxQyxtQkFBUyxDQUFDLE1BQU0sQ0FBQyxFQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUMsQ0FBQztRQUNsQyxJQUFBLG1CQUFZLEVBQUM7WUFDWCxVQUFVLEVBQUUsa0JBQWtCO1lBQzlCLE1BQU0sRUFBRTtnQkFDTixJQUFJLEVBQUUsSUFBSTthQUNYO1lBQ0QsT0FBTyxFQUFFLENBQUMsSUFBQSx1QkFBYyxFQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQztTQUMzQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDO0tBQ25DLENBQUMsQ0FBQztJQUVILE1BQU0sSUFBSSxHQUFHLE1BQU0sT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3JDLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDdkIsTUFBTSxJQUFJLEtBQUssQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFDRCxNQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQzVDLE1BQU0sSUFBSSxHQUFHLE9BQU8sSUFBSSxPQUFPLE9BQU8sS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUMxRSxJQUFJLElBQUksS0FBSyxJQUFJLEVBQUUsQ0FBQztRQUNsQixNQUFNLElBQUksS0FBSyxDQUFDLHdCQUF3QixDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVELE1BQU0saUJBQWlCLEdBQUcsSUFBSSxPQUFPLENBQU8sQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7UUFDOUQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxrQkFBa0IsRUFBRSxLQUFLLElBQUksRUFBRTtZQUNqRCxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztZQUNyRCxPQUFPLENBQUMsR0FBRyxDQUFDLHFCQUFxQixDQUFDLENBQUM7WUFDbkMsT0FBTyxFQUFFLENBQUM7UUFDWixDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxjQUFjLENBQUMsZ0JBQWdCLEVBQUUsS0FBSyxFQUFFLFlBQW9CLEVBQUUsRUFBRTtZQUNuRSxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztZQUNyRCxPQUFPLENBQUMsS0FBSyxDQUFDLG1CQUFtQixFQUFFLFlBQVksQ0FBQyxDQUFDO1lBQ2pELE1BQU0sQ0FBQyxJQUFJLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO1FBQ2xDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7SUFFSCxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsb0JBQW9CLElBQUksU0FBUyxDQUFDLENBQUM7SUFFbkQsTUFBTSxpQkFBaUIsQ0FBQztBQUMxQixDQUFDLENBQUM7QUEvQ1csUUFBQSxXQUFXLGVBK0N0QiJ9
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NlcnZlci9tYWluLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZCQUE2QjtBQUM3Qix5Q0FBa0M7QUFDbEMsK0JBQWtDO0FBQ2xDLHFDQUF3QztBQUV4QyxTQUFTLFFBQVEsQ0FDZixJQUFZLEVBQ1osUUFBZ0IsRUFDaEIsUUFBZ0IsRUFDaEIsaUJBQXlCO0lBRXpCLE9BQU8sb0JBQW9CLElBQUksb0JBQW9CLFFBQVEsYUFBYSxRQUFRLHNCQUFzQixpQkFBaUIsRUFBRSxDQUFDO0FBQzVILENBQUM7QUFFRCxLQUFLLFVBQVUsWUFBWSxDQUN6QixTQUFpQixFQUNqQixrQkFBMEIsRUFDMUIsR0FBVyxFQUNYLE1BQWdDO0lBRWhDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLEdBQUcsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUFDO1FBQzFDLG1CQUFTLENBQUMsTUFBTSxDQUFDLEVBQUMsUUFBUSxFQUFFLElBQUksRUFBQyxDQUFDO1FBQ2xDLElBQUEsbUJBQVksRUFBQztZQUNYLFVBQVUsRUFBRSxrQkFBa0I7WUFDOUIsTUFBTSxFQUFFO2dCQUNOLElBQUksRUFBRSxTQUFTO2FBQ2hCO1lBQ0QsT0FBTyxFQUFFLENBQUMsSUFBQSx1QkFBYyxFQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQ2xDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUM7S0FDbkMsQ0FBQyxDQUFDO0lBRUgsTUFBTSxJQUFJLEdBQUcsTUFBTSxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDckMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUN2QixNQUFNLElBQUksS0FBSyxDQUFDLGdDQUFnQyxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUNELE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsT0FB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
package/dist/plugin.d.ts CHANGED
@@ -1,2 +1,2 @@
1
1
  import { Plugin } from 'vite';
2
- export declare function rendererPlugin(params?: Record<string, unknown>, outName?: string): Plugin;
2
+ export declare function rendererPlugin(params?: Record<string, unknown>): Plugin;
package/dist/plugin.js CHANGED
@@ -9,7 +9,7 @@ const HtmlParts = Content.toString().split('{{source}}');
9
9
  function createHtml(src) {
10
10
  return HtmlParts[0] + src + HtmlParts[1];
11
11
  }
12
- function rendererPlugin(params, outName) {
12
+ function rendererPlugin(params) {
13
13
  return {
14
14
  name: 'revideo-renderer-plugin',
15
15
  async load(id) {
@@ -18,9 +18,20 @@ function rendererPlugin(params, outName) {
18
18
  import {render} from '@revideo/renderer/dist/client/render';
19
19
  import project from './src/project.ts?project';
20
20
 
21
- project.name = '${outName}'; // ensures that we save file to outName.mp4
21
+ // Read video variables
22
22
  project.variables = ${params ? `JSON.parse(\`${JSON.stringify(params)}\`)` : 'project.variables'};
23
- render(project);
23
+
24
+ // Check range of frames to render
25
+ const url = new URL(window.location.href);
26
+
27
+ const fileName = url.searchParams.get('fileName');
28
+ const workerId = url.searchParams.get('workerId');
29
+ const totalNumOfWorkers = url.searchParams.get('totalNumOfWorkers');
30
+
31
+ // Overwrite project name so that the rendered videos don't overwrite each other
32
+ project.name = fileName;
33
+
34
+ render(project, workerId, totalNumOfWorkers);
24
35
  `;
25
36
  }
26
37
  },
@@ -33,4 +44,4 @@ function rendererPlugin(params, outName) {
33
44
  };
34
45
  }
35
46
  exports.rendererPlugin = rendererPlugin;
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2luLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc2VydmVyL3BsdWdpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx5QkFBeUI7QUFDekIsNkJBQTZCO0FBRzdCLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLGVBQWUsQ0FBQyxDQUFDO0FBQzlELE1BQU0sT0FBTyxHQUFHLEVBQUUsQ0FBQyxZQUFZLENBQUMsWUFBWSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0FBQ3ZELE1BQU0sU0FBUyxHQUFHLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUM7QUFFekQsU0FBUyxVQUFVLENBQUMsR0FBVztJQUM3QixPQUFPLFNBQVMsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzNDLENBQUM7QUFFRCxTQUFnQixjQUFjLENBQzVCLE1BQWdDLEVBQ2hDLE9BQWdCO0lBRWhCLE9BQU87UUFDTCxJQUFJLEVBQUUseUJBQXlCO1FBRS9CLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUNYLElBQUksRUFBRSxDQUFDLFVBQVUsQ0FBQyxzQkFBc0IsQ0FBQyxFQUFFLENBQUM7Z0JBQzFDLE9BQU87Ozs7OEJBSWUsT0FBTztrQ0FDSCxNQUFNLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLG1CQUFtQjs7YUFFL0YsQ0FBQztZQUNSLENBQUM7UUFDSCxDQUFDO1FBRUQsZUFBZSxDQUFDLE1BQU07WUFDcEIsTUFBTSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsU0FBUyxFQUFFLENBQUMsSUFBSSxFQUFFLEdBQUcsRUFBRSxFQUFFO2dCQUM5QyxHQUFHLENBQUMsU0FBUyxDQUFDLGNBQWMsRUFBRSxXQUFXLENBQUMsQ0FBQztnQkFDM0MsR0FBRyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsOEJBQThCLENBQUMsQ0FBQyxDQUFDO1lBQ3RELENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztLQUNGLENBQUM7QUFDSixDQUFDO0FBM0JELHdDQTJCQyJ9
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2luLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc2VydmVyL3BsdWdpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx5QkFBeUI7QUFDekIsNkJBQTZCO0FBRzdCLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLGVBQWUsQ0FBQyxDQUFDO0FBQzlELE1BQU0sT0FBTyxHQUFHLEVBQUUsQ0FBQyxZQUFZLENBQUMsWUFBWSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0FBQ3ZELE1BQU0sU0FBUyxHQUFHLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUM7QUFFekQsU0FBUyxVQUFVLENBQUMsR0FBVztJQUM3QixPQUFPLFNBQVMsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzNDLENBQUM7QUFFRCxTQUFnQixjQUFjLENBQUMsTUFBZ0M7SUFDN0QsT0FBTztRQUNMLElBQUksRUFBRSx5QkFBeUI7UUFFL0IsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ1gsSUFBSSxFQUFFLENBQUMsVUFBVSxDQUFDLHNCQUFzQixDQUFDLEVBQUUsQ0FBQztnQkFDMUMsT0FBTzs7Ozs7a0NBS21CLE1BQU0sQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsbUJBQW1COzs7Ozs7Ozs7Ozs7O2FBYS9GLENBQUM7WUFDUixDQUFDO1FBQ0gsQ0FBQztRQUVELGVBQWUsQ0FBQyxNQUFNO1lBQ3BCLE1BQU0sQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBRSxDQUFDLElBQUksRUFBRSxHQUFHLEVBQUUsRUFBRTtnQkFDOUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxjQUFjLEVBQUUsV0FBVyxDQUFDLENBQUM7Z0JBQzNDLEdBQUcsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLDhCQUE4QixDQUFDLENBQUMsQ0FBQztZQUN0RCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUM7S0FDRixDQUFDO0FBQ0osQ0FBQztBQW5DRCx3Q0FtQ0MifQ==
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@revideo/renderer",
3
- "version": "0.2.4",
3
+ "version": "0.2.6-alpha.904+148b73f",
4
4
  "description": "A headless renderer for revideo",
5
5
  "main": "dist/index.js",
6
6
  "author": "revideo",
@@ -23,8 +23,8 @@
23
23
  "puppeteer": "^22.6.0"
24
24
  },
25
25
  "devDependencies": {
26
- "@revideo/core": "^0.2.4",
26
+ "@revideo/core": "^0.2.5",
27
27
  "ncp": "^2.0.0"
28
28
  },
29
- "gitHead": "735d3f21320fbbb85f2c81c1e5b70376433cff87"
29
+ "gitHead": "148b73fa3693f40d717c0fdf275799364769706f"
30
30
  }