@nodetool-ai/video-nodes 0.8.2 → 0.8.4-a13.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.
Files changed (60) hide show
  1. package/dist/.nodetool-build-stamp +1 -1
  2. package/dist/index.d.ts +3 -0
  3. package/dist/index.d.ts.map +1 -1
  4. package/dist/index.js +19 -0
  5. package/dist/index.js.map +1 -1
  6. package/dist/nodes/ffmpeg-helpers.d.ts +2 -1
  7. package/dist/nodes/ffmpeg-helpers.d.ts.map +1 -1
  8. package/dist/nodes/ffmpeg-helpers.js +4 -5
  9. package/dist/nodes/ffmpeg-helpers.js.map +1 -1
  10. package/dist/nodes/model3d/convert.d.ts +2 -1
  11. package/dist/nodes/model3d/convert.d.ts.map +1 -1
  12. package/dist/nodes/model3d/convert.js +3 -3
  13. package/dist/nodes/model3d/convert.js.map +1 -1
  14. package/dist/nodes/model3d/render3d-headless.d.ts +15 -5
  15. package/dist/nodes/model3d/render3d-headless.d.ts.map +1 -1
  16. package/dist/nodes/model3d/render3d-headless.js +154 -36
  17. package/dist/nodes/model3d/render3d-headless.js.map +1 -1
  18. package/dist/nodes/model3d/types.d.ts +1 -0
  19. package/dist/nodes/model3d/types.d.ts.map +1 -1
  20. package/dist/nodes/model3d/utils.d.ts +6 -13
  21. package/dist/nodes/model3d/utils.d.ts.map +1 -1
  22. package/dist/nodes/model3d/utils.js +22 -65
  23. package/dist/nodes/model3d/utils.js.map +1 -1
  24. package/dist/nodes/storyboard.d.ts +36 -7
  25. package/dist/nodes/storyboard.d.ts.map +1 -1
  26. package/dist/nodes/storyboard.js +157 -7
  27. package/dist/nodes/storyboard.js.map +1 -1
  28. package/dist/nodes/timeline/browserRender.d.ts +83 -0
  29. package/dist/nodes/timeline/browserRender.d.ts.map +1 -0
  30. package/dist/nodes/timeline/browserRender.js +541 -0
  31. package/dist/nodes/timeline/browserRender.js.map +1 -0
  32. package/dist/nodes/timeline/browserSources.d.ts +26 -0
  33. package/dist/nodes/timeline/browserSources.d.ts.map +1 -0
  34. package/dist/nodes/timeline/browserSources.js +83 -0
  35. package/dist/nodes/timeline/browserSources.js.map +1 -0
  36. package/dist/nodes/timeline/compositeRender.d.ts.map +1 -1
  37. package/dist/nodes/timeline/compositeRender.js +31 -15
  38. package/dist/nodes/timeline/compositeRender.js.map +1 -1
  39. package/dist/nodes/timeline/pngSequence.d.ts +19 -0
  40. package/dist/nodes/timeline/pngSequence.d.ts.map +1 -1
  41. package/dist/nodes/timeline/pngSequence.js +21 -6
  42. package/dist/nodes/timeline/pngSequence.js.map +1 -1
  43. package/dist/nodes/timeline/rawFrames.d.ts +34 -1
  44. package/dist/nodes/timeline/rawFrames.d.ts.map +1 -1
  45. package/dist/nodes/timeline/rawFrames.js +68 -15
  46. package/dist/nodes/timeline/rawFrames.js.map +1 -1
  47. package/dist/nodes/timeline/renderPage.d.ts +14 -0
  48. package/dist/nodes/timeline/renderPage.d.ts.map +1 -0
  49. package/dist/nodes/timeline/renderPage.js +75 -0
  50. package/dist/nodes/timeline/renderPage.js.map +1 -0
  51. package/dist/nodes/timeline.d.ts +21 -24
  52. package/dist/nodes/timeline.d.ts.map +1 -1
  53. package/dist/nodes/timeline.js +366 -112
  54. package/dist/nodes/timeline.js.map +1 -1
  55. package/dist/nodes/video.d.ts +1 -4
  56. package/dist/nodes/video.d.ts.map +1 -1
  57. package/dist/nodes/video.js +21 -3
  58. package/dist/nodes/video.js.map +1 -1
  59. package/dist/timeline-render-page.js +6903 -0
  60. package/package.json +12 -11
@@ -1 +1 @@
1
- 2026-10-12T08:37:27.391Z
1
+ 2026-10-15T22:44:31.226Z
package/dist/index.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ import type { NodeClass, NodeRegistry } from "@nodetool-ai/node-sdk";
1
2
  export * from "./nodes/video.js";
2
3
  export * from "./nodes/timeline.js";
3
4
  export * from "./nodes/script.js";
@@ -6,4 +7,6 @@ export * from "./nodes/lib-video-download.js";
6
7
  export * from "./nodes/model3d.js";
7
8
  export { TextTo3DNode, ImageTo3DNode } from "./nodes/model3d/generation.js";
8
9
  export { DEFAULT_MODEL_3D, DEFAULT_FOLDER, DEFAULT_IMAGE, DEFAULT_TEXT_TO_3D_MODEL, DEFAULT_IMAGE_TO_3D_MODEL } from "./nodes/model3d/defaults.js";
10
+ export declare const ALL_VIDEO_NODES: readonly NodeClass[];
11
+ export declare function registerVideoNodes(registry: NodeRegistry): void;
9
12
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,oBAAoB,CAAC;AAInC,OAAO,EACL,YAAY,EACZ,aAAa,EACd,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,aAAa,EACb,wBAAwB,EACxB,yBAAyB,EAC1B,MAAM,6BAA6B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAQrE,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,oBAAoB,CAAC;AAInC,OAAO,EACL,YAAY,EACZ,aAAa,EACd,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,aAAa,EACb,wBAAwB,EACxB,yBAAyB,EAC1B,MAAM,6BAA6B,CAAC;AAErC,eAAO,MAAM,eAAe,EAAE,SAAS,SAAS,EAO/C,CAAC;AAEF,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI,CAI/D"}
package/dist/index.js CHANGED
@@ -1,3 +1,9 @@
1
+ import { VIDEO_NODES } from "./nodes/video.js";
2
+ import { TIMELINE_NODES } from "./nodes/timeline.js";
3
+ import { SCRIPT_NODES } from "./nodes/script.js";
4
+ import { STORYBOARD_NODES } from "./nodes/storyboard.js";
5
+ import { MODEL3D_NODES } from "./nodes/model3d.js";
6
+ import { LIB_YTDLP_NODES } from "./nodes/lib-video-download.js";
1
7
  export * from "./nodes/video.js";
2
8
  export * from "./nodes/timeline.js";
3
9
  export * from "./nodes/script.js";
@@ -8,4 +14,17 @@ export * from "./nodes/model3d.js";
8
14
  // 3D-model defaults / generation node classes directly.
9
15
  export { TextTo3DNode, ImageTo3DNode } from "./nodes/model3d/generation.js";
10
16
  export { DEFAULT_MODEL_3D, DEFAULT_FOLDER, DEFAULT_IMAGE, DEFAULT_TEXT_TO_3D_MODEL, DEFAULT_IMAGE_TO_3D_MODEL } from "./nodes/model3d/defaults.js";
17
+ export const ALL_VIDEO_NODES = [
18
+ ...VIDEO_NODES,
19
+ ...TIMELINE_NODES,
20
+ ...SCRIPT_NODES,
21
+ ...STORYBOARD_NODES,
22
+ ...MODEL3D_NODES,
23
+ ...LIB_YTDLP_NODES,
24
+ ];
25
+ export function registerVideoNodes(registry) {
26
+ for (const nodeClass of ALL_VIDEO_NODES) {
27
+ registry.register(nodeClass);
28
+ }
29
+ }
11
30
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,oBAAoB,CAAC;AAEnC,oEAAoE;AACpE,wDAAwD;AACxD,OAAO,EACL,YAAY,EACZ,aAAa,EACd,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,aAAa,EACb,wBAAwB,EACxB,yBAAyB,EAC1B,MAAM,6BAA6B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAEhE,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,oBAAoB,CAAC;AAEnC,oEAAoE;AACpE,wDAAwD;AACxD,OAAO,EACL,YAAY,EACZ,aAAa,EACd,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,aAAa,EACb,wBAAwB,EACxB,yBAAyB,EAC1B,MAAM,6BAA6B,CAAC;AAErC,MAAM,CAAC,MAAM,eAAe,GAAyB;IACnD,GAAG,WAAW;IACd,GAAG,cAAc;IACjB,GAAG,YAAY;IACf,GAAG,gBAAgB;IACnB,GAAG,aAAa;IAChB,GAAG,eAAe;CACnB,CAAC;AAEF,MAAM,UAAU,kBAAkB,CAAC,QAAsB;IACvD,KAAK,MAAM,SAAS,IAAI,eAAe,EAAE,CAAC;QACxC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAC/B,CAAC;AACH,CAAC"}
@@ -13,10 +13,11 @@
13
13
  */
14
14
  import { execFile as execFileCb } from "node:child_process";
15
15
  import type { VideoRef } from "@nodetool-ai/node-sdk";
16
+ import { MissingRuntimePackageError } from "@nodetool-ai/protocol";
16
17
  export declare const execFile: typeof execFileCb.__promisify__;
17
18
  export declare const FFMPEG_MAX_BUFFER: number;
18
19
  /** A required binary (ffmpeg/ffprobe) is not installed or not on PATH. */
19
- export declare class MissingBinaryError extends Error {
20
+ export declare class MissingBinaryError extends MissingRuntimePackageError {
20
21
  readonly binary: string;
21
22
  constructor(binary: string);
22
23
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ffmpeg-helpers.d.ts","sourceRoot":"","sources":["../../src/nodes/ffmpeg-helpers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAM5D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAQtD,eAAO,MAAM,QAAQ,iCAAwB,CAAC;AAE9C,eAAO,MAAM,iBAAiB,QAAmB,CAAC;AAElD,0EAA0E;AAC1E,qBAAa,kBAAmB,SAAQ,KAAK;IAC3C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,YAAY,MAAM,EAAE,MAAM,EAQzB;CACF;AAWD,0EAA0E;AAC1E,wBAAsB,UAAU,CAC9B,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,GAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,WAAW,CAAA;CAAO,GACzD,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAY7C;AAED,2EAA2E;AAC3E,wBAAsB,WAAW,CAC/B,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,GAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,WAAW,CAAA;CAAO,GACzD,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAY7C;AAED,4EAA4E;AAC5E,wBAAgB,QAAQ,CACtB,IAAI,EAAE,UAAU,EAChB,MAAM,GAAE,OAAO,CAAC,QAAQ,CAAM,GAC7B,QAAQ,CAMV;AAED,6EAA6E;AAC7E,wBAAgB,eAAe,IAAI,QAAQ,CAU1C;AAED,oEAAoE;AACpE,wBAAgB,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAUlD;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAS/C;AAED,0DAA0D;AAC1D,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAU7C;AAED;;;;GAIG;AACH,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAiBtE;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CASlD;AAED;;;GAGG;AACH,wBAAsB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAiBnE;AAED,gFAAgF;AAChF,wBAAsB,YAAY,CAChC,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,UAAU,GAChB,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAAE,CAAC,CAUzD;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,OAAO,EACd,QAAQ,EAAE,MAAM,GACf,UAAU,CAeZ;AAED,0EAA0E;AAC1E,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAalD"}
1
+ {"version":3,"file":"ffmpeg-helpers.d.ts","sourceRoot":"","sources":["../../src/nodes/ffmpeg-helpers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAM5D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEtD,OAAO,EAAE,0BAA0B,EAAoD,MAAM,uBAAuB,CAAC;AAOrH,eAAO,MAAM,QAAQ,iCAAwB,CAAC;AAE9C,eAAO,MAAM,iBAAiB,QAAmB,CAAC;AAElD,0EAA0E;AAC1E,qBAAa,kBAAmB,SAAQ,0BAA0B;IAChE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,YAAY,MAAM,EAAE,MAAM,EAIzB;CACF;AAWD,0EAA0E;AAC1E,wBAAsB,UAAU,CAC9B,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,GAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,WAAW,CAAA;CAAO,GACzD,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAY7C;AAED,2EAA2E;AAC3E,wBAAsB,WAAW,CAC/B,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,GAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,WAAW,CAAA;CAAO,GACzD,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAY7C;AAED,4EAA4E;AAC5E,wBAAgB,QAAQ,CACtB,IAAI,EAAE,UAAU,EAChB,MAAM,GAAE,OAAO,CAAC,QAAQ,CAAM,GAC7B,QAAQ,CAMV;AAED,6EAA6E;AAC7E,wBAAgB,eAAe,IAAI,QAAQ,CAU1C;AAED,oEAAoE;AACpE,wBAAgB,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAUlD;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAS/C;AAED,0DAA0D;AAC1D,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAU7C;AAED;;;;GAIG;AACH,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAiBtE;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CASlD;AAED;;;GAGG;AACH,wBAAsB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAiBnE;AAED,gFAAgF;AAChF,wBAAsB,YAAY,CAChC,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,UAAU,GAChB,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAAE,CAAC,CAUzD;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,OAAO,EACd,QAAQ,EAAE,MAAM,GACf,UAAU,CAeZ;AAED,0EAA0E;AAC1E,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAalD"}
@@ -18,17 +18,16 @@ import path from "node:path";
18
18
  import { fileURLToPath } from "node:url";
19
19
  import { promisify } from "node:util";
20
20
  import { withTaskSpan } from "@nodetool-ai/runtime";
21
+ import { MissingRuntimePackageError, missingRuntimePackageDetails, missingRuntimeText } from "@nodetool-ai/protocol";
21
22
  import { isNonEmptyString, isObjectLike, isString } from "@nodetool-ai/node-sdk";
22
23
  export const execFile = promisify(execFileCb);
23
24
  export const FFMPEG_MAX_BUFFER = 50 * 1024 * 1024;
24
25
  /** A required binary (ffmpeg/ffprobe) is not installed or not on PATH. */
25
- export class MissingBinaryError extends Error {
26
+ export class MissingBinaryError extends MissingRuntimePackageError {
26
27
  binary;
27
28
  constructor(binary) {
28
- super(`${binary} is not installed or not on PATH. Install ${binary} (the ` +
29
- `Package Manager UI can do this) to process video — these nodes shell ` +
30
- `out to ffmpeg/ffprobe and cannot run without it.`);
31
- this.name = "MissingBinaryError";
29
+ const details = missingRuntimePackageDetails(binary, "ffmpeg");
30
+ super(missingRuntimeText(details), "ffmpeg", { details });
32
31
  this.binary = binary;
33
32
  }
34
33
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ffmpeg-helpers.js","sourceRoot":"","sources":["../../src/nodes/ffmpeg-helpers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EACL,gBAAgB,EAChB,YAAY,EACZ,QAAQ,EACT,MAAM,uBAAuB,CAAC;AAE/B,MAAM,CAAC,MAAM,QAAQ,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC;AAE9C,MAAM,CAAC,MAAM,iBAAiB,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;AAElD,0EAA0E;AAC1E,MAAM,OAAO,kBAAmB,SAAQ,KAAK;IAClC,MAAM,CAAS;IACxB,YAAY,MAAc;QACxB,KAAK,CACH,GAAG,MAAM,6CAA6C,MAAM,QAAQ;YAClE,uEAAuE;YACvE,kDAAkD,CACrD,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;QACjC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;CACF;AAED;;;;GAIG;AACH,SAAS,aAAa,CAAC,GAAY;IACjC,OAAO,YAAY,CAAC,GAAG,CAAC,IAAK,GAA0B,CAAC,IAAI,KAAK,QAAQ,CAAC;AAC5E,CAAC;AAED,0EAA0E;AAC1E,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,IAAc,EACd,OAAO,GAAiD,EAAE;IAE1D,IAAI,CAAC;QACH,OAAO,MAAM,YAAY,CACvB,KAAK,EACL,gBAAgB,EAChB,EAAE,yBAAyB,EAAE,QAAQ,EAAE,EACvC,GAAG,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,CACxC,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,aAAa,CAAC,KAAK,CAAC;YAAE,MAAM,IAAI,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QACjE,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,2EAA2E;AAC3E,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,IAAc,EACd,OAAO,GAAiD,EAAE;IAE1D,IAAI,CAAC;QACH,OAAO,MAAM,YAAY,CACvB,KAAK,EACL,gBAAgB,EAChB,EAAE,yBAAyB,EAAE,SAAS,EAAE,EACxC,GAAG,EAAE,CAAC,QAAQ,CAAC,SAAS,EAAE,IAAI,EAAE,OAAO,CAAC,CACzC,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,aAAa,CAAC,KAAK,CAAC;YAAE,MAAM,IAAI,kBAAkB,CAAC,SAAS,CAAC,CAAC;QAClE,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,4EAA4E;AAC5E,MAAM,UAAU,QAAQ,CACtB,IAAgB,EAChB,MAAM,GAAsB,EAAE;IAE9B,OAAO;QACL,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAC1C,GAAG,MAAM;KACV,CAAC;AACJ,CAAC;AAED,6EAA6E;AAC7E,MAAM,UAAU,eAAe;IAC7B,OAAO;QACL,IAAI,EAAE,OAAO;QACb,GAAG,EAAE,EAAE;QACP,QAAQ,EAAE,IAAI;QACd,IAAI,EAAE,IAAI;QACV,QAAQ,EAAE,IAAI;QACd,QAAQ,EAAE,IAAI;QACd,MAAM,EAAE,IAAI;KACb,CAAC;AACJ,CAAC;AAED,oEAAoE;AACpE,MAAM,UAAU,QAAQ,CAAC,SAAiB;IACxC,IAAI,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QACpC,IAAI,CAAC;YACH,OAAO,aAAa,CAAC,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;QAC3C,CAAC;QAAC,MAAM,CAAC;YACP,qDAAqD;YACrD,OAAO,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,UAAU,CAAC,GAAY;IACrC,IAAI,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAClB,OAAO,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IACvD,CAAC;IACD,IAAI,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC;QACtB,MAAM,GAAG,GAAI,GAA+B,CAAC,GAAG,CAAC;QACjD,IAAI,gBAAgB,CAAC,GAAG,CAAC;YAAE,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC;IAClD,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,0DAA0D;AAC1D,MAAM,UAAU,QAAQ,CAAC,IAAY;IACnC,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;IACvB,MAAM,GAAG,GAAG,CAAC,CAAS,EAAU,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAC9D,OAAO,IAAI;SACR,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC;SAC3C,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC;SACzC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;SACpC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;SACrC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC;SACvC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;AAC7C,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,MAAc;IACnD,MAAM,MAAM,GAAG,KAAK,EAAE,CAAS,EAAoB,EAAE;QACnD,IAAI,CAAC;YACH,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YACnB,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC,CAAC;IACF,IAAI,CAAC,CAAC,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC;QAAE,OAAO,MAAM,CAAC;IAC3C,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACjC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACjC,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACxC,KAAK,IAAI,CAAC,GAAG,CAAC,GAAI,CAAC,EAAE,EAAE,CAAC;QACtB,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC;QACvD,IAAI,CAAC,CAAC,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC;YAAE,OAAO,SAAS,CAAC;IACnD,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,GAAW;IACxC,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACpC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7B,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7B,OAAO,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACzD,CAAC;IACD,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7B,OAAO,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AACnD,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,IAAY;IAChD,IAAI,CAAC;QACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,WAAW,CAAC;YACnC,IAAI;YACJ,OAAO;YACP,eAAe;YACf,iBAAiB;YACjB,KAAK;YACL,oCAAoC;YACpC,IAAI;SACL,CAAC,CAAC;QACH,MAAM,GAAG,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QACtC,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IAC9B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,kBAAkB;YAAE,MAAM,KAAK,CAAC;QACrD,OAAO,CAAC,CAAC;IACX,CAAC;AACH,CAAC;AAED,gFAAgF;AAChF,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,MAAc,EACd,KAAiB;IAEjB,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,iBAAiB,CAAC,CAAC,CAAC;IACxE,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,MAAM,EAAE,CAAC,CAAC;IAC9C,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAChC,OAAO;QACL,IAAI,EAAE,IAAI;QACV,OAAO,EAAE,KAAK,IAAI,EAAE;YAClB,MAAM,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACrD,CAAC;KACF,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CACjC,KAAc,EACd,QAAgB;IAEhB,IAAI,KAAK,YAAY,UAAU;QAAE,OAAO,KAAK,CAAC;IAC9C,IAAI,KAAK,YAAY,WAAW;QAAE,OAAO,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC;IAC/D,MAAM,QAAQ,GACZ,KAAK,KAAK,IAAI;QACZ,CAAC,CAAC,MAAM;QACR,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;YACpB,CAAC,CAAC,OAAO;YACT,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC;gBACnB,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,IAAI,IAAI,QAAQ,CAAC;gBACvC,CAAC,CAAC,OAAO,KAAK,CAAC;IACvB,MAAM,IAAI,KAAK,CACb,GAAG,QAAQ,uBAAuB,QAAQ,yBAAyB;QACjE,sBAAsB,CACzB,CAAC;AACJ,CAAC;AAED,0EAA0E;AAC1E,MAAM,UAAU,WAAW,CAAC,IAAY;IACtC,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,IAAI,SAAS,GAAG,IAAI,CAAC;IACrB,OAAO,SAAS,GAAG,CAAC,EAAE,CAAC;QACrB,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAClB,SAAS,IAAI,CAAC,CAAC;IACjB,CAAC;IACD,OAAO,SAAS,GAAG,GAAG,EAAE,CAAC;QACvB,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpB,SAAS,IAAI,CAAC,CAAC;IACjB,CAAC;IACD,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACnD,OAAO,OAAO,CAAC;AACjB,CAAC"}
1
+ {"version":3,"file":"ffmpeg-helpers.js","sourceRoot":"","sources":["../../src/nodes/ffmpeg-helpers.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import type { ProcessingContext } from "@nodetool-ai/runtime";
1
2
  import { GlbTransformNode } from "./base.js";
2
3
  import type { Model3DRefLike } from "./types.js";
3
4
  /** Output handles FormatConverterNode.process() emits. */
@@ -21,7 +22,7 @@ export declare class FormatConverterNode extends GlbTransformNode {
21
22
  model: Model3DRefLike;
22
23
  output_format: "glb" | "gltf";
23
24
  protected transform(_bytes: Uint8Array): Uint8Array | null;
24
- process(): Promise<FormatConverterNodeOutputs>;
25
+ process(context?: ProcessingContext): Promise<FormatConverterNodeOutputs>;
25
26
  }
26
27
  export {};
27
28
  //# sourceMappingURL=convert.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"convert.d.ts","sourceRoot":"","sources":["../../../src/nodes/model3d/convert.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAKjD,0DAA0D;AAC1D,KAAK,0BAA0B,GAAG;IAChC,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,IAAI,CAAC;QAAC,QAAQ,EAAE,IAAI,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CACxE,CAAC;AAEF,qBAAa,mBAAoB,SAAQ,gBAAgB;IACvD,MAAM,CAAC,QAAQ,CAAC,QAAQ,sCAAsC;IAC9D,MAAM,CAAC,QAAQ,CAAC,KAAK,sBAAsB;IAC3C,MAAM,CAAC,QAAQ,CAAC,WAAW,oUACmS;IAC9T,MAAM,CAAC,QAAQ,CAAC,mBAAmB;QACjC,MAAM;MACN;IACF,MAAM,CAAC,QAAQ,CAAC,YAAY,UAAM;IAClC,MAAM,CAAC,QAAQ,CAAC,WAAW,WAAa;IAQhC,KAAK,EAAE,cAAc,CAAC;IAStB,aAAa,EAAE,KAAK,GAAG,MAAM,CAAC;IAEtC,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,UAAU,GAAG,UAAU,GAAG,IAAI,CAEzD;IAEK,OAAO,IAAI,OAAO,CAAC,0BAA0B,CAAC,CA4BnD;CACF"}
1
+ {"version":3,"file":"convert.d.ts","sourceRoot":"","sources":["../../../src/nodes/model3d/convert.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAE9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAKjD,0DAA0D;AAC1D,KAAK,0BAA0B,GAAG;IAChC,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,IAAI,CAAC;QAAC,QAAQ,EAAE,IAAI,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CACxE,CAAC;AAEF,qBAAa,mBAAoB,SAAQ,gBAAgB;IACvD,MAAM,CAAC,QAAQ,CAAC,QAAQ,sCAAsC;IAC9D,MAAM,CAAC,QAAQ,CAAC,KAAK,sBAAsB;IAC3C,MAAM,CAAC,QAAQ,CAAC,WAAW,oUACmS;IAC9T,MAAM,CAAC,QAAQ,CAAC,mBAAmB;QACjC,MAAM;MACN;IACF,MAAM,CAAC,QAAQ,CAAC,YAAY,UAAM;IAClC,MAAM,CAAC,QAAQ,CAAC,WAAW,WAAa;IAQhC,KAAK,EAAE,cAAc,CAAC;IAStB,aAAa,EAAE,KAAK,GAAG,MAAM,CAAC;IAEtC,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,UAAU,GAAG,UAAU,GAAG,IAAI,CAEzD;IAEK,OAAO,CACX,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,0BAA0B,CAAC,CA4BrC;CACF"}
@@ -8,7 +8,7 @@ import { prop } from "@nodetool-ai/node-sdk";
8
8
  import { GlbTransformNode } from "./base.js";
9
9
  import { DEFAULT_MODEL_3D } from "./defaults.js";
10
10
  import { convertGlbToGltf } from "./document-ops.js";
11
- import { modelBytes, modelFormat, modelRef, replaceExtension } from "./utils.js";
11
+ import { modelFormat, modelRefToBytes, modelRef, replaceExtension } from "./utils.js";
12
12
  export class FormatConverterNode extends GlbTransformNode {
13
13
  static nodeType = "nodetool.model3d.FormatConverter";
14
14
  static title = "Format Converter";
@@ -21,9 +21,9 @@ export class FormatConverterNode extends GlbTransformNode {
21
21
  transform(_bytes) {
22
22
  return null;
23
23
  }
24
- async process() {
24
+ async process(context) {
25
25
  const model = this.getModel();
26
- const bytes = modelBytes(model);
26
+ const bytes = await modelRefToBytes(model, context);
27
27
  const inputFormat = modelFormat(model);
28
28
  const outputFormat = this.output_format.toLowerCase();
29
29
  if (outputFormat === inputFormat) {
@@ -1 +1 @@
1
- {"version":3,"file":"convert.js","sourceRoot":"","sources":["../../../src/nodes/model3d/convert.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAE7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAE7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAOjF,MAAM,OAAO,mBAAoB,SAAQ,gBAAgB;IACvD,MAAM,CAAU,QAAQ,GAAG,kCAAkC,CAAC;IAC9D,MAAM,CAAU,KAAK,GAAG,kBAAkB,CAAC;IAC3C,MAAM,CAAU,WAAW,GACzB,2TAA2T,CAAC;IAC9T,MAAM,CAAU,mBAAmB,GAAG;QACpC,MAAM,EAAE,UAAU;KACnB,CAAC;IACF,MAAM,CAAU,YAAY,GAAG,EAAE,CAAC;IAClC,MAAM,CAAU,WAAW,GAAG,CAAC,OAAO,CAAC,CAAC;IAmB9B,SAAS,CAAC,MAAkB;QACpC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,OAAO;QACX,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC9B,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;QAChC,MAAM,WAAW,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;QACvC,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC;QAEtD,IAAI,YAAY,KAAK,WAAW,EAAE,CAAC;YACjC,OAAO;gBACL,MAAM,EAAE,QAAQ,CAAC,KAAK,EAAE;oBACtB,GAAG,EAAE,gBAAgB,CAAC,KAAK,CAAC,GAAG,IAAI,EAAE,EAAE,YAAY,CAAC;oBACpD,MAAM,EAAE,YAAY;iBACrB,CAAC;aACH,CAAC;QACJ,CAAC;QAED,IAAI,WAAW,KAAK,KAAK,IAAI,YAAY,KAAK,MAAM,EAAE,CAAC;YACrD,MAAM,IAAI,KAAK,CACb,iCAAiC,WAAW,MAAM,YAAY,2CAA2C,CAC1G,CAAC;QACJ,CAAC;QAED,MAAM,cAAc,GAAG,MAAM,gBAAgB,CAAC,KAAK,CAAC,CAAC;QACrD,OAAO;YACL,MAAM,EAAE,QAAQ,CAAC,cAAc,EAAE;gBAC/B,GAAG,EAAE,gBAAgB,CAAC,KAAK,CAAC,GAAG,IAAI,EAAE,EAAE,YAAY,CAAC;gBACpD,MAAM,EAAE,YAAY;aACrB,CAAC;SACH,CAAC;IACJ,CAAC;CACF;AA5CS;IANP,IAAI,CAAC;QACJ,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,gBAAgB;QACzB,KAAK,EAAE,OAAO;QACd,WAAW,EAAE,yBAAyB;KACvC,CAAC;kDAC4B;AAStB;IAPP,IAAI,CAAC;QACJ,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,KAAK;QACd,KAAK,EAAE,eAAe;QACtB,WAAW,EAAE,uEAAuE;QACpF,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC;KACxB,CAAC;0DACoC"}
1
+ {"version":3,"file":"convert.js","sourceRoot":"","sources":["../../../src/nodes/model3d/convert.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAG7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAE7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAOtF,MAAM,OAAO,mBAAoB,SAAQ,gBAAgB;IACvD,MAAM,CAAU,QAAQ,GAAG,kCAAkC,CAAC;IAC9D,MAAM,CAAU,KAAK,GAAG,kBAAkB,CAAC;IAC3C,MAAM,CAAU,WAAW,GACzB,2TAA2T,CAAC;IAC9T,MAAM,CAAU,mBAAmB,GAAG;QACpC,MAAM,EAAE,UAAU;KACnB,CAAC;IACF,MAAM,CAAU,YAAY,GAAG,EAAE,CAAC;IAClC,MAAM,CAAU,WAAW,GAAG,CAAC,OAAO,CAAC,CAAC;IAmB9B,SAAS,CAAC,MAAkB;QACpC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,OAAO,CACX,OAA2B;QAE3B,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC9B,MAAM,KAAK,GAAG,MAAM,eAAe,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACpD,MAAM,WAAW,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;QACvC,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC;QAEtD,IAAI,YAAY,KAAK,WAAW,EAAE,CAAC;YACjC,OAAO;gBACL,MAAM,EAAE,QAAQ,CAAC,KAAK,EAAE;oBACtB,GAAG,EAAE,gBAAgB,CAAC,KAAK,CAAC,GAAG,IAAI,EAAE,EAAE,YAAY,CAAC;oBACpD,MAAM,EAAE,YAAY;iBACrB,CAAC;aACH,CAAC;QACJ,CAAC;QAED,IAAI,WAAW,KAAK,KAAK,IAAI,YAAY,KAAK,MAAM,EAAE,CAAC;YACrD,MAAM,IAAI,KAAK,CACb,iCAAiC,WAAW,MAAM,YAAY,2CAA2C,CAC1G,CAAC;QACJ,CAAC;QAED,MAAM,cAAc,GAAG,MAAM,gBAAgB,CAAC,KAAK,CAAC,CAAC;QACrD,OAAO;YACL,MAAM,EAAE,QAAQ,CAAC,cAAc,EAAE;gBAC/B,GAAG,EAAE,gBAAgB,CAAC,KAAK,CAAC,GAAG,IAAI,EAAE,EAAE,YAAY,CAAC;gBACpD,MAAM,EAAE,YAAY;aACrB,CAAC;SACH,CAAC;IACJ,CAAC;CACF;AA9CS;IANP,IAAI,CAAC;QACJ,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,gBAAgB;QACzB,KAAK,EAAE,OAAO;QACd,WAAW,EAAE,yBAAyB;KACvC,CAAC;kDAC4B;AAStB;IAPP,IAAI,CAAC;QACJ,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,KAAK;QACd,KAAK,EAAE,eAAe;QACtB,WAAW,EAAE,uEAAuE;QACpF,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC;KACxB,CAAC;0DACoC"}
@@ -4,7 +4,8 @@
4
4
  * The backend has no WebGL, so it launches a headless Chromium, injects the
5
5
  * self-contained render bundle (`dist/render3d-page.js`, built by
6
6
  * `scripts/bundle-render3d-page.mjs`), and calls `__nodetoolRenderGlbFrames`
7
- * over CDP. SwiftShader flags keep WebGL working on GPU-less servers.
7
+ * over CDP. SwiftShader flags keep WebGL working on GPU-less servers. Later
8
+ * renders reuse that browser until it has been idle for a minute.
8
9
  *
9
10
  * Chrome discovery follows the automation nodes: `CHROME_PATH` when set,
10
11
  * otherwise chrome-launcher's platform search. Everything here is
@@ -63,10 +64,19 @@ export declare function connectCdp(port: number, { timeoutMs, retryMs }?: {
63
64
  */
64
65
  export declare function launchChromeWithRetry<T>(launch: () => Promise<T>, retryDelayMs?: number): Promise<T>;
65
66
  /**
66
- * Render one session's worth of frames in a fresh headless Chromium: one
67
- * launch, one model load, one PNG per frame. One Chrome per call keeps the
68
- * node stateless; launch cost (~1s) is negligible next to a typical
69
- * workflow's model-generation steps.
67
+ * Close the shared render browser now. Exported for tests and shutdown;
68
+ * renders otherwise close it after {@link IDLE_CLOSE_MS} without work.
69
+ */
70
+ export declare function closeHeadlessRenderer(): Promise<void>;
71
+ /**
72
+ * Render one session's worth of frames: one model load, one PNG per frame.
73
+ *
74
+ * Renders share one headless Chromium with the bundle already injected.
75
+ * Launching Chrome costs about half a second, and the first SwiftShader frame
76
+ * in a new browser about two more, so a browser per call made every render
77
+ * take seconds. The browser closes after {@link IDLE_CLOSE_MS} without work.
78
+ * A browser that fails or times out is closed, and a render on a browser that
79
+ * died while idle retries once on a new one.
70
80
  */
71
81
  export declare function renderGlbFramesHeadless(glb: Uint8Array, options: Model3DSessionOptions, frames: readonly Model3DRenderFrame[]): Promise<Uint8Array[]>;
72
82
  /** Render GLB bytes to PNG bytes: the one-frame case of the above. */
@@ -1 +1 @@
1
- {"version":3,"file":"render3d-headless.d.ts","sourceRoot":"","sources":["../../../src/nodes/model3d/render3d-headless.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAIH,OAAO,EAGL,KAAK,kBAAkB,EACvB,KAAK,qBAAqB,EAC1B,KAAK,eAAe,EACrB,MAAM,oBAAoB,CAAC;AA0B5B,UAAU,qBAAqB;IAC7B,MAAM,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IAC5C,gBAAgB,CAAC,EAAE;QACjB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,SAAS,CAAC,EAAE;YAAE,WAAW,CAAC,EAAE,MAAM,CAAC;YAAC,KAAK,CAAC,EAAE,OAAO,CAAA;SAAE,CAAC;KACvD,CAAC;CACH;AAED,UAAU,SAAS;IACjB,OAAO,EAAE;QACP,yEAAyE;QACzE,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;QAC1B,QAAQ,CAAC,MAAM,EAAE;YACf,UAAU,EAAE,MAAM,CAAC;YACnB,YAAY,CAAC,EAAE,OAAO,CAAC;YACvB,aAAa,CAAC,EAAE,OAAO,CAAC;SACzB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC;KACpC,CAAC;IACF,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAyDD;;;;;;;;;;;GAWG;AACH,wBAAsB,UAAU,CAC9B,IAAI,EAAE,MAAM,EACZ,EAAE,SAAkC,EAAE,OAA8B,EAAE;;;CAAK,GAC1E,OAAO,CAAC,SAAS,CAAC,CA2BpB;AAED;;;;;;;;GAQG;AACH,wBAAsB,qBAAqB,CAAC,CAAC,EAC3C,MAAM,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACxB,YAAY,SAAQ,GACnB,OAAO,CAAC,CAAC,CAAC,CASZ;AAED;;;;;GAKG;AACH,wBAAsB,uBAAuB,CAC3C,GAAG,EAAE,UAAU,EACf,OAAO,EAAE,qBAAqB,EAC9B,MAAM,EAAE,SAAS,kBAAkB,EAAE,GACpC,OAAO,CAAC,UAAU,EAAE,CAAC,CAgEvB;AAED,sEAAsE;AACtE,wBAAsB,iBAAiB,CACrC,GAAG,EAAE,UAAU,EACf,OAAO,EAAE,eAAe,GACvB,OAAO,CAAC,UAAU,CAAC,CAOrB"}
1
+ {"version":3,"file":"render3d-headless.d.ts","sourceRoot":"","sources":["../../../src/nodes/model3d/render3d-headless.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAIH,OAAO,EAGL,KAAK,kBAAkB,EACvB,KAAK,qBAAqB,EAC1B,KAAK,eAAe,EACrB,MAAM,oBAAoB,CAAC;AA0B5B,UAAU,qBAAqB;IAC7B,MAAM,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IAC5C,gBAAgB,CAAC,EAAE;QACjB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,SAAS,CAAC,EAAE;YAAE,WAAW,CAAC,EAAE,MAAM,CAAC;YAAC,KAAK,CAAC,EAAE,OAAO,CAAA;SAAE,CAAC;KACvD,CAAC;CACH;AAED,UAAU,SAAS;IACjB,OAAO,EAAE;QACP,yEAAyE;QACzE,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;QAC1B,QAAQ,CAAC,MAAM,EAAE;YACf,UAAU,EAAE,MAAM,CAAC;YACnB,YAAY,CAAC,EAAE,OAAO,CAAC;YACvB,aAAa,CAAC,EAAE,OAAO,CAAC;SACzB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC;KACpC,CAAC;IACF,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAyDD;;;;;;;;;;;GAWG;AACH,wBAAsB,UAAU,CAC9B,IAAI,EAAE,MAAM,EACZ,EAAE,SAAkC,EAAE,OAA8B,EAAE;;;CAAK,GAC1E,OAAO,CAAC,SAAS,CAAC,CA2BpB;AAED;;;;;;;;GAQG;AACH,wBAAsB,qBAAqB,CAAC,CAAC,EAC3C,MAAM,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACxB,YAAY,SAAQ,GACnB,OAAO,CAAC,CAAC,CAAC,CASZ;AAiGD;;;GAGG;AACH,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,IAAI,CAAC,CAO3D;AAmDD;;;;;;;;;GASG;AACH,wBAAsB,uBAAuB,CAC3C,GAAG,EAAE,UAAU,EACf,OAAO,EAAE,qBAAqB,EAC9B,MAAM,EAAE,SAAS,kBAAkB,EAAE,GACpC,OAAO,CAAC,UAAU,EAAE,CAAC,CAiDvB;AAED,sEAAsE;AACtE,wBAAsB,iBAAiB,CACrC,GAAG,EAAE,UAAU,EACf,OAAO,EAAE,eAAe,GACvB,OAAO,CAAC,UAAU,CAAC,CAOrB"}
@@ -4,7 +4,8 @@
4
4
  * The backend has no WebGL, so it launches a headless Chromium, injects the
5
5
  * self-contained render bundle (`dist/render3d-page.js`, built by
6
6
  * `scripts/bundle-render3d-page.mjs`), and calls `__nodetoolRenderGlbFrames`
7
- * over CDP. SwiftShader flags keep WebGL working on GPU-less servers.
7
+ * over CDP. SwiftShader flags keep WebGL working on GPU-less servers. Later
8
+ * renders reuse that browser until it has been idle for a minute.
8
9
  *
9
10
  * Chrome discovery follows the automation nodes: `CHROME_PATH` when set,
10
11
  * otherwise chrome-launcher's platform search. Everything here is
@@ -126,59 +127,176 @@ export async function launchChromeWithRetry(launch, retryDelayMs = 1_000) {
126
127
  return await launch();
127
128
  }
128
129
  }
130
+ /** How long an idle render browser stays open before it closes. */
131
+ const IDLE_CLOSE_MS = 60_000;
129
132
  /**
130
- * Render one session's worth of frames in a fresh headless Chromium: one
131
- * launch, one model load, one PNG per frame. One Chrome per call keeps the
132
- * node stateless; launch cost (~1s) is negligible next to a typical
133
- * workflow's model-generation steps.
133
+ * Hold the event loop only while a render runs. An idle browser must not keep
134
+ * the process alive: a CLI run would otherwise wait for the idle timeout.
134
135
  */
135
- export async function renderGlbFramesHeadless(glb, options, frames) {
136
- if (frames.length === 0)
137
- return [];
136
+ function holdEventLoop(browser, hold) {
137
+ // SAFETY: chrome-remote-interface keeps its `ws` socket on `_ws`, and ws
138
+ // keeps the net.Socket on `_socket`; both are absent once the client closes.
139
+ const socket = browser.client._ws?._socket;
140
+ for (const handle of [browser.chrome.process, socket]) {
141
+ if (hold) {
142
+ handle?.ref();
143
+ }
144
+ else {
145
+ handle?.unref();
146
+ }
147
+ }
148
+ }
149
+ let browserPromise = null;
150
+ let activeRenders = 0;
151
+ let idleTimer;
152
+ async function launchRenderBrowser(chromePath) {
138
153
  const bundle = await loadRenderBundle();
139
154
  const { launch } = await import("chrome-launcher");
140
- const chrome = await launchChromeWithRetry(() => launch({
141
- chromeFlags: CHROME_FLAGS,
142
- chromePath: process.env.CHROME_PATH || undefined
143
- }));
144
- let client = null;
155
+ const chrome = await launchChromeWithRetry(() => launch({ chromeFlags: CHROME_FLAGS, chromePath }));
156
+ // An idle browser must not outlive the process: the idle timer is unref'd.
157
+ const onExit = () => {
158
+ try {
159
+ chrome.kill();
160
+ }
161
+ catch {
162
+ // Process may already be gone.
163
+ }
164
+ };
165
+ process.once("exit", onExit);
145
166
  try {
146
- client = await connectCdp(chrome.port);
167
+ const client = await connectCdp(chrome.port);
147
168
  await client.Runtime.enable();
148
169
  const injected = await client.Runtime.evaluate({ expression: bundle });
149
170
  throwOnException(injected, "inject bundle");
150
- const glbBase64 = Buffer.from(glb).toString("base64");
151
- const call = await withTimeout(client.Runtime.evaluate({
171
+ return { chrome, client, chromePath, onExit };
172
+ }
173
+ catch (err) {
174
+ process.removeListener("exit", onExit);
175
+ onExit();
176
+ throw err;
177
+ }
178
+ }
179
+ async function closeRenderBrowser(browser) {
180
+ process.removeListener("exit", browser.onExit);
181
+ try {
182
+ await browser.client.close();
183
+ }
184
+ catch {
185
+ // Chrome is being killed right after; a failed CDP close is harmless.
186
+ }
187
+ try {
188
+ await browser.chrome.kill();
189
+ }
190
+ catch {
191
+ // Process may already be gone.
192
+ }
193
+ }
194
+ /** Drop the shared browser so the next render launches a new one. */
195
+ function discardRenderBrowser(promise) {
196
+ if (browserPromise !== promise)
197
+ return;
198
+ browserPromise = null;
199
+ void promise.then(closeRenderBrowser, () => undefined);
200
+ }
201
+ /**
202
+ * Close the shared render browser now. Exported for tests and shutdown;
203
+ * renders otherwise close it after {@link IDLE_CLOSE_MS} without work.
204
+ */
205
+ export async function closeHeadlessRenderer() {
206
+ clearTimeout(idleTimer);
207
+ const promise = browserPromise;
208
+ browserPromise = null;
209
+ if (promise) {
210
+ await promise.then(closeRenderBrowser, () => undefined);
211
+ }
212
+ }
213
+ /** A failure of the page or the browser, not of the model being rendered. */
214
+ class RenderBrowserError extends Error {
215
+ }
216
+ async function renderInBrowser(browser, glb, options, frames) {
217
+ const glbBase64 = Buffer.from(glb).toString("base64");
218
+ let call;
219
+ try {
220
+ call = await withTimeout(browser.client.Runtime.evaluate({
152
221
  expression: `globalThis.__nodetoolRenderGlbFrames(${JSON.stringify(glbBase64)}, ${JSON.stringify(JSON.stringify(options))}, ${JSON.stringify(JSON.stringify(frames))})`,
153
222
  awaitPromise: true,
154
223
  returnByValue: true
155
224
  }), "render", RENDER_TIMEOUT_MS + EXTRA_FRAME_TIMEOUT_MS * (frames.length - 1));
156
- throwOnException(call, "render");
157
- const pngsBase64 = call.result?.value;
158
- if (!Array.isArray(pngsBase64) || pngsBase64.length !== frames.length) {
159
- throw new Error(`RenderToImage: headless render returned ${Array.isArray(pngsBase64) ? pngsBase64.length : "no"} images for ${frames.length} frames`);
225
+ }
226
+ catch (err) {
227
+ throw new RenderBrowserError(err instanceof Error ? err.message : String(err), { cause: err });
228
+ }
229
+ throwOnException(call, "render");
230
+ const pngsBase64 = call.result?.value;
231
+ if (!Array.isArray(pngsBase64) || pngsBase64.length !== frames.length) {
232
+ throw new Error(`RenderToImage: headless render returned ${Array.isArray(pngsBase64) ? pngsBase64.length : "no"} images for ${frames.length} frames`);
233
+ }
234
+ return pngsBase64.map((png) => {
235
+ if (!isNonEmptyString(png)) {
236
+ throw new Error("RenderToImage: headless render returned no image data");
160
237
  }
161
- return pngsBase64.map((png) => {
162
- if (!isNonEmptyString(png)) {
163
- throw new Error("RenderToImage: headless render returned no image data");
238
+ return new Uint8Array(Buffer.from(png, "base64"));
239
+ });
240
+ }
241
+ /**
242
+ * Render one session's worth of frames: one model load, one PNG per frame.
243
+ *
244
+ * Renders share one headless Chromium with the bundle already injected.
245
+ * Launching Chrome costs about half a second, and the first SwiftShader frame
246
+ * in a new browser about two more, so a browser per call made every render
247
+ * take seconds. The browser closes after {@link IDLE_CLOSE_MS} without work.
248
+ * A browser that fails or times out is closed, and a render on a browser that
249
+ * died while idle retries once on a new one.
250
+ */
251
+ export async function renderGlbFramesHeadless(glb, options, frames) {
252
+ if (frames.length === 0)
253
+ return [];
254
+ const chromePath = process.env.CHROME_PATH || undefined;
255
+ clearTimeout(idleTimer);
256
+ activeRenders += 1;
257
+ try {
258
+ for (let attempt = 0;; attempt += 1) {
259
+ let promise = browserPromise;
260
+ if (promise && (await promise.catch(() => null))?.chromePath !== chromePath) {
261
+ discardRenderBrowser(promise);
262
+ promise = null;
164
263
  }
165
- return new Uint8Array(Buffer.from(png, "base64"));
166
- });
167
- }
168
- finally {
169
- if (client) {
264
+ const launched = !promise;
265
+ if (!promise) {
266
+ promise = launchRenderBrowser(chromePath);
267
+ browserPromise = promise;
268
+ }
269
+ let browser;
170
270
  try {
171
- await client.close();
271
+ browser = await promise;
172
272
  }
173
- catch {
174
- // Chrome is being killed right after; a failed CDP close is harmless.
273
+ catch (err) {
274
+ discardRenderBrowser(promise);
275
+ throw err;
276
+ }
277
+ holdEventLoop(browser, true);
278
+ try {
279
+ return await renderInBrowser(browser, glb, options, frames);
280
+ }
281
+ catch (err) {
282
+ if (!(err instanceof RenderBrowserError))
283
+ throw err;
284
+ discardRenderBrowser(promise);
285
+ if (launched || attempt > 0) {
286
+ throw new Error(err.message, { cause: err.cause });
287
+ }
175
288
  }
176
289
  }
177
- try {
178
- await chrome.kill();
179
- }
180
- catch {
181
- // Process may already be gone.
290
+ }
291
+ finally {
292
+ activeRenders -= 1;
293
+ if (activeRenders === 0 && browserPromise) {
294
+ void browserPromise.then((browser) => {
295
+ if (activeRenders === 0)
296
+ holdEventLoop(browser, false);
297
+ }, () => undefined);
298
+ idleTimer = setTimeout(() => void closeHeadlessRenderer(), IDLE_CLOSE_MS);
299
+ idleTimer.unref();
182
300
  }
183
301
  }
184
302
  }
@@ -1 +1 @@
1
- {"version":3,"file":"render3d-headless.js","sourceRoot":"","sources":["../../../src/nodes/model3d/render3d-headless.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"render3d-headless.js","sourceRoot":"","sources":["../../../src/nodes/model3d/render3d-headless.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  export type Model3DRefLike = {
2
2
  uri?: string;
3
+ asset_id?: string | null;
3
4
  data?: Uint8Array | string;
4
5
  format?: string;
5
6
  vertices?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/nodes/model3d/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/nodes/model3d/types.ts"],"names":[],"mappings":"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"}
@@ -1,25 +1,18 @@
1
+ import type { ProcessingContext } from "@nodetool-ai/runtime";
1
2
  import type { JsonResourceRef, JsonResources, Model3DRefLike } from "./types.js";
2
3
  export declare function toBytes(data: Uint8Array | string | undefined): Uint8Array;
3
4
  export declare function modelBytes(model: unknown): Uint8Array;
4
- export declare function modelRefToBytes(model: unknown, context?: {
5
- storage?: {
6
- retrieve(uri: string): Promise<Uint8Array | null>;
7
- } | null;
8
- }): Promise<Uint8Array>;
5
+ export declare function modelRefToBytes(model: unknown, context?: ProcessingContext): Promise<Uint8Array>;
9
6
  /**
10
7
  * Resolve an image-ref-shaped value (`{uri, data, asset_id, ...}`) to raw
11
- * image bytes. Accepts inline `data` (base64 string or Uint8Array), a
12
- * `data:` URI, or — given a `ProcessingContext` — a storage URI / file://
13
- * URI / http(s) URL.
8
+ * image bytes through the shared media-ref resolver: inline `data`, a
9
+ * `data:` URI, an `asset://` URI or bare `asset_id`, a storage URI, a
10
+ * `file://` URI, or an http(s) URL.
14
11
  *
15
12
  * Throws when nothing resolvable is present so the caller can surface a
16
13
  * clear "missing image" error rather than silently sending zero bytes.
17
14
  */
18
- export declare function imageRefToBytes(ref: unknown, context?: {
19
- storage?: {
20
- retrieve(uri: string): Promise<Uint8Array | null>;
21
- } | null;
22
- }): Promise<Uint8Array>;
15
+ export declare function imageRefToBytes(ref: unknown, context?: ProcessingContext): Promise<Uint8Array>;
23
16
  export declare function modelRef(data: Uint8Array, extras?: Record<string, unknown>): {
24
17
  type: string;
25
18
  asset_id: null;
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/nodes/model3d/utils.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,eAAe,EACf,aAAa,EACb,cAAc,EACf,MAAM,YAAY,CAAC;AAMpB,wBAAgB,OAAO,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,GAAG,SAAS,GAAG,UAAU,CAIzE;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,UAAU,CAGrD;AAED,wBAAsB,eAAe,CACnC,KAAK,EAAE,OAAO,EACd,OAAO,CAAC,EAAE;IACR,OAAO,CAAC,EAAE;QACR,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC;KACnD,GAAG,IAAI,CAAC;CACV,GACA,OAAO,CAAC,UAAU,CAAC,CA8BrB;AAED;;;;;;;;GAQG;AACH,wBAAsB,eAAe,CACnC,GAAG,EAAE,OAAO,EACZ,OAAO,CAAC,EAAE;IACR,OAAO,CAAC,EAAE;QACR,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC;KACnD,GAAG,IAAI,CAAC;CACV,GACA,OAAO,CAAC,UAAU,CAAC,CAgDrB;AAED,wBAAgB,QAAQ,CACtB,IAAI,EAAE,UAAU,EAChB,MAAM,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM;;;;;EASrC;AAED,wBAAgB,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAGlD;AAED,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAU7C;AAED,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAGlD;AAED,wBAAgB,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAE3C;AAED,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAS1E;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,cAAc,GAAG,MAAM,CAKzD;AAED,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAgBvD;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAGrE;AAED,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,eAAe,EAAE,GAAG,SAAS,EACnC,SAAS,EAAE,aAAa,GACvB,IAAI,CAON;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,cAAc;IAGlD,MAAM;;;;;;EAKT"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/nodes/model3d/utils.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAG9D,OAAO,KAAK,EACV,eAAe,EACf,aAAa,EACb,cAAc,EACf,MAAM,YAAY,CAAC;AAMpB,wBAAgB,OAAO,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,GAAG,SAAS,GAAG,UAAU,CAIzE;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,UAAU,CAGrD;AAED,wBAAsB,eAAe,CACnC,KAAK,EAAE,OAAO,EACd,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,UAAU,CAAC,CAGrB;AAED;;;;;;;;GAQG;AACH,wBAAsB,eAAe,CACnC,GAAG,EAAE,OAAO,EACZ,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,UAAU,CAAC,CAqCrB;AAED,wBAAgB,QAAQ,CACtB,IAAI,EAAE,UAAU,EAChB,MAAM,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM;;;;;EASrC;AAED,wBAAgB,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAGlD;AAED,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAU7C;AAED,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAGlD;AAED,wBAAgB,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAE3C;AAED,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAS1E;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,cAAc,GAAG,MAAM,CAKzD;AAED,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAgBvD;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAGrE;AAED,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,eAAe,EAAE,GAAG,SAAS,EACnC,SAAS,EAAE,aAAa,GACvB,IAAI,CAON;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,cAAc;IAGlD,MAAM;;;;;;EAKT"}