@pinepaper.studio/mcp-server 1.6.20 → 1.6.21
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 +1 -1
- package/README.es.md +1 -1
- package/README.fr.md +1 -1
- package/README.hi.md +1 -1
- package/README.ja.md +1 -1
- package/README.ko.md +1 -1
- package/README.md +79 -5
- package/README.pt-BR.md +1 -1
- package/README.zh-CN.md +1 -1
- package/dist/build-info.json +3 -3
- package/dist/ontology/upstream-vocabulary.d.ts +2 -2
- package/dist/ontology/upstream-vocabulary.js +3 -3
- package/dist/ontology/upstream-vocabulary.js.map +1 -1
- package/dist/ontology/vocabulary.js +1 -1
- package/dist/ontology/vocabulary.js.map +1 -1
- package/dist/tools/choreograph.d.ts.map +1 -1
- package/dist/tools/choreograph.js +10 -0
- package/dist/tools/choreograph.js.map +1 -1
- package/dist/tools/craft-tools.d.ts +55 -0
- package/dist/tools/craft-tools.d.ts.map +1 -0
- package/dist/tools/craft-tools.js +139 -0
- package/dist/tools/craft-tools.js.map +1 -0
- package/dist/tools/definitions.d.ts.map +1 -1
- package/dist/tools/definitions.js +117 -7
- package/dist/tools/definitions.js.map +1 -1
- package/dist/tools/effect-class.d.ts.map +1 -1
- package/dist/tools/effect-class.js +6 -0
- package/dist/tools/effect-class.js.map +1 -1
- package/dist/tools/engine-lists.d.ts +2 -2
- package/dist/tools/engine-lists.js +2 -2
- package/dist/tools/engine-methods.d.ts.map +1 -1
- package/dist/tools/engine-methods.js +4 -0
- package/dist/tools/engine-methods.js.map +1 -1
- package/dist/tools/engine-surface.d.ts +1 -1
- package/dist/tools/engine-surface.d.ts.map +1 -1
- package/dist/tools/engine-surface.js +38 -5
- package/dist/tools/engine-surface.js.map +1 -1
- package/dist/tools/handlers/generate.d.ts +28 -28
- package/dist/tools/handlers.d.ts.map +1 -1
- package/dist/tools/handlers.js +125 -1
- package/dist/tools/handlers.js.map +1 -1
- package/dist/tools/minimal-descriptions.d.ts.map +1 -1
- package/dist/tools/minimal-descriptions.js +7 -0
- package/dist/tools/minimal-descriptions.js.map +1 -1
- package/dist/tools/shape-params.d.ts +2 -2
- package/dist/tools/shape-params.d.ts.map +1 -1
- package/dist/tools/shape-params.js +3 -2
- package/dist/tools/shape-params.js.map +1 -1
- package/dist/tools/stick-vocabulary.d.ts +1 -1
- package/dist/tools/stick-vocabulary.js +1 -1
- package/dist/tools/toolkits.d.ts.map +1 -1
- package/dist/tools/toolkits.js +9 -0
- package/dist/tools/toolkits.js.map +1 -1
- package/dist/types/code-generator.d.ts +10 -1
- package/dist/types/code-generator.d.ts.map +1 -1
- package/dist/types/code-generator.js +605 -107
- package/dist/types/code-generator.js.map +1 -1
- package/dist/types/schemas.d.ts +1745 -582
- package/dist/types/schemas.d.ts.map +1 -1
- package/dist/types/schemas.js +144 -4
- package/dist/types/schemas.js.map +1 -1
- package/dist/vendor/design/design-style.d.ts +2 -2
- package/dist/vendor/design/design-style.d.ts.map +1 -1
- package/dist/vendor/design/design-style.js +7 -2
- package/dist/vendor/design/design-style.js.map +1 -1
- package/dist/vendor/design/subdivision-tool-schema.d.ts +16 -0
- package/dist/vendor/design/subdivision-tool-schema.d.ts.map +1 -0
- package/dist/vendor/design/subdivision-tool-schema.js +104 -0
- package/dist/vendor/design/subdivision-tool-schema.js.map +1 -0
- package/dist/vendor/design/textile-tool-schema.d.ts +14 -0
- package/dist/vendor/design/textile-tool-schema.d.ts.map +1 -0
- package/dist/vendor/design/textile-tool-schema.js +195 -0
- package/dist/vendor/design/textile-tool-schema.js.map +1 -0
- package/dist/vendor/design/ui-kit-runtime.d.ts +49 -0
- package/dist/vendor/design/ui-kit-runtime.d.ts.map +1 -0
- package/dist/vendor/design/ui-kit-runtime.js +761 -0
- package/dist/vendor/design/ui-kit-runtime.js.map +1 -0
- package/dist/vendor/design/ui-kit-tool-schema.d.ts +280 -0
- package/dist/vendor/design/ui-kit-tool-schema.d.ts.map +1 -0
- package/dist/vendor/design/ui-kit-tool-schema.js +209 -0
- package/dist/vendor/design/ui-kit-tool-schema.js.map +1 -0
- package/manifest.json +29 -1
- package/package.json +2 -2
- package/dist/assets/repositories/openclipart.d.ts +0 -41
- package/dist/assets/repositories/openclipart.d.ts.map +0 -1
- package/dist/assets/repositories/openclipart.js +0 -139
- package/dist/assets/repositories/openclipart.js.map +0 -1
- package/dist/assets/repositories/svgrepo.d.ts +0 -61
- package/dist/assets/repositories/svgrepo.d.ts.map +0 -1
- package/dist/assets/repositories/svgrepo.js +0 -276
- package/dist/assets/repositories/svgrepo.js.map +0 -1
|
@@ -72,6 +72,16 @@ export function compileChoreography(actor, frame, beats) {
|
|
|
72
72
|
const sorted = beats.map((b, i) => ({ b, i })).sort((a, z) => (+a.b.at || 0) - (+z.b.at || 0));
|
|
73
73
|
let t = 0;
|
|
74
74
|
let started = false;
|
|
75
|
+
if (sorted.length > 0) {
|
|
76
|
+
const firstAt = +sorted[0].b.at || 0;
|
|
77
|
+
if (firstAt > 0) {
|
|
78
|
+
const firstVerb = sorted[0].b.verb;
|
|
79
|
+
const isEntrance = firstVerb === 'enter' || firstVerb === 'pop' || firstVerb === 'peek';
|
|
80
|
+
if (!isEntrance) {
|
|
81
|
+
key(0, 'linear');
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
}
|
|
75
85
|
try {
|
|
76
86
|
for (const { b, i } of sorted) {
|
|
77
87
|
const at = +b.at || 0;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"choreograph.js","sourceRoot":"","sources":["../../src/tools/choreograph.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"choreograph.js","sourceRoot":"","sources":["../../src/tools/choreograph.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* THE CLOUD'S CRAFT TOOLS, LOCALLY (1.6.21): pinepaper_draw_weave, _draw_knots,
|
|
3
|
+
* _draw_sashiko, _draw_subdivision and pinepaper_ui_kit.
|
|
4
|
+
*
|
|
5
|
+
* mcp-cloud authors them and this package does not fork them: the generators,
|
|
6
|
+
* the public JSON schemas and the UI kit runtime are vendored whole by
|
|
7
|
+
* scripts/sync-design-systems.mjs (src/vendor/design/, check:design fails on a
|
|
8
|
+
* drift). What lives here is only what differs between the two doors:
|
|
9
|
+
*
|
|
10
|
+
* - THE WORDS. Upstream descriptions say the call is recorded on a cloud
|
|
11
|
+
* canvas, costs $0.001 and is drawn by pinepaper_render. Locally the call
|
|
12
|
+
* draws on the studio canvas at once and is free, so those clauses go.
|
|
13
|
+
* - THE FRAME. The generators default to a 1280x720 rectangle. The handler
|
|
14
|
+
* asks the studio for its canvas first and passes it as bounds.
|
|
15
|
+
* - THE IDS. The generators name items `${prefix}_warp_0`…; a second weave
|
|
16
|
+
* with the same prefix would re-register the first one's ids. Each call
|
|
17
|
+
* gets its own prefix.
|
|
18
|
+
* - THE TYPE. The kit sets type in Geist. The studio registers only Inter
|
|
19
|
+
* (prod probe 2026-10-13), so the call loads Geist and Geist Mono first, as
|
|
20
|
+
* brand_kit loads a brand's faces (emitEnsureFont: the studio, then Google
|
|
21
|
+
* Fonts). If that fails the kit draws in Inter, the studio's own face, and
|
|
22
|
+
* the result says which face it used.
|
|
23
|
+
* - THE BRAND. The engine's applyBrandKit recolours what is on the canvas and
|
|
24
|
+
* keeps nothing. pinepaper_brand_kit set leaves the active brand on
|
|
25
|
+
* window.__ppActiveBrand, and the UI kit draws in it when the call names no
|
|
26
|
+
* brand of its own — the cloud does the same from the scene's brand_kit op
|
|
27
|
+
* (ui-kit-attach.ts).
|
|
28
|
+
*/
|
|
29
|
+
import type { Tool } from '@modelcontextprotocol/sdk/types.js';
|
|
30
|
+
import type { DrawWeaveInput, DrawKnotsInput, DrawSashikoInput, DrawSubdivisionInput, UiKitInput } from '../types/schemas.js';
|
|
31
|
+
export declare const CRAFT_TOOL_NAMES: readonly ["pinepaper_draw_weave", "pinepaper_draw_knots", "pinepaper_draw_sashiko", "pinepaper_draw_subdivision", "pinepaper_ui_kit"];
|
|
32
|
+
export interface CraftBounds {
|
|
33
|
+
x: number;
|
|
34
|
+
y: number;
|
|
35
|
+
width: number;
|
|
36
|
+
height: number;
|
|
37
|
+
}
|
|
38
|
+
/** The five tool definitions: upstream schemas, local words. */
|
|
39
|
+
export declare function craftToolDefinitions(): Tool[];
|
|
40
|
+
/** JS that answers the canvas rectangle the craft tools fill by default. */
|
|
41
|
+
export declare const CRAFT_FRAME_JS: string;
|
|
42
|
+
/** A prefix no earlier call used: the generators register items by prefix + index. */
|
|
43
|
+
export declare function craftPrefix(base: string): string;
|
|
44
|
+
export declare function generateDrawWeave(input: DrawWeaveInput, frame?: CraftBounds): string;
|
|
45
|
+
export declare function generateDrawKnots(input: DrawKnotsInput): string;
|
|
46
|
+
export declare function generateDrawSashiko(input: DrawSashikoInput, frame?: CraftBounds): string;
|
|
47
|
+
export declare function generateDrawSubdivision(input: DrawSubdivisionInput, frame?: CraftBounds): string;
|
|
48
|
+
/** Problems with a ui_kit call, in the kit's own words. Empty when it draws. */
|
|
49
|
+
export declare function uiKitCallProblems(input: UiKitInput): string[];
|
|
50
|
+
/**
|
|
51
|
+
* The kit, its faces loaded, the canvas brand when the call names none, then the
|
|
52
|
+
* call. Null when the call cannot draw (see uiKitCallProblems).
|
|
53
|
+
*/
|
|
54
|
+
export declare function generateUiKit(input: UiKitInput): string | null;
|
|
55
|
+
//# sourceMappingURL=craft-tools.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"craft-tools.d.ts","sourceRoot":"","sources":["../../src/tools/craft-tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAQ/D,OAAO,KAAK,EACV,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,oBAAoB,EACpB,UAAU,EACX,MAAM,qBAAqB,CAAC;AAE7B,eAAO,MAAM,gBAAgB,uIAMnB,CAAC;AAEX,MAAM,WAAW,WAAW;IAAG,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE;AAoCpF,gEAAgE;AAChE,wBAAgB,oBAAoB,IAAI,IAAI,EAAE,CAsB7C;AAED,4EAA4E;AAC5E,eAAO,MAAM,cAAc,QAEiF,CAAC;AAE7G,sFAAsF;AACtF,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEhD;AASD,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,cAAc,EAAE,KAAK,CAAC,EAAE,WAAW,GAAG,MAAM,CAGpF;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,cAAc,GAAG,MAAM,CAE/D;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,gBAAgB,EAAE,KAAK,CAAC,EAAE,WAAW,GAAG,MAAM,CAGxF;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,oBAAoB,EAAE,KAAK,CAAC,EAAE,WAAW,GAAG,MAAM,CAGhG;AAED,gFAAgF;AAChF,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,EAAE,CAE7D;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,GAAG,IAAI,CA8B9D"}
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
import { generateTextileCode } from '../vendor/design/textile-weave-generator.js';
|
|
2
|
+
import { generateRecursiveSubdivisionCode } from '../vendor/design/recursive-subdivision-generator.js';
|
|
3
|
+
import { textileTools } from '../vendor/design/textile-tool-schema.js';
|
|
4
|
+
import { subdivisionTools } from '../vendor/design/subdivision-tool-schema.js';
|
|
5
|
+
import { UI_KIT_RUNTIME } from '../vendor/design/ui-kit-runtime.js';
|
|
6
|
+
import { UI_KIT_ACTIONS, uiKitTools, uiKitProblems, generateUiKitCode } from '../vendor/design/ui-kit-tool-schema.js';
|
|
7
|
+
import { emitEnsureFont } from '../types/code-generator.js';
|
|
8
|
+
export const CRAFT_TOOL_NAMES = [
|
|
9
|
+
'pinepaper_draw_weave',
|
|
10
|
+
'pinepaper_draw_knots',
|
|
11
|
+
'pinepaper_draw_sashiko',
|
|
12
|
+
'pinepaper_draw_subdivision',
|
|
13
|
+
'pinepaper_ui_kit',
|
|
14
|
+
];
|
|
15
|
+
/** Where the kit declares its default faces; replaced by the faces this studio actually loaded. */
|
|
16
|
+
const KIT_DEFAULT_FONTS = "fonts: { heading: 'Geist', body: 'Geist', mono: 'Geist Mono' }";
|
|
17
|
+
const KIT_LOADED_FONTS = 'fonts: { heading: __kitFace, body: __kitFace, mono: __kitMono }';
|
|
18
|
+
/** Cloud-only clauses in the upstream words, and what they say locally. */
|
|
19
|
+
function localWords(text) {
|
|
20
|
+
return text
|
|
21
|
+
.replace(/\s*\[Cost: [^\]]*\]/g, '')
|
|
22
|
+
.replace(/\s*Appends to canvas state[^.]*\./g, ' Draws on the canvas as ordinary items you can select and edit.')
|
|
23
|
+
.replace(/\s*Recorded on your cloud canvas and drawn by pinepaper_render\./g, ' Draws on the canvas at once.')
|
|
24
|
+
.replace(/\(default: full canvas 1280x720 or 1080x1350\)/g, '(default: the canvas)')
|
|
25
|
+
.replace(/\(default Geist\)/g, '(default Inter)')
|
|
26
|
+
.trim();
|
|
27
|
+
}
|
|
28
|
+
function localise(value) {
|
|
29
|
+
if (typeof value === 'string')
|
|
30
|
+
return localWords(value);
|
|
31
|
+
if (Array.isArray(value))
|
|
32
|
+
return value.map(localise);
|
|
33
|
+
if (value && typeof value === 'object') {
|
|
34
|
+
const out = {};
|
|
35
|
+
for (const [k, v] of Object.entries(value))
|
|
36
|
+
out[k] = k === 'description' || typeof v === 'object' ? localise(v) : v;
|
|
37
|
+
return out;
|
|
38
|
+
}
|
|
39
|
+
return value;
|
|
40
|
+
}
|
|
41
|
+
const TITLES = {
|
|
42
|
+
pinepaper_draw_weave: 'Draw Weave',
|
|
43
|
+
pinepaper_draw_knots: 'Draw Knots',
|
|
44
|
+
pinepaper_draw_sashiko: 'Draw Sashiko',
|
|
45
|
+
pinepaper_draw_subdivision: 'Draw Subdivision',
|
|
46
|
+
pinepaper_ui_kit: 'UI Kit',
|
|
47
|
+
};
|
|
48
|
+
/** The five tool definitions: upstream schemas, local words. */
|
|
49
|
+
export function craftToolDefinitions() {
|
|
50
|
+
return [...textileTools(), ...subdivisionTools(), ...uiKitTools()].map((t) => {
|
|
51
|
+
const def = localise(t);
|
|
52
|
+
if (def.name === 'pinepaper_draw_knots') {
|
|
53
|
+
def.description += ' Needs points: the knots go exactly where you put them.';
|
|
54
|
+
}
|
|
55
|
+
if (def.name === 'pinepaper_ui_kit') {
|
|
56
|
+
def.description += ` Actions: ${UI_KIT_ACTIONS.join(', ')}.`;
|
|
57
|
+
}
|
|
58
|
+
return {
|
|
59
|
+
name: def.name,
|
|
60
|
+
annotations: {
|
|
61
|
+
title: TITLES[def.name] ?? def.name,
|
|
62
|
+
readOnlyHint: false,
|
|
63
|
+
destructiveHint: false,
|
|
64
|
+
idempotentHint: false,
|
|
65
|
+
openWorldHint: false,
|
|
66
|
+
},
|
|
67
|
+
description: def.description,
|
|
68
|
+
inputSchema: def.inputSchema,
|
|
69
|
+
};
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
/** JS that answers the canvas rectangle the craft tools fill by default. */
|
|
73
|
+
export const CRAFT_FRAME_JS = '(function(){ var c = app.getCanvasSize ? app.getCanvasSize() : null;' +
|
|
74
|
+
' return c && c.width > 0 && c.height > 0 ? { x: 0, y: 0, width: c.width, height: c.height } : null; })()';
|
|
75
|
+
/** A prefix no earlier call used: the generators register items by prefix + index. */
|
|
76
|
+
export function craftPrefix(base) {
|
|
77
|
+
return `${base}_${Date.now().toString(36)}${Math.random().toString(36).slice(2, 6)}`;
|
|
78
|
+
}
|
|
79
|
+
/** The generator's value is a Group; the result reports how many items the call registered instead. */
|
|
80
|
+
function reported(code, tool) {
|
|
81
|
+
return `var __before = app.itemRegistry ? app.itemRegistry.getAll().length : 0;
|
|
82
|
+
${code}
|
|
83
|
+
({ success: true, tool: ${JSON.stringify(tool)}, itemCount: app.itemRegistry ? app.itemRegistry.getAll().length - __before : null });`;
|
|
84
|
+
}
|
|
85
|
+
export function generateDrawWeave(input, frame) {
|
|
86
|
+
const bounds = input.bounds ? { ...frame, ...input.bounds } : frame;
|
|
87
|
+
return reported(generateTextileCode({ ...input, type: input.weave ?? 'plain', bounds, idPrefix: craftPrefix(`${input.weave ?? 'plain'}_weave`) }), 'pinepaper_draw_weave');
|
|
88
|
+
}
|
|
89
|
+
export function generateDrawKnots(input) {
|
|
90
|
+
return reported(generateTextileCode({ ...input, type: 'knots', idPrefix: craftPrefix('embroidery_knot') }), 'pinepaper_draw_knots');
|
|
91
|
+
}
|
|
92
|
+
export function generateDrawSashiko(input, frame) {
|
|
93
|
+
const bounds = input.bounds ? { ...frame, ...input.bounds } : frame;
|
|
94
|
+
return reported(generateTextileCode({ ...input, type: 'sashiko', bounds, idPrefix: craftPrefix(`sashiko_${input.pattern ?? 'seigaiha'}`) }), 'pinepaper_draw_sashiko');
|
|
95
|
+
}
|
|
96
|
+
export function generateDrawSubdivision(input, frame) {
|
|
97
|
+
const bounds = input.bounds ? { ...frame, ...input.bounds } : frame;
|
|
98
|
+
return reported(generateRecursiveSubdivisionCode({ ...input, bounds, idPrefix: input.idPrefix ?? craftPrefix('subdiv') }), 'pinepaper_draw_subdivision');
|
|
99
|
+
}
|
|
100
|
+
/** Problems with a ui_kit call, in the kit's own words. Empty when it draws. */
|
|
101
|
+
export function uiKitCallProblems(input) {
|
|
102
|
+
return uiKitProblems(input);
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* The kit, its faces loaded, the canvas brand when the call names none, then the
|
|
106
|
+
* call. Null when the call cannot draw (see uiKitCallProblems).
|
|
107
|
+
*/
|
|
108
|
+
export function generateUiKit(input) {
|
|
109
|
+
const call = generateUiKitCode(input);
|
|
110
|
+
if (!call)
|
|
111
|
+
return null;
|
|
112
|
+
if (!UI_KIT_RUNTIME.includes(KIT_DEFAULT_FONTS)) {
|
|
113
|
+
// The kit's defaults moved upstream; craft-tools.test.ts fails on this too.
|
|
114
|
+
throw new Error('ui_kit: the vendored kit no longer declares its default fonts where this package expects them');
|
|
115
|
+
}
|
|
116
|
+
const brand = input.brand;
|
|
117
|
+
const brandFaces = [brand?.headingFont, brand?.bodyFont].filter((f) => typeof f === 'string' && /^[\w \-]{1,60}$/.test(f.trim()));
|
|
118
|
+
const ensure = (family, slot) => ` ${slot} = await (async function() {${emitEnsureFont(family).replace(/\n/g, '\n ')}\n return __font;\n })();\n if (${slot}) __fonts.push(${slot});`;
|
|
119
|
+
const runtime = UI_KIT_RUNTIME.replace(KIT_DEFAULT_FONTS, KIT_LOADED_FONTS);
|
|
120
|
+
return `// UI kit: ${input.action}
|
|
121
|
+
(async function() {
|
|
122
|
+
const __fonts = [];
|
|
123
|
+
let __geist, __geistMono, __b;
|
|
124
|
+
${ensure('Geist', '__geist')}
|
|
125
|
+
${ensure('Geist Mono', '__geistMono')}
|
|
126
|
+
${[...new Set(brandFaces.map((f) => f.trim()))].map((f) => ensure(f, '__b')).join('\n')}
|
|
127
|
+
// Geist is the kit's face; a studio that cannot load it draws in Inter, its own face, not a browser substitute.
|
|
128
|
+
var __kitFace = (__geist && __geist.available === false) ? 'Inter' : 'Geist';
|
|
129
|
+
var __kitMono = (__geistMono && __geistMono.available === false) ? 'monospace' : 'Geist Mono';
|
|
130
|
+
${runtime}
|
|
131
|
+
${brand ? '' : " if (typeof window !== 'undefined' && window.__ppActiveBrand) UIKit.brand(window.__ppActiveBrand);\n"} var __before = app.itemRegistry ? app.itemRegistry.getAll().length : 0;
|
|
132
|
+
${call}
|
|
133
|
+
return { success: true, tool: 'pinepaper_ui_kit', action: ${JSON.stringify(input.action)},
|
|
134
|
+
itemCount: app.itemRegistry ? app.itemRegistry.getAll().length - __before : null,
|
|
135
|
+
face: __kitFace, brand: ${brand ? "'call'" : "(typeof window !== 'undefined' && window.__ppActiveBrand) ? 'active brand kit' : 'kit defaults'"},
|
|
136
|
+
...(__fonts.length ? { fonts: __fonts } : {}) };
|
|
137
|
+
})();`;
|
|
138
|
+
}
|
|
139
|
+
//# sourceMappingURL=craft-tools.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"craft-tools.js","sourceRoot":"","sources":["../../src/tools/craft-tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -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;
|
|
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;AAmE/C;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,SAAS,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,MAAM,CAYnE;AAED,0EAA0E;AAC1E,eAAO,MAAM,eAAe,QAAmB,CAAC;AAEhD,eAAO,MAAM,cAAc,QA4K+G,CAAC;AAW3I,eAAO,MAAM,eAAe,EAAE,IAAI,EAw7SjC,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;AAED;;;;;GAKG;AACH,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC;AAE9D;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,aAAa,GAAG,IAAI,EAAE,CAQrE"}
|
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
*/
|
|
10
10
|
import { COMPACT_DESCRIPTIONS } from './compact-descriptions.js';
|
|
11
11
|
import { MINIMAL_DESCRIPTIONS } from './minimal-descriptions.js';
|
|
12
|
+
import { craftToolDefinitions } from './craft-tools.js';
|
|
12
13
|
import { STICK_GAITS, STICK_POSES, STICK_SEQUENCES, STICK_EXPRESSIONS, STICK_PROPS } from './stick-vocabulary.js';
|
|
13
14
|
import { AgentBatchOperationTypeSchema, GeneratorNameSchema, ItemTypeSchema } from '../types/schemas.js';
|
|
14
15
|
import { DESIGN_MEDIA, DESIGN_MEDIA_APPLY, FILTER_TYPES, FILTER_DOCS, LINEAGE_KINDS, STYLED_SCENE_STYLES, STYLED_SCENE_STYLE_INFO } from './engine-lists.js';
|
|
@@ -143,7 +144,7 @@ Shapes: circle, rectangle, star, ellipse, triangle, polygon, line, arc, path, pe
|
|
|
143
144
|
Surfaces (render-time, evaluated per pixel — not shapes): shader, field
|
|
144
145
|
shader: a lit surface — water, liquid_metal, heatmap, gem_smoke. Set behind:true to put it UNDER the art, which is what scenery wants.
|
|
145
146
|
field: one expression, many marks — xExpr/yExpr/count, re-evaluated every frame against t.
|
|
146
|
-
Both draw
|
|
147
|
+
Both draw in the studio (live, stills, every export) and in a cloud render.
|
|
147
148
|
Text: text (content, fontSize, fontFamily, color, fontWeight)
|
|
148
149
|
Dynamic text: set contentType on text items → clock (live time), timer (elapsed), countdown (from N seconds), stopwatch (pauseable)
|
|
149
150
|
All items: opacity, shadowColor, shadowBlur, blendMode, strokeColor, strokeWidth
|
|
@@ -600,7 +601,7 @@ For glossy 3D spheres, use pinepaper_create_glossy_sphere instead. For diagonal
|
|
|
600
601
|
itemType: {
|
|
601
602
|
type: 'string',
|
|
602
603
|
enum: ['text', 'circle', 'star', 'rectangle', 'triangle', 'polygon', 'ellipse', 'path', 'line', 'arc', 'pentagon', 'hexagon', 'diamond', 'arrow', 'heart', 'disk', 'circle-outline', 'arrow-right', 'speech-bubble', 'speech-bubble-square', 'speech-bubble-pointed', 'thought-bubble', 'double-bubble', 'quote-bubble', 'comment-box', 'callout-box', 'shader', 'field'],
|
|
603
|
-
description: "Type of item to create. 'shader' and 'field' are RENDER-TIME SURFACES drawn per pixel
|
|
604
|
+
description: "Type of item to create. 'shader' and 'field' are RENDER-TIME SURFACES drawn per pixel, in the studio and in a cloud render. See the shader/field properties below.",
|
|
604
605
|
},
|
|
605
606
|
position: {
|
|
606
607
|
oneOf: [
|
|
@@ -627,14 +628,15 @@ For glossy 3D spheres, use pinepaper_create_glossy_sphere instead. For diagonal
|
|
|
627
628
|
|
|
628
629
|
LIFETIME — on ANY item, and the only way to build a piece that CUTS between shots:
|
|
629
630
|
- bornAt: seconds. The item does not exist before this instant.
|
|
630
|
-
- ttl: seconds it lives for. Omit for "until the end".
|
|
631
|
+
- ttl: seconds it lives for. Omit for "until the end". A numeric lifetime is
|
|
632
|
+
read as ttl, except on an emitter, where lifetime is each particle's life.
|
|
631
633
|
Without these every item is on screen for the whole render, which is what makes
|
|
632
634
|
a long piece read as one crowded frame instead of a sequence of shots.
|
|
633
635
|
They set the item's VISIBILITY for [bornAt, bornAt + ttl) — not its opacity —
|
|
634
636
|
so they compose with any keyframes, opacity fades included. Re-timing with
|
|
635
637
|
pinepaper_modify_item {bornAt, ttl} replaces the previous lifetime — pass both.
|
|
636
|
-
The result's lifetime field says whether it was applied
|
|
637
|
-
|
|
638
|
+
The result's lifetime field says whether it was applied, and persists: true
|
|
639
|
+
when it is saved with the scene; without that, re-time a reopened scene.
|
|
638
640
|
|
|
639
641
|
SHADER (itemType 'shader') — a lit surface, drawn per pixel:
|
|
640
642
|
- shader: 'water' (open sea, lit swell) | 'liquid_metal' (chrome) | 'heatmap' (thermal halo) | 'gem_smoke' (smoke) | 'electric_arc' (branching discharge, stepped flicker) | 'vortex' (hollow bright RING, sheared by differential rotation) | 'rain_veil' | 'caustics' | 'ink_bleed'
|
|
@@ -5927,6 +5929,109 @@ PHASES: sin, blink, linear, pingpong, once, elastic, heartbeat, stepped`,
|
|
|
5927
5929
|
required: ['action'],
|
|
5928
5930
|
},
|
|
5929
5931
|
},
|
|
5932
|
+
{
|
|
5933
|
+
name: 'pinepaper_hand_drawn',
|
|
5934
|
+
annotations: {
|
|
5935
|
+
title: 'Hand-Drawn Line',
|
|
5936
|
+
readOnlyHint: false,
|
|
5937
|
+
destructiveHint: false,
|
|
5938
|
+
idempotentHint: false,
|
|
5939
|
+
openWorldHint: false,
|
|
5940
|
+
},
|
|
5941
|
+
description: `Give a path a hand-drawn look: a rough, bowed outline (sketchy), or a stroke that draws itself on (reveal).
|
|
5942
|
+
|
|
5943
|
+
USE WHEN:
|
|
5944
|
+
- "give it a hand-drawn / sketchy / rough outline"
|
|
5945
|
+
- "draw the line on like ink" (reveal)
|
|
5946
|
+
|
|
5947
|
+
STYLES:
|
|
5948
|
+
- 'sketchy' (default): one-time seeded jitter of the path's points and curve handles. Saved with the scene; exports as drawn.
|
|
5949
|
+
- 'reveal' (alias 'ink_reveal'): keyframes the item's stroke trimEnd 0 -> 1 over duration seconds, merged with any keyframes it already has. Needs itemId.
|
|
5950
|
+
- 'wobble', 'stop_motion': refused, nothing changed. A line that boils frame to frame in exports is pinepaper_design_medium medium 'ink'; the refusal returns that call, with fps as the boil rate.
|
|
5951
|
+
|
|
5952
|
+
PARAMETERS:
|
|
5953
|
+
- itemId: target item registry id (sketchy falls back to the selection)
|
|
5954
|
+
- style / mode: 'sketchy' | 'reveal' | 'ink_reveal' | 'wobble' | 'stop_motion'
|
|
5955
|
+
- roughness: point jitter in px (default 2)
|
|
5956
|
+
- bowing: curve handle jitter factor (default 1)
|
|
5957
|
+
- seed: same seed, same jitter (default 1)
|
|
5958
|
+
- duration: reveal seconds (default 2)
|
|
5959
|
+
- fps / posterizeFps: boil rate passed on in the wobble/stop_motion refusal (default 12)`,
|
|
5960
|
+
inputSchema: {
|
|
5961
|
+
type: 'object',
|
|
5962
|
+
properties: {
|
|
5963
|
+
itemId: { type: 'string', description: 'Target item registry ID (or current selection if omitted)' },
|
|
5964
|
+
style: {
|
|
5965
|
+
type: 'string',
|
|
5966
|
+
enum: ['sketchy', 'reveal', 'ink_reveal', 'wobble', 'stop_motion'],
|
|
5967
|
+
description: "Hand-drawn style (default: sketchy). wobble and stop_motion are refused with the pinepaper_design_medium call that does it",
|
|
5968
|
+
},
|
|
5969
|
+
mode: {
|
|
5970
|
+
type: 'string',
|
|
5971
|
+
enum: ['sketchy', 'reveal', 'ink_reveal', 'wobble', 'stop_motion'],
|
|
5972
|
+
description: 'Alias for style',
|
|
5973
|
+
},
|
|
5974
|
+
roughness: { type: 'number', description: 'Noise magnitude in pixels (default: 2)' },
|
|
5975
|
+
bowing: { type: 'number', description: 'Line bowing curve handle factor (default: 1)' },
|
|
5976
|
+
fps: { type: 'number', description: 'wobble/stop_motion: the boil rate handed to pinepaper_design_medium (default: 12)' },
|
|
5977
|
+
posterizeFps: { type: 'number', description: 'Alias for fps' },
|
|
5978
|
+
seed: { type: 'number', description: 'Random seed for deterministic vertex displacement (default: 1)' },
|
|
5979
|
+
duration: { type: 'number', description: 'reveal: seconds to draw the stroke on (default: 2)' },
|
|
5980
|
+
},
|
|
5981
|
+
},
|
|
5982
|
+
},
|
|
5983
|
+
{
|
|
5984
|
+
name: 'pinepaper_pen_figure',
|
|
5985
|
+
annotations: {
|
|
5986
|
+
title: 'Pen Figure',
|
|
5987
|
+
readOnlyHint: false,
|
|
5988
|
+
destructiveHint: false,
|
|
5989
|
+
idempotentHint: false,
|
|
5990
|
+
openWorldHint: false,
|
|
5991
|
+
},
|
|
5992
|
+
description: `Draw a mathematical figure with a pen: the tip travels the figure and the ink appears behind it, in the editor and in every export.
|
|
5993
|
+
|
|
5994
|
+
USE WHEN:
|
|
5995
|
+
- "draw a Lorenz attractor / Lissajous / Hilbert curve being drawn"
|
|
5996
|
+
- "a pen plotting a curve", "a harmonograph drawing itself"
|
|
5997
|
+
|
|
5998
|
+
The figures are the studio's catalogue of declarative maths (parametric and polar curves, ODE attractors, iterated maps, L-systems). action 'list' returns it: id, title, kind. A figure is fitted into its box by one uniform scale, so it is the same figure on any canvas size.
|
|
5999
|
+
|
|
6000
|
+
ACTIONS:
|
|
6001
|
+
- create (default): { figure, box?, margin?, duration?, delay?, loop?, pen?, strokeColor?, penColor?, strokeWidth? } → { inkId, penId, title, strokes }. The ink is a group, one child per pen stroke; the pen is a circle joined to it by the draws_figure relation. pen: false draws the ink complete, with no pen and no animation. An unknown figure is refused with the catalogue's ids.
|
|
6002
|
+
- list: the catalogue.
|
|
6003
|
+
|
|
6004
|
+
To draw a static curve from your own equation, use pinepaper_equation_path.
|
|
6005
|
+
|
|
6006
|
+
EXAMPLES:
|
|
6007
|
+
- { figure: 'lorenz', duration: 8 }
|
|
6008
|
+
- { figure: 'hilbert', box: { x: 100, y: 100, width: 600, height: 600 }, strokeColor: '#0f766e' }
|
|
6009
|
+
- { figure: 'harmonograph', pen: false }`,
|
|
6010
|
+
inputSchema: {
|
|
6011
|
+
type: 'object',
|
|
6012
|
+
properties: {
|
|
6013
|
+
action: { type: 'string', enum: ['create', 'list'], description: "'create' (default) draws a figure; 'list' returns the catalogue." },
|
|
6014
|
+
figure: {
|
|
6015
|
+
anyOf: [{ type: 'string' }, { type: 'object' }],
|
|
6016
|
+
description: "create: a catalogue id from action 'list' (e.g. 'lorenz', 'lissajous', 'hilbert', 'harmonograph'), or an inline figure spec object.",
|
|
6017
|
+
},
|
|
6018
|
+
box: {
|
|
6019
|
+
type: 'object',
|
|
6020
|
+
properties: { x: { type: 'number' }, y: { type: 'number' }, width: { type: 'number' }, height: { type: 'number' } },
|
|
6021
|
+
required: ['x', 'y', 'width', 'height'],
|
|
6022
|
+
description: 'Where to draw, in canvas px (default: the whole canvas).',
|
|
6023
|
+
},
|
|
6024
|
+
margin: { type: 'number', description: 'Fraction of the box left clear (default 0.06).' },
|
|
6025
|
+
duration: { type: 'number', description: 'Seconds the pen takes for the whole figure, pen-up travel included (default 6).' },
|
|
6026
|
+
delay: { type: 'number', description: 'Seconds before the pen starts (default 0).' },
|
|
6027
|
+
loop: { type: 'boolean', description: 'Draw the figure again after it finishes (default false: it stays drawn).' },
|
|
6028
|
+
pen: { type: 'boolean', description: 'false: the ink only, fully drawn, no animation (default true).' },
|
|
6029
|
+
strokeColor: { type: 'string', description: "Ink colour (default '#1e293b')." },
|
|
6030
|
+
penColor: { type: 'string', description: "Pen tip colour (default '#e11d48')." },
|
|
6031
|
+
strokeWidth: { type: 'number', description: 'Ink width in px (default 2).' },
|
|
6032
|
+
},
|
|
6033
|
+
},
|
|
6034
|
+
},
|
|
5930
6035
|
{
|
|
5931
6036
|
name: 'pinepaper_sprite_sheet',
|
|
5932
6037
|
annotations: {
|
|
@@ -8557,7 +8662,7 @@ ITEMS:
|
|
|
8557
8662
|
ANIMATION:
|
|
8558
8663
|
animate — Loop animation: {itemId, animationType, animationOptions}
|
|
8559
8664
|
animationType: ${SIMPLE_ANIMATION_TYPES_LIST}
|
|
8560
|
-
keyframe_animate — Timed animation: {itemId, keyframes: [{time, properties, easing}], duration, loop}
|
|
8665
|
+
keyframe_animate — Timed animation: {itemId, keyframes: [{time, properties, easing}], duration, loop, append}. Replaces the item's track unless append: true; two ops on one item in a batch are merged into one.
|
|
8561
8666
|
Animatable properties: opacity, scale, scaleX, scaleY, x, y, rotation, fillColor, strokeColor, strokeWidth, width, height, radius, fontSize, trimStart/trimEnd/trimOffset (path draw-on)
|
|
8562
8667
|
Easing (on the keyframe being moved TO): ${KEYFRAME_EASINGS_LIST}
|
|
8563
8668
|
relation — Behavioral link: {sourceId, targetId, relationType, relationOptions}
|
|
@@ -8613,6 +8718,7 @@ EXAMPLE — Animated sky scene with timed reveals:
|
|
|
8613
8718
|
height: { type: 'number', description: 'Canvas height for set_canvas_size (100-16384)' },
|
|
8614
8719
|
preset: { type: 'string', description: 'Canvas preset for set_canvas_size' },
|
|
8615
8720
|
backgroundColor: { type: 'string', description: 'For set_background: hex color' },
|
|
8721
|
+
color: { type: 'string', description: 'For set_background: same as backgroundColor. For create: same as fillColor.' },
|
|
8616
8722
|
generatorName: {
|
|
8617
8723
|
type: 'string',
|
|
8618
8724
|
enum: [...GeneratorNameSchema.options],
|
|
@@ -8659,6 +8765,7 @@ EXAMPLE — Animated sky scene with timed reveals:
|
|
|
8659
8765
|
},
|
|
8660
8766
|
duration: { type: 'number', description: 'Duration in seconds for keyframe_animate or play_timeline' },
|
|
8661
8767
|
loop: { type: 'boolean', description: 'Loop for keyframe_animate or play_timeline' },
|
|
8768
|
+
append: { type: 'boolean', description: "For keyframe_animate: add these keys to the item's existing track instead of replacing it (a key at the same time merges, the new values win). Without it the op replaces the track; the op's result says which happened." },
|
|
8662
8769
|
// Relations
|
|
8663
8770
|
sourceId: { type: 'string', description: 'For relation: source item ID or $N' },
|
|
8664
8771
|
targetId: { type: 'string', description: 'For relation: target item ID or $N' },
|
|
@@ -9662,8 +9769,11 @@ ACTIONS:
|
|
|
9662
9769
|
},
|
|
9663
9770
|
},
|
|
9664
9771
|
// ---------------------------------------------------------------------------
|
|
9665
|
-
// STITCHCRAFT PROCEDURAL EMBROIDERY & THREAD
|
|
9772
|
+
// STITCHCRAFT PROCEDURAL EMBROIDERY & THREAD, SUBDIVISION, UI KIT
|
|
9773
|
+
// The cloud's craft tools, shared: schemas vendored from mcp-cloud, local
|
|
9774
|
+
// words and behaviour in craft-tools.ts.
|
|
9666
9775
|
// ---------------------------------------------------------------------------
|
|
9776
|
+
...craftToolDefinitions(),
|
|
9667
9777
|
];
|
|
9668
9778
|
/**
|
|
9669
9779
|
* Get a tool definition by name
|