@cyanheads/pixoo-mcp-server 1.1.4 → 1.2.1
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/AGENTS.md +11 -7
- package/CLAUDE.md +11 -7
- package/Dockerfile +30 -10
- package/README.md +61 -85
- package/changelog/1.2.x/1.2.0.md +28 -0
- package/changelog/1.2.x/1.2.1.md +35 -0
- package/dist/mcp-server/resources/definitions/pixoo-design-guide.resource.d.ts.map +1 -1
- package/dist/mcp-server/resources/definitions/pixoo-design-guide.resource.js +1 -0
- package/dist/mcp-server/resources/definitions/pixoo-design-guide.resource.js.map +1 -1
- package/dist/mcp-server/tools/definitions/pixoo-compose-scene.tool.d.ts +77 -11
- package/dist/mcp-server/tools/definitions/pixoo-compose-scene.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/pixoo-compose-scene.tool.js +69 -59
- package/dist/mcp-server/tools/definitions/pixoo-compose-scene.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/pixoo-design-brief.tool.d.ts +3 -3
- package/dist/mcp-server/tools/definitions/pixoo-design-brief.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/pixoo-design-brief.tool.js +57 -45
- package/dist/mcp-server/tools/definitions/pixoo-design-brief.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/pixoo-display-text.tool.d.ts +1 -0
- package/dist/mcp-server/tools/definitions/pixoo-display-text.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/pixoo-display-text.tool.js +121 -32
- package/dist/mcp-server/tools/definitions/pixoo-display-text.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/pixoo-overlay-text.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/pixoo-overlay-text.tool.js +17 -3
- package/dist/mcp-server/tools/definitions/pixoo-overlay-text.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/pixoo-push-image.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/pixoo-push-image.tool.js +9 -8
- package/dist/mcp-server/tools/definitions/pixoo-push-image.tool.js.map +1 -1
- package/dist/mcp-server/tools/device-push.d.ts +24 -0
- package/dist/mcp-server/tools/device-push.d.ts.map +1 -0
- package/dist/mcp-server/tools/device-push.js +50 -0
- package/dist/mcp-server/tools/device-push.js.map +1 -0
- package/dist/renderer/icons.d.ts +14 -4
- package/dist/renderer/icons.d.ts.map +1 -1
- package/dist/renderer/icons.js +30 -22
- package/dist/renderer/icons.js.map +1 -1
- package/dist/renderer/keyframes.d.ts +35 -3
- package/dist/renderer/keyframes.d.ts.map +1 -1
- package/dist/renderer/keyframes.js +85 -52
- package/dist/renderer/keyframes.js.map +1 -1
- package/dist/renderer/preview.d.ts +17 -19
- package/dist/renderer/preview.d.ts.map +1 -1
- package/dist/renderer/preview.js +55 -34
- package/dist/renderer/preview.js.map +1 -1
- package/dist/renderer/remote-image.d.ts +10 -2
- package/dist/renderer/remote-image.d.ts.map +1 -1
- package/dist/renderer/remote-image.js +13 -1
- package/dist/renderer/remote-image.js.map +1 -1
- package/dist/renderer/scene-renderer.d.ts +14 -9
- package/dist/renderer/scene-renderer.d.ts.map +1 -1
- package/dist/renderer/scene-renderer.js +166 -137
- package/dist/renderer/scene-renderer.js.map +1 -1
- package/dist/renderer/text-engine.d.ts +14 -1
- package/dist/renderer/text-engine.d.ts.map +1 -1
- package/dist/renderer/text-engine.js +22 -4
- package/dist/renderer/text-engine.js.map +1 -1
- package/dist/services/pixoo/pixoo-service.js +1 -1
- package/dist/services/pixoo/pixoo-service.js.map +1 -1
- package/package.json +6 -5
- package/server.json +3 -3
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import { tool, z } from '@cyanheads/mcp-ts-core';
|
|
6
6
|
import { getServerConfig } from '../../../config/server-config.js';
|
|
7
|
+
import { DIM_BRIGHTNESS } from '../device-push.js';
|
|
7
8
|
import { getIconsByCategory } from '../../../renderer/icons.js';
|
|
8
9
|
import { THEME_NAMES } from '../../../renderer/themes.js';
|
|
9
10
|
import { getPixooService } from '../../../services/pixoo/pixoo-service.js';
|
|
@@ -24,9 +25,11 @@ const CRAFT_CONTENT = {
|
|
|
24
25
|
|
|
25
26
|
**Shadow + outline:** Add \`shadow: true\` for dark backgrounds; \`outline: true\` for legibility against low-contrast backgrounds.
|
|
26
27
|
|
|
27
|
-
**Auto-fit:**
|
|
28
|
+
**Auto-fit:** Single-line text tries the standard font, then compact; set \`font\` to keep one font, and text too wide for it overflows instead of shrinking. Every fit decision appears in \`layout[]\`. Text still too wide shows only its opening characters — set \`effect: "auto"\` to scroll it across the display instead, or \`effect: "scroll"\` to scroll any text.
|
|
28
29
|
|
|
29
|
-
**
|
|
30
|
+
**Motion:** \`effect: "float"\` (gentle bob) or \`effect: "pulse"\` (breathing brightness) loops over 20 frames. Motion reads best on short headlines; keep long text static or scrolling.
|
|
31
|
+
|
|
32
|
+
**Multi-line stacking:** For 3 lines at scale 2: 10px + 1px gap × 3 = 33px. Leaves 15.5px margin above and below on a 64px canvas — plan your vertical budget. \`align: "left"\` or \`"right"\` lines up the edges of the lines; \`position.x\` places the block.`,
|
|
30
33
|
scene: `## Scene Composition Guidance
|
|
31
34
|
|
|
32
35
|
**Design system:** Every element renders back-to-front in array order. Background → fill elements → widgets → text headline → foreground details.
|
|
@@ -71,7 +74,7 @@ const CRAFT_CONTENT = {
|
|
|
71
74
|
- \`pulse\`: opacity ramp — breathing effect, ambient indicators
|
|
72
75
|
- \`scroll-left/right\`: horizontal pan — text that doesn't fit, scene transitions
|
|
73
76
|
- \`blink\`: visibility toggle — alerts, status indicators
|
|
74
|
-
- \`twinkle\`:
|
|
77
|
+
- \`twinkle\`: irregular opacity flicker — stars, particles, sparkle elements
|
|
75
78
|
- \`drift\`: slow x wander — background objects, atmospheric depth
|
|
76
79
|
|
|
77
80
|
**Parallax:** Use different \`amplitude\` and \`phase\` values for depth: hero element amplitude=4, mid-ground amplitude=2, background amplitude=1.
|
|
@@ -118,6 +121,21 @@ const CRAFT_CONTENT = {
|
|
|
118
121
|
- resolveColor throws on typos; check the error message for the accepted formats
|
|
119
122
|
- LEDs don't reproduce very dark colors (< #202020) well`,
|
|
120
123
|
};
|
|
124
|
+
/**
|
|
125
|
+
* A follow-up call with its arguments pre-filled — the `{ toolName, reason, args }`
|
|
126
|
+
* shape other suggestion-emitting servers use, declared here until the framework
|
|
127
|
+
* exports it (cyanheads/mcp-ts-core#478).
|
|
128
|
+
*/
|
|
129
|
+
const NextToolSuggestionSchema = z
|
|
130
|
+
.object({
|
|
131
|
+
toolName: z.string().describe('Tool to call next.'),
|
|
132
|
+
reason: z.string().describe('Why this step is recommended given the current device state.'),
|
|
133
|
+
args: z
|
|
134
|
+
.object({})
|
|
135
|
+
.passthrough()
|
|
136
|
+
.describe('Pre-filled arguments for the call; {} when the tool needs none.'),
|
|
137
|
+
})
|
|
138
|
+
.describe('A recommended follow-up call with its arguments pre-filled.');
|
|
121
139
|
export const pixooDesignBrief = tool('pixoo_design_brief', {
|
|
122
140
|
title: 'pixoo_design_brief',
|
|
123
141
|
description: 'Return craft guidance and live device context for a design topic. Covers legibility rules, palette discipline, layout zones, animation budget, and pre-filled next-tool suggestions based on current device state. The orientation tool to run before authoring a scene, dashboard, or animation — or when troubleshooting display issues.',
|
|
@@ -149,17 +167,7 @@ export const pixooDesignBrief = tool('pixoo_design_brief', {
|
|
|
149
167
|
})
|
|
150
168
|
.describe('Live device state snapshot at the time of the request.'),
|
|
151
169
|
nextToolSuggestions: z
|
|
152
|
-
.array(
|
|
153
|
-
.object({
|
|
154
|
-
tool: z.string().describe('Tool name to try next.'),
|
|
155
|
-
rationale: z.string().describe('Why this tool is relevant given current state.'),
|
|
156
|
-
suggestedArgs: z
|
|
157
|
-
.object({})
|
|
158
|
-
.passthrough()
|
|
159
|
-
.optional()
|
|
160
|
-
.describe('Pre-filled argument suggestions as a key-value object.'),
|
|
161
|
-
})
|
|
162
|
-
.describe('A suggested next-step tool with rationale and optional pre-filled args.'))
|
|
170
|
+
.array(NextToolSuggestionSchema)
|
|
163
171
|
.describe('Suggested next steps based on topic and device state.'),
|
|
164
172
|
availableThemes: z
|
|
165
173
|
.array(z.string())
|
|
@@ -181,9 +189,9 @@ export const pixooDesignBrief = tool('pixoo_design_brief', {
|
|
|
181
189
|
const suggestions = [];
|
|
182
190
|
if (input.topic === 'text') {
|
|
183
191
|
suggestions.push({
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
192
|
+
toolName: 'pixoo_display_text',
|
|
193
|
+
reason: 'The primary tool for styled text rendering.',
|
|
194
|
+
args: {
|
|
187
195
|
text: 'HELLO',
|
|
188
196
|
theme: 'midnight',
|
|
189
197
|
style: { palette: 'lavender', shadow: true, scale: 2 },
|
|
@@ -192,16 +200,17 @@ export const pixooDesignBrief = tool('pixoo_design_brief', {
|
|
|
192
200
|
});
|
|
193
201
|
if (!deviceStatus.reachable) {
|
|
194
202
|
suggestions.push({
|
|
195
|
-
|
|
196
|
-
|
|
203
|
+
toolName: 'pixoo_discover_devices',
|
|
204
|
+
reason: 'Device is not reachable — find it on the network first.',
|
|
205
|
+
args: {},
|
|
197
206
|
});
|
|
198
207
|
}
|
|
199
208
|
}
|
|
200
209
|
else if (input.topic === 'scene') {
|
|
201
210
|
suggestions.push({
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
211
|
+
toolName: 'pixoo_compose_scene',
|
|
212
|
+
reason: 'Full scene composition with layered elements.',
|
|
213
|
+
args: {
|
|
205
214
|
background: { theme: 'midnight' },
|
|
206
215
|
elements: [
|
|
207
216
|
{
|
|
@@ -219,9 +228,9 @@ export const pixooDesignBrief = tool('pixoo_design_brief', {
|
|
|
219
228
|
}
|
|
220
229
|
else if (input.topic === 'dashboard') {
|
|
221
230
|
suggestions.push({
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
231
|
+
toolName: 'pixoo_compose_scene',
|
|
232
|
+
reason: 'Compose a status dashboard with widgets.',
|
|
233
|
+
args: {
|
|
225
234
|
background: { gradient: { type: 'v', from: '#0a1020', to: '#000000' } },
|
|
226
235
|
elements: [
|
|
227
236
|
{ type: 'text', text: 'STATUS', x: 2, y: 2, style: { palette: 'ice' } },
|
|
@@ -235,9 +244,9 @@ export const pixooDesignBrief = tool('pixoo_design_brief', {
|
|
|
235
244
|
}
|
|
236
245
|
else if (input.topic === 'animation') {
|
|
237
246
|
suggestions.push({
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
247
|
+
toolName: 'pixoo_compose_scene',
|
|
248
|
+
reason: 'Compose an animated scene.',
|
|
249
|
+
args: {
|
|
241
250
|
background: { theme: 'midnight' },
|
|
242
251
|
elements: [
|
|
243
252
|
{
|
|
@@ -258,36 +267,39 @@ export const pixooDesignBrief = tool('pixoo_design_brief', {
|
|
|
258
267
|
else if (input.topic === 'troubleshooting') {
|
|
259
268
|
if (!deviceStatus.reachable) {
|
|
260
269
|
suggestions.push({
|
|
261
|
-
|
|
262
|
-
|
|
270
|
+
toolName: 'pixoo_discover_devices',
|
|
271
|
+
reason: 'Device is not reachable — discover it on the network.',
|
|
272
|
+
args: {},
|
|
263
273
|
});
|
|
264
274
|
}
|
|
265
275
|
else if (deviceStatus.screenOn === false) {
|
|
266
276
|
suggestions.push({
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
277
|
+
toolName: 'pixoo_control_device',
|
|
278
|
+
reason: 'Screen appears to be off.',
|
|
279
|
+
args: { screen: 'on' },
|
|
270
280
|
});
|
|
271
281
|
}
|
|
272
|
-
else if (deviceStatus.brightness !== undefined &&
|
|
282
|
+
else if (deviceStatus.brightness !== undefined &&
|
|
283
|
+
deviceStatus.brightness <= DIM_BRIGHTNESS) {
|
|
273
284
|
suggestions.push({
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
285
|
+
toolName: 'pixoo_control_device',
|
|
286
|
+
reason: 'Brightness is very low — content may not be visible.',
|
|
287
|
+
args: { brightness: 80 },
|
|
277
288
|
});
|
|
278
289
|
}
|
|
279
290
|
else {
|
|
280
291
|
suggestions.push({
|
|
281
|
-
|
|
282
|
-
|
|
292
|
+
toolName: 'pixoo_control_device',
|
|
293
|
+
reason: 'Read full device state.',
|
|
294
|
+
args: {},
|
|
283
295
|
});
|
|
284
296
|
}
|
|
285
297
|
}
|
|
286
298
|
else {
|
|
287
299
|
suggestions.push({
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
300
|
+
toolName: 'pixoo_display_text',
|
|
301
|
+
reason: 'Start with text display to verify the pipeline works end-to-end.',
|
|
302
|
+
args: { text: 'TEST', push: false },
|
|
291
303
|
});
|
|
292
304
|
}
|
|
293
305
|
const craftGuidance = CRAFT_CONTENT[input.topic] ?? 'No guidance available for this topic.';
|
|
@@ -323,10 +335,10 @@ export const pixooDesignBrief = tool('pixoo_design_brief', {
|
|
|
323
335
|
lines.push('');
|
|
324
336
|
lines.push('## Next Steps');
|
|
325
337
|
for (const s of result.nextToolSuggestions) {
|
|
326
|
-
lines.push(`**${s.
|
|
327
|
-
if (s.
|
|
338
|
+
lines.push(`**${s.toolName}**: ${s.reason}`);
|
|
339
|
+
if (Object.keys(s.args).length > 0) {
|
|
328
340
|
lines.push('```json');
|
|
329
|
-
lines.push(JSON.stringify(s.
|
|
341
|
+
lines.push(JSON.stringify(s.args, null, 2));
|
|
330
342
|
lines.push('```');
|
|
331
343
|
}
|
|
332
344
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pixoo-design-brief.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/pixoo-design-brief.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AAEpE,MAAM,aAAa,GAA2B;IAC5C,IAAI,EAAE
|
|
1
|
+
{"version":3,"file":"pixoo-design-brief.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/pixoo-design-brief.tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -75,6 +75,7 @@ export declare const pixooDisplayText: import("@cyanheads/mcp-ts-core").ToolDefi
|
|
|
75
75
|
brightness: z.ZodOptional<z.ZodNumber>;
|
|
76
76
|
}, z.core.$strip>, z.ZodObject<{
|
|
77
77
|
pushed: z.ZodBoolean;
|
|
78
|
+
frames: z.ZodNumber;
|
|
78
79
|
layout: z.ZodArray<z.ZodObject<{
|
|
79
80
|
element: z.ZodUnion<readonly [z.ZodNumber, z.ZodLiteral<"background">]>;
|
|
80
81
|
type: z.ZodString;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pixoo-display-text.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/pixoo-display-text.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"pixoo-display-text.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/pixoo-display-text.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAyIjE,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqa3B,CAAC"}
|
|
@@ -6,11 +6,56 @@ import { tool, z } from '@cyanheads/mcp-ts-core';
|
|
|
6
6
|
import { JsonRpcErrorCode } from '@cyanheads/mcp-ts-core/errors';
|
|
7
7
|
import { Canvas, FONT_3x5, FONT_5x7, measureText, NAMED_COLORS, } from '@cyanheads/pixoo-toolkit';
|
|
8
8
|
import { getServerConfig } from '../../../config/server-config.js';
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
9
|
+
import { pushKeepingPreview, visibilityNotice } from '../device-push.js';
|
|
10
|
+
import { autoSavePreview, buildContactSheet, saveGifPreview, savePngPreview, } from '../../../renderer/preview.js';
|
|
11
|
+
import { applyBackground, renderFrame, } from '../../../renderer/scene-renderer.js';
|
|
12
|
+
import { drawStyledText, renderAutoFitText, resolveX, scrollCycle, } from '../../../renderer/text-engine.js';
|
|
12
13
|
import { THEMES } from '../../../renderer/themes.js';
|
|
13
14
|
import { getPixooService } from '../../../services/pixoo/pixoo-service.js';
|
|
15
|
+
/** Frame delay for effect animations — the pixoo_compose_scene default. */
|
|
16
|
+
const ANIMATION_SPEED_MS = 150;
|
|
17
|
+
/** Length of a float or pulse loop, in frames. */
|
|
18
|
+
const EFFECT_FRAMES = 20;
|
|
19
|
+
/** Offset of a line `lineW` wide within a block `blockW` wide. */
|
|
20
|
+
function alignOffset(align, blockW, lineW) {
|
|
21
|
+
if (align === 'left')
|
|
22
|
+
return 0;
|
|
23
|
+
if (align === 'right')
|
|
24
|
+
return blockW - lineW;
|
|
25
|
+
return Math.floor((blockW - lineW) / 2);
|
|
26
|
+
}
|
|
27
|
+
/** Text elements load no images or sprites, so every frame renders against empty caches. */
|
|
28
|
+
const NO_ASSETS = { images: new Map(), sprites: new Map() };
|
|
29
|
+
/** One scroll cycle: the lines move left together from just past the right edge. */
|
|
30
|
+
function scrollFrames(placements, style, bg, size) {
|
|
31
|
+
const left = Math.min(...placements.map((p) => p.x));
|
|
32
|
+
const blockW = Math.max(...placements.map((p) => p.x + p.w)) - left;
|
|
33
|
+
const { frames, step } = scrollCycle(blockW, size);
|
|
34
|
+
return Array.from({ length: frames }, (_, i) => {
|
|
35
|
+
const elements = placements.map((p) => ({
|
|
36
|
+
type: 'text',
|
|
37
|
+
text: p.text,
|
|
38
|
+
x: size - i * step + p.x - left,
|
|
39
|
+
y: p.y,
|
|
40
|
+
font: p.font,
|
|
41
|
+
style,
|
|
42
|
+
}));
|
|
43
|
+
return renderFrame(i, frames, bg, elements, NO_ASSETS, size).canvas;
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
/** A float or pulse loop: the effect compiles to keyframes, as it does on a scene element. */
|
|
47
|
+
function effectFrames(placements, style, bg, size, name) {
|
|
48
|
+
const elements = placements.map((p) => ({
|
|
49
|
+
type: 'text',
|
|
50
|
+
text: p.text,
|
|
51
|
+
x: p.x,
|
|
52
|
+
y: p.y,
|
|
53
|
+
font: p.font,
|
|
54
|
+
style,
|
|
55
|
+
effect: { name },
|
|
56
|
+
}));
|
|
57
|
+
return Array.from({ length: EFFECT_FRAMES }, (_, i) => renderFrame(i, EFFECT_FRAMES, bg, elements, NO_ASSETS, size).canvas);
|
|
58
|
+
}
|
|
14
59
|
const StyleSchema = z
|
|
15
60
|
.object({
|
|
16
61
|
palette: z
|
|
@@ -41,7 +86,7 @@ const StyleSchema = z
|
|
|
41
86
|
.describe('Text style options.');
|
|
42
87
|
export const pixooDisplayText = tool('pixoo_display_text', {
|
|
43
88
|
title: 'pixoo_display_text',
|
|
44
|
-
description: 'Render styled text (theme, gradient, shadow, outline, auto-fit) onto the Pixoo display and push it. Returns the
|
|
89
|
+
description: 'Render styled text (theme, gradient, shadow, outline, auto-fit) onto the Pixoo display and push it, static or animated with a scroll, float, or pulse effect. Returns the render as an image content block for immediate inspection. The primary tool for text-only display — for layers, icons, widgets, or per-element motion use pixoo_compose_scene. Run pixoo_design_brief with topic "text" first for palette and legibility guidance.',
|
|
45
90
|
annotations: { idempotentHint: true, destructiveHint: false },
|
|
46
91
|
input: z.object({
|
|
47
92
|
text: z
|
|
@@ -75,7 +120,7 @@ export const pixooDisplayText = tool('pixoo_display_text', {
|
|
|
75
120
|
font: z
|
|
76
121
|
.enum(['standard', 'compact'])
|
|
77
122
|
.optional()
|
|
78
|
-
.describe('Font variant: standard (5×7) or compact (3×5).
|
|
123
|
+
.describe('Font variant: standard (5×7) or compact (3×5), used as given — text too wide for it overflows rather than switching font. Omitted, single-line text tries standard and falls back to compact when standard overflows; multi-line text uses standard.'),
|
|
79
124
|
position: z
|
|
80
125
|
.object({
|
|
81
126
|
x: z
|
|
@@ -98,11 +143,11 @@ export const pixooDisplayText = tool('pixoo_display_text', {
|
|
|
98
143
|
align: z
|
|
99
144
|
.enum(['left', 'center', 'right'])
|
|
100
145
|
.optional()
|
|
101
|
-
.describe('Multi-line text
|
|
146
|
+
.describe('Multi-line text: align every line within the widest line, then place that block with position.x. Omit to place each line by position.x on its own.'),
|
|
102
147
|
effect: z
|
|
103
148
|
.enum(['none', 'auto', 'scroll', 'float', 'pulse'])
|
|
104
149
|
.optional()
|
|
105
|
-
.describe('Animation effect. auto
|
|
150
|
+
.describe('Animation effect. scroll runs the text across the display once, in up to 40 frames; auto scrolls only when the text is too wide to fit; float (gentle bob) and pulse (breathing brightness) loop over 20 frames. An animated result is pushed as an animation and previewed as a grid of its frames. none or omitted renders one static frame.'),
|
|
106
151
|
push: z
|
|
107
152
|
.boolean()
|
|
108
153
|
.default(true)
|
|
@@ -117,6 +162,9 @@ export const pixooDisplayText = tool('pixoo_display_text', {
|
|
|
117
162
|
}),
|
|
118
163
|
output: z.object({
|
|
119
164
|
pushed: z.boolean().describe('True when the device acknowledged the push.'),
|
|
165
|
+
frames: z
|
|
166
|
+
.number()
|
|
167
|
+
.describe('Number of frames rendered: 1 for static text, 2–40 when an effect animates it.'),
|
|
120
168
|
layout: z
|
|
121
169
|
.array(z
|
|
122
170
|
.object({
|
|
@@ -166,7 +214,7 @@ export const pixooDisplayText = tool('pixoo_display_text', {
|
|
|
166
214
|
outputFiles: z
|
|
167
215
|
.array(z.string())
|
|
168
216
|
.optional()
|
|
169
|
-
.describe('Absolute paths to saved PNG
|
|
217
|
+
.describe('Absolute paths to saved preview files (PNG, or GIF when an effect animates the text). Present only when PIXOO_OUTPUT_DIR is configured.'),
|
|
170
218
|
}),
|
|
171
219
|
enrichment: {
|
|
172
220
|
notice: z
|
|
@@ -252,21 +300,32 @@ export const pixooDisplayText = tool('pixoo_display_text', {
|
|
|
252
300
|
style.palette = resolvedPalette;
|
|
253
301
|
// Build canvas — catch resolveColor throws from background/style colors
|
|
254
302
|
const validColorNames = Object.keys(NAMED_COLORS).join(', ');
|
|
303
|
+
// The static render: one frame, and where each line sits in it. Effects animate
|
|
304
|
+
// from these placements, so an effect never changes the layout it starts from.
|
|
255
305
|
const canvas = new Canvas(size);
|
|
256
306
|
const layoutEntries = [];
|
|
307
|
+
const placements = [];
|
|
257
308
|
try {
|
|
258
309
|
applyBackground(canvas, bg);
|
|
259
310
|
// Render text — support multi-line by stacking
|
|
260
311
|
if (lines.length === 1) {
|
|
261
|
-
const entry = renderAutoFitText(canvas, combinedText, input.position?.x ?? 'center', input.position?.y ?? 'center', 0, 0, style, 'auto', 0, 0, 1);
|
|
312
|
+
const entry = renderAutoFitText(canvas, combinedText, input.position?.x ?? 'center', input.position?.y ?? 'center', 0, 0, style, 'auto', 0, 0, 1, input.font);
|
|
262
313
|
layoutEntries.push(entry);
|
|
314
|
+
const font = entry.font ?? 'standard';
|
|
263
315
|
// When the text overflows and scrolls, frame 0 renders at x=size (off-canvas),
|
|
264
316
|
// producing a solid-background preview. Re-render the preview canvas with the
|
|
265
317
|
// text at x=0 so the preview shows legible text.
|
|
266
318
|
if (entry.action === 'scrolling') {
|
|
267
319
|
applyBackground(canvas, bg);
|
|
268
|
-
drawStyledText(canvas, combinedText, 0, entry.box.y, style,
|
|
320
|
+
drawStyledText(canvas, combinedText, 0, entry.box.y, style, font);
|
|
269
321
|
}
|
|
322
|
+
placements.push({
|
|
323
|
+
text: combinedText,
|
|
324
|
+
x: entry.action === 'scrolling' ? 0 : entry.box.x,
|
|
325
|
+
y: entry.box.y,
|
|
326
|
+
w: entry.box.w,
|
|
327
|
+
font,
|
|
328
|
+
});
|
|
270
329
|
}
|
|
271
330
|
else {
|
|
272
331
|
// Multi-line: stack lines vertically
|
|
@@ -282,10 +341,15 @@ export const pixooDisplayText = tool('pixoo_display_text', {
|
|
|
282
341
|
: typeof input.position?.y === 'number'
|
|
283
342
|
? input.position.y
|
|
284
343
|
: Math.floor((size - totalH) / 2);
|
|
344
|
+
const widths = lines.map((line) => measureText(line, { font, scale }));
|
|
345
|
+
const blockW = Math.max(...widths);
|
|
346
|
+
const blockX = resolveX(input.position?.x ?? 'center', blockW, size, 0);
|
|
285
347
|
for (let li = 0; li < lines.length; li++) {
|
|
286
348
|
const lineText = lines[li] ?? '';
|
|
287
|
-
const lineW =
|
|
288
|
-
const lineX =
|
|
349
|
+
const lineW = widths[li] ?? 0;
|
|
350
|
+
const lineX = input.align
|
|
351
|
+
? blockX + alignOffset(input.align, blockW, lineW)
|
|
352
|
+
: resolveX(input.position?.x ?? 'center', lineW, size, 0);
|
|
289
353
|
const lineY = startY + li * lineH;
|
|
290
354
|
drawStyledText(canvas, lineText, lineX, lineY, style, fontVariant);
|
|
291
355
|
layoutEntries.push({
|
|
@@ -297,6 +361,7 @@ export const pixooDisplayText = tool('pixoo_display_text', {
|
|
|
297
361
|
font: fontVariant,
|
|
298
362
|
scale,
|
|
299
363
|
});
|
|
364
|
+
placements.push({ text: lineText, x: lineX, y: lineY, w: lineW, font: fontVariant });
|
|
300
365
|
}
|
|
301
366
|
}
|
|
302
367
|
}
|
|
@@ -306,34 +371,58 @@ export const pixooDisplayText = tool('pixoo_display_text', {
|
|
|
306
371
|
}
|
|
307
372
|
throw err;
|
|
308
373
|
}
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
const savedPath = await savePngPreview(canvas, `display-text-${Date.now()}`);
|
|
316
|
-
if (savedPath)
|
|
317
|
-
outputFiles.push(savedPath);
|
|
318
|
-
// Handle brightness
|
|
319
|
-
if (input.push && input.brightness !== undefined && input.brightness !== null) {
|
|
320
|
-
const svc = getPixooService();
|
|
321
|
-
const brightnessResult = await svc.setBrightness(input.brightness, ctx);
|
|
322
|
-
if (!brightnessResult.ok) {
|
|
323
|
-
ctx.enrich.notice(`Brightness set to ${input.brightness} failed (${brightnessResult.kind}): ${brightnessResult.message}. Render and push will continue.`);
|
|
324
|
-
}
|
|
374
|
+
const scrolls = input.effect === 'scroll' || (input.effect === 'auto' && placements.some((p) => p.w > size));
|
|
375
|
+
let frames = [canvas];
|
|
376
|
+
if (scrolls) {
|
|
377
|
+
frames = scrollFrames(placements, style, bg, size);
|
|
378
|
+
for (const entry of layoutEntries)
|
|
379
|
+
entry.action = 'scrolling';
|
|
325
380
|
}
|
|
326
|
-
|
|
381
|
+
else if (input.effect === 'float' || input.effect === 'pulse') {
|
|
382
|
+
frames = effectFrames(placements, style, bg, size, input.effect);
|
|
383
|
+
}
|
|
384
|
+
const animated = frames.length > 1;
|
|
385
|
+
// The render rides content[] as an image block — the frame itself, or a grid of
|
|
386
|
+
// every frame when animated. It is deliberately absent from `output`: routing it
|
|
387
|
+
// through ctx.content carries the base64 once instead of duplicating it into
|
|
388
|
+
// structuredContent.
|
|
389
|
+
ctx.content.image((await buildContactSheet(frames)).data, 'image/png');
|
|
390
|
+
const baseName = `display-text-${Date.now()}`;
|
|
391
|
+
const writePreview = (dir) => animated
|
|
392
|
+
? saveGifPreview(frames, ANIMATION_SPEED_MS, dir, baseName)
|
|
393
|
+
: savePngPreview(canvas, dir, baseName);
|
|
394
|
+
const outputFiles = await autoSavePreview(writePreview);
|
|
395
|
+
const notices = [];
|
|
327
396
|
let pushed = false;
|
|
328
397
|
let deviceState;
|
|
329
398
|
if (input.push) {
|
|
330
399
|
const svc = getPixooService();
|
|
331
|
-
|
|
332
|
-
|
|
400
|
+
deviceState = await pushKeepingPreview(async () => {
|
|
401
|
+
if (input.brightness !== undefined) {
|
|
402
|
+
const brightnessResult = await svc.setBrightness(input.brightness, ctx);
|
|
403
|
+
if (!brightnessResult.ok) {
|
|
404
|
+
notices.push(`Brightness set to ${input.brightness} failed (${brightnessResult.kind}): ${brightnessResult.message}. Render and push will continue.`);
|
|
405
|
+
}
|
|
406
|
+
}
|
|
407
|
+
ctx.log.info('Pushing display_text to device', {
|
|
408
|
+
textLength: combinedText.length,
|
|
409
|
+
frames: frames.length,
|
|
410
|
+
});
|
|
411
|
+
return animated
|
|
412
|
+
? svc.pushAnimation(frames, ANIMATION_SPEED_MS, ctx)
|
|
413
|
+
: svc.pushFrame(canvas, ctx);
|
|
414
|
+
}, outputFiles, writePreview);
|
|
333
415
|
pushed = true;
|
|
416
|
+
const visibility = visibilityNotice(deviceState);
|
|
417
|
+
if (visibility)
|
|
418
|
+
notices.push(visibility);
|
|
334
419
|
}
|
|
420
|
+
// ctx.enrich.notice is last-wins, so every notice for this call lands as one string.
|
|
421
|
+
if (notices.length > 0)
|
|
422
|
+
ctx.enrich.notice(notices.join(' '));
|
|
335
423
|
return {
|
|
336
424
|
pushed,
|
|
425
|
+
frames: frames.length,
|
|
337
426
|
layout: layoutEntries,
|
|
338
427
|
deviceState,
|
|
339
428
|
outputFiles: outputFiles.length > 0 ? outputFiles : undefined,
|
|
@@ -341,7 +430,7 @@ export const pixooDisplayText = tool('pixoo_display_text', {
|
|
|
341
430
|
},
|
|
342
431
|
format: (result) => {
|
|
343
432
|
const lines = [];
|
|
344
|
-
lines.push(`**Pushed:** ${result.pushed ? 'Yes' : 'No'}`);
|
|
433
|
+
lines.push(`**Pushed:** ${result.pushed ? 'Yes' : 'No'} | **Frames:** ${result.frames}`);
|
|
345
434
|
if (result.deviceState) {
|
|
346
435
|
const ds = result.deviceState;
|
|
347
436
|
lines.push(`**Device:** ${ds.reachable ? 'Reachable' : 'Unreachable'}` +
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pixoo-display-text.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/pixoo-display-text.tool.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"pixoo-display-text.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/pixoo-display-text.tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pixoo-overlay-text.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/pixoo-overlay-text.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAmB,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"pixoo-overlay-text.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/pixoo-overlay-text.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAmB,MAAM,+BAA+B,CAAC;AAKlF,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA8M3B,CAAC"}
|