@vgpu/wgsl 0.0.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/LICENSE +21 -0
- package/README.md +81 -0
- package/dist/compile.d.ts +3 -0
- package/dist/compile.d.ts.map +1 -0
- package/dist/compile.js +50 -0
- package/dist/compile.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -0
- package/dist/loader-vite/index.d.ts +10 -0
- package/dist/loader-vite/index.d.ts.map +1 -0
- package/dist/loader-vite/index.js +19 -0
- package/dist/loader-vite/index.js.map +1 -0
- package/dist/loader-webpack/index.d.ts +7 -0
- package/dist/loader-webpack/index.d.ts.map +1 -0
- package/dist/loader-webpack/index.js +16 -0
- package/dist/loader-webpack/index.js.map +1 -0
- package/dist/runtime/astProjection.d.ts +5 -0
- package/dist/runtime/astProjection.d.ts.map +1 -0
- package/dist/runtime/astProjection.js +14 -0
- package/dist/runtime/astProjection.js.map +1 -0
- package/dist/runtime/cacheKey.d.ts +4 -0
- package/dist/runtime/cacheKey.d.ts.map +1 -0
- package/dist/runtime/cacheKey.js +36 -0
- package/dist/runtime/cacheKey.js.map +1 -0
- package/dist/runtime/diagnosticTypes.d.ts +15 -0
- package/dist/runtime/diagnosticTypes.d.ts.map +1 -0
- package/dist/runtime/diagnosticTypes.js +2 -0
- package/dist/runtime/diagnosticTypes.js.map +1 -0
- package/dist/runtime/errors.d.ts +16 -0
- package/dist/runtime/errors.d.ts.map +1 -0
- package/dist/runtime/errors.js +19 -0
- package/dist/runtime/errors.js.map +1 -0
- package/dist/runtime/lru.d.ts +2 -0
- package/dist/runtime/lru.d.ts.map +1 -0
- package/dist/runtime/lru.js +6 -0
- package/dist/runtime/lru.js.map +1 -0
- package/dist/runtime/mangler.d.ts +20 -0
- package/dist/runtime/mangler.d.ts.map +1 -0
- package/dist/runtime/mangler.js +96 -0
- package/dist/runtime/mangler.js.map +1 -0
- package/dist/runtime/packageResolution.d.ts +11 -0
- package/dist/runtime/packageResolution.d.ts.map +1 -0
- package/dist/runtime/packageResolution.js +77 -0
- package/dist/runtime/packageResolution.js.map +1 -0
- package/dist/runtime/parser.d.ts +29 -0
- package/dist/runtime/parser.d.ts.map +1 -0
- package/dist/runtime/parser.js +129 -0
- package/dist/runtime/parser.js.map +1 -0
- package/dist/runtime/reflect.d.ts +25 -0
- package/dist/runtime/reflect.d.ts.map +1 -0
- package/dist/runtime/reflect.js +22 -0
- package/dist/runtime/reflect.js.map +1 -0
- package/dist/runtime/resolveShader.d.ts +48 -0
- package/dist/runtime/resolveShader.d.ts.map +1 -0
- package/dist/runtime/resolveShader.js +94 -0
- package/dist/runtime/resolveShader.js.map +1 -0
- package/dist/runtime/scanner.d.ts +12 -0
- package/dist/runtime/scanner.d.ts.map +1 -0
- package/dist/runtime/scanner.js +90 -0
- package/dist/runtime/scanner.js.map +1 -0
- package/dist/runtime/validation.d.ts +2 -0
- package/dist/runtime/validation.d.ts.map +1 -0
- package/dist/runtime/validation.js +63 -0
- package/dist/runtime/validation.js.map +1 -0
- package/dist/runtime/xxh64.d.ts +2 -0
- package/dist/runtime/xxh64.d.ts.map +1 -0
- package/dist/runtime/xxh64.js +58 -0
- package/dist/runtime/xxh64.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/dist/types.d.ts +38 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/package.json +64 -0
- package/src/ResolvedShader.docs.md +28 -0
- package/src/compile.docs.md +24 -0
- package/src/loader-vite/index.docs.md +7 -0
- package/src/loader-webpack/index.docs.md +7 -0
- package/src/runtime/resolveShader.docs.md +9 -0
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { createRequire } from "node:module";
|
|
2
|
+
import { wgslError } from "./errors.js";
|
|
3
|
+
const require = createRequire(import.meta.url);
|
|
4
|
+
let devicePromise;
|
|
5
|
+
let gpu;
|
|
6
|
+
export async function validateWGSL(wgsl) {
|
|
7
|
+
if (process.env.VGPU_DOCKER_TEST !== "1")
|
|
8
|
+
return;
|
|
9
|
+
const device = await validationDevice();
|
|
10
|
+
device.pushErrorScope("validation");
|
|
11
|
+
const module = device.createShaderModule({ code: wgsl });
|
|
12
|
+
const info = await module.getCompilationInfo?.();
|
|
13
|
+
const scoped = await device.popErrorScope();
|
|
14
|
+
const message = info?.messages.find((item) => item.type === "error") ?? (scoped ? { message: scoped.message } : undefined);
|
|
15
|
+
if (message)
|
|
16
|
+
throw diagnostic(wgsl, message, scoped);
|
|
17
|
+
}
|
|
18
|
+
function diagnostic(wgsl, message, cause) {
|
|
19
|
+
const { line, column } = position(message);
|
|
20
|
+
const mapped = mapGenerated(wgsl, line, column);
|
|
21
|
+
const error = wgslError("VGPU-WGSL-NAGA-UNKNOWN", message.message ?? "WGSL validation failed", mapped.line, mapped.column);
|
|
22
|
+
error.range = { file: mapped.file, start: { line: mapped.line, column: mapped.column } };
|
|
23
|
+
error.columnPrecise = mapped.columnPrecise;
|
|
24
|
+
error.cause = cause;
|
|
25
|
+
if (!mapped.columnPrecise) {
|
|
26
|
+
error.relatedDiagnostics = [{ code: "VGPU-WGSL-COL-APPROX", message: "column position is approximate; this line contained substituted identifiers" }];
|
|
27
|
+
error.metadata = { ...(error.metadata ?? {}), codes: ["VGPU-WGSL-COL-APPROX"] };
|
|
28
|
+
}
|
|
29
|
+
return error;
|
|
30
|
+
}
|
|
31
|
+
function position(message) {
|
|
32
|
+
if (message.lineNum)
|
|
33
|
+
return { line: message.lineNum, column: message.linePos || 1 };
|
|
34
|
+
const match = message.message?.match(/:(\d+):(\d+)\s+error|line\s+(\d+),\s*column\s+(\d+)/i);
|
|
35
|
+
return { line: Number(match?.[1] ?? match?.[3] ?? 1), column: Number(match?.[2] ?? match?.[4] ?? 1) };
|
|
36
|
+
}
|
|
37
|
+
function mapGenerated(wgsl, line, column) {
|
|
38
|
+
let file = "<generated>", sourceLine = 0;
|
|
39
|
+
const lines = wgsl.split(/\r?\n/);
|
|
40
|
+
for (let i = 0; i < Math.min(line, lines.length); i++) {
|
|
41
|
+
const header = lines[i].match(/^\/\/ vgsl-module: (.+)$/);
|
|
42
|
+
if (header) {
|
|
43
|
+
file = header[1].split(/[\\/]/).pop() ?? header[1];
|
|
44
|
+
sourceLine = 0;
|
|
45
|
+
continue;
|
|
46
|
+
}
|
|
47
|
+
sourceLine++;
|
|
48
|
+
}
|
|
49
|
+
const text = lines[line - 1] ?? "";
|
|
50
|
+
const columnPrecise = text.includes("_vgsl_") ? !text.slice(0, Math.max(0, column - 1)).includes("_vgsl_") : true;
|
|
51
|
+
return { file, line: Math.max(1, sourceLine), column, columnPrecise };
|
|
52
|
+
}
|
|
53
|
+
function validationDevice() { devicePromise ??= createValidationDevice(); return devicePromise; }
|
|
54
|
+
async function createValidationDevice() {
|
|
55
|
+
const webgpu = require("webgpu");
|
|
56
|
+
Object.assign(globalThis, webgpu.globals);
|
|
57
|
+
gpu ??= webgpu.create(process.platform === "linux" ? ["backend=opengl"] : []);
|
|
58
|
+
const adapter = await gpu.requestAdapter({ ...(process.platform === "linux" ? { featureLevel: "compatibility" } : {}) });
|
|
59
|
+
if (!adapter)
|
|
60
|
+
throw wgslError("VGPU-WGSL-NAGA-UNKNOWN", "No WebGPU adapter available for WGSL validation");
|
|
61
|
+
return adapter.requestDevice();
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=validation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/runtime/validation.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"xxh64.d.ts","sourceRoot":"","sources":["../../src/runtime/xxh64.ts"],"names":[],"mappings":"AAIA,wBAAgB,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,SAAK,GAAG,MAAM,CAsBrD"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
const mask = (1n << 64n) - 1n;
|
|
2
|
+
const p1 = 11400714785074694791n, p2 = 14029467366897019727n, p3 = 1609587929392839161n;
|
|
3
|
+
const p4 = 9650029242287828579n, p5 = 2870177450012600261n;
|
|
4
|
+
export function xxh64(text, seed = 0n) {
|
|
5
|
+
const input = new TextEncoder().encode(text);
|
|
6
|
+
let index = 0;
|
|
7
|
+
let h;
|
|
8
|
+
if (input.length >= 32) {
|
|
9
|
+
let v1 = seed + p1 + p2, v2 = seed + p2, v3 = seed, v4 = seed - p1;
|
|
10
|
+
const limit = input.length - 32;
|
|
11
|
+
do {
|
|
12
|
+
v1 = round(v1, lane(input, index));
|
|
13
|
+
index += 8;
|
|
14
|
+
v2 = round(v2, lane(input, index));
|
|
15
|
+
index += 8;
|
|
16
|
+
v3 = round(v3, lane(input, index));
|
|
17
|
+
index += 8;
|
|
18
|
+
v4 = round(v4, lane(input, index));
|
|
19
|
+
index += 8;
|
|
20
|
+
} while (index <= limit);
|
|
21
|
+
h = rotl(v1, 1n) + rotl(v2, 7n) + rotl(v3, 12n) + rotl(v4, 18n);
|
|
22
|
+
h = merge(h, v1);
|
|
23
|
+
h = merge(h, v2);
|
|
24
|
+
h = merge(h, v3);
|
|
25
|
+
h = merge(h, v4);
|
|
26
|
+
}
|
|
27
|
+
else
|
|
28
|
+
h = seed + p5;
|
|
29
|
+
h = (h + BigInt(input.length)) & mask;
|
|
30
|
+
while (index + 8 <= input.length) {
|
|
31
|
+
h ^= round(0n, lane(input, index));
|
|
32
|
+
h = (rotl(h, 27n) * p1 + p4) & mask;
|
|
33
|
+
index += 8;
|
|
34
|
+
}
|
|
35
|
+
if (index + 4 <= input.length) {
|
|
36
|
+
h ^= u32(input, index) * p1 & mask;
|
|
37
|
+
h = (rotl(h, 23n) * p2 + p3) & mask;
|
|
38
|
+
index += 4;
|
|
39
|
+
}
|
|
40
|
+
while (index < input.length) {
|
|
41
|
+
h ^= BigInt(input[index]) * p5 & mask;
|
|
42
|
+
h = rotl(h, 11n) * p1 & mask;
|
|
43
|
+
index++;
|
|
44
|
+
}
|
|
45
|
+
h ^= h >> 33n;
|
|
46
|
+
h = h * p2 & mask;
|
|
47
|
+
h ^= h >> 29n;
|
|
48
|
+
h = h * p3 & mask;
|
|
49
|
+
h ^= h >> 32n;
|
|
50
|
+
return h.toString(16).padStart(16, "0");
|
|
51
|
+
}
|
|
52
|
+
function round(acc, laneValue) { return rotl((acc + laneValue * p2) & mask, 31n) * p1 & mask; }
|
|
53
|
+
function merge(acc, value) { acc ^= round(0n, value); return (acc * p1 + p4) & mask; }
|
|
54
|
+
function rotl(x, bits) { return ((x << bits) | (x >> (64n - bits))) & mask; }
|
|
55
|
+
function lane(input, index) { let v = 0n; for (let i = 7; i >= 0; i--)
|
|
56
|
+
v = (v << 8n) + BigInt(input[index + i]); return v; }
|
|
57
|
+
function u32(input, index) { return BigInt(input[index]) | BigInt(input[index + 1]) << 8n | BigInt(input[index + 2]) << 16n | BigInt(input[index + 3]) << 24n; }
|
|
58
|
+
//# sourceMappingURL=xxh64.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"xxh64.js","sourceRoot":"","sources":["../../src/runtime/xxh64.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"fileNames":["../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2021.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2016.intl.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.date.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2021.string.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.array.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.error.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.intl.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.object.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.string.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.decorators.legacy.d.ts","../src/runtime/errors.ts","../src/types.ts","../src/compile.ts","../src/index.ts","../src/runtime/scanner.ts","../src/runtime/parser.ts","../src/runtime/xxh64.ts","../src/runtime/mangler.ts","../src/runtime/astProjection.ts","../src/runtime/reflect.ts","../src/runtime/cacheKey.ts","../src/runtime/diagnosticTypes.ts","../src/runtime/lru.ts","../src/runtime/packageResolution.ts","../src/runtime/validation.ts","../src/runtime/resolveShader.ts","../src/loader-vite/index.ts","../src/loader-webpack/index.ts","../../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/compatibility/disposable.d.ts","../../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/compatibility/indexable.d.ts","../../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/compatibility/iterators.d.ts","../../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/compatibility/index.d.ts","../../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/globals.typedarray.d.ts","../../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/buffer.buffer.d.ts","../../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/globals.d.ts","../../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/web-globals/abortcontroller.d.ts","../../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/web-globals/domexception.d.ts","../../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/web-globals/events.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/header.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/readable.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/file.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/fetch.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/formdata.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/connector.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/client.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/errors.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/dispatcher.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/global-dispatcher.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/global-origin.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/pool-stats.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/pool.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/handlers.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/balanced-pool.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/agent.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-interceptor.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-agent.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-client.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-pool.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-errors.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/proxy-agent.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/env-http-proxy-agent.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/retry-handler.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/retry-agent.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/api.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/interceptors.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/util.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/cookies.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/patch.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/websocket.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/eventsource.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/filereader.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/diagnostics-channel.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/content-type.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/cache.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/index.d.ts","../../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/web-globals/fetch.d.ts","../../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/web-globals/navigator.d.ts","../../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/web-globals/storage.d.ts","../../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/assert.d.ts","../../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/assert/strict.d.ts","../../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/async_hooks.d.ts","../../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/buffer.d.ts","../../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/child_process.d.ts","../../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/cluster.d.ts","../../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/console.d.ts","../../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/constants.d.ts","../../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/crypto.d.ts","../../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/dgram.d.ts","../../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/diagnostics_channel.d.ts","../../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/dns.d.ts","../../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/dns/promises.d.ts","../../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/domain.d.ts","../../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/events.d.ts","../../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/fs.d.ts","../../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/fs/promises.d.ts","../../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/http.d.ts","../../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/http2.d.ts","../../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/https.d.ts","../../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/inspector.d.ts","../../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/inspector.generated.d.ts","../../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/module.d.ts","../../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/net.d.ts","../../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/os.d.ts","../../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/path.d.ts","../../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/process.d.ts","../../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/punycode.d.ts","../../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/querystring.d.ts","../../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/readline.d.ts","../../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/readline/promises.d.ts","../../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/repl.d.ts","../../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/sea.d.ts","../../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/sqlite.d.ts","../../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/stream.d.ts","../../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/stream/promises.d.ts","../../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/stream/consumers.d.ts","../../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/stream/web.d.ts","../../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/string_decoder.d.ts","../../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/test.d.ts","../../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/timers.d.ts","../../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/timers/promises.d.ts","../../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/tls.d.ts","../../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/trace_events.d.ts","../../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/tty.d.ts","../../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/url.d.ts","../../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/util.d.ts","../../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/v8.d.ts","../../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/vm.d.ts","../../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/wasi.d.ts","../../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/worker_threads.d.ts","../../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/zlib.d.ts","../../../node_modules/.pnpm/@types+node@22.19.17/node_modules/@types/node/index.d.ts","../../../node_modules/.pnpm/@webgpu+types@0.1.69/node_modules/@webgpu/types/dist/index.d.ts"],"fileIdsList":[[82,127,128,130,147,148],[82,129,130,147,148],[130,147,148],[82,130,135,147,148,165],[82,130,131,136,141,147,148,150,162,173],[82,130,131,132,141,147,148,150],[82,130,147,148],[77,78,79,82,130,147,148],[82,130,133,147,148,174],[82,130,134,135,142,147,148,151],[82,130,135,147,148,162,170],[82,130,136,138,141,147,148,150],[82,129,130,137,147,148],[82,130,138,139,147,148],[82,130,140,141,147,148],[82,129,130,141,147,148],[82,130,141,142,143,147,148,162,173],[82,130,141,142,143,147,148,157,162,165],[82,123,130,138,141,144,147,148,150,162,173],[82,130,141,142,144,145,147,148,150,162,170,173],[82,130,144,146,147,148,162,170,173],[80,81,82,83,84,85,86,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179],[82,130,141,147,148],[82,130,147,148,149,173],[82,130,138,141,147,148,150,162],[82,130,147,148,151],[82,130,147,148,152],[82,129,130,147,148,153],[82,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179],[82,130,147,148,155],[82,130,147,148,156],[82,130,141,147,148,157,158],[82,130,147,148,157,159,174,176],[82,130,142,147,148],[82,130,141,147,148,162,163,165],[82,130,147,148,164,165],[82,130,147,148,162,163],[82,130,147,148,165],[82,130,147,148,166],[82,127,130,147,148,162,167,173],[82,130,141,147,148,168,169],[82,130,147,148,168,169],[82,130,135,147,148,150,162,170],[82,130,147,148,171],[82,130,147,148,150,172],[82,130,144,147,148,156,173],[82,130,135,147,148,174],[82,130,147,148,162,175],[82,130,147,148,149,176],[82,130,147,148,177],[82,123,130,147,148],[82,123,130,141,143,147,148,153,162,165,173,175,176,178],[82,130,147,148,162,179],[82,95,99,130,147,148,173],[82,95,130,147,148,162,173],[82,90,130,147,148],[82,92,95,130,147,148,170,173],[82,130,147,148,150,170],[82,130,147,148,180],[82,90,130,147,148,180],[82,92,95,130,147,148,150,173],[82,87,88,91,94,130,141,147,148,162,173],[82,95,102,130,147,148],[82,87,93,130,147,148],[82,95,116,117,130,147,148],[82,91,95,130,147,148,165,173,180],[82,116,130,147,148,180],[82,89,90,130,147,148,180],[82,95,130,147,148],[82,89,90,91,92,93,94,95,96,97,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,117,118,119,120,121,122,130,147,148],[82,95,110,130,147,148],[82,95,102,103,130,147,148],[82,93,95,103,104,130,147,148],[82,94,130,147,148],[82,87,90,95,130,147,148],[82,95,99,103,104,130,147,148],[82,99,130,147,148],[82,93,95,98,130,147,148,173],[82,87,92,95,102,130,147,148],[82,130,147,148,162],[82,90,95,116,130,147,148,178,180],[59,60,82,130,147,148],[60,61,82,130,147,148],[63,74,82,130,147,148],[59,63,74,82,130,147,148],[66,74,82,130,147,148],[66,68,82,130,135,147,148],[59,63,64,65,82,130,147,148],[59,70,82,130,142,147,148,152],[59,63,82,130,147,148],[66,82,130,147,148],[59,63,64,66,67,68,69,70,71,72,73,82,130,147,148,152],[59,82,130,147,148],[59,82,130,147,148,149]],"fileInfos":[{"version":"c430d44666289dae81f30fa7b2edebf186ecc91a2d4c71266ea6ae76388792e1","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"e44bb8bbac7f10ecc786703fe0a6a4b952189f908707980ba8f3c8975a760962","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","impliedFormat":1},{"version":"ee7bad0c15b58988daa84371e0b89d313b762ab83cb5b31b8a2d1162e8eb41c2","impliedFormat":1},{"version":"080941d9f9ff9307f7e27a83bcd888b7c8270716c39af943532438932ec1d0b9","affectsGlobalScope":true,"impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"0559b1f683ac7505ae451f9a96ce4c3c92bdc71411651ca6ddb0e88baaaad6a3","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"fb0f136d372979348d59b3f5020b4cdb81b5504192b1cacff5d1fbba29378aa1","affectsGlobalScope":true,"impliedFormat":1},{"version":"d15bea3d62cbbdb9797079416b8ac375ae99162a7fba5de2c6c505446486ac0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"68d18b664c9d32a7336a70235958b8997ebc1c3b8505f4f1ae2b7e7753b87618","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb3d66c8327153d8fa7dd03f9c58d351107fe824c79e9b56b462935176cdf12a","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"a680117f487a4d2f30ea46f1b4b7f58bef1480456e18ba53ee85c2746eeca012","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"954296b30da6d508a104a3a0b5d96b76495c709785c1d11610908e63481ee667","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"d6d7ae4d1f1f3772e2a3cde568ed08991a8ae34a080ff1151af28b7f798e22ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"52ada8e0b6e0482b728070b7639ee42e83a9b1c22d205992756fe020fd9f4a47","affectsGlobalScope":true,"impliedFormat":1},{"version":"3bdefe1bfd4d6dee0e26f928f93ccc128f1b64d5d501ff4a8cf3c6371200e5e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"639e512c0dfc3fad96a84caad71b8834d66329a1f28dc95e3946c9b58176c73a","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true,"impliedFormat":1},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true,"impliedFormat":1},{"version":"959d36cddf5e7d572a65045b876f2956c973a586da58e5d26cde519184fd9b8a","affectsGlobalScope":true,"impliedFormat":1},{"version":"965f36eae237dd74e6cca203a43e9ca801ce38824ead814728a2807b1910117d","affectsGlobalScope":true,"impliedFormat":1},{"version":"3925a6c820dcb1a06506c90b1577db1fdbf7705d65b62b99dce4be75c637e26b","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a3d63ef2b853447ec4f749d3f368ce642264246e02911fcb1590d8c161b8005","affectsGlobalScope":true,"impliedFormat":1},{"version":"8cdf8847677ac7d20486e54dd3fcf09eda95812ac8ace44b4418da1bbbab6eb8","affectsGlobalScope":true,"impliedFormat":1},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true,"impliedFormat":1},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true,"impliedFormat":1},{"version":"b4b67b1a91182421f5df999988c690f14d813b9850b40acd06ed44691f6727ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"403fdbf2ccd4ee93885b974d1252a3a0deed3640c2d4f8bf9cbc06a264df564e","signature":"e1a4b682ec2ed798c79fec724c40f8c702fa2c6d45dd08613c916e3ddd53ebcd","impliedFormat":99},{"version":"1ddb3f3166a4afa8809df17f74e04b3da88d55f50b5c6fb5612315020e554c23","signature":"90b0ba1b618b040b715d54ab704b1be8c3859154f34f94de0026dc0d5e97bd26","impliedFormat":99},{"version":"23519c78a8f32a96852bab2733dfa3f8729f900a6804f6917ead930e80e23542","signature":"3eec31f843a881e0877405c5787e4abb27edad891cc4071832e1f4ba79ac0e8c","impliedFormat":99},{"version":"73e50a8d7fb61b3a64ddf41549d8fd3659d99e873ab8c5e201c960a960433e37","impliedFormat":99},{"version":"0423ce39c6a1609bc96111d709eca3ec5488c04d93377c85a17e97a16ed10031","signature":"8b630f1c4c3e2af9c2f56cf0b0e6d0804726009438af2bbc1bdc2b1f01aecbc6","impliedFormat":99},{"version":"136d7656743b03ffa6106087acb6263ffb28a67a3094d1d1050e1df82ad53373","signature":"521daa0d0b3bcb99d555d0aac51ff7ad954af8f515bbd3eb961f34c4f2606649","impliedFormat":99},{"version":"37ceed22c3b642ef7ca84b47018e10d941989c5bb54e4569391d173bd9066a48","signature":"9ca756156a20030443c6564c90a8bbd28551e02e61bcb15994d9bbcf657f2522","impliedFormat":99},{"version":"f1a6a0e142423c2b1415dfa7ba500bfee271e05afc041a71be52653e9d7761da","signature":"3f830dcbc129dfb1b93cb210fee20308d53ef9ff41b84a548968263f9f07c396","impliedFormat":99},{"version":"b0cb97ca96fe5e9f84849a0367bd8a3d23812b5681e4f99887a1aaf38eda17db","signature":"85913556e3abec93475281e8b9fb209ab7c22780ddb79466e2d0e9b9e5371850","impliedFormat":99},{"version":"df2131eddc6f513c0cb5c21a3477f011b269bad6d89ff27ae639665a0f2cbeac","signature":"ba85d2d9e4aa35dbd5be8974015b88977fa060e91165aef96b4ff658d1e5726e","impliedFormat":99},{"version":"0a409b634ca300361a5d8236c244cba96732ac7d058c1c4566f11a7e019eb2d8","signature":"d9aa0f21404aa99ead598a0f790319da41eea3e9202083226d4c47cc1e64e16a","impliedFormat":99},{"version":"71fe322a435d747e4323a0b4a726817052f96411484ec64976a408d22418d505","signature":"28702b06c15d967006906d07dec6ccb440cc7bd568065b655b1e829a72d8fb5e","impliedFormat":99},{"version":"85a3fa942aea0a2bde407e16a8f093ebec5e6962956a706423eb4f3087ae8b9f","signature":"d63822cd106576a1e3f79bb56d95785af954f446442083e845157905414116da","impliedFormat":99},{"version":"2241c5ba0a17058dfdbcdda1d103c66e9323e157422ede034fc2661fc06e957b","signature":"774c16134e432354ac094fec023d27e91ea27760fac13454f76f1f216547324a","impliedFormat":99},{"version":"a589d5bc9647f8efb1b5705fb1b319fd81441e036d739eabdecf3cad4264e0e3","signature":"ca3ddf2e4a1978454996619d8c80106069c59cca767af4ff5d45282776a28674","impliedFormat":99},{"version":"44b72559860369cb3be2ef65b738a4941bc25f1c7bb8d9e04b82a23ed03d24c5","signature":"716786e2f419a0edd5590f9d5d5697a782466d4dba5423954cc39d9120ae1aaa","impliedFormat":99},{"version":"f3f3113d9cb2ed1351a2461603049dd064a8aab9f43eba86817e2d3f7cf9c191","signature":"4190b4c7dd2f1964a59b8ad54de090e8dc7ebf46eb3e652c83911e46dee0c62c","impliedFormat":99},{"version":"a41d9bee248a25b55b54207f52cb37c8242e028285f9c8fcfff8eedc5c057f84","signature":"c94078d2af6a362bfa95c32318a704eeefb8d945dd3effc4183100d62106ab01","impliedFormat":99},{"version":"6c7176368037af28cb72f2392010fa1cef295d6d6744bca8cfb54985f3a18c3e","affectsGlobalScope":true,"impliedFormat":1},{"version":"ab41ef1f2cdafb8df48be20cd969d875602483859dc194e9c97c8a576892c052","affectsGlobalScope":true,"impliedFormat":1},{"version":"437e20f2ba32abaeb7985e0afe0002de1917bc74e949ba585e49feba65da6ca1","affectsGlobalScope":true,"impliedFormat":1},{"version":"21d819c173c0cf7cc3ce57c3276e77fd9a8a01d35a06ad87158781515c9a438a","impliedFormat":1},{"version":"98cffbf06d6bab333473c70a893770dbe990783904002c4f1a960447b4b53dca","affectsGlobalScope":true,"impliedFormat":1},{"version":"3af97acf03cc97de58a3a4bc91f8f616408099bc4233f6d0852e72a8ffb91ac9","affectsGlobalScope":true,"impliedFormat":1},{"version":"808069bba06b6768b62fd22429b53362e7af342da4a236ed2d2e1c89fcca3b4a","affectsGlobalScope":true,"impliedFormat":1},{"version":"1db0b7dca579049ca4193d034d835f6bfe73096c73663e5ef9a0b5779939f3d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"9798340ffb0d067d69b1ae5b32faa17ab31b82466a3fc00d8f2f2df0c8554aaa","affectsGlobalScope":true,"impliedFormat":1},{"version":"f26b11d8d8e4b8028f1c7d618b22274c892e4b0ef5b3678a8ccbad85419aef43","affectsGlobalScope":true,"impliedFormat":1},{"version":"5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","impliedFormat":1},{"version":"763fe0f42b3d79b440a9b6e51e9ba3f3f91352469c1e4b3b67bfa4ff6352f3f4","impliedFormat":1},{"version":"25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","impliedFormat":1},{"version":"c464d66b20788266e5353b48dc4aa6bc0dc4a707276df1e7152ab0c9ae21fad8","impliedFormat":1},{"version":"78d0d27c130d35c60b5e5566c9f1e5be77caf39804636bc1a40133919a949f21","impliedFormat":1},{"version":"c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","impliedFormat":1},{"version":"1d6e127068ea8e104a912e42fc0a110e2aa5a66a356a917a163e8cf9a65e4a75","impliedFormat":1},{"version":"5ded6427296cdf3b9542de4471d2aa8d3983671d4cac0f4bf9c637208d1ced43","impliedFormat":1},{"version":"7f182617db458e98fc18dfb272d40aa2fff3a353c44a89b2c0ccb3937709bfb5","impliedFormat":1},{"version":"cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","impliedFormat":1},{"version":"385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","impliedFormat":1},{"version":"9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","impliedFormat":1},{"version":"0b8a9268adaf4da35e7fa830c8981cfa22adbbe5b3f6f5ab91f6658899e657a7","impliedFormat":1},{"version":"11396ed8a44c02ab9798b7dca436009f866e8dae3c9c25e8c1fbc396880bf1bb","impliedFormat":1},{"version":"ba7bc87d01492633cb5a0e5da8a4a42a1c86270e7b3d2dea5d156828a84e4882","impliedFormat":1},{"version":"4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","impliedFormat":1},{"version":"c21dc52e277bcfc75fac0436ccb75c204f9e1b3fa5e12729670910639f27343e","impliedFormat":1},{"version":"13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","impliedFormat":1},{"version":"9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","impliedFormat":1},{"version":"4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","impliedFormat":1},{"version":"24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","impliedFormat":1},{"version":"ea0148f897b45a76544ae179784c95af1bd6721b8610af9ffa467a518a086a43","impliedFormat":1},{"version":"24c6a117721e606c9984335f71711877293a9651e44f59f3d21c1ea0856f9cc9","impliedFormat":1},{"version":"dd3273ead9fbde62a72949c97dbec2247ea08e0c6952e701a483d74ef92d6a17","impliedFormat":1},{"version":"405822be75ad3e4d162e07439bac80c6bcc6dbae1929e179cf467ec0b9ee4e2e","impliedFormat":1},{"version":"0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","impliedFormat":1},{"version":"e61be3f894b41b7baa1fbd6a66893f2579bfad01d208b4ff61daef21493ef0a8","impliedFormat":1},{"version":"bd0532fd6556073727d28da0edfd1736417a3f9f394877b6d5ef6ad88fba1d1a","impliedFormat":1},{"version":"89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","impliedFormat":1},{"version":"615ba88d0128ed16bf83ef8ccbb6aff05c3ee2db1cc0f89ab50a4939bfc1943f","impliedFormat":1},{"version":"a4d551dbf8746780194d550c88f26cf937caf8d56f102969a110cfaed4b06656","impliedFormat":1},{"version":"8bd86b8e8f6a6aa6c49b71e14c4ffe1211a0e97c80f08d2c8cc98838006e4b88","impliedFormat":1},{"version":"317e63deeb21ac07f3992f5b50cdca8338f10acd4fbb7257ebf56735bf52ab00","impliedFormat":1},{"version":"4732aec92b20fb28c5fe9ad99521fb59974289ed1e45aecb282616202184064f","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"bf67d53d168abc1298888693338cb82854bdb2e69ef83f8a0092093c2d562107","impliedFormat":1},{"version":"b52476feb4a0cbcb25e5931b930fc73cb6643fb1a5060bf8a3dda0eeae5b4b68","affectsGlobalScope":true,"impliedFormat":1},{"version":"f9501cc13ce624c72b61f12b3963e84fad210fbdf0ffbc4590e08460a3f04eba","affectsGlobalScope":true,"impliedFormat":1},{"version":"e7721c4f69f93c91360c26a0a84ee885997d748237ef78ef665b153e622b36c1","affectsGlobalScope":true,"impliedFormat":1},{"version":"0fa06ada475b910e2106c98c68b10483dc8811d0c14a8a8dd36efb2672485b29","impliedFormat":1},{"version":"33e5e9aba62c3193d10d1d33ae1fa75c46a1171cf76fef750777377d53b0303f","impliedFormat":1},{"version":"2b06b93fd01bcd49d1a6bd1f9b65ddcae6480b9a86e9061634d6f8e354c1468f","impliedFormat":1},{"version":"6a0cd27e5dc2cfbe039e731cf879d12b0e2dded06d1b1dedad07f7712de0d7f4","affectsGlobalScope":true,"impliedFormat":1},{"version":"13f5c844119c43e51ce777c509267f14d6aaf31eafb2c2b002ca35584cd13b29","impliedFormat":1},{"version":"e60477649d6ad21542bd2dc7e3d9ff6853d0797ba9f689ba2f6653818999c264","impliedFormat":1},{"version":"c2510f124c0293ab80b1777c44d80f812b75612f297b9857406468c0f4dafe29","affectsGlobalScope":true,"impliedFormat":1},{"version":"5524481e56c48ff486f42926778c0a3cce1cc85dc46683b92b1271865bcf015a","impliedFormat":1},{"version":"4c829ab315f57c5442c6667b53769975acbf92003a66aef19bce151987675bd1","affectsGlobalScope":true,"impliedFormat":1},{"version":"b2ade7657e2db96d18315694789eff2ddd3d8aea7215b181f8a0b303277cc579","impliedFormat":1},{"version":"9855e02d837744303391e5623a531734443a5f8e6e8755e018c41d63ad797db2","impliedFormat":1},{"version":"4d631b81fa2f07a0e63a9a143d6a82c25c5f051298651a9b69176ba28930756d","impliedFormat":1},{"version":"836a356aae992ff3c28a0212e3eabcb76dd4b0cc06bcb9607aeef560661b860d","impliedFormat":1},{"version":"1e0d1f8b0adfa0b0330e028c7941b5a98c08b600efe7f14d2d2a00854fb2f393","impliedFormat":1},{"version":"41670ee38943d9cbb4924e436f56fc19ee94232bc96108562de1a734af20dc2c","affectsGlobalScope":true,"impliedFormat":1},{"version":"c906fb15bd2aabc9ed1e3f44eb6a8661199d6c320b3aa196b826121552cb3695","impliedFormat":1},{"version":"22295e8103f1d6d8ea4b5d6211e43421fe4564e34d0dd8e09e520e452d89e659","impliedFormat":1},{"version":"58647d85d0f722a1ce9de50955df60a7489f0593bf1a7015521efe901c06d770","impliedFormat":1},{"version":"6b4e081d55ac24fc8a4631d5dd77fe249fa25900abd7d046abb87d90e3b45645","impliedFormat":1},{"version":"a10f0e1854f3316d7ee437b79649e5a6ae3ae14ffe6322b02d4987071a95362e","impliedFormat":1},{"version":"e208f73ef6a980104304b0d2ca5f6bf1b85de6009d2c7e404028b875020fa8f2","impliedFormat":1},{"version":"d163b6bc2372b4f07260747cbc6c0a6405ab3fbcea3852305e98ac43ca59f5bc","impliedFormat":1},{"version":"e6fa9ad47c5f71ff733744a029d1dc472c618de53804eae08ffc243b936f87ff","affectsGlobalScope":true,"impliedFormat":1},{"version":"a6f137d651076822d4fe884287e68fd61785a0d3d1fdb250a5059b691fa897db","impliedFormat":1},{"version":"24826ed94a78d5c64bd857570fdbd96229ad41b5cb654c08d75a9845e3ab7dde","impliedFormat":1},{"version":"8b479a130ccb62e98f11f136d3ac80f2984fdc07616516d29881f3061f2dd472","impliedFormat":1},{"version":"928af3d90454bf656a52a48679f199f64c1435247d6189d1caf4c68f2eaf921f","affectsGlobalScope":true,"impliedFormat":1},{"version":"bceb58df66ab8fb00170df20cd813978c5ab84be1d285710c4eb005d8e9d8efb","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f16a7e4deafa527ed9995a772bb380eb7d3c2c0fd4ae178c5263ed18394db2c","impliedFormat":1},{"version":"933921f0bb0ec12ef45d1062a1fc0f27635318f4d294e4d99de9a5493e618ca2","impliedFormat":1},{"version":"71a0f3ad612c123b57239a7749770017ecfe6b66411488000aba83e4546fde25","impliedFormat":1},{"version":"77fbe5eecb6fac4b6242bbf6eebfc43e98ce5ccba8fa44e0ef6a95c945ff4d98","impliedFormat":1},{"version":"4f9d8ca0c417b67b69eeb54c7ca1bedd7b56034bb9bfd27c5d4f3bc4692daca7","impliedFormat":1},{"version":"814118df420c4e38fe5ae1b9a3bafb6e9c2aa40838e528cde908381867be6466","impliedFormat":1},{"version":"a3fc63c0d7b031693f665f5494412ba4b551fe644ededccc0ab5922401079c95","impliedFormat":1},{"version":"80523c00b8544a2000ae0143e4a90a00b47f99823eb7926c1e03c494216fc363","impliedFormat":1},{"version":"37ba7b45141a45ce6e80e66f2a96c8a5ab1bcef0fc2d0f56bb58df96ec67e972","impliedFormat":1},{"version":"45650f47bfb376c8a8ed39d4bcda5902ab899a3150029684ee4c10676d9fbaee","impliedFormat":1},{"version":"746911b62b329587939560deb5c036aca48aece03147b021fa680223255d5183","affectsGlobalScope":true,"impliedFormat":1},{"version":"18fd40412d102c5564136f29735e5d1c3b455b8a37f920da79561f1fde068208","impliedFormat":1},{"version":"c8d3e5a18ba35629954e48c4cc8f11dc88224650067a172685c736b27a34a4dc","impliedFormat":1},{"version":"f0be1b8078cd549d91f37c30c222c2a187ac1cf981d994fb476a1adc61387b14","affectsGlobalScope":true,"impliedFormat":1},{"version":"0aaed1d72199b01234152f7a60046bc947f1f37d78d182e9ae09c4289e06a592","impliedFormat":1},{"version":"2b55d426ff2b9087485e52ac4bc7cfafe1dc420fc76dad926cd46526567c501a","impliedFormat":1},{"version":"66ba1b2c3e3a3644a1011cd530fb444a96b1b2dfe2f5e837a002d41a1a799e60","impliedFormat":1},{"version":"7e514f5b852fdbc166b539fdd1f4e9114f29911592a5eb10a94bb3a13ccac3c4","impliedFormat":1},{"version":"5b7aa3c4c1a5d81b411e8cb302b45507fea9358d3569196b27eb1a27ae3a90ef","affectsGlobalScope":true,"impliedFormat":1},{"version":"5987a903da92c7462e0b35704ce7da94d7fdc4b89a984871c0e2b87a8aae9e69","affectsGlobalScope":true,"impliedFormat":1},{"version":"ea08a0345023ade2b47fbff5a76d0d0ed8bff10bc9d22b83f40858a8e941501c","impliedFormat":1},{"version":"47613031a5a31510831304405af561b0ffaedb734437c595256bb61a90f9311b","impliedFormat":1},{"version":"ae062ce7d9510060c5d7e7952ae379224fb3f8f2dd74e88959878af2057c143b","impliedFormat":1},{"version":"8a1a0d0a4a06a8d278947fcb66bf684f117bf147f89b06e50662d79a53be3e9f","affectsGlobalScope":true,"impliedFormat":1},{"version":"358765d5ea8afd285d4fd1532e78b88273f18cb3f87403a9b16fef61ac9fdcfe","impliedFormat":1},{"version":"9f55299850d4f0921e79b6bf344b47c420ce0f507b9dcf593e532b09ea7eeea1","impliedFormat":1},{"version":"12f20310f22fa2cad6018638d2bfeaa966db651cea186272506e53d0f64d20dc","affectsGlobalScope":true,"impliedFormat":1}],"root":[[59,76]],"options":{"allowImportingTsExtensions":true,"composite":true,"declaration":true,"declarationMap":true,"module":199,"outDir":"./","rewriteRelativeImportExtensions":true,"rootDir":"../src","skipLibCheck":true,"sourceMap":true,"strict":true,"target":9,"tsBuildInfoFile":"./tsconfig.tsbuildinfo"},"referencedMap":[[127,1],[128,1],[129,2],[82,3],[130,4],[131,5],[132,6],[77,7],[80,8],[78,7],[79,7],[133,9],[134,10],[135,11],[136,12],[137,13],[138,14],[139,14],[140,15],[141,16],[142,17],[143,18],[83,7],[81,7],[144,19],[145,20],[146,21],[180,22],[147,23],[148,7],[149,24],[150,25],[151,26],[152,27],[153,28],[154,29],[155,30],[156,31],[157,32],[158,32],[159,33],[160,7],[161,34],[162,35],[164,36],[163,37],[165,38],[166,39],[167,40],[168,41],[169,42],[170,43],[171,44],[172,45],[173,46],[174,47],[175,48],[176,49],[177,50],[84,7],[85,7],[86,7],[124,51],[125,7],[126,7],[178,52],[179,53],[181,7],[57,7],[58,7],[10,7],[12,7],[11,7],[2,7],[13,7],[14,7],[15,7],[16,7],[17,7],[18,7],[19,7],[20,7],[3,7],[21,7],[22,7],[4,7],[23,7],[27,7],[24,7],[25,7],[26,7],[28,7],[29,7],[30,7],[5,7],[31,7],[32,7],[33,7],[34,7],[6,7],[38,7],[35,7],[36,7],[37,7],[39,7],[7,7],[40,7],[45,7],[46,7],[41,7],[42,7],[43,7],[44,7],[8,7],[50,7],[47,7],[48,7],[49,7],[51,7],[9,7],[52,7],[53,7],[54,7],[56,7],[55,7],[1,7],[102,54],[112,55],[101,54],[122,56],[93,57],[92,58],[121,59],[115,60],[120,61],[95,62],[109,63],[94,64],[118,65],[90,66],[89,59],[119,67],[91,68],[96,69],[97,7],[100,69],[87,7],[123,70],[113,71],[104,72],[105,73],[107,74],[103,75],[106,76],[116,59],[98,77],[99,78],[108,79],[88,80],[111,71],[110,69],[114,7],[117,81],[61,82],[62,83],[75,84],[76,85],[67,86],[69,87],[70,7],[59,7],[71,7],[66,88],[72,89],[64,90],[68,91],[74,92],[63,93],[73,94],[65,7],[60,7]],"latestChangedDtsFile":"./loader-webpack/index.d.ts","version":"5.9.3"}
|
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
export interface WGSLSource {
|
|
2
|
+
readonly text: string;
|
|
3
|
+
readonly path?: string;
|
|
4
|
+
readonly imports?: readonly {
|
|
5
|
+
readonly path: string;
|
|
6
|
+
readonly from: string;
|
|
7
|
+
}[];
|
|
8
|
+
}
|
|
9
|
+
export interface SourceMap {
|
|
10
|
+
readonly version: 1;
|
|
11
|
+
readonly mappings: readonly [];
|
|
12
|
+
}
|
|
13
|
+
export interface WGSLAst {
|
|
14
|
+
readonly version: 1;
|
|
15
|
+
readonly modules: readonly [{
|
|
16
|
+
readonly path: string;
|
|
17
|
+
readonly text: string;
|
|
18
|
+
}];
|
|
19
|
+
readonly diagnostics: readonly [];
|
|
20
|
+
readonly sourceMap: SourceMap;
|
|
21
|
+
readonly cacheKey: Record<string, string>;
|
|
22
|
+
}
|
|
23
|
+
export interface ResolvedShader {
|
|
24
|
+
readonly kind: "wgsl";
|
|
25
|
+
readonly wgsl: string;
|
|
26
|
+
readonly source: WGSLSource;
|
|
27
|
+
readonly ast: WGSLAst;
|
|
28
|
+
readonly sourceMap: SourceMap;
|
|
29
|
+
readonly diagnostics: readonly [];
|
|
30
|
+
readonly cacheKey: Record<string, string>;
|
|
31
|
+
readonly entryPoints: readonly string[];
|
|
32
|
+
readonly stats: {
|
|
33
|
+
readonly lines: number;
|
|
34
|
+
readonly bytes: number;
|
|
35
|
+
readonly bindGroups: number;
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAChF;AAED,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;IACpB,QAAQ,CAAC,QAAQ,EAAE,SAAS,EAAE,CAAC;CAChC;AAED,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;IACpB,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC9E,QAAQ,CAAC,WAAW,EAAE,SAAS,EAAE,CAAC;IAClC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAC9B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC3C;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAC5B,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAC9B,QAAQ,CAAC,WAAW,EAAE,SAAS,EAAE,CAAC;IAClC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1C,QAAQ,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;IACxC,QAAQ,CAAC,KAAK,EAAE;QAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;CACjG"}
|
package/dist/types.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
|
package/package.json
ADDED
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@vgpu/wgsl",
|
|
3
|
+
"version": "0.0.1",
|
|
4
|
+
"description": "WGSL shader compilation, runtime resolution, and webpack/vite loaders for vgpu.",
|
|
5
|
+
"keywords": [
|
|
6
|
+
"webgpu",
|
|
7
|
+
"graphics",
|
|
8
|
+
"rendering",
|
|
9
|
+
"wgsl",
|
|
10
|
+
"shader",
|
|
11
|
+
"webpack-loader",
|
|
12
|
+
"vite-plugin"
|
|
13
|
+
],
|
|
14
|
+
"homepage": "https://github.com/vercel-labs/vgpu#readme",
|
|
15
|
+
"bugs": {
|
|
16
|
+
"url": "https://github.com/vercel-labs/vgpu/issues"
|
|
17
|
+
},
|
|
18
|
+
"repository": {
|
|
19
|
+
"type": "git",
|
|
20
|
+
"url": "git+https://github.com/vercel-labs/vgpu.git",
|
|
21
|
+
"directory": "packages/wgsl"
|
|
22
|
+
},
|
|
23
|
+
"license": "MIT",
|
|
24
|
+
"author": "Matias Gonzalez <matiasngf@hotmail.com>",
|
|
25
|
+
"private": false,
|
|
26
|
+
"publishConfig": {
|
|
27
|
+
"access": "public"
|
|
28
|
+
},
|
|
29
|
+
"sideEffects": false,
|
|
30
|
+
"type": "module",
|
|
31
|
+
"exports": {
|
|
32
|
+
".": {
|
|
33
|
+
"types": "./dist/index.d.ts",
|
|
34
|
+
"import": "./dist/index.js"
|
|
35
|
+
},
|
|
36
|
+
"./runtime": {
|
|
37
|
+
"types": "./dist/runtime/resolveShader.d.ts",
|
|
38
|
+
"import": "./dist/runtime/resolveShader.js"
|
|
39
|
+
},
|
|
40
|
+
"./loader-webpack": {
|
|
41
|
+
"types": "./dist/loader-webpack/index.d.ts",
|
|
42
|
+
"import": "./dist/loader-webpack/index.js"
|
|
43
|
+
},
|
|
44
|
+
"./loader-vite": {
|
|
45
|
+
"types": "./dist/loader-vite/index.d.ts",
|
|
46
|
+
"import": "./dist/loader-vite/index.js"
|
|
47
|
+
}
|
|
48
|
+
},
|
|
49
|
+
"files": [
|
|
50
|
+
"dist",
|
|
51
|
+
"src/**/*.docs.md",
|
|
52
|
+
"README.md",
|
|
53
|
+
"LICENSE"
|
|
54
|
+
],
|
|
55
|
+
"vgpuExportBundleBudgetsGzipBytes": {
|
|
56
|
+
".": 25600,
|
|
57
|
+
"./runtime": 204800,
|
|
58
|
+
"./loader-webpack": 204800,
|
|
59
|
+
"./loader-vite": 204800
|
|
60
|
+
},
|
|
61
|
+
"scripts": {
|
|
62
|
+
"build": "tsc -b"
|
|
63
|
+
}
|
|
64
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# ResolvedShader
|
|
2
|
+
|
|
3
|
+
`ResolvedShader` is the plain-WGSL shader description shared by `@vgpu/wgsl` and
|
|
4
|
+
`@vgpu/core`. It is intentionally data-only: `compile(wgsl)` returns it, and
|
|
5
|
+
`device.createShader(resolved)` turns it into a GPU shader module.
|
|
6
|
+
|
|
7
|
+
Public shape includes:
|
|
8
|
+
|
|
9
|
+
- `kind: "wgsl"` and `wgsl`: the unchanged WGSL source.
|
|
10
|
+
- `source`, `ast`, `sourceMap`: passthrough metadata with empty import and
|
|
11
|
+
diagnostics lists.
|
|
12
|
+
- `cacheKey`: deterministic source key for future shader caches.
|
|
13
|
+
- `entryPoints`: names detected from `@vertex`, `@fragment`, and `@compute`
|
|
14
|
+
declarations.
|
|
15
|
+
- `stats`: line count, UTF-8 byte count, and placeholder bind-group count.
|
|
16
|
+
|
|
17
|
+
Invariants: `compile()` does not resolve imports, mangle names, or build full
|
|
18
|
+
reflection. Runtime strings containing `import` are rejected before a
|
|
19
|
+
`ResolvedShader` is created. Consumers should treat fields as read-only and
|
|
20
|
+
pass the object across package boundaries rather than depending on the
|
|
21
|
+
placeholder AST internals.
|
|
22
|
+
|
|
23
|
+
Example:
|
|
24
|
+
|
|
25
|
+
```ts
|
|
26
|
+
const resolved = compile(wgslSource);
|
|
27
|
+
const shader = device.createShader(resolved);
|
|
28
|
+
```
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# compile
|
|
2
|
+
|
|
3
|
+
`compile(wgsl: string)` is the `@vgpu/wgsl` entry point. It accepts a plain WGSL
|
|
4
|
+
runtime string and returns a `ResolvedShader` that `@vgpu/core` can turn into a
|
|
5
|
+
`Shader` with `device.createShader(...)`.
|
|
6
|
+
|
|
7
|
+
Public behavior:
|
|
8
|
+
|
|
9
|
+
- The input WGSL text is passed through byte-for-byte as `resolved.wgsl`.
|
|
10
|
+
- Entry-point names are detected for convenience.
|
|
11
|
+
- `source`, `sourceMap`, `ast`, `cacheKey`, and `stats` are populated with
|
|
12
|
+
passthrough metadata.
|
|
13
|
+
- Any runtime `import` keyword throws a structured error with code
|
|
14
|
+
`VGPU-WGSL-RUNTIME-IMPORT`.
|
|
15
|
+
|
|
16
|
+
Invariants: `compile()` performs no import resolution, package lookup, shader
|
|
17
|
+
rewriting, or semantic validation beyond the explicit import rejection.
|
|
18
|
+
|
|
19
|
+
Example:
|
|
20
|
+
|
|
21
|
+
```ts
|
|
22
|
+
const resolved = compile("@compute @workgroup_size(1) fn main() {}");
|
|
23
|
+
const shader = device.createShader(resolved);
|
|
24
|
+
```
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
# wgslVitePlugin
|
|
2
|
+
|
|
3
|
+
`wgslVitePlugin` lets Vite import `.wgsl` files as JavaScript string modules. Plain WGSL files are returned as raw source strings, while files with top-level vgpu-wgsl imports are resolved into one plain WGSL string during Vite transform.
|
|
4
|
+
|
|
5
|
+
`transformWgsl(source, id)` is the testable transform primitive. It accepts the WGSL source and file id, and returns `ViteLoadResult` with JavaScript code plus `map: null`; the code default-exports the original or resolved WGSL string. The default plugin wraps that primitive with `{ name, transform }` and only handles paths ending in `.wgsl`.
|
|
6
|
+
|
|
7
|
+
Resolution failures, package export problems, invalid imports, and validation-disabled resolver errors surface as structured `VGPU-WGSL-*` exceptions from the transform. Vite catches those exceptions and presents them as transform failures. Loader options are deliberately small in this release; callers configure module layout through normal file paths, package `exports`, and resolver-compatible source files.
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
# wgslWebpackLoader
|
|
2
|
+
|
|
3
|
+
`wgslWebpackLoader` lets webpack-compatible bundlers import `.wgsl` files as JavaScript string modules. Plain WGSL files are emitted unchanged as `export default "..."`; files with top-level vgpu-wgsl imports are resolved to one plain WGSL string before webpack receives the module.
|
|
4
|
+
|
|
5
|
+
The loader input is the WGSL source and the webpack loader context, including `resourcePath`. It outputs JavaScript module source whose default export is the resolved WGSL string. Imported files are read relative to `resourcePath`, so normal webpack file watching should include the entry file while resolver errors identify missing or invalid imported modules.
|
|
6
|
+
|
|
7
|
+
The loader must run in asynchronous loader mode when imports are present. If async mode is unavailable, or if resolution fails, it reports a structured `VGPU-WGSL-*` error through webpack's callback. Loader options are intentionally minimal in this release; package resolution is controlled by filesystem/package metadata rather than loader-specific syntax.
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
# resolveShader
|
|
2
|
+
|
|
3
|
+
`resolveShader` loads a WGSL entry module, follows vgpu-wgsl import/export declarations, and returns a single plain WGSL string that can be passed to WebGPU. Callers can provide `modules` as an in-memory filesystem or let the resolver read files from disk; relative imports resolve from the importing module, `@/` imports use `rootDir`, and package imports use `packageMap` or package `exports`. With validation enabled, emitted WGSL is checked by the configured validator and failures are reported as structured `VGPU-WGSL-*` diagnostics.
|
|
4
|
+
|
|
5
|
+
`ResolveOptions` contains the entry path plus optional `rootDir`, `packageMap`, `modules`, and `validate` flag. The output `ResolvedShader` contains `wgsl`, entry-point `cacheKey` values, `reflection`, a `sourceMap`, `diagnostics`, and `ast`. Resolution throws structured errors for missing files, invalid imports, missing exports, duplicate JavaScript-visible names, namespace misuse, mangle collisions, and validator errors.
|
|
6
|
+
|
|
7
|
+
`WGSLAst` is a lightweight tooling view over the resolved graph. Its `modules` array contains `WGSLModule` records with module path, byte size, stable path hash prefix, imports, and exports; it does not expose parser internals. The AST also carries the same `cacheKey`, diagnostics, and `SourceMap` returned at the top level.
|
|
8
|
+
|
|
9
|
+
`SourceMap` identifies the generated source list used for diagnostic remapping. It is line-oriented in this release: diagnostics expose authored file and line, while columns may be approximate when a line contains substituted identifiers. Approximate-column diagnostics keep their primary validator code and add `VGPU-WGSL-COL-APPROX` metadata so tooling can detect the limitation without parsing messages.
|