@pinepaper.studio/mcp-server 1.6.22 → 1.6.23
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.md +31 -0
- package/dist/build-info.json +2 -2
- package/dist/design/design-systems.d.ts +50 -0
- package/dist/design/design-systems.d.ts.map +1 -1
- package/dist/design/design-systems.js +220 -35
- package/dist/design/design-systems.js.map +1 -1
- package/dist/tools/choreograph.d.ts +4 -0
- package/dist/tools/choreograph.d.ts.map +1 -1
- package/dist/tools/choreograph.js +10 -2
- package/dist/tools/choreograph.js.map +1 -1
- package/dist/tools/definitions.d.ts.map +1 -1
- package/dist/tools/definitions.js +36 -11
- package/dist/tools/definitions.js.map +1 -1
- package/dist/tools/engine-methods.d.ts.map +1 -1
- package/dist/tools/engine-methods.js +2 -0
- package/dist/tools/engine-methods.js.map +1 -1
- package/dist/tools/handlers.d.ts +18 -1
- package/dist/tools/handlers.d.ts.map +1 -1
- package/dist/tools/handlers.js +88 -18
- package/dist/tools/handlers.js.map +1 -1
- package/dist/types/code-generator.d.ts +36 -1
- package/dist/types/code-generator.d.ts.map +1 -1
- package/dist/types/code-generator.js +353 -44
- package/dist/types/code-generator.js.map +1 -1
- package/dist/types/schemas.d.ts +52 -1
- package/dist/types/schemas.d.ts.map +1 -1
- package/dist/types/schemas.js +15 -0
- package/dist/types/schemas.js.map +1 -1
- package/manifest.json +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -247,6 +247,37 @@ If you do not want an agent executing anything, `code` mode is a first-class pat
|
|
|
247
247
|
- Puppeteer itself is an **optional** peer dependency, kept out of the default tree precisely because a headless browser plus an install script is what scanners flag hardest. Install it only if you want the executing mode.
|
|
248
248
|
- The server itself fetches the images, SVGs and media a tool call names by URL, and reads local files named by path. URLs that resolve to loopback, private, link-local or reserved addresses are refused, redirects included, and so are cloud metadata addresses. Local files are read only from the working directory, the export folder, and folders listed in `PINEPAPER_ASSET_DIRS`. `PINEPAPER_ALLOW_PRIVATE_NETWORK=1` allows local and LAN hosts. Metadata addresses stay refused even with it set.
|
|
249
249
|
|
|
250
|
+
## What's new in 1.6.23
|
|
251
|
+
|
|
252
|
+
### Fixed
|
|
253
|
+
|
|
254
|
+
- Every tool now says when it ignored an argument. A top-level argument a
|
|
255
|
+
tool does not take used to be dropped silently, and the call still reported
|
|
256
|
+
success. The reply now names it ("IGNORED ARGUMENTS: … had no effect"), and
|
|
257
|
+
lists it under `_meta["pinepaper.studio/ignoredArguments"]`.
|
|
258
|
+
- `pinepaper_keyframe_animate` accepts `mode: 'merge'` (the same as
|
|
259
|
+
`append: true`), which the studio's own warning recommends, on the tool and
|
|
260
|
+
in batch operations.
|
|
261
|
+
- `pinepaper_import_image` applies `shadowColor`, `shadowBlur` and
|
|
262
|
+
`shadowOffset`.
|
|
263
|
+
- `pinepaper_design_system` `compose`: cyberpunk scanlines are drawn as lines,
|
|
264
|
+
the HUD frame keeps its angled corners, and neon glows carry over to shapes
|
|
265
|
+
and text. Bauhaus and Memphis circles are drawn as circles. Text that lands
|
|
266
|
+
on a shape at a canvas size the style was not laid out for is reported in
|
|
267
|
+
`layoutCollisions`.
|
|
268
|
+
- Tool docs give the units for emitter `jitter` and `spin`, say what
|
|
269
|
+
`quality` controls on MP4 and WebM, and say how timing works on an equation
|
|
270
|
+
route in `moves_along_path`.
|
|
271
|
+
- `pinepaper_choreograph` anchors each move at where the actor is on the beat,
|
|
272
|
+
not wherever the playhead was left, and a roll on a picture turns by its
|
|
273
|
+
drawn size.
|
|
274
|
+
- An equation route in `moves_along_path` keeps its `duration`.
|
|
275
|
+
- A radial gradient is centred on the item it fills.
|
|
276
|
+
- An export whose platform preset sizes the file differently from the canvas
|
|
277
|
+
says so (`platformSize`, `platform_size_differs_from_canvas`).
|
|
278
|
+
- `fillOpacity` is no longer reported as ignored, and tabular figures report
|
|
279
|
+
whether they really applied.
|
|
280
|
+
|
|
250
281
|
## What's new in 1.6.22
|
|
251
282
|
|
|
252
283
|
### Changed
|
package/dist/build-info.json
CHANGED
|
@@ -43,6 +43,14 @@ export interface ComposedElement {
|
|
|
43
43
|
width?: number;
|
|
44
44
|
height?: number;
|
|
45
45
|
textAlign?: string;
|
|
46
|
+
/** The upstream `shapeType` ('circle', 'square', 'pill', …) under a generic `type: 'shape'`. */
|
|
47
|
+
shape?: string;
|
|
48
|
+
/** A CSS `clip-path: polygon(...)` the element is cut to (cyberpunk's angular HUD frame). */
|
|
49
|
+
clipPath?: string;
|
|
50
|
+
/** A neon glow colour (`neonGlowHex`). */
|
|
51
|
+
glowHex?: string;
|
|
52
|
+
/** A CSS text-shadow (`textShadow`), e.g. '0 0 12px #00f0ff, 0 0 24px #00f0ff'. */
|
|
53
|
+
textShadow?: string;
|
|
46
54
|
}
|
|
47
55
|
export interface ComposedScene {
|
|
48
56
|
style: string;
|
|
@@ -256,5 +264,47 @@ export declare function compose(style: string, options: ComposeOptions): Compose
|
|
|
256
264
|
* it; where there is not, y is left alone rather than shifted by a guess. The
|
|
257
265
|
* horizontal fix — the one that put titles off-canvas — applies either way.
|
|
258
266
|
*/
|
|
267
|
+
export interface LayoutCollision {
|
|
268
|
+
/** The text element that runs onto a shape. */
|
|
269
|
+
text: string;
|
|
270
|
+
/** The shape it runs onto. */
|
|
271
|
+
shape: string;
|
|
272
|
+
}
|
|
273
|
+
/**
|
|
274
|
+
* Text the generator laid PARTLY over a shape (BAUHAUS-SUBTITLE).
|
|
275
|
+
*
|
|
276
|
+
* The vendored layouts scale some sizes with the width and some positions with
|
|
277
|
+
* the height, so at an aspect they were not drawn for, a line of text can land
|
|
278
|
+
* half on a shape: bauhaus at 1920x1080 puts its subtitle across the red circle.
|
|
279
|
+
* The layout is upstream's to fix (it is vendored and not edited here); this
|
|
280
|
+
* says so instead of drawing it as if it were intended. Text wholly inside a
|
|
281
|
+
* shape (a label on a card, a title in a frame) is a design, not a collision,
|
|
282
|
+
* and so is anything over a full-canvas ground.
|
|
283
|
+
*/
|
|
284
|
+
export declare function layoutCollisions(scene: ComposedScene): LayoutCollision[];
|
|
285
|
+
/**
|
|
286
|
+
* Collisions the requested SIZE made: pairs that collide in `scene` but not in
|
|
287
|
+
* the same composition at the generator's own default size. A text-over-shape
|
|
288
|
+
* the generator draws at its default (vaporwave's kanji over the sun) is the
|
|
289
|
+
* design; one that appears only when the layout is stretched to another aspect
|
|
290
|
+
* is the defect. Empty when no size was asked for.
|
|
291
|
+
*/
|
|
292
|
+
export declare function scalingCollisions(style: string, options: ComposeOptions, scene: ComposedScene): LayoutCollision[];
|
|
293
|
+
/** The first layer of a CSS text-shadow: `<dx> <dy> [<blur>] <colour>`. Null when it cannot be read. */
|
|
294
|
+
export declare function parseTextShadow(css: string): {
|
|
295
|
+
dx: number;
|
|
296
|
+
dy: number;
|
|
297
|
+
blur: number;
|
|
298
|
+
color: string;
|
|
299
|
+
} | null;
|
|
300
|
+
/** A CSS `polygon(...)` clip path over a box, as closed SVG path data in canvas coordinates. */
|
|
301
|
+
export declare function clipPolygon(css: string, x: number, y: number, w: number, h: number): {
|
|
302
|
+
pathData: string;
|
|
303
|
+
centreX: number;
|
|
304
|
+
centreY: number;
|
|
305
|
+
} | null;
|
|
306
|
+
/** Scanline period and line weight, in px: a 2 px bar every 4 px. */
|
|
307
|
+
export declare const SCANLINE_PITCH = 4;
|
|
308
|
+
export declare const SCANLINE_WEIGHT = 2;
|
|
259
309
|
export declare function sceneToOps(scene: ComposedScene): Array<Record<string, unknown>>;
|
|
260
310
|
//# sourceMappingURL=design-systems.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"design-systems.d.ts","sourceRoot":"","sources":["../../src/design/design-systems.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAIL,KAAK,gBAAgB,EACrB,KAAK,SAAS,EACd,KAAK,aAAa,EACnB,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAAiB,KAAK,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAqBnF;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,gFAAgF;IAChF,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"design-systems.d.ts","sourceRoot":"","sources":["../../src/design/design-systems.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAIL,KAAK,gBAAgB,EACrB,KAAK,SAAS,EACd,KAAK,aAAa,EACnB,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAAiB,KAAK,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAqBnF;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,gFAAgF;IAChF,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gGAAgG;IAChG,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6FAA6F;IAC7F,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,0CAA0C;IAC1C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mFAAmF;IACnF,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,QAAQ,EAAE,eAAe,EAAE,CAAC;IAC5B,gEAAgE;IAChE,YAAY,EAAE,OAAO,GAAG,QAAQ,CAAC;CAClC;AA6ED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAkCD,kFAAkF;AAClF,eAAO,MAAM,sBAAsB,QAAgC,CAAC;AAEpE;;;;;;;;;GASG;AACH,eAAO,MAAM,UAAU,EAAE,SAAS,WAAW,EAAkB,CAAC;AAWhE,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,OAAO,CAAC;IACpB,gFAAgF;IAChF,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,gDAAgD;IAChD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,wFAAwF;IACxF,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,oCAAoC;IACpC,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,sEAAsE;IACtE,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAmD7D;AAED;;;;;;GAMG;AACH,wBAAgB,UAAU,IAAI,WAAW,EAAE,CAE1C;AAED,wBAAgB,WAAW,IAAI,KAAK,CAAC;IACnC,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAC1D,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;CACvD,CAAC,CAMD;AAED,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;SAgCpE;AAED,MAAM,WAAW,WAAW;IAC1B,sFAAsF;IACtF,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,8EAA8E;IAC9E,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,aAAa;IAC5B,qEAAqE;IACrE,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,iDAAiD;IACjD,EAAE,EAAE,MAAM,CAAC;IACX,0EAA0E;IAC1E,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAmBD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,aAAa,CAAC,YAAY,CAAC,EAAE,OAAO,GAAG,aAAa,EAAE,CAyBrE;AAED,wBAAgB,WAAW,CAAC,YAAY,CAAC,EAAE,OAAO,GAAG,WAAW,EAAE,CAsBjE;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,aAAa,GAAG,IAAI,CAIpF;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,MAAM,WAAW,eAAe;IAC9B,+CAA+C;IAC/C,IAAI,EAAE,MAAM,CAAC;IACb,8BAA8B;IAC9B,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,aAAa,GAAG,eAAe,EAAE,CA4BxE;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,aAAa,GAAG,eAAe,EAAE,CAWjH;AAYD,wGAAwG;AACxG,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAa3G;AAqCD,gGAAgG;AAChG,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GACjF;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAqB9D;AAED,qEAAqE;AACrE,eAAO,MAAM,cAAc,IAAI,CAAC;AAChC,eAAO,MAAM,eAAe,IAAI,CAAC;AAejC,wBAAgB,UAAU,CAAC,KAAK,EAAE,aAAa,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAyF/E"}
|
|
@@ -69,6 +69,13 @@ function normalise(style, raw) {
|
|
|
69
69
|
width: num(e.width),
|
|
70
70
|
height: num(e.height),
|
|
71
71
|
textAlign: str(e.textAlign),
|
|
72
|
+
// Kept rather than dropped (CYBER-HUDFRAME, BAUHAUS-CIRCLE): a bauhaus
|
|
73
|
+
// circle is `type: 'shape', shapeType: 'circle'`, and a cyberpunk frame's
|
|
74
|
+
// angled corners and glow live in these keys. Absent keys stay absent.
|
|
75
|
+
...(str(e.shapeType) ? { shape: str(e.shapeType) } : {}),
|
|
76
|
+
...(str(e.clipPathAngle) ? { clipPath: str(e.clipPathAngle) } : {}),
|
|
77
|
+
...(str(e.neonGlowHex) ? { glowHex: str(e.neonGlowHex) } : {}),
|
|
78
|
+
...(str(e.textShadow) ? { textShadow: str(e.textShadow) } : {}),
|
|
72
79
|
};
|
|
73
80
|
});
|
|
74
81
|
return {
|
|
@@ -362,43 +369,185 @@ export function compose(style, options) {
|
|
|
362
369
|
return normalise(style, fn({ ...options, subtitle: options.subtitle ?? '', body: options.body ?? '' }));
|
|
363
370
|
}
|
|
364
371
|
/**
|
|
365
|
-
*
|
|
372
|
+
* Text the generator laid PARTLY over a shape (BAUHAUS-SUBTITLE).
|
|
366
373
|
*
|
|
367
|
-
*
|
|
368
|
-
*
|
|
369
|
-
*
|
|
370
|
-
*
|
|
371
|
-
*
|
|
372
|
-
*
|
|
373
|
-
*
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
374
|
+
* The vendored layouts scale some sizes with the width and some positions with
|
|
375
|
+
* the height, so at an aspect they were not drawn for, a line of text can land
|
|
376
|
+
* half on a shape: bauhaus at 1920x1080 puts its subtitle across the red circle.
|
|
377
|
+
* The layout is upstream's to fix (it is vendored and not edited here); this
|
|
378
|
+
* says so instead of drawing it as if it were intended. Text wholly inside a
|
|
379
|
+
* shape (a label on a card, a title in a frame) is a design, not a collision,
|
|
380
|
+
* and so is anything over a full-canvas ground.
|
|
381
|
+
*/
|
|
382
|
+
export function layoutCollisions(scene) {
|
|
383
|
+
const out = [];
|
|
384
|
+
const canvasArea = scene.width * scene.height;
|
|
385
|
+
const texts = scene.elements.filter((e) => e.content && e.width && e.height);
|
|
386
|
+
for (const t of texts) {
|
|
387
|
+
const tx0 = t.x, ty0 = t.y, tx1 = t.x + t.width, ty1 = t.y + t.height;
|
|
388
|
+
for (const s of scene.elements) {
|
|
389
|
+
if (s === t || (s.content !== undefined && s.content !== ''))
|
|
390
|
+
continue;
|
|
391
|
+
if (s.radius !== undefined)
|
|
392
|
+
continue; // centre-authored rings and halos: decorative by design
|
|
393
|
+
const w = s.width ?? 0, h = s.height ?? 0;
|
|
394
|
+
if (!(w > 0 && h > 0) || w * h >= 0.9 * canvasArea)
|
|
395
|
+
continue;
|
|
396
|
+
const round = s.type === 'circle' || s.shape === 'circle';
|
|
397
|
+
if (round) {
|
|
398
|
+
const cx = s.x + w / 2, cy = s.y + h / 2, rx = w / 2, ry = h / 2;
|
|
399
|
+
const inside = (px, py) => ((px - cx) / rx) ** 2 + ((py - cy) / ry) ** 2 <= 1;
|
|
400
|
+
// Nearest point of the text box to the centre decides whether they meet.
|
|
401
|
+
const nx = Math.max(tx0, Math.min(cx, tx1)), ny = Math.max(ty0, Math.min(cy, ty1));
|
|
402
|
+
const meets = inside(nx, ny);
|
|
403
|
+
const contained = inside(tx0, ty0) && inside(tx1, ty0) && inside(tx0, ty1) && inside(tx1, ty1);
|
|
404
|
+
if (meets && !contained)
|
|
405
|
+
out.push({ text: t.id, shape: s.id });
|
|
406
|
+
}
|
|
407
|
+
else {
|
|
408
|
+
const meets = tx0 < s.x + w && tx1 > s.x && ty0 < s.y + h && ty1 > s.y;
|
|
409
|
+
const contained = tx0 >= s.x && tx1 <= s.x + w && ty0 >= s.y && ty1 <= s.y + h;
|
|
410
|
+
if (meets && !contained)
|
|
411
|
+
out.push({ text: t.id, shape: s.id });
|
|
412
|
+
}
|
|
413
|
+
}
|
|
414
|
+
}
|
|
415
|
+
return out;
|
|
416
|
+
}
|
|
417
|
+
/**
|
|
418
|
+
* Collisions the requested SIZE made: pairs that collide in `scene` but not in
|
|
419
|
+
* the same composition at the generator's own default size. A text-over-shape
|
|
420
|
+
* the generator draws at its default (vaporwave's kanji over the sun) is the
|
|
421
|
+
* design; one that appears only when the layout is stretched to another aspect
|
|
422
|
+
* is the defect. Empty when no size was asked for.
|
|
401
423
|
*/
|
|
424
|
+
export function scalingCollisions(style, options, scene) {
|
|
425
|
+
if (options.width === undefined && options.height === undefined)
|
|
426
|
+
return [];
|
|
427
|
+
let reference = null;
|
|
428
|
+
try {
|
|
429
|
+
reference = compose(style, { ...options, width: undefined, height: undefined });
|
|
430
|
+
}
|
|
431
|
+
catch {
|
|
432
|
+
return [];
|
|
433
|
+
}
|
|
434
|
+
if (!reference)
|
|
435
|
+
return [];
|
|
436
|
+
const designed = new Set(layoutCollisions(reference).map((c) => `${c.text}|${c.shape}`));
|
|
437
|
+
return layoutCollisions(scene).filter((c) => !designed.has(`${c.text}|${c.shape}`));
|
|
438
|
+
}
|
|
439
|
+
/** The neon glow of an element as shadow properties: its text-shadow when it has one, else its glow colour. */
|
|
440
|
+
function glowOf(el) {
|
|
441
|
+
const ts = el.textShadow ? parseTextShadow(el.textShadow) : null;
|
|
442
|
+
if (ts)
|
|
443
|
+
return { shadowColor: ts.color, shadowBlur: ts.blur, shadowOffset: [ts.dx, ts.dy] };
|
|
444
|
+
// A glow colour with no shadow geometry upstream. 12 px is the blur the same
|
|
445
|
+
// generator gives its own glowing title (`0 0 12px`), so the frame matches it.
|
|
446
|
+
if (el.glowHex)
|
|
447
|
+
return { shadowColor: el.glowHex, shadowBlur: 12, shadowOffset: [0, 0] };
|
|
448
|
+
return {};
|
|
449
|
+
}
|
|
450
|
+
/** The first layer of a CSS text-shadow: `<dx> <dy> [<blur>] <colour>`. Null when it cannot be read. */
|
|
451
|
+
export function parseTextShadow(css) {
|
|
452
|
+
const first = splitTopLevel(css, ',')[0]?.trim();
|
|
453
|
+
if (!first)
|
|
454
|
+
return null;
|
|
455
|
+
const parts = splitTopLevel(first, ' ').filter(Boolean);
|
|
456
|
+
const lengths = [];
|
|
457
|
+
let color;
|
|
458
|
+
for (const p of parts) {
|
|
459
|
+
const m = /^(-?\d+(?:\.\d+)?)(px)?$/.exec(p);
|
|
460
|
+
if (m)
|
|
461
|
+
lengths.push(Number(m[1]));
|
|
462
|
+
else
|
|
463
|
+
color = p;
|
|
464
|
+
}
|
|
465
|
+
if (!color || lengths.length < 2)
|
|
466
|
+
return null;
|
|
467
|
+
return { dx: lengths[0], dy: lengths[1], blur: lengths[2] ?? 0, color };
|
|
468
|
+
}
|
|
469
|
+
/** Split on a separator that is not inside parentheses. */
|
|
470
|
+
function splitTopLevel(s, sep) {
|
|
471
|
+
const out = [];
|
|
472
|
+
let depth = 0;
|
|
473
|
+
let cur = '';
|
|
474
|
+
for (const ch of s) {
|
|
475
|
+
if (ch === '(')
|
|
476
|
+
depth++;
|
|
477
|
+
else if (ch === ')')
|
|
478
|
+
depth--;
|
|
479
|
+
if (ch === sep && depth === 0) {
|
|
480
|
+
out.push(cur);
|
|
481
|
+
cur = '';
|
|
482
|
+
}
|
|
483
|
+
else
|
|
484
|
+
cur += ch;
|
|
485
|
+
}
|
|
486
|
+
out.push(cur);
|
|
487
|
+
return out;
|
|
488
|
+
}
|
|
489
|
+
/** A CSS length against a reference size: `12px`, `12`, `50%`, `calc(100% - 32px)`. Null when unreadable. */
|
|
490
|
+
function cssLength(token, size) {
|
|
491
|
+
const t = token.trim();
|
|
492
|
+
const calc = /^calc\((.*)\)$/.exec(t);
|
|
493
|
+
if (calc) {
|
|
494
|
+
// Terms joined by + and -, each a length; CSS requires spaces around them.
|
|
495
|
+
const terms = calc[1].trim().split(/\s+([+-])\s+/);
|
|
496
|
+
let total = cssLength(terms[0], size);
|
|
497
|
+
for (let i = 1; total !== null && i < terms.length; i += 2) {
|
|
498
|
+
const v = cssLength(terms[i + 1] ?? '', size);
|
|
499
|
+
total = v === null ? null : terms[i] === '+' ? total + v : total - v;
|
|
500
|
+
}
|
|
501
|
+
return total;
|
|
502
|
+
}
|
|
503
|
+
const m = /^(-?\d+(?:\.\d+)?)(px|%)?$/.exec(t);
|
|
504
|
+
if (!m)
|
|
505
|
+
return null;
|
|
506
|
+
return m[2] === '%' ? (Number(m[1]) / 100) * size : Number(m[1]);
|
|
507
|
+
}
|
|
508
|
+
const round2 = (v) => Math.round(v * 100) / 100;
|
|
509
|
+
/** A CSS `polygon(...)` clip path over a box, as closed SVG path data in canvas coordinates. */
|
|
510
|
+
export function clipPolygon(css, x, y, w, h) {
|
|
511
|
+
const m = /^\s*polygon\((.*)\)\s*$/.exec(css);
|
|
512
|
+
if (!m)
|
|
513
|
+
return null;
|
|
514
|
+
const pts = [];
|
|
515
|
+
for (const pair of splitTopLevel(m[1], ',')) {
|
|
516
|
+
const xy = splitTopLevel(pair.trim(), ' ').filter(Boolean);
|
|
517
|
+
if (xy.length !== 2)
|
|
518
|
+
return null;
|
|
519
|
+
const px = cssLength(xy[0], w);
|
|
520
|
+
const py = cssLength(xy[1], h);
|
|
521
|
+
if (px === null || py === null)
|
|
522
|
+
return null;
|
|
523
|
+
pts.push([round2(x + px), round2(y + py)]);
|
|
524
|
+
}
|
|
525
|
+
if (pts.length < 3)
|
|
526
|
+
return null;
|
|
527
|
+
const xs = pts.map((p) => p[0]);
|
|
528
|
+
const ys = pts.map((p) => p[1]);
|
|
529
|
+
return {
|
|
530
|
+
pathData: 'M' + pts.map((p) => `${p[0]} ${p[1]}`).join(' L') + ' Z',
|
|
531
|
+
// The engine places path data by its bounds centre.
|
|
532
|
+
centreX: (Math.min(...xs) + Math.max(...xs)) / 2,
|
|
533
|
+
centreY: (Math.min(...ys) + Math.max(...ys)) / 2,
|
|
534
|
+
};
|
|
535
|
+
}
|
|
536
|
+
/** Scanline period and line weight, in px: a 2 px bar every 4 px. */
|
|
537
|
+
export const SCANLINE_PITCH = 4;
|
|
538
|
+
export const SCANLINE_WEIGHT = 2;
|
|
539
|
+
/** Horizontal bars over a box, as one compound path's data, centred in the box. */
|
|
540
|
+
function scanlinePath(x, y, w, h) {
|
|
541
|
+
const n = Math.max(1, Math.floor((h - SCANLINE_WEIGHT) / SCANLINE_PITCH) + 1);
|
|
542
|
+
// Centred, so the bars' bounds centre IS the box centre — the point the
|
|
543
|
+
// engine places path data by — and the overlay sits where the box was.
|
|
544
|
+
const top = y + Math.max(0, (h - ((n - 1) * SCANLINE_PITCH + SCANLINE_WEIGHT)) / 2);
|
|
545
|
+
const parts = [];
|
|
546
|
+
for (let i = 0; i < n; i++) {
|
|
547
|
+
parts.push(`M${round2(x)} ${round2(top + i * SCANLINE_PITCH)} h${round2(w)} v${SCANLINE_WEIGHT} h${round2(-w)} Z`);
|
|
548
|
+
}
|
|
549
|
+
return parts.join(' ');
|
|
550
|
+
}
|
|
402
551
|
export function sceneToOps(scene) {
|
|
403
552
|
const ops = [];
|
|
404
553
|
for (const el of scene.elements) {
|
|
@@ -428,7 +577,35 @@ export function sceneToOps(scene) {
|
|
|
428
577
|
fillColor: el.fillHex,
|
|
429
578
|
...(el.strokeHex ? { strokeColor: el.strokeHex } : {}),
|
|
430
579
|
...(el.strokeWidthPx !== undefined ? { strokeWidth: el.strokeWidthPx } : {}),
|
|
580
|
+
...glowOf(el),
|
|
431
581
|
};
|
|
582
|
+
// A SCANLINE OVERLAY IS LINES (CYBER-SCANLINES). It was a rectangle at the
|
|
583
|
+
// overlay's bounds in the overlay's colour — a flat 25% black veil over the
|
|
584
|
+
// whole poster, which is a dimmer, not scanlines. One compound path of
|
|
585
|
+
// thin horizontal bars, in that colour, over the same box.
|
|
586
|
+
if (el.type === 'scanline_overlay' && w > 0 && h > 0) {
|
|
587
|
+
ops.push({
|
|
588
|
+
type: 'path', name: el.id, pathData: scanlinePath(el.x, el.y, w, h),
|
|
589
|
+
x: el.x + w / 2, y: el.y + h / 2,
|
|
590
|
+
fillColor: el.fillHex,
|
|
591
|
+
note: el.type,
|
|
592
|
+
});
|
|
593
|
+
continue;
|
|
594
|
+
}
|
|
595
|
+
// AN ANGLED FRAME IS ITS POLYGON (CYBER-HUDFRAME). clipPathAngle carries
|
|
596
|
+
// the cut corners; a rectangle at the bounds drew them square. A polygon
|
|
597
|
+
// this cannot read keeps the rectangle rather than guessing.
|
|
598
|
+
if (!isText && el.clipPath && w > 0 && h > 0) {
|
|
599
|
+
const poly = clipPolygon(el.clipPath, el.x, el.y, w, h);
|
|
600
|
+
if (poly) {
|
|
601
|
+
ops.push({
|
|
602
|
+
type: 'path', name: el.id, ...common,
|
|
603
|
+
x: poly.centreX, y: poly.centreY, pathData: poly.pathData, closed: true,
|
|
604
|
+
note: el.type,
|
|
605
|
+
});
|
|
606
|
+
continue;
|
|
607
|
+
}
|
|
608
|
+
}
|
|
432
609
|
if (isText) {
|
|
433
610
|
ops.push({
|
|
434
611
|
type: 'text', name: el.id, ...common, content: el.content,
|
|
@@ -441,6 +618,14 @@ export function sceneToOps(scene) {
|
|
|
441
618
|
else if (el.type === 'circle' || authorsOwnCentre) {
|
|
442
619
|
ops.push({ type: 'circle', name: el.id, ...common, radius: el.radius ?? w / 2 });
|
|
443
620
|
}
|
|
621
|
+
else if (el.shape === 'circle' && w > 0 && h > 0) {
|
|
622
|
+
// BAUHAUS-CIRCLE: `type: 'shape', shapeType: 'circle'` in a box. It went
|
|
623
|
+
// to the rectangle branch and the red circle rendered as a square. The
|
|
624
|
+
// box is the circle's bounds, so its centre is the box centre (above).
|
|
625
|
+
ops.push(w === h
|
|
626
|
+
? { type: 'circle', name: el.id, ...common, radius: w / 2, note: el.shape }
|
|
627
|
+
: { type: 'ellipse', name: el.id, ...common, width: w, height: h, note: el.shape });
|
|
628
|
+
}
|
|
444
629
|
else {
|
|
445
630
|
ops.push({
|
|
446
631
|
type: 'rectangle', name: el.id, ...common,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"design-systems.js","sourceRoot":"","sources":["../../src/design/design-systems.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"design-systems.js","sourceRoot":"","sources":["../../src/design/design-systems.ts"],"names":[],"mappings":"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"}
|
|
@@ -31,6 +31,10 @@ export interface ChoreoActor {
|
|
|
31
31
|
sx: number;
|
|
32
32
|
sy: number;
|
|
33
33
|
rot: number;
|
|
34
|
+
/** The actor already has a track keying the beat properties (x, y, scale, rotation, opacity) that these beats MERGE into (B154). */
|
|
35
|
+
hasTrack?: boolean;
|
|
36
|
+
/** The radius a roll turns on: the DRAWN radius of a picture, not its box (ROLLSLIP). */
|
|
37
|
+
rollRadius?: number;
|
|
34
38
|
}
|
|
35
39
|
export interface ChoreoFrame {
|
|
36
40
|
x: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"choreograph.d.ts","sourceRoot":"","sources":["../../src/tools/choreograph.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,MAAM,WAAW,WAAW;IAC1B,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IACrB,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IACrB,EAAE,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IACvB,GAAG,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"choreograph.d.ts","sourceRoot":"","sources":["../../src/tools/choreograph.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,MAAM,WAAW,WAAW;IAC1B,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IACrB,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IACrB,EAAE,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,oIAAoI;IACpI,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,yFAAyF;IACzF,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AACD,MAAM,WAAW,WAAW;IAAG,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE;AACpF,MAAM,WAAW,WAAW;IAAG,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,KAAK,GAAG,QAAQ,GAAG,SAAS,GAAG,OAAO,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE;AAC7G,MAAM,WAAW,YAAY;IAC3B,SAAS,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACxF,kGAAkG;IAClG,MAAM,CAAC,EAAE,WAAW,EAAE,CAAC;IACvB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,CAAC;IACpD,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,YAAY,CAgO3H"}
|
|
@@ -77,7 +77,12 @@ export function compileChoreography(actor, frame, beats) {
|
|
|
77
77
|
if (firstAt > 0) {
|
|
78
78
|
const firstVerb = sorted[0].b.verb;
|
|
79
79
|
const isEntrance = firstVerb === 'enter' || firstVerb === 'pop' || firstVerb === 'peek';
|
|
80
|
-
|
|
80
|
+
// A hold key at 0 pins the actor where it starts. Merged into a track
|
|
81
|
+
// the actor already has, that key OVERWRITES the existing track's key
|
|
82
|
+
// at 0 (B154 / HOOKCLOCK3: the first move jumped to the second call's
|
|
83
|
+
// start), so it is only written when no track keys those properties
|
|
84
|
+
// (a colour-only track still gets it, B109).
|
|
85
|
+
if (!isEntrance && !actor.hasTrack) {
|
|
81
86
|
key(0, 'linear');
|
|
82
87
|
}
|
|
83
88
|
}
|
|
@@ -219,7 +224,10 @@ export function compileChoreography(actor, frame, beats) {
|
|
|
219
224
|
s.x = to.x;
|
|
220
225
|
s.y = to.y;
|
|
221
226
|
// Rolling without slipping: angle = distance / radius; y-down, so rolling right turns clockwise (+).
|
|
222
|
-
|
|
227
|
+
// The drawn radius when the studio measured one (a disc on a PNG with a
|
|
228
|
+
// margin rolled by its half-box and slid 9.1%, ROLLSLIP); else the box.
|
|
229
|
+
const rr = actor.rollRadius && actor.rollRadius > 0 ? actor.rollRadius : h / 2;
|
|
230
|
+
s.rot += (dist / Math.max(1, rr)) * (180 / Math.PI);
|
|
223
231
|
key(t + d, 'easeInOut');
|
|
224
232
|
t += d;
|
|
225
233
|
}
|