@pinepaper.studio/mcp-server 1.6.28 → 1.6.30

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 (85) hide show
  1. package/README.md +79 -0
  2. package/SECURITY.md +2 -3
  3. package/dist/agent/export-manager.js +125 -125
  4. package/dist/assets/repositories/fontawesome.d.ts.map +1 -1
  5. package/dist/assets/repositories/fontawesome.js +2 -1
  6. package/dist/assets/repositories/fontawesome.js.map +1 -1
  7. package/dist/assets/repositories/iconify.d.ts.map +1 -1
  8. package/dist/assets/repositories/iconify.js +4 -3
  9. package/dist/assets/repositories/iconify.js.map +1 -1
  10. package/dist/browser/puppeteer-controller.d.ts +40 -0
  11. package/dist/browser/puppeteer-controller.d.ts.map +1 -1
  12. package/dist/browser/puppeteer-controller.js +176 -24
  13. package/dist/browser/puppeteer-controller.js.map +1 -1
  14. package/dist/build-info.json +2 -2
  15. package/dist/cli.js +54 -54
  16. package/dist/execution/canvas-state.js +25 -25
  17. package/dist/i18n/locales/en.js +22 -22
  18. package/dist/i18n/locales/fil.js +44 -44
  19. package/dist/i18n/locales/is.js +22 -22
  20. package/dist/i18n/locales/ur.js +22 -22
  21. package/dist/index.d.ts.map +1 -1
  22. package/dist/index.js +5574 -5568
  23. package/dist/index.js.map +1 -1
  24. package/dist/ontology/upstream-vocabulary.d.ts +2 -2
  25. package/dist/ontology/upstream-vocabulary.js +6 -6
  26. package/dist/ontology/vocabulary.d.ts.map +1 -1
  27. package/dist/ontology/vocabulary.js +2 -0
  28. package/dist/ontology/vocabulary.js.map +1 -1
  29. package/dist/tools/craft-tools.js +18 -18
  30. package/dist/tools/definitions.d.ts.map +1 -1
  31. package/dist/tools/definitions.js +2832 -2823
  32. package/dist/tools/definitions.js.map +1 -1
  33. package/dist/tools/effect-check.d.ts +1 -1
  34. package/dist/tools/effect-check.d.ts.map +1 -1
  35. package/dist/tools/effect-check.js +68 -68
  36. package/dist/tools/effect-check.js.map +1 -1
  37. package/dist/tools/engine-lists.d.ts +3 -3
  38. package/dist/tools/engine-lists.js +3 -3
  39. package/dist/tools/engine-methods.d.ts.map +1 -1
  40. package/dist/tools/engine-methods.js +4 -1
  41. package/dist/tools/engine-methods.js.map +1 -1
  42. package/dist/tools/engine-surface.d.ts +1 -1
  43. package/dist/tools/engine-surface.d.ts.map +1 -1
  44. package/dist/tools/engine-surface.js +19 -4
  45. package/dist/tools/engine-surface.js.map +1 -1
  46. package/dist/tools/handlers/font.js +22 -22
  47. package/dist/tools/handlers/generate.d.ts +2 -2
  48. package/dist/tools/handlers/generate.d.ts.map +1 -1
  49. package/dist/tools/handlers/generate.js +5 -4
  50. package/dist/tools/handlers/generate.js.map +1 -1
  51. package/dist/tools/handlers.d.ts.map +1 -1
  52. package/dist/tools/handlers.js +57 -18
  53. package/dist/tools/handlers.js.map +1 -1
  54. package/dist/tools/lane.d.ts +8 -2
  55. package/dist/tools/lane.d.ts.map +1 -1
  56. package/dist/tools/lane.js +86 -67
  57. package/dist/tools/lane.js.map +1 -1
  58. package/dist/tools/p5-compat/p5-helpers.d.ts +6 -17
  59. package/dist/tools/p5-compat/p5-helpers.d.ts.map +1 -1
  60. package/dist/tools/p5-compat/p5-helpers.js +349 -342
  61. package/dist/tools/p5-compat/p5-helpers.js.map +1 -1
  62. package/dist/tools/shape-params.d.ts +2 -2
  63. package/dist/tools/shape-params.d.ts.map +1 -1
  64. package/dist/tools/shape-params.js +5 -2
  65. package/dist/tools/shape-params.js.map +1 -1
  66. package/dist/tools/stick-vocabulary.d.ts +1 -1
  67. package/dist/tools/stick-vocabulary.js +1 -1
  68. package/dist/tools/timeline.js +82 -82
  69. package/dist/types/code-generator.d.ts.map +1 -1
  70. package/dist/types/code-generator.js +6646 -5853
  71. package/dist/types/code-generator.js.map +1 -1
  72. package/dist/types/schemas.d.ts +13 -0
  73. package/dist/types/schemas.d.ts.map +1 -1
  74. package/dist/types/schemas.js +6 -0
  75. package/dist/types/schemas.js.map +1 -1
  76. package/dist/utils/safe-fetch.d.ts +8 -0
  77. package/dist/utils/safe-fetch.d.ts.map +1 -1
  78. package/dist/utils/safe-fetch.js +125 -34
  79. package/dist/utils/safe-fetch.js.map +1 -1
  80. package/dist/vendor/design/device-mockup-generator.js +167 -150
  81. package/dist/vendor/design/recursive-subdivision-generator.js +107 -107
  82. package/dist/vendor/design/textile-weave-generator.js +429 -429
  83. package/dist/vendor/design/ui-kit-runtime.js +674 -674
  84. package/manifest.json +1 -1
  85. package/package.json +7 -4
@@ -15,7 +15,7 @@
15
15
  * was the engine's full snapshot until the first live sweep: that carries the
16
16
  * playhead and live transforms, so during playback every no-op looked changed.
17
17
  */
18
- export declare const EFFECT_BEFORE_JS = "(function () {\n function __ppFingerprint() {\n // AUTHORED state, not the live frame. The engine's full snapshot carries the\n // playhead and every item's CURRENT transform, so while the timeline plays\n // every call looked changed \u2014 the three misses of the first live sweep\n // (re-applied colour, same canvas size, a repeated highlight). Animated\n // values are left out; what a call can author is kept.\n const o = {};\n const playing = !!app.isPlayingKeyframes;\n const plain = function (k, v) {\n if (typeof k === 'string' && (k.charAt(0) === '_' || /^(selected|hovered|isHovered|cached|lastRender|renderTick|frame|playbackTime|time)$/.test(k))) return undefined;\n if (typeof v === 'function') return undefined;\n if (v && typeof v === 'object' && (v.data instanceof Uint8ClampedArray || (typeof ImageData !== 'undefined' && v instanceof ImageData))) return undefined;\n if (v && typeof v === 'object' && typeof v.toCSS === 'function') return v.toCSS(true);\n return v;\n };\n const S = function (v) { try { return JSON.stringify(v, plain); } catch (e) { return ''; } };\n try {\n const reg = app.itemRegistry && app.itemRegistry.getAll ? app.itemRegistry.getAll() : null;\n if (reg) {\n o.items = reg.map(function (e) {\n const it = e.item || {};\n const d = it.data || {};\n const keys = Array.isArray(d.keyframes) ? d.keyframes : [];\n const animated = {};\n keys.forEach(function (k) { Object.keys((k && k.properties) || {}).forEach(function (p) { animated[p] = 1; }); });\n const moves = keys.length || (d.animationType && d.animationType !== 'none');\n const style = {};\n ['fillColor', 'strokeColor', 'strokeWidth', 'opacity', 'fontSize', 'fontFamily', 'content', 'visible', 'blendMode'].forEach(function (p) {\n if (!animated[p] && !(p === 'fillColor' && animated.color) && it[p] !== undefined) style[p] = plain(p, it[p]);\n });\n if (!moves && it.position) style.at = [Math.round(it.position.x), Math.round(it.position.y)];\n if (!moves && it.scaling) style.scale = [Math.round(it.scaling.x * 1000), Math.round(it.scaling.y * 1000)];\n if (!moves && typeof it.rotation === 'number') style.rot = Math.round(it.rotation * 100);\n return (e.id || e.itemId) + '|' + (e.type || '') + '|' + S(d) + '|' + S(style);\n }).join('\\n');\n }\n } catch (e) {}\n try { const rr = app.relationRegistry; if (rr && rr.exportForSave) o.relations = S(rr.exportForSave()); } catch (e) {}\n try { if (app.listRenderHooks) o.renderHooks = S(app.listRenderHooks()); } catch (e) {}\n // Patterns are scene state of their own: a phase_wave at t=0 or before its\n // window moves no member, so the items alone read a real create or modify as\n // no change.\n try { if (app.listPatterns) o.patterns = S(app.listPatterns()); } catch (e) {}\n // SCENE-LEVEL STATE OUTSIDE ITEMS (sweep v2: add_filter and camera_animate\n // were real changes read as none). The camera's track is a relation on the\n // pseudo-source 'camera', which no registry item carries.\n try { if (app.filterSystem && app.filterSystem.exportForSave) o.filters = S(app.filterSystem.exportForSave()); } catch (e) {}\n try {\n // Camera keyframes live in relationRegistry._cameraAnimation.params (a\n // virtual item, no registry entry), read through getCameraAnimationParams.\n // getRelations('camera') looks in the associations and is always empty\n // for them (sweep v3: camera_animate still read as no change).\n const rr = app.relationRegistry;\n const cam = rr && rr.getCameraAnimationParams ? rr.getCameraAnimationParams() : null;\n const tilt = rr && rr.cameraTilt;\n o.camera = S([cam, tilt && tilt.serialize ? tilt.serialize() : null]);\n } catch (e) {}\n try { const c = app.config || {}; o.background = S([c.currentBackgroundMode, c.currentBackgroundGenerator, c.generatorParams, app.canvasEl && app.canvasEl.style && app.canvasEl.style.backgroundColor]); } catch (e) {}\n try { const cs = app.getCanvasSize && app.getCanvasSize(); if (cs) o.canvas = cs.width + 'x' + cs.height + (cs.unbounded ? ':unbounded' : ''); } catch (e) {}\n try {\n // The view moves on its own while a camera animation plays.\n const v = app.view || (typeof paper !== 'undefined' && paper.view);\n if (!playing && v && v.center) o.view = Math.round(v.zoom * 1000) + '@' + Math.round(v.center.x) + ',' + Math.round(v.center.y);\n } catch (e) {}\n try { if (app.mapSystem && app.mapSystem.getRegionOverrideCount) o.mapColours = app.mapSystem.getRegionOverrideCount() + ':' + S(app.mapSystem._regionColorOverrides ? Array.from(app.mapSystem._regionColorOverrides.entries()) : null); } catch (e) {}\n try { if (app._initialized && app._initialized.has('synthSounds')) o.sounds = S(app.synthSounds.list().map(function (x) { return [x.id, x.startTime, x.duration]; })); } catch (e) {}\n return o;\n}\n window.__ppEffectBefore = __ppFingerprint();\n return { ok: true };\n})();";
18
+ export declare const EFFECT_BEFORE_JS: string;
19
19
  /** After-probe: compares against the before fingerprint; checks the named ids exist. */
20
20
  export declare function effectAfterJs(ids: string[]): string;
21
21
  /** The item ids a result names as made or touched (itemId, itemIds, ids). */
@@ -1 +1 @@
1
- {"version":3,"file":"effect-check.d.ts","sourceRoot":"","sources":["../../src/tools/effect-check.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAwEH,eAAO,MAAM,gBAAgB,w6JAIvB,CAAC;AAEP,wFAAwF;AACxF,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,MAAM,CAkBnD;AAED,6EAA6E;AAC7E,wBAAgB,YAAY,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,EAAE,CAQtD;AAED,+DAA+D;AAC/D,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAE7E;AAED,eAAO,MAAM,cAAc,GAAI,SAAS,MAAM,EAAE,WAGuC,CAAC"}
1
+ {"version":3,"file":"effect-check.d.ts","sourceRoot":"","sources":["../../src/tools/effect-check.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAwEH,eAAO,MAAM,gBAAgB,EAAE,MAIzB,CAAC;AAEP,wFAAwF;AACxF,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,MAAM,CAkBnD;AAED,6EAA6E;AAC7E,wBAAgB,YAAY,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,EAAE,CAQtD;AAED,+DAA+D;AAC/D,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAE7E;AAED,eAAO,MAAM,cAAc,GAAI,SAAS,MAAM,EAAE,WAGuC,CAAC"}
@@ -16,74 +16,74 @@
16
16
  * playhead and live transforms, so during playback every no-op looked changed.
17
17
  */
18
18
  /** In-page fingerprint, shared by both probes. */
19
- const FINGERPRINT_JS = `function __ppFingerprint() {
20
- // AUTHORED state, not the live frame. The engine's full snapshot carries the
21
- // playhead and every item's CURRENT transform, so while the timeline plays
22
- // every call looked changed — the three misses of the first live sweep
23
- // (re-applied colour, same canvas size, a repeated highlight). Animated
24
- // values are left out; what a call can author is kept.
25
- const o = {};
26
- const playing = !!app.isPlayingKeyframes;
27
- const plain = function (k, v) {
28
- if (typeof k === 'string' && (k.charAt(0) === '_' || /^(selected|hovered|isHovered|cached|lastRender|renderTick|frame|playbackTime|time)$/.test(k))) return undefined;
29
- if (typeof v === 'function') return undefined;
30
- if (v && typeof v === 'object' && (v.data instanceof Uint8ClampedArray || (typeof ImageData !== 'undefined' && v instanceof ImageData))) return undefined;
31
- if (v && typeof v === 'object' && typeof v.toCSS === 'function') return v.toCSS(true);
32
- return v;
33
- };
34
- const S = function (v) { try { return JSON.stringify(v, plain); } catch (e) { return ''; } };
35
- try {
36
- const reg = app.itemRegistry && app.itemRegistry.getAll ? app.itemRegistry.getAll() : null;
37
- if (reg) {
38
- o.items = reg.map(function (e) {
39
- const it = e.item || {};
40
- const d = it.data || {};
41
- const keys = Array.isArray(d.keyframes) ? d.keyframes : [];
42
- const animated = {};
43
- keys.forEach(function (k) { Object.keys((k && k.properties) || {}).forEach(function (p) { animated[p] = 1; }); });
44
- const moves = keys.length || (d.animationType && d.animationType !== 'none');
45
- const style = {};
46
- ['fillColor', 'strokeColor', 'strokeWidth', 'opacity', 'fontSize', 'fontFamily', 'content', 'visible', 'blendMode'].forEach(function (p) {
47
- if (!animated[p] && !(p === 'fillColor' && animated.color) && it[p] !== undefined) style[p] = plain(p, it[p]);
48
- });
49
- if (!moves && it.position) style.at = [Math.round(it.position.x), Math.round(it.position.y)];
50
- if (!moves && it.scaling) style.scale = [Math.round(it.scaling.x * 1000), Math.round(it.scaling.y * 1000)];
51
- if (!moves && typeof it.rotation === 'number') style.rot = Math.round(it.rotation * 100);
52
- return (e.id || e.itemId) + '|' + (e.type || '') + '|' + S(d) + '|' + S(style);
53
- }).join('\\n');
54
- }
55
- } catch (e) {}
56
- try { const rr = app.relationRegistry; if (rr && rr.exportForSave) o.relations = S(rr.exportForSave()); } catch (e) {}
57
- try { if (app.listRenderHooks) o.renderHooks = S(app.listRenderHooks()); } catch (e) {}
58
- // Patterns are scene state of their own: a phase_wave at t=0 or before its
59
- // window moves no member, so the items alone read a real create or modify as
60
- // no change.
61
- try { if (app.listPatterns) o.patterns = S(app.listPatterns()); } catch (e) {}
62
- // SCENE-LEVEL STATE OUTSIDE ITEMS (sweep v2: add_filter and camera_animate
63
- // were real changes read as none). The camera's track is a relation on the
64
- // pseudo-source 'camera', which no registry item carries.
65
- try { if (app.filterSystem && app.filterSystem.exportForSave) o.filters = S(app.filterSystem.exportForSave()); } catch (e) {}
66
- try {
67
- // Camera keyframes live in relationRegistry._cameraAnimation.params (a
68
- // virtual item, no registry entry), read through getCameraAnimationParams.
69
- // getRelations('camera') looks in the associations and is always empty
70
- // for them (sweep v3: camera_animate still read as no change).
71
- const rr = app.relationRegistry;
72
- const cam = rr && rr.getCameraAnimationParams ? rr.getCameraAnimationParams() : null;
73
- const tilt = rr && rr.cameraTilt;
74
- o.camera = S([cam, tilt && tilt.serialize ? tilt.serialize() : null]);
75
- } catch (e) {}
76
- try { const c = app.config || {}; o.background = S([c.currentBackgroundMode, c.currentBackgroundGenerator, c.generatorParams, app.canvasEl && app.canvasEl.style && app.canvasEl.style.backgroundColor]); } catch (e) {}
77
- try { const cs = app.getCanvasSize && app.getCanvasSize(); if (cs) o.canvas = cs.width + 'x' + cs.height + (cs.unbounded ? ':unbounded' : ''); } catch (e) {}
78
- try {
79
- // The view moves on its own while a camera animation plays.
80
- const v = app.view || (typeof paper !== 'undefined' && paper.view);
81
- if (!playing && v && v.center) o.view = Math.round(v.zoom * 1000) + '@' + Math.round(v.center.x) + ',' + Math.round(v.center.y);
82
- } catch (e) {}
83
- try { if (app.mapSystem && app.mapSystem.getRegionOverrideCount) o.mapColours = app.mapSystem.getRegionOverrideCount() + ':' + S(app.mapSystem._regionColorOverrides ? Array.from(app.mapSystem._regionColorOverrides.entries()) : null); } catch (e) {}
84
- try { if (app._initialized && app._initialized.has('synthSounds')) o.sounds = S(app.synthSounds.list().map(function (x) { return [x.id, x.startTime, x.duration]; })); } catch (e) {}
85
- return o;
86
- }`;
19
+ const FINGERPRINT_JS = ("function __ppFingerprint() {\n // AUTHORED state, not the live frame. The engine's full snapshot carries the\n // playhead and every item's CURRENT transform, so while the timeline plays\n // every call looked changed — the three misses of the first live sweep\n // (re-applied colour, same canvas size, a repeated highlight). Animated\n // values are left out; what a call can author is kept.\n const o = {};\n const playing = !!app.isPlayingKeyframes;\n const plain = function (k, v) {\n if (typeof k === 'string' && (k.charAt(0) === '_' || /^(selected|hovered|isHovered|cached|lastRender|renderTick|frame|playbackTime|time)$/.test(k))) return undefined;\n if (typeof v === 'functio" +
20
+ "n') return undefined;\n if (v && typeof v === 'object' && (v.data instanceof Uint8ClampedArray || (typeof ImageData !== 'undefined' && v instanceof ImageData))) return undefined;\n if (v && typeof v === 'object' && typeof v.toCSS === 'function') return v.toCSS(true);\n return v;\n };\n const S = function (v) { try { return JSON.stringify(v, plain); } catch (e) { return ''; } };\n try {\n const reg = app.itemRegistry && app.itemRegistry.getAll ? app.itemRegistry.getAll() : null;\n if (reg) {\n o.items = reg.map(function (e) {\n const it = e.item || {};\n const d = it.data || {};\n const keys = Array.isArray(d.keyframes) ? d.keyframes : [];\n " +
21
+ " const animated = {};\n keys.forEach(function (k) { Object.keys((k && k.properties) || {}).forEach(function (p) { animated[p] = 1; }); });\n const moves = keys.length || (d.animationType && d.animationType !== 'none');\n const style = {};\n ['fillColor', 'strokeColor', 'strokeWidth', 'opacity', 'fontSize', 'fontFamily', 'content', 'visible', 'blendMode'].forEach(function (p) {\n if (!animated[p] && !(p === 'fillColor' && animated.color) && it[p] !== undefined) style[p] = plain(p, it[p]);\n });\n if (!moves && it.position) style.at = [Math.round(it.position.x), Math.round(it.position.y)];\n if (!moves && it.scaling) style.scale = [M" +
22
+ "ath.round(it.scaling.x * 1000), Math.round(it.scaling.y * 1000)];\n if (!moves && typeof it.rotation === 'number') style.rot = Math.round(it.rotation * 100);\n return (e.id || e.itemId) + '|' + (e.type || '') + '|' + S(d) + '|' + S(style);\n }).join('\\n');\n }\n } catch (e) {}\n try { const rr = app.relationRegistry; if (rr && rr.exportForSave) o.relations = S(rr.exportForSave()); } catch (e) {}\n try { if (app.listRenderHooks) o.renderHooks = S(app.listRenderHooks()); } catch (e) {}\n // Patterns are scene state of their own: a phase_wave at t=0 or before its\n // window moves no member, so the items alone read a real create or modify as\n // no change.\n try" +
23
+ " { if (app.listPatterns) o.patterns = S(app.listPatterns()); } catch (e) {}\n // SCENE-LEVEL STATE OUTSIDE ITEMS (sweep v2: add_filter and camera_animate\n // were real changes read as none). The camera's track is a relation on the\n // pseudo-source 'camera', which no registry item carries.\n try { if (app.filterSystem && app.filterSystem.exportForSave) o.filters = S(app.filterSystem.exportForSave()); } catch (e) {}\n try {\n // Camera keyframes live in relationRegistry._cameraAnimation.params (a\n // virtual item, no registry entry), read through getCameraAnimationParams.\n // getRelations('camera') looks in the associations and is always empty\n // for them (sweep v3: c" +
24
+ "amera_animate still read as no change).\n const rr = app.relationRegistry;\n const cam = rr && rr.getCameraAnimationParams ? rr.getCameraAnimationParams() : null;\n const tilt = rr && rr.cameraTilt;\n o.camera = S([cam, tilt && tilt.serialize ? tilt.serialize() : null]);\n } catch (e) {}\n try { const c = app.config || {}; o.background = S([c.currentBackgroundMode, c.currentBackgroundGenerator, c.generatorParams, app.canvasEl && app.canvasEl.style && app.canvasEl.style.backgroundColor]); } catch (e) {}\n try { const cs = app.getCanvasSize && app.getCanvasSize(); if (cs) o.canvas = cs.width + 'x' + cs.height + (cs.unbounded ? ':unbounded' : ''); } catch (e) {}\n try {\n /" +
25
+ "/ The view moves on its own while a camera animation plays.\n const v = app.view || (typeof paper !== 'undefined' && paper.view);\n if (!playing && v && v.center) o.view = Math.round(v.zoom * 1000) + '@' + Math.round(v.center.x) + ',' + Math.round(v.center.y);\n } catch (e) {}\n try { if (app.mapSystem && app.mapSystem.getRegionOverrideCount) o.mapColours = app.mapSystem.getRegionOverrideCount() + ':' + S(app.mapSystem._regionColorOverrides ? Array.from(app.mapSystem._regionColorOverrides.entries()) : null); } catch (e) {}\n try { if (app._initialized && app._initialized.has('synthSounds')) o.sounds = S(app.synthSounds.list().map(function (x) { return [x.id, x.startTime, x.duratio" +
26
+ "n]; })); } catch (e) {}\n return o;\n}"
27
+
28
+
29
+
30
+
31
+
32
+
33
+
34
+
35
+
36
+
37
+
38
+
39
+
40
+
41
+
42
+
43
+
44
+
45
+
46
+
47
+
48
+
49
+
50
+
51
+
52
+
53
+
54
+
55
+
56
+
57
+
58
+
59
+
60
+
61
+
62
+
63
+
64
+
65
+
66
+
67
+
68
+
69
+
70
+
71
+
72
+
73
+
74
+
75
+
76
+
77
+
78
+
79
+
80
+
81
+
82
+
83
+
84
+
85
+
86
+ );
87
87
  export const EFFECT_BEFORE_JS = `(function () {
88
88
  ${FINGERPRINT_JS}
89
89
  window.__ppEffectBefore = __ppFingerprint();
@@ -1 +1 @@
1
- {"version":3,"file":"effect-check.js","sourceRoot":"","sources":["../../src/tools/effect-check.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,kDAAkD;AAClD,MAAM,cAAc,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmErB,CAAC;AAEH,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC5B,cAAc;;;MAGZ,CAAC;AAEP,wFAAwF;AACxF,MAAM,UAAU,aAAa,CAAC,GAAa;IACzC,OAAO;IACL,cAAc;;;;;;gBAMF,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC;;;;;;;;;MAS7B,CAAC;AACP,CAAC;AAED,6EAA6E;AAC7E,MAAM,UAAU,YAAY,CAAC,MAAe;IAC1C,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ;QAAE,OAAO,EAAE,CAAC;IACrD,MAAM,CAAC,GAAG,MAAiC,CAAC;IAC5C,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,MAAM,GAAG,GAAG,CAAC,CAAU,EAAE,EAAE,GAAG,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;QAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAChG,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IACd,KAAK,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC;QAAE,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAAG,CAAC,CAAC,CAAC,CAAe,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC9F,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACxC,CAAC;AAED,+DAA+D;AAC/D,MAAM,UAAU,WAAW,CAAC,IAAY,EAAE,MAA0B;IAClE,OAAO,qDAAqD,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,MAAM,IAAI,EAAE,EAAE,CAAC,CAAC;AAC/F,CAAC;AAED,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,OAAiB,EAAE,EAAE,CAClD,6FAA6F,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK;MAClH,mGAAmG;MACnG,mFAAmF,CAAC"}
1
+ {"version":3,"file":"effect-check.js","sourceRoot":"","sources":["../../src/tools/effect-check.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,kDAAkD;AAClD,MAAM,cAAc,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmErB,CAAC;AAEH,MAAM,CAAC,MAAM,gBAAgB,GAAW;IACpC,cAAc;;;MAGZ,CAAC;AAEP,wFAAwF;AACxF,MAAM,UAAU,aAAa,CAAC,GAAa;IACzC,OAAO;IACL,cAAc;;;;;;gBAMF,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC;;;;;;;;;MAS7B,CAAC;AACP,CAAC;AAED,6EAA6E;AAC7E,MAAM,UAAU,YAAY,CAAC,MAAe;IAC1C,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ;QAAE,OAAO,EAAE,CAAC;IACrD,MAAM,CAAC,GAAG,MAAiC,CAAC;IAC5C,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,MAAM,GAAG,GAAG,CAAC,CAAU,EAAE,EAAE,GAAG,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;QAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAChG,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IACd,KAAK,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC;QAAE,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAAG,CAAC,CAAC,CAAC,CAAe,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC9F,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACxC,CAAC;AAED,+DAA+D;AAC/D,MAAM,UAAU,WAAW,CAAC,IAAY,EAAE,MAA0B;IAClE,OAAO,qDAAqD,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,MAAM,IAAI,EAAE,EAAE,CAAC,CAAC;AAC/F,CAAC;AAED,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,OAAiB,EAAE,EAAE,CAClD,6FAA6F,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK;MAClH,mGAAmG;MACnG,mFAAmF,CAAC"}
@@ -4,8 +4,8 @@
4
4
  * Name lists the engine owns and the tool surface must offer exactly. See
5
5
  * scripts/sync-engine-lists.mjs for why each is generated.
6
6
  *
7
- * Source: FxTool origin/main c7d337c1df99ba406db316161dab721fc2c9a0c0
8
- * js/core/KeyframeInterpolator.js sha256: c0062d98a83491e9
7
+ * Source: FxTool origin/main 11cd6959010ba1934e930644b05b936d8cac6170
8
+ * js/core/KeyframeInterpolator.js sha256: 651749356d0258ac
9
9
  * js/world3d/worlds.js sha256: 0e0973f7587c06e1
10
10
  * js/core/DesignMedia.js sha256: ab07f330e4060cb7
11
11
  * js/FilterSystem.js sha256: 2cf5c8ce2a737958
@@ -13,7 +13,7 @@
13
13
  * js/core/StyledScene.js sha256: 53e4312eb2953d4f
14
14
  * js/core/Patterns.js sha256: a04fe3805f4e9d4f
15
15
  * js/relations/expr-to-ir.js sha256: 4d92d2f42b3356e9
16
- * js/RelationRegistry.js sha256: 9c06f9ddea662434
16
+ * js/RelationRegistry.js sha256: 7ca62ad20af56975
17
17
  * js/core/AnimationDriver.js sha256: 6741a73f5f489355
18
18
  */
19
19
  /** 39 names: EASING_NAMES, the keys of the engine's easing table. Keyframes, masks, relations and the camera all resolve through it. */
@@ -4,8 +4,8 @@
4
4
  * Name lists the engine owns and the tool surface must offer exactly. See
5
5
  * scripts/sync-engine-lists.mjs for why each is generated.
6
6
  *
7
- * Source: FxTool origin/main c7d337c1df99ba406db316161dab721fc2c9a0c0
8
- * js/core/KeyframeInterpolator.js sha256: c0062d98a83491e9
7
+ * Source: FxTool origin/main 11cd6959010ba1934e930644b05b936d8cac6170
8
+ * js/core/KeyframeInterpolator.js sha256: 651749356d0258ac
9
9
  * js/world3d/worlds.js sha256: 0e0973f7587c06e1
10
10
  * js/core/DesignMedia.js sha256: ab07f330e4060cb7
11
11
  * js/FilterSystem.js sha256: 2cf5c8ce2a737958
@@ -13,7 +13,7 @@
13
13
  * js/core/StyledScene.js sha256: 53e4312eb2953d4f
14
14
  * js/core/Patterns.js sha256: a04fe3805f4e9d4f
15
15
  * js/relations/expr-to-ir.js sha256: 4d92d2f42b3356e9
16
- * js/RelationRegistry.js sha256: 9c06f9ddea662434
16
+ * js/RelationRegistry.js sha256: 7ca62ad20af56975
17
17
  * js/core/AnimationDriver.js sha256: 6741a73f5f489355
18
18
  */
19
19
  /** 39 names: EASING_NAMES, the keys of the engine's easing table. Keyframes, masks, relations and the camera all resolve through it. */
@@ -1 +1 @@
1
- {"version":3,"file":"engine-methods.d.ts","sourceRoot":"","sources":["../../src/tools/engine-methods.ts"],"names":[],"mappings":"AAUA;;;;;;;GAOG;AACH,eAAO,MAAM,uBAAuB,EAAE,SAAS,MAAM,EAyOpD,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,uBAAuB,EAAE,SAAS,MAAM,EAsDpD,CAAC"}
1
+ {"version":3,"file":"engine-methods.d.ts","sourceRoot":"","sources":["../../src/tools/engine-methods.ts"],"names":[],"mappings":"AAUA;;;;;;;GAOG;AACH,eAAO,MAAM,uBAAuB,EAAE,SAAS,MAAM,EA6OpD,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,uBAAuB,EAAE,SAAS,MAAM,EAqDpD,CAAC"}
@@ -16,6 +16,9 @@
16
16
  * it one call at a time.
17
17
  */
18
18
  export const REQUIRED_ENGINE_METHODS = [
19
+ '_applyScaleParams',
20
+ '_applySkewKeyframePose',
21
+ '_writeRasterPixels',
19
22
  'addAnimation',
20
23
  'addComment',
21
24
  'addOnFrameCallback',
@@ -162,6 +165,7 @@ export const REQUIRED_ENGINE_METHODS = [
162
165
  'mapSystem.tourRegions',
163
166
  'mapSystem.worldTour',
164
167
  'matchCut',
168
+ 'modifyItem',
165
169
  'modifyRelationParams',
166
170
  'outlineStroke',
167
171
  'panWorldCamera',
@@ -294,7 +298,6 @@ export const OPTIONAL_ENGINE_METHODS = [
294
298
  'listTextPalettes',
295
299
  'mapSystem.canvasToGeo',
296
300
  'mapSystem.getMapSourceInfo',
297
- 'modifyItem',
298
301
  'poseAt',
299
302
  'registerItem',
300
303
  'relationRegistry.exportForSave',
@@ -1 +1 @@
1
- {"version":3,"file":"engine-methods.js","sourceRoot":"","sources":["../../src/tools/engine-methods.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine-methods.js","sourceRoot":"","sources":["../../src/tools/engine-methods.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  /** How a name lands on `app`. */
2
2
  export type EngineMemberKind = 'method' | 'accessor' | 'property' | 'lazy' | 'lazyHeavy' | 'bootstrap';
3
- /** 1537 names, from FxTool/js/PinePaper.js. */
3
+ /** 1552 names, from FxTool/js/PinePaper.js. */
4
4
  export declare const ENGINE_SURFACE: Readonly<Record<string, EngineMemberKind>>;
5
5
  /**
6
6
  * Subsystems that are UNDEFINED until `app.ensureHeavyModules()` has run —
@@ -1 +1 @@
1
- {"version":3,"file":"engine-surface.d.ts","sourceRoot":"","sources":["../../src/tools/engine-surface.ts"],"names":[],"mappings":"AAeA,iCAAiC;AACjC,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG,UAAU,GAAG,UAAU,GAAG,MAAM,GAAG,WAAW,GAAG,WAAW,CAAC;AAEvG,+CAA+C;AAC/C,eAAO,MAAM,cAAc,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAkgDpE,CAAC;AAEH;;;;;;;;GAQG;AACH,eAAO,MAAM,qBAAqB,EAAE,SAAS,MAAM,EAUjD,CAAC;AAEH;;;;;;;GAOG;AACH,eAAO,MAAM,kBAAkB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAU9D,CAAC;AAEH;;;;GAIG;AACH,eAAO,MAAM,cAAc,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CAmBrE,CAAC"}
1
+ {"version":3,"file":"engine-surface.d.ts","sourceRoot":"","sources":["../../src/tools/engine-surface.ts"],"names":[],"mappings":"AAeA,iCAAiC;AACjC,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG,UAAU,GAAG,UAAU,GAAG,MAAM,GAAG,WAAW,GAAG,WAAW,CAAC;AAEvG,+CAA+C;AAC/C,eAAO,MAAM,cAAc,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAihDpE,CAAC;AAEH;;;;;;;;GAQG;AACH,eAAO,MAAM,qBAAqB,EAAE,SAAS,MAAM,EAUjD,CAAC;AAEH;;;;;;;GAOG;AACH,eAAO,MAAM,kBAAkB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAU9D,CAAC;AAEH;;;;GAIG;AACH,eAAO,MAAM,cAAc,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CAmBrE,CAAC"}
@@ -1,7 +1,7 @@
1
1
  /* GENERATED — DO NOT EDIT.
2
2
  *
3
- * Source: FxTool js/PinePaper.js + js/app.js, at commit origin/main c7d337c1df99ba406db316161dab721fc2c9a0c0
4
- * sha256: 69a151af6a98f24af67fdc109c996e89baaf3840f0af5f248b812b5a1da82c6a (of PinePaper.js as committed)
3
+ * Source: FxTool js/PinePaper.js + js/app.js, at commit origin/main 11cd6959010ba1934e930644b05b936d8cac6170
4
+ * sha256: ce25a49fa33b36359fed6bdd182847b7252238cb523a27f77baa009ec9dc8d98 (of PinePaper.js as committed)
5
5
  * Generator: scripts/sync-engine-surface.mjs
6
6
  *
7
7
  * Every name reachable on `window.app`, with how it gets there. The parity
@@ -12,7 +12,7 @@
12
12
  * Re-run the generator against an FxTool checkout. A hand edit is a second
13
13
  * copy of the engine's surface, which is the drift this file exists to catch.
14
14
  */
15
- /** 1537 names, from FxTool/js/PinePaper.js. */
15
+ /** 1552 names, from FxTool/js/PinePaper.js. */
16
16
  export const ENGINE_SURFACE = Object.freeze({
17
17
  __buildFreshness: 'property',
18
18
  _aboveHooksHeld: 'property',
@@ -42,9 +42,12 @@ export const ENGINE_SURFACE = Object.freeze({
42
42
  _applyItemKeyframesAt: 'method',
43
43
  _applyLifetimesAt: 'method',
44
44
  _applyMediumToParts: 'method',
45
+ _applyPaddedImageFilters: 'method',
45
46
  _applyPatternsAt: 'method',
46
47
  _applyRestoresFrom: 'method',
47
48
  _applyRigPresetUnrecorded: 'method',
49
+ _applyScaleParams: 'method',
50
+ _applySkewKeyframePose: 'method',
48
51
  _applySMILAnimations: 'method',
49
52
  _applyStagger: 'method',
50
53
  _applyStyledScenesAt: 'method',
@@ -252,6 +255,7 @@ export const ENGINE_SURFACE = Object.freeze({
252
255
  _journalReaction: 'method',
253
256
  _keepMaskWithMove: 'method',
254
257
  _killedFrameCallbacks: 'property',
258
+ _lastBrushColorNotes: 'property',
255
259
  _lastDynamicUpdate: 'property',
256
260
  _lastElapsedTime: 'property',
257
261
  _lastMediumError: 'property',
@@ -267,6 +271,7 @@ export const ENGINE_SURFACE = Object.freeze({
267
271
  _lockedInSelection: 'method',
268
272
  _loggedFallbackActivation: 'property',
269
273
  _lookContext: 'method',
274
+ _lookKeepsMasks: 'property',
270
275
  _lookRestore: 'property',
271
276
  _loopClock: 'property',
272
277
  _luminanceUnder: 'method',
@@ -441,6 +446,7 @@ export const ENGINE_SURFACE = Object.freeze({
441
446
  _staticCacheStableFrames: 'property',
442
447
  _stopAnimationInterval: 'method',
443
448
  _storageReady: 'bootstrap',
449
+ _storyBeatTimes: 'method',
444
450
  _storySafeSummary: 'method',
445
451
  _strokePressurePts: 'property',
446
452
  _styledRendererCache: 'property',
@@ -460,6 +466,7 @@ export const ENGINE_SURFACE = Object.freeze({
460
466
  _templateItemSpecFields: 'method',
461
467
  _templateMediaRecords: 'method',
462
468
  _templateNodeForm: 'method',
469
+ _templateScaleFields: 'method',
463
470
  _templateSize: 'property',
464
471
  _templateTextAnchor: 'method',
465
472
  _tempPanMode: 'property',
@@ -508,6 +515,7 @@ export const ENGINE_SURFACE = Object.freeze({
508
515
  _writeCounterText: 'method',
509
516
  _writeCounterValue: 'method',
510
517
  _writePatternOffset: 'method',
518
+ _writeRasterPixels: 'method',
511
519
  _writeTrimDash: 'method',
512
520
  _zoomClusterHidden: 'property',
513
521
  a11yAuditor: 'bootstrap',
@@ -536,6 +544,7 @@ export const ENGINE_SURFACE = Object.freeze({
536
544
  addRenderHook: 'method',
537
545
  addSceneAction: 'method',
538
546
  addSpeechLine: 'method',
547
+ addTemplateToScene: 'method',
539
548
  addText: 'method',
540
549
  addToPrecomp: 'method',
541
550
  addToSelection: 'method',
@@ -616,6 +625,7 @@ export const ENGINE_SURFACE = Object.freeze({
616
625
  authoredSize: 'method',
617
626
  autoBreath: 'method',
618
627
  autoDirectStory: 'method',
628
+ autoFitRig: 'method',
619
629
  autoIdle: 'method',
620
630
  autoJump: 'method',
621
631
  autoWalk: 'method',
@@ -862,6 +872,7 @@ export const ENGINE_SURFACE = Object.freeze({
862
872
  exportWarnings: 'method',
863
873
  exportWithFormat: 'method',
864
874
  extractObject: 'method',
875
+ extractStoryBeatTimes: 'method',
865
876
  extrudedTextAt: 'method',
866
877
  extrudeToMesh: 'method',
867
878
  filterSystem: 'lazy',
@@ -902,6 +913,7 @@ export const ENGINE_SURFACE = Object.freeze({
902
913
  getAvailableRelations: 'method',
903
914
  getBackgroundMode: 'method',
904
915
  getCallbackStats: 'method',
916
+ getCanvasKG: 'method',
905
917
  getCanvasPoint: 'method',
906
918
  getCanvasSize: 'method',
907
919
  getCanvasUnit: 'method',
@@ -930,6 +942,7 @@ export const ENGINE_SURFACE = Object.freeze({
930
942
  getItemConstraints: 'method',
931
943
  getItemProvenance: 'method',
932
944
  getItemsByName: 'method',
945
+ getItemsInGroup: 'method',
933
946
  getItemType: 'method',
934
947
  getKeyframe: 'method',
935
948
  getKeyframeAtTime: 'method',
@@ -1238,6 +1251,7 @@ export const ENGINE_SURFACE = Object.freeze({
1238
1251
  recordFlipState: 'method',
1239
1252
  recordLineage: 'method',
1240
1253
  recordSegmentEdit: 'method',
1254
+ recoverLottieRig: 'method',
1241
1255
  redo: 'method',
1242
1256
  refreshTextOutlines: 'method',
1243
1257
  regenerateStroke: 'method',
@@ -1460,6 +1474,7 @@ export const ENGINE_SURFACE = Object.freeze({
1460
1474
  startPNGExport: 'method',
1461
1475
  startRecording: 'method',
1462
1476
  startVideoExport: 'method',
1477
+ stepActiveInGroup: 'method',
1463
1478
  stepPhysics3D: 'method',
1464
1479
  stickFigure: 'method',
1465
1480
  stickSet: 'method',
@@ -1599,7 +1614,7 @@ export const LAZY_HEAVY_CLASSES = Object.freeze({
1599
1614
  export const ENGINE_FACADES = Object.freeze({
1600
1615
  cutoutStyles: Object.freeze(['_applyFiltersToItem', '_ctx', '_findRaster', '_getImageData', '_gpuPipeline', '_registerBuiltInPresets', 'applyPreset', 'getPresets', 'presets', 'registerPreset', 'removePreset', 'setGPUPipeline']),
1601
1616
  diagramSystem: Object.freeze(['_connectorConfig', '_createLegacyArrow', '_createLegacyHead', '_findPortOwner', '_itemRegistry', '_legacyArrowMode', '_makeOrthogonal', '_mermaidBridge', '_on', '_resolveLayoutItems', 'activate', 'addPorts', 'app', 'applyLayout', 'arrows', 'clear', 'connect', 'connectPorts', 'connectorManager', 'createArrow', 'createShape', 'currentSettings', 'deactivate', 'deserialize', 'diagramMode', 'dispose', 'exportConnectorData', 'exportMermaid', 'get', 'getConnector', 'getPorts', 'getShapes', 'importMermaid', 'isActive', 'layoutEngine', 'mermaidBridge', 'options', 'portManager', 'rebuildAfterRestore', 'removeArrow', 'serialize', 'setMode', 'setupEventListeners', 'shapeLibrary', 'toggle', 'toggleOption', 'update', 'updateArrowSettings', 'updateConnector', 'updateSettings']),
1602
- exportEngine: Object.freeze(['FRAMED_FORMATS', 'SIZE_FREE_FORMATS', 'TIME_DRIVEN_RELATIONS', '_acquireStreamTarget', '_addAnimationToElement', '_addAnimationsToSVG', '_addAttachedAnimation', '_addBackground', '_addBounceAnimation', '_addFadeAnimation', '_addInfoLabelsToSVG', '_addJellyAnimation', '_addKeyframeAnimation', '_addMirrorAnimation', '_addOrbitAnimation', '_addPointsAtAnimation', '_addPulseAnimation', '_addRelationAnimations', '_addRotateAnimation', '_addScrollAnimation', '_addShakeAnimation', '_addSlideAnimation', '_addSwingAnimation', '_addTrimMarks', '_addWobbleAnimation', '_attachEditableSource', '_buildSvgDescription', '_calculateKeyframeDuration', '_cleanWidgetRelationParams', '_closeDialog', '_cloudProfileFor', '_collectAnimatedItems', '_contentSizeFix', '_createInfoLabel', '_createOverlay', '_determineRecommendation', '_downloadBlob', '_downloadFile', '_downloadPNG', '_downloadSVG', '_embedSvgAccessibility', '_emitExportEvent', '_encoderReports', '_ensureExportChip', '_ensureExportSpace', '_escapeHtml', '_estimateExportBytes', '_evaluateStillAt', '_evictExportsFor', '_evictedExports', '_evictedSet', '_exportAcknowledged', '_exportFrameSize', '_exportInFlight', '_exportPNGInner', '_exportSVGWithFeatures', '_exportStaticSVG', '_exportToStore', '_findMatchingSVGElement', '_finishExportChip', '_forgetEviction', '_generateAttachedCSS', '_generateCSSKeyframes', '_generateMirrorCSS', '_generateOrbitCSS', '_generatePointsAtCSS', '_generateRelationCSS', '_generateSimpleAnimationCSS', '_generateWidgetEmbedCode', '_getWidgetItemType', '_hasComplexRelations', '_injectMobileStyles', '_isCircle', '_lastExportBlob', '_lastExportFormat', '_lastExportId', '_lastExportStartedAt', '_loadPDFLibraries', '_lottieExportSettings', '_lottieImportData', '_mapEasingToCSS', '_mermaidDirection', '_mermaidExportText', '_opfsExportHandle', '_opfsExportsDir', '_persistEvicted', '_pngGround', '_programAudioDuration', '_quickExportPDF', '_quickExportPNG', '_quickExportSVG', '_quickExportVideo', '_rasterizeWidgetBackground', '_recordEviction', '_releaseOpfsExport', '_removeExportChip', '_renderEstimate', '_requestExportFileHandle', '_resolveWidgetExpressions', '_selectBleed', '_selectDuration', '_selectFps', '_selectImageFormat', '_selectPngDpi', '_selectQuality', '_serializeColor', '_serializeWidgetInteractions', '_serializeWidgetItem', '_serializeWidgetItems', '_serializeWidgetRelations', '_serializeWidgetSkeletons', '_setExactSize', '_setImageMaxKB', '_setupLottieImportListeners', '_setupSVGCanvas', '_showExportBlocked', '_showExportFailed', '_showExportSuccess', '_showExportWarnings', '_showMermaidExportResult', '_showWidgetExportResult', '_streamOrigin', '_svgFidelityWarnings', '_textLayerItems', '_timeSampledPoints', '_toDataURLWithColorSpace', '_updateEstimate', '_updateExportChip', '_wasEvicted', '_widgetInkRingsFor', '_widgetRingsFor', '_wireCustomDuration', 'addTextLayer', 'analyzeComplexity', 'app', 'calculatePNGDimensions', 'containerName', 'copyMermaidExport', 'detectStaticScene', 'detectUpscaledSources', 'downloadMermaidExport', 'embedTextFonts', 'executeLottieImport', 'executeMermaidImport', 'exportAnimatedSVG', 'exportAudio', 'exportFidelity', 'exportHighResPNG', 'exportImage', 'exportPDF', 'exportPNG', 'exportPrintPDF', 'exportProgramAudio', 'exportSVG', 'exportSVGWithCSS', 'exportToStore', 'exportUSDA', 'exportUSDZ', 'exportWidget', 'exportWidgetHTML', 'exportWithFormat', 'getCanvasLimits', 'getExportRecommendation', 'getFormatDescription', 'getFormatName', 'getPlatformExportSettings', 'isIOS', 'isPDFExportAvailable', 'isSafari', 'lastPdfReport', 'listExports', 'preflightExport', 'quickExport', 'raiseGeneratorRenderScale', 'readExport', 'releaseExport', 'sceneHasAudio', 'sceneHasWorld3D', 'showExportDialog', 'showFormatOptions', 'showImportOptions', 'showLottieExportOptions', 'showLottieImportDialog', 'showMermaidImportDialog', 'showPDFExportOptions', 'showPNGExportOptions', 'showVideoExportOptions', 'startCloudRender', 'startLottieExport', 'startPDFExport', 'startPNGExport', 'startVideoExport', 'supportsProgramAudio', 'supportsTimeRange', 'updateMermaidDirection', 'validateCanvasForExport', 'videoCapabilities', 'videoExporter']),
1617
+ exportEngine: Object.freeze(['FRAMED_FORMATS', 'SIZE_FREE_FORMATS', 'TIME_DRIVEN_RELATIONS', '_acquireStreamTarget', '_addAnimationToElement', '_addAnimationsToSVG', '_addAttachedAnimation', '_addBackground', '_addBounceAnimation', '_addFadeAnimation', '_addInfoLabelsToSVG', '_addJellyAnimation', '_addKeyframeAnimation', '_addMirrorAnimation', '_addOrbitAnimation', '_addPointsAtAnimation', '_addPulseAnimation', '_addRelationAnimations', '_addRotateAnimation', '_addScrollAnimation', '_addShakeAnimation', '_addSlideAnimation', '_addSwingAnimation', '_addTrimMarks', '_addWobbleAnimation', '_attachEditableSource', '_buildSvgDescription', '_calculateKeyframeDuration', '_cleanWidgetRelationParams', '_closeDialog', '_cloudProfileFor', '_collectAnimatedItems', '_contentSizeFix', '_createInfoLabel', '_createOverlay', '_determineRecommendation', '_downloadBlob', '_downloadFile', '_downloadPNG', '_downloadSVG', '_embedSvgAccessibility', '_emitExportEvent', '_encoderReports', '_ensureExportChip', '_ensureExportSpace', '_escapeHtml', '_estimateExportBytes', '_evaluateStillAt', '_evictExportsFor', '_evictedExports', '_evictedSet', '_exportAcknowledged', '_exportFrameSize', '_exportInFlight', '_exportPNGInner', '_exportSVGWithFeatures', '_exportStaticSVG', '_exportToStore', '_findMatchingSVGElement', '_finishExportChip', '_forgetEviction', '_generateAttachedCSS', '_generateCSSKeyframes', '_generateMirrorCSS', '_generateOrbitCSS', '_generatePointsAtCSS', '_generateRelationCSS', '_generateSimpleAnimationCSS', '_generateWidgetEmbedCode', '_getWidgetItemType', '_hasComplexRelations', '_injectMobileStyles', '_isCircle', '_lastExportBlob', '_lastExportFormat', '_lastExportId', '_lastExportStartedAt', '_loadPDFLibraries', '_lottieExportSettings', '_lottieImportData', '_mapEasingToCSS', '_mermaidDirection', '_mermaidExportText', '_opfsExportHandle', '_opfsExportsDir', '_persistEvicted', '_pngGround', '_programAudioDuration', '_quickExportPDF', '_quickExportPNG', '_quickExportSVG', '_quickExportVideo', '_rasterizeWidgetBackground', '_recordEviction', '_releaseOpfsExport', '_removeExportChip', '_renderEstimate', '_requestExportFileHandle', '_resolveWidgetExpressions', '_selectBleed', '_selectDuration', '_selectFps', '_selectImageFormat', '_selectPngDpi', '_selectQuality', '_serializeColor', '_serializeWidgetInteractions', '_serializeWidgetItem', '_serializeWidgetItems', '_serializeWidgetRelations', '_serializeWidgetSkeletons', '_setExactSize', '_setImageMaxKB', '_setupLottieImportListeners', '_setupSVGCanvas', '_showExportBlocked', '_showExportFailed', '_showExportSuccess', '_showExportWarnings', '_showMermaidExportResult', '_showWidgetExportResult', '_streamOrigin', '_svgFidelityWarnings', '_textLayerItems', '_timeSampledPoints', '_toDataURLWithColorSpace', '_updateEstimate', '_updateExportChip', '_wasEvicted', '_widgetInkRingsFor', '_widgetRingsFor', '_wireCustomDuration', 'addTextLayer', 'analyzeComplexity', 'app', 'calculatePNGDimensions', 'containerName', 'copyMermaidExport', 'detectStaticScene', 'detectUpscaledSources', 'downloadMermaidExport', 'embedTextFonts', 'executeLottieImport', 'executeMermaidImport', 'exportAnimatedSVG', 'exportAudio', 'exportBookletPDF', 'exportFidelity', 'exportHighResPNG', 'exportImage', 'exportPDF', 'exportPNG', 'exportPrintPDF', 'exportProgramAudio', 'exportSVG', 'exportSVGWithCSS', 'exportToStore', 'exportUSDA', 'exportUSDZ', 'exportWidget', 'exportWidgetHTML', 'exportWithFormat', 'getCanvasLimits', 'getExportRecommendation', 'getFormatDescription', 'getFormatName', 'getPlatformExportSettings', 'isIOS', 'isPDFExportAvailable', 'isSafari', 'lastPdfReport', 'listExports', 'preflightExport', 'quickExport', 'raiseGeneratorRenderScale', 'readExport', 'releaseExport', 'sceneHasAudio', 'sceneHasWorld3D', 'showExportDialog', 'showFormatOptions', 'showImportOptions', 'showLottieExportOptions', 'showLottieImportDialog', 'showMermaidImportDialog', 'showPDFExportOptions', 'showPNGExportOptions', 'showVideoExportOptions', 'startCloudRender', 'startLottieExport', 'startPDFExport', 'startPNGExport', 'startVideoExport', 'supportsProgramAudio', 'supportsTimeRange', 'updateMermaidDirection', 'validateCanvasForExport', 'videoCapabilities', 'videoExporter']),
1603
1618
  filterSystem: Object.freeze(['_applyColorTint', '_applyDither', '_applyEdgeDetect', '_applyFilterByName', '_applyFilterOverlay', '_applyHalftoneCMYK', '_applyHalftoneDots', '_applyHsl', '_applyKernel', '_applySharedCpuFilter', '_boxBlur', '_canvasEl', '_canvasSize', '_clearFilterOverlay', '_filterOverlay', '_findFilter', '_getGpuPipeline', '_getSceneTime', '_getView', '_gpuRendering', '_halftoneCell', '_isExporting', '_keepPresenting', '_liveLast', '_liveRaf', '_noteWarning', '_parseColor', '_postFX', '_postFXFailed', '_presenter', '_registerBuiltInFilters', '_registerShaderParityFilters', '_renderCPU', '_renderGPU', '_scheduleUpdate', '_sharedFilterDef', '_sharedRegistry', '_toolLayer', '_updateScheduled', '_warn', 'addFilter', 'applyChainToImageData', 'applyPreset', 'clearFilters', 'deserialize', 'destroy', 'exportForSave', 'filterCanvas', 'filterCtx', 'filterRegistry', 'filterStack', 'get', 'getAvailableFilters', 'getFilters', 'getFiltersByCategory', 'getLayerFilters', 'getPresets', 'grainFps', 'grainTime', 'importFromSave', 'layerFilters', 'registerFilter', 'removeFilter', 'render', 'reorderFilter', 'serialize', 'toggleFilter', 'updateFilter']),
1604
1619
  fontStudio: Object.freeze(['__fontGenClient', '_expandSinglePath', '_fontGenClient', '_glyphFromCommands', '_isNearlyClosed', '_reapplySpacing', '_scaledGlyphWidth', '_serializeGlyphsForWorker', '_snapshotPath', 'app', 'buildCanvasPathFromCommands', 'calculateAdvanceWidth', 'canvasMetrics', 'characterSets', 'cleanupPath', 'clear', 'commandsToPaperPath', 'correctDirection', 'createGlyph', 'createGlyphWithDisplay', 'createSpaceGlyph', 'currentChar', 'deserializePaperPath', 'downloadFont', 'dumpGlyphPipeline', 'expandStroke', 'exportAsOTF', 'exportAsOTFAsync', 'exportData', 'flipY', 'fontName', 'generateFont', 'getCompletionStatus', 'getFontInfo', 'getFontReadableStrokeWidth', 'getGlyphName', 'getRequiredCharacters', 'glyphs', 'importData', 'importOpenTypeFont', 'isActive', 'loadIntoDocument', 'mergeGlyphs', 'metrics', 'normalizeGlyphCommands', 'normalizePath', 'pathToGlyphCommands', 'removeGlyph', 'removeOverlap', 'scaleX', 'serializePaperPath', 'setFontName', 'setMetrics', 'setSpacing', 'smoothPath', 'updateGlyph']),
1605
1620
  generatorRegistry: Object.freeze(['_cachedCanvasCenter', '_capabilities', '_cleanupInteractiveListeners', '_clearGeneratorCallbacks', '_drainGeneratorState', '_elementSeq', '_generatorCallbackIds', '_generatorNeedsReExecution', '_mergeWithDefaults', '_normalizeRegion', '_patternSnapshot', '_pools', '_raiseNonGeneratorItems', '_refitTimer', '_regionClipPath', '_regionKey', '_regionShapeItem', '_registerA3Generators', '_registerBuiltinGenerators', '_registerPuzzleGenerators', '_removeGeneratorRegionGroup', '_removePatternClipMask', '_shouldClipToCanvas', 'acceleration', 'activeGenerator', 'align', 'animationCallback', 'app', 'arrive', 'attachMotion', 'borders', 'clear', 'cohesion', 'color', 'count', 'createPool', 'createVisual', 'currentParams', 'describeMotions', 'execute', 'executeAsync', 'flock', 'generatedElements', 'generators', 'get', 'getAll', 'getByCategory', 'getElement', 'getElementsByRole', 'getPresets', 'group', 'head', 'index', 'maxForce', 'maxSpeed', 'parallaxSpeed', 'position', 'propertyBasedSpeed', 'rebuildFromState', 'register', 'registerElement', 'run', 'seek', 'separate', 'setAnimationCallback', 'setCapabilities', 'stop', 'tail', 'tailPositions', 'unregister', 'update', 'updateElement', 'updateParam', 'updateVisual', 'velocity']),