@pinepaper.studio/mcp-server 1.6.19 → 1.6.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.de.md +1 -1
- package/README.es.md +1 -1
- package/README.fr.md +1 -1
- package/README.hi.md +1 -1
- package/README.ja.md +1 -1
- package/README.ko.md +1 -1
- package/README.md +161 -5
- package/README.pt-BR.md +1 -1
- package/README.zh-CN.md +1 -1
- package/dist/build-info.json +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -4
- package/dist/index.js.map +1 -1
- package/dist/ontology/upstream-vocabulary.d.ts +2 -2
- package/dist/ontology/upstream-vocabulary.js +3 -3
- package/dist/ontology/upstream-vocabulary.js.map +1 -1
- package/dist/ontology/vocabulary.d.ts.map +1 -1
- package/dist/ontology/vocabulary.js +9 -1
- package/dist/ontology/vocabulary.js.map +1 -1
- package/dist/tools/choreograph.d.ts +64 -0
- package/dist/tools/choreograph.d.ts.map +1 -0
- package/dist/tools/choreograph.js +346 -0
- package/dist/tools/choreograph.js.map +1 -0
- package/dist/tools/compact-descriptions.js +1 -1
- package/dist/tools/craft-tools.d.ts +55 -0
- package/dist/tools/craft-tools.d.ts.map +1 -0
- package/dist/tools/craft-tools.js +139 -0
- package/dist/tools/craft-tools.js.map +1 -0
- package/dist/tools/definitions.d.ts +10 -1
- package/dist/tools/definitions.d.ts.map +1 -1
- package/dist/tools/definitions.js +401 -32
- package/dist/tools/definitions.js.map +1 -1
- package/dist/tools/effect-check.d.ts +26 -0
- package/dist/tools/effect-check.d.ts.map +1 -0
- package/dist/tools/effect-check.js +129 -0
- package/dist/tools/effect-check.js.map +1 -0
- package/dist/tools/effect-class.d.ts +31 -0
- package/dist/tools/effect-class.d.ts.map +1 -0
- package/dist/tools/effect-class.js +176 -0
- package/dist/tools/effect-class.js.map +1 -0
- package/dist/tools/engine-lists.d.ts +6 -6
- package/dist/tools/engine-lists.d.ts.map +1 -1
- package/dist/tools/engine-lists.js +11 -9
- package/dist/tools/engine-lists.js.map +1 -1
- package/dist/tools/engine-methods.d.ts.map +1 -1
- package/dist/tools/engine-methods.js +12 -0
- package/dist/tools/engine-methods.js.map +1 -1
- package/dist/tools/engine-surface.d.ts +1 -1
- package/dist/tools/engine-surface.d.ts.map +1 -1
- package/dist/tools/engine-surface.js +221 -10
- package/dist/tools/engine-surface.js.map +1 -1
- package/dist/tools/handlers/export.d.ts.map +1 -1
- package/dist/tools/handlers/export.js +8 -1
- package/dist/tools/handlers/export.js.map +1 -1
- package/dist/tools/handlers/generate.d.ts +28 -28
- package/dist/tools/handlers.d.ts +23 -0
- package/dist/tools/handlers.d.ts.map +1 -1
- package/dist/tools/handlers.js +301 -6
- package/dist/tools/handlers.js.map +1 -1
- package/dist/tools/index.d.ts +2 -2
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +2 -2
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/minimal-descriptions.d.ts.map +1 -1
- package/dist/tools/minimal-descriptions.js +16 -3
- package/dist/tools/minimal-descriptions.js.map +1 -1
- package/dist/tools/shape-params.d.ts +2 -2
- package/dist/tools/shape-params.d.ts.map +1 -1
- package/dist/tools/shape-params.js +25 -2
- package/dist/tools/shape-params.js.map +1 -1
- package/dist/tools/stick-vocabulary.d.ts +1 -1
- package/dist/tools/stick-vocabulary.js +1 -1
- package/dist/tools/toolkits.d.ts.map +1 -1
- package/dist/tools/toolkits.js +15 -0
- package/dist/tools/toolkits.js.map +1 -1
- package/dist/types/code-generator.d.ts +44 -1
- package/dist/types/code-generator.d.ts.map +1 -1
- package/dist/types/code-generator.js +1140 -128
- package/dist/types/code-generator.js.map +1 -1
- package/dist/types/schemas.d.ts +3091 -584
- package/dist/types/schemas.d.ts.map +1 -1
- package/dist/types/schemas.js +308 -6
- package/dist/types/schemas.js.map +1 -1
- package/dist/vendor/design/design-style.d.ts +2 -2
- package/dist/vendor/design/design-style.d.ts.map +1 -1
- package/dist/vendor/design/design-style.js +7 -2
- package/dist/vendor/design/design-style.js.map +1 -1
- package/dist/vendor/design/subdivision-tool-schema.d.ts +16 -0
- package/dist/vendor/design/subdivision-tool-schema.d.ts.map +1 -0
- package/dist/vendor/design/subdivision-tool-schema.js +104 -0
- package/dist/vendor/design/subdivision-tool-schema.js.map +1 -0
- package/dist/vendor/design/textile-tool-schema.d.ts +14 -0
- package/dist/vendor/design/textile-tool-schema.d.ts.map +1 -0
- package/dist/vendor/design/textile-tool-schema.js +195 -0
- package/dist/vendor/design/textile-tool-schema.js.map +1 -0
- package/dist/vendor/design/ui-kit-runtime.d.ts +49 -0
- package/dist/vendor/design/ui-kit-runtime.d.ts.map +1 -0
- package/dist/vendor/design/ui-kit-runtime.js +761 -0
- package/dist/vendor/design/ui-kit-runtime.js.map +1 -0
- package/dist/vendor/design/ui-kit-tool-schema.d.ts +280 -0
- package/dist/vendor/design/ui-kit-tool-schema.d.ts.map +1 -0
- package/dist/vendor/design/ui-kit-tool-schema.js +209 -0
- package/dist/vendor/design/ui-kit-tool-schema.js.map +1 -0
- package/manifest.json +53 -1
- package/package.json +5 -4
- package/dist/assets/repositories/openclipart.d.ts +0 -41
- package/dist/assets/repositories/openclipart.d.ts.map +0 -1
- package/dist/assets/repositories/openclipart.js +0 -139
- package/dist/assets/repositories/openclipart.js.map +0 -1
- package/dist/assets/repositories/svgrepo.d.ts +0 -61
- package/dist/assets/repositories/svgrepo.d.ts.map +0 -1
- package/dist/assets/repositories/svgrepo.js +0 -276
- package/dist/assets/repositories/svgrepo.js.map +0 -1
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* NO SILENT SUCCESS, the runtime half. A call classed 'mutates'
|
|
3
|
+
* (effect-class.ts) is fingerprinted before and after; a success that changed
|
|
4
|
+
* nothing measurable is FLAGGED in the result text the model reads, and a
|
|
5
|
+
* result that names an item not on the canvas FAILS.
|
|
6
|
+
*
|
|
7
|
+
* Flag, not fail: an idempotent call (a background set to the colour it
|
|
8
|
+
* already is) rightly changes nothing, and refusing it would be the mirror of
|
|
9
|
+
* the bug this hunts. A named item that does not exist is no such case — it
|
|
10
|
+
* is a contradiction (add_marker's invented 'marker_added').
|
|
11
|
+
*
|
|
12
|
+
* The fingerprint is the AUTHORED scene — items' data, un-animated style and
|
|
13
|
+
* placement, relations, background, canvas, map colours, placed sounds — kept
|
|
14
|
+
* IN THE PAGE between the two probes; only the verdict crosses the wire. It
|
|
15
|
+
* was the engine's full snapshot until the first live sweep: that carries the
|
|
16
|
+
* playhead and live transforms, so during playback every no-op looked changed.
|
|
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 // 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})();";
|
|
19
|
+
/** After-probe: compares against the before fingerprint; checks the named ids exist. */
|
|
20
|
+
export declare function effectAfterJs(ids: string[]): string;
|
|
21
|
+
/** The item ids a result names as made or touched (itemId, itemIds, ids). */
|
|
22
|
+
export declare function namedItemIds(result: unknown): string[];
|
|
23
|
+
/** Calls whose returned id is legitimately gone afterwards. */
|
|
24
|
+
export declare function idMayBeGone(tool: string, action: string | undefined): boolean;
|
|
25
|
+
export declare const NO_CHANGE_NOTE: (checked: string[]) => string;
|
|
26
|
+
//# sourceMappingURL=effect-check.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"effect-check.d.ts","sourceRoot":"","sources":["../../src/tools/effect-check.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAoEH,eAAO,MAAM,gBAAgB,qqJAIvB,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"}
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* NO SILENT SUCCESS, the runtime half. A call classed 'mutates'
|
|
3
|
+
* (effect-class.ts) is fingerprinted before and after; a success that changed
|
|
4
|
+
* nothing measurable is FLAGGED in the result text the model reads, and a
|
|
5
|
+
* result that names an item not on the canvas FAILS.
|
|
6
|
+
*
|
|
7
|
+
* Flag, not fail: an idempotent call (a background set to the colour it
|
|
8
|
+
* already is) rightly changes nothing, and refusing it would be the mirror of
|
|
9
|
+
* the bug this hunts. A named item that does not exist is no such case — it
|
|
10
|
+
* is a contradiction (add_marker's invented 'marker_added').
|
|
11
|
+
*
|
|
12
|
+
* The fingerprint is the AUTHORED scene — items' data, un-animated style and
|
|
13
|
+
* placement, relations, background, canvas, map colours, placed sounds — kept
|
|
14
|
+
* IN THE PAGE between the two probes; only the verdict crosses the wire. It
|
|
15
|
+
* was the engine's full snapshot until the first live sweep: that carries the
|
|
16
|
+
* playhead and live transforms, so during playback every no-op looked changed.
|
|
17
|
+
*/
|
|
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
|
+
// SCENE-LEVEL STATE OUTSIDE ITEMS (sweep v2: add_filter and camera_animate
|
|
59
|
+
// were real changes read as none). The camera's track is a relation on the
|
|
60
|
+
// pseudo-source 'camera', which no registry item carries.
|
|
61
|
+
try { if (app.filterSystem && app.filterSystem.exportForSave) o.filters = S(app.filterSystem.exportForSave()); } catch (e) {}
|
|
62
|
+
try {
|
|
63
|
+
// Camera keyframes live in relationRegistry._cameraAnimation.params (a
|
|
64
|
+
// virtual item, no registry entry), read through getCameraAnimationParams.
|
|
65
|
+
// getRelations('camera') looks in the associations and is always empty
|
|
66
|
+
// for them (sweep v3: camera_animate still read as no change).
|
|
67
|
+
const rr = app.relationRegistry;
|
|
68
|
+
const cam = rr && rr.getCameraAnimationParams ? rr.getCameraAnimationParams() : null;
|
|
69
|
+
const tilt = rr && rr.cameraTilt;
|
|
70
|
+
o.camera = S([cam, tilt && tilt.serialize ? tilt.serialize() : null]);
|
|
71
|
+
} catch (e) {}
|
|
72
|
+
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) {}
|
|
73
|
+
try { const cs = app.getCanvasSize && app.getCanvasSize(); if (cs) o.canvas = cs.width + 'x' + cs.height + (cs.unbounded ? ':unbounded' : ''); } catch (e) {}
|
|
74
|
+
try {
|
|
75
|
+
// The view moves on its own while a camera animation plays.
|
|
76
|
+
const v = app.view || (typeof paper !== 'undefined' && paper.view);
|
|
77
|
+
if (!playing && v && v.center) o.view = Math.round(v.zoom * 1000) + '@' + Math.round(v.center.x) + ',' + Math.round(v.center.y);
|
|
78
|
+
} catch (e) {}
|
|
79
|
+
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) {}
|
|
80
|
+
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) {}
|
|
81
|
+
return o;
|
|
82
|
+
}`;
|
|
83
|
+
export const EFFECT_BEFORE_JS = `(function () {
|
|
84
|
+
${FINGERPRINT_JS}
|
|
85
|
+
window.__ppEffectBefore = __ppFingerprint();
|
|
86
|
+
return { ok: true };
|
|
87
|
+
})();`;
|
|
88
|
+
/** After-probe: compares against the before fingerprint; checks the named ids exist. */
|
|
89
|
+
export function effectAfterJs(ids) {
|
|
90
|
+
return `(function () {
|
|
91
|
+
${FINGERPRINT_JS}
|
|
92
|
+
const a = window.__ppEffectBefore || null;
|
|
93
|
+
const b = __ppFingerprint();
|
|
94
|
+
window.__ppEffectBefore = null;
|
|
95
|
+
const checked = Object.keys(b);
|
|
96
|
+
const changed = a ? checked.filter(function (k) { return a[k] !== b[k]; }) : null;
|
|
97
|
+
const ids = ${JSON.stringify(ids)};
|
|
98
|
+
const missing = ids.filter(function (id) {
|
|
99
|
+
try {
|
|
100
|
+
if (app.getItemById && app.getItemById(id)) return false;
|
|
101
|
+
if (app.itemRegistry && app.itemRegistry.get && app.itemRegistry.get(id)) return false;
|
|
102
|
+
} catch (e) {}
|
|
103
|
+
return true;
|
|
104
|
+
});
|
|
105
|
+
return { ok: !!a, checked: checked, changed: changed, missing: missing };
|
|
106
|
+
})();`;
|
|
107
|
+
}
|
|
108
|
+
/** The item ids a result names as made or touched (itemId, itemIds, ids). */
|
|
109
|
+
export function namedItemIds(result) {
|
|
110
|
+
if (!result || typeof result !== 'object')
|
|
111
|
+
return [];
|
|
112
|
+
const r = result;
|
|
113
|
+
const out = [];
|
|
114
|
+
const add = (v) => { if (typeof v === 'string' && /^item_\d+$/.test(v))
|
|
115
|
+
out.push(v); };
|
|
116
|
+
add(r.itemId);
|
|
117
|
+
for (const k of ['itemIds', 'ids'])
|
|
118
|
+
if (Array.isArray(r[k]))
|
|
119
|
+
r[k].forEach(add);
|
|
120
|
+
return [...new Set(out)].slice(0, 50);
|
|
121
|
+
}
|
|
122
|
+
/** Calls whose returned id is legitimately gone afterwards. */
|
|
123
|
+
export function idMayBeGone(tool, action) {
|
|
124
|
+
return /delete|remove|clear|ungroup|break_apart|unhighlight/.test(`${tool}:${action ?? ''}`);
|
|
125
|
+
}
|
|
126
|
+
export const NO_CHANGE_NOTE = (checked) => `⚠️ NO CHANGE: this call reported success, but nothing it could have changed did (checked: ${checked.join(', ')}). `
|
|
127
|
+
+ 'If you expected a change, it did not happen — check the ids and arguments before building on it. '
|
|
128
|
+
+ '(Re-applying a value an item already has is the one case where this is expected.)';
|
|
129
|
+
//# sourceMappingURL=effect-check.js.map
|
|
@@ -0,0 +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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+DrB,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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* NO SILENT SUCCESS, the classification half (tracker: handler-layer sweep).
|
|
3
|
+
*
|
|
4
|
+
* Every tool, and every action of an action-dispatched tool, is one of:
|
|
5
|
+
* - 'mutates' it exists to change the scene. A success that changed
|
|
6
|
+
* nothing measurable is flagged (the runtime half).
|
|
7
|
+
* - 'read-only' it reads; it must not change the scene.
|
|
8
|
+
* - 'side-effect' its effect is outside the scene: a file, playback, a sound
|
|
9
|
+
* heard now, UI state (selection, rulers, modes), the server.
|
|
10
|
+
* - 'unchecked' it changes state the scene fingerprint cannot see (the 3D
|
|
11
|
+
* world, physics bodies, the font studio, rig internals,
|
|
12
|
+
* registries of definitions), or it only sometimes changes the
|
|
13
|
+
* scene. Named here as a blind spot rather than guessed at,
|
|
14
|
+
* because a false "nothing changed" teaches a model to ignore
|
|
15
|
+
* the flag.
|
|
16
|
+
*
|
|
17
|
+
* The class behind D59, D37, D62 and the audioTracks drop: a handler that
|
|
18
|
+
* reported success for work the engine did not do.
|
|
19
|
+
*/
|
|
20
|
+
export type EffectClass = 'mutates' | 'read-only' | 'side-effect' | 'unchecked';
|
|
21
|
+
/** Tools with no action enum and no readOnlyHint: each is named, so a new one fails the test until it is. */
|
|
22
|
+
export declare const TOOL_CLASS: Readonly<Record<string, EffectClass>>;
|
|
23
|
+
/** Whole action-dispatched tools whose state the fingerprint cannot see. */
|
|
24
|
+
export declare const UNCHECKED_TOOLS: ReadonlySet<string>;
|
|
25
|
+
/** Whole action-dispatched tools that only touch UI or session state. */
|
|
26
|
+
export declare const SIDE_EFFECT_TOOLS: ReadonlySet<string>;
|
|
27
|
+
/** Per-action exceptions to the prefix rules, `tool:action`. */
|
|
28
|
+
export declare const ACTION_CLASS: Readonly<Record<string, EffectClass>>;
|
|
29
|
+
/** The class of one call. `readOnlyHint` comes from the tool's annotations. */
|
|
30
|
+
export declare function effectClass(tool: string, action: string | undefined, readOnlyHint: boolean | undefined): EffectClass;
|
|
31
|
+
//# sourceMappingURL=effect-class.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"effect-class.d.ts","sourceRoot":"","sources":["../../src/tools/effect-class.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,WAAW,GAAG,aAAa,GAAG,WAAW,CAAC;AAEhF,6GAA6G;AAC7G,eAAO,MAAM,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CA6E3D,CAAC;AAEH,4EAA4E;AAC5E,eAAO,MAAM,eAAe,EAAE,WAAW,CAAC,MAAM,CAK9C,CAAC;AAEH,yEAAyE;AACzE,eAAO,MAAM,iBAAiB,EAAE,WAAW,CAAC,MAAM,CAGhD,CAAC;AAEH,gEAAgE;AAChE,eAAO,MAAM,YAAY,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAsC7D,CAAC;AAKH,+EAA+E;AAC/E,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,SAAS,EAAE,YAAY,EAAE,OAAO,GAAG,SAAS,GAAG,WAAW,CAapH"}
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* NO SILENT SUCCESS, the classification half (tracker: handler-layer sweep).
|
|
3
|
+
*
|
|
4
|
+
* Every tool, and every action of an action-dispatched tool, is one of:
|
|
5
|
+
* - 'mutates' it exists to change the scene. A success that changed
|
|
6
|
+
* nothing measurable is flagged (the runtime half).
|
|
7
|
+
* - 'read-only' it reads; it must not change the scene.
|
|
8
|
+
* - 'side-effect' its effect is outside the scene: a file, playback, a sound
|
|
9
|
+
* heard now, UI state (selection, rulers, modes), the server.
|
|
10
|
+
* - 'unchecked' it changes state the scene fingerprint cannot see (the 3D
|
|
11
|
+
* world, physics bodies, the font studio, rig internals,
|
|
12
|
+
* registries of definitions), or it only sometimes changes the
|
|
13
|
+
* scene. Named here as a blind spot rather than guessed at,
|
|
14
|
+
* because a false "nothing changed" teaches a model to ignore
|
|
15
|
+
* the flag.
|
|
16
|
+
*
|
|
17
|
+
* The class behind D59, D37, D62 and the audioTracks drop: a handler that
|
|
18
|
+
* reported success for work the engine did not do.
|
|
19
|
+
*/
|
|
20
|
+
/** Tools with no action enum and no readOnlyHint: each is named, so a new one fails the test until it is. */
|
|
21
|
+
export const TOOL_CLASS = Object.freeze({
|
|
22
|
+
pinepaper_set_background_color: 'mutates',
|
|
23
|
+
pinepaper_set_canvas_size: 'mutates',
|
|
24
|
+
pinepaper_clear_canvas: 'mutates',
|
|
25
|
+
pinepaper_refresh_page: 'side-effect',
|
|
26
|
+
pinepaper_create_item: 'mutates',
|
|
27
|
+
pinepaper_modify_item: 'mutates',
|
|
28
|
+
pinepaper_delete_item: 'mutates',
|
|
29
|
+
pinepaper_create_glossy_sphere: 'mutates',
|
|
30
|
+
pinepaper_create_diagonal_stripes: 'mutates',
|
|
31
|
+
pinepaper_import_motion_capture: 'unchecked', // rig internals
|
|
32
|
+
pinepaper_import_svg: 'mutates',
|
|
33
|
+
pinepaper_import_mermaid: 'mutates',
|
|
34
|
+
pinepaper_import_image: 'mutates',
|
|
35
|
+
pinepaper_import_asset: 'mutates',
|
|
36
|
+
pinepaper_batch_create: 'mutates',
|
|
37
|
+
pinepaper_batch_modify: 'mutates',
|
|
38
|
+
pinepaper_create_grid: 'mutates',
|
|
39
|
+
pinepaper_geometry: 'unchecked', // creates an item only when asked
|
|
40
|
+
pinepaper_equation_path: 'mutates',
|
|
41
|
+
pinepaper_beat_cuts: 'unchecked', // splits a clip only when asked
|
|
42
|
+
pinepaper_generate: 'unchecked', // cloud job; places when it finishes
|
|
43
|
+
pinepaper_generate_status: 'unchecked',
|
|
44
|
+
pinepaper_render_batch: 'side-effect', // exports per row
|
|
45
|
+
pinepaper_detect_objects: 'unchecked', // nodes only with asNodes
|
|
46
|
+
pinepaper_extract_object: 'mutates',
|
|
47
|
+
pinepaper_capture_frames: 'side-effect',
|
|
48
|
+
pinepaper_crop_image: 'mutates',
|
|
49
|
+
pinepaper_chroma_key: 'mutates',
|
|
50
|
+
pinepaper_shatter_image: 'mutates',
|
|
51
|
+
pinepaper_import_layered_character: 'mutates',
|
|
52
|
+
pinepaper_character: 'mutates',
|
|
53
|
+
pinepaper_instantiate_ontology: 'mutates',
|
|
54
|
+
pinepaper_add_relation: 'mutates',
|
|
55
|
+
pinepaper_remove_relation: 'mutates',
|
|
56
|
+
pinepaper_register_custom_relation: 'unchecked', // a definition, not the scene
|
|
57
|
+
pinepaper_execute_custom_code: 'unchecked', // may only read; has its own rollback
|
|
58
|
+
pinepaper_animate: 'mutates',
|
|
59
|
+
pinepaper_keyframe_animate: 'mutates',
|
|
60
|
+
pinepaper_apply_animated_mask: 'mutates',
|
|
61
|
+
pinepaper_apply_custom_mask: 'mutates',
|
|
62
|
+
pinepaper_remove_mask: 'mutates',
|
|
63
|
+
pinepaper_camera_animate: 'mutates',
|
|
64
|
+
pinepaper_create_scene: 'mutates',
|
|
65
|
+
pinepaper_apply_template: 'mutates',
|
|
66
|
+
pinepaper_create_diagram_shape: 'mutates',
|
|
67
|
+
pinepaper_connect: 'mutates',
|
|
68
|
+
pinepaper_connect_ports: 'mutates',
|
|
69
|
+
pinepaper_add_ports: 'mutates',
|
|
70
|
+
pinepaper_auto_layout: 'mutates',
|
|
71
|
+
pinepaper_update_connector: 'mutates',
|
|
72
|
+
pinepaper_remove_connector: 'mutates',
|
|
73
|
+
pinepaper_create_letter_collage: 'mutates',
|
|
74
|
+
pinepaper_animate_letter_collage: 'mutates',
|
|
75
|
+
pinepaper_execute_generator: 'mutates',
|
|
76
|
+
pinepaper_apply_effect: 'mutates',
|
|
77
|
+
pinepaper_add_filter: 'mutates',
|
|
78
|
+
pinepaper_styled_scene: 'mutates',
|
|
79
|
+
pinepaper_choreograph: 'mutates',
|
|
80
|
+
pinepaper_morph_sequence: 'mutates',
|
|
81
|
+
pinepaper_place_on_surface: 'mutates',
|
|
82
|
+
pinepaper_draw_weave: 'mutates',
|
|
83
|
+
pinepaper_draw_knots: 'mutates',
|
|
84
|
+
pinepaper_draw_sashiko: 'mutates',
|
|
85
|
+
pinepaper_draw_subdivision: 'mutates',
|
|
86
|
+
pinepaper_ui_kit: 'mutates',
|
|
87
|
+
pinepaper_hand_drawn: 'mutates',
|
|
88
|
+
pinepaper_import_scene: 'mutates',
|
|
89
|
+
pinepaper_browser_connect: 'side-effect',
|
|
90
|
+
pinepaper_browser_disconnect: 'side-effect',
|
|
91
|
+
pinepaper_agent_start_job: 'side-effect', // clearing an empty canvas changes nothing, rightly
|
|
92
|
+
pinepaper_agent_end_job: 'side-effect',
|
|
93
|
+
pinepaper_agent_reset: 'side-effect',
|
|
94
|
+
pinepaper_agent_batch_execute: 'mutates',
|
|
95
|
+
pinepaper_p5_draw: 'mutates',
|
|
96
|
+
pinepaper_register_item: 'mutates',
|
|
97
|
+
pinepaper_set_toolkit: 'side-effect',
|
|
98
|
+
});
|
|
99
|
+
/** Whole action-dispatched tools whose state the fingerprint cannot see. */
|
|
100
|
+
export const UNCHECKED_TOOLS = new Set([
|
|
101
|
+
'pinepaper_world3d', 'pinepaper_rigging', 'pinepaper_globe', 'pinepaper_physics',
|
|
102
|
+
'pinepaper_font', 'pinepaper_interaction', 'pinepaper_sprite_sheet', 'pinepaper_game',
|
|
103
|
+
'pinepaper_relight', 'pinepaper_shader_graph', 'pinepaper_component', 'pinepaper_comment',
|
|
104
|
+
'pinepaper_template_params', 'pinepaper_design_system', 'pinepaper_motion', 'pinepaper_magic',
|
|
105
|
+
]);
|
|
106
|
+
/** Whole action-dispatched tools that only touch UI or session state. */
|
|
107
|
+
export const SIDE_EFFECT_TOOLS = new Set([
|
|
108
|
+
'pinepaper_selection', 'pinepaper_measurement', 'pinepaper_diagram_mode', 'pinepaper_play_timeline',
|
|
109
|
+
'pinepaper_scene_playback', 'pinepaper_export_store',
|
|
110
|
+
]);
|
|
111
|
+
/** Per-action exceptions to the prefix rules, `tool:action`. */
|
|
112
|
+
export const ACTION_CLASS = Object.freeze({
|
|
113
|
+
'pinepaper_provenance:record': 'unchecked',
|
|
114
|
+
'pinepaper_event:pulse': 'side-effect',
|
|
115
|
+
'pinepaper_lasso:activate': 'side-effect',
|
|
116
|
+
'pinepaper_sound:define_instrument': 'unchecked',
|
|
117
|
+
'pinepaper_sound:define_percussion': 'unchecked',
|
|
118
|
+
'pinepaper_sound:define_sfx': 'unchecked',
|
|
119
|
+
'pinepaper_story:distill': 'read-only',
|
|
120
|
+
'pinepaper_story:plan_book': 'read-only',
|
|
121
|
+
'pinepaper_brand_kit:plan': 'read-only',
|
|
122
|
+
'pinepaper_brand_kit:from_url': 'read-only',
|
|
123
|
+
'pinepaper_brand_kit:clear': 'side-effect', // page state; the canvas keeps its colours
|
|
124
|
+
'pinepaper_audio_beats:analyze': 'read-only',
|
|
125
|
+
'pinepaper_compose:apply': 'mutates',
|
|
126
|
+
'pinepaper_camera:state': 'read-only',
|
|
127
|
+
'pinepaper_camera:fit_view': 'side-effect',
|
|
128
|
+
'pinepaper_camera:stop': 'side-effect',
|
|
129
|
+
'pinepaper_media:upload_video': 'mutates',
|
|
130
|
+
'pinepaper_manage_scenes:save': 'side-effect',
|
|
131
|
+
'pinepaper_manage_scenes:rename': 'side-effect',
|
|
132
|
+
'pinepaper_manage_scenes:duplicate': 'side-effect',
|
|
133
|
+
'pinepaper_manage_scenes:reorder': 'side-effect',
|
|
134
|
+
'pinepaper_manage_scenes:delete': 'side-effect',
|
|
135
|
+
'pinepaper_manage_scenes:import': 'side-effect',
|
|
136
|
+
'pinepaper_history:get_state': 'read-only',
|
|
137
|
+
'pinepaper_artboard:list_presets': 'read-only',
|
|
138
|
+
'pinepaper_image_filter:analyze_palette': 'read-only',
|
|
139
|
+
'pinepaper_map_regions:get_at_point': 'read-only',
|
|
140
|
+
'pinepaper_map_regions:get_highlighted': 'read-only',
|
|
141
|
+
'pinepaper_map_regions:select': 'side-effect',
|
|
142
|
+
'pinepaper_map_regions:deselect': 'side-effect',
|
|
143
|
+
'pinepaper_construction_sequence:clear': 'mutates',
|
|
144
|
+
'pinepaper_original_character:bases': 'read-only',
|
|
145
|
+
'pinepaper_look:grid': 'side-effect', // renders a contact sheet; the scene is left as it was
|
|
146
|
+
'pinepaper_original_character:random': 'read-only', // computes a variant; draws nothing
|
|
147
|
+
'pinepaper_flip:record': 'side-effect', // snapshots the before-state only
|
|
148
|
+
'pinepaper_path:set_locked': 'unchecked', // a lock flag the fingerprint does not read
|
|
149
|
+
'pinepaper_path:unlock_all': 'unchecked',
|
|
150
|
+
});
|
|
151
|
+
const READ_ONLY_ACTION = /^(list|get|describe|query|analyze|validate|check|resolve|catalogue|status|state|info|preview|estimate|lint|coverage|find|choose|node_types|from_text|chord_frequencies|timbre_from_path|lineage|dependents|history|version|hit_test|is_empty|source_info)(_|$)/;
|
|
152
|
+
const SIDE_EFFECT_ACTION = /^(play|stop|pause|resume|seek|export|render|download|show_studio|toggle_loop|jump|set_time_scale|set_progress|bind_scroll|unbind_scroll)(_|$)/;
|
|
153
|
+
/** The class of one call. `readOnlyHint` comes from the tool's annotations. */
|
|
154
|
+
export function effectClass(tool, action, readOnlyHint) {
|
|
155
|
+
if (action !== undefined) {
|
|
156
|
+
const exact = ACTION_CLASS[`${tool}:${action}`];
|
|
157
|
+
if (exact)
|
|
158
|
+
return exact;
|
|
159
|
+
}
|
|
160
|
+
if (readOnlyHint)
|
|
161
|
+
return 'read-only';
|
|
162
|
+
if (TOOL_CLASS[tool])
|
|
163
|
+
return TOOL_CLASS[tool];
|
|
164
|
+
if (UNCHECKED_TOOLS.has(tool))
|
|
165
|
+
return 'unchecked';
|
|
166
|
+
if (SIDE_EFFECT_TOOLS.has(tool))
|
|
167
|
+
return 'side-effect';
|
|
168
|
+
if (action === undefined)
|
|
169
|
+
return 'unchecked';
|
|
170
|
+
if (READ_ONLY_ACTION.test(action))
|
|
171
|
+
return 'read-only';
|
|
172
|
+
if (SIDE_EFFECT_ACTION.test(action))
|
|
173
|
+
return 'side-effect';
|
|
174
|
+
return 'mutates';
|
|
175
|
+
}
|
|
176
|
+
//# sourceMappingURL=effect-class.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"effect-class.js","sourceRoot":"","sources":["../../src/tools/effect-class.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,16 +4,16 @@
|
|
|
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
|
|
8
|
-
* js/core/KeyframeInterpolator.js sha256:
|
|
7
|
+
* Source: FxTool origin/main 636f3864280d7b33da50761d5a8af39c818f77e0
|
|
8
|
+
* js/core/KeyframeInterpolator.js sha256: a6faadcbf0f21bdd
|
|
9
9
|
* js/world3d/worlds.js sha256: 0e0973f7587c06e1
|
|
10
|
-
* js/core/DesignMedia.js sha256:
|
|
11
|
-
* js/FilterSystem.js sha256:
|
|
10
|
+
* js/core/DesignMedia.js sha256: ab07f330e4060cb7
|
|
11
|
+
* js/FilterSystem.js sha256: 3cfb0f9e54eb50ab
|
|
12
12
|
* js/core/Provenance.js sha256: 27e4d8becfa382c8
|
|
13
13
|
* js/core/StyledScene.js sha256: ea647c014de59faf
|
|
14
14
|
*/
|
|
15
|
-
/**
|
|
16
|
-
export declare const ENGINE_EASING_NAMES: readonly ["linear", "easeIn", "easeOut", "easeInOut", "easeInCubic", "easeOutCubic", "easeInOutCubic", "bounce", "easeOutBounce", "easeInBounce", "elastic", "easeOutElastic", "easeInElastic", "easeOutBack", "easeInBack", "easeInOutBack", "spring", "springSnappy", "springPlayful", "easeInQuad", "easeOutQuad", "easeInOutQuad", "easeInSine", "easeOutSine", "easeInOutSine", "easeInQuart", "easeOutQuart", "easeInOutQuart", "easeInQuint", "easeOutQuint", "easeInOutQuint", "easeInExpo", "easeOutExpo", "easeInOutExpo", "easeInCirc", "easeOutCirc", "easeInOutCirc"];
|
|
15
|
+
/** 39 names: EASING_NAMES, the keys of the engine's easing table. Keyframes, masks, relations and the camera all resolve through it. */
|
|
16
|
+
export declare const ENGINE_EASING_NAMES: readonly ["linear", "easeIn", "easeOut", "easeInOut", "easeInCubic", "easeOutCubic", "easeInOutCubic", "bounce", "easeOutBounce", "easeInBounce", "elastic", "easeOutElastic", "easeInElastic", "easeOutBack", "easeInBack", "easeInOutBack", "spring", "springSnappy", "springPlayful", "easeInQuad", "easeOutQuad", "easeInOutQuad", "easeInSine", "easeOutSine", "easeInOutSine", "easeInQuart", "easeOutQuart", "easeInOutQuart", "easeInQuint", "easeOutQuint", "easeInOutQuint", "easeInExpo", "easeOutExpo", "easeInOutExpo", "easeInCirc", "easeOutCirc", "easeInOutCirc", "hold", "step"];
|
|
17
17
|
/** 11 paths: WORLD_SCHEMA entries of kind 'color' — the world spec's colour fields. */
|
|
18
18
|
export declare const WORLD3D_COLOR_PATHS: readonly ["env.zenith", "env.horizon", "env.fogColor", "env.sunColor", "env.ambient", "env.lowColor", "env.midColor", "env.highColor", "env.rockColor", "env.propColorA", "env.propColorB"];
|
|
19
19
|
/** 9 media: the keys of DesignMedia MEDIA. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine-lists.d.ts","sourceRoot":"","sources":["../../src/tools/engine-lists.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,wIAAwI;AACxI,eAAO,MAAM,mBAAmB,
|
|
1
|
+
{"version":3,"file":"engine-lists.d.ts","sourceRoot":"","sources":["../../src/tools/engine-lists.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,wIAAwI;AACxI,eAAO,MAAM,mBAAmB,okBAwCtB,CAAC;AAEX,uFAAuF;AACvF,eAAO,MAAM,mBAAmB,6LAYtB,CAAC;AAEX,8CAA8C;AAC9C,eAAO,MAAM,YAAY,yGAUf,CAAC;AAEX,iIAAiI;AACjI,eAAO,MAAM,kBAAkB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAQ9D,CAAC;AAEH,wDAAwD;AACxD,eAAO,MAAM,YAAY,yPAqBf,CAAC;AAEX,qFAAqF;AACrF,eAAO,MAAM,mBAAmB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAqB5G,CAAC;AAEH,8DAA8D;AAC9D,eAAO,MAAM,aAAa,gFAMhB,CAAC;AAEX,8DAA8D;AAC9D,eAAO,MAAM,mBAAmB,kEAOtB,CAAC;AAEX,gEAAgE;AAChE,eAAO,MAAM,uBAAuB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAOnE,CAAC;AAEH,8EAA8E;AAC9E,eAAO,MAAM,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAqBvD,CAAC"}
|
|
@@ -4,15 +4,15 @@
|
|
|
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
|
|
8
|
-
* js/core/KeyframeInterpolator.js sha256:
|
|
7
|
+
* Source: FxTool origin/main 636f3864280d7b33da50761d5a8af39c818f77e0
|
|
8
|
+
* js/core/KeyframeInterpolator.js sha256: a6faadcbf0f21bdd
|
|
9
9
|
* js/world3d/worlds.js sha256: 0e0973f7587c06e1
|
|
10
|
-
* js/core/DesignMedia.js sha256:
|
|
11
|
-
* js/FilterSystem.js sha256:
|
|
10
|
+
* js/core/DesignMedia.js sha256: ab07f330e4060cb7
|
|
11
|
+
* js/FilterSystem.js sha256: 3cfb0f9e54eb50ab
|
|
12
12
|
* js/core/Provenance.js sha256: 27e4d8becfa382c8
|
|
13
13
|
* js/core/StyledScene.js sha256: ea647c014de59faf
|
|
14
14
|
*/
|
|
15
|
-
/**
|
|
15
|
+
/** 39 names: EASING_NAMES, the keys of the engine's easing table. Keyframes, masks, relations and the camera all resolve through it. */
|
|
16
16
|
export const ENGINE_EASING_NAMES = [
|
|
17
17
|
'linear',
|
|
18
18
|
'easeIn',
|
|
@@ -51,6 +51,8 @@ export const ENGINE_EASING_NAMES = [
|
|
|
51
51
|
'easeInCirc',
|
|
52
52
|
'easeOutCirc',
|
|
53
53
|
'easeInOutCirc',
|
|
54
|
+
'hold',
|
|
55
|
+
'step',
|
|
54
56
|
];
|
|
55
57
|
/** 11 paths: WORLD_SCHEMA entries of kind 'color' — the world spec's colour fields. */
|
|
56
58
|
export const WORLD3D_COLOR_PATHS = [
|
|
@@ -120,8 +122,8 @@ export const FILTER_PARAM_RANGES = Object.freeze({
|
|
|
120
122
|
saturation: { value: [-100, 100] },
|
|
121
123
|
invert: { intensity: [0, 1] },
|
|
122
124
|
blur: { radius: [0, 20] },
|
|
123
|
-
noise: { intensity: [0, 100], grainSize: [1, 4], refresh: [
|
|
124
|
-
vignette: { intensity: [0, 1], radius: [0, 1] },
|
|
125
|
+
noise: { intensity: [0, 100], grainSize: [1, 4], refresh: [0, 8], seed: [0, 99999] },
|
|
126
|
+
vignette: { intensity: [0, 1], radius: [0, 1], falloff: [0.5, 4] },
|
|
125
127
|
vintage: { intensity: [0, 1] },
|
|
126
128
|
colorOverlay: { intensity: [0, 1] },
|
|
127
129
|
sharpen: { intensity: [0, 100] },
|
|
@@ -169,8 +171,8 @@ export const FILTER_DOCS = Object.freeze({
|
|
|
169
171
|
saturation: "Adjust color saturation — value -100..100, default 0",
|
|
170
172
|
invert: "Invert colors — intensity 0..1, default 1",
|
|
171
173
|
blur: "Apply gaussian blur — radius 0..20, default 5",
|
|
172
|
-
noise: "Add film grain effect — intensity 0..100, default 20; monochrome (boolean), default true; grainSize 1..4; refresh
|
|
173
|
-
vignette: "Add vignette darkening — intensity 0..1, default 0.5; radius 0..1, default 0.5",
|
|
174
|
+
noise: "Add film grain effect — intensity 0..100, default 20; monochrome (boolean), default true; grainSize 1..4; refresh 0..8; seed 0..99999, default 0; blend add|multiply, default add",
|
|
175
|
+
vignette: "Add vignette darkening — intensity 0..1, default 0.5; radius 0..1, default 0.5; color (color); falloff 0.5..4, default 2",
|
|
174
176
|
vintage: "Retro vintage look — intensity 0..1, default 1",
|
|
175
177
|
colorOverlay: "Add color tint — color (color), default #ff0000; intensity 0..1, default 0.3; blendMode multiply|overlay|screen, default overlay",
|
|
176
178
|
sharpen: "Increase image sharpness — intensity 0..100, default 50",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine-lists.js","sourceRoot":"","sources":["../../src/tools/engine-lists.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,wIAAwI;AACxI,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,WAAW;IACX,aAAa;IACb,cAAc;IACd,gBAAgB;IAChB,QAAQ;IACR,eAAe;IACf,cAAc;IACd,SAAS;IACT,gBAAgB;IAChB,eAAe;IACf,aAAa;IACb,YAAY;IACZ,eAAe;IACf,QAAQ;IACR,cAAc;IACd,eAAe;IACf,YAAY;IACZ,aAAa;IACb,eAAe;IACf,YAAY;IACZ,aAAa;IACb,eAAe;IACf,aAAa;IACb,cAAc;IACd,gBAAgB;IAChB,aAAa;IACb,cAAc;IACd,gBAAgB;IAChB,YAAY;IACZ,aAAa;IACb,eAAe;IACf,YAAY;IACZ,aAAa;IACb,eAAe;
|
|
1
|
+
{"version":3,"file":"engine-lists.js","sourceRoot":"","sources":["../../src/tools/engine-lists.ts"],"names":[],"mappings":"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"}
|
|
@@ -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,
|
|
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,EAwOpD,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,uBAAuB,EAAE,SAAS,MAAM,EAiDpD,CAAC"}
|
|
@@ -33,6 +33,7 @@ export const REQUIRED_ENGINE_METHODS = [
|
|
|
33
33
|
'applyDirectorShots',
|
|
34
34
|
'applyHatching',
|
|
35
35
|
'applyImageFilter',
|
|
36
|
+
'applyLook',
|
|
36
37
|
'applyMedium',
|
|
37
38
|
'applyPhysicsImpulse3D',
|
|
38
39
|
'applyRelationPreset',
|
|
@@ -59,9 +60,11 @@ export const REQUIRED_ENGINE_METHODS = [
|
|
|
59
60
|
'configureWorld3D',
|
|
60
61
|
'convertTextToCollage',
|
|
61
62
|
'create',
|
|
63
|
+
'createCharacter',
|
|
62
64
|
'createCursiveText',
|
|
63
65
|
'createEquationPath',
|
|
64
66
|
'createEvent',
|
|
67
|
+
'createFigure',
|
|
65
68
|
'createSceneGraph',
|
|
66
69
|
'createSound',
|
|
67
70
|
'createTilemap',
|
|
@@ -128,6 +131,7 @@ export const REQUIRED_ENGINE_METHODS = [
|
|
|
128
131
|
'listComments',
|
|
129
132
|
'listComponents',
|
|
130
133
|
'listDesignMedia',
|
|
134
|
+
'listFigures',
|
|
131
135
|
'listFlowFields',
|
|
132
136
|
'listGeneratorMotions',
|
|
133
137
|
'listHatchOptions',
|
|
@@ -161,6 +165,7 @@ export const REQUIRED_ENGINE_METHODS = [
|
|
|
161
165
|
'outlineStroke',
|
|
162
166
|
'panWorldCamera',
|
|
163
167
|
'patternFrom',
|
|
168
|
+
'percussionSpec',
|
|
164
169
|
'placeOnSurface',
|
|
165
170
|
'placeSequence',
|
|
166
171
|
'planBook',
|
|
@@ -177,6 +182,7 @@ export const REQUIRED_ENGINE_METHODS = [
|
|
|
177
182
|
'recordLineage',
|
|
178
183
|
'registerInstrument',
|
|
179
184
|
'registerPercussion',
|
|
185
|
+
'registerRenderHook',
|
|
180
186
|
'registerSfx',
|
|
181
187
|
'remakeFromReference',
|
|
182
188
|
'removePhysicsBody3D',
|
|
@@ -197,6 +203,7 @@ export const REQUIRED_ENGINE_METHODS = [
|
|
|
197
203
|
'setArtboard',
|
|
198
204
|
'setCollageTreatment',
|
|
199
205
|
'setComponentOverride',
|
|
206
|
+
'setEmitter',
|
|
200
207
|
'setFontAxes',
|
|
201
208
|
'setItemConstraints',
|
|
202
209
|
'setItemLocked',
|
|
@@ -212,6 +219,7 @@ export const REQUIRED_ENGINE_METHODS = [
|
|
|
212
219
|
'setWorldMeshClip',
|
|
213
220
|
'setWorldMeshInstances',
|
|
214
221
|
'setWorldNavTarget',
|
|
222
|
+
'sfxSpec',
|
|
215
223
|
'shaderGraph.create',
|
|
216
224
|
'shatterImage',
|
|
217
225
|
'simplifyPath',
|
|
@@ -254,6 +262,8 @@ export const OPTIONAL_ENGINE_METHODS = [
|
|
|
254
262
|
'_resolveRaster',
|
|
255
263
|
'_resolveRelationEndpoint',
|
|
256
264
|
'activeWindowOf',
|
|
265
|
+
'animate',
|
|
266
|
+
'applyHandDrawnJitter',
|
|
257
267
|
'audioLayer.setVolume',
|
|
258
268
|
'authoredRotation',
|
|
259
269
|
'awaitMediaAt',
|
|
@@ -287,9 +297,11 @@ export const OPTIONAL_ENGINE_METHODS = [
|
|
|
287
297
|
'relationRegistry.getStats',
|
|
288
298
|
'sceneAt',
|
|
289
299
|
'sceneManager.setLoop',
|
|
300
|
+
'screenSpaceItems',
|
|
290
301
|
'setBackgroundColor',
|
|
291
302
|
'setCanvasSize',
|
|
292
303
|
'setLifetime',
|
|
304
|
+
'setStepTiming',
|
|
293
305
|
'setUnitGridEnabled',
|
|
294
306
|
'textOverflowReport',
|
|
295
307
|
];
|
|
@@ -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":"AAAA;;;;;;;;GAQG;AAEH;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAsB;IACxD,cAAc;IACd,YAAY;IACZ,oBAAoB;IACpB,kBAAkB;IAClB,aAAa;IACb,eAAe;IACf,eAAe;IACf,kBAAkB;IAClB,cAAc;IACd,gBAAgB;IAChB,uBAAuB;IACvB,cAAc;IACd,eAAe;IACf,gBAAgB;IAChB,oBAAoB;IACpB,eAAe;IACf,kBAAkB;IAClB,WAAW;IACX,aAAa;IACb,uBAAuB;IACvB,qBAAqB;IACrB,kBAAkB;IAClB,gBAAgB;IAChB,yBAAyB;IACzB,iBAAiB;IACjB,gBAAgB;IAChB,qBAAqB;IACrB,iBAAiB;IACjB,iBAAiB;IACjB,sBAAsB;IACtB,WAAW;IACX,YAAY;IACZ,cAAc;IACd,cAAc;IACd,oBAAoB;IACpB,gBAAgB;IAChB,qBAAqB;IACrB,iBAAiB;IACjB,wBAAwB;IACxB,kBAAkB;IAClB,gBAAgB;IAChB,kBAAkB;IAClB,sBAAsB;IACtB,QAAQ;IACR,iBAAiB;IACjB,mBAAmB;IACnB,oBAAoB;IACpB,aAAa;IACb,cAAc;IACd,kBAAkB;IAClB,aAAa;IACb,eAAe;IACf,eAAe;IACf,WAAW;IACX,iBAAiB;IACjB,eAAe;IACf,YAAY;IACZ,iBAAiB;IACjB,yBAAyB;IACzB,eAAe;IACf,oBAAoB;IACpB,mBAAmB;IACnB,gBAAgB;IAChB,kBAAkB;IAClB,oBAAoB;IACpB,oBAAoB;IACpB,WAAW;IACX,iBAAiB;IACjB,gCAAgC;IAChC,6BAA6B;IAC7B,4BAA4B;IAC5B,+BAA+B;IAC/B,0BAA0B;IAC1B,yBAAyB;IACzB,4BAA4B;IAC5B,4BAA4B;IAC5B,mCAAmC;IACnC,WAAW;IACX,cAAc;IACd,mBAAmB;IACnB,eAAe;IACf,eAAe;IACf,UAAU;IACV,kBAAkB;IAClB,YAAY;IACZ,WAAW;IACX,iBAAiB;IACjB,eAAe;IACf,mBAAmB;IACnB,YAAY;IACZ,iBAAiB;IACjB,aAAa;IACb,mBAAmB;IACnB,cAAc;IACd,mBAAmB;IACnB,gBAAgB;IAChB,WAAW;IACX,gBAAgB;IAChB,mBAAmB;IACnB,wBAAwB;IACxB,cAAc;IACd,kBAAkB;IAClB,aAAa;IACb,sBAAsB;IACtB,qBAAqB;IACrB,uBAAuB;IACvB,aAAa;IACb,WAAW;IACX,0BAA0B;IAC1B,qBAAqB;IACrB,sBAAsB;IACtB,qBAAqB;IACrB,cAAc;IACd,gBAAgB;IAChB,iBAAiB;IACjB,aAAa;IACb,gBAAgB;IAChB,sBAAsB;IACtB,kBAAkB;IAClB,iBAAiB;IACjB,gBAAgB;IAChB,qBAAqB;IACrB,mBAAmB;IACnB,aAAa;IACb,kBAAkB;IAClB,SAAS;IACT,oBAAoB;IACpB,cAAc;IACd,YAAY;IACZ,iBAAiB;IACjB,gBAAgB;IAChB,iBAAiB;IACjB,oBAAoB;IACpB,oBAAoB;IACpB,iBAAiB;IACjB,qBAAqB;IACrB,gCAAgC;IAChC,2BAA2B;IAC3B,yBAAyB;IACzB,0BAA0B;IAC1B,yBAAyB;IACzB,yBAAyB;IACzB,+BAA+B;IAC/B,uBAAuB;IACvB,qBAAqB;IACrB,UAAU;IACV,eAAe;IACf,gBAAgB;IAChB,aAAa;IACb,gBAAgB;IAChB,gBAAgB;IAChB,eAAe;IACf,UAAU;IACV,WAAW;IACX,gBAAgB;IAChB,SAAS;IACT,WAAW;IACX,mBAAmB;IACnB,UAAU;IACV,YAAY;IACZ,cAAc;IACd,gBAAgB;IAChB,iBAAiB;IACjB,eAAe;IACf,oBAAoB;IACpB,oBAAoB;IACpB,oBAAoB;IACpB,aAAa;IACb,qBAAqB;IACrB,qBAAqB;IACrB,aAAa;IACb,eAAe;IACf,kBAAkB;IAClB,qBAAqB;IACrB,iBAAiB;IACjB,uBAAuB;IACvB,qBAAqB;IACrB,gBAAgB;IAChB,qBAAqB;IACrB,yBAAyB;IACzB,aAAa;IACb,gBAAgB;IAChB,cAAc;IACd,YAAY;IACZ,aAAa;IACb,qBAAqB;IACrB,sBAAsB;IACtB,YAAY;IACZ,aAAa;IACb,oBAAoB;IACpB,eAAe;IACf,sBAAsB;IACtB,iBAAiB;IACjB,aAAa;IACb,sBAAsB;IACtB,mBAAmB;IACnB,cAAc;IACd,cAAc;IACd,eAAe;IACf,kBAAkB;IAClB,kBAAkB;IAClB,uBAAuB;IACvB,mBAAmB;IACnB,SAAS;IACT,oBAAoB;IACpB,cAAc;IACd,cAAc;IACd,UAAU;IACV,WAAW;IACX,eAAe;IACf,cAAc;IACd,eAAe;IACf,aAAa;IACb,UAAU;IACV,aAAa;IACb,eAAe;IACf,YAAY;IACZ,eAAe;IACf,aAAa;IACb,eAAe;IACf,gBAAgB;IAChB,kBAAkB;IAClB,gBAAgB;IAChB,YAAY;IACZ,6BAA6B;IAC7B,YAAY;IACZ,eAAe;IACf,oBAAoB;IACpB,kBAAkB;IAClB,eAAe;IACf,UAAU;CACX,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAsB;IACxD,eAAe;IACf,0BAA0B;IAC1B,YAAY;IACZ,gBAAgB;IAChB,0BAA0B;IAC1B,gBAAgB;IAChB,SAAS;IACT,sBAAsB;IACtB,sBAAsB;IACtB,kBAAkB;IAClB,cAAc;IACd,sBAAsB;IACtB,WAAW;IACX,aAAa;IACb,mBAAmB;IACnB,2BAA2B;IAC3B,6BAA6B;IAC7B,iBAAiB;IACjB,SAAS;IACT,mCAAmC;IACnC,eAAe;IACf,uBAAuB;IACvB,QAAQ;IACR,sBAAsB;IACtB,YAAY;IACZ,oBAAoB;IACpB,WAAW;IACX,qBAAqB;IACrB,kBAAkB;IAClB,qBAAqB;IACrB,cAAc;IACd,gBAAgB;IAChB,kBAAkB;IAClB,uBAAuB;IACvB,4BAA4B;IAC5B,cAAc;IACd,gCAAgC;IAChC,0BAA0B;IAC1B,2BAA2B;IAC3B,SAAS;IACT,sBAAsB;IACtB,kBAAkB;IAClB,oBAAoB;IACpB,eAAe;IACf,aAAa;IACb,eAAe;IACf,oBAAoB;IACpB,oBAAoB;CACrB,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/** How a name lands on `app`. */
|
|
2
2
|
export type EngineMemberKind = 'method' | 'accessor' | 'property' | 'lazy' | 'lazyHeavy' | 'bootstrap';
|
|
3
|
-
/**
|
|
3
|
+
/** 1446 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,
|
|
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,CAu6CpE,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"}
|