@pinepaper.studio/mcp-server 1.5.1 → 1.5.4

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 (96) hide show
  1. package/README.md +6 -4
  2. package/dist/agent/types.d.ts +16 -16
  3. package/dist/browser/puppeteer-controller.d.ts +5 -1
  4. package/dist/browser/puppeteer-controller.d.ts.map +1 -1
  5. package/dist/browser/puppeteer-controller.js +11 -3
  6. package/dist/browser/puppeteer-controller.js.map +1 -1
  7. package/dist/browser/url-target.d.ts +26 -0
  8. package/dist/browser/url-target.d.ts.map +1 -0
  9. package/dist/browser/url-target.js +50 -0
  10. package/dist/browser/url-target.js.map +1 -0
  11. package/dist/index.d.ts.map +1 -1
  12. package/dist/index.js +128 -109
  13. package/dist/index.js.map +1 -1
  14. package/dist/ontology/design-graph.d.ts +85 -0
  15. package/dist/ontology/design-graph.d.ts.map +1 -0
  16. package/dist/ontology/design-graph.js +944 -0
  17. package/dist/ontology/design-graph.js.map +1 -0
  18. package/dist/ontology/hints.d.ts +71 -0
  19. package/dist/ontology/hints.d.ts.map +1 -0
  20. package/dist/ontology/hints.js +189 -0
  21. package/dist/ontology/hints.js.map +1 -0
  22. package/dist/ontology/index.d.ts +11 -0
  23. package/dist/ontology/index.d.ts.map +1 -0
  24. package/dist/ontology/index.js +14 -0
  25. package/dist/ontology/index.js.map +1 -0
  26. package/dist/ontology/semantic-vocabulary.d.ts +12 -0
  27. package/dist/ontology/semantic-vocabulary.d.ts.map +1 -0
  28. package/dist/ontology/semantic-vocabulary.js +26 -0
  29. package/dist/ontology/semantic-vocabulary.js.map +1 -0
  30. package/dist/ontology/types.d.ts +255 -0
  31. package/dist/ontology/types.d.ts.map +1 -0
  32. package/dist/ontology/types.js +10 -0
  33. package/dist/ontology/types.js.map +1 -0
  34. package/dist/ontology/validator.d.ts +36 -0
  35. package/dist/ontology/validator.d.ts.map +1 -0
  36. package/dist/ontology/validator.js +374 -0
  37. package/dist/ontology/validator.js.map +1 -0
  38. package/dist/ontology/vocabulary.d.ts +34 -0
  39. package/dist/ontology/vocabulary.d.ts.map +1 -0
  40. package/dist/ontology/vocabulary.js +429 -0
  41. package/dist/ontology/vocabulary.js.map +1 -0
  42. package/dist/prompts/index.d.ts.map +1 -1
  43. package/dist/prompts/index.js +146 -0
  44. package/dist/prompts/index.js.map +1 -1
  45. package/dist/tools/compact-descriptions.d.ts +5 -2
  46. package/dist/tools/compact-descriptions.d.ts.map +1 -1
  47. package/dist/tools/compact-descriptions.js +56 -235
  48. package/dist/tools/compact-descriptions.js.map +1 -1
  49. package/dist/tools/definitions.d.ts +1 -1
  50. package/dist/tools/definitions.d.ts.map +1 -1
  51. package/dist/tools/definitions.js +1842 -1784
  52. package/dist/tools/definitions.js.map +1 -1
  53. package/dist/tools/handlers/camera.d.ts +19 -0
  54. package/dist/tools/handlers/camera.d.ts.map +1 -0
  55. package/dist/tools/handlers/camera.js +94 -0
  56. package/dist/tools/handlers/camera.js.map +1 -0
  57. package/dist/tools/handlers/export.d.ts +12 -0
  58. package/dist/tools/handlers/export.d.ts.map +1 -0
  59. package/dist/tools/handlers/export.js +30 -0
  60. package/dist/tools/handlers/export.js.map +1 -0
  61. package/dist/tools/handlers/font.d.ts +12 -0
  62. package/dist/tools/handlers/font.d.ts.map +1 -0
  63. package/dist/tools/handlers/font.js +135 -0
  64. package/dist/tools/handlers/font.js.map +1 -0
  65. package/dist/tools/handlers/maps.d.ts +19 -0
  66. package/dist/tools/handlers/maps.d.ts.map +1 -0
  67. package/dist/tools/handlers/maps.js +184 -0
  68. package/dist/tools/handlers/maps.js.map +1 -0
  69. package/dist/tools/handlers/ontology.d.ts +20 -0
  70. package/dist/tools/handlers/ontology.d.ts.map +1 -0
  71. package/dist/tools/handlers/ontology.js +185 -0
  72. package/dist/tools/handlers/ontology.js.map +1 -0
  73. package/dist/tools/handlers/tool-guide.d.ts +14 -0
  74. package/dist/tools/handlers/tool-guide.d.ts.map +1 -0
  75. package/dist/tools/handlers/tool-guide.js +52 -0
  76. package/dist/tools/handlers/tool-guide.js.map +1 -0
  77. package/dist/tools/handlers.d.ts +18 -0
  78. package/dist/tools/handlers.d.ts.map +1 -1
  79. package/dist/tools/handlers.js +321 -574
  80. package/dist/tools/handlers.js.map +1 -1
  81. package/dist/tools/minimal-descriptions.d.ts +4 -0
  82. package/dist/tools/minimal-descriptions.d.ts.map +1 -1
  83. package/dist/tools/minimal-descriptions.js +65 -54
  84. package/dist/tools/minimal-descriptions.js.map +1 -1
  85. package/dist/tools/toolkits.d.ts.map +1 -1
  86. package/dist/tools/toolkits.js +67 -46
  87. package/dist/tools/toolkits.js.map +1 -1
  88. package/dist/types/code-generator.d.ts +49 -2
  89. package/dist/types/code-generator.d.ts.map +1 -1
  90. package/dist/types/code-generator.js +1456 -39
  91. package/dist/types/code-generator.js.map +1 -1
  92. package/dist/types/schemas.d.ts +1381 -404
  93. package/dist/types/schemas.d.ts.map +1 -1
  94. package/dist/types/schemas.js +426 -20
  95. package/dist/types/schemas.js.map +1 -1
  96. package/package.json +2 -2
package/dist/index.js CHANGED
@@ -12,7 +12,7 @@
12
12
  import { Server } from '@modelcontextprotocol/sdk/server/index.js';
13
13
  import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
14
14
  import { CallToolRequestSchema, ListToolsRequestSchema, ListResourcesRequestSchema, ReadResourceRequestSchema, ListPromptsRequestSchema, GetPromptRequestSchema, } from '@modelcontextprotocol/sdk/types.js';
15
- import { PINEPAPER_TOOLS, getToolsForVerbosity } from './tools/definitions.js';
15
+ import { PINEPAPER_TOOLS, getToolsForVerbosity, AI_AGENT_GUIDE } from './tools/definitions.js';
16
16
  import { getToolsForToolkit, detectToolkitFromEnvironment, detectVerbosityFromEnvironment, isToolkitExplicitlySet, isVerbosityExplicitlySet, getClientProfile, } from './tools/toolkits.js';
17
17
  import { handleToolCall, getExecutionMode } from './tools/handlers.js';
18
18
  import { initI18n, DEFAULT_LOCALE, } from './i18n/index.js';
@@ -22,14 +22,20 @@ import { PROMPTS, getPromptMessages } from './prompts/index.js';
22
22
  // =============================================================================
23
23
  const SERVER_INFO = {
24
24
  name: 'pinepaper-mcp',
25
- version: '1.5.1',
26
- description: 'MCP Server for PinePaper Studio - Create animated graphics with AI',
25
+ version: '1.5.4',
26
+ description: 'PinePaper Studio — canvas animation engine. Use PinePaper tools to create animations, videos, and graphics. NEVER generate HTML or React.',
27
27
  };
28
28
  // =============================================================================
29
29
  // RESOURCES (Documentation & Examples)
30
30
  // =============================================================================
31
31
  const RESOURCES = [
32
32
  // === CORE GUIDES (Start here) ===
33
+ {
34
+ uri: 'pinepaper://docs/agent-guide',
35
+ name: '🤖 AI Agent Guide',
36
+ description: 'Canonical 130-line workflow + tool-categories reference. Same content the pinepaper_tool_guide tool returns when called with no args. Available here so MCP clients can pull it as a resource without a tool round-trip.',
37
+ mimeType: 'text/markdown',
38
+ },
33
39
  {
34
40
  uri: 'pinepaper://docs/getting-started',
35
41
  name: '🚀 Getting Started',
@@ -137,131 +143,101 @@ const RESOURCES = [
137
143
  },
138
144
  ];
139
145
  const RESOURCE_CONTENTS = {
146
+ // Agent guide — single source of truth for the canonical workflow + tool
147
+ // categories text. Mirrors what pinepaper_tool_guide returns with no args
148
+ // so MCP clients can pull it via the resources API without a tool call.
149
+ 'pinepaper://docs/agent-guide': AI_AGENT_GUIDE,
140
150
  'pinepaper://docs/getting-started': `# Getting Started with PinePaper MCP
141
151
 
142
- ## Overview
152
+ ## IMPORTANT — Read This First
143
153
 
144
- PinePaper is a canvas-based animation tool with 121 tools for creating animated graphics, custom fonts, maps, diagrams, and more. This guide helps you find the right tools.
154
+ You are connected to PinePaper Studio via MCP tools. ALWAYS use these tools to create visual content.
155
+ NEVER create standalone HTML pages, React components, or web apps as a substitute. Do NOT use frontend design skills or CSS-only animations instead of PinePaper.
156
+ PinePaper tools ARE the implementation — they generate Paper.js/JavaScript code that runs on the canvas and produce Canvas 2D, SVG, MP4, GIF, PNG exports. If a tool fails, report the error — do NOT fall back to generating HTML pages.
157
+ The generated code is shown in tool responses and can be copied into PinePaper's Code Console.
145
158
 
146
- ## FIRST: Check Templates
159
+ ## Known Plugin Conflict
147
160
 
148
- PinePaper Studio includes pre-built templates for common use cases. **Templates already have animations configured** - you just change the content!
161
+ The **frontend-design** skill/plugin (from claude-plugins-official) conflicts with PinePaper. It instructs the agent to generate standalone HTML/CSS/JS pages for visual content, which overrides PinePaper tools. If the agent keeps generating HTML instead of calling PinePaper tools, disable the frontend-design plugin in your Claude settings for PinePaper sessions.
149
162
 
150
- **Before building from scratch, consider:**
151
- - Is there a template that matches this use case?
152
- - Can I modify an existing template instead of building new?
153
- - Templates save time: just update text, colors, or data
154
-
155
- **Use \`pinepaper_create_scene\` for complex animated scenes** - it's 4-8x faster than individual tool calls:
163
+ ## How to Create Anything (3 steps)
156
164
 
157
165
  \`\`\`
158
- pinepaper_create_scene
159
- backgroundColor: "#0a0a0a"
160
- items:
161
- - name: "sun", itemType: "circle", position: {x: 400, y: 300}, properties: {radius: 50, color: "#fbbf24"}
162
- - name: "earth", itemType: "circle", position: {x: 550, y: 300}, properties: {radius: 20, color: "#3b82f6"}
163
- relations:
164
- - source: "earth", target: "sun", type: "orbits", params: {radius: 150, speed: 0.5}
165
- animations:
166
- - target: "sun", type: "pulse", speed: 0.3
166
+ Step 1: pinepaper_agent_start_job → sets up canvas, returns canvasSize
167
+ Step 2: pinepaper_agent_batch_execute → ONE call with ALL items, animations, effects
168
+ Step 3: pinepaper_agent_end_job → returns screenshot for user validation
169
+ Then: pinepaper_agent_export → if user wants MP4, GIF, PNG, SVG, or PDF
167
170
  \`\`\`
168
171
 
169
- ## Tool Categories at a Glance
170
-
171
- | Category | Use When | Key Tools |
172
- |----------|----------|-----------|
173
- | **Scenes** | Multi-item animated scenes | \`pinepaper_create_scene\` (FASTEST) |
174
- | **Maps** | US states, world maps, choropleth | \`pinepaper_load_map\`, \`pinepaper_apply_data_colors\`, \`pinepaper_animate_map_regions\` |
175
- | **Shapes** | Circles, stars, text, rectangles | \`pinepaper_create_item\` |
176
- | **Animation** | Orbiting, following, pulsing | \`pinepaper_add_relation\`, \`pinepaper_animate\` |
177
- | **Masks** | Reveal effects, wipes, transitions | \`pinepaper_apply_animated_mask\` |
178
- | **Diagrams** | Flowcharts, UML, connections | \`pinepaper_create_diagram_shape\`, \`pinepaper_connect\` |
179
- | **Backgrounds** | Patterns, gradients, generators | \`pinepaper_execute_generator\` |
180
-
181
- ## Quick Examples
172
+ This is the ONLY workflow. Do not skip steps. Do not generate code files instead.
182
173
 
183
- ### Create a US Map with Animated Colors
184
- \`\`\`
185
- 1. pinepaper_load_map mapId: "usa", options: { projection: "albers" }
186
- 2. pinepaper_apply_data_colors data: { "CA": 100, "TX": 80, "NY": 70 }, options: { colorScale: "blues" }
187
- 3. pinepaper_animate_map_wave duration: 10, loop: true, colors: ["#ef4444", "#22c55e", "#3b82f6"]
188
- \`\`\`
189
-
190
- ### Create Orbiting Animation (Using create_scene - Recommended)
191
- \`\`\`
192
- pinepaper_create_scene
193
- items:
194
- - name: "sun", itemType: "circle", position: {x: 400, y: 300}, properties: {radius: 50, color: "#fbbf24"}
195
- - name: "planet", itemType: "circle", position: {x: 550, y: 300}, properties: {radius: 15, color: "#3b82f6"}
196
- relations:
197
- - source: "planet", target: "sun", type: "orbits"
198
- \`\`\`
174
+ ## Quick Example — Animated Solar System
199
175
 
200
- ### Create Reveal Animation
201
- \`\`\`
202
- 1. pinepaper_create_item type: "text", params: { x: 400, y: 300, content: "Hello", fontSize: 48 }
203
- 2. pinepaper_apply_animated_mask itemId: "item_1", preset: "wipeLeft", options: { duration: 0.5 }
176
+ Call \`pinepaper_agent_start_job\` with canvasPreset: "youtube", then call \`pinepaper_agent_batch_execute\` with:
177
+ \`\`\`json
178
+ {
179
+ "operations": [
180
+ {"type": "set_background", "backgroundColor": "#0a0a0a"},
181
+ {"type": "create", "itemType": "circle", "position": {"x": 960, "y": 540}, "properties": {"radius": 60, "color": "#fbbf24"}},
182
+ {"type": "create", "itemType": "circle", "position": {"x": 1160, "y": 540}, "properties": {"radius": 20, "color": "#3b82f6"}},
183
+ {"type": "relation", "sourceId": "$1", "targetId": "$0", "relationType": "orbits", "relationOptions": {"radius": 200, "speed": 0.5}},
184
+ {"type": "animate", "itemId": "$0", "animationType": "pulse", "animationOptions": {"speed": 0.3}},
185
+ {"type": "play_timeline", "action": "play", "duration": 10, "loop": true}
186
+ ]
187
+ }
204
188
  \`\`\`
189
+ Then call \`pinepaper_agent_end_job\` to see the result.
205
190
 
206
- ## Quick Start
207
-
208
- Agent mode connects automatically on first tool call. Just start creating!
209
-
210
- 1. **Check templates first** - existing designs just need content changes
211
- 2. **Use \`pinepaper_create_scene\`** for multi-item animated scenes (fastest)
212
- 3. **Or create items individually**: \`pinepaper_create_item\` for shapes/text
213
- 4. **Add animation**: \`pinepaper_add_relation\` for behavior-based animation
214
- 5. **Verify**: \`pinepaper_browser_screenshot\` to see your work
215
- 6. **Export**: \`pinepaper_export_svg\` to save
191
+ ## Operation Types (12)
216
192
 
217
- ## IMPORTANT: Welcome Template
218
-
219
- First-time visitors see a welcome template. Clear it with:
220
- - \`pinepaper_clear_canvas\` - removes all items
221
- - \`pinepaper_agent_reset\` - quick reset
222
-
223
- ## Key Concepts
224
-
225
- ### Items
226
- Everything on canvas has a registry ID (e.g., "item_1"). Use this ID for animations and modifications.
227
-
228
- ### Relations (Animation)
229
- Describe behavior between items:
230
- - \`orbits\`: Circular motion around target
231
- - \`follows\`: Move toward target with smoothing
232
- - \`attached_to\`: Fixed offset from parent
233
- - \`points_at\`: Rotate to face target
234
-
235
- ### Maps
236
- Built-in maps: \`world\`, \`worldHighRes\`, \`usa\` (US states)
237
- Load with \`pinepaper_load_map\`, animate with \`pinepaper_animate_map_regions\` or \`pinepaper_animate_map_wave\`
238
-
239
- ### Masks
240
- Reveal effects: wipeLeft, wipeRight, wipeUp, wipeDown, iris, irisOut, star, heart, curtainHorizontal, curtainVertical, cinematic, diagonalWipe, revealUp, revealDown
241
- Apply with \`pinepaper_apply_animated_mask\`
242
-
243
- ## Agent Workflow (Recommended)
244
-
245
- For AI agents, use the batch pipeline for maximum efficiency:
246
-
247
- 1. \`pinepaper_agent_start_job\` — clear canvas, set preset → returns canvasSize {width, height} for positioning
248
- 2. \`pinepaper_agent_batch_execute\` — ONE call with ALL operations (12 types: canvas, background, generators, items, animations, keyframes, relations, masks, effects, playback)
249
- 3. \`pinepaper_agent_end_job\` — returns screenshot for user validation
250
- 4. User reviews → modify specific items or start new job
251
-
252
- See the \`pinepaper_agent_batch_execute\` tool description for full operation reference.
193
+ | Type | Purpose |
194
+ |------|---------|
195
+ | set_canvas_size | Set dimensions or preset (instagram, youtube, tiktok) |
196
+ | set_background | Set background color |
197
+ | execute_generator | Procedural backgrounds (bokeh, gradients, waves, circuits) |
198
+ | create | Add items: text, circle, rectangle, star, triangle, polygon, ellipse, path, line, arc |
199
+ | modify | Change item properties |
200
+ | delete | Remove item |
201
+ | animate | Loop animation: pulse, rotate, bounce, fade, wobble, slide |
202
+ | keyframe_animate | Timed animation: [{time, properties, easing}] |
203
+ | relation | Behavioral link: orbits, follows, attached_to, points_at, mirrors, parallax |
204
+ | apply_mask | Reveal effects: wipeLeft, iris, curtain, cinematic, etc. |
205
+ | apply_effect | Visual effects: sparkle, blast |
206
+ | play_timeline | Start playback (REQUIRED for animation) |
207
+
208
+ Use "$0", "$1" etc. to reference items by creation order within the batch.
209
+
210
+ ## Tool Categories
253
211
 
254
- **Note:** Diagrams (flowcharts, UML) use their own tools — \`pinepaper_create_diagram_shape\` + \`pinepaper_connect\` — not batch_execute. See \`pinepaper://docs/diagrams\`.
212
+ | Category | Use When | Key Tools |
213
+ |----------|----------|-----------|
214
+ | **Animation/Video** | Any visual content | \`start_job\` → \`batch_execute\` → \`end_job\` → \`export\` |
215
+ | **Diagrams** | Flowcharts, UML | \`pinepaper_create_diagram_shape\` → \`pinepaper_connect\` → \`pinepaper_auto_layout\` |
216
+ | **Maps** | Geographic data | \`pinepaper_load_map\` → \`pinepaper_apply_data_colors\` |
217
+ | **Assets** | Icons, illustrations | \`pinepaper_search_assets\` → \`pinepaper_import_asset\` |
218
+ | **Images** | Photos, rasters | \`pinepaper_import_image\` (PNG/JPG/WebP on canvas) |
219
+ | **Deformation** | Organic motion effects | \`pinepaper_deform\` (twist, ripple, wave, breathe, wobble) |
220
+ | **Sprite Sheets** | Character animation | \`pinepaper_sprite_sheet\` (generate → play → export) |
221
+ | **Interaction** | Interactive/game content | \`pinepaper_interaction\` (physics behaviors, state management) |
222
+ | **Storage** | Project persistence | \`pinepaper_storage\` (save/load/list/delete projects) |
223
+ | **Widget Export** | Portable embeds | \`pinepaper_export_widget\` (JSON) + \`pinepaper_export_widget_html\` (self-contained HTML) |
224
+
225
+ ## Key Rules
226
+
227
+ - Call \`batch_execute\` ONCE — every call is live, calling twice doubles items
228
+ - Always end with \`play_timeline\` for animated content
229
+ - Use \`pinepaper_agent_export\` with format: "mp4" when user asks for video
230
+ - For diagrams: use diagram tools, NOT batch_execute
231
+ - Show the screenshot from \`end_job\` to the user and ask if they want changes
255
232
 
256
233
  ## Detailed Guides
257
234
 
258
- - Maps: Read \`pinepaper://docs/map-tools\`
259
- - Diagrams: Read \`pinepaper://docs/diagrams\`
260
- - Masks: Read \`pinepaper://docs/masks\`
261
- - Relations: Read \`pinepaper://docs/relations\`
262
- - Generators: Read \`pinepaper://docs/generators\`
263
- - Fonts: Read \`pinepaper://docs/fonts\`
264
- - Customization: Read \`pinepaper://docs/customization\`
235
+ - Generators: \`pinepaper://docs/generators\`
236
+ - Maps: \`pinepaper://docs/map-tools\`
237
+ - Diagrams: \`pinepaper://docs/diagrams\`
238
+ - Masks: \`pinepaper://docs/masks\`
239
+ - Relations: \`pinepaper://docs/relations\`
240
+ - Fonts: \`pinepaper://docs/fonts\`
265
241
  `,
266
242
  'pinepaper://docs/customization': `# Customization Guide
267
243
 
@@ -673,6 +649,36 @@ pinepaper_add_relation sourceId: "circle" targetId: "star" relationType: "morphs
673
649
 
674
650
  **Great for:** Logo animations, shape transitions, loading indicators, morphing icons
675
651
 
652
+ ### group_morphs_to
653
+ Pair-by-index morph between two paper.Groups. Source group's children migrate into target group's children's positions; Path.Line children deform via their segment endpoints; non-line children translate; excess children fade. Generic — works for any two groups (graph vertices+edges, letter collages, dashboard clusters).
654
+ - \`duration\`: Morph duration each direction in seconds (default: 1.5)
655
+ - \`hold\`: Hold time on each end before reversing in seconds (default: 1.0)
656
+ - \`loop\`: Cycle source ↔ target indefinitely (default: true)
657
+ - \`easing\`: 'linear' | 'easeIn' | 'easeOut' | 'easeInOut' (default: 'easeInOut')
658
+ - \`deformLines\`: Path.Line children deform via segment endpoints instead of rigid translation (default: true)
659
+
660
+ \`\`\`
661
+ pinepaper_add_relation sourceId: "graphA" targetId: "graphB" relationType: "group_morphs_to"
662
+ params: {duration: 1.5, hold: 1.0, loop: true}
663
+ \`\`\`
664
+
665
+ **Great for:** Graph layout transitions, letter-collage morphs, before/after dashboards
666
+
667
+ ### moves_along_path
668
+ Self-relation: item travels along a custom-drawn path stored in params. Pass \`targetId: null\`. In the editor the Relations picker offers a drag-to-draw capture mode; via MCP, pass the points array explicitly.
669
+ - \`path\`: Array of \`{x, y}\` objects or \`[x, y]\` tuples (required)
670
+ - \`speed\`: Speed multiplier — 1 ≈ 150 px/s (default: 1)
671
+ - \`closed\`: Loop back to start at end of path (default: true)
672
+ - \`phase\`: Starting position along path, 0–1 (default: 0)
673
+ - \`easing\`: 'linear' | 'easeIn' | 'easeOut' | 'easeInOut' | 'sine' | 'bounce' | 'pingpong' (default: 'linear')
674
+
675
+ \`\`\`
676
+ pinepaper_add_relation sourceId: "ball" targetId: null relationType: "moves_along_path"
677
+ params: {path: [[100,100],[300,200],[500,100]], speed: 1, closed: true, easing: "easeInOut"}
678
+ \`\`\`
679
+
680
+ **Great for:** Procedural motion along an author-defined trajectory, scripted camera fly-throughs, decorative paths
681
+
676
682
  ### camera_follows
677
683
  Camera pans to follow a target item (like Manim MovingCameraScene).
678
684
  - \`smoothing\`: 0-1 (higher = smoother following)
@@ -5745,6 +5751,19 @@ export async function createServer(options = {}) {
5745
5751
  resources: {},
5746
5752
  prompts: {},
5747
5753
  },
5754
+ instructions: `You are connected to PinePaper Studio — a canvas animation engine with 120+ tools for creating animations, videos, and graphics.
5755
+
5756
+ CRITICAL: When the user asks to create any visual content (animation, video, graphic, poster, diagram, or design), you MUST use PinePaper tools. Do NOT create standalone HTML pages, React components, or web apps as a substitute. Do NOT use frontend design skills or CSS-only animations instead of PinePaper. PinePaper tools ARE the implementation — they run on a real browser canvas and produce real exports (Canvas 2D, SVG, JavaScript, MP4, GIF, PNG are all valid PinePaper outputs).
5757
+
5758
+ If a PinePaper tool fails or export errors occur, report the error to the user. Do NOT fall back to generating HTML pages.
5759
+
5760
+ WORKFLOW (always follow this):
5761
+ 1. pinepaper_agent_start_job — sets up the canvas (pass canvasPreset for sizing)
5762
+ 2. pinepaper_agent_batch_execute — ALL items, animations, and effects in ONE call
5763
+ 3. pinepaper_agent_end_job — returns a screenshot to show the user
5764
+ 4. pinepaper_agent_export — exports as MP4, GIF, PNG, SVG, or PDF
5765
+
5766
+ The tools generate Paper.js/JavaScript code that executes on the PinePaper canvas. The generated code is visible in responses and can be copied into PinePaper's Code Console.`,
5748
5767
  });
5749
5768
  // Client auto-detection: upgrade toolkit/verbosity based on MCP client identity
5750
5769
  server.oninitialized = () => {
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwW5C;IAEC,uCAAuC,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgc1C;IAEC,qCAAqC,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqPxC;IAEC,yCAAyC,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8QlC;IAEC,mCAAmC,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyVtC;IAEC,wCAAwC,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4V3C;IAEC,sCAAsC,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiPzC;IAEC,yCAAyC,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwW5C;IAEC,uCAAuC,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgc1C;IAEC,qCAAqC,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqP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"}
@@ -0,0 +1,85 @@
1
+ /**
2
+ * DesignGraph — Design Knowledge Graph for PinePaper templates
3
+ *
4
+ * Formalizes every template as a typed, annotated graph with a Schema.org-aligned
5
+ * vocabulary (pp: namespace). Provides vocabulary definition, graph extraction from
6
+ * template definitions, JSON-LD export, and structural similarity scoring.
7
+ *
8
+ * Ported from FxTool/js/DesignGraph.js to typed TypeScript.
9
+ * extractFromCanvas() is omitted (requires live browser app instance).
10
+ *
11
+ * @module ontology/design-graph
12
+ * @version 0.4.0
13
+ */
14
+ import { PP_SEMANTIC_VOCABULARY } from './semantic-vocabulary.js';
15
+ import type { PinePaperVocabulary, Fingerprint, TemplateGraph, TemplateDefinition, ValidationResult } from './types.js';
16
+ export declare class DesignGraph {
17
+ getVocabulary(): PinePaperVocabulary;
18
+ /** Map a PinePaper item type string to its pp: type. */
19
+ getNodeType(itemType: string | undefined): string;
20
+ /** Map a PinePaper relation name to its pp: edge type. */
21
+ getEdgeType(relationName: string | undefined): string | null;
22
+ /** Get ordered ancestry chain for a type: [type, parent, grandparent, ...] */
23
+ getTypeHierarchy(ppType: string): string[];
24
+ /** Get direct children of a type. */
25
+ getTypeChildren(ppType: string): string[];
26
+ /** Get ordered ancestry chain for an edge type. */
27
+ getEdgeHierarchy(ppEdge: string): string[];
28
+ /** Get ordered ancestry chain for a generator. */
29
+ getGeneratorHierarchy(genKey: string): string[];
30
+ /** Get properties applicable to a type, including inherited from parents. */
31
+ getPropertiesFor(ppType: string): Array<{
32
+ name: string;
33
+ valueType: string;
34
+ appliesTo: string[];
35
+ animatable?: boolean;
36
+ }>;
37
+ /** Get only animatable properties for a type. */
38
+ getAnimatableProperties(ppType: string): string[];
39
+ /** Check if typeA is a subtype of typeB (walks ancestry). */
40
+ isSubtypeOf(typeA: string, typeB: string): boolean;
41
+ /** Walk parentType chain in a vocabulary section. */
42
+ private _getHierarchy;
43
+ /** Extract a TemplateGraph from a template definition object (static analysis). */
44
+ extractFromDefinition(template: TemplateDefinition): TemplateGraph;
45
+ /** Analyze a TemplateGraph to identify which mathematical functions are used. */
46
+ detectMathFunctions(graph: TemplateGraph): string[];
47
+ /** Match graph structure against known design patterns. */
48
+ detectPatterns(graph: TemplateGraph): string[];
49
+ /** Compute a structural fingerprint for similarity comparison. */
50
+ computeFingerprint(graph: TemplateGraph): Fingerprint;
51
+ /** Produce a Schema.org + pp: annotated JSON-LD document from a TemplateGraph. */
52
+ toJsonLd(graph: TemplateGraph): Record<string, unknown>;
53
+ /** Find similar templates by comparing fingerprints. */
54
+ findSimilar(fingerprint: Fingerprint, candidates: Fingerprint[]): Array<{
55
+ templateId: string;
56
+ score: number;
57
+ }>;
58
+ /** Validate a template definition against the DesignGraph schema. */
59
+ static validateTemplateSchema(template: TemplateDefinition | null | undefined, vocab?: PinePaperVocabulary, semVocab?: typeof PP_SEMANTIC_VOCABULARY): ValidationResult;
60
+ /** Convert a template item definition into a graph node. */
61
+ private _itemToNode;
62
+ /** Convert a template relation definition into a graph edge. */
63
+ private _relationToEdge;
64
+ /** Extract unique easing function names from a keyframes array. */
65
+ private _extractEasings;
66
+ /** Check if an item definition uses trim path properties. */
67
+ private _hasTrimPath;
68
+ /** Check if keyframes contain color property animations. */
69
+ private _hasColorAnimation;
70
+ /** Detect curve type from a template item definition. */
71
+ private _detectCurveTypeFromDef;
72
+ /** Infer semantic metadata from template structure. */
73
+ private _inferSemantics;
74
+ /** Merge explicit template.semantics over auto-inferred values. */
75
+ private _mergeSemantics;
76
+ /** Return top 3 node types by count from the graph. */
77
+ private _getDominantTypes;
78
+ /** Compute similarity score between two fingerprints. */
79
+ _computeSimilarity(fpA: Fingerprint, fpB: Fingerprint): number;
80
+ /** Jaccard similarity between the keys of two count objects. */
81
+ private _jaccardKeys;
82
+ /** Jaccard similarity between two string arrays. */
83
+ private _jaccardArray;
84
+ }
85
+ //# sourceMappingURL=design-graph.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"design-graph.d.ts","sourceRoot":"","sources":["../../src/ontology/design-graph.ts"],"names":[],"mappings":"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"}