@pinepaper.studio/mcp-server 1.6.6 → 1.6.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.de.md +24 -1
- package/README.es.md +24 -1
- package/README.fr.md +24 -1
- package/README.hi.md +21 -1
- package/README.ja.md +22 -1
- package/README.ko.md +22 -1
- package/README.md +329 -14
- package/README.pt-BR.md +24 -1
- package/README.zh-CN.md +20 -1
- package/assets/edit-whenever.svg +75 -0
- package/dist/agent/export-manager.d.ts.map +1 -1
- package/dist/agent/export-manager.js +2 -2
- package/dist/agent/export-manager.js.map +1 -1
- package/dist/agent/session-manager.d.ts.map +1 -1
- package/dist/agent/session-manager.js.map +1 -1
- package/dist/assets/repositories/fontawesome.d.ts.map +1 -1
- package/dist/assets/repositories/fontawesome.js.map +1 -1
- package/dist/assets/repositories/openclipart.d.ts.map +1 -1
- package/dist/character/data/concepts.json +1 -0
- package/dist/character/data/depictions.json +1 -0
- package/dist/character/data/styles.json +1 -0
- package/dist/character/duration-scale.d.ts +13 -0
- package/dist/character/duration-scale.d.ts.map +1 -0
- package/dist/character/duration-scale.js +13 -0
- package/dist/character/duration-scale.js.map +1 -0
- package/dist/character/path-bbox.d.ts +82 -0
- package/dist/character/path-bbox.d.ts.map +1 -0
- package/dist/character/path-bbox.js +496 -0
- package/dist/character/path-bbox.js.map +1 -0
- package/dist/character/perform.d.ts +149 -0
- package/dist/character/perform.d.ts.map +1 -0
- package/dist/character/perform.js +626 -0
- package/dist/character/perform.js.map +1 -0
- package/dist/character/resolve.d.ts +51 -0
- package/dist/character/resolve.d.ts.map +1 -0
- package/dist/character/resolve.js +239 -0
- package/dist/character/resolve.js.map +1 -0
- package/dist/design/design-systems.d.ts +126 -0
- package/dist/design/design-systems.d.ts.map +1 -0
- package/dist/design/design-systems.js +240 -0
- package/dist/design/design-systems.js.map +1 -0
- package/dist/execution/canvas-state.d.ts +7 -0
- package/dist/execution/canvas-state.d.ts.map +1 -1
- package/dist/execution/canvas-state.js +20 -8
- package/dist/execution/canvas-state.js.map +1 -1
- package/dist/index.d.ts +20 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +12 -5
- package/dist/index.js.map +1 -1
- package/dist/ontology/design-graph.d.ts +9 -0
- package/dist/ontology/design-graph.d.ts.map +1 -1
- package/dist/ontology/design-graph.js +98 -4
- package/dist/ontology/design-graph.js.map +1 -1
- package/dist/ontology/types.d.ts +42 -0
- package/dist/ontology/types.d.ts.map +1 -1
- package/dist/ontology/vocabulary.d.ts.map +1 -1
- package/dist/ontology/vocabulary.js +139 -0
- package/dist/ontology/vocabulary.js.map +1 -1
- package/dist/taxonomy/classifier.js +1 -1
- package/dist/taxonomy/classifier.js.map +1 -1
- package/dist/taxonomy/error-recovery.d.ts.map +1 -1
- package/dist/taxonomy/matcher.d.ts.map +1 -1
- package/dist/taxonomy/matcher.js.map +1 -1
- package/dist/tools/compact-descriptions.d.ts.map +1 -1
- package/dist/tools/compact-descriptions.js +25 -0
- package/dist/tools/compact-descriptions.js.map +1 -1
- package/dist/tools/definitions.d.ts +1 -1
- package/dist/tools/definitions.d.ts.map +1 -1
- package/dist/tools/definitions.js +1236 -45
- package/dist/tools/definitions.js.map +1 -1
- package/dist/tools/engine-methods.d.ts +18 -0
- package/dist/tools/engine-methods.d.ts.map +1 -0
- package/dist/tools/engine-methods.js +239 -0
- package/dist/tools/engine-methods.js.map +1 -0
- package/dist/tools/handlers/character.d.ts +121 -0
- package/dist/tools/handlers/character.d.ts.map +1 -0
- package/dist/tools/handlers/character.js +315 -0
- package/dist/tools/handlers/character.js.map +1 -0
- package/dist/tools/handlers.d.ts +2 -0
- package/dist/tools/handlers.d.ts.map +1 -1
- package/dist/tools/handlers.js +386 -22
- package/dist/tools/handlers.js.map +1 -1
- package/dist/tools/minimal-descriptions.d.ts.map +1 -1
- package/dist/tools/minimal-descriptions.js +24 -4
- package/dist/tools/minimal-descriptions.js.map +1 -1
- package/dist/tools/toolkits.d.ts.map +1 -1
- package/dist/tools/toolkits.js +21 -0
- package/dist/tools/toolkits.js.map +1 -1
- package/dist/types/code-generator.d.ts +141 -2
- package/dist/types/code-generator.d.ts.map +1 -1
- package/dist/types/code-generator.js +2246 -78
- package/dist/types/code-generator.js.map +1 -1
- package/dist/types/schemas.d.ts +9295 -603
- package/dist/types/schemas.d.ts.map +1 -1
- package/dist/types/schemas.js +1134 -61
- package/dist/types/schemas.js.map +1 -1
- package/dist/vendor/design/art-deco-generator.d.ts +52 -0
- package/dist/vendor/design/art-deco-generator.d.ts.map +1 -0
- package/dist/vendor/design/art-deco-generator.js +144 -0
- package/dist/vendor/design/art-deco-generator.js.map +1 -0
- package/dist/vendor/design/art-nouveau-generator.d.ts +46 -0
- package/dist/vendor/design/art-nouveau-generator.d.ts.map +1 -0
- package/dist/vendor/design/art-nouveau-generator.js +134 -0
- package/dist/vendor/design/art-nouveau-generator.js.map +1 -0
- package/dist/vendor/design/bauhaus-generator.d.ts +53 -0
- package/dist/vendor/design/bauhaus-generator.d.ts.map +1 -0
- package/dist/vendor/design/bauhaus-generator.js +126 -0
- package/dist/vendor/design/bauhaus-generator.js.map +1 -0
- package/dist/vendor/design/brutalist-generator.d.ts +53 -0
- package/dist/vendor/design/brutalist-generator.d.ts.map +1 -0
- package/dist/vendor/design/brutalist-generator.js +148 -0
- package/dist/vendor/design/brutalist-generator.js.map +1 -0
- package/dist/vendor/design/claymorphism-generator.d.ts +46 -0
- package/dist/vendor/design/claymorphism-generator.d.ts.map +1 -0
- package/dist/vendor/design/claymorphism-generator.js +135 -0
- package/dist/vendor/design/claymorphism-generator.js.map +1 -0
- package/dist/vendor/design/corporate-memphis-generator.d.ts +47 -0
- package/dist/vendor/design/corporate-memphis-generator.d.ts.map +1 -0
- package/dist/vendor/design/corporate-memphis-generator.js +144 -0
- package/dist/vendor/design/corporate-memphis-generator.js.map +1 -0
- package/dist/vendor/design/cyberpunk-generator.d.ts +52 -0
- package/dist/vendor/design/cyberpunk-generator.d.ts.map +1 -0
- package/dist/vendor/design/cyberpunk-generator.js +162 -0
- package/dist/vendor/design/cyberpunk-generator.js.map +1 -0
- package/dist/vendor/design/de-stijl-generator.d.ts +50 -0
- package/dist/vendor/design/de-stijl-generator.d.ts.map +1 -0
- package/dist/vendor/design/de-stijl-generator.js +154 -0
- package/dist/vendor/design/de-stijl-generator.js.map +1 -0
- package/dist/vendor/design/design-style.d.ts +3 -0
- package/dist/vendor/design/design-style.d.ts.map +1 -0
- package/dist/vendor/design/design-style.js +12 -0
- package/dist/vendor/design/design-style.js.map +1 -0
- package/dist/vendor/design/design-systems-dtcg.d.ts +59 -0
- package/dist/vendor/design/design-systems-dtcg.d.ts.map +1 -0
- package/dist/vendor/design/design-systems-dtcg.js +571 -0
- package/dist/vendor/design/design-systems-dtcg.js.map +1 -0
- package/dist/vendor/design/frutiger-aero-generator.d.ts +46 -0
- package/dist/vendor/design/frutiger-aero-generator.d.ts.map +1 -0
- package/dist/vendor/design/frutiger-aero-generator.js +133 -0
- package/dist/vendor/design/frutiger-aero-generator.js.map +1 -0
- package/dist/vendor/design/memphis-generator.d.ts +56 -0
- package/dist/vendor/design/memphis-generator.d.ts.map +1 -0
- package/dist/vendor/design/memphis-generator.js +158 -0
- package/dist/vendor/design/memphis-generator.js.map +1 -0
- package/dist/vendor/design/mid-century-upa-generator.d.ts +46 -0
- package/dist/vendor/design/mid-century-upa-generator.d.ts.map +1 -0
- package/dist/vendor/design/mid-century-upa-generator.js +137 -0
- package/dist/vendor/design/mid-century-upa-generator.js.map +1 -0
- package/dist/vendor/design/neumorphic-generator.d.ts +53 -0
- package/dist/vendor/design/neumorphic-generator.d.ts.map +1 -0
- package/dist/vendor/design/neumorphic-generator.js +182 -0
- package/dist/vendor/design/neumorphic-generator.js.map +1 -0
- package/dist/vendor/design/op-art-generator.d.ts +45 -0
- package/dist/vendor/design/op-art-generator.d.ts.map +1 -0
- package/dist/vendor/design/op-art-generator.js +116 -0
- package/dist/vendor/design/op-art-generator.js.map +1 -0
- package/dist/vendor/design/pixel-art-generator.d.ts +45 -0
- package/dist/vendor/design/pixel-art-generator.d.ts.map +1 -0
- package/dist/vendor/design/pixel-art-generator.js +143 -0
- package/dist/vendor/design/pixel-art-generator.js.map +1 -0
- package/dist/vendor/design/pop-art-generator.d.ts +53 -0
- package/dist/vendor/design/pop-art-generator.d.ts.map +1 -0
- package/dist/vendor/design/pop-art-generator.js +164 -0
- package/dist/vendor/design/pop-art-generator.js.map +1 -0
- package/dist/vendor/design/risograph-generator.d.ts +53 -0
- package/dist/vendor/design/risograph-generator.d.ts.map +1 -0
- package/dist/vendor/design/risograph-generator.js +170 -0
- package/dist/vendor/design/risograph-generator.js.map +1 -0
- package/dist/vendor/design/swiss-style-generator.d.ts +55 -0
- package/dist/vendor/design/swiss-style-generator.d.ts.map +1 -0
- package/dist/vendor/design/swiss-style-generator.js +147 -0
- package/dist/vendor/design/swiss-style-generator.js.map +1 -0
- package/dist/vendor/design/vaporwave-generator.d.ts +51 -0
- package/dist/vendor/design/vaporwave-generator.d.ts.map +1 -0
- package/dist/vendor/design/vaporwave-generator.js +139 -0
- package/dist/vendor/design/vaporwave-generator.js.map +1 -0
- package/manifest.json +65 -1
- package/package.json +18 -9
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vaporwave-generator.d.ts","sourceRoot":"","sources":["../../../src/vendor/design/vaporwave-generator.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAErD,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,UAAU,GAAG,gBAAgB,GAAG,gBAAgB,CAAC;IAC1E,SAAS,CAAC,EAAE,UAAU,GAAG,kBAAkB,GAAG,YAAY,GAAG,WAAW,CAAC;IACzE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;CACzC;AAED,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,WAAW,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,gBAAgB,EAAE,CAAC;IAC7B,QAAQ,EAAE;QACR,KAAK,EAAE,MAAM,CAAC;QACd,SAAS,EAAE,MAAM,CAAC;QAClB,eAAe,EAAE,2BAA2B,CAAC;QAC7C,OAAO,EAAE,MAAM,EAAE,CAAC;KACnB,CAAC;CACH;AAED,eAAO,MAAM,iBAAiB;;;;;;CAM7B,CAAC;AAEF;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,sBAAsB,GAAG,oBAAoB,CAwI7F"}
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
export const VAPORWAVE_PALETTE = {
|
|
2
|
+
deepPurpleVoid: "#1a0b2e",
|
|
3
|
+
neonPink: "#ff007f",
|
|
4
|
+
cyanGlow: "#00f0ff",
|
|
5
|
+
sunsetMagenta: "#ff5599",
|
|
6
|
+
yellowCanary: "#ffe600",
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* Procedurally generates a Vaporwave & Synthwave retro poster layout with a digital sunset disk and 3D wireframe grid.
|
|
10
|
+
*/
|
|
11
|
+
export function generateVaporwavePoster(options) {
|
|
12
|
+
const width = options.width ?? 1080;
|
|
13
|
+
const height = options.height ?? 1350;
|
|
14
|
+
const backgroundHex = VAPORWAVE_PALETTE.deepPurpleVoid;
|
|
15
|
+
const elements = [];
|
|
16
|
+
// 1. Digital Sunset Sun Disk
|
|
17
|
+
const sunSize = Math.round(width * 0.45);
|
|
18
|
+
elements.push({
|
|
19
|
+
id: "vaporwave-sun-disk",
|
|
20
|
+
type: "sun_disk",
|
|
21
|
+
shapeType: "sun_disk",
|
|
22
|
+
fillHex: VAPORWAVE_PALETTE.sunsetMagenta,
|
|
23
|
+
strokeHex: VAPORWAVE_PALETTE.yellowCanary,
|
|
24
|
+
strokeWidthPx: 3,
|
|
25
|
+
x: Math.round(width / 2 - sunSize / 2),
|
|
26
|
+
y: Math.round(height * 0.22),
|
|
27
|
+
width: sunSize,
|
|
28
|
+
height: sunSize,
|
|
29
|
+
});
|
|
30
|
+
// 2. 3D Perspective Ground Wireframe Grid
|
|
31
|
+
elements.push({
|
|
32
|
+
id: "vaporwave-perspective-grid",
|
|
33
|
+
type: "wireframe_grid",
|
|
34
|
+
shapeType: "perspective_grid",
|
|
35
|
+
fillHex: "transparent",
|
|
36
|
+
strokeHex: VAPORWAVE_PALETTE.cyanGlow,
|
|
37
|
+
strokeWidthPx: 2,
|
|
38
|
+
x: 0,
|
|
39
|
+
y: Math.round(height * 0.55),
|
|
40
|
+
width,
|
|
41
|
+
height: Math.round(height * 0.45),
|
|
42
|
+
});
|
|
43
|
+
// 3. Neon Chrome Headline Typography
|
|
44
|
+
elements.push({
|
|
45
|
+
id: "vaporwave-title-text",
|
|
46
|
+
type: "text",
|
|
47
|
+
content: options.title.toUpperCase(),
|
|
48
|
+
fontSize: 64,
|
|
49
|
+
fontWeight: "900",
|
|
50
|
+
fontFamily: "'Orbitron', 'VT323', sans-serif",
|
|
51
|
+
fillHex: VAPORWAVE_PALETTE.neonPink,
|
|
52
|
+
strokeHex: VAPORWAVE_PALETTE.cyanGlow,
|
|
53
|
+
strokeWidthPx: 2,
|
|
54
|
+
x: 60,
|
|
55
|
+
y: Math.round(height * 0.12),
|
|
56
|
+
width: width - 120,
|
|
57
|
+
height: 110,
|
|
58
|
+
textAlign: "center",
|
|
59
|
+
});
|
|
60
|
+
// 4. Japanese Kanji Subtitle Overlay
|
|
61
|
+
elements.push({
|
|
62
|
+
id: "vaporwave-kanji-text",
|
|
63
|
+
type: "kanji_subtitle",
|
|
64
|
+
content: "ヴェイパーウェーブ // SYNTHWAVE",
|
|
65
|
+
fontSize: 24,
|
|
66
|
+
fontWeight: "700",
|
|
67
|
+
fontFamily: "'Orbitron', sans-serif",
|
|
68
|
+
fillHex: VAPORWAVE_PALETTE.cyanGlow,
|
|
69
|
+
x: 80,
|
|
70
|
+
y: Math.round(height * 0.48),
|
|
71
|
+
width: width - 160,
|
|
72
|
+
height: 60,
|
|
73
|
+
textAlign: "center",
|
|
74
|
+
});
|
|
75
|
+
// 5. Horizontal Chrome Bar Accent
|
|
76
|
+
elements.push({
|
|
77
|
+
id: "vaporwave-chrome-bar",
|
|
78
|
+
type: "shape",
|
|
79
|
+
shapeType: "chrome_bar",
|
|
80
|
+
fillHex: VAPORWAVE_PALETTE.yellowCanary,
|
|
81
|
+
x: Math.round(width / 2 - 180),
|
|
82
|
+
y: Math.round(height * 0.54),
|
|
83
|
+
width: 360,
|
|
84
|
+
height: 6,
|
|
85
|
+
});
|
|
86
|
+
// 6. Subtitle Card Block
|
|
87
|
+
elements.push({
|
|
88
|
+
id: "vaporwave-subtitle-text",
|
|
89
|
+
type: "text",
|
|
90
|
+
content: options.subtitle.toUpperCase(),
|
|
91
|
+
fontSize: 22,
|
|
92
|
+
fontWeight: "800",
|
|
93
|
+
fontFamily: "'Orbitron', sans-serif",
|
|
94
|
+
fillHex: VAPORWAVE_PALETTE.yellowCanary,
|
|
95
|
+
x: 100,
|
|
96
|
+
y: Math.round(height * 0.58),
|
|
97
|
+
width: width - 200,
|
|
98
|
+
height: 60,
|
|
99
|
+
textAlign: "center",
|
|
100
|
+
});
|
|
101
|
+
// 7. Optional Body Copy Block
|
|
102
|
+
if (options.body) {
|
|
103
|
+
elements.push({
|
|
104
|
+
id: "vaporwave-body-text",
|
|
105
|
+
type: "text",
|
|
106
|
+
content: options.body,
|
|
107
|
+
fontSize: 16,
|
|
108
|
+
fontWeight: "400",
|
|
109
|
+
fontFamily: "sans-serif",
|
|
110
|
+
fillHex: "#e2e8f0",
|
|
111
|
+
x: 120,
|
|
112
|
+
y: Math.round(height * 0.68),
|
|
113
|
+
width: width - 240,
|
|
114
|
+
height: 140,
|
|
115
|
+
textAlign: "center",
|
|
116
|
+
});
|
|
117
|
+
}
|
|
118
|
+
return {
|
|
119
|
+
id: `vaporwave-poster-${Date.now()}`,
|
|
120
|
+
style: "vaporwave_retro",
|
|
121
|
+
width,
|
|
122
|
+
height,
|
|
123
|
+
backgroundHex,
|
|
124
|
+
elements,
|
|
125
|
+
metadata: {
|
|
126
|
+
title: options.title,
|
|
127
|
+
createdAt: new Date().toISOString(),
|
|
128
|
+
compositionType: "vaporwave_synthwave_retro",
|
|
129
|
+
palette: [
|
|
130
|
+
VAPORWAVE_PALETTE.deepPurpleVoid,
|
|
131
|
+
VAPORWAVE_PALETTE.neonPink,
|
|
132
|
+
VAPORWAVE_PALETTE.cyanGlow,
|
|
133
|
+
VAPORWAVE_PALETTE.sunsetMagenta,
|
|
134
|
+
VAPORWAVE_PALETTE.yellowCanary,
|
|
135
|
+
],
|
|
136
|
+
},
|
|
137
|
+
};
|
|
138
|
+
}
|
|
139
|
+
//# sourceMappingURL=vaporwave-generator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vaporwave-generator.js","sourceRoot":"","sources":["../../../src/vendor/design/vaporwave-generator.ts"],"names":[],"mappings":"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"}
|
package/manifest.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"manifest_version": "0.3",
|
|
3
3
|
"name": "pinepaper-mcp",
|
|
4
|
-
"version": "1.6.
|
|
4
|
+
"version": "1.6.8",
|
|
5
5
|
"display_name": "PinePaper Studio",
|
|
6
6
|
"description": "Create animated graphics with AI using PinePaper Studio",
|
|
7
7
|
"long_description": "PinePaper MCP Server enables Claude to create, animate, and export graphics through PinePaper Studio. Features include shape creation, relation-based animations (orbits, follows, attached_to), procedural generators, visual effects, SVG export with animations, asset search & import from 4 open repositories (500k+ icons), performance metrics tracking, diagram tools for flowcharts/UML/network diagrams with smart connectors and auto-layout, enhanced error messages with canvas context, Agent Flow Mode for content automation pipelines with batch operations and smart platform exports (Instagram, TikTok, YouTube, etc.), interactive triggers (click, hover, drag events), quiz/LMS integration with SCORM/xAPI support, Letter Collage for stylized text with per-letter customization (Wordle, magazine cutout, gradient styles with 24+ palettes), and canvas presets for social media platforms. Supports two execution modes: Puppeteer (live browser execution) and Code (generate code for manual paste).",
|
|
@@ -135,6 +135,10 @@
|
|
|
135
135
|
"name": "pinepaper_create_diagonal_stripes",
|
|
136
136
|
"description": "Create a diagonal stripe pattern"
|
|
137
137
|
},
|
|
138
|
+
{
|
|
139
|
+
"name": "pinepaper_import_motion_capture",
|
|
140
|
+
"description": "Import a BVH motion-capture clip (CMU, Mixamo) as an animated skeleton, or retarget one onto a rig that already exists."
|
|
141
|
+
},
|
|
138
142
|
{
|
|
139
143
|
"name": "pinepaper_import_svg",
|
|
140
144
|
"description": "Import SVG content onto the canvas"
|
|
@@ -219,6 +223,14 @@
|
|
|
219
223
|
"name": "pinepaper_text_style",
|
|
220
224
|
"description": "Display text styles + variable fonts. action: apply_style (stacked-layer title, adopts the text id)|set_font_axes (weight/width/slant, animatable)|list_styles."
|
|
221
225
|
},
|
|
226
|
+
{
|
|
227
|
+
"name": "pinepaper_design_medium",
|
|
228
|
+
"description": "What makes the marks. action: list_media, resolve (refuses a medium it cannot honestly render, and says why), list_stitches, apply_thread (needlepainting)."
|
|
229
|
+
},
|
|
230
|
+
{
|
|
231
|
+
"name": "pinepaper_text_effect",
|
|
232
|
+
"description": "37 character-level text animations. action: list|apply {itemId, effect}. REPLACES the text with one keyframed item per character (source id dies; keepSource:true to keep it)."
|
|
233
|
+
},
|
|
222
234
|
{
|
|
223
235
|
"name": "pinepaper_crop_image",
|
|
224
236
|
"description": "One-shot crop of an image item to a canvas-coords rect (clamped; keeps the registry id). {itemId, rect: {x,y,width,height}, aspectRatio?}"
|
|
@@ -239,10 +251,42 @@
|
|
|
239
251
|
"name": "pinepaper_game",
|
|
240
252
|
"description": "Game logic: pathfind (A* world-coords waypoints for moves_along_path)|create_tilemap (board data + grid + merged collision rects). Pure data, draws nothing."
|
|
241
253
|
},
|
|
254
|
+
{
|
|
255
|
+
"name": "pinepaper_design_system",
|
|
256
|
+
"description": "DTCG design systems + 18 composable aesthetic styles. {action: list_systems|get_system|list_easings|list_styles|compose, systemId, style, title}"
|
|
257
|
+
},
|
|
258
|
+
{
|
|
259
|
+
"name": "pinepaper_stick",
|
|
260
|
+
"description": "Stick-figure kit. {action: figure|set, pose, walk, travel, prop, garment, hair, at, scale}"
|
|
261
|
+
},
|
|
262
|
+
{
|
|
263
|
+
"name": "pinepaper_story",
|
|
264
|
+
"description": "Prose to scene. {action: distill|from_text|apply_spec|plan_book, text, spec, images}"
|
|
265
|
+
},
|
|
266
|
+
{
|
|
267
|
+
"name": "pinepaper_interchange",
|
|
268
|
+
"description": "Lottie / dotLottie / GLB / BVH / PNG-sequence import and export. {action, options, data, skeletonId}"
|
|
269
|
+
},
|
|
270
|
+
{
|
|
271
|
+
"name": "pinepaper_sound",
|
|
272
|
+
"description": "Synthesis: tones, chords, percussion, SFX, sound-from-text, and a two-way bridge between a sound and a drawn path. {action, note|root|name|text|itemId}"
|
|
273
|
+
},
|
|
274
|
+
{
|
|
275
|
+
"name": "pinepaper_motion",
|
|
276
|
+
"description": "Generator motion engine for a group. {action: list|apply, itemId|itemIds, motion, speed, intensity, waveform, origin}"
|
|
277
|
+
},
|
|
278
|
+
{
|
|
279
|
+
"name": "pinepaper_path",
|
|
280
|
+
"description": "Destructive path operations — the ones that REPLACE or ADD items rather than restyling them."
|
|
281
|
+
},
|
|
242
282
|
{
|
|
243
283
|
"name": "pinepaper_world3d",
|
|
244
284
|
"description": "3D world under the canvas: create (forest|snowMountain|field|jungle)|describe (engine schema)|configure|add_actor (live sprites)|set_actor_pose|set_camera (follow|fixed|orbit)|objects|remove_world."
|
|
245
285
|
},
|
|
286
|
+
{
|
|
287
|
+
"name": "pinepaper_character",
|
|
288
|
+
"description": "Place a character from the graph and direct it. {concept, at, height, beats:[{at, channel, until?, value?}]}. The concept declares its channels — blink, say, headTurn, bob."
|
|
289
|
+
},
|
|
246
290
|
{
|
|
247
291
|
"name": "pinepaper_rigging",
|
|
248
292
|
"description": "Skeletal rigging + animation. action: create_skeleton|add_bone|attach_item|create_ik_chain|add_pose_keyframe|set_target_path|save_pose|save_shape_key. Pose keyframes carry S12 breakdown controls (favor/breakdown/boneOffsets/movingHold)."
|
|
@@ -335,6 +379,22 @@
|
|
|
335
379
|
"name": "pinepaper_scene_playback",
|
|
336
380
|
"description": "Scene chain playback. action: create_chain|play|pause|resume|stop|toggle_loop|jump. sceneIds, defaultDuration (secs), loop."
|
|
337
381
|
},
|
|
382
|
+
{
|
|
383
|
+
"name": "pinepaper_sequence",
|
|
384
|
+
"description": "Work out WHEN clips start, said relative to each other instead of in absolute seconds. A pure planner — it computes times and touches nothin"
|
|
385
|
+
},
|
|
386
|
+
{
|
|
387
|
+
"name": "pinepaper_stagger",
|
|
388
|
+
"description": "Shape a delay across many items. What makes a stagger read as designed rather than as a queue is where it STARTS and how it SPREADS — a grid"
|
|
389
|
+
},
|
|
390
|
+
{
|
|
391
|
+
"name": "pinepaper_flip",
|
|
392
|
+
"description": "Animate a layout change WITHOUT describing the motion. Every other animation tool asks you to say what the movement is; this asks the opposi"
|
|
393
|
+
},
|
|
394
|
+
{
|
|
395
|
+
"name": "pinepaper_scene_graph",
|
|
396
|
+
"description": "Interactive story/quiz scene graph. action: create|validate. graph: {start, nodes:[{id, prompt?, text?, kind?, answers?, next?, duration?, outcome?}]}, opts: {style?, scoreItemId?, subject?}."
|
|
397
|
+
},
|
|
338
398
|
{
|
|
339
399
|
"name": "pinepaper_selection",
|
|
340
400
|
"description": "Manage selection. action: select|select_all|deselect_all|get|delete_selected. itemIds, mode: replace|add|remove."
|
|
@@ -407,6 +467,10 @@
|
|
|
407
467
|
"name": "pinepaper_query",
|
|
408
468
|
"description": "Canvas queries. action: get_by_id|hit_test|is_empty. itemId, x, y, tolerance."
|
|
409
469
|
},
|
|
470
|
+
{
|
|
471
|
+
"name": "pinepaper_query_capabilities",
|
|
472
|
+
"description": "Query and recommend capabilities across text styles, text effects, generators, deforms, and relations. action: list|choose|coverage|find. kind, mood, subject, seed, key, warm."
|
|
473
|
+
},
|
|
410
474
|
{
|
|
411
475
|
"name": "pinepaper_deform",
|
|
412
476
|
"description": "Vertex deformation. action: apply|trigger|remove. itemId, preset: fold|squeeze|squash|twist|ripple|wave|breathe|wobble..., phase, amplitude."
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pinepaper.studio/mcp-server",
|
|
3
|
-
"version": "1.6.
|
|
3
|
+
"version": "1.6.8",
|
|
4
4
|
"mcpName": "io.github.pinepaper/mcp-server",
|
|
5
5
|
"description": "MCP Server for PinePaper Studio - Create animated graphics with AI",
|
|
6
6
|
"type": "module",
|
|
@@ -34,11 +34,19 @@
|
|
|
34
34
|
"start:dist": "bun dist/index.js",
|
|
35
35
|
"test": "bun test",
|
|
36
36
|
"test:coverage": "bun test --coverage",
|
|
37
|
-
"lint": "eslint src
|
|
37
|
+
"lint": "eslint src",
|
|
38
38
|
"typecheck": "tsc --noEmit",
|
|
39
39
|
"check:manifest": "bun scripts/check-manifest-tools.mjs",
|
|
40
40
|
"fix:manifest": "bun scripts/check-manifest-tools.mjs --fix",
|
|
41
|
-
"prepublishOnly": "bun run check:manifest && bun run build"
|
|
41
|
+
"prepublishOnly": "bun run check:manifest && bun run check:design && bun run check:character && bun run check:engine-methods && bun run build",
|
|
42
|
+
"lint:errors": "eslint src --quiet",
|
|
43
|
+
"sync:design": "node scripts/sync-design-systems.mjs",
|
|
44
|
+
"check:design": "node scripts/sync-design-systems.mjs --check",
|
|
45
|
+
"sync:engine-methods": "node scripts/sync-engine-methods.mjs",
|
|
46
|
+
"fix:engine-methods": "node scripts/sync-engine-methods.mjs",
|
|
47
|
+
"check:engine-methods": "node scripts/sync-engine-methods.mjs --check",
|
|
48
|
+
"sync:character": "node scripts/sync-character-modules.mjs",
|
|
49
|
+
"check:character": "node scripts/sync-character-modules.mjs --check"
|
|
42
50
|
},
|
|
43
51
|
"keywords": [
|
|
44
52
|
"mcp",
|
|
@@ -66,11 +74,11 @@
|
|
|
66
74
|
"devDependencies": {
|
|
67
75
|
"@types/bun": "latest",
|
|
68
76
|
"@types/node": "^20.10.0",
|
|
69
|
-
"typescript": "^5.3.0",
|
|
70
|
-
"eslint": "^10.8.1",
|
|
71
77
|
"@typescript-eslint/eslint-plugin": "^8.66.0",
|
|
72
78
|
"@typescript-eslint/parser": "^8.66.0",
|
|
73
|
-
"
|
|
79
|
+
"eslint": "^10.8.1",
|
|
80
|
+
"puppeteer": "^25.9.0",
|
|
81
|
+
"typescript": "^5.3.0"
|
|
74
82
|
},
|
|
75
83
|
"files": [
|
|
76
84
|
"dist",
|
|
@@ -91,7 +99,7 @@
|
|
|
91
99
|
"basic-ftp": "^5.3.1",
|
|
92
100
|
"body-parser": "^2.3.0",
|
|
93
101
|
"es-define-property": "npm:@socketregistry/es-define-property@^1.0.7",
|
|
94
|
-
"fast-uri": "^3.1.
|
|
102
|
+
"fast-uri": "^3.1.7",
|
|
95
103
|
"flatted": "^3.4.2",
|
|
96
104
|
"function-bind": "npm:@socketregistry/function-bind@^1.0.7",
|
|
97
105
|
"gopd": "npm:@socketregistry/gopd@^1.0.7",
|
|
@@ -101,10 +109,11 @@
|
|
|
101
109
|
"js-yaml": "^4.3.1",
|
|
102
110
|
"object-assign": "npm:@socketregistry/object-assign@^1.0.5",
|
|
103
111
|
"path-to-regexp": "^8.4.2",
|
|
104
|
-
"qs": "^6.
|
|
112
|
+
"qs": "^6.16.0",
|
|
105
113
|
"safer-buffer": "npm:@socketregistry/safer-buffer@^1.0.10",
|
|
106
114
|
"side-channel": "npm:@socketregistry/side-channel@^1.0.10",
|
|
107
|
-
"ws": "^8.21.1"
|
|
115
|
+
"ws": "^8.21.1",
|
|
116
|
+
"hono": "^4.13.5"
|
|
108
117
|
},
|
|
109
118
|
"peerDependencies": {
|
|
110
119
|
"puppeteer": ">=22"
|