@simulatte/webgpu 0.3.1 → 0.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. package/CHANGELOG.md +27 -12
  2. package/LICENSE +191 -0
  3. package/README.md +55 -41
  4. package/api-contract.md +67 -49
  5. package/architecture.md +317 -0
  6. package/assets/package-layers.svg +3 -3
  7. package/docs/doe-api-reference.html +1842 -0
  8. package/doe-api-design.md +237 -0
  9. package/examples/doe-api/README.md +19 -0
  10. package/examples/doe-api/buffers-readback.js +3 -2
  11. package/examples/{doe-routines/compute-once-like-input.js → doe-api/compute-one-shot-like-input.js} +1 -1
  12. package/examples/{doe-routines/compute-once-matmul.js → doe-api/compute-one-shot-matmul.js} +2 -2
  13. package/examples/{doe-routines/compute-once-multiple-inputs.js → doe-api/compute-one-shot-multiple-inputs.js} +1 -1
  14. package/examples/{doe-routines/compute-once.js → doe-api/compute-one-shot.js} +1 -1
  15. package/examples/doe-api/{compile-and-dispatch.js → kernel-create-and-dispatch.js} +4 -6
  16. package/examples/doe-api/{compute-dispatch.js → kernel-run.js} +4 -6
  17. package/headless-webgpu-comparison.md +3 -3
  18. package/jsdoc-style-guide.md +435 -0
  19. package/native/doe_napi.c +1481 -84
  20. package/package.json +18 -6
  21. package/prebuilds/darwin-arm64/doe_napi.node +0 -0
  22. package/prebuilds/darwin-arm64/libwebgpu_doe.dylib +0 -0
  23. package/prebuilds/darwin-arm64/metadata.json +5 -5
  24. package/prebuilds/linux-x64/metadata.json +1 -1
  25. package/scripts/generate-doe-api-docs.js +1607 -0
  26. package/scripts/generate-readme-assets.js +3 -3
  27. package/src/build_metadata.js +7 -4
  28. package/src/bun-ffi.js +1229 -474
  29. package/src/bun.js +5 -1
  30. package/src/compute.d.ts +16 -7
  31. package/src/compute.js +84 -53
  32. package/src/full.d.ts +16 -7
  33. package/src/full.js +12 -10
  34. package/src/index.js +679 -1324
  35. package/src/runtime_cli.js +17 -17
  36. package/src/shared/capabilities.js +144 -0
  37. package/src/shared/compiler-errors.js +78 -0
  38. package/src/shared/encoder-surface.js +295 -0
  39. package/src/shared/full-surface.js +514 -0
  40. package/src/shared/public-surface.js +82 -0
  41. package/src/shared/resource-lifecycle.js +120 -0
  42. package/src/shared/validation.js +495 -0
  43. package/src/webgpu_constants.js +30 -0
  44. package/support-contracts.md +2 -2
  45. package/compat-scope.md +0 -46
  46. package/layering-plan.md +0 -259
  47. package/src/auto_bind_group_layout.js +0 -32
  48. package/src/doe.d.ts +0 -184
  49. package/src/doe.js +0 -641
  50. package/zig-source-inventory.md +0 -468
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@simulatte/webgpu",
3
- "version": "0.3.1",
3
+ "version": "0.3.2",
4
4
  "description": "Headless WebGPU runtime for Node.js and Bun, powered by Doe",
5
5
  "type": "module",
6
6
  "main": "./src/node-runtime.js",
@@ -32,23 +32,31 @@
32
32
  "fawn-webgpu-bench": "./bin/fawn-webgpu-bench.js",
33
33
  "fawn-webgpu-compare": "./bin/fawn-webgpu-compare.js"
34
34
  },
35
+ "engines": {
36
+ "node": ">=18"
37
+ },
38
+ "dependencies": {
39
+ "@simulatte/webgpu-doe": "^0.3.2"
40
+ },
35
41
  "files": [
36
42
  "assets/",
37
43
  "bin/",
44
+ "docs/",
38
45
  "examples/",
39
46
  "src/",
40
47
  "scripts/",
41
48
  "native/",
42
49
  "prebuilds/",
43
50
  "binding.gyp",
51
+ "LICENSE",
44
52
  "README.md",
45
53
  "CHANGELOG.md",
46
54
  "api-contract.md",
47
- "compat-scope.md",
48
- "support-contracts.md",
49
- "layering-plan.md",
50
- "zig-source-inventory.md",
55
+ "architecture.md",
56
+ "doe-api-design.md",
51
57
  "headless-webgpu-comparison.md",
58
+ "jsdoc-style-guide.md",
59
+ "support-contracts.md",
52
60
  "doe-build-metadata.schema.json",
53
61
  "prebuild-metadata.schema.json"
54
62
  ],
@@ -56,8 +64,9 @@
56
64
  "install": "node scripts/install.js",
57
65
  "build:addon": "node-gyp rebuild",
58
66
  "build:readme-assets": "node scripts/generate-readme-assets.js",
67
+ "build:doe-docs": "node scripts/generate-doe-api-docs.js",
59
68
  "prebuild": "node scripts/prebuild.js",
60
- "test": "node ./test-node.js && node ./test-package-exports.js",
69
+ "test": "node ./test-node.js && node ./test-surface-node.js && node ./test-doe-api-comprehensive.js && node ./test-package-exports.js",
61
70
  "test:bun": "bun ./test-bun.js",
62
71
  "smoke": "node scripts/smoke-test.js"
63
72
  },
@@ -80,6 +89,9 @@
80
89
  "bugs": {
81
90
  "url": "https://github.com/clocksmith/fawn/issues"
82
91
  },
92
+ "publishConfig": {
93
+ "access": "public"
94
+ },
83
95
  "author": "Fawn",
84
96
  "license": "Apache-2.0"
85
97
  }
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "schemaVersion": 1,
3
3
  "package": "@simulatte/webgpu",
4
- "packageVersion": "0.3.1",
4
+ "packageVersion": "0.3.2",
5
5
  "platform": "darwin",
6
6
  "arch": "arm64",
7
7
  "nodeNapiVersion": 8,
8
- "doeVersion": "dae96664a",
8
+ "doeVersion": "cf9d655d0",
9
9
  "doeBuild": {
10
10
  "artifact": "libwebgpu_doe",
11
11
  "leanVerifiedBuild": false,
@@ -13,14 +13,14 @@
13
13
  },
14
14
  "files": {
15
15
  "doe_napi.node": {
16
- "sha256": "4baee8a48487e8725b7b6bbccd269da4b4868d28c4d4a26e8ee075f3a8d1e75a"
16
+ "sha256": "58d6b1e615310e72d120942d5187f4101ed8ec8cbae8946c93c5b511262118bc"
17
17
  },
18
18
  "libwebgpu_doe.dylib": {
19
- "sha256": "1598ea11e54c7087ebe9020c07b5bbc0f7d376927b20edac3ed9ca08a0fe6789"
19
+ "sha256": "eeced734b85a33c21663cad32bb0dac277337d5e2cf52eca28cd8855c49fbdc4"
20
20
  },
21
21
  "libwebgpu_dawn.dylib": {
22
22
  "sha256": "828fb9ef95b08b4192cb9e84392e432e0d0a4ebca90df678e076e2e3c731b82e"
23
23
  }
24
24
  },
25
- "builtAt": "2026-03-11T18:42:09.399Z"
25
+ "builtAt": "2026-03-15T00:33:51.851Z"
26
26
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "schemaVersion": 1,
3
3
  "package": "@simulatte/webgpu",
4
- "packageVersion": "0.3.1",
4
+ "packageVersion": "0.3.2",
5
5
  "platform": "linux",
6
6
  "arch": "x64",
7
7
  "nodeNapiVersion": 8,