aigpu 0.3.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 +22 -0
- package/README.md +85 -0
- package/bin/aigpu.js +15 -0
- package/client.d.ts +15 -0
- package/dist/agent-tools.d.ts +61 -0
- package/dist/agent-tools.d.ts.map +1 -0
- package/dist/agent-tools.js +107 -0
- package/dist/agent-tools.js.map +1 -0
- package/dist/agent.d.ts +56 -0
- package/dist/agent.d.ts.map +1 -0
- package/dist/agent.js +243 -0
- package/dist/agent.js.map +1 -0
- package/dist/api-types.d.ts +56 -0
- package/dist/api-types.d.ts.map +1 -0
- package/dist/api-types.js +2 -0
- package/dist/api-types.js.map +1 -0
- package/dist/bind-cache.d.ts +19 -0
- package/dist/bind-cache.d.ts.map +1 -0
- package/dist/bind-cache.js +43 -0
- package/dist/bind-cache.js.map +1 -0
- package/dist/bundle.d.ts +30 -0
- package/dist/bundle.d.ts.map +1 -0
- package/dist/bundle.js +127 -0
- package/dist/bundle.js.map +1 -0
- package/dist/claim-validation-encode.d.ts +14 -0
- package/dist/claim-validation-encode.d.ts.map +1 -0
- package/dist/claim-validation-encode.js +28 -0
- package/dist/claim-validation-encode.js.map +1 -0
- package/dist/claim-validation.d.ts +73 -0
- package/dist/claim-validation.d.ts.map +1 -0
- package/dist/claim-validation.js +135 -0
- package/dist/claim-validation.js.map +1 -0
- package/dist/cli/bin/aigpu.js +101 -0
- package/dist/cli/lib/check/run.js +153 -0
- package/dist/cli/lib/docs/commands/cat.js +12 -0
- package/dist/cli/lib/docs/commands/find.js +180 -0
- package/dist/cli/lib/docs/commands/grep.js +49 -0
- package/dist/cli/lib/docs/commands/ls.js +41 -0
- package/dist/cli/lib/docs/commands/path.js +12 -0
- package/dist/cli/lib/docs/commands/resolve.js +41 -0
- package/dist/cli/lib/docs/commands/shared.js +13 -0
- package/dist/cli/lib/docs/commands/symbols.js +25 -0
- package/dist/cli/lib/docs/errors.js +8 -0
- package/dist/cli/lib/docs/generate/check-drift.js +61 -0
- package/dist/cli/lib/docs/generate/cli.js +12 -0
- package/dist/cli/lib/docs/generate/generate.js +113 -0
- package/dist/cli/lib/docs/generate/manifest.js +218 -0
- package/dist/cli/lib/docs/generate/skill.js +150 -0
- package/dist/cli/lib/docs/help.js +21 -0
- package/dist/cli/lib/docs/index.js +62 -0
- package/dist/cli/lib/docs/model.js +7 -0
- package/dist/cli/lib/docs/run.js +24 -0
- package/dist/cli/lib/docs/service.js +119 -0
- package/dist/cli/lib/doctor/run.js +236 -0
- package/dist/cli/lib/examples/errors.js +13 -0
- package/dist/cli/lib/examples/hashing.js +9 -0
- package/dist/cli/lib/examples/help.js +13 -0
- package/dist/cli/lib/examples/local-source.js +142 -0
- package/dist/cli/lib/examples/paths.js +12 -0
- package/dist/cli/lib/examples/pull.js +58 -0
- package/dist/cli/lib/examples/run.js +71 -0
- package/dist/cli/lib/examples/search.js +6 -0
- package/dist/cli/lib/examples/service.js +118 -0
- package/dist/cli/lib/generated/docs-manifest.generated.js +4758 -0
- package/dist/cli/lib/install-dawn/run.js +24 -0
- package/dist/cli/lib/install-software-renderer/run.js +17 -0
- package/dist/cli/lib/mcp/http.js +93 -0
- package/dist/cli/lib/mcp/server.js +258 -0
- package/dist/cli/lib/mcp/stdio.js +34 -0
- package/dist/cli/lib/snapshot/png.js +62 -0
- package/dist/cli/lib/snapshot/render.js +22 -0
- package/dist/cli/lib/snapshot/run.js +79 -0
- package/dist/cli/lib/snapshot/shaders.js +11 -0
- package/dist/cli/package.json +4 -0
- package/dist/client.d.ts +12 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +2 -0
- package/dist/client.js.map +1 -0
- package/dist/clock.d.ts +26 -0
- package/dist/clock.d.ts.map +1 -0
- package/dist/clock.js +50 -0
- package/dist/clock.js.map +1 -0
- package/dist/compute.d.ts +41 -0
- package/dist/compute.d.ts.map +1 -0
- package/dist/compute.js +132 -0
- package/dist/compute.js.map +1 -0
- package/dist/core/render-bundle.d.ts +30 -0
- package/dist/core/render-bundle.d.ts.map +1 -0
- package/dist/core/render-bundle.js +39 -0
- package/dist/core/render-bundle.js.map +1 -0
- package/dist/core/storage-buffer.d.ts +81 -0
- package/dist/core/storage-buffer.d.ts.map +1 -0
- package/dist/core/storage-buffer.js +91 -0
- package/dist/core/storage-buffer.js.map +1 -0
- package/dist/core/structured-uniform.d.ts +33 -0
- package/dist/core/structured-uniform.d.ts.map +1 -0
- package/dist/core/structured-uniform.js +110 -0
- package/dist/core/structured-uniform.js.map +1 -0
- package/dist/core/uniform-pool-internals.d.ts +12 -0
- package/dist/core/uniform-pool-internals.d.ts.map +1 -0
- package/dist/core/uniform-pool-internals.js +24 -0
- package/dist/core/uniform-pool-internals.js.map +1 -0
- package/dist/core/uniform-pool-types.d.ts +22 -0
- package/dist/core/uniform-pool-types.d.ts.map +1 -0
- package/dist/core/uniform-pool-types.js +2 -0
- package/dist/core/uniform-pool-types.js.map +1 -0
- package/dist/core/uniform-pool.d.ts +22 -0
- package/dist/core/uniform-pool.d.ts.map +1 -0
- package/dist/core/uniform-pool.js +128 -0
- package/dist/core/uniform-pool.js.map +1 -0
- package/dist/core/uniform.d.ts +55 -0
- package/dist/core/uniform.d.ts.map +1 -0
- package/dist/core/uniform.js +64 -0
- package/dist/core/uniform.js.map +1 -0
- package/dist/core/wgsl-alignment.d.ts +24 -0
- package/dist/core/wgsl-alignment.d.ts.map +1 -0
- package/dist/core/wgsl-alignment.js +81 -0
- package/dist/core/wgsl-alignment.js.map +1 -0
- package/dist/core.d.ts +13 -0
- package/dist/core.d.ts.map +1 -0
- package/dist/core.js +7 -0
- package/dist/core.js.map +1 -0
- package/dist/dom.d.ts +37 -0
- package/dist/dom.d.ts.map +1 -0
- package/dist/dom.js +81 -0
- package/dist/dom.js.map +1 -0
- package/dist/draw-protocols.d.ts +36 -0
- package/dist/draw-protocols.d.ts.map +1 -0
- package/dist/draw-protocols.js +10 -0
- package/dist/draw-protocols.js.map +1 -0
- package/dist/draw.d.ts +248 -0
- package/dist/draw.d.ts.map +1 -0
- package/dist/draw.js +890 -0
- package/dist/draw.js.map +1 -0
- package/dist/effect.d.ts +53 -0
- package/dist/effect.d.ts.map +1 -0
- package/dist/effect.js +75 -0
- package/dist/effect.js.map +1 -0
- package/dist/entry-metadata.d.ts +16 -0
- package/dist/entry-metadata.d.ts.map +1 -0
- package/dist/entry-metadata.js +27 -0
- package/dist/entry-metadata.js.map +1 -0
- package/dist/errors.d.ts +96 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +616 -0
- package/dist/errors.js.map +1 -0
- package/dist/frame-protocols.d.ts +107 -0
- package/dist/frame-protocols.d.ts.map +1 -0
- package/dist/frame-protocols.js +20 -0
- package/dist/frame-protocols.js.map +1 -0
- package/dist/frame-state.d.ts +32 -0
- package/dist/frame-state.d.ts.map +1 -0
- package/dist/frame-state.js +62 -0
- package/dist/frame-state.js.map +1 -0
- package/dist/frame.d.ts +127 -0
- package/dist/frame.d.ts.map +1 -0
- package/dist/frame.js +645 -0
- package/dist/frame.js.map +1 -0
- package/dist/group-claim.d.ts +9 -0
- package/dist/group-claim.d.ts.map +1 -0
- package/dist/group-claim.js +7 -0
- package/dist/group-claim.js.map +1 -0
- package/dist/index.d.ts +41 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +27 -0
- package/dist/index.js.map +1 -0
- package/dist/indirect.d.ts +39 -0
- package/dist/indirect.d.ts.map +1 -0
- package/dist/indirect.js +61 -0
- package/dist/indirect.js.map +1 -0
- package/dist/init-from-device.d.ts +11 -0
- package/dist/init-from-device.d.ts.map +1 -0
- package/dist/init-from-device.js +56 -0
- package/dist/init-from-device.js.map +1 -0
- package/dist/init.d.ts +12 -0
- package/dist/init.d.ts.map +1 -0
- package/dist/init.js +7 -0
- package/dist/init.js.map +1 -0
- package/dist/kernel.d.ts +104 -0
- package/dist/kernel.d.ts.map +1 -0
- package/dist/kernel.js +151 -0
- package/dist/kernel.js.map +1 -0
- package/dist/lifecycle.d.ts +10 -0
- package/dist/lifecycle.d.ts.map +1 -0
- package/dist/lifecycle.js +21 -0
- package/dist/lifecycle.js.map +1 -0
- package/dist/live-kernel.d.ts +48 -0
- package/dist/live-kernel.d.ts.map +1 -0
- package/dist/live-kernel.js +67 -0
- package/dist/live-kernel.js.map +1 -0
- package/dist/mock.d.ts +42 -0
- package/dist/mock.d.ts.map +1 -0
- package/dist/mock.js +29 -0
- package/dist/mock.js.map +1 -0
- package/dist/node.d.ts +48 -0
- package/dist/node.d.ts.map +1 -0
- package/dist/node.js +36 -0
- package/dist/node.js.map +1 -0
- package/dist/ping-pong.d.ts +19 -0
- package/dist/ping-pong.d.ts.map +1 -0
- package/dist/ping-pong.js +67 -0
- package/dist/ping-pong.js.map +1 -0
- package/dist/pipeline-store.d.ts +89 -0
- package/dist/pipeline-store.d.ts.map +1 -0
- package/dist/pipeline-store.js +366 -0
- package/dist/pipeline-store.js.map +1 -0
- package/dist/query-ring.d.ts +91 -0
- package/dist/query-ring.d.ts.map +1 -0
- package/dist/query-ring.js +178 -0
- package/dist/query-ring.js.map +1 -0
- package/dist/render-service.d.ts +23 -0
- package/dist/render-service.d.ts.map +1 -0
- package/dist/render-service.js +37 -0
- package/dist/render-service.js.map +1 -0
- package/dist/sampler.d.ts +19 -0
- package/dist/sampler.d.ts.map +1 -0
- package/dist/sampler.js +46 -0
- package/dist/sampler.js.map +1 -0
- package/dist/scene/camera.d.ts +91 -0
- package/dist/scene/camera.d.ts.map +1 -0
- package/dist/scene/camera.js +221 -0
- package/dist/scene/camera.js.map +1 -0
- package/dist/scene/geometries.d.ts +26 -0
- package/dist/scene/geometries.d.ts.map +1 -0
- package/dist/scene/geometries.js +26 -0
- package/dist/scene/geometries.js.map +1 -0
- package/dist/scene/geometry-descriptor.d.ts +120 -0
- package/dist/scene/geometry-descriptor.d.ts.map +1 -0
- package/dist/scene/geometry-descriptor.js +378 -0
- package/dist/scene/geometry-descriptor.js.map +1 -0
- package/dist/scene/geometry-recipe.d.ts +41 -0
- package/dist/scene/geometry-recipe.d.ts.map +1 -0
- package/dist/scene/geometry-recipe.js +40 -0
- package/dist/scene/geometry-recipe.js.map +1 -0
- package/dist/scene/geometry-src/camera-math.d.ts +6 -0
- package/dist/scene/geometry-src/camera-math.d.ts.map +1 -0
- package/dist/scene/geometry-src/camera-math.js +47 -0
- package/dist/scene/geometry-src/camera-math.js.map +1 -0
- package/dist/scene/geometry-src/camera.d.ts +10 -0
- package/dist/scene/geometry-src/camera.d.ts.map +1 -0
- package/dist/scene/geometry-src/camera.js +2 -0
- package/dist/scene/geometry-src/camera.js.map +1 -0
- package/dist/scene/geometry-src/capsule-data.d.ts +10 -0
- package/dist/scene/geometry-src/capsule-data.d.ts.map +1 -0
- package/dist/scene/geometry-src/capsule-data.js +61 -0
- package/dist/scene/geometry-src/capsule-data.js.map +1 -0
- package/dist/scene/geometry-src/cone-data.d.ts +13 -0
- package/dist/scene/geometry-src/cone-data.d.ts.map +1 -0
- package/dist/scene/geometry-src/cone-data.js +52 -0
- package/dist/scene/geometry-src/cone-data.js.map +1 -0
- package/dist/scene/geometry-src/cylinder-data.d.ts +14 -0
- package/dist/scene/geometry-src/cylinder-data.d.ts.map +1 -0
- package/dist/scene/geometry-src/cylinder-data.js +58 -0
- package/dist/scene/geometry-src/cylinder-data.js.map +1 -0
- package/dist/scene/geometry-src/deg-to-rad.d.ts +2 -0
- package/dist/scene/geometry-src/deg-to-rad.d.ts.map +1 -0
- package/dist/scene/geometry-src/deg-to-rad.js +4 -0
- package/dist/scene/geometry-src/deg-to-rad.js.map +1 -0
- package/dist/scene/geometry-src/disk-data.d.ts +12 -0
- package/dist/scene/geometry-src/disk-data.d.ts.map +1 -0
- package/dist/scene/geometry-src/disk-data.js +21 -0
- package/dist/scene/geometry-src/disk-data.js.map +1 -0
- package/dist/scene/geometry-src/errors.d.ts +3 -0
- package/dist/scene/geometry-src/errors.d.ts.map +1 -0
- package/dist/scene/geometry-src/errors.js +5 -0
- package/dist/scene/geometry-src/errors.js.map +1 -0
- package/dist/scene/geometry-src/icosphere-data.d.ts +8 -0
- package/dist/scene/geometry-src/icosphere-data.d.ts.map +1 -0
- package/dist/scene/geometry-src/icosphere-data.js +58 -0
- package/dist/scene/geometry-src/icosphere-data.js.map +1 -0
- package/dist/scene/geometry-src/index.d.ts +36 -0
- package/dist/scene/geometry-src/index.d.ts.map +1 -0
- package/dist/scene/geometry-src/index.js +21 -0
- package/dist/scene/geometry-src/index.js.map +1 -0
- package/dist/scene/geometry-src/mesh-box.d.ts +8 -0
- package/dist/scene/geometry-src/mesh-box.d.ts.map +1 -0
- package/dist/scene/geometry-src/mesh-box.js +57 -0
- package/dist/scene/geometry-src/mesh-box.js.map +1 -0
- package/dist/scene/geometry-src/mesh-cache.d.ts +4 -0
- package/dist/scene/geometry-src/mesh-cache.d.ts.map +1 -0
- package/dist/scene/geometry-src/mesh-cache.js +14 -0
- package/dist/scene/geometry-src/mesh-cache.js.map +1 -0
- package/dist/scene/geometry-src/mesh-capsule.d.ts +14 -0
- package/dist/scene/geometry-src/mesh-capsule.d.ts.map +1 -0
- package/dist/scene/geometry-src/mesh-capsule.js +52 -0
- package/dist/scene/geometry-src/mesh-capsule.js.map +1 -0
- package/dist/scene/geometry-src/mesh-cone.d.ts +16 -0
- package/dist/scene/geometry-src/mesh-cone.d.ts.map +1 -0
- package/dist/scene/geometry-src/mesh-cone.js +54 -0
- package/dist/scene/geometry-src/mesh-cone.js.map +1 -0
- package/dist/scene/geometry-src/mesh-cylinder.d.ts +18 -0
- package/dist/scene/geometry-src/mesh-cylinder.d.ts.map +1 -0
- package/dist/scene/geometry-src/mesh-cylinder.js +67 -0
- package/dist/scene/geometry-src/mesh-cylinder.js.map +1 -0
- package/dist/scene/geometry-src/mesh-disk.d.ts +11 -0
- package/dist/scene/geometry-src/mesh-disk.d.ts.map +1 -0
- package/dist/scene/geometry-src/mesh-disk.js +45 -0
- package/dist/scene/geometry-src/mesh-disk.js.map +1 -0
- package/dist/scene/geometry-src/mesh-dodecahedron.d.ts +4 -0
- package/dist/scene/geometry-src/mesh-dodecahedron.d.ts.map +1 -0
- package/dist/scene/geometry-src/mesh-dodecahedron.js +10 -0
- package/dist/scene/geometry-src/mesh-dodecahedron.js.map +1 -0
- package/dist/scene/geometry-src/mesh-fullscreen-quad.d.ts +7 -0
- package/dist/scene/geometry-src/mesh-fullscreen-quad.d.ts.map +1 -0
- package/dist/scene/geometry-src/mesh-fullscreen-quad.js +39 -0
- package/dist/scene/geometry-src/mesh-fullscreen-quad.js.map +1 -0
- package/dist/scene/geometry-src/mesh-icosahedron.d.ts +4 -0
- package/dist/scene/geometry-src/mesh-icosahedron.d.ts.map +1 -0
- package/dist/scene/geometry-src/mesh-icosahedron.js +10 -0
- package/dist/scene/geometry-src/mesh-icosahedron.js.map +1 -0
- package/dist/scene/geometry-src/mesh-icosphere.d.ts +11 -0
- package/dist/scene/geometry-src/mesh-icosphere.d.ts.map +1 -0
- package/dist/scene/geometry-src/mesh-icosphere.js +47 -0
- package/dist/scene/geometry-src/mesh-icosphere.js.map +1 -0
- package/dist/scene/geometry-src/mesh-octahedron.d.ts +4 -0
- package/dist/scene/geometry-src/mesh-octahedron.d.ts.map +1 -0
- package/dist/scene/geometry-src/mesh-octahedron.js +10 -0
- package/dist/scene/geometry-src/mesh-octahedron.js.map +1 -0
- package/dist/scene/geometry-src/mesh-plane.d.ts +13 -0
- package/dist/scene/geometry-src/mesh-plane.d.ts.map +1 -0
- package/dist/scene/geometry-src/mesh-plane.js +51 -0
- package/dist/scene/geometry-src/mesh-plane.js.map +1 -0
- package/dist/scene/geometry-src/mesh-ring.d.ts +12 -0
- package/dist/scene/geometry-src/mesh-ring.d.ts.map +1 -0
- package/dist/scene/geometry-src/mesh-ring.js +47 -0
- package/dist/scene/geometry-src/mesh-ring.js.map +1 -0
- package/dist/scene/geometry-src/mesh-sphere.d.ts +10 -0
- package/dist/scene/geometry-src/mesh-sphere.d.ts.map +1 -0
- package/dist/scene/geometry-src/mesh-sphere.js +51 -0
- package/dist/scene/geometry-src/mesh-sphere.js.map +1 -0
- package/dist/scene/geometry-src/mesh-tetrahedron.d.ts +5 -0
- package/dist/scene/geometry-src/mesh-tetrahedron.d.ts.map +1 -0
- package/dist/scene/geometry-src/mesh-tetrahedron.js +10 -0
- package/dist/scene/geometry-src/mesh-tetrahedron.js.map +1 -0
- package/dist/scene/geometry-src/mesh-torus.d.ts +17 -0
- package/dist/scene/geometry-src/mesh-torus.d.ts.map +1 -0
- package/dist/scene/geometry-src/mesh-torus.js +56 -0
- package/dist/scene/geometry-src/mesh-torus.js.map +1 -0
- package/dist/scene/geometry-src/mesh-types.d.ts +38 -0
- package/dist/scene/geometry-src/mesh-types.d.ts.map +1 -0
- package/dist/scene/geometry-src/mesh-types.js +2 -0
- package/dist/scene/geometry-src/mesh-types.js.map +1 -0
- package/dist/scene/geometry-src/mesh.d.ts +61 -0
- package/dist/scene/geometry-src/mesh.d.ts.map +1 -0
- package/dist/scene/geometry-src/mesh.js +49 -0
- package/dist/scene/geometry-src/mesh.js.map +1 -0
- package/dist/scene/geometry-src/orthographic-camera.d.ts +14 -0
- package/dist/scene/geometry-src/orthographic-camera.d.ts.map +1 -0
- package/dist/scene/geometry-src/orthographic-camera.js +9 -0
- package/dist/scene/geometry-src/orthographic-camera.js.map +1 -0
- package/dist/scene/geometry-src/perspective-camera.d.ts +12 -0
- package/dist/scene/geometry-src/perspective-camera.d.ts.map +1 -0
- package/dist/scene/geometry-src/perspective-camera.js +9 -0
- package/dist/scene/geometry-src/perspective-camera.js.map +1 -0
- package/dist/scene/geometry-src/plane-data.d.ts +12 -0
- package/dist/scene/geometry-src/plane-data.d.ts.map +1 -0
- package/dist/scene/geometry-src/plane-data.js +25 -0
- package/dist/scene/geometry-src/plane-data.js.map +1 -0
- package/dist/scene/geometry-src/polyhedron-data.d.ts +7 -0
- package/dist/scene/geometry-src/polyhedron-data.d.ts.map +1 -0
- package/dist/scene/geometry-src/polyhedron-data.js +42 -0
- package/dist/scene/geometry-src/polyhedron-data.js.map +1 -0
- package/dist/scene/geometry-src/polyhedron-mesh.d.ts +10 -0
- package/dist/scene/geometry-src/polyhedron-mesh.d.ts.map +1 -0
- package/dist/scene/geometry-src/polyhedron-mesh.js +37 -0
- package/dist/scene/geometry-src/polyhedron-mesh.js.map +1 -0
- package/dist/scene/geometry-src/polyhedron-seeds.d.ts +6 -0
- package/dist/scene/geometry-src/polyhedron-seeds.d.ts.map +1 -0
- package/dist/scene/geometry-src/polyhedron-seeds.js +51 -0
- package/dist/scene/geometry-src/polyhedron-seeds.js.map +1 -0
- package/dist/scene/geometry-src/primitive-data-utils.d.ts +9 -0
- package/dist/scene/geometry-src/primitive-data-utils.d.ts.map +1 -0
- package/dist/scene/geometry-src/primitive-data-utils.js +36 -0
- package/dist/scene/geometry-src/primitive-data-utils.js.map +1 -0
- package/dist/scene/geometry-src/ring-data.d.ts +13 -0
- package/dist/scene/geometry-src/ring-data.d.ts.map +1 -0
- package/dist/scene/geometry-src/ring-data.js +24 -0
- package/dist/scene/geometry-src/ring-data.js.map +1 -0
- package/dist/scene/geometry-src/sphere-data.d.ts +11 -0
- package/dist/scene/geometry-src/sphere-data.d.ts.map +1 -0
- package/dist/scene/geometry-src/sphere-data.js +31 -0
- package/dist/scene/geometry-src/sphere-data.js.map +1 -0
- package/dist/scene/geometry-src/srgb.d.ts +5 -0
- package/dist/scene/geometry-src/srgb.d.ts.map +1 -0
- package/dist/scene/geometry-src/srgb.js +23 -0
- package/dist/scene/geometry-src/srgb.js.map +1 -0
- package/dist/scene/geometry-src/torus-data.d.ts +11 -0
- package/dist/scene/geometry-src/torus-data.d.ts.map +1 -0
- package/dist/scene/geometry-src/torus-data.js +38 -0
- package/dist/scene/geometry-src/torus-data.js.map +1 -0
- package/dist/scene/geometry-src/vertex-layout.d.ts +2 -0
- package/dist/scene/geometry-src/vertex-layout.d.ts.map +1 -0
- package/dist/scene/geometry-src/vertex-layout.js +2 -0
- package/dist/scene/geometry-src/vertex-layout.js.map +1 -0
- package/dist/scene/geometry.d.ts +70 -0
- package/dist/scene/geometry.d.ts.map +1 -0
- package/dist/scene/geometry.js +71 -0
- package/dist/scene/geometry.js.map +1 -0
- package/dist/scene/orbit.d.ts +9 -0
- package/dist/scene/orbit.d.ts.map +1 -0
- package/dist/scene/orbit.js +15 -0
- package/dist/scene/orbit.js.map +1 -0
- package/dist/scene/tree/errors.d.ts +4 -0
- package/dist/scene/tree/errors.d.ts.map +1 -0
- package/dist/scene/tree/errors.js +19 -0
- package/dist/scene/tree/errors.js.map +1 -0
- package/dist/scene/tree/light.d.ts +42 -0
- package/dist/scene/tree/light.d.ts.map +1 -0
- package/dist/scene/tree/light.js +102 -0
- package/dist/scene/tree/light.js.map +1 -0
- package/dist/scene/tree/material.d.ts +79 -0
- package/dist/scene/tree/material.d.ts.map +1 -0
- package/dist/scene/tree/material.js +117 -0
- package/dist/scene/tree/material.js.map +1 -0
- package/dist/scene/tree/math.d.ts +26 -0
- package/dist/scene/tree/math.d.ts.map +1 -0
- package/dist/scene/tree/math.js +217 -0
- package/dist/scene/tree/math.js.map +1 -0
- package/dist/scene/tree/mesh-node.d.ts +17 -0
- package/dist/scene/tree/mesh-node.d.ts.map +1 -0
- package/dist/scene/tree/mesh-node.js +24 -0
- package/dist/scene/tree/mesh-node.js.map +1 -0
- package/dist/scene/tree/node.d.ts +70 -0
- package/dist/scene/tree/node.d.ts.map +1 -0
- package/dist/scene/tree/node.js +220 -0
- package/dist/scene/tree/node.js.map +1 -0
- package/dist/scene/tree/orbit-controls.d.ts +69 -0
- package/dist/scene/tree/orbit-controls.d.ts.map +1 -0
- package/dist/scene/tree/orbit-controls.js +226 -0
- package/dist/scene/tree/orbit-controls.js.map +1 -0
- package/dist/scene.d.ts +21 -0
- package/dist/scene.d.ts.map +1 -0
- package/dist/scene.js +11 -0
- package/dist/scene.js.map +1 -0
- package/dist/set-core.d.ts +50 -0
- package/dist/set-core.d.ts.map +1 -0
- package/dist/set-core.js +268 -0
- package/dist/set-core.js.map +1 -0
- package/dist/set-layouts.d.ts +20 -0
- package/dist/set-layouts.d.ts.map +1 -0
- package/dist/set-layouts.js +103 -0
- package/dist/set-layouts.js.map +1 -0
- package/dist/set-packing.d.ts +4 -0
- package/dist/set-packing.d.ts.map +1 -0
- package/dist/set-packing.js +82 -0
- package/dist/set-packing.js.map +1 -0
- package/dist/set-resources.d.ts +20 -0
- package/dist/set-resources.d.ts.map +1 -0
- package/dist/set-resources.js +140 -0
- package/dist/set-resources.js.map +1 -0
- package/dist/shader-source.d.ts +4 -0
- package/dist/shader-source.d.ts.map +1 -0
- package/dist/shader-source.js +21 -0
- package/dist/shader-source.js.map +1 -0
- package/dist/storage.d.ts +38 -0
- package/dist/storage.d.ts.map +1 -0
- package/dist/storage.js +76 -0
- package/dist/storage.js.map +1 -0
- package/dist/surface.d.ts +89 -0
- package/dist/surface.d.ts.map +1 -0
- package/dist/surface.js +243 -0
- package/dist/surface.js.map +1 -0
- package/dist/target-offscreen.d.ts +41 -0
- package/dist/target-offscreen.d.ts.map +1 -0
- package/dist/target-offscreen.js +115 -0
- package/dist/target-offscreen.js.map +1 -0
- package/dist/target-utils.d.ts +37 -0
- package/dist/target-utils.d.ts.map +1 -0
- package/dist/target-utils.js +103 -0
- package/dist/target-utils.js.map +1 -0
- package/dist/target.d.ts +65 -0
- package/dist/target.d.ts.map +1 -0
- package/dist/target.js +2 -0
- package/dist/target.js.map +1 -0
- package/dist/timer.d.ts +78 -0
- package/dist/timer.d.ts.map +1 -0
- package/dist/timer.js +261 -0
- package/dist/timer.js.map +1 -0
- package/dist/uniforms-layout.d.ts +8 -0
- package/dist/uniforms-layout.d.ts.map +1 -0
- package/dist/uniforms-layout.js +84 -0
- package/dist/uniforms-layout.js.map +1 -0
- package/dist/uniforms.d.ts +43 -0
- package/dist/uniforms.d.ts.map +1 -0
- package/dist/uniforms.js +176 -0
- package/dist/uniforms.js.map +1 -0
- package/dist/visibility.d.ts +118 -0
- package/dist/visibility.d.ts.map +1 -0
- package/dist/visibility.js +290 -0
- package/dist/visibility.js.map +1 -0
- package/package.json +131 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"frame.js","sourceRoot":"","sources":["../src/frame.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Draw } from "./draw.ts";
|
|
2
|
+
export interface GroupClaim {
|
|
3
|
+
readonly draw: Draw;
|
|
4
|
+
readonly group: number;
|
|
5
|
+
readonly bindGroup: GPUBindGroup;
|
|
6
|
+
}
|
|
7
|
+
/** Claims a reflected bind group on a Draw. Dynamic offsets still belong to p.draw(draw, { offsets }). */
|
|
8
|
+
export declare function claimGroup(draw: Draw, group: number, bindGroup: GPUBindGroup): GroupClaim;
|
|
9
|
+
//# sourceMappingURL=group-claim.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"group-claim.d.ts","sourceRoot":"","sources":["../src/group-claim.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,SAAS,EAAE,YAAY,CAAC;CAClC;AAED,0GAA0G;AAC1G,wBAAgB,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,GAAG,UAAU,CAIzF"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/** Claims a reflected bind group on a Draw. Dynamic offsets still belong to p.draw(draw, { offsets }). */
|
|
2
|
+
export function claimGroup(draw, group, bindGroup) {
|
|
3
|
+
draw.layout(group, { dynamicOffsets: true });
|
|
4
|
+
draw.group(group, bindGroup);
|
|
5
|
+
return { draw, group, bindGroup };
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=group-claim.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"group-claim.js","sourceRoot":"","sources":["../src/group-claim.ts"],"names":[],"mappings":"AAQA,0GAA0G;AAC1G,MAAM,UAAU,UAAU,CAAC,IAAU,EAAE,KAAa,EAAE,SAAuB;IAC3E,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7C,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IAC7B,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;AACpC,CAAC"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { createGpu, type InitOptions } from "./init.ts";
|
|
2
|
+
export { initFromDevice } from "./init-from-device.ts";
|
|
3
|
+
export { AGENT_ANIMATION_SHADER, agentAnimation, agentStatusIndex } from "./agent.ts";
|
|
4
|
+
export type { AgentAnimation, AgentAnimationOptions, AgentAnimationPatch, AgentAnimationState, AgentColor, AgentColors, AgentStatus } from "./agent.ts";
|
|
5
|
+
export type { Bundle, BundleOptions, BundleRecorder, Compute, ComputeOptions, DispatchOptions, ClearColor, GpuErrorListener, InitOptions, PingPongStorage, PingPongTargets, SharedUniforms, StorageAccess, StorageBuffer, StorageOptions, Surface, SurfaceOptions, SurfaceResizeEvent, Timer, TimerSpan, Visibility, VisibilityOptions, VisibilityQuery } from "./init.ts";
|
|
6
|
+
export type { BlendComponentOptions, BlendOptions, BlendPreset, DepthOptions, Draw, DrawOptions, DrawCallOptions, DrawLayoutOptions, GeometryLike, StencilFaceOptions, StencilOptions } from "./draw.ts";
|
|
7
|
+
export { Geometry } from "./scene/geometry-descriptor.ts";
|
|
8
|
+
export type { GeometryAttributeOverride, GeometryAttributes, GeometryBuffer, GeometryBufferOptions, GeometryData, GeometryOptions, GeometrySlice, GeometrySliceOptions } from "./scene/geometry-descriptor.ts";
|
|
9
|
+
export type { Frame, FramePass, FramePassOptions, FrameLoopHandle, FrameLoopOptions, FrameRunner } from "./frame.ts";
|
|
10
|
+
export type { Effect, EffectOptions } from "./effect.ts";
|
|
11
|
+
export type { CompileTarget, Target, TargetOptions, TargetSignature, TargetTextureOptions } from "./target.ts";
|
|
12
|
+
export { AIGpuError } from "./errors.ts";
|
|
13
|
+
export type { Buffer, Device, ResourceIdentity, Texture, AIGpuAdapter } from "@aigpu/core";
|
|
14
|
+
export { Uniform } from "./core/uniform.ts";
|
|
15
|
+
export type { UniformOptions } from "./core/uniform.ts";
|
|
16
|
+
export type { ResolvedShader, ShaderSource, SourceMap, WGSLAst, WGSLSource } from "@aigpu/wgsl";
|
|
17
|
+
export type { Gpu } from "./kernel.ts";
|
|
18
|
+
export { bundle } from "./bundle.ts";
|
|
19
|
+
export { clock } from "./clock.ts";
|
|
20
|
+
export type { Clock } from "./clock.ts";
|
|
21
|
+
export { compute } from "./compute.ts";
|
|
22
|
+
export { draw } from "./draw.ts";
|
|
23
|
+
export { effect } from "./effect.ts";
|
|
24
|
+
export { frame, frameLoop } from "./frame.ts";
|
|
25
|
+
export type { FrameLoopCallback } from "./frame.ts";
|
|
26
|
+
export { pingPong, pingPongStorage } from "./ping-pong.ts";
|
|
27
|
+
export { sampler } from "./sampler.ts";
|
|
28
|
+
export { storage } from "./storage.ts";
|
|
29
|
+
export { surface } from "./surface.ts";
|
|
30
|
+
export type { SurfaceCanvas } from "./surface.ts";
|
|
31
|
+
export { mountAgentCanvas, mountAgentCanvasSelector } from "./dom.ts";
|
|
32
|
+
export type { AgentCanvasController, AgentCanvasOptions, MountedAgentCanvas } from "./dom.ts";
|
|
33
|
+
export { target } from "./target-offscreen.ts";
|
|
34
|
+
export { timer } from "./timer.ts";
|
|
35
|
+
export { uniforms } from "./uniforms.ts";
|
|
36
|
+
export { visibility } from "./visibility.ts";
|
|
37
|
+
export { geometry } from "./scene/geometry-descriptor.ts";
|
|
38
|
+
export type { GeometryRecipe, GeometryRecipeOf } from "./scene/geometry-recipe.ts";
|
|
39
|
+
/** Browser entrypoint. */
|
|
40
|
+
export declare function init(options?: InitOptions): ReturnType<typeof createGpu>;
|
|
41
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,WAAW,EAAE,MAAM,WAAW,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,sBAAsB,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AACtF,YAAY,EAAE,cAAc,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAExJ,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,cAAc,EAAE,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,UAAU,EAAE,gBAAgB,EAAE,WAAW,EAAE,eAAe,EAAE,eAAe,EAAE,cAAc,EAAE,aAAa,EAAE,aAAa,EAAE,cAAc,EAAE,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC3W,YAAY,EAAE,qBAAqB,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,EAAE,WAAW,EAAE,eAAe,EAAE,iBAAiB,EAAE,YAAY,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AACzM,OAAO,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAC1D,YAAY,EAAE,yBAAyB,EAAE,kBAAkB,EAAE,cAAc,EAAE,qBAAqB,EAAE,YAAY,EAAE,eAAe,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AAC/M,YAAY,EAAE,KAAK,EAAE,SAAS,EAAE,gBAAgB,EAAE,eAAe,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACrH,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACzD,YAAY,EAAE,aAAa,EAAE,MAAM,EAAE,aAAa,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAC/G,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3F,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,YAAY,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,YAAY,EAAE,cAAc,EAAE,YAAY,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAIhG,YAAY,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,YAAY,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAC9C,YAAY,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,YAAY,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAC;AACtE,YAAY,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAC9F,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC/C,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAC1D,YAAY,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAEnF,0BAA0B;AAC1B,wBAAgB,IAAI,CAAC,OAAO,CAAC,EAAE,WAAW,GAAG,UAAU,CAAC,OAAO,SAAS,CAAC,CAExE"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { createGpu } from "./init.js";
|
|
2
|
+
export { initFromDevice } from "./init-from-device.js";
|
|
3
|
+
export { AGENT_ANIMATION_SHADER, agentAnimation, agentStatusIndex } from "./agent.js";
|
|
4
|
+
export { Geometry } from "./scene/geometry-descriptor.js";
|
|
5
|
+
export { AIGpuError } from "./errors.js";
|
|
6
|
+
export { Uniform } from "./core/uniform.js";
|
|
7
|
+
export { bundle } from "./bundle.js";
|
|
8
|
+
export { clock } from "./clock.js";
|
|
9
|
+
export { compute } from "./compute.js";
|
|
10
|
+
export { draw } from "./draw.js";
|
|
11
|
+
export { effect } from "./effect.js";
|
|
12
|
+
export { frame, frameLoop } from "./frame.js";
|
|
13
|
+
export { pingPong, pingPongStorage } from "./ping-pong.js";
|
|
14
|
+
export { sampler } from "./sampler.js";
|
|
15
|
+
export { storage } from "./storage.js";
|
|
16
|
+
export { surface } from "./surface.js";
|
|
17
|
+
export { mountAgentCanvas, mountAgentCanvasSelector } from "./dom.js";
|
|
18
|
+
export { target } from "./target-offscreen.js";
|
|
19
|
+
export { timer } from "./timer.js";
|
|
20
|
+
export { uniforms } from "./uniforms.js";
|
|
21
|
+
export { visibility } from "./visibility.js";
|
|
22
|
+
export { geometry } from "./scene/geometry-descriptor.js";
|
|
23
|
+
/** Browser entrypoint. */
|
|
24
|
+
export function init(options) {
|
|
25
|
+
return createGpu("browser", options);
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAoB,MAAM,WAAW,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,sBAAsB,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAKtF,OAAO,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAK1D,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAO5C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE9C,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,OAAO,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAC;AAEtE,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC/C,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAG1D,0BAA0B;AAC1B,MAAM,UAAU,IAAI,CAAC,OAAqB;IACxC,OAAO,SAAS,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;AACvC,CAAC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import type { StorageBuffer } from "./api-types.ts";
|
|
2
|
+
/** A storage buffer supplying GPU-read arguments, bare or wrapped with a byte offset (default 0). */
|
|
3
|
+
export type IndirectOption = StorageBuffer | {
|
|
4
|
+
readonly buffer: StorageBuffer;
|
|
5
|
+
readonly offset?: number;
|
|
6
|
+
};
|
|
7
|
+
/**
|
|
8
|
+
* WebGPU indirect argument layouts: drawIndirect reads "a tightly packed block of four 32-bit unsigned integer values
|
|
9
|
+
* (16 bytes total)", drawIndexedIndirect "a tightly packed block of five 32-bit values (20 bytes total)" (baseVertex is
|
|
10
|
+
* signed), and dispatchWorkgroupsIndirect "a tightly packed block of three 32-bit unsigned integer values (12 bytes total)".
|
|
11
|
+
*/
|
|
12
|
+
declare const INDIRECT_METHODS: {
|
|
13
|
+
readonly drawIndirect: {
|
|
14
|
+
readonly bytes: 16;
|
|
15
|
+
readonly args: "4 u32 values: vertexCount, instanceCount, firstVertex, firstInstance";
|
|
16
|
+
};
|
|
17
|
+
readonly drawIndexedIndirect: {
|
|
18
|
+
readonly bytes: 20;
|
|
19
|
+
readonly args: "5 32-bit values: indexCount, instanceCount, firstIndex, baseVertex (signed), firstInstance";
|
|
20
|
+
};
|
|
21
|
+
readonly dispatchWorkgroupsIndirect: {
|
|
22
|
+
readonly bytes: 12;
|
|
23
|
+
readonly args: "3 u32 values: workgroupCountX, workgroupCountY, workgroupCountZ";
|
|
24
|
+
};
|
|
25
|
+
};
|
|
26
|
+
export type IndirectMethod = keyof typeof INDIRECT_METHODS;
|
|
27
|
+
/**
|
|
28
|
+
* Validates an indirect option against the WebGPU rules shared by drawIndirect, drawIndexedIndirect, and
|
|
29
|
+
* dispatchWorkgroupsIndirect — "indirectBuffer.usage contains INDIRECT", "indirectOffset + sizeof(<indirect
|
|
30
|
+
* parameters>) ≤ indirectBuffer.size", and "indirectOffset is a multiple of 4" — and unwraps the GPUBuffer.
|
|
31
|
+
*
|
|
32
|
+
* @internal
|
|
33
|
+
*/
|
|
34
|
+
export declare function resolveIndirect(label: string, where: string, value: IndirectOption, method: IndirectMethod): {
|
|
35
|
+
readonly buffer: GPUBuffer;
|
|
36
|
+
readonly offset: number;
|
|
37
|
+
};
|
|
38
|
+
export {};
|
|
39
|
+
//# sourceMappingURL=indirect.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"indirect.d.ts","sourceRoot":"","sources":["../src/indirect.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAIpD,qGAAqG;AACrG,MAAM,MAAM,cAAc,GAAG,aAAa,GAAG;IAAE,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAE1G;;;;GAIG;AACH,QAAA,MAAM,gBAAgB;;;;;;;;;;;;;CAIZ,CAAC;AAEX,MAAM,MAAM,cAAc,GAAG,MAAM,OAAO,gBAAgB,CAAC;AAE3D;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,cAAc,GAAG;IAAE,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAepK"}
|
package/dist/indirect.js
ADDED
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Validation for GPU-read draw/dispatch arguments, split out of `storage.ts` so the encoders can
|
|
3
|
+
* check an `indirect` option without linking the storage buffer implementation: `draw()` and
|
|
4
|
+
* `compute()` accept indirect arguments, but a program that never passes one — every fullscreen
|
|
5
|
+
* effect, for one — should not pay for `storage(gpu, bytes)`.
|
|
6
|
+
*
|
|
7
|
+
* The check is structural on purpose: it accepts this package's storage facade and anything with
|
|
8
|
+
* the same core buffer underneath, which is what `ping-pong` hands out.
|
|
9
|
+
*/
|
|
10
|
+
import { Buffer } from "@aigpu/core";
|
|
11
|
+
import { indirectInvalidError } from "./errors.js";
|
|
12
|
+
/**
|
|
13
|
+
* WebGPU indirect argument layouts: drawIndirect reads "a tightly packed block of four 32-bit unsigned integer values
|
|
14
|
+
* (16 bytes total)", drawIndexedIndirect "a tightly packed block of five 32-bit values (20 bytes total)" (baseVertex is
|
|
15
|
+
* signed), and dispatchWorkgroupsIndirect "a tightly packed block of three 32-bit unsigned integer values (12 bytes total)".
|
|
16
|
+
*/
|
|
17
|
+
const INDIRECT_METHODS = {
|
|
18
|
+
drawIndirect: { bytes: 16, args: "4 u32 values: vertexCount, instanceCount, firstVertex, firstInstance" },
|
|
19
|
+
drawIndexedIndirect: { bytes: 20, args: "5 32-bit values: indexCount, instanceCount, firstIndex, baseVertex (signed), firstInstance" },
|
|
20
|
+
dispatchWorkgroupsIndirect: { bytes: 12, args: "3 u32 values: workgroupCountX, workgroupCountY, workgroupCountZ" },
|
|
21
|
+
};
|
|
22
|
+
/**
|
|
23
|
+
* Validates an indirect option against the WebGPU rules shared by drawIndirect, drawIndexedIndirect, and
|
|
24
|
+
* dispatchWorkgroupsIndirect — "indirectBuffer.usage contains INDIRECT", "indirectOffset + sizeof(<indirect
|
|
25
|
+
* parameters>) ≤ indirectBuffer.size", and "indirectOffset is a multiple of 4" — and unwraps the GPUBuffer.
|
|
26
|
+
*
|
|
27
|
+
* @internal
|
|
28
|
+
*/
|
|
29
|
+
export function resolveIndirect(label, where, value, method) {
|
|
30
|
+
const wrapped = typeof value === "object" && value !== null ? value.buffer : undefined;
|
|
31
|
+
const storage = isStorageBufferFacade(value) ? value : isStorageBufferFacade(wrapped) ? wrapped : undefined;
|
|
32
|
+
if (!storage)
|
|
33
|
+
throw indirectInvalidError(label, `received ${previewIndirect(value)}; expected a StorageBuffer or { buffer, offset? }.`, where);
|
|
34
|
+
const offset = storage === value ? 0 : value.offset ?? 0;
|
|
35
|
+
if (typeof offset !== "number" || !Number.isInteger(offset) || offset < 0)
|
|
36
|
+
throw indirectInvalidError(label, `offset must be an integer >= 0; received ${previewIndirect(offset)}.`, where);
|
|
37
|
+
if (offset % 4 !== 0)
|
|
38
|
+
throw indirectInvalidError(label, `offset must be a multiple of 4 (WebGPU requires "indirectOffset is a multiple of 4"); received ${offset}.`, where);
|
|
39
|
+
if (!storage.buffer.options.usage.includes("indirect")) {
|
|
40
|
+
throw indirectInvalidError(label, `the buffer lacks the "indirect" usage (WebGPU requires "indirectBuffer.usage contains INDIRECT"); create it with storage(gpu, ${storage.size}, { indirect: true }).`, where);
|
|
41
|
+
}
|
|
42
|
+
const { bytes, args } = INDIRECT_METHODS[method];
|
|
43
|
+
if (offset + bytes > storage.size) {
|
|
44
|
+
throw indirectInvalidError(label, `${method} reads ${bytes} bytes (${args}) at offset ${offset}, but offset + ${bytes} = ${offset + bytes} exceeds the buffer size ${storage.size}.`, where);
|
|
45
|
+
}
|
|
46
|
+
return { buffer: storage.gpu, offset };
|
|
47
|
+
}
|
|
48
|
+
function isStorageBufferFacade(value) {
|
|
49
|
+
return typeof value === "object" && value !== null && "gpu" in value && "size" in value && value.buffer instanceof Buffer;
|
|
50
|
+
}
|
|
51
|
+
function previewIndirect(value) {
|
|
52
|
+
if (typeof value === "string")
|
|
53
|
+
return `"${value}"`;
|
|
54
|
+
try {
|
|
55
|
+
return JSON.stringify(value) ?? String(value);
|
|
56
|
+
}
|
|
57
|
+
catch {
|
|
58
|
+
return String(value);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=indirect.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"indirect.js","sourceRoot":"","sources":["../src/indirect.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { type Gpu } from "./kernel.ts";
|
|
2
|
+
/**
|
|
3
|
+
* Wraps a device owned by another library (WebLLM, transformers.js, a host engine) so aigpu can
|
|
4
|
+
* render from the same queue without copying through the CPU.
|
|
5
|
+
*
|
|
6
|
+
* aigpu never destroys what it did not create: `gpu.dispose()` drops this wrapper and leaves the
|
|
7
|
+
* native device to its owner. Because that owner can destroy or lose it at any time, every entry
|
|
8
|
+
* point re-checks the device instead of trusting the handle it was given.
|
|
9
|
+
*/
|
|
10
|
+
export declare function initFromDevice(device: GPUDevice): Promise<Gpu>;
|
|
11
|
+
//# sourceMappingURL=init-from-device.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"init-from-device.d.ts","sourceRoot":"","sources":["../src/init-from-device.ts"],"names":[],"mappings":"AASA,OAAO,EAAgB,KAAK,GAAG,EAAE,MAAM,aAAa,CAAC;AAIrD;;;;;;;GAOG;AACH,wBAAsB,cAAc,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,CAgBpE"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Adoption of a `GPUDevice` aigpu did not create.
|
|
3
|
+
*
|
|
4
|
+
* Deliberately its own module, and its own entry point rather than an `init()` option: the
|
|
5
|
+
* validation below only makes sense for a device someone else built, and keeping it here means a
|
|
6
|
+
* program that lets aigpu create its own device never bundles it. See the `init-only` budget in
|
|
7
|
+
* package.json, which exists to keep that promise honest.
|
|
8
|
+
*/
|
|
9
|
+
import { Device } from "@aigpu/core";
|
|
10
|
+
import { attachKernel } from "./kernel.js";
|
|
11
|
+
import { assertDeviceUsable } from "./lifecycle.js";
|
|
12
|
+
import { AIGpuError } from "./errors.js";
|
|
13
|
+
/**
|
|
14
|
+
* Wraps a device owned by another library (WebLLM, transformers.js, a host engine) so aigpu can
|
|
15
|
+
* render from the same queue without copying through the CPU.
|
|
16
|
+
*
|
|
17
|
+
* aigpu never destroys what it did not create: `gpu.dispose()` drops this wrapper and leaves the
|
|
18
|
+
* native device to its owner. Because that owner can destroy or lose it at any time, every entry
|
|
19
|
+
* point re-checks the device instead of trusting the handle it was given.
|
|
20
|
+
*/
|
|
21
|
+
export async function initFromDevice(device) {
|
|
22
|
+
if (!isGPUDeviceShape(device))
|
|
23
|
+
throw initError("AIGPU-INIT-DEVICE-INVALID", "Invalid external GPUDevice shape.");
|
|
24
|
+
const wrapped = new Device(device, null, "external");
|
|
25
|
+
// Yield once before reporting success: `Device` subscribes to `device.lost` in its constructor
|
|
26
|
+
// and flips state from that microtask, so a device the owner already killed is only visible
|
|
27
|
+
// here. Without this, adopting a dead device would hand back a Gpu that fails on first use.
|
|
28
|
+
await Promise.resolve();
|
|
29
|
+
try {
|
|
30
|
+
assertDeviceUsable(wrapped, "initFromDevice");
|
|
31
|
+
return attachKernel(wrapped);
|
|
32
|
+
}
|
|
33
|
+
catch (error) {
|
|
34
|
+
// A device that is already gone must not leave a half-built Gpu behind. Disposing a borrowed
|
|
35
|
+
// device only drops our wrapper: Device.dispose() never destroys what it does not own.
|
|
36
|
+
wrapped.dispose();
|
|
37
|
+
throw error;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
/** Structural, not `instanceof`: the device may come from another realm (worker, iframe, test double). */
|
|
41
|
+
function isGPUDeviceShape(value) {
|
|
42
|
+
if ((typeof value !== "object" && typeof value !== "function") || value === null)
|
|
43
|
+
return false;
|
|
44
|
+
try {
|
|
45
|
+
const d = value;
|
|
46
|
+
return (typeof d.queue === "object" || typeof d.queue === "function") && d.queue !== null
|
|
47
|
+
&& typeof d.createBuffer === "function" && typeof d.createCommandEncoder === "function"
|
|
48
|
+
&& !!d.lost && typeof d.lost.then === "function";
|
|
49
|
+
}
|
|
50
|
+
catch {
|
|
51
|
+
return false;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
/** Local, not shared with kernel.ts: adoption is now the only init path that can fail this way. */
|
|
55
|
+
function initError(code, message) { return new AIGpuError({ code, message, where: "initFromDevice" }); }
|
|
56
|
+
//# sourceMappingURL=init-from-device.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"init-from-device.js","sourceRoot":"","sources":["../src/init-from-device.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,YAAY,EAAY,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,MAAiB;IACpD,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC;QAAE,MAAM,SAAS,CAAC,2BAA2B,EAAE,mCAAmC,CAAC,CAAC;IACjH,MAAM,OAAO,GAAG,IAAK,MAA8F,CAAC,MAAM,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;IAC9I,+FAA+F;IAC/F,4FAA4F;IAC5F,4FAA4F;IAC5F,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;IACxB,IAAI,CAAC;QACH,kBAAkB,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;QAC9C,OAAO,YAAY,CAAC,OAAO,CAAC,CAAC;IAC/B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,6FAA6F;QAC7F,uFAAuF;QACvF,OAAO,CAAC,OAAO,EAAE,CAAC;QAClB,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,0GAA0G;AAC1G,SAAS,gBAAgB,CAAC,KAAc;IACtC,IAAI,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,UAAU,CAAC,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IAC/F,IAAI,CAAC;QACH,MAAM,CAAC,GAAG,KAA2B,CAAC;QACtC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,KAAK,QAAQ,IAAI,OAAO,CAAC,CAAC,KAAK,KAAK,UAAU,CAAC,IAAI,CAAC,CAAC,KAAK,KAAK,IAAI;eACpF,OAAO,CAAC,CAAC,YAAY,KAAK,UAAU,IAAI,OAAO,CAAC,CAAC,oBAAoB,KAAK,UAAU;eACpF,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,OAAQ,CAAC,CAAC,IAAuC,CAAC,IAAI,KAAK,UAAU,CAAC;IACzF,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,KAAK,CAAC;IAAC,CAAC;AAC3B,CAAC;AAED,mGAAmG;AACnG,SAAS,SAAS,CAAC,IAAY,EAAE,OAAe,IAAgB,OAAO,IAAI,UAAU,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC"}
|
package/dist/init.d.ts
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export { createCoreGpu as createGpu, type Gpu } from "./kernel.ts";
|
|
2
|
+
export { initFromDevice } from "./init-from-device.ts";
|
|
3
|
+
export type { AdapterFactory, InitOptions } from "./kernel.ts";
|
|
4
|
+
export type { Compute, ComputeOptions, DispatchOptions, GpuErrorListener, PingPongStorage, PingPongTargets, SharedUniforms, StorageAccess, StorageBuffer, StorageOptions } from "./api-types.ts";
|
|
5
|
+
export type { ClearColor } from "./target-utils.ts";
|
|
6
|
+
export type { Timer, TimerSpan } from "./timer.ts";
|
|
7
|
+
export type { Visibility, VisibilityOptions, VisibilityQuery } from "./visibility.ts";
|
|
8
|
+
export type { Bundle, BundleOptions, BundleRecorder } from "./bundle.ts";
|
|
9
|
+
export type { Surface, SurfaceOptions, SurfaceResizeEvent } from "./surface.ts";
|
|
10
|
+
import type { AdapterFactory, EntryKind, InitOptions } from "./kernel.ts";
|
|
11
|
+
export declare function initWithAdapter(entry: EntryKind, adapterFactory?: AdapterFactory, options?: InitOptions): Promise<import("./kernel.ts").Gpu>;
|
|
12
|
+
//# sourceMappingURL=init.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../src/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,IAAI,SAAS,EAAE,KAAK,GAAG,EAAE,MAAM,aAAa,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,YAAY,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/D,YAAY,EAAE,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,gBAAgB,EAAE,eAAe,EAAE,eAAe,EAAE,cAAc,EAAE,aAAa,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACjM,YAAY,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,YAAY,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACnD,YAAY,EAAE,UAAU,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACtF,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AACzE,YAAY,EAAE,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAGhF,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1E,wBAAgB,eAAe,CAAC,KAAK,EAAE,SAAS,EAAE,cAAc,CAAC,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE,WAAW,sCAEvG"}
|
package/dist/init.js
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export { createCoreGpu as createGpu } from "./kernel.js";
|
|
2
|
+
export { initFromDevice } from "./init-from-device.js";
|
|
3
|
+
import { createCoreGpu } from "./kernel.js";
|
|
4
|
+
export function initWithAdapter(entry, adapterFactory, options) {
|
|
5
|
+
return createCoreGpu(entry, options, adapterFactory);
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=init.js.map
|
package/dist/init.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../src/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,IAAI,SAAS,EAAY,MAAM,aAAa,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AASvD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAG5C,MAAM,UAAU,eAAe,CAAC,KAAgB,EAAE,cAA+B,EAAE,OAAqB;IACtG,OAAO,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC;AACvD,CAAC"}
|
package/dist/kernel.d.ts
ADDED
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Minimal `Gpu` core plus its private kernel.
|
|
3
|
+
*
|
|
4
|
+
* The kernel is the only shared, cross-feature runtime: device handle, error delivery,
|
|
5
|
+
* `settled()` bookkeeping, ownership/teardown ordering and a lazy service registry.
|
|
6
|
+
* It MUST NOT import a feature module (frame, draw, effect, surface, timer, geometry, ...):
|
|
7
|
+
* every service is registered by the feature that owns it, through a token + factory, so a
|
|
8
|
+
* program that never imports the feature never pays for it. See T202-06 negative metafile
|
|
9
|
+
* assertions and the `init-only` bundle budget.
|
|
10
|
+
*/
|
|
11
|
+
import { Device, type RequiredDeviceLimits, type AIGpuAdapter } from "@aigpu/core";
|
|
12
|
+
import type { GpuErrorListener } from "./api-types.ts";
|
|
13
|
+
import { AIGpuError } from "./errors.ts";
|
|
14
|
+
/**
|
|
15
|
+
* Options for the device aigpu creates and owns; it destroys that device on `dispose()`.
|
|
16
|
+
*
|
|
17
|
+
* To adopt a device another library owns, call `initFromDevice(device)` instead. `device` is
|
|
18
|
+
* declared here only so that passing one lands on the compile-time signpost rather than being
|
|
19
|
+
* silently ignored.
|
|
20
|
+
*/
|
|
21
|
+
export interface InitOptions {
|
|
22
|
+
readonly adapter?: AIGpuAdapter;
|
|
23
|
+
/**
|
|
24
|
+
* Never set: adoption lives in `initFromDevice(device)`. Declared so passing a device here is a
|
|
25
|
+
* type error instead of a silently ignored option. There is deliberately no runtime check: one
|
|
26
|
+
* does not fit the `init-only` budget, which is the budget this split exists to protect.
|
|
27
|
+
*/
|
|
28
|
+
readonly device?: never;
|
|
29
|
+
readonly powerPreference?: GPUPowerPreference;
|
|
30
|
+
readonly requiredFeatures?: readonly GPUFeatureName[];
|
|
31
|
+
readonly requiredLimits?: RequiredDeviceLimits;
|
|
32
|
+
readonly label?: string;
|
|
33
|
+
}
|
|
34
|
+
export type AdapterFactory = () => AIGpuAdapter;
|
|
35
|
+
export type EntryKind = "browser" | "node" | "mock";
|
|
36
|
+
/**
|
|
37
|
+
* Ring-1 core shared by browser, node, and mock entrypoints: a device handle, an error
|
|
38
|
+
* channel and a lifetime. Everything else is a free function that takes this object.
|
|
39
|
+
*/
|
|
40
|
+
export interface Gpu {
|
|
41
|
+
readonly device: Device;
|
|
42
|
+
readonly gpu: GPUDevice;
|
|
43
|
+
/** True once `dispose()` ran. Reads stay legal; new work does not. */
|
|
44
|
+
readonly disposed: boolean;
|
|
45
|
+
onError(cb: GpuErrorListener): () => void;
|
|
46
|
+
settled(): Promise<void>;
|
|
47
|
+
dispose(): void;
|
|
48
|
+
}
|
|
49
|
+
/** Contributes promises to `gpu.settled()`; queried (not retained) at each call, so it is a snapshot source. */
|
|
50
|
+
export type SettledSource = () => readonly Promise<unknown>[];
|
|
51
|
+
/** Undo function returned by every kernel registration. Idempotent by contract. */
|
|
52
|
+
export type Release = () => void;
|
|
53
|
+
export type Disposer = () => void;
|
|
54
|
+
/**
|
|
55
|
+
* Teardown order of `gpu.dispose()`. Phases run in declaration order; within a phase,
|
|
56
|
+
* registration order.
|
|
57
|
+
*
|
|
58
|
+
* - `scheduler`: rAF/timer loops. Stopped first — a tick landing mid-teardown would encode
|
|
59
|
+
* against a dying device.
|
|
60
|
+
* - `resource`: surfaces, query rings, views and anything holding GPU objects.
|
|
61
|
+
* - `service`: caches and stores shared by features (pipelines, bind groups, samplers).
|
|
62
|
+
*
|
|
63
|
+
* The device is disposed after every phase.
|
|
64
|
+
*/
|
|
65
|
+
export type OwnershipPhase = "scheduler" | "resource" | "service";
|
|
66
|
+
declare const SERVICE_TYPE: unique symbol;
|
|
67
|
+
/** Nominal handle for a lazily created shared service. Created by the feature that owns the service. */
|
|
68
|
+
export interface ServiceToken<T> {
|
|
69
|
+
readonly name: string;
|
|
70
|
+
/** Phantom: carries `T` for inference, never present at runtime. */
|
|
71
|
+
readonly [SERVICE_TYPE]?: T;
|
|
72
|
+
}
|
|
73
|
+
export declare function serviceToken<T>(name: string): ServiceToken<T>;
|
|
74
|
+
/** Private per-`Gpu` runtime. Not exported from any entrypoint; reachable only through `kernelOf`. */
|
|
75
|
+
export interface Kernel {
|
|
76
|
+
readonly device: Device;
|
|
77
|
+
readonly disposed: boolean;
|
|
78
|
+
/**
|
|
79
|
+
* Lazily creates (and memoizes) the service behind `token`. The factory lives in the calling
|
|
80
|
+
* feature module, so the kernel never references it statically.
|
|
81
|
+
*/
|
|
82
|
+
service<T>(token: ServiceToken<T>, factory: (kernel: Kernel) => T): T;
|
|
83
|
+
/** The instance if it was already created, else undefined. Never runs the factory. */
|
|
84
|
+
peekService<T>(token: ServiceToken<T>): T | undefined;
|
|
85
|
+
/** Registers a teardown callback in `phase`; returns the release that unregisters it. */
|
|
86
|
+
own(phase: OwnershipPhase, disposer: Disposer): Release;
|
|
87
|
+
addErrorListener(cb: GpuErrorListener): Release;
|
|
88
|
+
/** Delivers asynchronously to the listeners (or `console.error`). Never rejects, never throws. */
|
|
89
|
+
reportError(error: AIGpuError): Promise<void>;
|
|
90
|
+
/** Adds a promise to the `settled()` set; swallows rejections into `console.error`. */
|
|
91
|
+
trackDelivery(promise: Promise<unknown>): Promise<void>;
|
|
92
|
+
registerSettledSource(source: SettledSource): Release;
|
|
93
|
+
settled(): Promise<void>;
|
|
94
|
+
dispose(): void;
|
|
95
|
+
}
|
|
96
|
+
/** Internal accessor for the kernel of a `Gpu`. Throws for objects this library did not create. */
|
|
97
|
+
export declare function kernelOf(gpu: Gpu): Kernel;
|
|
98
|
+
/** Builds the minimal `Gpu` for an already-created device and registers its kernel. */
|
|
99
|
+
export declare function attachKernel(device: Device): Gpu;
|
|
100
|
+
/** Entry-agnostic core constructor: resolve a device, wrap it in the minimal `Gpu`. */
|
|
101
|
+
export declare function createCoreGpu(entry: EntryKind, opts?: InitOptions, adapterFactory?: AdapterFactory): Promise<Gpu>;
|
|
102
|
+
export declare function createDevice(entry: EntryKind, opts: InitOptions, adapterFactory?: AdapterFactory): Promise<Device>;
|
|
103
|
+
export {};
|
|
104
|
+
//# sourceMappingURL=kernel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kernel.d.ts","sourceRoot":"","sources":["../src/kernel.ts"],"names":[],"mappings":"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"}
|