@pinepaper.studio/mcp-server 1.3.0 → 1.3.2
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/dist/taxonomy/classifier.d.ts +74 -0
- package/dist/taxonomy/classifier.d.ts.map +1 -0
- package/dist/taxonomy/classifier.js +448 -0
- package/dist/taxonomy/classifier.js.map +1 -0
- package/dist/taxonomy/error-recovery.d.ts +55 -0
- package/dist/taxonomy/error-recovery.d.ts.map +1 -0
- package/dist/taxonomy/error-recovery.js +205 -0
- package/dist/taxonomy/error-recovery.js.map +1 -0
- package/dist/taxonomy/index.d.ts +24 -0
- package/dist/taxonomy/index.d.ts.map +1 -0
- package/dist/taxonomy/index.js +25 -0
- package/dist/taxonomy/index.js.map +1 -0
- package/dist/taxonomy/matcher.d.ts +104 -0
- package/dist/taxonomy/matcher.d.ts.map +1 -0
- package/dist/taxonomy/matcher.js +473 -0
- package/dist/taxonomy/matcher.js.map +1 -0
- package/dist/taxonomy/registry.d.ts +56 -0
- package/dist/taxonomy/registry.d.ts.map +1 -0
- package/dist/taxonomy/registry.js +950 -0
- package/dist/taxonomy/registry.js.map +1 -0
- package/dist/taxonomy/types.d.ts +207 -0
- package/dist/taxonomy/types.d.ts.map +1 -0
- package/dist/taxonomy/types.js +29 -0
- package/dist/taxonomy/types.js.map +1 -0
- package/dist/tools/definitions.d.ts.map +1 -1
- package/dist/tools/definitions.js +266 -0
- package/dist/tools/definitions.js.map +1 -1
- package/dist/tools/handlers.d.ts.map +1 -1
- package/dist/tools/handlers.js +19 -1
- package/dist/tools/handlers.js.map +1 -1
- package/dist/tools/p5-compat/index.d.ts +8 -0
- package/dist/tools/p5-compat/index.d.ts.map +1 -0
- package/dist/tools/p5-compat/index.js +8 -0
- package/dist/tools/p5-compat/index.js.map +1 -0
- package/dist/tools/p5-compat/p5-helpers.d.ts +25 -0
- package/dist/tools/p5-compat/p5-helpers.d.ts.map +1 -0
- package/dist/tools/p5-compat/p5-helpers.js +399 -0
- package/dist/tools/p5-compat/p5-helpers.js.map +1 -0
- package/dist/types/code-generator.d.ts +9 -1
- package/dist/types/code-generator.d.ts.map +1 -1
- package/dist/types/code-generator.js +176 -1
- package/dist/types/code-generator.js.map +1 -1
- package/dist/types/schemas.d.ts +227 -0
- package/dist/types/schemas.d.ts.map +1 -1
- package/dist/types/schemas.js +57 -0
- package/dist/types/schemas.js.map +1 -1
- package/manifest.json +9 -1
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/taxonomy/registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,207 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Semantic Taxonomy Types
|
|
3
|
+
*
|
|
4
|
+
* Defines the type system for multilingual semantic tool selection.
|
|
5
|
+
* This enables understanding user intent across 41+ languages without
|
|
6
|
+
* relying on fragile keyword matching.
|
|
7
|
+
*/
|
|
8
|
+
import type { SupportedLocale } from '../i18n/types.js';
|
|
9
|
+
/**
|
|
10
|
+
* Maps concept terms to supported locales
|
|
11
|
+
* Each concept has terms in multiple languages that semantically map to it
|
|
12
|
+
*/
|
|
13
|
+
export type MultilingualTerms = Partial<Record<SupportedLocale, string[]>>;
|
|
14
|
+
/**
|
|
15
|
+
* Categories for organizing taxonomy concepts
|
|
16
|
+
*/
|
|
17
|
+
export type TaxonomyCategory = 'motion' | 'transformation' | 'timing' | 'item' | 'background' | 'effect' | 'relation' | 'query' | 'export' | 'browser';
|
|
18
|
+
/**
|
|
19
|
+
* Defines how a taxonomy concept maps to an MCP tool
|
|
20
|
+
*/
|
|
21
|
+
export interface ToolMapping {
|
|
22
|
+
/** The MCP tool name to invoke */
|
|
23
|
+
tool: string;
|
|
24
|
+
/** Default parameters to apply */
|
|
25
|
+
defaultParams?: Record<string, unknown>;
|
|
26
|
+
/** Parameter extractors for parsing values from user input */
|
|
27
|
+
parameterExtractors?: ParameterExtractor[];
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Extracts parameter values from user input using locale-specific patterns
|
|
31
|
+
*/
|
|
32
|
+
export interface ParameterExtractor {
|
|
33
|
+
/** The parameter name to extract */
|
|
34
|
+
param: string;
|
|
35
|
+
/** Regex patterns per locale (* matches numbers) */
|
|
36
|
+
patterns: Partial<Record<SupportedLocale, RegExp[]>>;
|
|
37
|
+
/** Transform the matched value */
|
|
38
|
+
transform?: (match: string) => unknown;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Schema.org reference for semantic web compatibility
|
|
42
|
+
* @see https://schema.org/
|
|
43
|
+
*/
|
|
44
|
+
export interface SchemaOrgReference {
|
|
45
|
+
/** The Schema.org type (e.g., "Action", "Thing", "CreativeWork") */
|
|
46
|
+
'@type': string;
|
|
47
|
+
/** Canonical URL to the schema.org definition */
|
|
48
|
+
'@id': string;
|
|
49
|
+
/** Additional schema.org properties */
|
|
50
|
+
properties?: Record<string, string>;
|
|
51
|
+
/** Related schema.org concepts */
|
|
52
|
+
sameAs?: string[];
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* A node in the semantic taxonomy tree
|
|
56
|
+
*/
|
|
57
|
+
export interface TaxonomyNode {
|
|
58
|
+
/** Unique identifier for this concept */
|
|
59
|
+
id: string;
|
|
60
|
+
/** Parent concept ID (for hierarchy) */
|
|
61
|
+
parent?: string;
|
|
62
|
+
/** Category this concept belongs to */
|
|
63
|
+
category: TaxonomyCategory;
|
|
64
|
+
/** Tool mapping for this concept */
|
|
65
|
+
tool: ToolMapping;
|
|
66
|
+
/** Terms in multiple languages that map to this concept */
|
|
67
|
+
terms: MultilingualTerms;
|
|
68
|
+
/** Schema.org reference for semantic web compatibility */
|
|
69
|
+
schema?: SchemaOrgReference;
|
|
70
|
+
/** Pre-computed embedding vector (optional, for semantic search) */
|
|
71
|
+
embedding?: number[];
|
|
72
|
+
/** Modifiers that can be combined with this concept */
|
|
73
|
+
modifiers?: string[];
|
|
74
|
+
/** Priority weight for disambiguation (higher = preferred) */
|
|
75
|
+
priority?: number;
|
|
76
|
+
/** Aliases - other concept IDs that are equivalent */
|
|
77
|
+
aliases?: string[];
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* A modifier node that adjusts how a concept is interpreted
|
|
81
|
+
* Modifiers don't map to tools directly but change tool parameters
|
|
82
|
+
*/
|
|
83
|
+
export interface ModifierNode {
|
|
84
|
+
/** Unique identifier for this modifier */
|
|
85
|
+
id: string;
|
|
86
|
+
/** Category: timing modifiers affect animation parameters */
|
|
87
|
+
category: 'timing' | 'style' | 'behavior';
|
|
88
|
+
/** The parameter modifications to apply */
|
|
89
|
+
modifications: Record<string, unknown>;
|
|
90
|
+
/** Terms that trigger this modifier */
|
|
91
|
+
terms: MultilingualTerms;
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Result of classifying user intent
|
|
95
|
+
*/
|
|
96
|
+
export interface ClassificationResult {
|
|
97
|
+
/** How the classification was determined */
|
|
98
|
+
method: 'keyword' | 'semantic' | 'pattern' | 'unknown';
|
|
99
|
+
/** Confidence score (0-1) */
|
|
100
|
+
confidence: number;
|
|
101
|
+
/** The matched taxonomy node (if found) */
|
|
102
|
+
node?: TaxonomyNode;
|
|
103
|
+
/** Detected modifiers */
|
|
104
|
+
modifiers?: ModifierNode[];
|
|
105
|
+
/** Extracted parameter values */
|
|
106
|
+
extractedParams?: Record<string, unknown>;
|
|
107
|
+
/** Suggested alternatives if unknown */
|
|
108
|
+
suggestions?: string[];
|
|
109
|
+
/** The detected language */
|
|
110
|
+
detectedLocale?: SupportedLocale;
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* A match result from the taxonomy lookup
|
|
114
|
+
*/
|
|
115
|
+
export interface TaxonomyMatch {
|
|
116
|
+
/** The matched node ID */
|
|
117
|
+
nodeId: string;
|
|
118
|
+
/** Similarity score (0-1) */
|
|
119
|
+
similarity: number;
|
|
120
|
+
/** The full taxonomy node */
|
|
121
|
+
node: TaxonomyNode;
|
|
122
|
+
/** Which term matched */
|
|
123
|
+
matchedTerm?: string;
|
|
124
|
+
/** Which locale the match was in */
|
|
125
|
+
matchedLocale?: SupportedLocale;
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Entity extracted from user input
|
|
129
|
+
*/
|
|
130
|
+
export interface ExtractedEntity {
|
|
131
|
+
/** Type of entity */
|
|
132
|
+
type: 'item' | 'color' | 'number' | 'position' | 'name';
|
|
133
|
+
/** The raw value */
|
|
134
|
+
value: string;
|
|
135
|
+
/** Parsed/normalized value */
|
|
136
|
+
normalized?: unknown;
|
|
137
|
+
/** Position in the original text */
|
|
138
|
+
position?: {
|
|
139
|
+
start: number;
|
|
140
|
+
end: number;
|
|
141
|
+
};
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* Complete analysis of user intent
|
|
145
|
+
*/
|
|
146
|
+
export interface IntentAnalysis {
|
|
147
|
+
/** Primary classification result */
|
|
148
|
+
classification: ClassificationResult;
|
|
149
|
+
/** Extracted entities (items, colors, numbers, etc.) */
|
|
150
|
+
entities: ExtractedEntity[];
|
|
151
|
+
/** The recommended tool call */
|
|
152
|
+
recommendedTool?: {
|
|
153
|
+
name: string;
|
|
154
|
+
params: Record<string, unknown>;
|
|
155
|
+
};
|
|
156
|
+
/** Alternative interpretations ranked by confidence */
|
|
157
|
+
alternatives?: ClassificationResult[];
|
|
158
|
+
/** Whether this requires clarification */
|
|
159
|
+
needsClarification?: boolean;
|
|
160
|
+
/** Clarification question if needed */
|
|
161
|
+
clarificationPrompt?: string;
|
|
162
|
+
}
|
|
163
|
+
/**
|
|
164
|
+
* Configuration for the taxonomy system
|
|
165
|
+
*/
|
|
166
|
+
export interface TaxonomyConfig {
|
|
167
|
+
/** Minimum confidence threshold for matches */
|
|
168
|
+
minConfidence: number;
|
|
169
|
+
/** Whether to use semantic embeddings (requires model) */
|
|
170
|
+
useSemanticSearch: boolean;
|
|
171
|
+
/** Maximum number of suggestions to return */
|
|
172
|
+
maxSuggestions: number;
|
|
173
|
+
/** Default locale for fallback */
|
|
174
|
+
defaultLocale: SupportedLocale;
|
|
175
|
+
/** Enable debug logging */
|
|
176
|
+
debug: boolean;
|
|
177
|
+
}
|
|
178
|
+
/**
|
|
179
|
+
* Default taxonomy configuration
|
|
180
|
+
*/
|
|
181
|
+
export declare const DEFAULT_TAXONOMY_CONFIG: TaxonomyConfig;
|
|
182
|
+
/**
|
|
183
|
+
* Error codes specific to taxonomy operations
|
|
184
|
+
*/
|
|
185
|
+
export declare enum TaxonomyErrorCode {
|
|
186
|
+
NO_MATCH = "TAXONOMY_NO_MATCH",
|
|
187
|
+
LOW_CONFIDENCE = "TAXONOMY_LOW_CONFIDENCE",
|
|
188
|
+
AMBIGUOUS = "TAXONOMY_AMBIGUOUS",
|
|
189
|
+
MISSING_PARAM = "TAXONOMY_MISSING_PARAM",
|
|
190
|
+
INVALID_LOCALE = "TAXONOMY_INVALID_LOCALE"
|
|
191
|
+
}
|
|
192
|
+
/**
|
|
193
|
+
* Rich error with recovery hints
|
|
194
|
+
*/
|
|
195
|
+
export interface TaxonomyError {
|
|
196
|
+
code: TaxonomyErrorCode;
|
|
197
|
+
message: string;
|
|
198
|
+
/** Suggestions for recovery */
|
|
199
|
+
suggestions?: string[];
|
|
200
|
+
/** Available items if relevant */
|
|
201
|
+
availableItems?: string[];
|
|
202
|
+
/** Similar concepts that might match */
|
|
203
|
+
similarConcepts?: TaxonomyMatch[];
|
|
204
|
+
/** Hint for the user/AI */
|
|
205
|
+
hint?: string;
|
|
206
|
+
}
|
|
207
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/taxonomy/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Semantic Taxonomy Types
|
|
3
|
+
*
|
|
4
|
+
* Defines the type system for multilingual semantic tool selection.
|
|
5
|
+
* This enables understanding user intent across 41+ languages without
|
|
6
|
+
* relying on fragile keyword matching.
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* Default taxonomy configuration
|
|
10
|
+
*/
|
|
11
|
+
export const DEFAULT_TAXONOMY_CONFIG = {
|
|
12
|
+
minConfidence: 0.6,
|
|
13
|
+
useSemanticSearch: false, // Start with keyword matching, upgrade later
|
|
14
|
+
maxSuggestions: 3,
|
|
15
|
+
defaultLocale: 'en',
|
|
16
|
+
debug: false,
|
|
17
|
+
};
|
|
18
|
+
/**
|
|
19
|
+
* Error codes specific to taxonomy operations
|
|
20
|
+
*/
|
|
21
|
+
export var TaxonomyErrorCode;
|
|
22
|
+
(function (TaxonomyErrorCode) {
|
|
23
|
+
TaxonomyErrorCode["NO_MATCH"] = "TAXONOMY_NO_MATCH";
|
|
24
|
+
TaxonomyErrorCode["LOW_CONFIDENCE"] = "TAXONOMY_LOW_CONFIDENCE";
|
|
25
|
+
TaxonomyErrorCode["AMBIGUOUS"] = "TAXONOMY_AMBIGUOUS";
|
|
26
|
+
TaxonomyErrorCode["MISSING_PARAM"] = "TAXONOMY_MISSING_PARAM";
|
|
27
|
+
TaxonomyErrorCode["INVALID_LOCALE"] = "TAXONOMY_INVALID_LOCALE";
|
|
28
|
+
})(TaxonomyErrorCode || (TaxonomyErrorCode = {}));
|
|
29
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/taxonomy/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAgMH;;GAEG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAmB;IACrD,aAAa,EAAE,GAAG;IAClB,iBAAiB,EAAE,KAAK,EAAE,6CAA6C;IACvE,cAAc,EAAE,CAAC;IACjB,aAAa,EAAE,IAAI;IACnB,KAAK,EAAE,KAAK;CACb,CAAC;AAEF;;GAEG;AACH,MAAM,CAAN,IAAY,iBAMX;AAND,WAAY,iBAAiB;IAC3B,mDAA8B,CAAA;IAC9B,+DAA0C,CAAA;IAC1C,qDAAgC,CAAA;IAChC,6DAAwC,CAAA;IACxC,+DAA0C,CAAA;AAC5C,CAAC,EANW,iBAAiB,KAAjB,iBAAiB,QAM5B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"definitions.d.ts","sourceRoot":"","sources":["../../src/tools/definitions.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AA4I/C,eAAO,MAAM,eAAe,EAAE,IAAI,
|
|
1
|
+
{"version":3,"file":"definitions.d.ts","sourceRoot":"","sources":["../../src/tools/definitions.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AA4I/C,eAAO,MAAM,eAAe,EAAE,IAAI,EAyqDjC,CAAC;AAEF;;GAEG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAE5D;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,MAAM,EAAE,CAEvC;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI,EAAE,CAO3D"}
|
|
@@ -437,6 +437,156 @@ EXAMPLES:
|
|
|
437
437
|
required: ['width', 'height', 'colors'],
|
|
438
438
|
},
|
|
439
439
|
},
|
|
440
|
+
{
|
|
441
|
+
name: 'pinepaper_create_scene',
|
|
442
|
+
description: `Create a complete scene with multiple items, relations, and animations in a single operation. This is the MOST EFFICIENT way to create complex animated scenes.
|
|
443
|
+
|
|
444
|
+
USE WHEN:
|
|
445
|
+
- Creating a solar system, bouncing balls, or any multi-item animated scene
|
|
446
|
+
- User describes a scene with multiple related elements
|
|
447
|
+
- Performance is important (reduces 4+ tool calls to 1)
|
|
448
|
+
- Setting up multiple items that will interact with each other
|
|
449
|
+
|
|
450
|
+
ADVANTAGES:
|
|
451
|
+
- 4-8x faster than calling individual tools
|
|
452
|
+
- Single undo step for entire scene
|
|
453
|
+
- Automatic name-to-ID mapping for relations
|
|
454
|
+
- Cleaner, more atomic scene creation
|
|
455
|
+
|
|
456
|
+
HOW IT WORKS:
|
|
457
|
+
1. Define items with "name" references (e.g., "sun", "earth", "moon")
|
|
458
|
+
2. Define relations using those names (e.g., source: "earth", target: "sun")
|
|
459
|
+
3. Define animations using names (e.g., target: "sun", type: "pulse")
|
|
460
|
+
4. The server creates all items, then establishes relations and animations
|
|
461
|
+
|
|
462
|
+
EXAMPLE - Solar System:
|
|
463
|
+
{
|
|
464
|
+
"backgroundColor": "#0a0a0a",
|
|
465
|
+
"items": [
|
|
466
|
+
{ "name": "sun", "itemType": "circle", "position": {"x": 400, "y": 300}, "properties": {"radius": 50, "color": "#fbbf24"} },
|
|
467
|
+
{ "name": "earth", "itemType": "circle", "position": {"x": 550, "y": 300}, "properties": {"radius": 20, "color": "#3b82f6"} },
|
|
468
|
+
{ "name": "moon", "itemType": "circle", "position": {"x": 590, "y": 300}, "properties": {"radius": 8, "color": "#9ca3af"} }
|
|
469
|
+
],
|
|
470
|
+
"relations": [
|
|
471
|
+
{ "source": "earth", "target": "sun", "type": "orbits", "params": {"radius": 150, "speed": 0.5} },
|
|
472
|
+
{ "source": "moon", "target": "earth", "type": "orbits", "params": {"radius": 40, "speed": 1.5} }
|
|
473
|
+
],
|
|
474
|
+
"animations": [
|
|
475
|
+
{ "target": "sun", "type": "pulse", "speed": 0.3 }
|
|
476
|
+
]
|
|
477
|
+
}
|
|
478
|
+
|
|
479
|
+
EXAMPLE - Bouncing Balls:
|
|
480
|
+
{
|
|
481
|
+
"backgroundColor": "#1e293b",
|
|
482
|
+
"items": [
|
|
483
|
+
{ "name": "ball1", "itemType": "circle", "position": {"x": 200, "y": 300}, "properties": {"radius": 30, "color": "#ef4444"} },
|
|
484
|
+
{ "name": "ball2", "itemType": "circle", "position": {"x": 400, "y": 300}, "properties": {"radius": 30, "color": "#22c55e"} },
|
|
485
|
+
{ "name": "ball3", "itemType": "circle", "position": {"x": 600, "y": 300}, "properties": {"radius": 30, "color": "#3b82f6"} }
|
|
486
|
+
],
|
|
487
|
+
"animations": [
|
|
488
|
+
{ "target": "ball1", "type": "bounce", "speed": 1.0 },
|
|
489
|
+
{ "target": "ball2", "type": "bounce", "speed": 0.8 },
|
|
490
|
+
{ "target": "ball3", "type": "bounce", "speed": 1.2 }
|
|
491
|
+
]
|
|
492
|
+
}
|
|
493
|
+
|
|
494
|
+
SUPPORTED ITEM TYPES: text, circle, star, rectangle, triangle, polygon, ellipse, path, line, arc
|
|
495
|
+
SUPPORTED RELATIONS: orbits, follows, attached_to, maintains_distance, points_at, mirrors, parallax, bounds_to
|
|
496
|
+
SUPPORTED ANIMATIONS: pulse, rotate, bounce, fade, wobble, slide, typewriter`,
|
|
497
|
+
inputSchema: {
|
|
498
|
+
type: 'object',
|
|
499
|
+
properties: {
|
|
500
|
+
items: {
|
|
501
|
+
type: 'array',
|
|
502
|
+
items: {
|
|
503
|
+
type: 'object',
|
|
504
|
+
properties: {
|
|
505
|
+
name: {
|
|
506
|
+
type: 'string',
|
|
507
|
+
description: 'Reference name for this item (used in relations/animations)',
|
|
508
|
+
},
|
|
509
|
+
itemType: {
|
|
510
|
+
type: 'string',
|
|
511
|
+
enum: ['text', 'circle', 'star', 'rectangle', 'triangle', 'polygon', 'ellipse', 'path', 'line', 'arc'],
|
|
512
|
+
description: 'Type of item to create',
|
|
513
|
+
},
|
|
514
|
+
position: {
|
|
515
|
+
type: 'object',
|
|
516
|
+
properties: {
|
|
517
|
+
x: { type: 'number' },
|
|
518
|
+
y: { type: 'number' },
|
|
519
|
+
},
|
|
520
|
+
description: 'Position on canvas',
|
|
521
|
+
},
|
|
522
|
+
properties: {
|
|
523
|
+
type: 'object',
|
|
524
|
+
description: 'Item-specific properties (color, radius, content, etc.)',
|
|
525
|
+
additionalProperties: true,
|
|
526
|
+
},
|
|
527
|
+
},
|
|
528
|
+
required: ['name', 'itemType'],
|
|
529
|
+
},
|
|
530
|
+
description: 'Array of items to create with reference names',
|
|
531
|
+
},
|
|
532
|
+
relations: {
|
|
533
|
+
type: 'array',
|
|
534
|
+
items: {
|
|
535
|
+
type: 'object',
|
|
536
|
+
properties: {
|
|
537
|
+
source: { type: 'string', description: 'Name of source item' },
|
|
538
|
+
target: { type: 'string', description: 'Name of target item' },
|
|
539
|
+
type: {
|
|
540
|
+
type: 'string',
|
|
541
|
+
enum: ['orbits', 'follows', 'attached_to', 'maintains_distance', 'points_at', 'mirrors', 'parallax', 'bounds_to'],
|
|
542
|
+
},
|
|
543
|
+
params: {
|
|
544
|
+
type: 'object',
|
|
545
|
+
description: 'Relation parameters (radius, speed, distance, etc.)',
|
|
546
|
+
additionalProperties: true,
|
|
547
|
+
},
|
|
548
|
+
},
|
|
549
|
+
required: ['source', 'target', 'type'],
|
|
550
|
+
},
|
|
551
|
+
description: 'Relations between items',
|
|
552
|
+
},
|
|
553
|
+
animations: {
|
|
554
|
+
type: 'array',
|
|
555
|
+
items: {
|
|
556
|
+
type: 'object',
|
|
557
|
+
properties: {
|
|
558
|
+
target: { type: 'string', description: 'Name of item to animate' },
|
|
559
|
+
type: {
|
|
560
|
+
type: 'string',
|
|
561
|
+
enum: ['pulse', 'rotate', 'bounce', 'fade', 'wobble', 'slide', 'typewriter'],
|
|
562
|
+
},
|
|
563
|
+
speed: { type: 'number', description: 'Animation speed (default: 1.0)' },
|
|
564
|
+
params: {
|
|
565
|
+
type: 'object',
|
|
566
|
+
description: 'Animation-specific parameters',
|
|
567
|
+
additionalProperties: true,
|
|
568
|
+
},
|
|
569
|
+
},
|
|
570
|
+
required: ['target', 'type'],
|
|
571
|
+
},
|
|
572
|
+
description: 'Animations to apply to items',
|
|
573
|
+
},
|
|
574
|
+
backgroundColor: {
|
|
575
|
+
type: 'string',
|
|
576
|
+
description: 'Background color for the scene (hex, rgb, or named)',
|
|
577
|
+
},
|
|
578
|
+
backgroundGenerator: {
|
|
579
|
+
type: 'string',
|
|
580
|
+
description: 'Name of generator to use for background (e.g., "drawSunburst")',
|
|
581
|
+
},
|
|
582
|
+
clearFirst: {
|
|
583
|
+
type: 'boolean',
|
|
584
|
+
description: 'Clear canvas before creating scene (default: true)',
|
|
585
|
+
},
|
|
586
|
+
},
|
|
587
|
+
required: ['items'],
|
|
588
|
+
},
|
|
589
|
+
},
|
|
440
590
|
// ---------------------------------------------------------------------------
|
|
441
591
|
// BATCH OPERATION TOOLS
|
|
442
592
|
// ---------------------------------------------------------------------------
|
|
@@ -1546,6 +1696,122 @@ RETURNS:
|
|
|
1546
1696
|
},
|
|
1547
1697
|
},
|
|
1548
1698
|
},
|
|
1699
|
+
// ---------------------------------------------------------------------------
|
|
1700
|
+
// P5.JS COMPATIBILITY
|
|
1701
|
+
// ---------------------------------------------------------------------------
|
|
1702
|
+
{
|
|
1703
|
+
name: 'pinepaper_p5_draw',
|
|
1704
|
+
description: `Execute p5.js-style drawing code on the PinePaper canvas.
|
|
1705
|
+
|
|
1706
|
+
Claude can use familiar p5.js syntax - the code is translated to Paper.js automatically.
|
|
1707
|
+
This is a SUBSET of p5.js functions optimized for static drawings.
|
|
1708
|
+
|
|
1709
|
+
AVAILABLE FUNCTIONS:
|
|
1710
|
+
|
|
1711
|
+
Shapes:
|
|
1712
|
+
- circle(x, y, diameter) - Draw a circle (note: uses diameter, not radius)
|
|
1713
|
+
- ellipse(x, y, width, [height]) - Draw an ellipse
|
|
1714
|
+
- rect(x, y, width, height, [cornerRadius]) - Draw a rectangle
|
|
1715
|
+
- line(x1, y1, x2, y2) - Draw a line between two points
|
|
1716
|
+
- triangle(x1, y1, x2, y2, x3, y3) - Draw a triangle
|
|
1717
|
+
- quad(x1, y1, x2, y2, x3, y3, x4, y4) - Draw a quadrilateral
|
|
1718
|
+
- arc(x, y, width, height, startAngle, stopAngle) - Draw an arc (angles in radians)
|
|
1719
|
+
- point(x, y) - Draw a single point
|
|
1720
|
+
|
|
1721
|
+
Style:
|
|
1722
|
+
- fill(r, g, b) or fill(gray) or fill('#hex') - Set fill color for subsequent shapes
|
|
1723
|
+
- noFill() - Disable fill for subsequent shapes
|
|
1724
|
+
- stroke(r, g, b) or stroke('#hex') - Set stroke color
|
|
1725
|
+
- noStroke() - Disable stroke
|
|
1726
|
+
- strokeWeight(weight) - Set stroke width in pixels
|
|
1727
|
+
- background(r, g, b) or background('#hex') - Set canvas background color
|
|
1728
|
+
|
|
1729
|
+
Math:
|
|
1730
|
+
- random(min, max) or random(max) - Random number in range
|
|
1731
|
+
- map(value, start1, stop1, start2, stop2) - Re-map a number from one range to another
|
|
1732
|
+
- constrain(value, min, max) - Limit a value to a range
|
|
1733
|
+
- dist(x1, y1, x2, y2) - Calculate distance between two points
|
|
1734
|
+
- lerp(start, stop, amount) - Linear interpolation between two values
|
|
1735
|
+
- radians(degrees) - Convert degrees to radians
|
|
1736
|
+
- degrees(radians) - Convert radians to degrees
|
|
1737
|
+
|
|
1738
|
+
Canvas Properties:
|
|
1739
|
+
- width - Canvas width in pixels
|
|
1740
|
+
- height - Canvas height in pixels
|
|
1741
|
+
|
|
1742
|
+
Mode Functions:
|
|
1743
|
+
- rectMode(CENTER|CORNER) - Set rectangle positioning mode
|
|
1744
|
+
- ellipseMode(CENTER|CORNER) - Set ellipse positioning mode
|
|
1745
|
+
|
|
1746
|
+
Constants:
|
|
1747
|
+
- PI, TWO_PI, HALF_PI, QUARTER_PI - Math constants
|
|
1748
|
+
- CENTER, CORNER - Mode constants
|
|
1749
|
+
|
|
1750
|
+
NOT SUPPORTED (use native PinePaper tools instead):
|
|
1751
|
+
- setup()/draw() animation loop - Use pinepaper_animate or pinepaper_add_relation
|
|
1752
|
+
- noise() - Perlin noise not available
|
|
1753
|
+
- text() - Use pinepaper_create_item with type: 'text'
|
|
1754
|
+
- loadImage()/image() - Use pinepaper_import_svg
|
|
1755
|
+
- push()/pop()/translate()/rotate()/scale() - Use pinepaper_modify_item
|
|
1756
|
+
- beginShape()/vertex()/endShape() - Use pinepaper_create_item with type: 'path'
|
|
1757
|
+
|
|
1758
|
+
USAGE:
|
|
1759
|
+
- Code runs directly - NO setup() or draw() wrapper needed
|
|
1760
|
+
- Items created are automatically registered with PinePaper's ItemRegistry
|
|
1761
|
+
- All items are selectable, animatable, and exportable
|
|
1762
|
+
- State (fill, stroke) persists between calls within the same code block
|
|
1763
|
+
|
|
1764
|
+
EXAMPLE - Random Circles:
|
|
1765
|
+
\`\`\`
|
|
1766
|
+
background(30);
|
|
1767
|
+
noStroke();
|
|
1768
|
+
for (let i = 0; i < 20; i++) {
|
|
1769
|
+
fill(random(255), random(255), random(255));
|
|
1770
|
+
circle(random(width), random(height), random(20, 80));
|
|
1771
|
+
}
|
|
1772
|
+
\`\`\`
|
|
1773
|
+
|
|
1774
|
+
EXAMPLE - Gradient Grid:
|
|
1775
|
+
\`\`\`
|
|
1776
|
+
background(20);
|
|
1777
|
+
noStroke();
|
|
1778
|
+
const cols = 10;
|
|
1779
|
+
const rows = 10;
|
|
1780
|
+
const cellW = width / cols;
|
|
1781
|
+
const cellH = height / rows;
|
|
1782
|
+
for (let i = 0; i < cols; i++) {
|
|
1783
|
+
for (let j = 0; j < rows; j++) {
|
|
1784
|
+
const r = map(i, 0, cols, 50, 255);
|
|
1785
|
+
const b = map(j, 0, rows, 50, 255);
|
|
1786
|
+
fill(r, 100, b);
|
|
1787
|
+
rect(i * cellW, j * cellH, cellW - 2, cellH - 2);
|
|
1788
|
+
}
|
|
1789
|
+
}
|
|
1790
|
+
\`\`\`
|
|
1791
|
+
|
|
1792
|
+
EXAMPLE - Concentric Circles:
|
|
1793
|
+
\`\`\`
|
|
1794
|
+
background(240);
|
|
1795
|
+
noFill();
|
|
1796
|
+
strokeWeight(2);
|
|
1797
|
+
const centerX = width / 2;
|
|
1798
|
+
const centerY = height / 2;
|
|
1799
|
+
for (let i = 10; i > 0; i--) {
|
|
1800
|
+
stroke(map(i, 0, 10, 0, 200), 50, map(i, 0, 10, 200, 50));
|
|
1801
|
+
circle(centerX, centerY, i * 50);
|
|
1802
|
+
}
|
|
1803
|
+
\`\`\``,
|
|
1804
|
+
inputSchema: {
|
|
1805
|
+
type: 'object',
|
|
1806
|
+
properties: {
|
|
1807
|
+
code: {
|
|
1808
|
+
type: 'string',
|
|
1809
|
+
description: 'p5.js-style drawing code to execute',
|
|
1810
|
+
},
|
|
1811
|
+
},
|
|
1812
|
+
required: ['code'],
|
|
1813
|
+
},
|
|
1814
|
+
},
|
|
1549
1815
|
];
|
|
1550
1816
|
/**
|
|
1551
1817
|
* Get a tool definition by name
|