@cyanheads/pixoo-mcp-server 1.2.0 → 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 +6 -6
- package/CLAUDE.md +6 -6
- package/Dockerfile +30 -10
- package/README.md +61 -86
- package/changelog/1.2.x/1.2.1.md +35 -0
- 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 +44 -18
- package/dist/mcp-server/tools/definitions/pixoo-compose-scene.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/pixoo-design-brief.tool.js +1 -1
- 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/remote-image.d.ts +4 -0
- package/dist/renderer/remote-image.d.ts.map +1 -1
- package/dist/renderer/remote-image.js +4 -0
- package/dist/renderer/remote-image.js.map +1 -1
- package/dist/renderer/scene-renderer.d.ts.map +1 -1
- package/dist/renderer/scene-renderer.js +137 -106
- package/dist/renderer/scene-renderer.js.map +1 -1
- package/package.json +6 -5
- package/server.json +3 -3
|
@@ -6,7 +6,7 @@ import * as fs from 'node:fs/promises';
|
|
|
6
6
|
import { invalidParams, notFound } from '@cyanheads/mcp-ts-core/errors';
|
|
7
7
|
import { Canvas, downsampleSprite, drawText, FONT_3x5, FONT_5x7, lerpColor, loadImage, measureText, renderSprite, renderSvgPath, resolveColor, } from '@cyanheads/pixoo-toolkit';
|
|
8
8
|
import { ICONS } from './icons.js';
|
|
9
|
-
import { compileEffect, getKeyframeValue } from './keyframes.js';
|
|
9
|
+
import { compileEffect, getKeyframeValue, interpolateColorKeyframe, } from './keyframes.js';
|
|
10
10
|
import { fetchRemoteImageToTempPng, isRemoteSource } from './remote-image.js';
|
|
11
11
|
import { drawStyledText, resolveX, resolveY, } from './text-engine.js';
|
|
12
12
|
import { PALETTES, THEMES } from './themes.js';
|
|
@@ -118,6 +118,55 @@ export function applyBackground(canvas, bg) {
|
|
|
118
118
|
}
|
|
119
119
|
canvas.clear();
|
|
120
120
|
}
|
|
121
|
+
/** Draw an icon's filled parts, then its stroked parts, in one color. */
|
|
122
|
+
function drawIconPaths(canvas, paths, color, svgViewBox, targetRect) {
|
|
123
|
+
if (paths.fill)
|
|
124
|
+
renderSvgPath(canvas, paths.fill, color, svgViewBox, targetRect);
|
|
125
|
+
if (paths.stroke) {
|
|
126
|
+
renderSvgPath(canvas, paths.stroke, color, svgViewBox, targetRect, { mode: 'stroke' });
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* Render an icon as a top-to-bottom ramp, the way a text palette paints glyphs: the icon's
|
|
131
|
+
* top ink row takes `stop.from`, its bottom ink row `stop.to`, and each row between takes
|
|
132
|
+
* its even step. Only ink that lands on the canvas counts, so an icon clipped by an edge
|
|
133
|
+
* ramps across the rows still visible.
|
|
134
|
+
*/
|
|
135
|
+
function renderIconRamp(canvas, paths, svgViewBox, targetRect, stop) {
|
|
136
|
+
const mask = new Canvas(canvas.width);
|
|
137
|
+
drawIconPaths(mask, paths, [255, 255, 255], svgViewBox, targetRect);
|
|
138
|
+
const inkAt = (x, y) => mask.getPixelRgba(x, y)[3] > 0;
|
|
139
|
+
const rows = [];
|
|
140
|
+
for (let y = 0; y < mask.height; y++) {
|
|
141
|
+
for (let x = 0; x < mask.width; x++) {
|
|
142
|
+
if (inkAt(x, y)) {
|
|
143
|
+
rows.push(y);
|
|
144
|
+
break;
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
const top = rows[0];
|
|
149
|
+
const bottom = rows.at(-1);
|
|
150
|
+
if (top === undefined || bottom === undefined)
|
|
151
|
+
return;
|
|
152
|
+
const from = resolveColor(stop.from);
|
|
153
|
+
const to = resolveColor(stop.to);
|
|
154
|
+
for (const y of rows) {
|
|
155
|
+
const color = lerpColor(from, to, bottom === top ? 0 : (y - top) / (bottom - top));
|
|
156
|
+
for (let x = 0; x < mask.width; x++) {
|
|
157
|
+
if (inkAt(x, y))
|
|
158
|
+
canvas.setPixel(x, y, color);
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
/**
|
|
163
|
+
* The layout entry for an element drawn over `box` — its placed pixels, `dx`/`dy` included.
|
|
164
|
+
* The element fits when the box lies wholly on the canvas.
|
|
165
|
+
*/
|
|
166
|
+
function placedEntry(element, type, box, canvas) {
|
|
167
|
+
const fits = box.x >= 0 && box.y >= 0 && box.x + box.w <= canvas.width && box.y + box.h <= canvas.height;
|
|
168
|
+
return { element, type, box, fits, action: 'none' };
|
|
169
|
+
}
|
|
121
170
|
/** Render a single element onto a canvas at a specific frame. */
|
|
122
171
|
export function renderElement(canvas, el, elIdx, frameIdx, totalFrames, assets, layoutEntries) {
|
|
123
172
|
// Compute keyframes / effects
|
|
@@ -136,13 +185,18 @@ export function renderElement(canvas, el, elIdx, frameIdx, totalFrames, assets,
|
|
|
136
185
|
const dyAnim = Number(getKeyframeValue(kf, 'dy', frameIdx, 0));
|
|
137
186
|
const dx = (el.dx ?? 0) + dxAnim;
|
|
138
187
|
const dy = (el.dy ?? 0) + dyAnim;
|
|
188
|
+
// A keyframed `color` stands in for the element's own `color` on this frame.
|
|
189
|
+
const colorFrames = kf?.['color'];
|
|
190
|
+
const keyframedColor = colorFrames ? interpolateColorKeyframe(colorFrames, frameIdx) : undefined;
|
|
139
191
|
// If opacity < 100, render to scratch canvas and blit with alpha
|
|
140
192
|
const target = opacity < 100 ? new Canvas(canvas.width) : canvas;
|
|
141
193
|
switch (el.type) {
|
|
142
194
|
case 'text': {
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
195
|
+
// A copy: the per-frame color must not stick to the caller's style object.
|
|
196
|
+
const style = { ...el.style };
|
|
197
|
+
const color = keyframedColor ?? el.color;
|
|
198
|
+
if (!style.color && color)
|
|
199
|
+
style.color = color;
|
|
146
200
|
const fontVariant = el.font === 'compact' ? 'compact' : 'standard';
|
|
147
201
|
const px = el.x ?? 0;
|
|
148
202
|
const py = el.y ?? 0;
|
|
@@ -154,29 +208,26 @@ export function renderElement(canvas, el, elIdx, frameIdx, totalFrames, assets,
|
|
|
154
208
|
const resolvedY = resolveY(py, textH, canvas.height, dy);
|
|
155
209
|
drawStyledText(target, el.text, resolvedX, resolvedY, style, fontVariant);
|
|
156
210
|
layoutEntries.push({
|
|
157
|
-
|
|
158
|
-
type: 'text',
|
|
159
|
-
box: { x: resolvedX, y: resolvedY, w: textW, h: textH },
|
|
160
|
-
fits: resolvedX + textW <= canvas.width && resolvedY + textH <= canvas.height,
|
|
161
|
-
action: 'none',
|
|
211
|
+
...placedEntry(elIdx, 'text', { x: resolvedX, y: resolvedY, w: textW, h: textH }, canvas),
|
|
162
212
|
font: fontVariant,
|
|
163
213
|
scale,
|
|
164
214
|
});
|
|
165
215
|
break;
|
|
166
216
|
}
|
|
167
217
|
case 'icon': {
|
|
168
|
-
let
|
|
218
|
+
let paths;
|
|
169
219
|
let viewBox = '0 0 16 16';
|
|
170
220
|
if (el.name) {
|
|
171
|
-
|
|
221
|
+
// Own keys only: an Object.prototype name such as "constructor" is not an icon.
|
|
222
|
+
const iconEntry = Object.hasOwn(ICONS, el.name) ? ICONS[el.name] : undefined;
|
|
172
223
|
if (!iconEntry) {
|
|
173
224
|
throw invalidParams(`Unknown icon "${el.name}". Use pixoo://reference/icons to browse available icons.`, { reason: 'unknown_icon' });
|
|
174
225
|
}
|
|
175
|
-
|
|
226
|
+
paths = iconEntry;
|
|
176
227
|
viewBox = iconEntry.viewBox;
|
|
177
228
|
}
|
|
178
229
|
else if (el.d) {
|
|
179
|
-
|
|
230
|
+
paths = { fill: el.d };
|
|
180
231
|
viewBox = el.viewBox ?? '0 0 16 16';
|
|
181
232
|
}
|
|
182
233
|
else {
|
|
@@ -188,24 +239,26 @@ export function renderElement(canvas, el, elIdx, frameIdx, totalFrames, assets,
|
|
|
188
239
|
const py = el.y ?? 0;
|
|
189
240
|
const resolvedX = resolveX(px, w, canvas.width, dx);
|
|
190
241
|
const resolvedY = resolveY(py, h, canvas.height, dy);
|
|
191
|
-
|
|
242
|
+
// Resolved even under a palette, so a bad color still fails as invalid_color.
|
|
243
|
+
const colorSpec = keyframedColor ?? el.color;
|
|
244
|
+
const color = colorSpec ? resolveColor(colorSpec) : [255, 255, 255];
|
|
192
245
|
// Parse viewBox string ("0 0 W H") to extract dimensions [W, H]
|
|
193
246
|
const vbParts = viewBox.split(/\s+/).map(Number);
|
|
194
|
-
const
|
|
195
|
-
const
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
});
|
|
247
|
+
const svgViewBox = [vbParts[2] ?? 16, vbParts[3] ?? 16];
|
|
248
|
+
const targetRect = [resolvedX, resolvedY, w, h];
|
|
249
|
+
if (el.palette) {
|
|
250
|
+
renderIconRamp(target, paths, svgViewBox, targetRect, PALETTES[el.palette]);
|
|
251
|
+
}
|
|
252
|
+
else {
|
|
253
|
+
drawIconPaths(target, paths, color, svgViewBox, targetRect);
|
|
254
|
+
}
|
|
255
|
+
layoutEntries.push(placedEntry(elIdx, 'icon', { x: resolvedX, y: resolvedY, w, h }, canvas));
|
|
204
256
|
break;
|
|
205
257
|
}
|
|
206
258
|
case 'rect': {
|
|
207
259
|
const x = el.x + dx;
|
|
208
260
|
const y = el.y + dy;
|
|
261
|
+
const fill = keyframedColor ?? el.color;
|
|
209
262
|
if (el.gradient) {
|
|
210
263
|
const from_ = resolveColor(el.gradient.from);
|
|
211
264
|
const to_ = resolveColor(el.gradient.to);
|
|
@@ -225,55 +278,48 @@ export function renderElement(canvas, el, elIdx, frameIdx, totalFrames, assets,
|
|
|
225
278
|
}
|
|
226
279
|
}
|
|
227
280
|
}
|
|
228
|
-
else if (
|
|
229
|
-
target.fillRect(x, y, el.w, el.h, resolveColor(
|
|
281
|
+
else if (fill) {
|
|
282
|
+
target.fillRect(x, y, el.w, el.h, resolveColor(fill));
|
|
230
283
|
}
|
|
231
284
|
if (el.borderColor) {
|
|
232
285
|
target.drawRect(x, y, el.w, el.h, resolveColor(el.borderColor));
|
|
233
286
|
}
|
|
234
|
-
layoutEntries.push({
|
|
235
|
-
element: elIdx,
|
|
236
|
-
type: 'rect',
|
|
237
|
-
box: { x, y, w: el.w, h: el.h },
|
|
238
|
-
fits: x + el.w <= canvas.width && y + el.h <= canvas.height,
|
|
239
|
-
action: 'none',
|
|
240
|
-
});
|
|
287
|
+
layoutEntries.push(placedEntry(elIdx, 'rect', { x, y, w: el.w, h: el.h }, canvas));
|
|
241
288
|
break;
|
|
242
289
|
}
|
|
243
290
|
case 'circle': {
|
|
244
291
|
const cx = el.cx + dx;
|
|
245
292
|
const cy = el.cy + dy;
|
|
246
|
-
const
|
|
293
|
+
const colorSpec = keyframedColor ?? el.color;
|
|
294
|
+
const color = colorSpec ? resolveColor(colorSpec) : [255, 255, 255];
|
|
247
295
|
if (el.fill !== false) {
|
|
248
296
|
target.fillCircle(cx, cy, el.radius, color);
|
|
249
297
|
}
|
|
250
298
|
else {
|
|
251
299
|
target.drawCircle(cx, cy, el.radius, color);
|
|
252
300
|
}
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
fits: true,
|
|
258
|
-
action: 'none',
|
|
259
|
-
});
|
|
301
|
+
// The circle covers its center pixel plus `radius` on each side.
|
|
302
|
+
const diameter = el.radius * 2 + 1;
|
|
303
|
+
const box = { x: cx - el.radius, y: cy - el.radius, w: diameter, h: diameter };
|
|
304
|
+
layoutEntries.push(placedEntry(elIdx, 'circle', box, canvas));
|
|
260
305
|
break;
|
|
261
306
|
}
|
|
262
307
|
case 'line': {
|
|
263
|
-
const
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
}
|
|
308
|
+
const colorSpec = keyframedColor ?? el.color;
|
|
309
|
+
const color = colorSpec ? resolveColor(colorSpec) : [255, 255, 255];
|
|
310
|
+
const x0 = el.x0 + dx;
|
|
311
|
+
const y0 = el.y0 + dy;
|
|
312
|
+
const x1 = el.x1 + dx;
|
|
313
|
+
const y1 = el.y1 + dy;
|
|
314
|
+
target.drawLine(x0, y0, x1, y1, color);
|
|
315
|
+
// Both endpoints are drawn, so the line spans one pixel more than their distance.
|
|
316
|
+
const box = {
|
|
317
|
+
x: Math.min(x0, x1),
|
|
318
|
+
y: Math.min(y0, y1),
|
|
319
|
+
w: Math.abs(x1 - x0) + 1,
|
|
320
|
+
h: Math.abs(y1 - y0) + 1,
|
|
321
|
+
};
|
|
322
|
+
layoutEntries.push(placedEntry(elIdx, 'line', box, canvas));
|
|
277
323
|
break;
|
|
278
324
|
}
|
|
279
325
|
case 'progress': {
|
|
@@ -302,13 +348,7 @@ export function renderElement(canvas, el, elIdx, frameIdx, totalFrames, assets,
|
|
|
302
348
|
const labelY = y + Math.floor((el.h - FONT_3x5.height) / 2);
|
|
303
349
|
drawText(target, el.label, labelX, labelY, [200, 200, 200], { font: FONT_3x5 });
|
|
304
350
|
}
|
|
305
|
-
layoutEntries.push({
|
|
306
|
-
element: elIdx,
|
|
307
|
-
type: 'progress',
|
|
308
|
-
box: { x, y, w: el.w, h: el.h },
|
|
309
|
-
fits: true,
|
|
310
|
-
action: 'none',
|
|
311
|
-
});
|
|
351
|
+
layoutEntries.push(placedEntry(elIdx, 'progress', { x, y, w: el.w, h: el.h }, canvas));
|
|
312
352
|
break;
|
|
313
353
|
}
|
|
314
354
|
case 'sparkline': {
|
|
@@ -320,7 +360,8 @@ export function renderElement(canvas, el, elIdx, frameIdx, totalFrames, assets,
|
|
|
320
360
|
const min_ = Math.min(...data);
|
|
321
361
|
const max_ = Math.max(...data);
|
|
322
362
|
const range = max_ - min_ || 1;
|
|
323
|
-
const
|
|
363
|
+
const colorSpec = keyframedColor ?? el.color;
|
|
364
|
+
const color = colorSpec ? resolveColor(colorSpec) : [100, 200, 255];
|
|
324
365
|
if (el.kind === 'bar') {
|
|
325
366
|
const barW = Math.max(1, Math.floor(el.w / data.length));
|
|
326
367
|
for (let i = 0; i < data.length; i++) {
|
|
@@ -330,24 +371,19 @@ export function renderElement(canvas, el, elIdx, frameIdx, totalFrames, assets,
|
|
|
330
371
|
}
|
|
331
372
|
}
|
|
332
373
|
else {
|
|
333
|
-
|
|
374
|
+
// Scaled over w − 1 and h − 1, so the line fills exactly its w × h box.
|
|
375
|
+
const stepX = (el.w - 1) / (data.length - 1);
|
|
376
|
+
const bottom = y + el.h - 1;
|
|
377
|
+
const rowOf = (v) => bottom - Math.round(((v - min_) / range) * (el.h - 1));
|
|
334
378
|
for (let i = 0; i < data.length - 1; i++) {
|
|
335
|
-
const v0 = data[i] ?? 0;
|
|
336
|
-
const v1 = data[i + 1] ?? 0;
|
|
337
379
|
const x0 = Math.round(x + i * stepX);
|
|
338
|
-
const y0 =
|
|
380
|
+
const y0 = rowOf(data[i] ?? 0);
|
|
339
381
|
const x1 = Math.round(x + (i + 1) * stepX);
|
|
340
|
-
const y1 =
|
|
382
|
+
const y1 = rowOf(data[i + 1] ?? 0);
|
|
341
383
|
target.drawLine(x0, y0, x1, y1, color);
|
|
342
384
|
}
|
|
343
385
|
}
|
|
344
|
-
layoutEntries.push({
|
|
345
|
-
element: elIdx,
|
|
346
|
-
type: 'sparkline',
|
|
347
|
-
box: { x, y, w: el.w, h: el.h },
|
|
348
|
-
fits: true,
|
|
349
|
-
action: 'none',
|
|
350
|
-
});
|
|
386
|
+
layoutEntries.push(placedEntry(elIdx, 'sparkline', { x, y, w: el.w, h: el.h }, canvas));
|
|
351
387
|
break;
|
|
352
388
|
}
|
|
353
389
|
case 'bitmap': {
|
|
@@ -366,28 +402,28 @@ export function renderElement(canvas, el, elIdx, frameIdx, totalFrames, assets,
|
|
|
366
402
|
target.setPixel(x + col, y + row, resolveColor(colorStr));
|
|
367
403
|
}
|
|
368
404
|
}
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
type: 'bitmap',
|
|
372
|
-
box: { x, y, w: el.rows[0]?.length ?? 0, h: el.rows.length },
|
|
373
|
-
fits: true,
|
|
374
|
-
action: 'none',
|
|
375
|
-
});
|
|
405
|
+
const widest = el.rows.reduce((max, row) => Math.max(max, row.length), 0);
|
|
406
|
+
layoutEntries.push(placedEntry(elIdx, 'bitmap', { x, y, w: widest, h: el.rows.length }, canvas));
|
|
376
407
|
break;
|
|
377
408
|
}
|
|
378
409
|
case 'pixels': {
|
|
410
|
+
let minX = Number.POSITIVE_INFINITY;
|
|
411
|
+
let minY = Number.POSITIVE_INFINITY;
|
|
412
|
+
let maxX = Number.NEGATIVE_INFINITY;
|
|
413
|
+
let maxY = Number.NEGATIVE_INFINITY;
|
|
379
414
|
for (const pt of el.data) {
|
|
380
|
-
const
|
|
381
|
-
const
|
|
382
|
-
target.setPixel(
|
|
415
|
+
const x = pt.x + dx;
|
|
416
|
+
const y = pt.y + dy;
|
|
417
|
+
target.setPixel(x, y, resolveColor(keyframedColor ?? pt.color));
|
|
418
|
+
minX = Math.min(minX, x);
|
|
419
|
+
minY = Math.min(minY, y);
|
|
420
|
+
maxX = Math.max(maxX, x);
|
|
421
|
+
maxY = Math.max(maxY, y);
|
|
383
422
|
}
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
fits: true,
|
|
389
|
-
action: 'none',
|
|
390
|
-
});
|
|
423
|
+
const box = el.data.length === 0
|
|
424
|
+
? { x: 0, y: 0, w: 0, h: 0 }
|
|
425
|
+
: { x: minX, y: minY, w: maxX - minX + 1, h: maxY - minY + 1 };
|
|
426
|
+
layoutEntries.push(placedEntry(elIdx, 'pixels', box, canvas));
|
|
391
427
|
break;
|
|
392
428
|
}
|
|
393
429
|
case 'image': {
|
|
@@ -395,13 +431,13 @@ export function renderElement(canvas, el, elIdx, frameIdx, totalFrames, assets,
|
|
|
395
431
|
if (cachedCanvas) {
|
|
396
432
|
target.blit(cachedCanvas, dx, dy);
|
|
397
433
|
}
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
434
|
+
const box = {
|
|
435
|
+
x: (el.x ?? 0) + dx,
|
|
436
|
+
y: (el.y ?? 0) + dy,
|
|
437
|
+
w: el.w ?? canvas.width,
|
|
438
|
+
h: el.h ?? canvas.height,
|
|
439
|
+
};
|
|
440
|
+
layoutEntries.push(placedEntry(elIdx, 'image', box, canvas));
|
|
405
441
|
break;
|
|
406
442
|
}
|
|
407
443
|
case 'sprite': {
|
|
@@ -426,13 +462,8 @@ export function renderElement(canvas, el, elIdx, frameIdx, totalFrames, assets,
|
|
|
426
462
|
originalBodyColor: sprite.bodyColor,
|
|
427
463
|
originalDarkColor: sprite.darkColor,
|
|
428
464
|
});
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
type: 'sprite',
|
|
432
|
-
box: { x: resolvedX, y: resolvedY, w: spriteW, h: spriteH },
|
|
433
|
-
fits: resolvedX + spriteW <= canvas.width && resolvedY + spriteH <= canvas.height,
|
|
434
|
-
action: 'none',
|
|
435
|
-
});
|
|
465
|
+
const box = { x: resolvedX, y: resolvedY, w: spriteW, h: spriteH };
|
|
466
|
+
layoutEntries.push(placedEntry(elIdx, 'sprite', box, canvas));
|
|
436
467
|
}
|
|
437
468
|
break;
|
|
438
469
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scene-renderer.js","sourceRoot":"","sources":["../../src/renderer/scene-renderer.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"scene-renderer.js","sourceRoot":"","sources":["../../src/renderer/scene-renderer.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cyanheads/pixoo-mcp-server",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.1",
|
|
4
4
|
"mcpName": "io.github.cyanheads/pixoo-mcp-server",
|
|
5
5
|
"description": "Render and push styled pixel art, text, dashboards, and animations to Divoom Pixoo LED displays on your local network via MCP. STDIO or Streamable HTTP.",
|
|
6
6
|
"type": "module",
|
|
@@ -12,6 +12,7 @@
|
|
|
12
12
|
"files": [
|
|
13
13
|
"changelog/",
|
|
14
14
|
"dist/",
|
|
15
|
+
"!dist/*.mcpb",
|
|
15
16
|
"README.md",
|
|
16
17
|
"LICENSE",
|
|
17
18
|
"CLAUDE.md",
|
|
@@ -78,7 +79,7 @@
|
|
|
78
79
|
}
|
|
79
80
|
],
|
|
80
81
|
"license": "Apache-2.0",
|
|
81
|
-
"packageManager": "bun@1.4.
|
|
82
|
+
"packageManager": "bun@1.4.2",
|
|
82
83
|
"engines": {
|
|
83
84
|
"bun": ">=1.4.0",
|
|
84
85
|
"node": ">=24.0.0"
|
|
@@ -87,7 +88,7 @@
|
|
|
87
88
|
"access": "public"
|
|
88
89
|
},
|
|
89
90
|
"dependencies": {
|
|
90
|
-
"@cyanheads/mcp-ts-core": "^0.13.
|
|
91
|
+
"@cyanheads/mcp-ts-core": "^0.13.9",
|
|
91
92
|
"@cyanheads/pixoo-toolkit": "^0.8.2",
|
|
92
93
|
"pino-pretty": "^13.1.3",
|
|
93
94
|
"sharp": "^0.35.4",
|
|
@@ -95,10 +96,10 @@
|
|
|
95
96
|
},
|
|
96
97
|
"devDependencies": {
|
|
97
98
|
"@biomejs/biome": "2.5.14",
|
|
98
|
-
"@socketsecurity/bun-security-scanner": "^1.1.
|
|
99
|
+
"@socketsecurity/bun-security-scanner": "^1.1.3",
|
|
99
100
|
"@types/node": "26.6.2",
|
|
100
101
|
"depcheck": "^1.4.7",
|
|
101
|
-
"ignore": "^7.0.
|
|
102
|
+
"ignore": "^7.0.10",
|
|
102
103
|
"tsc-alias": "^1.9.5",
|
|
103
104
|
"typescript": "^7.0.2",
|
|
104
105
|
"vitest": "^5.0.1"
|
package/server.json
CHANGED
|
@@ -6,14 +6,14 @@
|
|
|
6
6
|
"url": "https://github.com/cyanheads/pixoo-mcp-server",
|
|
7
7
|
"source": "github"
|
|
8
8
|
},
|
|
9
|
-
"version": "1.2.
|
|
9
|
+
"version": "1.2.1",
|
|
10
10
|
"packages": [
|
|
11
11
|
{
|
|
12
12
|
"registryType": "npm",
|
|
13
13
|
"registryBaseUrl": "https://registry.npmjs.org",
|
|
14
14
|
"identifier": "@cyanheads/pixoo-mcp-server",
|
|
15
15
|
"runtimeHint": "bun",
|
|
16
|
-
"version": "1.2.
|
|
16
|
+
"version": "1.2.1",
|
|
17
17
|
"packageArguments": [
|
|
18
18
|
{
|
|
19
19
|
"type": "positional",
|
|
@@ -68,7 +68,7 @@
|
|
|
68
68
|
"registryBaseUrl": "https://registry.npmjs.org",
|
|
69
69
|
"identifier": "@cyanheads/pixoo-mcp-server",
|
|
70
70
|
"runtimeHint": "bun",
|
|
71
|
-
"version": "1.2.
|
|
71
|
+
"version": "1.2.1",
|
|
72
72
|
"packageArguments": [
|
|
73
73
|
{
|
|
74
74
|
"type": "positional",
|