@plasius/gpu-lock-free-queue
Advanced tools
+18
-0
@@ -23,2 +23,19 @@ # Changelog | ||
| ## [0.2.16] - 2026-04-02 | ||
| - **Added** | ||
| - Contract tests that keep the demo on the public `@plasius/gpu-shared` | ||
| browser import surface. | ||
| - **Changed** | ||
| - Updated the README to describe the live 3D queue-driven validation scene | ||
| and visible DAG scheduler state correctly. | ||
| - **Fixed** | ||
| - Removed the demo's deep import of `@plasius/gpu-shared` internals in favor | ||
| of an import-map-backed package import. | ||
| - **Security** | ||
| - (placeholder) | ||
| ## [0.2.15] - 2026-03-23 | ||
@@ -326,1 +343,2 @@ | ||
| [0.2.15]: https://github.com/Plasius-LTD/gpu-lock-free-queue/releases/tag/v0.2.15 | ||
| [0.2.16]: https://github.com/Plasius-LTD/gpu-lock-free-queue/releases/tag/v0.2.16 |
+6
-3
| { | ||
| "name": "@plasius/gpu-lock-free-queue", | ||
| "version": "0.2.15", | ||
| "version": "0.2.16", | ||
| "description": "WebGPU lock-free queue assets for flat and DAG-ready GPU job scheduling.", | ||
@@ -30,3 +30,3 @@ "type": "module", | ||
| "demo": "python3 -m http.server", | ||
| "typecheck": "node --check src/index.js", | ||
| "typecheck": "node --check src/index.js && node --check demo/main.js", | ||
| "audit:eslint": "eslint . --max-warnings=0", | ||
@@ -59,2 +59,5 @@ "audit:deps": "npm ls --all --omit=optional --omit=peer > /dev/null 2>&1 || true", | ||
| "license": "Apache-2.0", | ||
| "dependencies": { | ||
| "@plasius/gpu-shared": "^0.1.4" | ||
| }, | ||
| "devDependencies": { | ||
@@ -67,3 +70,3 @@ "@eslint/js": "^10.0.1", | ||
| "tsup": "^8.5.0", | ||
| "typescript": "^5.9.3" | ||
| "typescript": "^6.0.2" | ||
| }, | ||
@@ -70,0 +73,0 @@ "repository": { |
+13
-5
@@ -98,10 +98,17 @@ # @plasius/gpu-lock-free-queue | ||
| ## Run the demo | ||
| WebGPU requires a secure context. Use a local server, for example: | ||
| Run the demo server from the package root: | ||
| ```sh | ||
| cd gpu-lock-free-queue | ||
| npm run demo | ||
| ``` | ||
| python3 -m http.server | ||
| ``` | ||
| Then open `http://localhost:8000` and check the console/output. | ||
| Then open `http://localhost:8000/demo/`. | ||
| The demo mounts the shared `@plasius/gpu-shared` 3D harbor surface and uses the | ||
| queue package's DAG graph to drive visible scene behavior. Root jobs, priority | ||
| lanes, dependency joins, and stress-mode graph expansion all stay visible in | ||
| context while `@plasius/gpu-lock-free-queue` continues to own the scheduling | ||
| contract instead of a package-local 2D validation surface. | ||
| ## Build Outputs | ||
@@ -131,3 +138,4 @@ | ||
| - `demo/index.html`: Loads the demo. | ||
| - `demo/main.js`: WebGPU setup, enqueue/dequeue test, FFT spectrogram, and randomness heuristics. | ||
| - `demo/main.js`: Shared 3D harbor validation scene driven by DAG queue roots, | ||
| priority lanes, and dependency joins. | ||
| - `src/queue.wgsl`: Flat lock-free queue implementation. | ||
@@ -134,0 +142,0 @@ - `src/dag-queue.wgsl`: DAG-ready scheduler implementation. |
118916
0.83%151
5.59%1
Infinity%+ Added
+ Added