@pinepaper.studio/mcp-server 1.6.22 → 1.6.24

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 (110) 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 +115 -5
  8. package/README.pt-BR.md +1 -1
  9. package/README.zh-CN.md +1 -1
  10. package/SECURITY.md +46 -0
  11. package/dist/agent/types.d.ts +114 -106
  12. package/dist/agent/types.d.ts.map +1 -1
  13. package/dist/agent/types.js +1 -1
  14. package/dist/agent/types.js.map +1 -1
  15. package/dist/browser/puppeteer-controller.js +2 -2
  16. package/dist/browser/puppeteer-controller.js.map +1 -1
  17. package/dist/build-info.json +2 -2
  18. package/dist/design/design-systems.d.ts +50 -0
  19. package/dist/design/design-systems.d.ts.map +1 -1
  20. package/dist/design/design-systems.js +220 -35
  21. package/dist/design/design-systems.js.map +1 -1
  22. package/dist/index.d.ts.map +1 -1
  23. package/dist/index.js +13 -2
  24. package/dist/index.js.map +1 -1
  25. package/dist/ontology/hints.d.ts.map +1 -1
  26. package/dist/ontology/hints.js +5 -1
  27. package/dist/ontology/hints.js.map +1 -1
  28. package/dist/ontology/upstream-vocabulary.d.ts +1 -1
  29. package/dist/ontology/upstream-vocabulary.js +1 -1
  30. package/dist/ontology/vocabulary.d.ts.map +1 -1
  31. package/dist/ontology/vocabulary.js +1 -0
  32. package/dist/ontology/vocabulary.js.map +1 -1
  33. package/dist/tools/batch-macros.d.ts +27 -0
  34. package/dist/tools/batch-macros.d.ts.map +1 -0
  35. package/dist/tools/batch-macros.js +157 -0
  36. package/dist/tools/batch-macros.js.map +1 -0
  37. package/dist/tools/choreograph.d.ts +4 -0
  38. package/dist/tools/choreograph.d.ts.map +1 -1
  39. package/dist/tools/choreograph.js +12 -2
  40. package/dist/tools/choreograph.js.map +1 -1
  41. package/dist/tools/compact-descriptions.js +3 -3
  42. package/dist/tools/compact-descriptions.js.map +1 -1
  43. package/dist/tools/definitions.d.ts.map +1 -1
  44. package/dist/tools/definitions.js +122 -15
  45. package/dist/tools/definitions.js.map +1 -1
  46. package/dist/tools/engine-lists.d.ts +2 -2
  47. package/dist/tools/engine-lists.js +2 -2
  48. package/dist/tools/engine-methods.d.ts.map +1 -1
  49. package/dist/tools/engine-methods.js +3 -0
  50. package/dist/tools/engine-methods.js.map +1 -1
  51. package/dist/tools/engine-surface.d.ts +1 -1
  52. package/dist/tools/engine-surface.d.ts.map +1 -1
  53. package/dist/tools/engine-surface.js +52 -6
  54. package/dist/tools/engine-surface.js.map +1 -1
  55. package/dist/tools/export-file-check.d.ts +31 -0
  56. package/dist/tools/export-file-check.d.ts.map +1 -0
  57. package/dist/tools/export-file-check.js +103 -0
  58. package/dist/tools/export-file-check.js.map +1 -0
  59. package/dist/tools/export-file-receipt.d.ts +56 -0
  60. package/dist/tools/export-file-receipt.d.ts.map +1 -0
  61. package/dist/tools/export-file-receipt.js +151 -0
  62. package/dist/tools/export-file-receipt.js.map +1 -0
  63. package/dist/tools/handlers/beats.d.ts +7 -44
  64. package/dist/tools/handlers/beats.d.ts.map +1 -1
  65. package/dist/tools/handlers/export.d.ts.map +1 -1
  66. package/dist/tools/handlers/export.js +31 -6
  67. package/dist/tools/handlers/export.js.map +1 -1
  68. package/dist/tools/handlers/generate.d.ts +41 -270
  69. package/dist/tools/handlers/generate.d.ts.map +1 -1
  70. package/dist/tools/handlers.d.ts +84 -1
  71. package/dist/tools/handlers.d.ts.map +1 -1
  72. package/dist/tools/handlers.js +389 -82
  73. package/dist/tools/handlers.js.map +1 -1
  74. package/dist/tools/lane.d.ts +34 -0
  75. package/dist/tools/lane.d.ts.map +1 -0
  76. package/dist/tools/lane.js +210 -0
  77. package/dist/tools/lane.js.map +1 -0
  78. package/dist/tools/minimal-descriptions.d.ts.map +1 -1
  79. package/dist/tools/minimal-descriptions.js +3 -2
  80. package/dist/tools/minimal-descriptions.js.map +1 -1
  81. package/dist/tools/nested-ignored.d.ts +16 -0
  82. package/dist/tools/nested-ignored.d.ts.map +1 -0
  83. package/dist/tools/nested-ignored.js +83 -0
  84. package/dist/tools/nested-ignored.js.map +1 -0
  85. package/dist/tools/shape-params.d.ts +2 -2
  86. package/dist/tools/shape-params.d.ts.map +1 -1
  87. package/dist/tools/shape-params.js +9 -2
  88. package/dist/tools/shape-params.js.map +1 -1
  89. package/dist/tools/stick-vocabulary.d.ts +4 -4
  90. package/dist/tools/stick-vocabulary.d.ts.map +1 -1
  91. package/dist/tools/stick-vocabulary.js +8 -4
  92. package/dist/tools/stick-vocabulary.js.map +1 -1
  93. package/dist/tools/timeline.d.ts +136 -0
  94. package/dist/tools/timeline.d.ts.map +1 -0
  95. package/dist/tools/timeline.js +1036 -0
  96. package/dist/tools/timeline.js.map +1 -0
  97. package/dist/tools/toolkits.d.ts +1 -1
  98. package/dist/tools/toolkits.d.ts.map +1 -1
  99. package/dist/tools/toolkits.js +12 -2
  100. package/dist/tools/toolkits.js.map +1 -1
  101. package/dist/types/code-generator.d.ts +66 -3
  102. package/dist/types/code-generator.d.ts.map +1 -1
  103. package/dist/types/code-generator.js +629 -96
  104. package/dist/types/code-generator.js.map +1 -1
  105. package/dist/types/schemas.d.ts +5278 -24999
  106. package/dist/types/schemas.d.ts.map +1 -1
  107. package/dist/types/schemas.js +93 -40
  108. package/dist/types/schemas.js.map +1 -1
  109. package/manifest.json +5 -1
  110. package/package.json +8 -7
@@ -0,0 +1,34 @@
1
+ /**
2
+ * THE AGENT LANE (PINEPAPER_TOOLKIT=lane): five tools that build, animate, pattern, export and check a scene, with
3
+ * the lessons an agent otherwise learns by failing folded into the descriptions of the tools they belong to.
4
+ *
5
+ * Why it exists (owner, 2026-10-26): an agent given the default surface loads ~170 tool schemas and still needed a
6
+ * separate lessons file to build a simple titled animation — the keyframe shape, the words of a text going in
7
+ * properties, a position being the item's centre. The lane makes the contract small enough to read whole (≤ 10k
8
+ * tokens, tools + instructions), and correct enough that nothing outside it is needed.
9
+ *
10
+ * Every lane tool is an EXISTING tool with its existing handler. The lane changes only what the agent is shown: a
11
+ * description written for this surface, and an input schema that is a strict subset of the tool's full one (so any
12
+ * call the lane teaches is a call the full server accepts; lane.test.ts holds that). Nothing here is a second
13
+ * implementation, and a lane call is billed, validated and reported exactly as the same call on the full surface.
14
+ */
15
+ /** The five, in the order an agent uses them. */
16
+ export declare const LANE_TOOL_NAMES: readonly ["pinepaper_agent_batch_execute", "pinepaper_keyframe_animate", "pinepaper_pattern", "pinepaper_agent_export", "pinepaper_lint_scene"];
17
+ /** 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: five 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.\nUse pinepaper_keyframe_animate to re-key one item afterwards, and pinepaper_pattern to move many named items with one declaration.\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. 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
+ interface LaneTool {
20
+ description: string;
21
+ inputSchema: Record<string, unknown>;
22
+ }
23
+ export declare const LANE_TOOLS: Readonly<Record<(typeof LANE_TOOL_NAMES)[number], LaneTool>>;
24
+ interface ToolLike {
25
+ name: string;
26
+ description?: string;
27
+ inputSchema: unknown;
28
+ }
29
+ /** The lane: the five tools, in lane order, each shown with its lane description and schema. */
30
+ export declare function applyLane<T extends ToolLike>(tools: T[]): T[];
31
+ /** The contract an agent loads for the lane: the instructions plus the five tools as tools/list sends them. */
32
+ export declare function laneContractText(tools: ToolLike[]): string;
33
+ export {};
34
+ //# sourceMappingURL=lane.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lane.d.ts","sourceRoot":"","sources":["../../src/tools/lane.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,iDAAiD;AACjD,eAAO,MAAM,eAAe,iJAMlB,CAAC;AAKX,qGAAqG;AACrG,eAAO,MAAM,iBAAiB,gsCAWiJ,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,CA8InF,CAAC;AAEF,UAAU,QAAQ;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,OAAO,CAAC;CACtB;AAED,gGAAgG;AAChG,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"}
@@ -0,0 +1,210 @@
1
+ /**
2
+ * THE AGENT LANE (PINEPAPER_TOOLKIT=lane): five tools that build, animate, pattern, export and check a scene, with
3
+ * the lessons an agent otherwise learns by failing folded into the descriptions of the tools they belong to.
4
+ *
5
+ * Why it exists (owner, 2026-10-26): an agent given the default surface loads ~170 tool schemas and still needed a
6
+ * separate lessons file to build a simple titled animation — the keyframe shape, the words of a text going in
7
+ * properties, a position being the item's centre. The lane makes the contract small enough to read whole (≤ 10k
8
+ * tokens, tools + instructions), and correct enough that nothing outside it is needed.
9
+ *
10
+ * Every lane tool is an EXISTING tool with its existing handler. The lane changes only what the agent is shown: a
11
+ * description written for this surface, and an input schema that is a strict subset of the tool's full one (so any
12
+ * call the lane teaches is a call the full server accepts; lane.test.ts holds that). Nothing here is a second
13
+ * implementation, and a lane call is billed, validated and reported exactly as the same call on the full surface.
14
+ */
15
+ /** The five, in the order an agent uses them. */
16
+ export const LANE_TOOL_NAMES = [
17
+ 'pinepaper_agent_batch_execute', // create / batch, with names
18
+ 'pinepaper_keyframe_animate', // animate / keyframe
19
+ 'pinepaper_pattern', // pattern (relations ride in the batch)
20
+ 'pinepaper_agent_export', // render / export, with the file receipt
21
+ 'pinepaper_lint_scene', // inspect / lint
22
+ ];
23
+ /** The one keyframe shape, said once and used by both tools that take keyframes. */
24
+ 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
+ /** 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: five tools that build an animated scene on a live canvas and export it to a file.
27
+
28
+ ORDER OF WORK:
29
+ 1. pinepaper_agent_batch_execute: ONE call with the canvas size, the background, every item, their keyframes and any relations.
30
+ 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.
32
+ Use pinepaper_keyframe_animate to re-key one item afterwards, and pinepaper_pattern to move many named items with one declaration.
33
+
34
+ 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).
36
+ Report a tool error as it is; do not write HTML or other code instead of these tools.
37
+ 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
+ const POSITION = {
39
+ type: 'object',
40
+ properties: { x: { type: 'number' }, y: { type: 'number' } },
41
+ description: "create: where the item goes, at the op's top level. It is the item's CENTRE unless properties.anchor names a corner.",
42
+ };
43
+ const KEYFRAMES = {
44
+ type: 'array',
45
+ items: {
46
+ type: 'object',
47
+ properties: {
48
+ time: { type: 'number', description: 'seconds' },
49
+ properties: { type: 'object', description: 'the values at this time: {"opacity":1}, {"x":960}' },
50
+ easing: { type: 'string', description: 'the move arriving at this key' },
51
+ },
52
+ required: ['time', 'properties'],
53
+ },
54
+ };
55
+ export const LANE_TOOLS = {
56
+ 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 created, in create order (only create ops count). The result lists their ids in itemIds; use those ids in later calls.
58
+
59
+ Each line is a correct op:
60
+ {"type":"set_canvas_size","width":1920,"height":1080}
61
+ {"type":"set_background","backgroundColor":"#0b1026"}
62
+ {"type":"create","itemType":"text","position":{"x":200,"y":130},"properties":{"content":"SIGNAL / NOISE","fontSize":72,"color":"#ffffff","anchor":"top-left","name":"title"}}
63
+ {"type":"create","itemType":"circle","position":{"x":300,"y":600},"properties":{"radius":40,"color":"#22d3ee","name":"dot"}}
64
+ {"type":"create","itemType":"rectangle","position":{"x":260,"y":900},"properties":{"width":120,"height":280,"color":"#38bdf8","anchor":"bottom-left","name":"bar-1"}}
65
+ {"type":"keyframe_animate","itemId":"$0","keyframes":[{"time":0,"properties":{"opacity":0}},{"time":1,"properties":{"opacity":1}}]}
66
+ {"type":"keyframe_animate","itemId":"$1","keyframes":[{"time":1,"properties":{"x":300}},{"time":7,"properties":{"x":1620},"easing":"easeInOut"}]}
67
+ {"type":"relation","sourceId":"$1","targetId":"$2","relationType":"orbits","relationOptions":{"radius":260,"speed":0.1667}}
68
+ {"type":"modify","itemId":"item_3","properties":{"color":"#f472b6"}}
69
+ {"type":"timeline","defaults":{"ease":"power2.out"},"tweens":[{"to":"bar-*","from":{"scaleY":0},"vars":{"scaleY":1},"duration":0.8,"at":0.5,"stagger":0.15}]}
70
+
71
+ RULES (each one has cost a failed build):
72
+ - 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.
73
+ - position is the item's CENTRE. A text grows both ways from it, so a title whose centre sits near an edge runs off the frame and the video shows "IGNAL / NOISE". When a spec gives a corner ("top-left at (200, 130)"), pass properties.anchor: "top-left" (or top-right, bottom-left, bottom-right). A bar that grows up from a baseline: anchor "bottom-left" at the baseline, key height.
74
+ - ${KEYFRAME_RULE}
75
+ - Two keyframe_animate ops on one item in a batch are merged into one track.
76
+ - 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
+ - Name every item (properties.name). pinepaper_pattern selects members by name, e.g. "bar-*".
78
+ - 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.
79
+ - set_canvas_size comes first; a video exports at the canvas size.
80
+ - 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
+
82
+ itemType: text, circle, rectangle, ellipse, star, triangle, polygon, line, arc, path, hexagon, diamond, arrow, heart.`,
83
+ inputSchema: {
84
+ type: 'object',
85
+ properties: {
86
+ operations: {
87
+ type: 'array',
88
+ items: {
89
+ type: 'object',
90
+ properties: {
91
+ type: { type: 'string', enum: ['set_canvas_size', 'set_background', 'create', 'modify', 'delete', 'group', 'keyframe_animate', 'relation', 'timeline'] },
92
+ width: { type: 'number', description: 'set_canvas_size' },
93
+ height: { type: 'number', description: 'set_canvas_size' },
94
+ backgroundColor: { type: 'string', description: 'set_background' },
95
+ itemType: { type: 'string', description: 'create' },
96
+ position: POSITION,
97
+ properties: { type: 'object', description: 'create / modify: everything about the item except where it goes' },
98
+ itemId: { type: 'string', description: 'modify / delete / keyframe_animate: an id from itemIds, or "$N"' },
99
+ itemIds: { type: 'array', items: { type: 'string' }, description: 'group: the parts of one object' },
100
+ groupName: { type: 'string', description: 'group' },
101
+ keyframes: { ...KEYFRAMES, description: 'keyframe_animate' },
102
+ append: { type: 'boolean', description: "keyframe_animate: add to the item's track instead of replacing it" },
103
+ sourceId: { type: 'string', description: 'relation: the item that moves' },
104
+ targetId: { type: 'string', description: 'relation: what it moves relative to' },
105
+ relationType: { type: 'string', description: 'relation' },
106
+ relationOptions: { type: 'object', description: 'relation: its parameters' },
107
+ tweens: { type: 'array', items: { type: 'object' }, description: 'timeline: the tweens' },
108
+ defaults: { type: 'object', description: 'timeline: {ease, duration}' },
109
+ duration: { type: 'number', description: 'timeline: the clip length (default: the last tween\'s end)' },
110
+ },
111
+ required: ['type'],
112
+ },
113
+ },
114
+ atomic: { type: 'boolean', description: 'default true: the first failure stops the call and removes the items it created (edits to existing items stay)' },
115
+ },
116
+ required: ['operations'],
117
+ },
118
+ },
119
+ pinepaper_keyframe_animate: {
120
+ description: `Give ONE existing item a timed track, after the batch: re-time a move, add a fade. itemId is an id from the batch result's itemIds (item_N). It REPLACES the item's track unless append: true.
121
+
122
+ ${KEYFRAME_RULE}
123
+
124
+ EXAMPLE: {"itemId":"item_2","keyframes":[{"time":1,"properties":{"x":300}},{"time":7,"properties":{"x":1620},"easing":"easeInOut"}]}`,
125
+ inputSchema: {
126
+ type: 'object',
127
+ properties: {
128
+ itemId: { type: 'string', description: 'item_N, from the batch result' },
129
+ keyframes: KEYFRAMES,
130
+ append: { type: 'boolean', description: "add these keys to the item's track instead of replacing it" },
131
+ },
132
+ required: ['itemId', 'keyframes'],
133
+ },
134
+ },
135
+ pinepaper_pattern: {
136
+ description: `Move many NAMED items with one stored declaration instead of a track on each. Change a parameter once and every member follows; remove it and they go back.
137
+
138
+ KINDS:
139
+ - phase_wave: members move on a sine, each a phase after the last. params: property ("y" default, "x", "rotation", "opacity"), amplitude (px, degrees or 0..1), period (seconds a cycle), wavelength (members a cycle). window {from, to} in seconds limits when it plays.
140
+ - stagger: each member's start is delayed by its place. params: step (seconds between neighbours), start, order (index, reverse, center, edges).
141
+ members: {"names": "bar-*"} ('*' matches any run), or an array of ids. A name that matches nothing is reported.
142
+ A relation between two items (orbits, follows) is a relation op in pinepaper_agent_batch_execute, not a pattern.
143
+
144
+ ACTIONS: create (id, kind, members, params) · modify (id + what changes) · remove (id) · list · get (id).
145
+ EXAMPLE: {"action":"create","id":"wave","kind":"phase_wave","members":{"names":"bar-*"},"params":{"amplitude":12,"period":1.2,"wavelength":5}}`,
146
+ inputSchema: {
147
+ type: 'object',
148
+ properties: {
149
+ action: { type: 'string', enum: ['create', 'modify', 'remove', 'list', 'get'] },
150
+ id: { type: 'string', description: "the pattern's name; required except for list" },
151
+ kind: { type: 'string', enum: ['phase_wave', 'stagger'] },
152
+ members: {
153
+ description: 'an array of ids, or {"names": "bar-*"}',
154
+ oneOf: [
155
+ { type: 'array', items: { type: 'string' } },
156
+ { type: 'object', properties: { names: { oneOf: [{ type: 'string' }, { type: 'array', items: { type: 'string' } }] }, ids: { type: 'array', items: { type: 'string' } } } },
157
+ ],
158
+ },
159
+ params: { type: 'object' },
160
+ window: { type: 'object', properties: { from: { type: 'number' }, to: { type: 'number' } } },
161
+ },
162
+ required: ['action'],
163
+ },
164
+ },
165
+ pinepaper_agent_export: {
166
+ description: `Render the scene to a file and return where it is.
167
+
168
+ 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
+ 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
+
171
+ RETURNS "File: <path>", plus file {sha256, bytes, frameDigest, frames}: the sha256 of the file on disk, and a digest of every rendered frame (two renders of the same scene agree frame for frame when their frameDigest agrees). 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
+ inputSchema: {
173
+ type: 'object',
174
+ properties: {
175
+ format: { type: 'string', enum: ['mp4', 'webm', 'gif', 'png', 'svg', 'pdf'] },
176
+ duration: { type: 'number', description: 'video: seconds (default 5)' },
177
+ fps: { type: 'number', description: 'video: frames per second' },
178
+ time: { type: 'number', description: 'still: the moment to render, in seconds' },
179
+ deterministic: { type: 'boolean', description: 'mp4 / webm: the same scene gives the same bytes' },
180
+ },
181
+ required: ['format'],
182
+ },
183
+ },
184
+ pinepaper_lint_scene: {
185
+ 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
+ inputSchema: {
187
+ type: 'object',
188
+ properties: {
189
+ cap: { type: 'number', description: 'max suggestions (default 20)' },
190
+ },
191
+ },
192
+ },
193
+ };
194
+ /** The lane: the five tools, in lane order, each shown with its lane description and schema. */
195
+ export function applyLane(tools) {
196
+ const byName = new Map(tools.map((t) => [t.name, t]));
197
+ const out = [];
198
+ for (const name of LANE_TOOL_NAMES) {
199
+ const tool = byName.get(name);
200
+ if (!tool)
201
+ continue;
202
+ out.push({ ...tool, description: LANE_TOOLS[name].description, inputSchema: LANE_TOOLS[name].inputSchema });
203
+ }
204
+ return out;
205
+ }
206
+ /** The contract an agent loads for the lane: the instructions plus the five tools as tools/list sends them. */
207
+ export function laneContractText(tools) {
208
+ return LANE_INSTRUCTIONS + JSON.stringify(applyLane(tools));
209
+ }
210
+ //# sourceMappingURL=lane.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lane.js","sourceRoot":"","sources":["../../src/tools/lane.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"minimal-descriptions.d.ts","sourceRoot":"","sources":["../../src/tools/minimal-descriptions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAqBH,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAiPvD,CAAC"}
1
+ {"version":3,"file":"minimal-descriptions.d.ts","sourceRoot":"","sources":["../../src/tools/minimal-descriptions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAqBH,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAkPvD,CAAC"}
@@ -112,6 +112,7 @@ export const MINIMAL_DESCRIPTIONS = {
112
112
  pinepaper_manage_scenes: 'Scene CRUD. action: save|load|list|delete|rename|duplicate|reorder|info|export|import. name, sceneId, transition: none|fade|zoom-in|zoom-out.',
113
113
  pinepaper_scene_playback: 'Scene chain playback. action: create_chain|play|pause|resume|stop|toggle_loop|jump. sceneIds, defaultDuration (secs), loop.',
114
114
  pinepaper_sequence: 'Relative clip timing. action: place|resolve|list_forms. clips:[{duration, position?, label?}]. Forms: "<" ">" "+=1" "-=25%" label. "-=25%"=% of INSERTED clip, "<25%"=% of PREVIOUS.',
115
+ pinepaper_pattern: 'One stored declaration moves many items (no per-item keys). action: create|modify|remove|list|get. id, kind: phase_wave|stagger, members:{names|ids|tag}, params, window:{from,to}.',
115
116
  pinepaper_stagger: 'Delay across items. action: apply|preview|list_origins. itemIds (in order), count, opts:{each|amount, from: start|end|center|edges|random, grid:[r,c], axis, ease, seed}.',
116
117
  pinepaper_flip: 'Animate a layout change without describing it. action: record (before the change) | apply (after). itemIds, duration, easing, enter, stagger. Writes keyframes.',
117
118
  pinepaper_scene_graph: 'Interactive story/quiz scene graph. action: create|validate. graph: {start, nodes:[{id, prompt?, text?, kind?, answers?, next?, duration?, outcome?}]}, opts: {style?, scoreItemId?, subject?}.',
@@ -236,7 +237,7 @@ export const MINIMAL_DESCRIPTIONS = {
236
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.',
237
238
  pinepaper_measurement: 'Rulers/grid. action: set_rulers|set_grid|get_dimensions|set_snap. enabled, itemId.',
238
239
  // --- Guide & runtime config ---
239
- pinepaper_tool_guide: 'Get detailed guidance for any tool, category, or the full AI Agent Guide.',
240
- pinepaper_set_toolkit: 'Switch toolkit (full|agent|diagram|map|font|minimal) and/or verbosity (verbose|compact|minimal) at runtime.',
240
+ pinepaper_tool_guide: 'Get detailed guidance for any tool, category, or the full AI Agent Guide. A five-tool agent lane for scripted builds: PINEPAPER_TOOLKIT=lane.',
241
+ pinepaper_set_toolkit: 'Switch toolkit (full|agent|diagram|map|font|minimal|lane) and/or verbosity (verbose|compact|minimal) at runtime.',
241
242
  };
242
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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"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * NESTED ARGUMENTS A TOOL DROPPED, NAMED AT THEIR PATH (AR-1 R2, docs/plans/RECEIPTS_AND_PATTERNS.md in FxTool).
3
+ *
4
+ * The top-level check (ignoredArgumentKeys in handlers.ts) caught `loop` beside agent_export's options, but not
5
+ * `keyframes[0].ease` where the schema says `easing`, nor a key inside a batch entry: zod strips both, the call answers
6
+ * success, and the caller believes the value was used.
7
+ *
8
+ * This walks the tool's PUBLISHED JSON schema beside the arguments. Inside an object the schema closes (it lists
9
+ * `properties` and does not set `additionalProperties`), a key it does not list is reported with its full path.
10
+ * Anywhere the schema is open, or ambiguous (a union whose branches disagree), nothing below is reported: a working
11
+ * argument must never be called ignored. nested-ignored-coverage.test.ts holds every zod schema a handler parses to
12
+ * the same rule, so a nested key a handler reads is published.
13
+ */
14
+ /** Paths below the top level that the tool's published schema closes and does not list. */
15
+ export declare function nestedIgnoredPaths(inputSchema: unknown, args: Record<string, unknown>): string[];
16
+ //# sourceMappingURL=nested-ignored.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nested-ignored.d.ts","sourceRoot":"","sources":["../../src/tools/nested-ignored.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAwDH,2FAA2F;AAC3F,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,EAAE,CAKhG"}
@@ -0,0 +1,83 @@
1
+ /**
2
+ * NESTED ARGUMENTS A TOOL DROPPED, NAMED AT THEIR PATH (AR-1 R2, docs/plans/RECEIPTS_AND_PATTERNS.md in FxTool).
3
+ *
4
+ * The top-level check (ignoredArgumentKeys in handlers.ts) caught `loop` beside agent_export's options, but not
5
+ * `keyframes[0].ease` where the schema says `easing`, nor a key inside a batch entry: zod strips both, the call answers
6
+ * success, and the caller believes the value was used.
7
+ *
8
+ * This walks the tool's PUBLISHED JSON schema beside the arguments. Inside an object the schema closes (it lists
9
+ * `properties` and does not set `additionalProperties`), a key it does not list is reported with its full path.
10
+ * Anywhere the schema is open, or ambiguous (a union whose branches disagree), nothing below is reported: a working
11
+ * argument must never be called ignored. nested-ignored-coverage.test.ts holds every zod schema a handler parses to
12
+ * the same rule, so a nested key a handler reads is published.
13
+ */
14
+ const MAX_REPORTED = 50;
15
+ const MAX_ARRAY_ITEMS = 200;
16
+ function isObj(v) {
17
+ return !!v && typeof v === 'object' && !Array.isArray(v);
18
+ }
19
+ /** The object branches of a JSON-schema node: itself, or each branch of a oneOf/anyOf/allOf. */
20
+ function branches(node) {
21
+ const out = [];
22
+ for (const k of ['oneOf', 'anyOf', 'allOf']) {
23
+ const list = node[k];
24
+ if (Array.isArray(list))
25
+ for (const b of list)
26
+ if (isObj(b))
27
+ out.push(...branches(b));
28
+ }
29
+ if (!out.length)
30
+ out.push(node);
31
+ return out;
32
+ }
33
+ /** Keys a closed object node lists, or null when the node lets any key through. */
34
+ function closedKeys(node) {
35
+ if (!isObj(node.properties))
36
+ return null;
37
+ if (node.additionalProperties !== undefined && node.additionalProperties !== false)
38
+ return null;
39
+ if (node.patternProperties)
40
+ return null;
41
+ return new Set(Object.keys(node.properties));
42
+ }
43
+ function walk(node, value, path, out) {
44
+ if (out.length >= MAX_REPORTED)
45
+ return;
46
+ if (Array.isArray(value)) {
47
+ const items = node.items;
48
+ if (!isObj(items))
49
+ return;
50
+ const n = Math.min(value.length, MAX_ARRAY_ITEMS);
51
+ for (let i = 0; i < n; i++)
52
+ walk(items, value[i], `${path}[${i}]`, out);
53
+ return;
54
+ }
55
+ if (!isObj(value))
56
+ return;
57
+ const objs = branches(node).filter((b) => isObj(b.properties) || b.additionalProperties !== undefined || b.type === 'object');
58
+ if (!objs.length)
59
+ return;
60
+ // A union: report a key only when EVERY object branch closes and none lists it; recurse only when one branch does.
61
+ const keySets = objs.map(closedKeys);
62
+ const allClosed = keySets.every((s) => s !== null);
63
+ for (const [k, v] of Object.entries(value)) {
64
+ const p = path ? `${path}.${k}` : k;
65
+ const listing = objs.filter((b) => isObj(b.properties) && b.properties[k] !== undefined);
66
+ if (!listing.length) {
67
+ if (allClosed && path)
68
+ out.push(p); // top level is ignoredArgumentKeys' job
69
+ continue;
70
+ }
71
+ if (listing.length === 1)
72
+ walk(listing[0].properties[k], v, p, out);
73
+ }
74
+ }
75
+ /** Paths below the top level that the tool's published schema closes and does not list. */
76
+ export function nestedIgnoredPaths(inputSchema, args) {
77
+ if (!isObj(inputSchema) || !isObj(args))
78
+ return [];
79
+ const out = [];
80
+ walk(inputSchema, args, '', out);
81
+ return out;
82
+ }
83
+ //# sourceMappingURL=nested-ignored.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nested-ignored.js","sourceRoot":"","sources":["../../src/tools/nested-ignored.ts"],"names":[],"mappings":"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"}
@@ -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 29df847f7e9e90d9e77ba6e48519de7bc00221b4
6
+ * Source: FxTool origin/main 08fb65516faf9c9b370c8868533993b7bba05508
7
7
  * js/PinePaper.js + 5 shape modules
8
- * sha256: 710df17b381d52e3
8
+ * sha256: 30f26a319ddc7d5a
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,EAoGlD,CAAC;AAEH;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,EAAE,SAAS,MAAM,EAqBjD,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,mBAAmB,EAAE,SAAS,MAAM,EAoE/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"}
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,EAsGlD,CAAC;AAEH;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,EAAE,SAAS,MAAM,EAsBjD,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,mBAAmB,EAAE,SAAS,MAAM,EAwE/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 29df847f7e9e90d9e77ba6e48519de7bc00221b4
6
+ * Source: FxTool origin/main 08fb65516faf9c9b370c8868533993b7bba05508
7
7
  * js/PinePaper.js + 5 shape modules
8
- * sha256: 710df17b381d52e3
8
+ * sha256: 30f26a319ddc7d5a
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
@@ -17,6 +17,7 @@
17
17
  export const ACCEPTED_CREATE_PARAMS = Object.freeze([
18
18
  '_bulkCreate',
19
19
  '_ppColorRefused',
20
+ 'alias',
20
21
  'alignment',
21
22
  'anchor',
22
23
  'angle',
@@ -105,6 +106,7 @@ export const ACCEPTED_CREATE_PARAMS = Object.freeze([
105
106
  'tailDirection',
106
107
  'tailSize',
107
108
  'tension',
109
+ 'textAlign',
108
110
  'textDirection',
109
111
  'through',
110
112
  'timeOffset',
@@ -122,6 +124,7 @@ export const ACCEPTED_CREATE_PARAMS = Object.freeze([
122
124
  */
123
125
  export const NORMALIZE_PARAM_READS = Object.freeze([
124
126
  '_ppColorRefused',
127
+ '_ppTransforms',
125
128
  'color',
126
129
  'delay',
127
130
  'fill',
@@ -147,6 +150,8 @@ export const NORMALIZE_PARAM_READS = Object.freeze([
147
150
  * NORMALIZE_PARAM_READS (modify normalises too), the keys modify_item can act on.
148
151
  */
149
152
  export const MODIFY_CHANGE_READS = Object.freeze([
153
+ 'alias',
154
+ 'anchor',
150
155
  'animationIntensity',
151
156
  'animationSpeed',
152
157
  'animationType',
@@ -180,6 +185,7 @@ export const MODIFY_CHANGE_READS = Object.freeze([
180
185
  'keyframes',
181
186
  'label',
182
187
  'motionBlur',
188
+ 'name',
183
189
  'opacity',
184
190
  'paintedMedium',
185
191
  'palette',
@@ -203,6 +209,7 @@ export const MODIFY_CHANGE_READS = Object.freeze([
203
209
  'strokeColor',
204
210
  'strokePosition',
205
211
  'strokeWidth',
212
+ 'textAlign',
206
213
  'textColor',
207
214
  'textDirection',
208
215
  'timeOffset',
@@ -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":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,oFAAoF;AACpF,MAAM,CAAC,MAAM,sBAAsB,GAAsB,MAAM,CAAC,MAAM,CAAC;IACrE,aAAa;IACb,iBAAiB;IACjB,OAAO;IACP,WAAW;IACX,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,gBAAgB;IAChB,mBAAmB;IACnB,iBAAiB;IACjB,oBAAoB;IACpB,gBAAgB;IAChB,eAAe;IACf,MAAM;IACN,IAAI;IACJ,WAAW;IACX,QAAQ;IACR,cAAc;IACd,QAAQ;IACR,OAAO;IACP,SAAS;IACT,cAAc;IACd,SAAS;IACT,aAAa;IACb,WAAW;IACX,SAAS;IACT,KAAK;IACL,WAAW;IACX,WAAW;IACX,aAAa;IACb,KAAK;IACL,YAAY;IACZ,UAAU;IACV,WAAW;IACX,YAAY;IACZ,MAAM;IACN,OAAO;IACP,KAAK;IACL,QAAQ;IACR,KAAK;IACL,IAAI;IACJ,kBAAkB;IAClB,eAAe;IACf,WAAW;IACX,MAAM;IACN,OAAO;IACP,eAAe;IACf,OAAO;IACP,UAAU;IACV,UAAU;IACV,YAAY;IACZ,MAAM;IACN,KAAK;IACL,SAAS;IACT,QAAQ;IACR,eAAe;IACf,UAAU;IACV,aAAa;IACb,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,SAAS;IACT,kBAAkB;IAClB,SAAS;IACT,UAAU;IACV,UAAU;IACV,aAAa;IACb,gBAAgB;IAChB,UAAU;IACV,YAAY;IACZ,aAAa;IACb,cAAc;IACd,WAAW;IACX,OAAO;IACP,UAAU;IACV,cAAc;IACd,MAAM;IACN,QAAQ;IACR,WAAW;IACX,WAAW;IACX,SAAS;IACT,KAAK;IACL,YAAY;IACZ,WAAW;IACX,aAAa;IACb,YAAY;IACZ,gBAAgB;IAChB,aAAa;IACb,eAAe;IACf,UAAU;IACV,SAAS;IACT,WAAW;IACX,eAAe;IACf,SAAS;IACT,YAAY;IACZ,IAAI;IACJ,KAAK;IACL,SAAS;IACT,OAAO;IACP,GAAG;IACH,GAAG;CACJ,CAAC,CAAC;AAEH;;;;GAIG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAsB,MAAM,CAAC,MAAM,CAAC;IACpE,iBAAiB;IACjB,eAAe;IACf,OAAO;IACP,OAAO;IACP,MAAM;IACN,WAAW;IACX,QAAQ;IACR,WAAW;IACX,QAAQ;IACR,UAAU;IACV,SAAS;IACT,SAAS;IACT,UAAU;IACV,QAAQ;IACR,aAAa;IACb,YAAY;IACZ,WAAW;IACX,OAAO;IACP,OAAO;IACP,GAAG;IACH,GAAG;CACJ,CAAC,CAAC;AAEH;;;GAGG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAsB,MAAM,CAAC,MAAM,CAAC;IAClE,OAAO;IACP,QAAQ;IACR,oBAAoB;IACpB,gBAAgB;IAChB,eAAe;IACf,SAAS;IACT,WAAW;IACX,QAAQ;IACR,QAAQ;IACR,cAAc;IACd,OAAO;IACP,SAAS;IACT,SAAS;IACT,aAAa;IACb,WAAW;IACX,YAAY;IACZ,WAAW;IACX,WAAW;IACX,aAAa;IACb,KAAK;IACL,YAAY;IACZ,UAAU;IACV,WAAW;IACX,aAAa;IACb,WAAW;IACX,YAAY;IACZ,OAAO;IACP,KAAK;IACL,QAAQ;IACR,QAAQ;IACR,KAAK;IACL,eAAe;IACf,WAAW;IACX,OAAO;IACP,YAAY;IACZ,MAAM;IACN,SAAS;IACT,eAAe;IACf,SAAS;IACT,UAAU;IACV,kBAAkB;IAClB,SAAS;IACT,UAAU;IACV,UAAU;IACV,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,aAAa;IACb,UAAU;IACV,YAAY;IACZ,aAAa;IACb,cAAc;IACd,WAAW;IACX,KAAK;IACL,cAAc;IACd,YAAY;IACZ,aAAa;IACb,gBAAgB;IAChB,aAAa;IACb,WAAW;IACX,WAAW;IACX,eAAe;IACf,YAAY;IACZ,SAAS;IACT,YAAY;IACZ,WAAW;IACX,KAAK;IACL,SAAS;IACT,OAAO;IACP,GAAG;IACH,GAAG;CACJ,CAAC,CAAC;AAEH;;;;GAIG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAgD,MAAM,CAAC,MAAM,CAAC;IAC3F,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC;IACnC,cAAc,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,cAAc,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC5E,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;IACxD,kBAAkB,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,kBAAkB,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;IAC7E,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC;IAC/B,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC;IACnC,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;IAC7B,gBAAgB,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,gBAAgB,CAAC,CAAC;IACnD,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC;IACjC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;IAC/D,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;IAC1B,eAAe,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC;IACjD,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,CAAC;IACvC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;CACvD,CAAC,CAAC;AAEH,oEAAoE;AACpE,MAAM,CAAC,MAAM,kBAAkB,GAAgD,MAAM,CAAC,MAAM,CAAC;IAC3F,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IACrD,aAAa,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAC3D,aAAa,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,cAAc,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,EAAE,UAAU,CAAC,CAAC;IACjH,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IACtD,gBAAgB,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9D,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9D,aAAa,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,cAAc,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,EAAE,UAAU,CAAC,CAAC;IACjH,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9E,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAClF,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAClF,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IACvD,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IACpD,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAClF,eAAe,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,cAAc,EAAE,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;IACpH,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IACvD,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IACrD,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IACvD,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IACxD,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAC1E,aAAa,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IACrF,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IACjF,cAAc,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,cAAc,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IACrF,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,cAAc,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IACzE,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/D,eAAe,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,cAAc,EAAE,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,EAAE,UAAU,CAAC,CAAC;IACpI,uBAAuB,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,cAAc,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,EAAE,UAAU,CAAC,CAAC;IAC3H,sBAAsB,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,EAAE,UAAU,CAAC,CAAC;IAC3H,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,kBAAkB,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAClF,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAClF,gBAAgB,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,CAAC,CAAC;IACxF,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAC1E,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAClE,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAClE,aAAa,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;CACtF,CAAC,CAAC;AAEH;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAsB,MAAM,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC"}
@@ -9,11 +9,11 @@
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 29df847f7e9e90d9e77ba6e48519de7bc00221b4
12
+ * Source: FxTool origin/main 08fb65516faf9c9b370c8868533993b7bba05508
13
13
  * js/vendor/stick/figure-rigged.js
14
- * sha256: bb2faa1ff5f0f83a
14
+ * sha256: cf8f8bfc9b37b0aa
15
15
  */
16
- /** 9 names — how a figure walks — gait. */
16
+ /** 10 names — how a figure walks — gait. */
17
17
  export declare const STICK_GAITS: readonly string[];
18
18
  /** 27 names — a single pose, and the entries of a `poses` track. */
19
19
  export declare const STICK_POSES: readonly string[];
@@ -21,6 +21,6 @@ export declare const STICK_POSES: readonly string[];
21
21
  export declare const STICK_SEQUENCES: readonly string[];
22
22
  /** 17 names — a face — expression, and the entries of `expressions`. */
23
23
  export declare const STICK_EXPRESSIONS: readonly string[];
24
- /** 4 names — something held in hand — prop. */
24
+ /** 7 names — something held in hand — prop. */
25
25
  export declare const STICK_PROPS: readonly string[];
26
26
  //# sourceMappingURL=stick-vocabulary.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"stick-vocabulary.d.ts","sourceRoot":"","sources":["../../src/tools/stick-vocabulary.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,2CAA2C;AAC3C,eAAO,MAAM,WAAW,EAAE,SAAS,MAAM,EAUvC,CAAC;AAEH,oEAAoE;AACpE,eAAO,MAAM,WAAW,EAAE,SAAS,MAAM,EA4BvC,CAAC;AAEH,gDAAgD;AAChD,eAAO,MAAM,eAAe,EAAE,SAAS,MAAM,EAe3C,CAAC;AAEH,wEAAwE;AACxE,eAAO,MAAM,iBAAiB,EAAE,SAAS,MAAM,EAkB7C,CAAC;AAEH,+CAA+C;AAC/C,eAAO,MAAM,WAAW,EAAE,SAAS,MAAM,EAKvC,CAAC"}
1
+ {"version":3,"file":"stick-vocabulary.d.ts","sourceRoot":"","sources":["../../src/tools/stick-vocabulary.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,4CAA4C;AAC5C,eAAO,MAAM,WAAW,EAAE,SAAS,MAAM,EAWvC,CAAC;AAEH,oEAAoE;AACpE,eAAO,MAAM,WAAW,EAAE,SAAS,MAAM,EA4BvC,CAAC;AAEH,gDAAgD;AAChD,eAAO,MAAM,eAAe,EAAE,SAAS,MAAM,EAe3C,CAAC;AAEH,wEAAwE;AACxE,eAAO,MAAM,iBAAiB,EAAE,SAAS,MAAM,EAkB7C,CAAC;AAEH,+CAA+C;AAC/C,eAAO,MAAM,WAAW,EAAE,SAAS,MAAM,EAQvC,CAAC"}
@@ -9,11 +9,11 @@
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 29df847f7e9e90d9e77ba6e48519de7bc00221b4
12
+ * Source: FxTool origin/main 08fb65516faf9c9b370c8868533993b7bba05508
13
13
  * js/vendor/stick/figure-rigged.js
14
- * sha256: bb2faa1ff5f0f83a
14
+ * sha256: cf8f8bfc9b37b0aa
15
15
  */
16
- /** 9 names — how a figure walks — gait. */
16
+ /** 10 names — how a figure walks — gait. */
17
17
  export const STICK_GAITS = Object.freeze([
18
18
  'walk',
19
19
  'stroll',
@@ -21,6 +21,7 @@ export const STICK_GAITS = Object.freeze([
21
21
  'sneak',
22
22
  'run',
23
23
  'trudge',
24
+ 'carry',
24
25
  'strut',
25
26
  'skip',
26
27
  'tiptoe',
@@ -92,11 +93,14 @@ export const STICK_EXPRESSIONS = Object.freeze([
92
93
  'curious',
93
94
  'panicked',
94
95
  ]);
95
- /** 4 names — something held in hand — prop. */
96
+ /** 7 names — something held in hand — prop. */
96
97
  export const STICK_PROPS = Object.freeze([
97
98
  'tray',
98
99
  'box',
99
100
  'cup',
101
+ 'parcel',
102
+ 'package',
103
+ 'bag',
100
104
  'sign',
101
105
  ]);
102
106
  //# sourceMappingURL=stick-vocabulary.js.map