@nodetool-ai/gpu 0.8.1 → 0.8.2

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.
@@ -1 +1 @@
1
- 2026-09-28T09:19:03.821Z
1
+ 2026-10-12T08:37:05.790Z
@@ -50,18 +50,24 @@ export declare const BLEND_MODES: readonly {
50
50
  /** All canonical blend-mode values in display order (literal tuple). */
51
51
  export declare const BLEND_MODE_VALUES: readonly ["normal", "multiply", "screen", "overlay", "darken", "lighten", "color-dodge", "color-burn", "hard-light", "soft-light", "difference", "exclusion", "add"];
52
52
  /**
53
- * Coerce an arbitrary input to a canonical {@link BlendMode}. Unknown values
53
+ * What a persisted `blendMode` field can hold: a canonical {@link BlendMode},
54
+ * the legacy `"over"` alias, a stray string (a data URL that leaked into UI
55
+ * state), or nothing.
56
+ */
57
+ export type PersistedBlendMode = string | undefined;
58
+ /**
59
+ * Coerce a persisted value to a canonical {@link BlendMode}. Unknown values
54
60
  * (including stray data URLs that can leak into persisted UI state) fall back
55
61
  * to `"normal"`. Accepts the legacy `"over"` alias.
56
62
  */
57
- export declare function coerceBlendMode(value: unknown): BlendMode;
63
+ export declare function coerceBlendMode(value: PersistedBlendMode): BlendMode;
58
64
  /**
59
65
  * Numeric id for the WGSL `applyBlendMode` switch. Takes a persisted value
60
66
  * (canonical, legacy alias, or junk); anything unrecognized blends as normal.
61
67
  */
62
- export declare function blendModeGpuId(value: unknown): number;
68
+ export declare function blendModeGpuId(value: PersistedBlendMode): number;
63
69
  /** Canvas2D `globalCompositeOperation` for a persisted blend mode. */
64
- export declare function blendModeToCanvasOp(value: unknown): CanvasCompositeOp;
70
+ export declare function blendModeToCanvasOp(value: PersistedBlendMode): CanvasCompositeOp;
65
71
  /** Sharp/libvips `blend` string for a persisted blend mode. */
66
- export declare function blendModeToSharpBlend(value: unknown): string;
72
+ export declare function blendModeToSharpBlend(value: PersistedBlendMode): string;
67
73
  //# sourceMappingURL=blendModes.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"blendModes.d.ts","sourceRoot":"","sources":["../../src/blend/blendModes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EACL,gBAAgB,EAChB,KAAK,SAAS,EACf,MAAM,mCAAmC,CAAC;AAE3C,OAAO,EAAE,gBAAgB,EAAE,KAAK,SAAS,EAAE,CAAC;AAE5C;;;;;GAKG;AACH,MAAM,MAAM,iBAAiB,GACzB,aAAa,GACb,UAAU,GACV,QAAQ,GACR,SAAS,GACT,QAAQ,GACR,SAAS,GACT,aAAa,GACb,YAAY,GACZ,YAAY,GACZ,YAAY,GACZ,YAAY,GACZ,WAAW,GACX,SAAS,CAAC;AAEd,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,SAAS,CAAC;IACjB,6CAA6C;IAC7C,KAAK,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,KAAK,EAAE,MAAM,CAAC;IACd,sDAAsD;IACtD,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,gEAAgE;IAChE,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;GAGG;AACH,eAAO,MAAM,gBAAgB,EAAE,SAAS,aAAa,EAc3C,CAAC;AAEX,sEAAsE;AACtE,eAAO,MAAM,WAAW,EAAE,SAAS;IAAE,KAAK,EAAE,SAAS,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,EACN,CAAC;AAEjE,wEAAwE;AACxE,eAAO,MAAM,iBAAiB,sKAAmB,CAAC;AAqBlD;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,CAEzD;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAErD;AAED,sEAAsE;AACtE,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,iBAAiB,CAErE;AAED,+DAA+D;AAC/D,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAE5D"}
1
+ {"version":3,"file":"blendModes.d.ts","sourceRoot":"","sources":["../../src/blend/blendModes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EACL,gBAAgB,EAChB,KAAK,SAAS,EACf,MAAM,mCAAmC,CAAC;AAE3C,OAAO,EAAE,gBAAgB,EAAE,KAAK,SAAS,EAAE,CAAC;AAE5C;;;;;GAKG;AACH,MAAM,MAAM,iBAAiB,GACzB,aAAa,GACb,UAAU,GACV,QAAQ,GACR,SAAS,GACT,QAAQ,GACR,SAAS,GACT,aAAa,GACb,YAAY,GACZ,YAAY,GACZ,YAAY,GACZ,YAAY,GACZ,WAAW,GACX,SAAS,CAAC;AAEd,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,SAAS,CAAC;IACjB,6CAA6C;IAC7C,KAAK,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,KAAK,EAAE,MAAM,CAAC;IACd,sDAAsD;IACtD,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,gEAAgE;IAChE,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;GAGG;AACH,eAAO,MAAM,gBAAgB,EAAE,SAAS,aAAa,EAc3C,CAAC;AAEX,sEAAsE;AACtE,eAAO,MAAM,WAAW,EAAE,SAAS;IAAE,KAAK,EAAE,SAAS,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,EACN,CAAC;AAEjE,wEAAwE;AACxE,eAAO,MAAM,iBAAiB,sKAAmB,CAAC;AAMlD;;;;GAIG;AACH,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG,SAAS,CAAC;AAcpD;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,kBAAkB,GAAG,SAAS,CAEpE;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,kBAAkB,GAAG,MAAM,CAEhE;AAED,sEAAsE;AACtE,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,kBAAkB,GAAG,iBAAiB,CAEhF;AAED,+DAA+D;AAC/D,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,kBAAkB,GAAG,MAAM,CAEvE"}
@@ -44,10 +44,7 @@ const INFO_BY_VALUE = new Map(BLEND_MODE_INFOS.map((info) => [info.value, info])
44
44
  * Every persisted spelling of a blend mode, mapped to its canonical value:
45
45
  * each canonical value itself, plus the legacy aliases — the Compositor image
46
46
  * node historically stored `"over"` (the libvips name) for normal blending.
47
- *
48
- * Keyed by `unknown` so a persisted value that is not a blend-mode string at
49
- * all (a number, an object, a stray data URL that leaked into UI state) simply
50
- * misses the lookup instead of needing a representation check first.
47
+ * A value that is not in the table simply misses the lookup.
51
48
  */
52
49
  const CANONICAL_BY_PERSISTED_VALUE = new Map();
53
50
  for (const info of BLEND_MODE_INFOS) {
@@ -55,7 +52,7 @@ for (const info of BLEND_MODE_INFOS) {
55
52
  }
56
53
  CANONICAL_BY_PERSISTED_VALUE.set("over", "normal");
57
54
  /**
58
- * Coerce an arbitrary input to a canonical {@link BlendMode}. Unknown values
55
+ * Coerce a persisted value to a canonical {@link BlendMode}. Unknown values
59
56
  * (including stray data URLs that can leak into persisted UI state) fall back
60
57
  * to `"normal"`. Accepts the legacy `"over"` alias.
61
58
  */
@@ -1 +1 @@
1
- {"version":3,"file":"blendModes.js","sourceRoot":"","sources":["../../src/blend/blendModes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"blendModes.js","sourceRoot":"","sources":["../../src/blend/blendModes.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nodetool-ai/gpu",
3
- "version": "0.8.1",
3
+ "version": "0.8.2",
4
4
  "description": "Canonical blend-mode catalog and shared WGSL blend functions for NodeTool compositors (sketch, timeline, Compositor node)",
5
5
  "type": "module",
6
6
  "engines": {
@@ -15,7 +15,7 @@
15
15
  "lint": "node ../../scripts/run-tsc.mjs --noEmit"
16
16
  },
17
17
  "dependencies": {
18
- "@nodetool-ai/protocol": "^0.8.1",
18
+ "@nodetool-ai/protocol": "^0.8.2",
19
19
  "typegpu": "^0.11.6"
20
20
  },
21
21
  "optionalDependencies": {