@flighthq/bitmap-wasm 0.4.0
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/LICENSE.md +9 -0
- package/README.md +43 -0
- package/dist/bitmapWasm.d.ts +41 -0
- package/dist/bitmapWasm.d.ts.map +1 -0
- package/dist/bitmapWasm.js +204 -0
- package/dist/bitmapWasm.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +7 -0
- package/dist/index.js.map +1 -0
- package/dist/wasm/bitmapWasmBytes.d.ts +2 -0
- package/dist/wasm/bitmapWasmBytes.d.ts.map +1 -0
- package/dist/wasm/bitmapWasmBytes.js +15 -0
- package/dist/wasm/bitmapWasmBytes.js.map +1 -0
- package/dist/wasm/bitmap_wasm.d.ts +136 -0
- package/dist/wasm/bitmap_wasm.js +760 -0
- package/package.json +56 -0
- package/src/bitmapWasm.test.ts +210 -0
package/LICENSE.md
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
# MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2013-2026 Joshua Granick and other contributors
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
|
6
|
+
|
|
7
|
+
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
|
8
|
+
|
|
9
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
# @flighthq/bitmap-wasm
|
|
2
|
+
|
|
3
|
+
A wasm-backed drop-in for [`@flighthq/bitmap`](https://www.npmjs.com/package/@flighthq/bitmap). The API is identical; the bulk pixel kernels run in Rust compiled to WebAssembly instead of TypeScript.
|
|
4
|
+
|
|
5
|
+
```sh
|
|
6
|
+
npm install @flighthq/bitmap-wasm
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
Swap the import and nothing else changes:
|
|
10
|
+
|
|
11
|
+
```diff
|
|
12
|
+
-import { convolveBitmap, getBitmapHistogram } from '@flighthq/bitmap';
|
|
13
|
+
+import { convolveBitmap, getBitmapHistogram } from '@flighthq/bitmap-wasm';
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
Call `initBitmapWasm()` once before the first pixel operation, or let the first call initialize lazily. Initialization is synchronous: the module is embedded as base64 in the bundle, so there is no `fetch`, no separate `.wasm` asset to host, and no `await` in your startup path.
|
|
17
|
+
|
|
18
|
+
```ts
|
|
19
|
+
import { createBitmap, createBitmapRegion } from '@flighthq/bitmap';
|
|
20
|
+
import { getBitmapHistogram, initBitmapWasm } from '@flighthq/bitmap-wasm';
|
|
21
|
+
|
|
22
|
+
initBitmapWasm();
|
|
23
|
+
const bitmap = createBitmap(256, 256, 0xff102030);
|
|
24
|
+
const histogram = getBitmapHistogram(createBitmapRegion(bitmap, 0, 0, 256, 256));
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
## What is actually Rust
|
|
28
|
+
|
|
29
|
+
This package re-exports the whole of `@flighthq/bitmap` and shadows the subset of functions the generator has compiled to Rust. Everything else remains the upstream TypeScript implementation, so the module is always API-complete regardless of how much has been ported.
|
|
30
|
+
|
|
31
|
+
The wasm-backed functions are the ones listed under `wasmFacades` in `tools/generator/port.config.ts`, currently 34 of them: the color-matrix builders and `colorMatrixBitmap`; `convolveBitmap`, `dilateBitmap`, `erodeBitmap`, and `pixelateBitmap`; `applyBitmapCurve`, `applyBitmapLevels`, and `applyBitmapPaletteMap`; the alpha operations; the noise, Perlin, and turbulence fills plus `fillBitmapRectangle`; the copy and channel-merge operations; and the query functions (`getBitmapHistogram`, `getBitmapCoverage`, `getBitmapColorBoundsRectangle`, `getBitmapMismatch`, and the fingerprint pair).
|
|
32
|
+
|
|
33
|
+
Every one of them is differentially tested against the upstream TypeScript implementation, and the Rust output must match byte for byte.
|
|
34
|
+
|
|
35
|
+
## Requirements and caveats
|
|
36
|
+
|
|
37
|
+
- **Bundler required.** Like every `@flighthq` package, the published JavaScript uses extensionless relative imports, which Node's ESM resolver rejects. Use a bundler (Vite, webpack, Rollup, esbuild) or any toolchain that applies Node-style resolution to ESM. Bare `node script.mjs` will not resolve this package or its dependencies.
|
|
38
|
+
- **Support level is experimental.** The Rust slice is generated, and which functions it covers grows between releases. The API surface does not change — it is always `@flighthq/bitmap`'s.
|
|
39
|
+
- `@flighthq/bitmap` and `@flighthq/types` are peer-level runtime dependencies pinned to `^0.3.0`.
|
|
40
|
+
|
|
41
|
+
## License
|
|
42
|
+
|
|
43
|
+
MIT. See [LICENSE.md](LICENSE.md).
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import type { RectangleLike, Bitmap, BitmapConvolutionOptions, BitmapFingerprint, BitmapHistogram, BitmapMismatch, BitmapRegion } from '@flighthq/types';
|
|
2
|
+
/**
|
|
3
|
+
* Eagerly instantiates the mechanically generated bitmap module. Every
|
|
4
|
+
* overridden operation also initializes it lazily, so calling this is optional.
|
|
5
|
+
*/
|
|
6
|
+
export declare function initBitmapWasm(): void;
|
|
7
|
+
export declare function applyBitmapCurve(out: Readonly<BitmapRegion>, source: Readonly<BitmapRegion>, redLut: Readonly<Uint8Array | Uint8ClampedArray | null>, greenLut: Readonly<Uint8Array | Uint8ClampedArray | null>, blueLut: Readonly<Uint8Array | Uint8ClampedArray | null>, alphaLut?: Readonly<Uint8Array | Uint8ClampedArray | null>): void;
|
|
8
|
+
export declare function applyBitmapLevels(out: Readonly<BitmapRegion>, source: Readonly<BitmapRegion>, blackPoint?: number, whitePoint?: number, gamma?: number): void;
|
|
9
|
+
export declare function applyBitmapPaletteMap(dest: Readonly<BitmapRegion>, source: Readonly<BitmapRegion>, redMap: ReadonlyArray<number> | null, greenMap: ReadonlyArray<number> | null, blueMap: ReadonlyArray<number> | null, alphaMap: ReadonlyArray<number> | null): void;
|
|
10
|
+
export declare function buildBitmapBrightnessColorMatrix(out: number[], amount: number): void;
|
|
11
|
+
export declare function buildBitmapContrastColorMatrix(out: number[], amount: number): void;
|
|
12
|
+
export declare function buildBitmapGrayscaleColorMatrix(out: number[]): void;
|
|
13
|
+
export declare function buildBitmapHueRotationColorMatrix(out: number[], degrees: number): void;
|
|
14
|
+
export declare function buildBitmapInvertColorMatrix(out: number[]): void;
|
|
15
|
+
export declare function buildBitmapSaturationColorMatrix(out: number[], amount: number): void;
|
|
16
|
+
export declare function buildBitmapSepiaColorMatrix(out: number[]): void;
|
|
17
|
+
export declare function setBitmapColorMatrixIdentity(out: number[]): void;
|
|
18
|
+
export declare function concatBitmapColorMatrix(out: number[], first: ReadonlyArray<number>, second: ReadonlyArray<number>): void;
|
|
19
|
+
export declare function colorMatrixBitmap(out: Uint8ClampedArray, source: Readonly<BitmapRegion>, matrix: ReadonlyArray<number>): void;
|
|
20
|
+
export declare function compareBitmapFingerprints(first: Readonly<BitmapFingerprint>, second: Readonly<BitmapFingerprint>): number;
|
|
21
|
+
export declare function createBitmapFingerprint(source: Readonly<Bitmap>, gridSize?: number): BitmapFingerprint;
|
|
22
|
+
export declare function convolveBitmap(out: Uint8ClampedArray, source: Readonly<BitmapRegion>, options: Readonly<BitmapConvolutionOptions>): void;
|
|
23
|
+
export declare function copyBitmapPixels(dest: Readonly<BitmapRegion>, source: Readonly<BitmapRegion>, composite?: boolean): void;
|
|
24
|
+
export declare function copyBitmapAlpha(dest: Readonly<BitmapRegion>, source: Readonly<BitmapRegion>): void;
|
|
25
|
+
export declare function multiplyBitmapAlpha(out: Readonly<BitmapRegion>, factor: number): void;
|
|
26
|
+
export declare function setBitmapAlpha(out: Readonly<BitmapRegion>, alpha: number): void;
|
|
27
|
+
export declare function fillBitmapRectangle(dest: Readonly<BitmapRegion>, color: number): void;
|
|
28
|
+
export declare function fillBitmapNoise(dest: Readonly<BitmapRegion>, seed: number, low?: number, high?: number, grayScale?: boolean): void;
|
|
29
|
+
export declare function fillBitmapPerlinNoise(dest: Readonly<BitmapRegion>, baseX: number, baseY: number, octaves: number, seed: number, grayScale?: boolean, stitch?: boolean, channelOptions?: number): void;
|
|
30
|
+
export declare function fillBitmapTurbulence(dest: Readonly<BitmapRegion>, baseX: number, baseY: number, octaves: number, seed: number, grayScale?: boolean, stitch?: boolean, channelOptions?: number): void;
|
|
31
|
+
export declare function dilateBitmap(out: Uint8ClampedArray, source: Readonly<BitmapRegion>, radius: number): void;
|
|
32
|
+
export declare function erodeBitmap(out: Uint8ClampedArray, source: Readonly<BitmapRegion>, radius: number): void;
|
|
33
|
+
export declare function pixelateBitmap(out: Uint8ClampedArray, source: Readonly<BitmapRegion>, blockSize: number): void;
|
|
34
|
+
export declare function premultiplyBitmapPixels(out: Uint8ClampedArray, source: Readonly<Uint8ClampedArray>, length: number): void;
|
|
35
|
+
export declare function unpremultiplyBitmapPixels(out: Uint8ClampedArray, source: Readonly<Uint8ClampedArray>, length: number): void;
|
|
36
|
+
export declare function getBitmapCoverage(source: Readonly<Bitmap>, backgroundColor: number, channelTolerance?: number): number;
|
|
37
|
+
export declare function getBitmapColorBoundsRectangle(source: Readonly<BitmapRegion>, mask: number, color: number, findColor?: boolean): RectangleLike | null;
|
|
38
|
+
export declare function getBitmapHistogram(source: Readonly<BitmapRegion>): BitmapHistogram;
|
|
39
|
+
export declare function getBitmapMismatch(source: Readonly<Bitmap>, other: Readonly<Bitmap>, channelTolerance?: number): BitmapMismatch;
|
|
40
|
+
export declare function mergeBitmapChannels(out: Readonly<BitmapRegion>, red: Readonly<BitmapRegion>, green: Readonly<BitmapRegion>, blue: Readonly<BitmapRegion>, alpha: Readonly<BitmapRegion>): void;
|
|
41
|
+
//# sourceMappingURL=bitmapWasm.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bitmapWasm.d.ts","sourceRoot":"","sources":["../src/bitmapWasm.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
import { invalidateBitmap } from '@flighthq/bitmap';
|
|
2
|
+
import { apply_bitmap_curve_wasm, apply_bitmap_levels_wasm, apply_bitmap_palette_map_wasm, build_bitmap_brightness_color_matrix_wasm, build_bitmap_contrast_color_matrix_wasm, build_bitmap_grayscale_color_matrix_wasm, build_bitmap_hue_rotation_color_matrix_wasm, build_bitmap_invert_color_matrix_wasm, build_bitmap_saturation_color_matrix_wasm, build_bitmap_sepia_color_matrix_wasm, color_matrix_bitmap_wasm, compare_bitmap_fingerprints_wasm, concat_bitmap_color_matrix_wasm, convolve_bitmap_wasm, copy_bitmap_alpha_wasm, copy_bitmap_pixels_wasm, create_bitmap_fingerprint_wasm, dilate_bitmap_wasm, erode_bitmap_wasm, fill_bitmap_noise_wasm, fill_bitmap_perlin_noise_wasm, fill_bitmap_rectangle_wasm, fill_bitmap_turbulence_wasm, get_bitmap_color_bounds_rectangle_wasm, get_bitmap_coverage_wasm, get_bitmap_histogram_wasm, get_bitmap_mismatch_wasm, initSync, merge_bitmap_channels_wasm, multiply_bitmap_alpha_wasm, pixelate_bitmap_wasm, premultiply_bitmap_pixels_wasm, set_bitmap_alpha_wasm, set_bitmap_color_matrix_identity_wasm, unpremultiply_bitmap_pixels_wasm, } from './wasm/bitmap_wasm.js';
|
|
3
|
+
import { bitmapWasmBytes } from './wasm/bitmapWasmBytes';
|
|
4
|
+
let initialized = false;
|
|
5
|
+
const EMPTY_CHANNEL_MAP = new Float64Array();
|
|
6
|
+
const EMPTY_BYTE_CHANNEL_MAP = new Uint8Array();
|
|
7
|
+
/**
|
|
8
|
+
* Eagerly instantiates the mechanically generated bitmap module. Every
|
|
9
|
+
* overridden operation also initializes it lazily, so calling this is optional.
|
|
10
|
+
*/
|
|
11
|
+
export function initBitmapWasm() {
|
|
12
|
+
ensureBitmapWasm();
|
|
13
|
+
}
|
|
14
|
+
export function applyBitmapCurve(out, source, redLut, greenLut, blueLut, alphaLut = null) {
|
|
15
|
+
ensureBitmapWasm();
|
|
16
|
+
apply_bitmap_curve_wasm(asUint8(out.bitmap.data), descriptorOf(out), asUint8(source.bitmap.data), descriptorOf(source), byteChannelMap(redLut), byteChannelMap(greenLut), byteChannelMap(blueLut), byteChannelMap(alphaLut));
|
|
17
|
+
invalidateBitmap(out.bitmap);
|
|
18
|
+
}
|
|
19
|
+
export function applyBitmapLevels(out, source, blackPoint = 0, whitePoint = 255, gamma = 1) {
|
|
20
|
+
ensureBitmapWasm();
|
|
21
|
+
apply_bitmap_levels_wasm(asUint8(out.bitmap.data), descriptorOf(out), asUint8(source.bitmap.data), descriptorOf(source), blackPoint, whitePoint, gamma);
|
|
22
|
+
invalidateBitmap(out.bitmap);
|
|
23
|
+
}
|
|
24
|
+
export function applyBitmapPaletteMap(dest, source, redMap, greenMap, blueMap, alphaMap) {
|
|
25
|
+
ensureBitmapWasm();
|
|
26
|
+
apply_bitmap_palette_map_wasm(asUint8(dest.bitmap.data), descriptorOf(dest), asUint8(source.bitmap.data), descriptorOf(source), channelMap(redMap), channelMap(greenMap), channelMap(blueMap), channelMap(alphaMap));
|
|
27
|
+
invalidateBitmap(dest.bitmap);
|
|
28
|
+
}
|
|
29
|
+
export function buildBitmapBrightnessColorMatrix(out, amount) {
|
|
30
|
+
runMatrixWriter(out, (typed) => build_bitmap_brightness_color_matrix_wasm(typed, amount));
|
|
31
|
+
}
|
|
32
|
+
export function buildBitmapContrastColorMatrix(out, amount) {
|
|
33
|
+
runMatrixWriter(out, (typed) => build_bitmap_contrast_color_matrix_wasm(typed, amount));
|
|
34
|
+
}
|
|
35
|
+
export function buildBitmapGrayscaleColorMatrix(out) {
|
|
36
|
+
runMatrixWriter(out, build_bitmap_grayscale_color_matrix_wasm);
|
|
37
|
+
}
|
|
38
|
+
export function buildBitmapHueRotationColorMatrix(out, degrees) {
|
|
39
|
+
runMatrixWriter(out, (typed) => build_bitmap_hue_rotation_color_matrix_wasm(typed, degrees));
|
|
40
|
+
}
|
|
41
|
+
export function buildBitmapInvertColorMatrix(out) {
|
|
42
|
+
runMatrixWriter(out, build_bitmap_invert_color_matrix_wasm);
|
|
43
|
+
}
|
|
44
|
+
export function buildBitmapSaturationColorMatrix(out, amount) {
|
|
45
|
+
runMatrixWriter(out, (typed) => build_bitmap_saturation_color_matrix_wasm(typed, amount));
|
|
46
|
+
}
|
|
47
|
+
export function buildBitmapSepiaColorMatrix(out) {
|
|
48
|
+
runMatrixWriter(out, build_bitmap_sepia_color_matrix_wasm);
|
|
49
|
+
}
|
|
50
|
+
export function setBitmapColorMatrixIdentity(out) {
|
|
51
|
+
runMatrixWriter(out, set_bitmap_color_matrix_identity_wasm);
|
|
52
|
+
}
|
|
53
|
+
export function concatBitmapColorMatrix(out, first, second) {
|
|
54
|
+
runMatrixWriter(out, (typed) => concat_bitmap_color_matrix_wasm(typed, Float64Array.from(first), Float64Array.from(second)));
|
|
55
|
+
}
|
|
56
|
+
export function colorMatrixBitmap(out, source, matrix) {
|
|
57
|
+
ensureBitmapWasm();
|
|
58
|
+
color_matrix_bitmap_wasm(asUint8(out), asUint8(source.bitmap.data), descriptorOf(source), Float64Array.from(matrix));
|
|
59
|
+
}
|
|
60
|
+
export function compareBitmapFingerprints(first, second) {
|
|
61
|
+
ensureBitmapWasm();
|
|
62
|
+
return compare_bitmap_fingerprints_wasm(asUint8(first.cells), first.gridSize, asUint8(second.cells), second.gridSize);
|
|
63
|
+
}
|
|
64
|
+
export function createBitmapFingerprint(source, gridSize = 16) {
|
|
65
|
+
ensureBitmapWasm();
|
|
66
|
+
const cells = new Uint8Array(gridSize * gridSize * 3);
|
|
67
|
+
create_bitmap_fingerprint_wasm(cells, asUint8(source.data), source.width, source.height, gridSize);
|
|
68
|
+
return { cells, gridSize };
|
|
69
|
+
}
|
|
70
|
+
export function convolveBitmap(out, source, options) {
|
|
71
|
+
ensureBitmapWasm();
|
|
72
|
+
convolve_bitmap_wasm(asUint8(out), asUint8(source.bitmap.data), descriptorOf(source), Float64Array.from(options.matrix), options.matrixX, options.matrixY, options.bias ?? 0, options.edge ?? 'clamp', options.divisor ?? Number.NaN, options.preserveAlpha ?? true);
|
|
73
|
+
}
|
|
74
|
+
export function copyBitmapPixels(dest, source, composite = false) {
|
|
75
|
+
ensureBitmapWasm();
|
|
76
|
+
copy_bitmap_pixels_wasm(asUint8(dest.bitmap.data), descriptorOf(dest), asUint8(source.bitmap.data), descriptorOf(source), composite);
|
|
77
|
+
invalidateBitmap(dest.bitmap);
|
|
78
|
+
}
|
|
79
|
+
export function copyBitmapAlpha(dest, source) {
|
|
80
|
+
ensureBitmapWasm();
|
|
81
|
+
copy_bitmap_alpha_wasm(asUint8(dest.bitmap.data), descriptorOf(dest), asUint8(source.bitmap.data), descriptorOf(source));
|
|
82
|
+
invalidateBitmap(dest.bitmap);
|
|
83
|
+
}
|
|
84
|
+
export function multiplyBitmapAlpha(out, factor) {
|
|
85
|
+
ensureBitmapWasm();
|
|
86
|
+
multiply_bitmap_alpha_wasm(asUint8(out.bitmap.data), descriptorOf(out), factor);
|
|
87
|
+
invalidateBitmap(out.bitmap);
|
|
88
|
+
}
|
|
89
|
+
export function setBitmapAlpha(out, alpha) {
|
|
90
|
+
ensureBitmapWasm();
|
|
91
|
+
set_bitmap_alpha_wasm(asUint8(out.bitmap.data), descriptorOf(out), alpha);
|
|
92
|
+
invalidateBitmap(out.bitmap);
|
|
93
|
+
}
|
|
94
|
+
export function fillBitmapRectangle(dest, color) {
|
|
95
|
+
ensureBitmapWasm();
|
|
96
|
+
fill_bitmap_rectangle_wasm(asUint8(dest.bitmap.data), descriptorOf(dest), color);
|
|
97
|
+
invalidateBitmap(dest.bitmap);
|
|
98
|
+
}
|
|
99
|
+
export function fillBitmapNoise(dest, seed, low = 0, high = 255, grayScale = false) {
|
|
100
|
+
ensureBitmapWasm();
|
|
101
|
+
fill_bitmap_noise_wasm(asUint8(dest.bitmap.data), descriptorOf(dest), seed, low, high, grayScale);
|
|
102
|
+
invalidateBitmap(dest.bitmap);
|
|
103
|
+
}
|
|
104
|
+
export function fillBitmapPerlinNoise(dest, baseX, baseY, octaves, seed, grayScale = false, stitch = false, channelOptions = 0x7) {
|
|
105
|
+
ensureBitmapWasm();
|
|
106
|
+
fill_bitmap_perlin_noise_wasm(asUint8(dest.bitmap.data), descriptorOf(dest), baseX, baseY, octaves, seed, grayScale, stitch, channelOptions);
|
|
107
|
+
invalidateBitmap(dest.bitmap);
|
|
108
|
+
}
|
|
109
|
+
export function fillBitmapTurbulence(dest, baseX, baseY, octaves, seed, grayScale = false, stitch = false, channelOptions = 0x7) {
|
|
110
|
+
ensureBitmapWasm();
|
|
111
|
+
fill_bitmap_turbulence_wasm(asUint8(dest.bitmap.data), descriptorOf(dest), baseX, baseY, octaves, seed, grayScale, stitch, channelOptions);
|
|
112
|
+
invalidateBitmap(dest.bitmap);
|
|
113
|
+
}
|
|
114
|
+
export function dilateBitmap(out, source, radius) {
|
|
115
|
+
ensureBitmapWasm();
|
|
116
|
+
dilate_bitmap_wasm(asUint8(out), asUint8(source.bitmap.data), descriptorOf(source), radius);
|
|
117
|
+
}
|
|
118
|
+
export function erodeBitmap(out, source, radius) {
|
|
119
|
+
ensureBitmapWasm();
|
|
120
|
+
erode_bitmap_wasm(asUint8(out), asUint8(source.bitmap.data), descriptorOf(source), radius);
|
|
121
|
+
}
|
|
122
|
+
export function pixelateBitmap(out, source, blockSize) {
|
|
123
|
+
ensureBitmapWasm();
|
|
124
|
+
pixelate_bitmap_wasm(asUint8(out), asUint8(source.bitmap.data), descriptorOf(source), blockSize);
|
|
125
|
+
}
|
|
126
|
+
export function premultiplyBitmapPixels(out, source, length) {
|
|
127
|
+
ensureBitmapWasm();
|
|
128
|
+
premultiply_bitmap_pixels_wasm(asUint8(out), asUint8(source), length);
|
|
129
|
+
}
|
|
130
|
+
export function unpremultiplyBitmapPixels(out, source, length) {
|
|
131
|
+
ensureBitmapWasm();
|
|
132
|
+
unpremultiply_bitmap_pixels_wasm(asUint8(out), asUint8(source), length);
|
|
133
|
+
}
|
|
134
|
+
export function getBitmapCoverage(source, backgroundColor, channelTolerance = 0) {
|
|
135
|
+
ensureBitmapWasm();
|
|
136
|
+
return get_bitmap_coverage_wasm(asUint8(source.data), source.width, source.height, backgroundColor, channelTolerance);
|
|
137
|
+
}
|
|
138
|
+
export function getBitmapColorBoundsRectangle(source, mask, color, findColor = true) {
|
|
139
|
+
ensureBitmapWasm();
|
|
140
|
+
const rectangle = new Float64Array(4);
|
|
141
|
+
const found = get_bitmap_color_bounds_rectangle_wasm(rectangle, asUint8(source.bitmap.data), descriptorOf(source), mask, color, findColor);
|
|
142
|
+
return found
|
|
143
|
+
? {
|
|
144
|
+
x: rectangle[0],
|
|
145
|
+
y: rectangle[1],
|
|
146
|
+
width: rectangle[2],
|
|
147
|
+
height: rectangle[3],
|
|
148
|
+
}
|
|
149
|
+
: null;
|
|
150
|
+
}
|
|
151
|
+
export function getBitmapHistogram(source) {
|
|
152
|
+
ensureBitmapWasm();
|
|
153
|
+
const histogram = new Float64Array(1024);
|
|
154
|
+
get_bitmap_histogram_wasm(histogram, asUint8(source.bitmap.data), descriptorOf(source));
|
|
155
|
+
return {
|
|
156
|
+
red: Array.from(histogram.subarray(0, 256)),
|
|
157
|
+
green: Array.from(histogram.subarray(256, 512)),
|
|
158
|
+
blue: Array.from(histogram.subarray(512, 768)),
|
|
159
|
+
alpha: Array.from(histogram.subarray(768, 1024)),
|
|
160
|
+
};
|
|
161
|
+
}
|
|
162
|
+
export function getBitmapMismatch(source, other, channelTolerance = 0) {
|
|
163
|
+
ensureBitmapWasm();
|
|
164
|
+
const mismatch = new Float64Array(4);
|
|
165
|
+
get_bitmap_mismatch_wasm(mismatch, asUint8(source.data), source.width, source.height, asUint8(other.data), other.width, other.height, channelTolerance);
|
|
166
|
+
return {
|
|
167
|
+
mismatchedPixels: mismatch[0],
|
|
168
|
+
totalPixels: mismatch[1],
|
|
169
|
+
fraction: mismatch[2],
|
|
170
|
+
maxChannelDelta: mismatch[3],
|
|
171
|
+
};
|
|
172
|
+
}
|
|
173
|
+
export function mergeBitmapChannels(out, red, green, blue, alpha) {
|
|
174
|
+
ensureBitmapWasm();
|
|
175
|
+
merge_bitmap_channels_wasm(asUint8(out.bitmap.data), descriptorOf(out), asUint8(red.bitmap.data), descriptorOf(red), asUint8(green.bitmap.data), descriptorOf(green), asUint8(blue.bitmap.data), descriptorOf(blue), asUint8(alpha.bitmap.data), descriptorOf(alpha));
|
|
176
|
+
invalidateBitmap(out.bitmap);
|
|
177
|
+
}
|
|
178
|
+
function ensureBitmapWasm() {
|
|
179
|
+
if (initialized)
|
|
180
|
+
return;
|
|
181
|
+
initSync({ module: bitmapWasmBytes });
|
|
182
|
+
initialized = true;
|
|
183
|
+
}
|
|
184
|
+
function runMatrixWriter(out, operation) {
|
|
185
|
+
ensureBitmapWasm();
|
|
186
|
+
const typed = Float64Array.from(out);
|
|
187
|
+
operation(typed);
|
|
188
|
+
for (let index = 0; index < typed.length; index += 1)
|
|
189
|
+
out[index] = typed[index];
|
|
190
|
+
}
|
|
191
|
+
function asUint8(data) {
|
|
192
|
+
const view = data;
|
|
193
|
+
return new Uint8Array(view.buffer, view.byteOffset, view.byteLength);
|
|
194
|
+
}
|
|
195
|
+
function descriptorOf(region) {
|
|
196
|
+
return Float64Array.of(region.bitmap.width, region.bitmap.height, region.x, region.y, region.width, region.height);
|
|
197
|
+
}
|
|
198
|
+
function channelMap(values) {
|
|
199
|
+
return values ? Float64Array.from(values) : EMPTY_CHANNEL_MAP;
|
|
200
|
+
}
|
|
201
|
+
function byteChannelMap(values) {
|
|
202
|
+
return values ? asUint8(values) : EMPTY_BYTE_CHANNEL_MAP;
|
|
203
|
+
}
|
|
204
|
+
//# sourceMappingURL=bitmapWasm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bitmapWasm.js","sourceRoot":"","sources":["../src/bitmapWasm.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export { applyBitmapCurve, applyBitmapLevels, applyBitmapPaletteMap, buildBitmapBrightnessColorMatrix, buildBitmapContrastColorMatrix, buildBitmapGrayscaleColorMatrix, buildBitmapHueRotationColorMatrix, buildBitmapInvertColorMatrix, buildBitmapSaturationColorMatrix, buildBitmapSepiaColorMatrix, colorMatrixBitmap, compareBitmapFingerprints, concatBitmapColorMatrix, convolveBitmap, copyBitmapAlpha, copyBitmapPixels, createBitmapFingerprint, dilateBitmap, erodeBitmap, fillBitmapNoise, fillBitmapPerlinNoise, fillBitmapRectangle, fillBitmapTurbulence, getBitmapColorBoundsRectangle, getBitmapCoverage, getBitmapHistogram, getBitmapMismatch, initBitmapWasm, mergeBitmapChannels, multiplyBitmapAlpha, pixelateBitmap, premultiplyBitmapPixels, setBitmapAlpha, setBitmapColorMatrixIdentity, unpremultiplyBitmapPixels, } from './bitmapWasm';
|
|
2
|
+
export * from '@flighthq/bitmap';
|
|
3
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,qBAAqB,EACrB,gCAAgC,EAChC,8BAA8B,EAC9B,+BAA+B,EAC/B,iCAAiC,EACjC,4BAA4B,EAC5B,gCAAgC,EAChC,2BAA2B,EAC3B,iBAAiB,EACjB,yBAAyB,EACzB,uBAAuB,EACvB,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,uBAAuB,EACvB,YAAY,EACZ,WAAW,EACX,eAAe,EACf,qBAAqB,EACrB,mBAAmB,EACnB,oBAAoB,EACpB,6BAA6B,EAC7B,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,cAAc,EACd,mBAAmB,EACnB,mBAAmB,EACnB,cAAc,EACd,uBAAuB,EACvB,cAAc,EACd,4BAA4B,EAC5B,yBAAyB,GAC1B,MAAM,cAAc,CAAC;AACtB,cAAc,kBAAkB,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
// The full upstream API remains available. Only functions present in the
|
|
2
|
+
// generator's selected, compiled bitmap slice are shadowed by wasm-backed
|
|
3
|
+
// implementations; every deferred function remains the cultivated TypeScript
|
|
4
|
+
// implementation until its source is admitted to generation.
|
|
5
|
+
export { applyBitmapCurve, applyBitmapLevels, applyBitmapPaletteMap, buildBitmapBrightnessColorMatrix, buildBitmapContrastColorMatrix, buildBitmapGrayscaleColorMatrix, buildBitmapHueRotationColorMatrix, buildBitmapInvertColorMatrix, buildBitmapSaturationColorMatrix, buildBitmapSepiaColorMatrix, colorMatrixBitmap, compareBitmapFingerprints, concatBitmapColorMatrix, convolveBitmap, copyBitmapAlpha, copyBitmapPixels, createBitmapFingerprint, dilateBitmap, erodeBitmap, fillBitmapNoise, fillBitmapPerlinNoise, fillBitmapRectangle, fillBitmapTurbulence, getBitmapColorBoundsRectangle, getBitmapCoverage, getBitmapHistogram, getBitmapMismatch, initBitmapWasm, mergeBitmapChannels, multiplyBitmapAlpha, pixelateBitmap, premultiplyBitmapPixels, setBitmapAlpha, setBitmapColorMatrixIdentity, unpremultiplyBitmapPixels, } from './bitmapWasm';
|
|
6
|
+
export * from '@flighthq/bitmap';
|
|
7
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,yEAAyE;AACzE,0EAA0E;AAC1E,6EAA6E;AAC7E,6DAA6D;AAC7D,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,qBAAqB,EACrB,gCAAgC,EAChC,8BAA8B,EAC9B,+BAA+B,EAC/B,iCAAiC,EACjC,4BAA4B,EAC5B,gCAAgC,EAChC,2BAA2B,EAC3B,iBAAiB,EACjB,yBAAyB,EACzB,uBAAuB,EACvB,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,uBAAuB,EACvB,YAAY,EACZ,WAAW,EACX,eAAe,EACf,qBAAqB,EACrB,mBAAmB,EACnB,oBAAoB,EACpB,6BAA6B,EAC7B,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,cAAc,EACd,mBAAmB,EACnB,mBAAmB,EACnB,cAAc,EACd,uBAAuB,EACvB,cAAc,EACd,4BAA4B,EAC5B,yBAAyB,GAC1B,MAAM,cAAc,CAAC;AACtB,cAAc,kBAAkB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bitmapWasmBytes.d.ts","sourceRoot":"","sources":["../../src/wasm/bitmapWasmBytes.ts"],"names":[],"mappings":"AAgBA,eAAO,MAAM,eAAe,EAAE,UAAiC,CAAC"}
|