@workglow/util 0.2.17 → 0.2.19
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/dist/browser.js +33 -2
- package/dist/browser.js.map +5 -4
- package/dist/bun.js +33 -2
- package/dist/bun.js.map +5 -4
- package/dist/di/Container.d.ts +0 -3
- package/dist/di/Container.d.ts.map +1 -1
- package/dist/di/PortCodecRegistry.d.ts +14 -0
- package/dist/di/PortCodecRegistry.d.ts.map +1 -0
- package/dist/di/index.d.ts +1 -0
- package/dist/di/index.d.ts.map +1 -1
- package/dist/media/color.d.ts +3 -3
- package/dist/media/color.d.ts.map +1 -1
- package/dist/media/cpuImage.d.ts +29 -0
- package/dist/media/cpuImage.d.ts.map +1 -0
- package/dist/media/encode.d.ts +11 -0
- package/dist/media/encode.d.ts.map +1 -0
- package/dist/media/filterRegistry.d.ts +13 -0
- package/dist/media/filterRegistry.d.ts.map +1 -0
- package/dist/media/gpuDevice.browser.d.ts +8 -0
- package/dist/media/gpuDevice.browser.d.ts.map +1 -0
- package/dist/media/gpuImage.d.ts +50 -0
- package/dist/media/gpuImage.d.ts.map +1 -0
- package/dist/media/gpuImageSchema.d.ts +8 -0
- package/dist/media/gpuImageSchema.d.ts.map +1 -0
- package/dist/media/imageCacheCodec.d.ts +9 -0
- package/dist/media/imageCacheCodec.d.ts.map +1 -0
- package/dist/media/imageHydrationResolver.d.ts +2 -0
- package/dist/media/imageHydrationResolver.d.ts.map +1 -0
- package/dist/media/imageRasterCodecRegistry.d.ts.map +1 -1
- package/dist/media/previewBudget.d.ts +23 -0
- package/dist/media/previewBudget.d.ts.map +1 -0
- package/dist/media/shaderRegistry.browser.d.ts +13 -0
- package/dist/media/shaderRegistry.browser.d.ts.map +1 -0
- package/dist/media/sharpImage.bun.d.ts +7 -0
- package/dist/media/sharpImage.bun.d.ts.map +1 -0
- package/dist/media/sharpImage.node.d.ts +93 -0
- package/dist/media/sharpImage.node.d.ts.map +1 -0
- package/dist/media/texturePool.browser.d.ts +17 -0
- package/dist/media/texturePool.browser.d.ts.map +1 -0
- package/dist/media/webGpuImage.browser.d.ts +40 -0
- package/dist/media/webGpuImage.browser.d.ts.map +1 -0
- package/dist/media-browser.d.ts +18 -3
- package/dist/media-browser.d.ts.map +1 -1
- package/dist/media-browser.js +850 -404
- package/dist/media-browser.js.map +21 -7
- package/dist/media-node.d.ts +21 -2
- package/dist/media-node.d.ts.map +1 -1
- package/dist/media-node.js +695 -312
- package/dist/media-node.js.map +20 -6
- package/dist/node.js +33 -2
- package/dist/node.js.map +5 -4
- package/dist/worker-browser.js +33 -2
- package/dist/worker-browser.js.map +5 -4
- package/dist/worker-bun.js +33 -2
- package/dist/worker-bun.js.map +5 -4
- package/dist/worker-node.js +33 -2
- package/dist/worker-node.js.map +5 -4
- package/package.json +4 -1
- package/dist/media/Image.browser.d.ts +0 -24
- package/dist/media/Image.browser.d.ts.map +0 -1
- package/dist/media/Image.d.ts +0 -100
- package/dist/media/Image.d.ts.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gpuImage.d.ts","sourceRoot":"","sources":["../../src/media/gpuImage.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE/D,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,OAAO,GAAG,KAAK,CAAC;AACzD,MAAM,MAAM,oBAAoB,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,CAAC;AAE3D,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC;IACjC,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC;IAClC;;;6EAGyE;IACzE,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,WAAW,IAAI,OAAO,CAAC,WAAW,CAAC,CAAC;IACpC,QAAQ,CAAC,MAAM,EAAE,iBAAiB,GAAG,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACrE,MAAM,CAAC,MAAM,EAAE,oBAAoB,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAC5E;;;;OAIG;IACH,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB;;;;OAIG;IACH,OAAO,IAAI,IAAI,CAAC;CACjB;AAED,MAAM,WAAW,cAAc;IAC7B,eAAe,CAAC,GAAG,EAAE,WAAW,GAAG,QAAQ,CAAC;IAC5C,oBAAoB,CAAC,CAAC,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC3D,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IAChD,QAAQ,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IACxC,eAAe,CAAC,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;CAC1D;AAaD,wBAAgB,uBAAuB,CAAC,CAAC,SAAS,MAAM,cAAc,EACpE,GAAG,EAAE,CAAC,EACN,EAAE,EAAE,cAAc,CAAC,CAAC,CAAC,GACpB,IAAI,CAEN;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,MAAM,cAAc,EAC/D,GAAG,EAAE,CAAC,GACL,cAAc,CAAC,CAAC,CAAC,GAAG,SAAS,CAG/B;AAED,eAAO,MAAM,QAAQ,EAAE,cASrB,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @copyright
|
|
3
|
+
* Copyright 2026 Steven Roussey
|
|
4
|
+
* All Rights Reserved
|
|
5
|
+
*/
|
|
6
|
+
import type { DataPortSchema } from "../json-schema/DataPortSchema";
|
|
7
|
+
export declare function GpuImageSchema(annotations?: Record<string, unknown>): DataPortSchema;
|
|
8
|
+
//# sourceMappingURL=gpuImageSchema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gpuImageSchema.d.ts","sourceRoot":"","sources":["../../src/media/gpuImageSchema.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAEpE,wBAAgB,cAAc,CAAC,WAAW,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GAAG,cAAc,CAyBxF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"imageCacheCodec.d.ts","sourceRoot":"","sources":["../../src/media/imageCacheCodec.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAe,aAAa,EAAE,MAAM,cAAc,CAAC;AAE/D,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,cAAc,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,aAAa,CAAC;IACxB,IAAI,EAAE,iBAAiB,CAAC;CACzB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"imageHydrationResolver.d.ts","sourceRoot":"","sources":["../../src/media/imageHydrationResolver.ts"],"names":[],"mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"imageRasterCodecRegistry.d.ts","sourceRoot":"","sources":["../../src/media/imageRasterCodecRegistry.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEhD,MAAM,WAAW,gBAAgB;IAC/B,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IACrD,aAAa,CAAC,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CACtE;
|
|
1
|
+
{"version":3,"file":"imageRasterCodecRegistry.d.ts","sourceRoot":"","sources":["../../src/media/imageRasterCodecRegistry.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEhD,MAAM,WAAW,gBAAgB;IAC/B,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IACrD,aAAa,CAAC,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CACtE;AAeD,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,gBAAgB,GAAG,IAAI,CAErE;AAED,wBAAgB,mBAAmB,IAAI,gBAAgB,CAOtD"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @copyright
|
|
3
|
+
* Copyright 2026 Steven Roussey
|
|
4
|
+
* All Rights Reserved
|
|
5
|
+
*/
|
|
6
|
+
import type { GpuImage } from "./gpuImage";
|
|
7
|
+
export type PreviewResizeFn = (image: GpuImage, w: number, h: number) => GpuImage;
|
|
8
|
+
export declare function registerPreviewResizeFn(fn: PreviewResizeFn): void;
|
|
9
|
+
export declare function getPreviewBudget(): number;
|
|
10
|
+
export declare function setPreviewBudget(px: number): void;
|
|
11
|
+
/**
|
|
12
|
+
* Scale-then-effect entry for `executePreview`. Returns a downscaled image
|
|
13
|
+
* when the input's longer edge exceeds the budget AND the backend benefits
|
|
14
|
+
* (webgpu only). Otherwise returns the input unchanged — referential
|
|
15
|
+
* equality is the signal to callers that no transient was created.
|
|
16
|
+
*
|
|
17
|
+
* Calling code that wants downscale must call `registerPreviewResizeFn` at
|
|
18
|
+
* startup with a callback that performs the resize (typically routed through
|
|
19
|
+
* @workglow/tasks's applyFilter). Without registration, previewSource is
|
|
20
|
+
* a no-op even on webgpu inputs.
|
|
21
|
+
*/
|
|
22
|
+
export declare function previewSource(image: GpuImage): GpuImage;
|
|
23
|
+
//# sourceMappingURL=previewBudget.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"previewBudget.d.ts","sourceRoot":"","sources":["../../src/media/previewBudget.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAiB3C,MAAM,MAAM,eAAe,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,QAAQ,CAAC;AAQlF,wBAAgB,uBAAuB,CAAC,EAAE,EAAE,eAAe,GAAG,IAAI,CAEjE;AAMD,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC;AAED,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAKjD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,QAAQ,GAAG,QAAQ,CAcvD"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @copyright
|
|
3
|
+
* Copyright 2026 Steven Roussey
|
|
4
|
+
* All Rights Reserved
|
|
5
|
+
*/
|
|
6
|
+
export declare const VERTEX_PRELUDE = "\n@group(0) @binding(0) var src: texture_2d<f32>;\n@group(0) @binding(1) var src_sampler: sampler;\n\nstruct VsOut {\n @builtin(position) pos: vec4f,\n @location(0) uv: vec2f,\n};\n\n@vertex\nfn vs(@builtin(vertex_index) vid: u32) -> VsOut {\n let xy = vec2f(f32((vid << 1u) & 2u), f32(vid & 2u));\n var out: VsOut;\n out.pos = vec4f(xy * 2.0 - 1.0, 0.0, 1.0);\n out.uv = vec2f(xy.x, 1.0 - xy.y);\n return out;\n}";
|
|
7
|
+
export declare const PASSTHROUGH_SHADER_SRC = "\n@group(0) @binding(0) var src: texture_2d<f32>;\n@group(0) @binding(1) var src_sampler: sampler;\n\nstruct VsOut {\n @builtin(position) pos: vec4f,\n @location(0) uv: vec2f,\n};\n\n@vertex\nfn vs(@builtin(vertex_index) vid: u32) -> VsOut {\n let xy = vec2f(f32((vid << 1u) & 2u), f32(vid & 2u));\n var out: VsOut;\n out.pos = vec4f(xy * 2.0 - 1.0, 0.0, 1.0);\n out.uv = vec2f(xy.x, 1.0 - xy.y);\n return out;\n}\n@fragment\nfn fs(in: VsOut) -> @location(0) vec4f {\n return textureSample(src, src_sampler, in.uv);\n}\n";
|
|
8
|
+
export interface ShaderCache {
|
|
9
|
+
get(source: string): GPUShaderModule;
|
|
10
|
+
}
|
|
11
|
+
export declare function createShaderCache(device: GPUDevice): ShaderCache;
|
|
12
|
+
export declare function getShaderCache(device: GPUDevice): ShaderCache;
|
|
13
|
+
//# sourceMappingURL=shaderRegistry.browser.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shaderRegistry.browser.d.ts","sourceRoot":"","sources":["../../src/media/shaderRegistry.browser.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,eAAO,MAAM,cAAc,0aAgBzB,CAAC;AAGH,eAAO,MAAM,sBAAsB,shBAKlC,CAAC;AAEF,MAAM,WAAW,WAAW;IAC1B,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,eAAe,CAAC;CACtC;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,GAAG,WAAW,CAYhE;AAID,wBAAgB,cAAc,CAAC,MAAM,EAAE,SAAS,GAAG,WAAW,CAK7D"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sharpImage.bun.d.ts","sourceRoot":"","sources":["../../src/media/sharpImage.bun.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,cAAc,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @copyright
|
|
3
|
+
* Copyright 2026 Steven Roussey
|
|
4
|
+
* All Rights Reserved
|
|
5
|
+
*/
|
|
6
|
+
import type { ImageBinary, ImageChannels } from "./imageTypes";
|
|
7
|
+
import type { GpuImage as IGpuImage, GpuImageEncodeFormat } from "./gpuImage";
|
|
8
|
+
type Sharp = {
|
|
9
|
+
clone(): Sharp;
|
|
10
|
+
flip(): Sharp;
|
|
11
|
+
flop(): Sharp;
|
|
12
|
+
blur(sigma: number): Sharp;
|
|
13
|
+
grayscale(grayscale?: boolean): Sharp;
|
|
14
|
+
negate(options?: {
|
|
15
|
+
alpha?: boolean;
|
|
16
|
+
}): Sharp;
|
|
17
|
+
recomb(matrix: number[][]): Sharp;
|
|
18
|
+
linear(a: number, b: number): Sharp;
|
|
19
|
+
threshold(threshold: number, options?: {
|
|
20
|
+
grayscale?: boolean;
|
|
21
|
+
}): Sharp;
|
|
22
|
+
tint(rgb: {
|
|
23
|
+
r: number;
|
|
24
|
+
g: number;
|
|
25
|
+
b: number;
|
|
26
|
+
}): Sharp;
|
|
27
|
+
ensureAlpha(alpha?: number): Sharp;
|
|
28
|
+
extend(options: {
|
|
29
|
+
top?: number;
|
|
30
|
+
bottom?: number;
|
|
31
|
+
left?: number;
|
|
32
|
+
right?: number;
|
|
33
|
+
background?: unknown;
|
|
34
|
+
}): Sharp;
|
|
35
|
+
extract(region: {
|
|
36
|
+
left: number;
|
|
37
|
+
top: number;
|
|
38
|
+
width: number;
|
|
39
|
+
height: number;
|
|
40
|
+
}): Sharp;
|
|
41
|
+
rotate(angle?: number, options?: {
|
|
42
|
+
background?: unknown;
|
|
43
|
+
}): Sharp;
|
|
44
|
+
resize(width?: number | null, height?: number | null, options?: {
|
|
45
|
+
kernel?: string;
|
|
46
|
+
fit?: string;
|
|
47
|
+
background?: unknown;
|
|
48
|
+
}): Sharp;
|
|
49
|
+
raw(): Sharp;
|
|
50
|
+
png(opts?: unknown): Sharp;
|
|
51
|
+
jpeg(opts?: unknown): Sharp;
|
|
52
|
+
webp(opts?: unknown): Sharp;
|
|
53
|
+
metadata(): Promise<{
|
|
54
|
+
width?: number;
|
|
55
|
+
height?: number;
|
|
56
|
+
channels?: number;
|
|
57
|
+
}>;
|
|
58
|
+
toBuffer(opts?: unknown): Promise<Buffer | {
|
|
59
|
+
data: Buffer;
|
|
60
|
+
info: {
|
|
61
|
+
width: number;
|
|
62
|
+
height: number;
|
|
63
|
+
channels: number;
|
|
64
|
+
};
|
|
65
|
+
}>;
|
|
66
|
+
};
|
|
67
|
+
export declare class SharpImage implements IGpuImage {
|
|
68
|
+
private pipeline;
|
|
69
|
+
readonly width: number;
|
|
70
|
+
readonly height: number;
|
|
71
|
+
readonly channels: ImageChannels;
|
|
72
|
+
readonly backend: "sharp";
|
|
73
|
+
private _previewScale;
|
|
74
|
+
private constructor();
|
|
75
|
+
get previewScale(): number;
|
|
76
|
+
/** @internal — only previewSource and ImageTextTask.executePreview (without-
|
|
77
|
+
* background source case) may call this. */
|
|
78
|
+
_setPreviewScale(scale: number): this;
|
|
79
|
+
static fromImageBinary(bin: ImageBinary, previewScale?: number): Promise<SharpImage>;
|
|
80
|
+
static fromBuffer(buf: Buffer): Promise<SharpImage>;
|
|
81
|
+
apply(op: (p: Sharp) => Sharp, outSize?: {
|
|
82
|
+
width: number;
|
|
83
|
+
height: number;
|
|
84
|
+
channels?: ImageChannels;
|
|
85
|
+
}): SharpImage;
|
|
86
|
+
materialize(): Promise<ImageBinary>;
|
|
87
|
+
toCanvas(_canvas: HTMLCanvasElement | OffscreenCanvas): Promise<void>;
|
|
88
|
+
encode(format: GpuImageEncodeFormat, quality?: number): Promise<Uint8Array>;
|
|
89
|
+
retain(_n?: number): this;
|
|
90
|
+
release(): void;
|
|
91
|
+
}
|
|
92
|
+
export {};
|
|
93
|
+
//# sourceMappingURL=sharpImage.node.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sharpImage.node.d.ts","sourceRoot":"","sources":["../../src/media/sharpImage.node.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @copyright
|
|
3
|
+
* Copyright 2026 Steven Roussey
|
|
4
|
+
* All Rights Reserved
|
|
5
|
+
*/
|
|
6
|
+
export interface TexturePoolOptions {
|
|
7
|
+
capacityPerSize?: number;
|
|
8
|
+
}
|
|
9
|
+
export interface TexturePool {
|
|
10
|
+
acquire(width: number, height: number, format: GPUTextureFormat): GPUTexture;
|
|
11
|
+
release(texture: GPUTexture): void;
|
|
12
|
+
drain(): void;
|
|
13
|
+
}
|
|
14
|
+
export declare function createTexturePool(device: GPUDevice, opts?: TexturePoolOptions): TexturePool;
|
|
15
|
+
export declare function getTexturePool(device: GPUDevice): TexturePool;
|
|
16
|
+
export declare function resetTexturePoolForTests(): void;
|
|
17
|
+
//# sourceMappingURL=texturePool.browser.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"texturePool.browser.d.ts","sourceRoot":"","sources":["../../src/media/texturePool.browser.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,WAAW,kBAAkB;IACjC,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB,GAAG,UAAU,CAAC;IAC7E,OAAO,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI,CAAC;IACnC,KAAK,IAAI,IAAI,CAAC;CACf;AAaD,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,GAAE,kBAAuB,GAAG,WAAW,CAuD/F;AAID,wBAAgB,cAAc,CAAC,MAAM,EAAE,SAAS,GAAG,WAAW,CAM7D;AAED,wBAAgB,wBAAwB,IAAI,IAAI,CAG/C"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @copyright
|
|
3
|
+
* Copyright 2026 Steven Roussey
|
|
4
|
+
* All Rights Reserved
|
|
5
|
+
*/
|
|
6
|
+
import type { ImageBinary, ImageChannels } from "./imageTypes";
|
|
7
|
+
import type { GpuImage as IGpuImage, GpuImageEncodeFormat } from "./gpuImage";
|
|
8
|
+
export interface ApplyParams {
|
|
9
|
+
shader: string;
|
|
10
|
+
uniforms: ArrayBuffer | undefined;
|
|
11
|
+
outSize?: {
|
|
12
|
+
width: number;
|
|
13
|
+
height: number;
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
export declare class WebGpuImage implements IGpuImage {
|
|
17
|
+
private device;
|
|
18
|
+
private texture;
|
|
19
|
+
readonly width: number;
|
|
20
|
+
readonly height: number;
|
|
21
|
+
readonly backend: "webgpu";
|
|
22
|
+
readonly channels: ImageChannels;
|
|
23
|
+
/** Internal refcount. Initialized to 1 in fromImageBinary/apply. Reclaim at 0. */
|
|
24
|
+
private refcount;
|
|
25
|
+
private _previewScale;
|
|
26
|
+
private constructor();
|
|
27
|
+
get previewScale(): number;
|
|
28
|
+
/** @internal — only previewSource and ImageTextTask.executePreview (without-
|
|
29
|
+
* background source case) may call this. Mutates previewScale on this
|
|
30
|
+
* instance and returns this for chaining. */
|
|
31
|
+
_setPreviewScale(scale: number): this;
|
|
32
|
+
static fromImageBinary(bin: ImageBinary): Promise<WebGpuImage>;
|
|
33
|
+
apply(params: ApplyParams): WebGpuImage;
|
|
34
|
+
materialize(): Promise<ImageBinary>;
|
|
35
|
+
toCanvas(canvas: HTMLCanvasElement | OffscreenCanvas): Promise<void>;
|
|
36
|
+
encode(format: GpuImageEncodeFormat, quality?: number): Promise<Uint8Array>;
|
|
37
|
+
retain(n?: number): this;
|
|
38
|
+
release(): void;
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=webGpuImage.browser.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"webGpuImage.browser.d.ts","sourceRoot":"","sources":["../../src/media/webGpuImage.browser.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC/D,OAAO,KAAK,EAAE,QAAQ,IAAI,SAAS,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAa9E,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,WAAW,GAAG,SAAS,CAAC;IAClC,OAAO,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CAC7C;AA6BD,qBAAa,WAAY,YAAW,SAAS;IAUzC,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,OAAO;IACf,QAAQ,CAAC,KAAK,EAAE,MAAM;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM;IAZzB,QAAQ,CAAC,OAAO,EAAG,QAAQ,CAAU;IACrC,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAK;IAErC,kFAAkF;IAClF,OAAO,CAAC,QAAQ,CAAK;IAErB,OAAO,CAAC,aAAa,CAAS;IAE9B,OAAO,eAeN;IAED,IAAI,YAAY,IAAI,MAAM,CAEzB;IAED;;kDAE8C;IAC9C,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAGpC;IAED,OAAa,eAAe,CAAC,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAYnE;IAED,KAAK,CAAC,MAAM,EAAE,WAAW,GAAG,WAAW,CAkDtC;IAEK,WAAW,IAAI,OAAO,CAAC,WAAW,CAAC,CA4BxC;IAEK,QAAQ,CAAC,MAAM,EAAE,iBAAiB,GAAG,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAkCzE;IAEK,MAAM,CAAC,MAAM,EAAE,oBAAoB,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAWhF;IAED,MAAM,CAAC,CAAC,GAAE,MAAU,GAAG,IAAI,CAM1B;IAED,OAAO,IAAI,IAAI,CAYd;CACF"}
|
package/dist/media-browser.d.ts
CHANGED
|
@@ -3,10 +3,25 @@
|
|
|
3
3
|
* Copyright 2025 Steven Roussey <sroussey@gmail.com>
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
-
|
|
6
|
+
import "./media/imageCacheCodec";
|
|
7
|
+
import "./media/imageHydrationResolver";
|
|
7
8
|
export * from "./media/color";
|
|
9
|
+
export { CpuImage } from "./media/cpuImage";
|
|
10
|
+
export { encodeImageBinaryToPng, imageBinaryToBase64Png, imageBinaryToBlob, imageBinaryToDataUri, } from "./media/encode";
|
|
11
|
+
export { _resetFilterRegistryForTests, applyFilter, hasFilterOp, registerFilterOp, } from "./media/filterRegistry";
|
|
12
|
+
export type { FilterOpFn } from "./media/filterRegistry";
|
|
13
|
+
export { getGpuDevice, resetGpuDeviceForTests } from "./media/gpuDevice.browser";
|
|
14
|
+
export { getGpuImageFactory, GpuImage as GpuImageFactory, registerGpuImageFactory, } from "./media/gpuImage";
|
|
15
|
+
export type { GpuImage, GpuImageBackend, GpuImageEncodeFormat, GpuImageStatic, } from "./media/gpuImage";
|
|
16
|
+
export { GpuImageSchema } from "./media/gpuImageSchema";
|
|
8
17
|
export * from "./media/imageRasterCodecRegistry";
|
|
18
|
+
export * from "./media/imageTypes";
|
|
9
19
|
export * from "./media/MediaRawImage";
|
|
10
|
-
export
|
|
11
|
-
export
|
|
20
|
+
export { getPreviewBudget, previewSource, registerPreviewResizeFn, setPreviewBudget, } from "./media/previewBudget";
|
|
21
|
+
export { createShaderCache, getShaderCache, PASSTHROUGH_SHADER_SRC, VERTEX_PRELUDE, } from "./media/shaderRegistry.browser";
|
|
22
|
+
export type { ShaderCache } from "./media/shaderRegistry.browser";
|
|
23
|
+
export { createTexturePool, getTexturePool, resetTexturePoolForTests, } from "./media/texturePool.browser";
|
|
24
|
+
export type { TexturePool, TexturePoolOptions } from "./media/texturePool.browser";
|
|
25
|
+
export { WebGpuImage } from "./media/webGpuImage.browser";
|
|
26
|
+
export type { ApplyParams } from "./media/webGpuImage.browser";
|
|
12
27
|
//# sourceMappingURL=media-browser.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"media-browser.d.ts","sourceRoot":"","sources":["../src/media-browser.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,
|
|
1
|
+
{"version":3,"file":"media-browser.d.ts","sourceRoot":"","sources":["../src/media-browser.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,yBAAyB,CAAC;AACjC,OAAO,gCAAgC,CAAC;AAExC,cAAc,eAAe,CAAC;AAC9B,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EACL,sBAAsB,EACtB,sBAAsB,EACtB,iBAAiB,EACjB,oBAAoB,GACrB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,4BAA4B,EAC5B,WAAW,EACX,WAAW,EACX,gBAAgB,GACjB,MAAM,wBAAwB,CAAC;AAChC,YAAY,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACjF,OAAO,EACL,kBAAkB,EAClB,QAAQ,IAAI,eAAe,EAC3B,uBAAuB,GACxB,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EACV,QAAQ,EACR,eAAe,EACf,oBAAoB,EACpB,cAAc,GACf,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,cAAc,kCAAkC,CAAC;AACjD,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,OAAO,EACL,gBAAgB,EAChB,aAAa,EACb,uBAAuB,EACvB,gBAAgB,GACjB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,iBAAiB,EACjB,cAAc,EACd,sBAAsB,EACtB,cAAc,GACf,MAAM,gCAAgC,CAAC;AACxC,YAAY,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EACL,iBAAiB,EACjB,cAAc,EACd,wBAAwB,GACzB,MAAM,6BAA6B,CAAC;AACrC,YAAY,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACnF,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,YAAY,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC"}
|