@pinepaper.studio/mcp-server 1.6.30 → 1.6.31

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 (61) hide show
  1. package/README.de.md +1 -1
  2. package/README.es.md +1 -1
  3. package/README.fr.md +1 -1
  4. package/README.hi.md +1 -1
  5. package/README.ja.md +1 -1
  6. package/README.ko.md +1 -1
  7. package/README.md +52 -1
  8. package/README.pt-BR.md +1 -1
  9. package/README.zh-CN.md +1 -1
  10. package/SECURITY.md +15 -0
  11. package/dist/browser/puppeteer-controller.d.ts.map +1 -1
  12. package/dist/browser/puppeteer-controller.js +41 -26
  13. package/dist/browser/puppeteer-controller.js.map +1 -1
  14. package/dist/build-info.json +2 -2
  15. package/dist/i18n/i18n-manager.d.ts.map +1 -1
  16. package/dist/i18n/i18n-manager.js +57 -3
  17. package/dist/i18n/i18n-manager.js.map +1 -1
  18. package/dist/ontology/upstream-vocabulary.d.ts +1 -1
  19. package/dist/ontology/upstream-vocabulary.js +1 -1
  20. package/dist/tools/batch-op-names.d.ts +27 -0
  21. package/dist/tools/batch-op-names.d.ts.map +1 -0
  22. package/dist/tools/batch-op-names.js +102 -0
  23. package/dist/tools/batch-op-names.js.map +1 -0
  24. package/dist/tools/definitions.d.ts.map +1 -1
  25. package/dist/tools/definitions.js +13 -12
  26. package/dist/tools/definitions.js.map +1 -1
  27. package/dist/tools/engine-lists.d.ts +5 -2
  28. package/dist/tools/engine-lists.d.ts.map +1 -1
  29. package/dist/tools/engine-lists.js +15 -2
  30. package/dist/tools/engine-lists.js.map +1 -1
  31. package/dist/tools/engine-surface.d.ts +1 -1
  32. package/dist/tools/engine-surface.d.ts.map +1 -1
  33. package/dist/tools/engine-surface.js +4 -3
  34. package/dist/tools/engine-surface.js.map +1 -1
  35. package/dist/tools/handlers.d.ts +7 -0
  36. package/dist/tools/handlers.d.ts.map +1 -1
  37. package/dist/tools/handlers.js +29 -1
  38. package/dist/tools/handlers.js.map +1 -1
  39. package/dist/tools/shape-params.d.ts +2 -2
  40. package/dist/tools/shape-params.js +2 -2
  41. package/dist/tools/stick-vocabulary.d.ts +1 -1
  42. package/dist/tools/stick-vocabulary.js +1 -1
  43. package/dist/types/code-generator.d.ts +17 -1
  44. package/dist/types/code-generator.d.ts.map +1 -1
  45. package/dist/types/code-generator.js +123 -62
  46. package/dist/types/code-generator.js.map +1 -1
  47. package/dist/types/schemas.js +1 -1
  48. package/dist/types/schemas.js.map +1 -1
  49. package/dist/utils/capabilities.d.ts.map +1 -1
  50. package/dist/utils/capabilities.js +3 -1
  51. package/dist/utils/capabilities.js.map +1 -1
  52. package/dist/utils/env.d.ts +47 -6
  53. package/dist/utils/env.d.ts.map +1 -1
  54. package/dist/utils/env.js +52 -6
  55. package/dist/utils/env.js.map +1 -1
  56. package/dist/utils/safe-fetch.d.ts +1 -0
  57. package/dist/utils/safe-fetch.d.ts.map +1 -1
  58. package/dist/utils/safe-fetch.js +3 -4
  59. package/dist/utils/safe-fetch.js.map +1 -1
  60. package/manifest.json +2 -2
  61. package/package.json +2 -2
@@ -3,9 +3,9 @@
3
3
  *
4
4
  * What each registry-backed shape reads, and how a caller reaches it.
5
5
  *
6
- * Source: FxTool origin/main 11cd6959010ba1934e930644b05b936d8cac6170
6
+ * Source: FxTool origin/main dfbfc262ab9f8d8a6886da7614d23b7e23c59989
7
7
  * js/PinePaper.js + 5 shape modules
8
- * sha256: ac492c46b8bfaaff
8
+ * sha256: aa57af48b3a72514
9
9
  *
10
10
  * A shape's `create` receives a `config`, never the caller's `params`.
11
11
  * PinePaper.js's registryConfig literal is the only bridge between the two, so
@@ -3,9 +3,9 @@
3
3
  *
4
4
  * What each registry-backed shape reads, and how a caller reaches it.
5
5
  *
6
- * Source: FxTool origin/main 11cd6959010ba1934e930644b05b936d8cac6170
6
+ * Source: FxTool origin/main dfbfc262ab9f8d8a6886da7614d23b7e23c59989
7
7
  * js/PinePaper.js + 5 shape modules
8
- * sha256: ac492c46b8bfaaff
8
+ * sha256: aa57af48b3a72514
9
9
  *
10
10
  * A shape's `create` receives a `config`, never the caller's `params`.
11
11
  * PinePaper.js's registryConfig literal is the only bridge between the two, so
@@ -9,7 +9,7 @@
9
9
  * across five lists is exactly the shape that drifts, and every enum this repo
10
10
  * hand-maintained against FxTool drifted silently.
11
11
  *
12
- * Source: FxTool origin/main 11cd6959010ba1934e930644b05b936d8cac6170
12
+ * Source: FxTool origin/main dfbfc262ab9f8d8a6886da7614d23b7e23c59989
13
13
  * js/vendor/stick/figure-rigged.js
14
14
  * sha256: 582d1fd66061000d
15
15
  */
@@ -9,7 +9,7 @@
9
9
  * across five lists is exactly the shape that drifts, and every enum this repo
10
10
  * hand-maintained against FxTool drifted silently.
11
11
  *
12
- * Source: FxTool origin/main 11cd6959010ba1934e930644b05b936d8cac6170
12
+ * Source: FxTool origin/main dfbfc262ab9f8d8a6886da7614d23b7e23c59989
13
13
  * js/vendor/stick/figure-rigged.js
14
14
  * sha256: 582d1fd66061000d
15
15
  */
@@ -49,14 +49,30 @@ export declare function relationRefusalReasonJs(typeJs: string): string;
49
49
  * op passes, so an op the engine adds later is not refused by a stale list.
50
50
  */
51
51
  export declare function fireIfProblem(params: Record<string, unknown> | undefined): string | null;
52
+ /**
53
+ * A TARGET-LESS on_event_step_active runs only on a studio that says so. An older studio runs an event reaction only
54
+ * when its target exists (a sound alone was exempt), and step_active acts on its GROUP, not its target, so one bound
55
+ * with no target reported success and never stepped (beta STEPACT30). FxTool #281 runs it target-less and lists it in
56
+ * PinePaper.TARGETLESS_EVENT_RELATIONS, the set _bindOnEventRelation itself reads, so the marker cannot say yes while
57
+ * the engine says no. The refusal is decided in the page (STEP_ACTIVE_TARGETLESS_JS); here, only whether to ask.
58
+ */
59
+ export declare function targetlessStepProblem(relationType: unknown, target: unknown): string | null;
60
+ /** True in the page when the studio runs on_event_step_active with no target. */
61
+ export declare const STEP_ACTIVE_TARGETLESS_JS = "(typeof app !== 'undefined' && !!app && app.TARGETLESS_EVENT_RELATIONS?.has?.('on_event_step_active') === true)";
52
62
  /**
53
63
  * fireIfProblem for any relation a tool is about to add: an on_event_fire_if
54
64
  * itself, or one an on_event_add_relation will add when its event fires
55
65
  * (params.type / params.params). Every path that adds relations asks this, so
56
66
  * the check does not depend on which tool built the relation.
57
67
  */
58
- export declare function relationSpecProblem(relationType: unknown, params: unknown): string | null;
68
+ export declare function relationSpecProblem(relationType: unknown, params: unknown, ...target: [unknown?, 'no-page'?]): string | null;
59
69
  export declare function relationOptionWarning(relationType: unknown, params: unknown, injected?: readonly string[]): string | null;
70
+ /**
71
+ * An animationOptions key app.animate never reads (ANIMATION_OPTION_KEYS, generated from the engine). The batch hands
72
+ * the options over as they are, so an unknown key was dropped with the op reported done. pinepaper_animate's own
73
+ * names (intensity, speed …) are translated before this (batch-op-names.ts), so they never reach it.
74
+ */
75
+ export declare function animationOptionWarning(options: unknown): string | null;
60
76
  /**
61
77
  * The per-burst particle cap of the CURRENT studio (FxTool ParticleEmitter
62
78
  * MAX_BURST_COUNT, B144). Studios before that change capped at
@@ -1 +1 @@
1
- {"version":3,"file":"code-generator.d.ts","sourceRoot":"","sources":["../../src/types/code-generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"code-generator.d.ts","sourceRoot":"","sources":["../../src/types/code-generator.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,7 @@
7
7
  import { compileChoreography } from '../tools/choreograph.js';
8
8
  import { compileBatchTimelines, emitTimelineOpBody } from '../tools/timeline.js';
9
9
  import { normalizeSvgSize } from '../utils/svg-size.js';
10
- import { WORLD3D_COLOR_PATHS, PATTERN_KINDS, EXPRESSION_FUNCTION_ARITY, EXPRESSION_CONSTANTS, EXPRESSION_REJECTED, RELATION_PARAM_KEYS } from '../tools/engine-lists.js';
10
+ import { WORLD3D_COLOR_PATHS, PATTERN_KINDS, EXPRESSION_FUNCTION_ARITY, EXPRESSION_CONSTANTS, EXPRESSION_REJECTED, RELATION_PARAM_KEYS, ANIMATION_OPTION_KEYS } from '../tools/engine-lists.js';
11
11
  import { expressionGrammarText } from '../tools/expression-grammar.js';
12
12
  import { REQUIRED_ENGINE_METHODS, OPTIONAL_ENGINE_METHODS } from '../tools/engine-methods.js';
13
13
  import { NORMALIZE_PARAM_READS, MODIFY_CHANGE_READS } from '../tools/shape-params.js';
@@ -1258,14 +1258,33 @@ export function fireIfProblem(params) {
1258
1258
  }
1259
1259
  return null;
1260
1260
  }
1261
+ /**
1262
+ * A TARGET-LESS on_event_step_active runs only on a studio that says so. An older studio runs an event reaction only
1263
+ * when its target exists (a sound alone was exempt), and step_active acts on its GROUP, not its target, so one bound
1264
+ * with no target reported success and never stepped (beta STEPACT30). FxTool #281 runs it target-less and lists it in
1265
+ * PinePaper.TARGETLESS_EVENT_RELATIONS, the set _bindOnEventRelation itself reads, so the marker cannot say yes while
1266
+ * the engine says no. The refusal is decided in the page (STEP_ACTIVE_TARGETLESS_JS); here, only whether to ask.
1267
+ */
1268
+ export function targetlessStepProblem(relationType, target) {
1269
+ if (relationType !== 'on_event_step_active' || (target != null && target !== ''))
1270
+ return null;
1271
+ return 'on_event_step_active needs a targetId on this studio. It steps the group named in params.groupName, not its target, but this studio runs an event reaction only when its target exists: without one it binds, reports success and never runs. Point it at any item, for example one member of the group (a current studio runs it without one).';
1272
+ }
1273
+ /** True in the page when the studio runs on_event_step_active with no target. */
1274
+ export const STEP_ACTIVE_TARGETLESS_JS = "(typeof app !== 'undefined' && !!app && app.TARGETLESS_EVENT_RELATIONS?.has?.('on_event_step_active') === true)";
1261
1275
  /**
1262
1276
  * fireIfProblem for any relation a tool is about to add: an on_event_fire_if
1263
1277
  * itself, or one an on_event_add_relation will add when its event fires
1264
1278
  * (params.type / params.params). Every path that adds relations asks this, so
1265
1279
  * the check does not depend on which tool built the relation.
1266
1280
  */
1267
- export function relationSpecProblem(relationType, params) {
1281
+ export function relationSpecProblem(relationType, params, ...target) {
1268
1282
  const p = (params && typeof params === 'object' ? params : {});
1283
+ // A target-less on_event_step_active is decided in the page, not here (targetlessStepProblem): it runs on a studio
1284
+ // that lists it in TARGETLESS_EVENT_RELATIONS and does nothing on an older one. Only a caller with no page to ask
1285
+ // (create_scene, which binds no relation without a target) refuses it outright.
1286
+ if (target.length > 1 && target[1] === 'no-page' && targetlessStepProblem(relationType, target[0]))
1287
+ return targetlessStepProblem(relationType, target[0]);
1269
1288
  if (relationType === 'on_event_fire_if')
1270
1289
  return fireIfProblem(p);
1271
1290
  if (relationType === 'time_expression' && typeof p.expression === 'string')
@@ -1393,14 +1412,26 @@ function equationFlipNote(relationType, params) {
1393
1412
  }
1394
1413
  function unreadOptionWarning(relationType, params, injected) {
1395
1414
  const keys = typeof relationType === 'string' ? RELATION_PARAM_KEYS[relationType] : undefined;
1396
- if (!keys || !params || typeof params !== 'object')
1415
+ return keys ? unreadKeysWarning(String(relationType), keys, params, injected) : null;
1416
+ }
1417
+ /** The keys of `params` outside `keys`, named with a "did you mean" and the list that is read; null when all are read. */
1418
+ function unreadKeysWarning(reader, keys, params, injected = []) {
1419
+ if (!params || typeof params !== 'object')
1397
1420
  return null;
1398
1421
  const unknown = Object.keys(params).filter((k) => !keys.includes(k) && !injected.includes(k));
1399
1422
  if (!unknown.length)
1400
1423
  return null;
1401
1424
  const norm = (x) => x.replace(/_/g, '').toLowerCase();
1402
1425
  const hint = unknown.map((k) => keys.find((x) => norm(x) === norm(k)) ?? keys.find((x) => editDistance(norm(x), norm(k)) <= (k.length > 5 ? 2 : 1))).map((x, i) => (x ? `${unknown[i]} → ${x}?` : '')).filter(Boolean);
1403
- return `${relationType} does not read ${unknown.join(', ')}, so ${unknown.length > 1 ? 'they were' : 'it was'} ignored${hint.length ? ` (${hint.join('; ')})` : ''}. ${relationType} reads: ${keys.join(', ')}.`;
1426
+ return `${reader} does not read ${unknown.join(', ')}, so ${unknown.length > 1 ? 'they were' : 'it was'} ignored${hint.length ? ` (${hint.join('; ')})` : ''}. ${reader} reads: ${keys.join(', ')}.`;
1427
+ }
1428
+ /**
1429
+ * An animationOptions key app.animate never reads (ANIMATION_OPTION_KEYS, generated from the engine). The batch hands
1430
+ * the options over as they are, so an unknown key was dropped with the op reported done. pinepaper_animate's own
1431
+ * names (intensity, speed …) are translated before this (batch-op-names.ts), so they never reach it.
1432
+ */
1433
+ export function animationOptionWarning(options) {
1434
+ return unreadKeysWarning('animationOptions', ANIMATION_OPTION_KEYS, options);
1404
1435
  }
1405
1436
  const VISIBILITY_REACTION = /^on_(event|enter|exit)_set_visibility$/;
1406
1437
  /**
@@ -1546,13 +1577,14 @@ export function normalizeEmitterSpec(spec, assumeDefaultCount = true) {
1546
1577
  mismatch(`bursts[${i}]`, own.count ?? out.count, own.velocities ?? out.velocities);
1547
1578
  });
1548
1579
  // A RANGE WHERE THE STUDIO READS ONE NUMBER is not drawn as a range (1.6.24
1549
- // probe: gravity [100, 300] fell to 0, opacity [0.2, 1] to 1, no word). What
1550
- // it draws instead depends on the studio build: older ones take num()'s
1551
- // fallback (count [a, b] → 0, so nothing is drawn); FxTool #228 draws the
1552
- // middle and says so (emitter-range-not-read). Only size, speed, angle,
1553
- // spawn, lifetime and spin go through range(). The text says what holds on
1554
- // both, so it is true whichever studio the server is pointed at.
1555
- const SCALAR_ONLY = ['gravity', 'drag', 'friction', 'opacity', 'fadeIn', 'fadeOut', 'strokeWidth', 'jitter', 'jitterHz', 'aspect', 'sizeEnd', 'count'];
1580
+ // probe: count [a, b] → 0 on older studios, the middle on FxTool #228). Only
1581
+ // the keys that take one number on EVERY build are named here. gravity, drag,
1582
+ // friction, opacity, sizeEnd and jitter were too, until the studio began to
1583
+ // sample them per particle: the tester measured drag 101–206 against this text
1584
+ // saying one value. What a given studio does with a range on those is its own
1585
+ // to say (emitter-range-not-read, in engineWarnings), so it is true for
1586
+ // whichever studio the server is pointed at.
1587
+ const SCALAR_ONLY = ['fadeIn', 'fadeOut', 'strokeWidth', 'jitterHz', 'aspect', 'count'];
1556
1588
  const SPEC_ONLY = ['rate', 'start', 'end', 'seed'];
1557
1589
  const OUTCOME = {
1558
1590
  count: 'an older studio reads a range here as 0 and draws no particles',
@@ -1561,7 +1593,7 @@ export function normalizeEmitterSpec(spec, assumeDefaultCount = true) {
1561
1593
  for (const k of keys) {
1562
1594
  const v = o[k];
1563
1595
  if (Array.isArray(v) && v.length >= 2) {
1564
- warnings.push(`${where}.${k} ${JSON.stringify(v)} is not drawn as a range: ${k} takes one number, so the studio draws one value for every particle (its default, or the middle of the range, depending on the build${OUTCOME[k] ? `; ${OUTCOME[k]}` : ''}). Pass the single value you want. Only size, speed, angle, spawn, lifetime and spin take a [min, max] range.`);
1596
+ warnings.push(`${where}.${k} ${JSON.stringify(v)} is not drawn as a range: ${k} takes one number, so the studio draws one value for every particle (its default, or the middle of the range, depending on the build${OUTCOME[k] ? `; ${OUTCOME[k]}` : ''}). Pass the single value you want.`);
1565
1597
  }
1566
1598
  }
1567
1599
  const f = o.fade;
@@ -1944,6 +1976,48 @@ function unanimatedTextKeysJs(keys) {
1944
1976
  }
1945
1977
  /** The sentence for the keys unanimatedTextKeysJs found, built in the page. */
1946
1978
  const UNANIMATED_TEXT_KEYS_SENTENCE = `' is not an animatable property in this studio (app.listAnimatableProperties does not list it), so it had no effect: a key animates only where that list names it. Here, set a fixed value with pinepaper_modify_item, or animate fontSize or scaleX. For a skew, key skewX / skewY (degrees) where the studio lists them, else a transform matrix track.'`;
1979
+ /**
1980
+ * The warnings a keyframe track's result carries, as object-literal fields (", key: value" …): keys that leave out a
1981
+ * property, loop in an export, x beside fontSize on an older studio, easing on the first key. One function for
1982
+ * pinepaper_keyframe_animate and the batch keyframe_animate op: the batch had its own copy of the emitter and none
1983
+ * of these (SIZEKEY-PAIR: the same keys warned through the tool and not through the batch).
1984
+ */
1985
+ function keyframeResultNotes(keyframes, { loop = false, append = false, easingAt } = {}) {
1986
+ // A KEY THAT LEAVES A PROPERTY OUT (round 9 HH, engine 2.30): the engine
1987
+ // treats the gap as a break in that property's track rather than holding or
1988
+ // interpolating across it, silently. Named here — which keys lack which
1989
+ // properties — with the fix a caller can make now: give every key the full set.
1990
+ const propSets = keyframes.map((k) => Object.keys(k.properties ?? {}));
1991
+ const allProps = [...new Set(propSets.flat())];
1992
+ const gaps = keyframes
1993
+ .map((k, i) => ({ time: k.time, missing: allProps.filter((p) => !propSets[i].includes(p)) }))
1994
+ .filter((g) => g.missing.length);
1995
+ // With append the gaps that matter are the MERGED track's (an earlier key
1996
+ // with no scale beside a new key with one), so that check runs in the page
1997
+ // on the result instead (below).
1998
+ const gapNote = !append && gaps.length && keyframes.length > 1
1999
+ ? `, propertyGaps: ${JSON.stringify(gaps.slice(0, 10))}, gapWarning: ${JSON.stringify(`${gaps.length} keyframe(s) leave out a property other keys animate (${[...new Set(gaps.flatMap((g) => g.missing))].join(', ')}). The engine can break that property's track at such a key; repeat the value on every key — hold it by repeating the previous value.`)}`
2000
+ : '';
2001
+ const first = [...keyframes].sort((a, b) => a.time - b.time)[0];
2002
+ // loop:true repeats in the editor; an export of the measured build played
2003
+ // the keyframes ONCE and held (round 7, 2.24). Said where it is set, with
2004
+ // the two ways that do export, until the engine's export clock wraps them.
2005
+ const loopNote = loop
2006
+ ? `, loopNote: ${JSON.stringify('loop:true repeats in the editor, but has been measured playing ONCE in an exported video and then holding the last keyframe. For an export longer than one cycle, check a frame in the second cycle — if it holds, write the keyframes out per cycle, or use a loop preset (pinepaper_animate), which does cycle in export.')}`
2007
+ : '';
2008
+ // SIZEKEY-PAIR (mcp-cloud #28): on a studio before FxTool #262, x (or
2009
+ // position) keyed beside fontSize on one text item drifted in an export: the
2010
+ // size was applied after the position, and a text resizes around its anchor.
2011
+ // Said there, with the two ways that hold; a current studio is quiet.
2012
+ const sizekeyPairNote = (allProps.includes('x') || allProps.includes('position')) && allProps.includes('fontSize')
2013
+ // A studio that writes text size before position (FxTool #262, which also brought _applyScaleParams) holds x.
2014
+ ? `, ...(typeof app._applyScaleParams !== 'function' ? { sizekeyPairWarning: ${JSON.stringify('x (or position) and fontSize keyed on the same text item drift off the keyed position in an export on this studio (SIZEKEY-PAIR). Animate scaleX / scaleY instead of fontSize, or move a group that holds the text; or update the studio.')} } : {})`
2015
+ : '';
2016
+ const easingNote = easingAt !== 'departure' && first?.easing && first.easing !== 'linear'
2017
+ ? `, note: ${JSON.stringify(`easing '${first.easing}' is on the first keyframe, where it has no effect by default: easing shapes the segment ARRIVING at a keyframe. Put it on the keyframe you are moving to, or pass easingAt: 'departure' to read every easing as the move LEAVING its key (current studio).`)}`
2018
+ : '';
2019
+ return `${easingNote}${sizekeyPairNote}${loopNote}${gapNote}`;
2020
+ }
1947
2021
  function generateKeyframeAnimateCode(itemId, keyframes, duration, loop = false, timeOffset, clipInPoint, clipOutPoint, timeUnits, append = false, easingAt) {
1948
2022
  const ID = jsLiteral(itemId); // caller text: a quoted literal, never spliced raw
1949
2023
  const keyframesJson = JSON.stringify(normalizeKeyframePositions(keyframes), null, 2);
@@ -1995,39 +2069,7 @@ String(JSON.stringify(levelKeys)) +
1995
2069
  // never applies — a Ken Burns eased only there rendered linear. Said in the
1996
2070
  // result rather than silently moved: moving it would change what the other
1997
2071
  // keys the caller wrote mean.
1998
- // A KEY THAT LEAVES A PROPERTY OUT (round 9 HH, engine 2.30): the engine
1999
- // treats the gap as a break in that property's track rather than holding or
2000
- // interpolating across it, silently. Named here — which keys lack which
2001
- // properties — with the fix a caller can make now: give every key the full set.
2002
- const propSets = keyframes.map((k) => Object.keys(k.properties ?? {}));
2003
- const allProps = [...new Set(propSets.flat())];
2004
- const gaps = keyframes
2005
- .map((k, i) => ({ time: k.time, missing: allProps.filter((p) => !propSets[i].includes(p)) }))
2006
- .filter((g) => g.missing.length);
2007
- // With append the gaps that matter are the MERGED track's (an earlier key
2008
- // with no scale beside a new key with one), so that check runs in the page
2009
- // on the result instead (below).
2010
- const gapNote = !append && gaps.length && keyframes.length > 1
2011
- ? `, propertyGaps: ${JSON.stringify(gaps.slice(0, 10))}, gapWarning: ${JSON.stringify(`${gaps.length} keyframe(s) leave out a property other keys animate (${[...new Set(gaps.flatMap((g) => g.missing))].join(', ')}). The engine can break that property's track at such a key; repeat the value on every key — hold it by repeating the previous value.`)}`
2012
- : '';
2013
- const first = [...keyframes].sort((a, b) => a.time - b.time)[0];
2014
- // loop:true repeats in the editor; an export of the measured build played
2015
- // the keyframes ONCE and held (round 7, 2.24). Said where it is set, with
2016
- // the two ways that do export, until the engine's export clock wraps them.
2017
- const loopNote = loop
2018
- ? `, loopNote: ${JSON.stringify('loop:true repeats in the editor, but has been measured playing ONCE in an exported video and then holding the last keyframe. For an export longer than one cycle, check a frame in the second cycle — if it holds, write the keyframes out per cycle, or use a loop preset (pinepaper_animate), which does cycle in export.')}`
2019
- : '';
2020
- // SIZEKEY-PAIR (mcp-cloud #28): on a studio before FxTool #262, x (or
2021
- // position) keyed beside fontSize on one text item drifted in an export: the
2022
- // size was applied after the position, and a text resizes around its anchor.
2023
- // Said there, with the two ways that hold; a current studio is quiet.
2024
- const sizekeyPairNote = (allProps.includes('x') || allProps.includes('position')) && allProps.includes('fontSize')
2025
- // A studio that writes text size before position (FxTool #262, which also brought _applyScaleParams) holds x.
2026
- ? `, ...(typeof app._applyScaleParams !== 'function' ? { sizekeyPairWarning: ${JSON.stringify('x (or position) and fontSize keyed on the same text item drift off the keyed position in an export on this studio (SIZEKEY-PAIR). Animate scaleX / scaleY instead of fontSize, or move a group that holds the text; or update the studio.')} } : {})`
2027
- : '';
2028
- const easingNote = easingAt !== 'departure' && first?.easing && first.easing !== 'linear'
2029
- ? `, note: ${JSON.stringify(`easing '${first.easing}' is on the first keyframe, where it has no effect by default: easing shapes the segment ARRIVING at a keyframe. Put it on the keyframe you are moving to, or pass easingAt: 'departure' to read every easing as the move LEAVING its key (current studio).`)}`
2030
- : '';
2072
+ const __notes = keyframeResultNotes(keyframes, { loop, append, easingAt });
2031
2073
  const textKeysJs = unanimatedTextKeysJs(keyframes.flatMap((k) => Object.keys(k.properties ?? {})));
2032
2074
  const textKeyCheck = textKeysJs ? `
2033
2075
  const __ignored = ${textKeysJs};
@@ -2070,7 +2112,7 @@ String(calculatedDuration) +
2070
2112
  String(loop) +
2071
2113
  String(append ? ', append: true' : '') +
2072
2114
  ", ...(__track ? { track: __track } : {})" +
2073
- String(append ? `, ...(__gaps.length ? { propertyGaps: __gaps.slice(0, 10), gapWarning: __gaps.length + ' key(s) of the merged track leave out a property other keys animate (' + __gaps.reduce(function(a, g) { g.missing.forEach(function(p) { if (a.indexOf(p) < 0) a.push(p); }); return a; }, []).join(', ') + '). The engine can break that property at such a key; give each key the full set — hold a value by repeating it.' } : {})` : '') + String(timeOffset !== undefined ? `, timeOffset: ${timeOffset}` : '') + String(clipInPoint !== undefined ? `, clipInPoint: ${clipInPoint}` : '') + String(clipOutPoint !== undefined ? `, clipOutPoint: ${clipOutPoint}` : '') + String(easingNote) + String(sizekeyPairNote) + String(loopNote) + String(gapNote) + String(runtimeWarning) + " };\n})();\n").trim();
2115
+ String(append ? `, ...(__gaps.length ? { propertyGaps: __gaps.slice(0, 10), gapWarning: __gaps.length + ' key(s) of the merged track leave out a property other keys animate (' + __gaps.reduce(function(a, g) { g.missing.forEach(function(p) { if (a.indexOf(p) < 0) a.push(p); }); return a; }, []).join(', ') + '). The engine can break that property at such a key; give each key the full set — hold a value by repeating it.' } : {})` : '') + String(timeOffset !== undefined ? `, timeOffset: ${timeOffset}` : '') + String(clipInPoint !== undefined ? `, clipInPoint: ${clipInPoint}` : '') + String(clipOutPoint !== undefined ? `, clipOutPoint: ${clipOutPoint}` : '') + String(__notes) + String(runtimeWarning) + " };\n})();\n").trim();
2074
2116
  }
2075
2117
  /**
2076
2118
  * Template for executing generators
@@ -3385,14 +3427,22 @@ String(JSON.stringify(validated.presetId)) +
3385
3427
  ).trim();
3386
3428
  }
3387
3429
  {
3388
- const problem = relationSpecProblem(validated.relationType, validated.params);
3430
+ const problem = relationSpecProblem(validated.relationType, validated.params, validated.targetId);
3389
3431
  if (problem)
3390
3432
  return `(function() { return { success: false, relationType: ${jsLiteral(validated.relationType)}, error: ${jsLiteral(problem)} }; })();`;
3391
3433
  }
3392
3434
  if (validated.relationType === 'moves_along_path') {
3393
3435
  return generateMovesAlongPathCode(validated.sourceId, validated.targetId ?? undefined, (validated.params ?? {}));
3394
3436
  }
3395
- const code = generateAddRelationCode(validated.sourceId, validated.targetId || validated.sourceId, validated.relationType, validated.params);
3437
+ const built = generateAddRelationCode(validated.sourceId, validated.targetId || validated.sourceId, validated.relationType, validated.params);
3438
+ // Target-less step_active: refused in the page, only on a studio that would drop it (targetlessStepProblem).
3439
+ const stepNoTarget = targetlessStepProblem(validated.relationType, validated.targetId);
3440
+ const code = stepNoTarget
3441
+ ? `(function() {
3442
+ if (!${STEP_ACTIVE_TARGETLESS_JS}) return { success: false, relationType: 'on_event_step_active', error: ${jsLiteral(stepNoTarget)} };
3443
+ return ${built.trim().replace(/;$/, '')};
3444
+ })();`
3445
+ : built;
3396
3446
  // NO TARGET (event reactions like on_event_play_sound, self-relations): the
3397
3447
  // engine is handed the source as the target, but the reply must not say
3398
3448
  // "item_2 → item_2" — a model reads that as the event wired to itself.
@@ -4073,7 +4123,7 @@ if (typeof _gen === 'function') {
4073
4123
  for (const relation of relations) {
4074
4124
  const { source, target, type, params = {} } = relation;
4075
4125
  const paramsStr = JSON.stringify(params);
4076
- const specProblem = relationSpecProblem(type, params);
4126
+ const specProblem = relationSpecProblem(type, params, target, 'no-page');
4077
4127
  if (specProblem) {
4078
4128
  codeParts.push(`
4079
4129
  // Refused relation: ${oneLine(source)} ${oneLine(type)} ${oneLine(target)}
@@ -5070,13 +5120,16 @@ const targetId = ${animItemRef};
5070
5120
  const item = app.getItemById(targetId);
5071
5121
  if (!item) throw new Error('Item not found: ' + targetId);
5072
5122
  app.animate(item, { animationType: ${JSON.stringify(String(op.animationType))}, ...${animOpts} });
5073
- return { itemId: targetId, animationType: ${JSON.stringify(String(op.animationType))} };
5123
+ return { itemId: targetId, animationType: ${JSON.stringify(String(op.animationType))}${(() => { const w = animationOptionWarning(op.animationOptions); return w ? `, warning: ${jsLiteral(w)}` : ''; })()} };
5074
5124
  `;
5075
5125
  case 'relation':
5076
5126
  const srcRef = batchRef(op.sourceId);
5077
5127
  const tgtRef = batchRef(op.targetId);
5078
5128
  const relOpts = JSON.stringify(op.relationOptions || {});
5079
- const fireIf = relationSpecProblem(op.relationType, op.relationOptions);
5129
+ const fireIf = relationSpecProblem(op.relationType, op.relationOptions, op.targetId);
5130
+ // Target-less step_active: refused in the page, only on a studio that would drop it (targetlessStepProblem).
5131
+ const stepNoTarget = targetlessStepProblem(op.relationType, op.targetId);
5132
+ const stepGuard = stepNoTarget ? `if (!${STEP_ACTIVE_TARGETLESS_JS}) throw new Error(${jsLiteral('on_event_step_active: ' + stepNoTarget)});\n` : '';
5080
5133
  if (fireIf)
5081
5134
  return `
5082
5135
  throw new Error(${JSON.stringify(String(op.relationType) + ': ' + fireIf)});
@@ -5100,6 +5153,7 @@ if (!__members.length) throw new Error('no item is named like ' + ${jsLiteral(op
5100
5153
  : `const __members = [{ id: ${srcRef} }];
5101
5154
  if (!app.getItemById(__members[0].id)) throw new Error('Source not found: ' + __members[0].id);`;
5102
5155
  return ("\n" +
5156
+ String(stepGuard) +
5103
5157
  String(members) +
5104
5158
  "\nconst targetId = " +
5105
5159
  String(noTarget ? 'null' : tgtRef) +
@@ -5127,10 +5181,11 @@ String(type) +
5127
5181
  ", sourceIds: __failed, error: " +
5128
5182
  String(op.update === true ? '__why' : `'the studio refused the ' + ${type} + ' relation for ' + __failed.join(', ') + ' — nothing was bound' + (__why ? ': ' + __why : '.')`) +
5129
5183
  " };\n}\nreturn { success: true, relationType: " +
5130
- String(type) +
5131
- ", " + String(op.update === true ? 'updated' : 'bound') + ": __done, targetId" + String(glob ? ', count: __members.length' : '') + String((() => { const w = relationOptionWarning(op.relationType, op.relationOptions, ['index', 'count', 'pattern']); return w ? `, optionWarning: ${jsLiteral(w)}` : ''; })()) + ", ...(__failed.length ? { failed: __failed, warning: __failed.length + ' of ' + __members.length + ' were not " + String(op.update === true ? 'changed' : 'bound') + ": ' + __failed.join(', ') } : {}) };\n");
5184
+ String(type) + ", " + String(op.update === true ? 'updated' : 'bound') + ": __done, targetId" + String(glob ? ', count: __members.length' : '') + String((() => { const w = relationOptionWarning(op.relationType, op.relationOptions, ['index', 'count', 'pattern']); return w ? `, optionWarning: ${jsLiteral(w)}` : ''; })()) + ", ...(__failed.length ? { failed: __failed, warning: __failed.length + ' of ' + __members.length + ' were not " + String(op.update === true ? 'changed' : 'bound') + ": ' + __failed.join(', ') } : {}) };\n");
5132
5185
  }
5133
- return ("\nconst sourceId = " +
5186
+ return ("\n" +
5187
+ String(stepGuard) +
5188
+ "const sourceId = " +
5134
5189
  String(srcRef) +
5135
5190
  ";\nconst targetId = " +
5136
5191
  String(noTarget ? 'null' : tgtRef) +
@@ -5145,9 +5200,7 @@ String(relOpts) +
5145
5200
  ");\n// NOT BOUND IS NOT A SUCCESS (owner rule 1, B119). addRelation answers false\n// when it refuses — spring_follow \"not loaded yet\" — and this op returned\n// { relationId: false } with nothing marking it failed, so the batch said\n// success over a relation that does not exist.\nif (!relationId) {\n const __why = " +
5146
5201
  String(relationRefusalReasonJs(jsLiteral(op.relationType))) +
5147
5202
  ";\n return { success: false, relationId: false, sourceId, targetId, relationType: " +
5148
- String(JSON.stringify(op.relationType)) +
5149
- ",\n error: 'the studio refused the ' + " +
5150
- String(JSON.stringify(op.relationType)) + " + ' relation between ' + sourceId + ' and ' + targetId + ' — nothing was bound' + (__why ? ': ' + __why : '.') };\n}\nreturn { relationId, sourceId, targetId, relationType: " + String(JSON.stringify(String(op.relationType))) + String((() => { const w = relationOptionWarning(op.relationType, op.relationOptions); return w ? `, warning: ${jsLiteral(w)}` : ''; })()) + " };\n");
5203
+ String(JSON.stringify(op.relationType)) + ",\n error: 'the studio refused the ' + " + String(JSON.stringify(op.relationType)) + " + ' relation between ' + sourceId + ' and ' + targetId + ' — nothing was bound' + (__why ? ': ' + __why : '.') };\n}\nreturn { relationId, sourceId, targetId, relationType: " + String(JSON.stringify(String(op.relationType))) + String((() => { const w = relationOptionWarning(op.relationType, op.relationOptions); return w ? `, warning: ${jsLiteral(w)}` : ''; })()) + " };\n");
5151
5204
  case 'delete':
5152
5205
  const delRef = batchRef(op.itemId);
5153
5206
  return `
@@ -5248,7 +5301,7 @@ String(kfLoop) +
5248
5301
  String(kfAppend ? ", mode: 'merge'" : '') +
5249
5302
  String(kfExtraStr) +
5250
5303
  " });" +
5251
- String(kfTextCheck) + "\nreturn { success: true, itemId: targetId, duration: " + String(kfDuration) + ", loop: " + String(kfLoop) + String(kfAppend ? ', append: true' : '') + String(kfAppend ? '' : `, ...(_prevKeys ? { track: { replaced: true, previousKeys: _prevKeys, note: 'the item already had a keyframe track; this op replaced it. To add keys to it instead, pass append: true.' } } : {})`) + String(kfIgnored) + " };\n");
5304
+ String(kfTextCheck) + "\nreturn { success: true, itemId: targetId, duration: " + String(kfDuration) + ", loop: " + String(kfLoop) + String(kfAppend ? ', append: true' : '') + String(keyframeResultNotes(kfSource, { loop: kfLoop === true, append: kfAppend })) + String(kfAppend ? '' : `, ...(_prevKeys ? { track: { replaced: true, previousKeys: _prevKeys, note: 'the item already had a keyframe track; this op replaced it. To add keys to it instead, pass append: true.' } } : {})`) + String(kfIgnored) + " };\n");
5252
5305
  }
5253
5306
  case 'apply_mask': {
5254
5307
  const maskItemRef = batchRef(op.itemId);
@@ -12605,11 +12658,19 @@ String(sheet.format === 'png' ? '' : ', 0.82') +
12605
12658
  // A fire_if the doc declares is checked before anything is built: refused, the whole document is, with every reason.
12606
12659
  const specProblems = ops
12607
12660
  .filter((o) => o.op === 'addRelation')
12608
- .map((o) => { const r = o; const why = relationSpecProblem(r.relation, r.params); return why ? `${r.from} -> ${r.to} (${r.relation}): ${why}` : null; })
12661
+ .map((o) => { const r = o; const why = relationSpecProblem(r.relation, r.params, r.to); return why ? `${r.from} -> ${r.to} (${r.relation}): ${why}` : null; })
12609
12662
  .filter((x) => !!x);
12610
12663
  if (specProblems.length) {
12611
12664
  return `(function() { return { success: false, error: ${jsLiteral('nothing was built: ' + specProblems.join(' | '))} }; })();`;
12612
12665
  }
12666
+ // Target-less step_active relations refuse the whole document in the page, only on a studio that would drop them.
12667
+ const stepNoTarget = ops
12668
+ .filter((o) => o.op === 'addRelation')
12669
+ .map((o) => { const r = o; const why = targetlessStepProblem(r.relation, r.to); return why ? `${r.from} -> (no target) (${r.relation}): ${why}` : null; })
12670
+ .filter((x) => !!x);
12671
+ const stepDocGuard = stepNoTarget.length
12672
+ ? `if (!${STEP_ACTIVE_TARGETLESS_JS}) return { success: false, error: ${jsLiteral('nothing was built: ' + stepNoTarget.join(' | '))} };\n`
12673
+ : '';
12613
12674
  const opsJson = JSON.stringify(ops, null, 2);
12614
12675
  const diagJson = JSON.stringify(diagnostics);
12615
12676
  const docJson = JSON.stringify(input.doc);
@@ -12621,7 +12682,9 @@ String(sheet.format === 'png' ? '' : ', 0.82') +
12621
12682
  String(oneLine(ops.filter((o) => o.op === 'create').length)) +
12622
12683
  " items, " +
12623
12684
  String(oneLine(ops.filter((o) => o.op === 'addRelation').length)) +
12624
- " relations)\n(async function() {\n // Engine door first: the studio's own OntologyCompiler reads every node facet\n // (geometry, paint, text, the keyframe track, masks) and builds through the\n // template loader's paths — the round trip the studio's pixel tests verify\n // (e2e/graph-instantiate-parity.spec.js). The server-side compile above is\n // kept for the diagnostics preview and for studios that predate the facade,\n // which get the box loop below and a note saying so.\n const doc = " +
12685
+ " relations)\n(async function() {\n " +
12686
+ String(stepDocGuard) +
12687
+ " // Engine door first: the studio's own OntologyCompiler reads every node facet\n // (geometry, paint, text, the keyframe track, masks) and builds through the\n // template loader's paths — the round trip the studio's pixel tests verify\n // (e2e/graph-instantiate-parity.spec.js). The server-side compile above is\n // kept for the diagnostics preview and for studios that predate the facade,\n // which get the box loop below and a note saying so.\n const doc = " +
12625
12688
  String(docJson) +
12626
12689
  ";\n if (typeof app.instantiateOntology === 'function') {\n // THE LIVE CANVAS, unless one was given: the engine lays out for 1080x1080\n // otherwise, which put items at (540,540) on a 640x360 canvas (gate run 3).\n const __opts = " +
12627
12690
  String(engineOptsJson) +
@@ -12679,8 +12742,6 @@ String(diagJson) +
12679
12742
 
12680
12743
 
12681
12744
 
12682
-
12683
-
12684
12745
 
12685
12746
 
12686
12747