@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
|
@@ -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';
|
|
@@ -30,42 +30,40 @@ async function assertReadableAsset(assetPath, label) {
|
|
|
30
30
|
}
|
|
31
31
|
}
|
|
32
32
|
/**
|
|
33
|
-
* Preload all async assets referenced in elements.
|
|
33
|
+
* Preload all async assets referenced in elements. Images load onto a `size` canvas,
|
|
34
|
+
* the scene's own, so an image with no `w`/`h` fits the display.
|
|
34
35
|
*
|
|
35
|
-
* `ctx` is threaded through so a remote image fetch correlates to the
|
|
36
|
-
*
|
|
36
|
+
* `ctx` is threaded through so a remote image fetch correlates to the originating
|
|
37
|
+
* request in logs and traces, and stops when that request is cancelled.
|
|
37
38
|
*/
|
|
38
|
-
export async function preloadAssets(elements, ctx) {
|
|
39
|
+
export async function preloadAssets(elements, ctx, size) {
|
|
39
40
|
const cache = { images: new Map(), sprites: new Map() };
|
|
40
41
|
await Promise.all(elements.map(async (el) => {
|
|
41
42
|
if (el.type === 'image') {
|
|
42
43
|
const source = el.source;
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
if (tmpPathToCleanup) {
|
|
65
|
-
fs.unlink(tmpPathToCleanup).catch(() => undefined);
|
|
66
|
-
}
|
|
67
|
-
cache.images.set(source, canvas);
|
|
44
|
+
// The toolkit's loadImage reads from disk, so a remote source is
|
|
45
|
+
// staged to a temp PNG first and unlinked once it has been read.
|
|
46
|
+
const remote = isRemoteSource(source);
|
|
47
|
+
if (!remote)
|
|
48
|
+
await assertReadableAsset(source, 'Image file');
|
|
49
|
+
const tmpPathToCleanup = remote ? await fetchRemoteImageToTempPng(source, ctx) : undefined;
|
|
50
|
+
const localPath = tmpPathToCleanup ?? source;
|
|
51
|
+
const loadOpts = {
|
|
52
|
+
size,
|
|
53
|
+
fit: el.fit ?? 'contain',
|
|
54
|
+
kernel: el.kernel ?? 'nearest',
|
|
55
|
+
x: typeof el.x === 'number' ? el.x : 0,
|
|
56
|
+
y: typeof el.y === 'number' ? el.y : 0,
|
|
57
|
+
};
|
|
58
|
+
if (el.w !== undefined)
|
|
59
|
+
loadOpts.width = el.w;
|
|
60
|
+
if (el.h !== undefined)
|
|
61
|
+
loadOpts.height = el.h;
|
|
62
|
+
const canvas = await loadImage(localPath, loadOpts);
|
|
63
|
+
if (tmpPathToCleanup) {
|
|
64
|
+
fs.unlink(tmpPathToCleanup).catch(() => undefined);
|
|
68
65
|
}
|
|
66
|
+
cache.images.set(el, canvas);
|
|
69
67
|
}
|
|
70
68
|
else if (el.type === 'sprite') {
|
|
71
69
|
const key = `${el.path}:${el.cols}:${el.rows}`;
|
|
@@ -120,6 +118,55 @@ export function applyBackground(canvas, bg) {
|
|
|
120
118
|
}
|
|
121
119
|
canvas.clear();
|
|
122
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
|
+
}
|
|
123
170
|
/** Render a single element onto a canvas at a specific frame. */
|
|
124
171
|
export function renderElement(canvas, el, elIdx, frameIdx, totalFrames, assets, layoutEntries) {
|
|
125
172
|
// Compute keyframes / effects
|
|
@@ -138,13 +185,18 @@ export function renderElement(canvas, el, elIdx, frameIdx, totalFrames, assets,
|
|
|
138
185
|
const dyAnim = Number(getKeyframeValue(kf, 'dy', frameIdx, 0));
|
|
139
186
|
const dx = (el.dx ?? 0) + dxAnim;
|
|
140
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;
|
|
141
191
|
// If opacity < 100, render to scratch canvas and blit with alpha
|
|
142
192
|
const target = opacity < 100 ? new Canvas(canvas.width) : canvas;
|
|
143
193
|
switch (el.type) {
|
|
144
194
|
case 'text': {
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
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;
|
|
148
200
|
const fontVariant = el.font === 'compact' ? 'compact' : 'standard';
|
|
149
201
|
const px = el.x ?? 0;
|
|
150
202
|
const py = el.y ?? 0;
|
|
@@ -156,29 +208,26 @@ export function renderElement(canvas, el, elIdx, frameIdx, totalFrames, assets,
|
|
|
156
208
|
const resolvedY = resolveY(py, textH, canvas.height, dy);
|
|
157
209
|
drawStyledText(target, el.text, resolvedX, resolvedY, style, fontVariant);
|
|
158
210
|
layoutEntries.push({
|
|
159
|
-
|
|
160
|
-
type: 'text',
|
|
161
|
-
box: { x: resolvedX, y: resolvedY, w: textW, h: textH },
|
|
162
|
-
fits: resolvedX + textW <= canvas.width && resolvedY + textH <= canvas.height,
|
|
163
|
-
action: 'none',
|
|
211
|
+
...placedEntry(elIdx, 'text', { x: resolvedX, y: resolvedY, w: textW, h: textH }, canvas),
|
|
164
212
|
font: fontVariant,
|
|
165
213
|
scale,
|
|
166
214
|
});
|
|
167
215
|
break;
|
|
168
216
|
}
|
|
169
217
|
case 'icon': {
|
|
170
|
-
let
|
|
218
|
+
let paths;
|
|
171
219
|
let viewBox = '0 0 16 16';
|
|
172
220
|
if (el.name) {
|
|
173
|
-
|
|
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;
|
|
174
223
|
if (!iconEntry) {
|
|
175
224
|
throw invalidParams(`Unknown icon "${el.name}". Use pixoo://reference/icons to browse available icons.`, { reason: 'unknown_icon' });
|
|
176
225
|
}
|
|
177
|
-
|
|
226
|
+
paths = iconEntry;
|
|
178
227
|
viewBox = iconEntry.viewBox;
|
|
179
228
|
}
|
|
180
229
|
else if (el.d) {
|
|
181
|
-
|
|
230
|
+
paths = { fill: el.d };
|
|
182
231
|
viewBox = el.viewBox ?? '0 0 16 16';
|
|
183
232
|
}
|
|
184
233
|
else {
|
|
@@ -190,24 +239,26 @@ export function renderElement(canvas, el, elIdx, frameIdx, totalFrames, assets,
|
|
|
190
239
|
const py = el.y ?? 0;
|
|
191
240
|
const resolvedX = resolveX(px, w, canvas.width, dx);
|
|
192
241
|
const resolvedY = resolveY(py, h, canvas.height, dy);
|
|
193
|
-
|
|
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];
|
|
194
245
|
// Parse viewBox string ("0 0 W H") to extract dimensions [W, H]
|
|
195
246
|
const vbParts = viewBox.split(/\s+/).map(Number);
|
|
196
|
-
const
|
|
197
|
-
const
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
});
|
|
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));
|
|
206
256
|
break;
|
|
207
257
|
}
|
|
208
258
|
case 'rect': {
|
|
209
259
|
const x = el.x + dx;
|
|
210
260
|
const y = el.y + dy;
|
|
261
|
+
const fill = keyframedColor ?? el.color;
|
|
211
262
|
if (el.gradient) {
|
|
212
263
|
const from_ = resolveColor(el.gradient.from);
|
|
213
264
|
const to_ = resolveColor(el.gradient.to);
|
|
@@ -227,55 +278,48 @@ export function renderElement(canvas, el, elIdx, frameIdx, totalFrames, assets,
|
|
|
227
278
|
}
|
|
228
279
|
}
|
|
229
280
|
}
|
|
230
|
-
else if (
|
|
231
|
-
target.fillRect(x, y, el.w, el.h, resolveColor(
|
|
281
|
+
else if (fill) {
|
|
282
|
+
target.fillRect(x, y, el.w, el.h, resolveColor(fill));
|
|
232
283
|
}
|
|
233
284
|
if (el.borderColor) {
|
|
234
285
|
target.drawRect(x, y, el.w, el.h, resolveColor(el.borderColor));
|
|
235
286
|
}
|
|
236
|
-
layoutEntries.push({
|
|
237
|
-
element: elIdx,
|
|
238
|
-
type: 'rect',
|
|
239
|
-
box: { x, y, w: el.w, h: el.h },
|
|
240
|
-
fits: x + el.w <= canvas.width && y + el.h <= canvas.height,
|
|
241
|
-
action: 'none',
|
|
242
|
-
});
|
|
287
|
+
layoutEntries.push(placedEntry(elIdx, 'rect', { x, y, w: el.w, h: el.h }, canvas));
|
|
243
288
|
break;
|
|
244
289
|
}
|
|
245
290
|
case 'circle': {
|
|
246
291
|
const cx = el.cx + dx;
|
|
247
292
|
const cy = el.cy + dy;
|
|
248
|
-
const
|
|
293
|
+
const colorSpec = keyframedColor ?? el.color;
|
|
294
|
+
const color = colorSpec ? resolveColor(colorSpec) : [255, 255, 255];
|
|
249
295
|
if (el.fill !== false) {
|
|
250
296
|
target.fillCircle(cx, cy, el.radius, color);
|
|
251
297
|
}
|
|
252
298
|
else {
|
|
253
299
|
target.drawCircle(cx, cy, el.radius, color);
|
|
254
300
|
}
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
fits: true,
|
|
260
|
-
action: 'none',
|
|
261
|
-
});
|
|
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));
|
|
262
305
|
break;
|
|
263
306
|
}
|
|
264
307
|
case 'line': {
|
|
265
|
-
const
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
}
|
|
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));
|
|
279
323
|
break;
|
|
280
324
|
}
|
|
281
325
|
case 'progress': {
|
|
@@ -304,13 +348,7 @@ export function renderElement(canvas, el, elIdx, frameIdx, totalFrames, assets,
|
|
|
304
348
|
const labelY = y + Math.floor((el.h - FONT_3x5.height) / 2);
|
|
305
349
|
drawText(target, el.label, labelX, labelY, [200, 200, 200], { font: FONT_3x5 });
|
|
306
350
|
}
|
|
307
|
-
layoutEntries.push({
|
|
308
|
-
element: elIdx,
|
|
309
|
-
type: 'progress',
|
|
310
|
-
box: { x, y, w: el.w, h: el.h },
|
|
311
|
-
fits: true,
|
|
312
|
-
action: 'none',
|
|
313
|
-
});
|
|
351
|
+
layoutEntries.push(placedEntry(elIdx, 'progress', { x, y, w: el.w, h: el.h }, canvas));
|
|
314
352
|
break;
|
|
315
353
|
}
|
|
316
354
|
case 'sparkline': {
|
|
@@ -322,7 +360,8 @@ export function renderElement(canvas, el, elIdx, frameIdx, totalFrames, assets,
|
|
|
322
360
|
const min_ = Math.min(...data);
|
|
323
361
|
const max_ = Math.max(...data);
|
|
324
362
|
const range = max_ - min_ || 1;
|
|
325
|
-
const
|
|
363
|
+
const colorSpec = keyframedColor ?? el.color;
|
|
364
|
+
const color = colorSpec ? resolveColor(colorSpec) : [100, 200, 255];
|
|
326
365
|
if (el.kind === 'bar') {
|
|
327
366
|
const barW = Math.max(1, Math.floor(el.w / data.length));
|
|
328
367
|
for (let i = 0; i < data.length; i++) {
|
|
@@ -332,24 +371,19 @@ export function renderElement(canvas, el, elIdx, frameIdx, totalFrames, assets,
|
|
|
332
371
|
}
|
|
333
372
|
}
|
|
334
373
|
else {
|
|
335
|
-
|
|
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));
|
|
336
378
|
for (let i = 0; i < data.length - 1; i++) {
|
|
337
|
-
const v0 = data[i] ?? 0;
|
|
338
|
-
const v1 = data[i + 1] ?? 0;
|
|
339
379
|
const x0 = Math.round(x + i * stepX);
|
|
340
|
-
const y0 =
|
|
380
|
+
const y0 = rowOf(data[i] ?? 0);
|
|
341
381
|
const x1 = Math.round(x + (i + 1) * stepX);
|
|
342
|
-
const y1 =
|
|
382
|
+
const y1 = rowOf(data[i + 1] ?? 0);
|
|
343
383
|
target.drawLine(x0, y0, x1, y1, color);
|
|
344
384
|
}
|
|
345
385
|
}
|
|
346
|
-
layoutEntries.push({
|
|
347
|
-
element: elIdx,
|
|
348
|
-
type: 'sparkline',
|
|
349
|
-
box: { x, y, w: el.w, h: el.h },
|
|
350
|
-
fits: true,
|
|
351
|
-
action: 'none',
|
|
352
|
-
});
|
|
386
|
+
layoutEntries.push(placedEntry(elIdx, 'sparkline', { x, y, w: el.w, h: el.h }, canvas));
|
|
353
387
|
break;
|
|
354
388
|
}
|
|
355
389
|
case 'bitmap': {
|
|
@@ -368,42 +402,42 @@ export function renderElement(canvas, el, elIdx, frameIdx, totalFrames, assets,
|
|
|
368
402
|
target.setPixel(x + col, y + row, resolveColor(colorStr));
|
|
369
403
|
}
|
|
370
404
|
}
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
type: 'bitmap',
|
|
374
|
-
box: { x, y, w: el.rows[0]?.length ?? 0, h: el.rows.length },
|
|
375
|
-
fits: true,
|
|
376
|
-
action: 'none',
|
|
377
|
-
});
|
|
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));
|
|
378
407
|
break;
|
|
379
408
|
}
|
|
380
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;
|
|
381
414
|
for (const pt of el.data) {
|
|
382
|
-
const
|
|
383
|
-
const
|
|
384
|
-
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);
|
|
385
422
|
}
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
fits: true,
|
|
391
|
-
action: 'none',
|
|
392
|
-
});
|
|
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));
|
|
393
427
|
break;
|
|
394
428
|
}
|
|
395
429
|
case 'image': {
|
|
396
|
-
const cachedCanvas = assets.images.get(el
|
|
430
|
+
const cachedCanvas = assets.images.get(el);
|
|
397
431
|
if (cachedCanvas) {
|
|
398
432
|
target.blit(cachedCanvas, dx, dy);
|
|
399
433
|
}
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
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));
|
|
407
441
|
break;
|
|
408
442
|
}
|
|
409
443
|
case 'sprite': {
|
|
@@ -428,13 +462,8 @@ export function renderElement(canvas, el, elIdx, frameIdx, totalFrames, assets,
|
|
|
428
462
|
originalBodyColor: sprite.bodyColor,
|
|
429
463
|
originalDarkColor: sprite.darkColor,
|
|
430
464
|
});
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
type: 'sprite',
|
|
434
|
-
box: { x: resolvedX, y: resolvedY, w: spriteW, h: spriteH },
|
|
435
|
-
fits: resolvedX + spriteW <= canvas.width && resolvedY + spriteH <= canvas.height,
|
|
436
|
-
action: 'none',
|
|
437
|
-
});
|
|
465
|
+
const box = { x: resolvedX, y: resolvedY, w: spriteW, h: spriteH };
|
|
466
|
+
layoutEntries.push(placedEntry(elIdx, 'sprite', box, canvas));
|
|
438
467
|
}
|
|
439
468
|
break;
|
|
440
469
|
}
|
|
@@ -466,7 +495,7 @@ export function renderFrame(frameIdx, totalFrames, background, elements, assets,
|
|
|
466
495
|
}
|
|
467
496
|
/** Render all frames of a scene. */
|
|
468
497
|
export async function renderScene(background, elements, frameCount, ctx, size = 64) {
|
|
469
|
-
const assets = await preloadAssets(elements, ctx);
|
|
498
|
+
const assets = await preloadAssets(elements, ctx, size);
|
|
470
499
|
const allLayoutEntries = [];
|
|
471
500
|
const frames = [];
|
|
472
501
|
for (let i = 0; i < frameCount; i++) {
|
|
@@ -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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"}
|
|
@@ -43,6 +43,17 @@ export type SemanticY = number | 'top' | 'center' | 'bottom';
|
|
|
43
43
|
export declare function resolveX(x: SemanticX, contentWidth: number, canvasWidth: number, dx?: number): number;
|
|
44
44
|
/** Resolve semantic y to a pixel coordinate. */
|
|
45
45
|
export declare function resolveY(y: SemanticY, contentHeight: number, canvasHeight: number, dy?: number): number;
|
|
46
|
+
/**
|
|
47
|
+
* Frame count and per-frame step for one scroll cycle of a block `contentWidth` wide:
|
|
48
|
+
* it starts just past the right edge and ends once it has left through the left edge.
|
|
49
|
+
* A block too wide to cross in 40 frames at the base step moves faster instead, so the
|
|
50
|
+
* cycle always completes, and the frame count follows from the step, so the loop never
|
|
51
|
+
* cuts off mid-text or trails blank frames.
|
|
52
|
+
*/
|
|
53
|
+
export declare function scrollCycle(contentWidth: number, canvasWidth: number): {
|
|
54
|
+
frames: number;
|
|
55
|
+
step: number;
|
|
56
|
+
};
|
|
46
57
|
/**
|
|
47
58
|
* Draw styled text onto a canvas using gradient ramp per-row.
|
|
48
59
|
* Returns the bounding box of the rendered text.
|
|
@@ -55,7 +66,9 @@ export declare function drawStyledText(canvas: Canvas, text: string, x: number,
|
|
|
55
66
|
};
|
|
56
67
|
/**
|
|
57
68
|
* Render text with auto-fit logic: tries standard → compact → scroll.
|
|
69
|
+
* A `fixedFont` pins the variant: the compact fallback is skipped, so text that
|
|
70
|
+
* overflows in it takes the overflow action in that font.
|
|
58
71
|
* Returns the layout entry describing what was done.
|
|
59
72
|
*/
|
|
60
|
-
export declare function renderAutoFitText(canvas: Canvas, text: string, px: SemanticX, py: SemanticY, dx: number, dy: number, style: TextStyle, overflow: OverflowMode, elementIdx: number | 'background', frameIdx: number, _totalFrames: number): LayoutEntry;
|
|
73
|
+
export declare function renderAutoFitText(canvas: Canvas, text: string, px: SemanticX, py: SemanticY, dx: number, dy: number, style: TextStyle, overflow: OverflowMode, elementIdx: number | 'background', frameIdx: number, _totalFrames: number, fixedFont?: FontVariant): LayoutEntry;
|
|
61
74
|
//# sourceMappingURL=text-engine.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"text-engine.d.ts","sourceRoot":"","sources":["../../src/renderer/text-engine.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACL,MAAM,EACN,KAAK,SAAS,EAQf,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,KAAK,YAAY,EAAY,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AAE5E,qDAAqD;AACrD,MAAM,WAAW,SAAS;IACxB,6CAA6C;IAC7C,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,8CAA8C;IAC9C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,6CAA6C;IAC7C,OAAO,CAAC,EAAE,WAAW,GAAG,YAAY,CAAC;IACrC,kDAAkD;IAClD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,mCAAmC;IACnC,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,yBAAyB;AACzB,MAAM,MAAM,WAAW,GAAG,UAAU,GAAG,SAAS,CAAC;AAEjD,4CAA4C;AAC5C,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,CAAC;AAE9E,2BAA2B;AAC3B,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,GAAG,mBAAmB,GAAG,WAAW,GAAG,SAAS,GAAG,WAAW,GAAG,SAAS,CAAC;IACzF,GAAG,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACpD,OAAO,EAAE,MAAM,GAAG,YAAY,CAAC;IAC/B,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd;AAED,8CAA8C;AAC9C,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;AAC7D,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAE7D,gDAAgD;AAChD,wBAAgB,QAAQ,CAAC,CAAC,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,SAAI,GAAG,MAAM,CAOhG;AAED,gDAAgD;AAChD,wBAAgB,QAAQ,CACtB,CAAC,EAAE,SAAS,EACZ,aAAa,EAAE,MAAM,EACrB,YAAY,EAAE,MAAM,EACpB,EAAE,SAAI,GACL,MAAM,CAOR;AA0BD;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,KAAK,EAAE,SAAS,EAChB,WAAW,GAAE,WAAwB,GACpC;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CA+DhD;AAED
|
|
1
|
+
{"version":3,"file":"text-engine.d.ts","sourceRoot":"","sources":["../../src/renderer/text-engine.ts"],"names":[],"mappings":"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"}
|