@pinepaper.studio/mcp-server 1.6.24 → 1.6.25
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.md +130 -14
- package/dist/browser/puppeteer-controller.d.ts +6 -0
- package/dist/browser/puppeteer-controller.d.ts.map +1 -1
- package/dist/browser/puppeteer-controller.js +97 -69
- package/dist/browser/puppeteer-controller.js.map +1 -1
- package/dist/build-info.json +2 -2
- package/dist/cli.js +7 -5
- package/dist/cli.js.map +1 -1
- package/dist/design/design-systems.js +2 -2
- package/dist/design/design-systems.js.map +1 -1
- package/dist/i18n/locales/en.js +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +51 -11
- package/dist/index.js.map +1 -1
- package/dist/mcp/index.d.ts +5 -0
- package/dist/mcp/index.d.ts.map +1 -0
- package/dist/mcp/index.js +5 -0
- package/dist/mcp/index.js.map +1 -0
- package/dist/mcp/server.d.ts +86 -0
- package/dist/mcp/server.d.ts.map +1 -0
- package/dist/mcp/server.js +159 -0
- package/dist/mcp/server.js.map +1 -0
- package/dist/mcp/stdio.d.ts +20 -0
- package/dist/mcp/stdio.d.ts.map +1 -0
- package/dist/mcp/stdio.js +82 -0
- package/dist/mcp/stdio.js.map +1 -0
- package/dist/mcp/types.d.ts +598 -0
- package/dist/mcp/types.d.ts.map +1 -0
- package/dist/mcp/types.js +140 -0
- package/dist/mcp/types.js.map +1 -0
- package/dist/metrics/performance-tracker.d.ts.map +1 -1
- package/dist/metrics/performance-tracker.js +4 -3
- package/dist/metrics/performance-tracker.js.map +1 -1
- package/dist/ontology/hints.d.ts.map +1 -1
- package/dist/ontology/hints.js +3 -1
- package/dist/ontology/hints.js.map +1 -1
- package/dist/ontology/upstream-vocabulary.d.ts +2 -2
- package/dist/ontology/upstream-vocabulary.d.ts.map +1 -1
- package/dist/ontology/upstream-vocabulary.js +8 -2
- package/dist/ontology/upstream-vocabulary.js.map +1 -1
- package/dist/server/index.d.ts +1 -1
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +1 -1
- package/dist/server/index.js.map +1 -1
- package/dist/tools/batch-macros.d.ts.map +1 -1
- package/dist/tools/batch-macros.js +2 -1
- package/dist/tools/batch-macros.js.map +1 -1
- package/dist/tools/compact-descriptions.d.ts.map +1 -1
- package/dist/tools/compact-descriptions.js +7 -6
- package/dist/tools/compact-descriptions.js.map +1 -1
- package/dist/tools/craft-tools.d.ts +1 -1
- package/dist/tools/craft-tools.d.ts.map +1 -1
- package/dist/tools/create-known-keys.d.ts +2 -0
- package/dist/tools/create-known-keys.d.ts.map +1 -0
- package/dist/tools/create-known-keys.js +24 -0
- package/dist/tools/create-known-keys.js.map +1 -0
- package/dist/tools/definitions.d.ts +3 -1
- package/dist/tools/definitions.d.ts.map +1 -1
- package/dist/tools/definitions.js +43 -22
- package/dist/tools/definitions.js.map +1 -1
- package/dist/tools/effect-check.d.ts +1 -1
- package/dist/tools/effect-check.d.ts.map +1 -1
- package/dist/tools/effect-check.js +4 -0
- package/dist/tools/effect-check.js.map +1 -1
- package/dist/tools/engine-lists.d.ts +4 -1
- package/dist/tools/engine-lists.d.ts.map +1 -1
- package/dist/tools/engine-lists.js +9 -1
- 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 +1 -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 +18 -3
- package/dist/tools/engine-surface.js.map +1 -1
- package/dist/tools/export-file-receipt.d.ts +12 -0
- package/dist/tools/export-file-receipt.d.ts.map +1 -1
- package/dist/tools/export-file-receipt.js +21 -1
- package/dist/tools/export-file-receipt.js.map +1 -1
- package/dist/tools/handlers/beats.d.ts +1 -1
- package/dist/tools/handlers/beats.d.ts.map +1 -1
- package/dist/tools/handlers/camera.d.ts +1 -1
- package/dist/tools/handlers/camera.d.ts.map +1 -1
- package/dist/tools/handlers/export.d.ts +1 -1
- package/dist/tools/handlers/export.d.ts.map +1 -1
- package/dist/tools/handlers/export.js +3 -2
- package/dist/tools/handlers/export.js.map +1 -1
- package/dist/tools/handlers/font.d.ts +1 -1
- package/dist/tools/handlers/font.d.ts.map +1 -1
- package/dist/tools/handlers/font.js +8 -7
- package/dist/tools/handlers/font.js.map +1 -1
- package/dist/tools/handlers/generate.d.ts +1 -1
- package/dist/tools/handlers/generate.d.ts.map +1 -1
- package/dist/tools/handlers/generate.js +4 -3
- package/dist/tools/handlers/generate.js.map +1 -1
- package/dist/tools/handlers/maps.d.ts +1 -1
- package/dist/tools/handlers/maps.d.ts.map +1 -1
- package/dist/tools/handlers/ontology.d.ts +1 -1
- package/dist/tools/handlers/ontology.d.ts.map +1 -1
- package/dist/tools/handlers/tool-guide.d.ts +1 -1
- package/dist/tools/handlers/tool-guide.d.ts.map +1 -1
- package/dist/tools/handlers.d.ts +15 -3
- package/dist/tools/handlers.d.ts.map +1 -1
- package/dist/tools/handlers.js +71 -31
- package/dist/tools/handlers.js.map +1 -1
- package/dist/tools/lane.d.ts +11 -6
- package/dist/tools/lane.d.ts.map +1 -1
- package/dist/tools/lane.js +46 -9
- package/dist/tools/lane.js.map +1 -1
- package/dist/tools/minimal-descriptions.js +1 -1
- package/dist/tools/minimal-descriptions.js.map +1 -1
- package/dist/tools/p5-compat/p5-helpers.d.ts +1 -1
- package/dist/tools/p5-compat/p5-helpers.js +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 +8 -2
- package/dist/tools/shape-params.js.map +1 -1
- package/dist/tools/stick-vocabulary.d.ts +2 -2
- package/dist/tools/stick-vocabulary.js +2 -2
- package/dist/tools/timeline.d.ts +2 -2
- package/dist/tools/timeline.d.ts.map +1 -1
- package/dist/tools/timeline.js +6 -1
- package/dist/tools/timeline.js.map +1 -1
- package/dist/tools/toolkits.d.ts +22 -7
- package/dist/tools/toolkits.d.ts.map +1 -1
- package/dist/tools/toolkits.js +102 -20
- package/dist/tools/toolkits.js.map +1 -1
- package/dist/types/code-generator.d.ts +25 -0
- package/dist/types/code-generator.d.ts.map +1 -1
- package/dist/types/code-generator.js +402 -157
- package/dist/types/code-generator.js.map +1 -1
- package/dist/types/schemas.d.ts +52 -47
- package/dist/types/schemas.d.ts.map +1 -1
- package/dist/types/schemas.js +7 -5
- package/dist/types/schemas.js.map +1 -1
- package/dist/utils/asset-paths.d.ts.map +1 -1
- package/dist/utils/asset-paths.js +4 -4
- package/dist/utils/asset-paths.js.map +1 -1
- package/dist/utils/env.d.ts +9 -0
- package/dist/utils/env.d.ts.map +1 -0
- package/dist/utils/env.js +11 -0
- package/dist/utils/env.js.map +1 -0
- package/dist/utils/export-dir.d.ts +36 -0
- package/dist/utils/export-dir.d.ts.map +1 -0
- package/dist/utils/export-dir.js +86 -0
- package/dist/utils/export-dir.js.map +1 -0
- package/dist/utils/js-literal.d.ts +4 -0
- package/dist/utils/js-literal.d.ts.map +1 -0
- package/dist/utils/js-literal.js +25 -0
- package/dist/utils/js-literal.js.map +1 -0
- package/dist/utils/mcp-log.d.ts +1 -1
- package/dist/utils/mcp-log.d.ts.map +1 -1
- package/dist/version.d.ts.map +1 -1
- package/dist/version.js +5 -12
- package/dist/version.js.map +1 -1
- package/manifest.json +42 -63
- package/package.json +8 -6
package/dist/tools/lane.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* THE AGENT LANE (PINEPAPER_TOOLKIT=lane):
|
|
2
|
+
* THE AGENT LANE (PINEPAPER_TOOLKIT=lane): seven tools that build, animate, pattern, export and check a scene, give it
|
|
3
|
+
* timed or clicked events, and start it over, with
|
|
3
4
|
* the lessons an agent otherwise learns by failing folded into the descriptions of the tools they belong to.
|
|
4
5
|
*
|
|
5
6
|
* Why it exists (owner, 2026-10-26): an agent given the default surface loads ~170 tool schemas and still needed a
|
|
@@ -12,10 +13,14 @@
|
|
|
12
13
|
* call the lane teaches is a call the full server accepts; lane.test.ts holds that). Nothing here is a second
|
|
13
14
|
* implementation, and a lane call is billed, validated and reported exactly as the same call on the full surface.
|
|
14
15
|
*/
|
|
15
|
-
/**
|
|
16
|
-
|
|
16
|
+
/**
|
|
17
|
+
* The lane's tools. The first five are the lane as it shipped, in the order an agent uses them; O10 (mcp-server#29)
|
|
18
|
+
* added the two after them, appended so nothing a lane client had moves: events (timed and clicked; their reactions
|
|
19
|
+
* ride in the batch as relation ops) and clearing (start over, so a replay gets the same ids).
|
|
20
|
+
*/
|
|
21
|
+
export declare const LANE_TOOL_NAMES: readonly ["pinepaper_agent_batch_execute", "pinepaper_keyframe_animate", "pinepaper_pattern", "pinepaper_agent_export", "pinepaper_lint_scene", "pinepaper_event", "pinepaper_clear_canvas"];
|
|
17
22
|
/** Read by the model before any tool: what the lane is, the order of work, and what it cannot do. */
|
|
18
|
-
export declare const LANE_INSTRUCTIONS = "PinePaper Studio, agent lane:
|
|
23
|
+
export declare const LANE_INSTRUCTIONS = "PinePaper Studio, agent lane: seven tools that build an animated scene on a live canvas and export it to a file.\n\nORDER OF WORK:\n1. pinepaper_agent_batch_execute: ONE call with the canvas size, the background, every item, their keyframes and any relations.\n2. pinepaper_lint_scene: check the scene before exporting (text running off the frame, unrelated items).\n3. pinepaper_agent_export: format, duration and fps for a video. It returns the file path and the file's sha256 (a small SVG comes back inline).\nUse pinepaper_keyframe_animate to re-key one item afterwards, and pinepaper_pattern to move many named items with one declaration.\nSomething that happens AT a time or ON a click (show, hide, recolour): make the event with pinepaper_event first, then bind it in the batch with relation ops.\nTo start over, call pinepaper_clear_canvas: it empties the canvas and ids start again at item_1, so the same batch gives the same ids.\n\nUNITS: pixels, top-left origin, y down; time in seconds; angles in degrees; colours as \"#rrggbb\".\nEvery call acts on the live canvas at once: re-sending a batch ADDS its items again (clear first to replay it). A failed atomic batch removes the items it made, so fix it and send it again (edits it made to items that already existed stay: the result says so).\nReport a tool error as it is; do not write HTML or other code instead of these tools.\nThis lane is for scenes built from shapes, text, keyframes and relations. For characters, styled scenes, maps, diagrams or sound, the full surface is PINEPAPER_TOOLKIT=agent.";
|
|
19
24
|
interface LaneTool {
|
|
20
25
|
description: string;
|
|
21
26
|
inputSchema: Record<string, unknown>;
|
|
@@ -26,9 +31,9 @@ interface ToolLike {
|
|
|
26
31
|
description?: string;
|
|
27
32
|
inputSchema: unknown;
|
|
28
33
|
}
|
|
29
|
-
/** The lane:
|
|
34
|
+
/** The lane: its tools, in lane order, each shown with its lane description and schema. */
|
|
30
35
|
export declare function applyLane<T extends ToolLike>(tools: T[]): T[];
|
|
31
|
-
/** The contract an agent loads for the lane: the instructions plus the
|
|
36
|
+
/** The contract an agent loads for the lane: the instructions plus the lane tools as tools/list sends them. */
|
|
32
37
|
export declare function laneContractText(tools: ToolLike[]): string;
|
|
33
38
|
export {};
|
|
34
39
|
//# sourceMappingURL=lane.d.ts.map
|
package/dist/tools/lane.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lane.d.ts","sourceRoot":"","sources":["../../src/tools/lane.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"lane.d.ts","sourceRoot":"","sources":["../../src/tools/lane.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH;;;;GAIG;AACH,eAAO,MAAM,eAAe,8LAQlB,CAAC;AAKX,qGAAqG;AACrG,eAAO,MAAM,iBAAiB,oiDAaiJ,CAAC;AAEhL,UAAU,QAAQ;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACtC;AAqBD,eAAO,MAAM,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,CA4KnF,CAAC;AAEF,UAAU,QAAQ;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,OAAO,CAAC;CACtB;AAED,2FAA2F;AAC3F,wBAAgB,SAAS,CAAC,CAAC,SAAS,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CAS7D;AAED,+GAA+G;AAC/G,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,MAAM,CAE1D"}
|
package/dist/tools/lane.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* THE AGENT LANE (PINEPAPER_TOOLKIT=lane):
|
|
2
|
+
* THE AGENT LANE (PINEPAPER_TOOLKIT=lane): seven tools that build, animate, pattern, export and check a scene, give it
|
|
3
|
+
* timed or clicked events, and start it over, with
|
|
3
4
|
* the lessons an agent otherwise learns by failing folded into the descriptions of the tools they belong to.
|
|
4
5
|
*
|
|
5
6
|
* Why it exists (owner, 2026-10-26): an agent given the default surface loads ~170 tool schemas and still needed a
|
|
@@ -12,27 +13,35 @@
|
|
|
12
13
|
* call the lane teaches is a call the full server accepts; lane.test.ts holds that). Nothing here is a second
|
|
13
14
|
* implementation, and a lane call is billed, validated and reported exactly as the same call on the full surface.
|
|
14
15
|
*/
|
|
15
|
-
/**
|
|
16
|
+
/**
|
|
17
|
+
* The lane's tools. The first five are the lane as it shipped, in the order an agent uses them; O10 (mcp-server#29)
|
|
18
|
+
* added the two after them, appended so nothing a lane client had moves: events (timed and clicked; their reactions
|
|
19
|
+
* ride in the batch as relation ops) and clearing (start over, so a replay gets the same ids).
|
|
20
|
+
*/
|
|
16
21
|
export const LANE_TOOL_NAMES = [
|
|
17
22
|
'pinepaper_agent_batch_execute', // create / batch, with names
|
|
18
23
|
'pinepaper_keyframe_animate', // animate / keyframe
|
|
19
24
|
'pinepaper_pattern', // pattern (relations ride in the batch)
|
|
20
25
|
'pinepaper_agent_export', // render / export, with the file receipt
|
|
21
26
|
'pinepaper_lint_scene', // inspect / lint
|
|
27
|
+
'pinepaper_event', // events: timed (at) or fired by a click / key (O10)
|
|
28
|
+
'pinepaper_clear_canvas', // start over (O10)
|
|
22
29
|
];
|
|
23
30
|
/** The one keyframe shape, said once and used by both tools that take keyframes. */
|
|
24
31
|
const KEYFRAME_RULE = `A keyframe is {"time": seconds, "properties": {…}, "easing"?: name}. The values go INSIDE properties, never beside time: {"time":1,"properties":{"opacity":1}}, not {"time":1,"opacity":1} (refused). easing shapes the move ARRIVING at that key: linear (default), easeIn, easeOut, easeInOut, easeOutBack, easeInOutCubic, easeOutBounce, spring, hold. Before its first key an item holds the first key's values; after its last, the last key's. Keyable: x, y (the centre), opacity, scale, scaleX, scaleY, rotation (degrees), fillColor, strokeColor, strokeWidth, width, height, radius, fontSize, trimEnd (0→1 draws a path on).`;
|
|
25
32
|
/** Read by the model before any tool: what the lane is, the order of work, and what it cannot do. */
|
|
26
|
-
export const LANE_INSTRUCTIONS = `PinePaper Studio, agent lane:
|
|
33
|
+
export const LANE_INSTRUCTIONS = `PinePaper Studio, agent lane: seven tools that build an animated scene on a live canvas and export it to a file.
|
|
27
34
|
|
|
28
35
|
ORDER OF WORK:
|
|
29
36
|
1. pinepaper_agent_batch_execute: ONE call with the canvas size, the background, every item, their keyframes and any relations.
|
|
30
37
|
2. pinepaper_lint_scene: check the scene before exporting (text running off the frame, unrelated items).
|
|
31
|
-
3. pinepaper_agent_export: format, duration and fps for a video. It returns the file path and the file's sha256.
|
|
38
|
+
3. pinepaper_agent_export: format, duration and fps for a video. It returns the file path and the file's sha256 (a small SVG comes back inline).
|
|
32
39
|
Use pinepaper_keyframe_animate to re-key one item afterwards, and pinepaper_pattern to move many named items with one declaration.
|
|
40
|
+
Something that happens AT a time or ON a click (show, hide, recolour): make the event with pinepaper_event first, then bind it in the batch with relation ops.
|
|
41
|
+
To start over, call pinepaper_clear_canvas: it empties the canvas and ids start again at item_1, so the same batch gives the same ids.
|
|
33
42
|
|
|
34
43
|
UNITS: pixels, top-left origin, y down; time in seconds; angles in degrees; colours as "#rrggbb".
|
|
35
|
-
Every call acts on the live canvas at once: re-sending a batch ADDS its items again. A failed atomic batch removes the items it made, so fix it and send it again (edits it made to items that already existed stay: the result says so).
|
|
44
|
+
Every call acts on the live canvas at once: re-sending a batch ADDS its items again (clear first to replay it). A failed atomic batch removes the items it made, so fix it and send it again (edits it made to items that already existed stay: the result says so).
|
|
36
45
|
Report a tool error as it is; do not write HTML or other code instead of these tools.
|
|
37
46
|
This lane is for scenes built from shapes, text, keyframes and relations. For characters, styled scenes, maps, diagrams or sound, the full surface is PINEPAPER_TOOLKIT=agent.`;
|
|
38
47
|
const POSITION = {
|
|
@@ -54,7 +63,7 @@ const KEYFRAMES = {
|
|
|
54
63
|
};
|
|
55
64
|
export const LANE_TOOLS = {
|
|
56
65
|
pinepaper_agent_batch_execute: {
|
|
57
|
-
description: `Build the scene in ONE call: canvas, background, items, keyframes, relations. Ops run in order. "$0", "$1", … are the items THIS call
|
|
66
|
+
description: `Build the scene in ONE call: canvas, background, items, keyframes, relations. Ops run in order. "$0", "$1", … are the items THIS call made, in op order (create and group ops are numbered; a group of "$0","$1" made next is "$2"). The result lists their ids in itemIds; use those ids in later calls.
|
|
58
67
|
|
|
59
68
|
Each line is a correct op:
|
|
60
69
|
{"type":"set_canvas_size","width":1920,"height":1080}
|
|
@@ -67,6 +76,8 @@ Each line is a correct op:
|
|
|
67
76
|
{"type":"relation","sourceId":"$1","targetId":"$2","relationType":"orbits","relationOptions":{"radius":260,"speed":0.1667}}
|
|
68
77
|
{"type":"modify","itemId":"item_3","properties":{"color":"#f472b6"}}
|
|
69
78
|
{"type":"timeline","defaults":{"ease":"power2.out"},"tweens":[{"to":"bar-*","from":{"scaleY":0},"vars":{"scaleY":1},"duration":0.8,"at":0.5,"stagger":0.15}]}
|
|
79
|
+
{"type":"relation","sourceId":"item_9","targetId":"$0","relationType":"on_event_set_visibility","relationOptions":{"visible":true}}
|
|
80
|
+
{"type":"relation","sourceId":"$1","targetId":"item_9","relationType":"on_click_fire"}
|
|
70
81
|
|
|
71
82
|
RULES (each one has cost a failed build):
|
|
72
83
|
- position {x,y} goes at the op's top level. Everything else about the item goes INSIDE properties: a text's words are properties.content, and so are fontSize, color, radius, width, height, opacity, name and anchor.
|
|
@@ -75,7 +86,10 @@ RULES (each one has cost a failed build):
|
|
|
75
86
|
- Two keyframe_animate ops on one item in a batch are merged into one track.
|
|
76
87
|
- A timeline op is GSAP's timeline as JSON, compiled onto keyframe tracks: tweens [{to: a name, id, "$N", array or "bar-*"; vars: end values; from: start values; duration; at: seconds, "<", ">" or "+=0.2"; stagger; ease: "power2.out", "none", "back.out"…; repeat; yoyo}]. There x and y are OFFSETS from where the item was created, as in GSAP; scaleY on a bottom-anchored item holds its baseline; drawSVG "0%"→"100%" draws a path on. Every track lasts the whole timeline. What it cannot carry is refused by name; each tween gets a receipt. An item takes keys from a timeline or keyframe_animate ops, not both.
|
|
77
88
|
- Name every item (properties.name). pinepaper_pattern selects members by name, e.g. "bar-*".
|
|
89
|
+
- properties.id chooses an item's id ("dot"), so a replay after pinepaper_clear_canvas addresses the same ids.
|
|
90
|
+
- A shape with a strokeColor and no color is an outline.
|
|
78
91
|
- Relations: orbits {radius, speed (turns per second), direction, phaseDegrees}, follows {offset, smoothing}, attached_to {offset}, points_at, moves_along_path {path:[{x,y},…], speed}. sourceId moves; targetId is what it moves relative to.
|
|
92
|
+
- Events (item_9 above is an eventId from pinepaper_event): an event → item relation is a reaction, run each time it fires: on_event_set_visibility {visible: true|false}, on_event_set_color {color}, on_event_set_property {property, value}. An item → event relation fires it: on_click_fire, on_pointer_enter_fire, on_key_fire {key}. An item a reaction reveals starts hidden: properties.visible false.
|
|
79
93
|
- set_canvas_size comes first; a video exports at the canvas size.
|
|
80
94
|
- The call is LIVE: sending it twice makes every item twice. atomic (default) stops at the first failure and removes every item the call created, so the canvas holds no half batch: fix the op it names and send it again. Edits to items that already existed are not undone; the result says what was removed.
|
|
81
95
|
|
|
@@ -168,7 +182,7 @@ EXAMPLE: {"action":"create","id":"wave","kind":"phase_wave","members":{"names":"
|
|
|
168
182
|
A video needs format, duration and fps: {"format":"mp4","duration":8,"fps":30}. duration defaults to 5 s, so an 8 s piece without it is cut at 5. The file is the canvas size; leave platform out. A still: {"format":"png","time":4}.
|
|
169
183
|
An 8 s 1080p video takes a few minutes to render: wait for this call, and do not send it again while it runs.
|
|
170
184
|
|
|
171
|
-
RETURNS "File: <path>", plus file {sha256, bytes
|
|
185
|
+
RETURNS "File: <path>", plus file {sha256, bytes}: the sha256 of the file on disk. MP4 and WebM add frameDigest and frames, a digest of every rendered frame (two renders of the same scene agree frame for frame when their frameDigest agrees); unreadFrames counts frames the digest could not read. A small SVG comes back inline, with no file. video.frames {fed, distinct} says whether anything moved. fidelity.warnings names what the format could not carry. A failed export is an error naming the reason; it never reports a file it did not write.`,
|
|
172
186
|
inputSchema: {
|
|
173
187
|
type: 'object',
|
|
174
188
|
properties: {
|
|
@@ -181,6 +195,29 @@ RETURNS "File: <path>", plus file {sha256, bytes, frameDigest, frames}: the sha2
|
|
|
181
195
|
required: ['format'],
|
|
182
196
|
},
|
|
183
197
|
},
|
|
198
|
+
pinepaper_event: {
|
|
199
|
+
description: `Make an event: a named channel that reactions bound to it run on. It returns {eventId} (an item id); bind it in pinepaper_agent_batch_execute with relation ops (event → item reactions, item → event triggers such as on_click_fire).
|
|
200
|
+
|
|
201
|
+
A TIMED event fires itself at scene times, in the preview and in every video export: pass at (seconds, or a list). Without at, it fires when a trigger fires it, or when you pulse it.
|
|
202
|
+
{"action":"create","name":"reveal","at":2}
|
|
203
|
+
{"action":"create","name":"blink","at":[1,3,5]}
|
|
204
|
+
{"action":"create","name":"tap"}
|
|
205
|
+
{"action":"pulse","eventId":"item_9"}`,
|
|
206
|
+
inputSchema: {
|
|
207
|
+
type: 'object',
|
|
208
|
+
properties: {
|
|
209
|
+
action: { type: 'string', enum: ['create', 'pulse'] },
|
|
210
|
+
name: { type: 'string', description: 'create: the event\'s name (required)' },
|
|
211
|
+
at: { description: 'create: fire at these scene times (seconds)', oneOf: [{ type: 'number' }, { type: 'array', items: { type: 'number' } }] },
|
|
212
|
+
eventId: { type: 'string', description: 'pulse: the eventId to fire now' },
|
|
213
|
+
},
|
|
214
|
+
required: ['action'],
|
|
215
|
+
},
|
|
216
|
+
},
|
|
217
|
+
pinepaper_clear_canvas: {
|
|
218
|
+
description: `Start over: remove every item (events included), relation, keyframe track and uploaded clip, and the background colour; the canvas size stays. Ids start again at item_1, so a batch sent after a clear returns the same ids as the first time it was sent. Takes no arguments.`,
|
|
219
|
+
inputSchema: { type: 'object', properties: {} },
|
|
220
|
+
},
|
|
184
221
|
pinepaper_lint_scene: {
|
|
185
222
|
description: `Check the live scene before exporting; read-only. Returns warnings (a text that runs past the frame edge, by item, side and pixels, where the studio reports it), density (how many items are tied together by relations) and suggestions (relations that would hold the layout together: {from, to, type, params}). Fix a clipped text by moving its centre in with a modify op in pinepaper_agent_batch_execute ({"type":"modify","itemId":"item_1","properties":{"x":474}}: the centre is the left edge plus half the width), or delete it and create it again with properties.anchor; a modify does not read anchor.`,
|
|
186
223
|
inputSchema: {
|
|
@@ -191,7 +228,7 @@ RETURNS "File: <path>", plus file {sha256, bytes, frameDigest, frames}: the sha2
|
|
|
191
228
|
},
|
|
192
229
|
},
|
|
193
230
|
};
|
|
194
|
-
/** The lane:
|
|
231
|
+
/** The lane: its tools, in lane order, each shown with its lane description and schema. */
|
|
195
232
|
export function applyLane(tools) {
|
|
196
233
|
const byName = new Map(tools.map((t) => [t.name, t]));
|
|
197
234
|
const out = [];
|
|
@@ -203,7 +240,7 @@ export function applyLane(tools) {
|
|
|
203
240
|
}
|
|
204
241
|
return out;
|
|
205
242
|
}
|
|
206
|
-
/** The contract an agent loads for the lane: the instructions plus the
|
|
243
|
+
/** The contract an agent loads for the lane: the instructions plus the lane tools as tools/list sends them. */
|
|
207
244
|
export function laneContractText(tools) {
|
|
208
245
|
return LANE_INSTRUCTIONS + JSON.stringify(applyLane(tools));
|
|
209
246
|
}
|
package/dist/tools/lane.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lane.js","sourceRoot":"","sources":["../../src/tools/lane.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"lane.js","sourceRoot":"","sources":["../../src/tools/lane.ts"],"names":[],"mappings":"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"}
|
|
@@ -237,7 +237,7 @@ export const MINIMAL_DESCRIPTIONS = {
|
|
|
237
237
|
pinepaper_physics: 'Rigid body sim. action: init|add_body|remove_body|apply_force|apply_impulse|set_velocity|get_state|create_ground|create_joint. gravity, bodyType, mass, friction.',
|
|
238
238
|
pinepaper_measurement: 'Rulers/grid. action: set_rulers|set_grid|get_dimensions|set_snap. enabled, itemId.',
|
|
239
239
|
// --- Guide & runtime config ---
|
|
240
|
-
pinepaper_tool_guide: 'Get detailed guidance for any tool, category, or the full AI Agent Guide. A
|
|
240
|
+
pinepaper_tool_guide: 'Get detailed guidance for any tool, category, or the full AI Agent Guide. A seven-tool agent lane for scripted builds: PINEPAPER_TOOLKIT=lane.',
|
|
241
241
|
pinepaper_set_toolkit: 'Switch toolkit (full|agent|diagram|map|font|minimal|lane) and/or verbosity (verbose|compact|minimal) at runtime.',
|
|
242
242
|
};
|
|
243
243
|
//# sourceMappingURL=minimal-descriptions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"minimal-descriptions.js","sourceRoot":"","sources":["../../src/tools/minimal-descriptions.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"minimal-descriptions.js","sourceRoot":"","sources":["../../src/tools/minimal-descriptions.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
*/
|
|
16
16
|
/**
|
|
17
17
|
* Browser-side p5.js compatibility helpers.
|
|
18
|
-
* This code is injected into the PinePaper page context and
|
|
18
|
+
* This code is injected into the PinePaper page context and run there as a script.
|
|
19
19
|
*/
|
|
20
20
|
export declare const P5_HELPERS = "\n(function() {\n // Prevent double-initialization\n if (window._p5Initialized) {\n console.log('[p5-compat] Already initialized');\n return;\n }\n\n // ==========================================================================\n // STATE MANAGEMENT\n // ==========================================================================\n\n window._p5State = {\n fillColor: '#ffffff',\n strokeColor: '#000000',\n strokeWidth: 1,\n rectMode: 'corner',\n ellipseMode: 'center'\n };\n\n // ==========================================================================\n // CONSTANTS\n // ==========================================================================\n\n window.PI = Math.PI;\n window.TWO_PI = Math.PI * 2;\n window.HALF_PI = Math.PI / 2;\n window.QUARTER_PI = Math.PI / 4;\n\n window.CENTER = 'center';\n window.CORNER = 'corner';\n\n // ==========================================================================\n // CANVAS PROPERTIES\n // ==========================================================================\n\n Object.defineProperty(window, 'width', {\n get: function() {\n return paper.view ? paper.view.size.width : 800;\n },\n configurable: true\n });\n\n Object.defineProperty(window, 'height', {\n get: function() {\n return paper.view ? paper.view.size.height : 600;\n },\n configurable: true\n });\n\n // ==========================================================================\n // MATH UTILITIES\n // ==========================================================================\n\n window.random = function(min, max) {\n if (arguments.length === 0) {\n return Math.random();\n } else if (arguments.length === 1) {\n if (Array.isArray(min)) {\n // random(array) - return random element\n return min[Math.floor(Math.random() * min.length)];\n }\n // random(max) - return 0 to max\n return Math.random() * min;\n } else {\n // random(min, max)\n return Math.random() * (max - min) + min;\n }\n };\n\n window.map = function(value, start1, stop1, start2, stop2) {\n return start2 + (stop2 - start2) * ((value - start1) / (stop1 - start1));\n };\n\n window.constrain = function(value, min, max) {\n return Math.min(Math.max(value, min), max);\n };\n\n window.dist = function(x1, y1, x2, y2) {\n return Math.sqrt((x2 - x1) * (x2 - x1) + (y2 - y1) * (y2 - y1));\n };\n\n window.lerp = function(start, stop, amount) {\n return start + (stop - start) * amount;\n };\n\n window.radians = function(degrees) {\n return degrees * Math.PI / 180;\n };\n\n window.degrees = function(radians) {\n return radians * 180 / Math.PI;\n };\n\n // ==========================================================================\n // STYLE FUNCTIONS\n // ==========================================================================\n\n /**\n * Parse color arguments into a valid color string.\n * Supports: fill(gray), fill(r,g,b), fill(r,g,b,a), fill('#hex')\n */\n function parseColor(args) {\n if (args.length === 0) return null;\n\n if (args.length === 1) {\n var val = args[0];\n if (typeof val === 'string') {\n return val;\n } else if (typeof val === 'number') {\n // Grayscale\n return 'rgb(' + val + ', ' + val + ', ' + val + ')';\n }\n } else if (args.length === 3) {\n // RGB\n return 'rgb(' + args[0] + ', ' + args[1] + ', ' + args[2] + ')';\n } else if (args.length === 4) {\n // RGBA (p5 uses 0-255 for alpha, CSS uses 0-1)\n return 'rgba(' + args[0] + ', ' + args[1] + ', ' + args[2] + ', ' + (args[3] / 255) + ')';\n }\n\n return null;\n }\n\n window.fill = function() {\n var color = parseColor(Array.prototype.slice.call(arguments));\n window._p5State.fillColor = color;\n };\n\n window.noFill = function() {\n window._p5State.fillColor = null;\n };\n\n window.stroke = function() {\n var color = parseColor(Array.prototype.slice.call(arguments));\n window._p5State.strokeColor = color;\n };\n\n window.noStroke = function() {\n window._p5State.strokeColor = null;\n };\n\n window.strokeWeight = function(weight) {\n window._p5State.strokeWidth = weight;\n };\n\n window.background = function() {\n var color = parseColor(Array.prototype.slice.call(arguments));\n if (color && typeof app !== 'undefined' && app.setBackgroundColor) {\n app.setBackgroundColor(color);\n }\n };\n\n // ==========================================================================\n // MODE FUNCTIONS\n // ==========================================================================\n\n window.rectMode = function(mode) {\n window._p5State.rectMode = mode.toLowerCase();\n };\n\n window.ellipseMode = function(mode) {\n window._p5State.ellipseMode = mode.toLowerCase();\n };\n\n // ==========================================================================\n // SHAPE FUNCTIONS\n // ==========================================================================\n\n /**\n * Apply current style state to an item\n */\n function applyStyle(item) {\n if (window._p5State.fillColor) {\n item.fillColor = window._p5State.fillColor;\n }\n if (window._p5State.strokeColor) {\n item.strokeColor = window._p5State.strokeColor;\n item.strokeWidth = window._p5State.strokeWidth;\n }\n }\n\n /**\n * Register item with PinePaper's ItemRegistry\n */\n function registerItem(item, type) {\n if (typeof app !== 'undefined' && app.registerItem) {\n app.registerItem(item, type, { source: 'p5' });\n }\n return item;\n }\n\n /**\n * Draw a circle\n * circle(x, y, diameter)\n */\n window.circle = function(x, y, d) {\n var item = new paper.Path.Circle({\n center: [x, y],\n radius: d / 2\n });\n applyStyle(item);\n return registerItem(item, 'circle');\n };\n\n /**\n * Draw an ellipse\n * ellipse(x, y, width, [height])\n */\n window.ellipse = function(x, y, w, h) {\n h = h !== undefined ? h : w;\n var mode = window._p5State.ellipseMode;\n var center = mode === 'center' ? [x, y] : [x + w / 2, y + h / 2];\n\n var item = new paper.Path.Ellipse({\n center: center,\n size: [w, h]\n });\n applyStyle(item);\n return registerItem(item, 'ellipse');\n };\n\n /**\n * Draw a rectangle\n * rect(x, y, width, height, [cornerRadius])\n */\n window.rect = function(x, y, w, h, r) {\n var mode = window._p5State.rectMode;\n var point = mode === 'center' ? [x - w / 2, y - h / 2] : [x, y];\n\n var options = {\n point: point,\n size: [w, h]\n };\n\n if (r !== undefined && r > 0) {\n options.radius = r;\n }\n\n var item = new paper.Path.Rectangle(options);\n applyStyle(item);\n return registerItem(item, 'rectangle');\n };\n\n /**\n * Draw a line\n * line(x1, y1, x2, y2)\n */\n window.line = function(x1, y1, x2, y2) {\n var item = new paper.Path.Line({\n from: [x1, y1],\n to: [x2, y2]\n });\n // Lines typically don't have fill\n if (window._p5State.strokeColor) {\n item.strokeColor = window._p5State.strokeColor;\n item.strokeWidth = window._p5State.strokeWidth;\n }\n return registerItem(item, 'line');\n };\n\n /**\n * Draw a triangle\n * triangle(x1, y1, x2, y2, x3, y3)\n */\n window.triangle = function(x1, y1, x2, y2, x3, y3) {\n var item = new paper.Path({\n segments: [[x1, y1], [x2, y2], [x3, y3]],\n closed: true\n });\n applyStyle(item);\n return registerItem(item, 'triangle');\n };\n\n /**\n * Draw a quadrilateral\n * quad(x1, y1, x2, y2, x3, y3, x4, y4)\n */\n window.quad = function(x1, y1, x2, y2, x3, y3, x4, y4) {\n var item = new paper.Path({\n segments: [[x1, y1], [x2, y2], [x3, y3], [x4, y4]],\n closed: true\n });\n applyStyle(item);\n return registerItem(item, 'quad');\n };\n\n /**\n * Draw an arc\n * arc(x, y, width, height, startAngle, stopAngle)\n * Note: p5.js uses radians by default\n */\n window.arc = function(x, y, w, h, start, stop) {\n // Calculate the arc using Paper.js\n var cx = x;\n var cy = y;\n var rx = w / 2;\n var ry = h / 2;\n\n // Convert from p5's angle system to Paper.js\n // p5 uses radians where 0 is right, PI/2 is down\n var startDeg = start * 180 / Math.PI;\n var stopDeg = stop * 180 / Math.PI;\n\n // Create arc using path segments\n var item = new paper.Path.Arc({\n from: [\n cx + rx * Math.cos(start),\n cy + ry * Math.sin(start)\n ],\n through: [\n cx + rx * Math.cos((start + stop) / 2),\n cy + ry * Math.sin((start + stop) / 2)\n ],\n to: [\n cx + rx * Math.cos(stop),\n cy + ry * Math.sin(stop)\n ]\n });\n\n applyStyle(item);\n return registerItem(item, 'arc');\n };\n\n /**\n * Draw a point (tiny circle)\n * point(x, y)\n */\n window.point = function(x, y) {\n var size = window._p5State.strokeWidth || 1;\n var item = new paper.Path.Circle({\n center: [x, y],\n radius: size / 2\n });\n // Points use stroke color as fill\n if (window._p5State.strokeColor) {\n item.fillColor = window._p5State.strokeColor;\n }\n return registerItem(item, 'point');\n };\n\n // ==========================================================================\n // INITIALIZATION COMPLETE\n // ==========================================================================\n\n window._p5Initialized = true;\n console.log('[p5-compat] p5.js compatibility layer loaded (v1.3.1)');\n console.log('[p5-compat] Available: circle, ellipse, rect, line, triangle, quad, arc, point');\n console.log('[p5-compat] Style: fill, noFill, stroke, noStroke, strokeWeight, background');\n console.log('[p5-compat] Math: random, map, constrain, dist, lerp, radians, degrees');\n})();\n";
|
|
21
21
|
/**
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
*/
|
|
16
16
|
/**
|
|
17
17
|
* Browser-side p5.js compatibility helpers.
|
|
18
|
-
* This code is injected into the PinePaper page context and
|
|
18
|
+
* This code is injected into the PinePaper page context and run there as a script.
|
|
19
19
|
*/
|
|
20
20
|
export const P5_HELPERS = `
|
|
21
21
|
(function() {
|
|
@@ -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
|
|
6
|
+
* Source: FxTool origin/main cca1ba5e721eb2361300bd29d53ebe9f5a6daeb3
|
|
7
7
|
* js/PinePaper.js + 5 shape modules
|
|
8
|
-
* sha256:
|
|
8
|
+
* sha256: 17edb304be05e83e
|
|
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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shape-params.d.ts","sourceRoot":"","sources":["../../src/tools/shape-params.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,oFAAoF;AACpF,eAAO,MAAM,sBAAsB,EAAE,SAAS,MAAM,
|
|
1
|
+
{"version":3,"file":"shape-params.d.ts","sourceRoot":"","sources":["../../src/tools/shape-params.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,oFAAoF;AACpF,eAAO,MAAM,sBAAsB,EAAE,SAAS,MAAM,EA0GlD,CAAC;AAEH;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,EAAE,SAAS,MAAM,EAsBjD,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,mBAAmB,EAAE,SAAS,MAAM,EA0E/C,CAAC;AAEH;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CAezE,CAAC;AAEH,oEAAoE;AACpE,eAAO,MAAM,kBAAkB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CAmCzE,CAAC;AAEH;;;;;;;;GAQG;AACH,eAAO,MAAM,qBAAqB,EAAE,SAAS,MAAM,EAAyC,CAAC"}
|
|
@@ -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
|
|
6
|
+
* Source: FxTool origin/main cca1ba5e721eb2361300bd29d53ebe9f5a6daeb3
|
|
7
7
|
* js/PinePaper.js + 5 shape modules
|
|
8
|
-
* sha256:
|
|
8
|
+
* sha256: 17edb304be05e83e
|
|
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
|
|
@@ -59,10 +59,12 @@ export const ACCEPTED_CREATE_PARAMS = Object.freeze([
|
|
|
59
59
|
'innerRadiusRatio',
|
|
60
60
|
'justification',
|
|
61
61
|
'keyframes',
|
|
62
|
+
'keys',
|
|
62
63
|
'kind',
|
|
63
64
|
'label',
|
|
64
65
|
'labelPosition',
|
|
65
66
|
'layer',
|
|
67
|
+
'letterSpacing',
|
|
66
68
|
'lifetime',
|
|
67
69
|
'monoline',
|
|
68
70
|
'motionBlur',
|
|
@@ -96,6 +98,7 @@ export const ACCEPTED_CREATE_PARAMS = Object.freeze([
|
|
|
96
98
|
'smoothing',
|
|
97
99
|
'soundSpec',
|
|
98
100
|
'spacing',
|
|
101
|
+
'speed',
|
|
99
102
|
'src',
|
|
100
103
|
'stepTiming',
|
|
101
104
|
'strokeCap',
|
|
@@ -105,6 +108,7 @@ export const ACCEPTED_CREATE_PARAMS = Object.freeze([
|
|
|
105
108
|
'strokeWidth',
|
|
106
109
|
'tailDirection',
|
|
107
110
|
'tailSize',
|
|
111
|
+
'targetActor',
|
|
108
112
|
'tension',
|
|
109
113
|
'textAlign',
|
|
110
114
|
'textDirection',
|
|
@@ -152,6 +156,7 @@ export const NORMALIZE_PARAM_READS = Object.freeze([
|
|
|
152
156
|
export const MODIFY_CHANGE_READS = Object.freeze([
|
|
153
157
|
'alias',
|
|
154
158
|
'anchor',
|
|
159
|
+
'animPivot',
|
|
155
160
|
'animationIntensity',
|
|
156
161
|
'animationSpeed',
|
|
157
162
|
'animationType',
|
|
@@ -184,6 +189,7 @@ export const MODIFY_CHANGE_READS = Object.freeze([
|
|
|
184
189
|
'justification',
|
|
185
190
|
'keyframes',
|
|
186
191
|
'label',
|
|
192
|
+
'letterSpacing',
|
|
187
193
|
'motionBlur',
|
|
188
194
|
'name',
|
|
189
195
|
'opacity',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shape-params.js","sourceRoot":"","sources":["../../src/tools/shape-params.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"shape-params.js","sourceRoot":"","sources":["../../src/tools/shape-params.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,9 +9,9 @@
|
|
|
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
|
|
12
|
+
* Source: FxTool origin/main cca1ba5e721eb2361300bd29d53ebe9f5a6daeb3
|
|
13
13
|
* js/vendor/stick/figure-rigged.js
|
|
14
|
-
* sha256:
|
|
14
|
+
* sha256: 582d1fd66061000d
|
|
15
15
|
*/
|
|
16
16
|
/** 10 names — how a figure walks — gait. */
|
|
17
17
|
export declare const STICK_GAITS: readonly string[];
|
|
@@ -9,9 +9,9 @@
|
|
|
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
|
|
12
|
+
* Source: FxTool origin/main cca1ba5e721eb2361300bd29d53ebe9f5a6daeb3
|
|
13
13
|
* js/vendor/stick/figure-rigged.js
|
|
14
|
-
* sha256:
|
|
14
|
+
* sha256: 582d1fd66061000d
|
|
15
15
|
*/
|
|
16
16
|
/** 10 names — how a figure walks — gait. */
|
|
17
17
|
export const STICK_GAITS = Object.freeze([
|
package/dist/tools/timeline.d.ts
CHANGED
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
* of centre, a percentage x/y, stagger from "random" or a grid, eased parameters (back(3), elastic(1.2, 0.4)),
|
|
28
28
|
* elastic/bounce inOut, steps(), callbacks, and two tweens on one property that overlap in time.
|
|
29
29
|
*/
|
|
30
|
-
/** What the batch knows about the items it
|
|
30
|
+
/** What the batch knows about the items it makes, in $N order (create and group ops): "$N" is creates[N]. */
|
|
31
31
|
export interface TimelineCreateInfo {
|
|
32
32
|
name?: string;
|
|
33
33
|
anchor?: string;
|
|
@@ -115,7 +115,7 @@ export declare function mapGsapEase(name: string): {
|
|
|
115
115
|
export declare function compileTimeline(op: Record<string, unknown>, ctx?: {
|
|
116
116
|
creates: TimelineCreateInfo[];
|
|
117
117
|
}): TimelineResult;
|
|
118
|
-
/** What the batch
|
|
118
|
+
/** What the batch makes, in $N order (create and group ops), for name resolution and anchors. */
|
|
119
119
|
export declare function batchCreatesBefore(operations: ReadonlyArray<Record<string, unknown>>, index: number): TimelineCreateInfo[];
|
|
120
120
|
/**
|
|
121
121
|
* Compile every timeline op in a batch. Errors come back with batch paths (operations[i].tweens[j]…). Also refused: a
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"timeline.d.ts","sourceRoot":"","sources":["../../src/tools/timeline.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAOH,
|
|
1
|
+
{"version":3,"file":"timeline.d.ts","sourceRoot":"","sources":["../../src/tools/timeline.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/timeline.js
CHANGED
|
@@ -890,11 +890,16 @@ export function compileTimeline(op, ctx = { creates: [] }) {
|
|
|
890
890
|
}
|
|
891
891
|
// ---------------------------------------------------------------------------------------------------------------
|
|
892
892
|
// Batch integration
|
|
893
|
-
/** What the batch
|
|
893
|
+
/** What the batch makes, in $N order (create and group ops), for name resolution and anchors. */
|
|
894
894
|
export function batchCreatesBefore(operations, index) {
|
|
895
895
|
const out = [];
|
|
896
896
|
for (let i = 0; i < index; i++) {
|
|
897
897
|
const op = operations[i];
|
|
898
|
+
// A group makes an item and takes a $N slot (O2); it is known by its groupName and has no anchor.
|
|
899
|
+
if (op.type === 'group') {
|
|
900
|
+
out.push({ name: typeof op.groupName === 'string' ? op.groupName : undefined });
|
|
901
|
+
continue;
|
|
902
|
+
}
|
|
898
903
|
if (op.type !== 'create')
|
|
899
904
|
continue;
|
|
900
905
|
const p = (op.properties || {});
|