TypeGPU
A modular and open-ended toolkit for WebGPU, with advanced type inference and the ability to write shaders in TypeScript
File Explorer
- deploy-docs.yml
- pkg-pr.yml
- publish-release.yml
- pullfrog.yml
- resolution-time.yml
- test-built-unit.yml
- test-docs.yml
- test-misc.yml
- test-unit.yml
- treeshake-test.yml
- dependabot.yml
- FUNDING.yml
- extensions.json
- settings.json
- .gitignore
- bunfig.toml
- index.ts
- package.json
- preload.ts
- tsconfig.json
- discriminated-union.ts
- package.json
- tsconfig.json
- icon.svg
- layout.tsx
- page.tsx
- Shader.tsx
- .gitignore
- babel.config.js
- checkSsr.mts
- next.config.ts
- package.json
- README.md
- tsconfig.json
- bunfig.toml
- generateChart.ts
- package.json
- preload.ts
- procedural.ts
- README.md
- tsconfig.json
- STATIC_allImports.ts
- STATIC_common.ts
- STATIC_d.ts
- STATIC_std.ts
- STATIC_tgpu.ts
- STATIC_allImports.ts
- STATIC_common.ts
- STATIC_d.ts
- STATIC_nonUseGpuFunction.ts
- STATIC_std.ts
- STATIC_tgpu.ts
- STATIC_useGpuFunction.ts
- .gitignore
- bundleWith.ts
- compareResults.ts
- generateTests.ts
- package.json
- resultsTable.ts
- runTests.ts
- tsconfig.json
- urls.ts
- fish.jpg
- fish.obj
- ocean_floor.obj
- ocean_floor.png
- u2netp.onnx
- negx.jpg
- negy.jpg
- negz.jpg
- posx.jpg
- posy.jpg
- posz.jpg
- negx.jpg
- negy.jpg
- negz.jpg
- posx.jpg
- posy.jpg
- posz.jpg
- negx.jpg
- negy.jpg
- negz.jpg
- posx.jpg
- posy.jpg
- posz.jpg
- negx.jpg
- negy.jpg
- negz.jpg
- posx.jpg
- posy.jpg
- posz.jpg
- demo.jpg
- LICENSE
- NOTICE
- README.md
- car.png
- negx.jpg
- negy.jpg
- negz.jpg
- posx.jpg
- posy.jpg
- posz.jpg
- ceres-fictional.jpg
- earth.jpg
- haumea-fictional.jpg
- jupiter.jpg
- mars.jpg
- mercury.jpg
- moon.jpg
- neptune.jpg
- saturn.jpg
- sun.jpg
- uranus.jpg
- venus.jpg
- sphere.obj
- tiger.png
- drag-noise.ogg
- squelch1.wav
- squelch2.wav
- squelch3.wav
- squelch4.wav
- squelch5.wav
- squelch6.wav
- switch-off.ogg
- switch-on.ogg
- DemoModel.glb
- layer0.bias.npy
- layer0.weight.npy
- layer1.bias.npy
- layer1.weight.npy
- layer2.bias.npy
- layer2.weight.npy
- layer3.bias.npy
- layer3.weight.npy
- layer4.bias.npy
- layer4.weight.npy
- layer5.bias.npy
- layer5.weight.npy
- layer6.bias.npy
- layer6.weight.npy
- layer7.bias.npy
- layer7.weight.npy
- award_cleanup.glb
- environment.jpg
- teapot.obj
- albedo.png
- ao.png
- height.png
- metallic.png
- normal.png
- roughness.png
- albedo.png
- ao.png
- height.png
- metallic.png
- normal.png
- roughness.png
- albedo.png
- ao.png
- height.png
- metallic.png
- normal.png
- roughness.png
- albedo.png
- ao.png
- height.png
- metallic.png
- normal.png
- roughness.png
- albedo.png
- ao.png
- height.png
- metallic.png
- normal.png
- roughness.png
- albedo.png
- ao.png
- height.png
- metallic.png
- normal.png
- roughness.png
- LICENSE
- NOTICE
- README.md
- selfie_segmenter.ssgbin
- fruitsTgpu.png
- LeePerrySmith.glb
- LeePerrySmith_License.txt
- atom.svg
- code.svg
- doublechevron-down.svg
- grid-mixed.svg
- key-alt.svg
- label-alt.svg
- migration.mp4
- plum.glb
- task-check.svg
- coi-serviceworker.js
- favicon.svg
- plums.jpg
- stackblitz-logo-black_blue.svg
- stackblitz-logomark-blue.svg
- typegpu-logo-dark.svg
- typegpu-logo-light.svg
- typegpu-logo-monodark.svg
- typegpu-logo-monolight.svg
- typegpu-logomark-dark.svg
- typegpu-logomark-light.svg
- typegpu-logomark-monodark.svg
- typegpu-logomark-monolight.svg
- transform-overloads.ts
- placeholder-nebula.svg
- placeholder-orbital.svg
- placeholder-pixelforge.svg
- placeholder-shaderworks.svg
- placeholder-vertexly.svg
- typegpu-radiance-cascades-basic.png
- typegpu-radiance-cascades-custom-ray-marching.png
- typegpu-radiance-cascades-generated-sdf.png
- typegpu-sdf-3d.png
- typegpu-sdf-basic.png
- typegpu-sdf-composing.png
- typegpu-sdf-jump-flood.png
- book-opened.svg
- brackets.svg
- plus-circle.svg
- avatar-iwoplaza.png
- avatar-konradreczko.png
- cross.svg
- discord-icon.svg
- externalopen.svg
- giant-typegpu.svg
- github-icon.svg
- hamburger.svg
- illustration.svg
- moon.svg
- selected-dot.svg
- sun.svg
- swm-logo.svg
- swm-logomark-top-right.svg
- swm-logomark.svg
- troubleshooting_thumbnail.png
- typegpu-logo-dark.svg
- typegpu-logo-light.svg
- typegpu-logo-monodark.svg
- typegpu-logo-monolight.svg
- typegpu-logomark-dark.svg
- typegpu-logomark-light.svg
- typegpu-logomark-monodark.svg
- typegpu-logomark-monolight.svg
- youtube.svg
- academy-signup-popover.ts
- AcademySignupPopover.astro
- Button.tsx
- ColorPicker.tsx
- DeleteIcon.tsx
- Select.tsx
- Slider.tsx
- Snackbar.tsx
- TextArea.tsx
- Toggle.tsx
- VectorSlider.tsx
- fluid-sim.ts
- hero-effect.ts
- HeroEffect.tsx
- load-model.ts
- screen-textures.ts
- Caustics.tsx
- CubemapReflection.tsx
- Fish.tsx
- HoverExampleIsland.tsx
- HoverExampleLive.tsx
- JellySlider.tsx
- LandingExampleGrid.tsx
- RayMarching.tsx
- Vaporrave.tsx
- GetStartedButton.astro
- MilestoneBindGroupsBadge.astro
- MilestoneBuffersBadge.astro
- MilestoneCodeBadge.astro
- MilestoneFunctionsBadge.astro
- MilestoneLinkerBadge.astro
- MilestonePipelinesBadge.astro
- RoadMapStep.astro
- CellGridPreview.tsx
- ConsolePreview.tsx
- index.ts
- RunnableSnippet.tsx
- useConsoleCapture.ts
- openInStackBlitz.ts
- pnpmWorkspace.ts
- stackBlitzIndex.ts
- Head.astro
- Sidebar.astro
- ThemeSelect.astro
- typegpu-academy-logomark.svg
- config.ts
- index.ts
- shared.ts
- TopBarBannerClient.tsx
- TranslatorHeader.tsx
- constants.ts
- editorConfig.ts
- rolldown.ts
- tgslExecutor.ts
- translatorStore.ts
- useAutoCompile.ts
- wgslTool.ts
- TranslatorApp.tsx
- CallToActionButton.astro
- CodeButton.astro
- CodeEditor.tsx
- CodePen.astro
- CodeShowcase.astro
- ComputeShadersArrayExample.tsx
- ComputeShadersBindGroupsExample.tsx
- ComputeShadersBindGroupsRuntime.ts
- ComputeShadersExample.astro
- ComputeShadersGridExample.tsx
- ControlPanel.tsx
- ExampleCard.tsx
- ExampleLayout.tsx
- ExampleLink.tsx
- ExampleNotFound.tsx
- ExamplePage.tsx
- ExampleView.tsx
- FeatureCard.astro
- FileDiff.astro
- FirstGpuProgramExample.astro
- FirstGpuProgramExample.tsx
- FooterLink.astro
- FpsCounter.tsx
- GradientTitle.astro
- ListItem.astro
- SearchableExampleList.tsx
- SecondaryButton.astro
- Testimonials.astro
- ThemeSwitcher.astro
- TryInPlaygroundButton.astro
- Videos.astro
- WebGPUErrorBoundary.tsx
- enabling-features.mdx
- explaining-the-magic.mdx
- minifying-shaders.mdx
- naming-convention.mdx
- shader-generation.mdx
- timestamp-queries.mdx
- index.mdx
- triangle-result.png
- accessors.mdx
- bind-groups.mdx
- buffers.mdx
- data-schemas.mdx
- pipelines.mdx
- resolve.mdx
- roots.mdx
- slots.mdx
- textures.mdx
- utils.mdx
- variables.mdx
- vertex-layouts.mdx
- banner.webp
- index.mdx
- banner.webp
- bone-tide-screenshot.webp
- index.mdx
- purrkour-screenshot.webp
- shaderscom.webp
- troubleshooting.md
- index.mdx
- index.mdx
- uv-mod.png
- uv-waves.webm
- uv.png
- banner.webp
- cube1.png
- cube2.png
- cube3.png
- cube4.png
- index.mdx
- third-party.mdx
- typegpu-color.mdx
- typegpu-noise.mdx
- typegpu-radiance-cascades.mdx
- typegpu-sdf.mdx
- circle-sdf.png
- colorful-line.png
- colorful-pixels.png
- colorful-triangle-smooth.png
- colorful-triangle.png
- compute-shaders.mdx
- moving-triangle.mp4
- red-pixels.png
- vertices-and-fragments.mdx
- your-first-gpu-program.mdx
- example-fish.png
- example-fluid-1.png
- example-fluid-2.png
- index.mdx
- worklets.mdx
- xcode-1.png
- xcode-2.png
- webgpu-interoperability.mdx
- wesl-interoperability.mdx
- working-with-wgpu-matrix.mdx
- 0-11.mdx
- 0-12.mdx
- ai-tools.mdx
- eslint-plugin-typegpu.mdx
- tgpu-gen.mdx
- typegpu-cli.mdx
- unplugin-typegpu.mdx
- effect.png
- index.mdx
- step1-typegpu.ts
- step1-webgpu.ts
- step1side-typegpu.ts
- step2-typegpu.ts
- step2-webgpu.ts
- step3-typegpu.ts
- step4-typegpu.ts
- step4-webgpu.ts
- step5-typegpu.ts
- step5-webgpu.ts
- step6-typegpu.ts
- step7-typegpu.ts
- step8-typegpu.ts
- step9-typegpu.ts
- step9-webgpu.ts
- ttbt-boids.png
- ttbt-triangle.png
- index.mdx
- index.mdx
- modularity-dark.svg
- modularity-light.svg
- getting-started.mdx
- index.html
- index.ts
- meta.json
- thumbnail.png
- calculator.ts
- index.html
- index.ts
- meta.json
- thumbnail.png
- ga.ts
- index.html
- index.ts
- meta.json
- thumbnail.png
- track.ts
- index.html
- index.ts
- meta.json
- thumbnail.png
- types.ts
- visualization.ts
- index.html
- index.ts
- meta.json
- thumbnail.png
- index.html
- index.ts
- meta.json
- thumbnail.png
- computeCpu.ts
- computeShared.ts
- computeSimple.ts
- index.html
- index.ts
- meta.json
- params.ts
- thumbnail.png
- types.ts
- data.ts
- helpers.ts
- index.html
- index.ts
- meta.json
- thumbnail.png
- constants.ts
- executor.ts
- helpers.ts
- index.html
- index.ts
- meta.json
- plotter.ts
- thumbnail.png
- types.ts
- defineControls.ts
- setup-first-person-camera.ts
- setup-orbit-camera.ts
- index.html
- index.ts
- meta.json
- thumbnail.png
- constants.ts
- index.html
- index.ts
- meta.json
- testCases.ts
- thumbnail.png
- index.html
- index.ts
- meta.json
- thumbnail.png
- index.html
- index.ts
- meta.json
- model.ts
- schemas.ts
- shaders.ts
- thumbnail.png
- index.html
- index.ts
- meta.json
- thumbnail.png
- index.html
- index.ts
- meta.json
- thumbnail.png
- index.html
- index.ts
- meta.json
- thumbnail.png
- index.html
- index.ts
- meta.json
- thumbnail.png
- channel-views.ts
- cross-scan.ts
- depthwise.ts
- elementwise.ts
- helpers.ts
- layouts.ts
- native-f16-conv.ts
- normalization.ts
- packed-f16-conv.ts
- pointwise.ts
- pooling.ts
- resize.ts
- scan-project.ts
- selective-scan.ts
- spatial-conv.ts
- spatial-specialized.ts
- types.ts
- winograd-f4.ts
- winograd-gemm.ts
- bundle.ts
- conv-dispatches.ts
- depthart.ts
- disparity-range.ts
- dispatch-helpers.ts
- dispatches.ts
- execution-plan.ts
- gpu-resources.ts
- half-weights.ts
- preprocess.ts
- tensor-arena.ts
- types.ts
- winograd-dispatches.ts
- winograd-weight.ts
- AGENTS.md
- camera-session.ts
- chooser.ts
- index.html
- index.ts
- light-input.ts
- meta.json
- model-store.ts
- renderer.ts
- shaders.ts
- thumbnail.png
- compute.ts
- dispatches.ts
- helpers.ts
- layouts.ts
- types.ts
- bundle.ts
- segmenter.ts
- video-preprocess.ts
- kernels.ts
- processor.ts
- types.ts
- frame.ts
- index.html
- index.ts
- meta.json
- thumbnail.png
- index.html
- index.tsx
- meta.json
- thumbnail.png
- index.html
- index.tsx
- meta.json
- thumbnail.png
- index.html
- index.tsx
- meta.json
- thumbnail.png
- compute.ts
- index.html
- index.ts
- load-model.ts
- meta.json
- params.ts
- render.ts
- scene.ts
- schemas.ts
- tgsl-helpers.ts
- thumbnail.png
- index.html
- index.ts
- meta.json
- thumbnail.png
- index.html
- index.ts
- meta.json
- scene.ts
- thumbnail.png
- index.html
- index.ts
- meta.json
- thumbnail.png
- consts.ts
- index.html
- index.ts
- meta.json
- thumbnail.png
- types.ts
- utils.ts
- cubemap.ts
- dataTypes.ts
- helpers.ts
- icosphere.ts
- index.html
- index.ts
- meta.json
- scene.ts
- thumbnail.png
- fragment.ts
- vertex.ts
- consts.ts
- index.html
- index.ts
- meta.json
- thumbnail.png
- utils.ts
- index.html
- index.ts
- meta.json
- thumbnail.png
- camera.ts
- constants.ts
- dataTypes.ts
- events.ts
- index.html
- index.ts
- meta.json
- numbers.ts
- scene.ts
- slider.ts
- taa.ts
- thumbnail.png
- utils.ts
- camera.ts
- constants.ts
- dataTypes.ts
- index.html
- index.ts
- meta.json
- spring.ts
- switch.ts
- taa.ts
- thumbnail.png
- utils.ts
- cubemap.ts
- index.html
- index.ts
- meta.json
- model.ts
- pbr.ts
- scene.ts
- thumbnail.png
- index.html
- index.ts
- meta.json
- thumbnail.png
- index.html
- index.ts
- load-model.ts
- meta.json
- params.ts
- schemas.ts
- thumbnail.png
- box-geometry.ts
- camera.ts
- index.html
- index.ts
- meta.json
- point-light.ts
- scene.ts
- thumbnail.png
- types.ts
- index.html
- index.ts
- meta.json
- shaders.ts
- thumbnail.png
- types.ts
- drag-controller.ts
- index.html
- index.ts
- meta.json
- scene.ts
- thumbnail.png
- drawInteraction.ts
- index.html
- index.ts
- meta.json
- thumbnail.png
- index.html
- index.ts
- meta.json
- scene.ts
- thumbnail.png
- geometry.ts
- index.html
- index.ts
- meta.json
- schemas.ts
- shaders.ts
- thumbnail.png
- geometry.ts
- index.html
- index.ts
- meta.json
- schemas.ts
- shaders.ts
- thumbnail.png
- geometry.ts
- index.html
- index.ts
- meta.json
- schema.ts
- thumbnail.png
- index.html
- index.ts
- meta.json
- thumbnail.png
- constants.ts
- index.html
- index.ts
- meta.json
- physics.ts
- schemas.ts
- sdfGen.ts
- shaderHelpers.ts
- sky.ts
- thumbnail.png
- index.html
- index.ts
- meta.json
- thumbnail.png
- index.html
- index.ts
- meta.json
- thumbnail.png
- index.html
- index.ts
- meta.json
- thumbnail.png
- index.html
- index.ts
- meta.json
- thumbnail.png
- index.html
- index.ts
- meta.json
- thumbnail.png
- index.html
- index.ts
- meta.json
- thumbnail.png
- index.html
- index.ts
- meta.json
- thumbnail.png
- animation.ts
- index.html
- index.ts
- loader.ts
- math.ts
- meta.json
- thumbnail.png
- tube.ts
- types.ts
- index.html
- index.ts
- meta.json
- thumbnail.png
- background.ts
- constants.ts
- index.html
- index.ts
- meta.json
- pbr.ts
- post-processing.ts
- sdf-scene.ts
- thumbnail.png
- types.ts
- index.html
- index.ts
- meta.json
- thumbnail.png
- index.html
- index.ts
- meta.json
- thumbnail.png
- index.html
- index.ts
- meta.json
- thumbnail.png
- index.html
- index.ts
- meta.json
- thumbnail.png
- constants.ts
- floor.ts
- helpers.ts
- index.html
- index.ts
- meta.json
- scene.ts
- sphere.ts
- thumbnail.png
- types.ts
- index.html
- index.ts
- meta.json
- thumbnail.png
- index.html
- index.ts
- meta.json
- thumbnail.png
- index.html
- index.ts
- meta.json
- thumbnail.png
- index.html
- index.ts
- meta.json
- thumbnail.png
- bitpacked-compute.ts
- common.ts
- fragment.ts
- naive-compute.ts
- tiled-compute.ts
- vertex.ts
- index.html
- index.ts
- input.ts
- meta.json
- thumbnail.png
- compute.ts
- enums.ts
- helpers.ts
- index.html
- index.ts
- meta.json
- presets.ts
- render.ts
- schemas.ts
- thumbnail.png
- index.html
- index.ts
- meta.json
- thumbnail.png
- index.html
- index.ts
- meta.json
- thumbnail.png
- index.html
- index.ts
- meta.json
- params.ts
- render.ts
- simulation.ts
- thumbnail.png
- types.ts
- index.html
- index.ts
- meta.json
- thumbnail.png
- index.html
- index.ts
- meta.json
- index.html
- index.ts
- meta.json
- index.html
- index.ts
- meta.json
- functions.ts
- index.html
- index.ts
- meta.json
- index.html
- index.ts
- meta.json
- thumbnail.png
- index.html
- index.ts
- meta.json
- index.html
- index.ts
- meta.json
- index.html
- index.ts
- meta.json
- array-and-struct-constructors.ts
- index.html
- index.ts
- infix-operators.ts
- logical-expressions.ts
- matrix-ops.ts
- meta.json
- pointers.ts
- index.html
- index.ts
- meta.json
- prngs.ts
- thumbnail.png
- index.html
- index.ts
- meta.json
- thumbnail.png
- index.html
- index.ts
- meta.json
- thumbnail.png
- index.html
- index.ts
- meta.json
- thumbnail.png
- triNoise.ts
- verlet.ts
- index.html
- index.ts
- license.ts
- meta.json
- thumbnail.png
- index.html
- index.ts
- meta.json
- thumbnail.png
- entities.ts
- index.html
- index.ts
- meta.json
- thumbnail.png
- index.html
- index.ts
- meta.json
- thumbnail.png
- index.html
- index.ts
- meta.json
- cubes.ts
- functions.ts
- index.html
- index.ts
- meta.json
- thumbnail.png
- index.html
- index.ts
- meta.json
- thumbnail.png
- exampleContent.ts
- importers.ts
- pathToExampleKey.ts
- usedApis.ts
- Aeonik-Air.otf
- Aeonik-AirItalic.otf
- Aeonik-Black.otf
- Aeonik-BlackItalic.otf
- Aeonik-Bold.otf
- Aeonik-BoldItalic.otf
- Aeonik-Light.otf
- Aeonik-LightItalic.otf
- Aeonik-Medium.otf
- Aeonik-MediumItalic.otf
- Aeonik-Regular.otf
- Aeonik-RegularItalic.otf
- Aeonik-Thin.otf
- Aeonik-ThinItalic.otf
- font-face.css
- loadingSpinner.css
- PageLayout.astro
- benchmark-results.tsx
- checkbox-tree.tsx
- parameter-set-row.tsx
- cast.ts
- compiled-write.ts
- partial-write.ts
- vector-creation.ts
- atom-with-url.ts
- benchmark-app.tsx
- index.astro
- modules.ts
- parameter-set.ts
- suites.ts
- index.astro
- index.astro
- index.astro
- currentExampleAtom.ts
- currentSnackbarAtom.ts
- errors.ts
- exampleControlAtom.ts
- exampleRunner.ts
- exampleState.ts
- exampleViewStateAtoms.ts
- sandboxModules.ts
- types.ts
- embeddedTypeScript.ts
- isGPUSupported.ts
- useEvent.ts
- useHydrated.ts
- content.config.ts
- env.d.ts
- mathjax.css
- tailwind.css
- README.md
- baseTest.ts
- commonMocks.ts
- testUtils.ts
- 3d-fish.test.ts
- ascii-filter.test.ts
- bitonic-sort.test.ts
- blur.test.ts
- boids.test.ts
- box-raytracing.test.ts
- camera-thresholding.test.ts
- caustics.test.ts
- chroma-keying.test.ts
- circles.test.ts
- clouds.test.ts
- confetti.test.ts
- cubemap-reflection.test.ts
- disco.test.ts
- dispatch.test.ts
- fluid-double-buffering.test.ts
- fluid-with-atomics.test.ts
- function-visualizer.test.ts
- game-of-life.test.ts
- global-wind-map.test.ts
- gradient-tiles.test.ts
- gravity.test.ts
- image-tuning.test.ts
- increment.test.ts
- jelly-slider.test.ts
- jelly-switch.test.ts
- jump-flood-distance.test.ts
- jump-flood-voronoi.test.ts
- lines-combinations.test.ts
- liquid-glass.test.ts
- log-test.test.ts
- matrix-multiplication.test.ts
- matrix-next.test.ts
- mnist-inference.test.ts
- oklab.test.ts
- perlin-noise.test.ts
- phong-reflection.test.ts
- point-light-shadow.test.ts
- probability.test.ts
- ray-marching.test.ts
- react-confetti.test.ts
- ripple-cube.test.ts
- shifting-gradient.test.ts
- simple-shadow.test.ts
- slime-mold-3d.test.ts
- slime-mold.test.ts
- smoky-triangle.test.ts
- spinning-triangle.test.ts
- square.test.ts
- stable-fluid.test.ts
- stencil.test.ts
- tgsl-parsing-test.test.ts
- triangle.test.ts
- two-boxes.test.ts
- uniformity.test.ts
- vaporrave.test.ts
- wgsl-resolution.test.ts
- xor-dev-centrifuge-2.test.ts
- xor-dev-runner.test.ts
- examples.test.browser.ts
- .gitignore
- astro.config.mjs
- ec.config.mjs
- package.json
- tsconfig.json
- vitest.config.mts
- bin.mjs
- package.json
- README.md
- tsconfig.json
- no-integer-division.md
- no-invalid-assignment.md
- no-math.md
- no-uninitialized-variables.md
- no-unsupported-syntax.md
- no-unwrapped-objects.md
- directiveTracking.ts
- noIntegerDivision.ts
- noInvalidAssignment.ts
- noMath.ts
- noUninitializedVariables.ts
- noUnsupportedSyntax.ts
- noUnwrappedObjects.ts
- configs.ts
- enhanceRule.ts
- index.ts
- nodeHelpers.ts
- ruleCreator.ts
- noIntegerDivision.test.ts
- noInvalidAssignment.test.ts
- noMath.test.ts
- noUninitializedVariables.test.ts
- noUnsupportedSyntax.test.ts
- noUnwrappedObjects.test.ts
- ruleTester.ts
- ruleNames.test.ts
- .eslint-doc-generatorrc.mjs
- package.json
- README.md
- tsconfig.json
- tsdown.config.ts
- vitest.config.ts
- noTgpuDefaultImport.ts
- noUselessPathSegments.ts
- index.ts
- ruleCreator.ts
- noTgpuDefaultImport.test.ts
- noUselessPathSegments.test.ts
- ruleTester.ts
- package.json
- README.md
- tsconfig.json
- vitest.config.ts
- changes.mjs
- colors.mjs
- icons.mjs
- index.mjs
- log.mjs
- package.json
- prepack.mjs
- progress.mjs
- tgpu-dev-cli.mjs
- verify-publish-tag.mjs
- alias.test.ts
- bindGroupLayouts.test.ts
- functions.test.ts
- outputPathCompiler.test.ts
- structs.test.ts
- colors.mjs
- gen.mjs
- LICENSE
- outputPathCompiler.mjs
- package.json
- README.md
- tgpu-gen.mjs
- tsconfig.json
- index.ts
- nodes.ts
- jsr.json
- package.json
- README.md
- tsconfig.json
- tsdown.config.ts
- externals.ts
- index.ts
- parsers.ts
- types.ts
- helpers.ts
- parsers.test.ts
- package.json
- README.md
- tsconfig.json
- tsconfig.test.json
- tsdown.config.ts
- fullScreenTriangle.ts
- index.ts
- writeSoA.ts
- buffer.ts
- bufferBinding.ts
- bufferUsage.ts
- laidOutBuffer.ts
- attachments.ts
- commandEncoder.ts
- computePass.ts
- renderPass.ts
- tgpuConstant.ts
- tgpuDeclare.ts
- autoIO.ts
- comptime.ts
- createCallableSchema.ts
- dualImpl.ts
- entryInputRouter.ts
- extractArgs.ts
- fnCore.ts
- fnTypes.ts
- ioSchema.ts
- shelllessImpl.ts
- templateUtils.ts
- tgpuComputeFn.ts
- tgpuFn.ts
- tgpuFragmentFn.ts
- tgpuVertexFn.ts
- computePipeline.ts
- connectAttachmentToShader.ts
- connectTargetsToShader.ts
- drawState.ts
- performanceTracker.ts
- pipelineUtils.ts
- priors.ts
- renderPipeline.ts
- timeable.ts
- typeGuards.ts
- webgpuLimitations.ts
- querySet.ts
- tgpuRawCodeSnippet.ts
- externals.ts
- namespace.ts
- resolvableString.ts
- resolveData.ts
- stitch.ts
- tgpuResolve.ts
- configurableImpl.ts
- init.ts
- rootTypes.ts
- sampler.ts
- tgpuSimulate.ts
- accessor.ts
- internalSlots.ts
- lazy.ts
- slot.ts
- slotTypes.ts
- externalTexture.ts
- texture.ts
- textureFormats.ts
- textureProps.ts
- textureUtils.ts
- usageExtension.ts
- tgpuUnroll.ts
- tgpuVariable.ts
- connectAttributesToShader.ts
- vertexAttribute.ts
- vertexLayout.ts
- valueProxyUtils.ts
- whitespaces.ts
- alignIO.ts
- alignmentOf.ts
- array.ts
- assignInfixOperators.ts
- atomic.ts
- attributes.ts
- autoStruct.ts
- compiledIO.ts
- dataIO.ts
- dataTypes.ts
- deepEqual.ts
- disarray.ts
- float16Conversion.ts
- generalizeFn.ts
- getLongestContiguousPrefix.ts
- index.ts
- instanceToSchema.ts
- isContiguous.ts
- matrix.ts
- numberOps.ts
- numeric.ts
- offsets.ts
- offsetUtils.ts
- partialIO.ts
- ptr.ts
- ref.ts
- sampler.ts
- schemaCallWrapper.ts
- schemaMemoryLayout.ts
- sizeOf.ts
- snippet.ts
- struct.ts
- texture.ts
- unstruct.ts
- vector.ts
- vectorImpl.ts
- vectorOps.ts
- vertexFormatData.ts
- wgslTypes.ts
- registry.ts
- restore.ts
- schema.ts
- types.ts
- env.ts
- generators.ts
- meta.ts
- normalizeMetadata.ts
- README.md
- repr.ts
- soul.ts
- stringify.ts
- symbols.ts
- tseynit.ts
- utilityTypes.ts
- vertexFormat.ts
- array.ts
- atomic.ts
- bitcast.ts
- boolean.ts
- copy.ts
- derivative.ts
- discard.ts
- environment.ts
- extensions.ts
- index.ts
- matrix.ts
- numeric.ts
- operators.ts
- packing.ts
- range.ts
- subgroup.ts
- texture.ts
- deserializers.ts
- logGenerator.ts
- serializers.ts
- types.ts
- accessIndex.ts
- accessProp.ts
- accessStructProp.ts
- conversion.ts
- forOfUtils.ts
- generationHelpers.ts
- infixDispatch.ts
- jsPolyfills.ts
- makeDereferenceable.ts
- makeResolvable.ts
- shaderGenerator.ts
- shellless.ts
- wgslGenerator.ts
- builtin.ts
- errors.ts
- execMode.ts
- extension.ts
- getGPUValue.ts
- globals.d.ts
- index.d.ts
- index.js
- indexNamedExports.ts
- internal.ts
- mathUtils.ts
- memo.ts
- minify.ts
- nameUtils.ts
- resolutionCtx.ts
- taskQueue.ts
- tgpu.ts
- tgpuBindGroupLayout.ts
- tgpuLogger.ts
- tgpuUnstable.ts
- types.ts
- unwrapper.ts
- wgslExtensions.ts
- atomic.test.ts
- deepEqual.test.ts
- ptr.test.ts
- autoname.test.ts
- bufferSchemaValidation.test.ts
- builtin.test.ts
- capturedSnippets.test.ts
- compiledIO.test.ts
- computePipeline.test.ts
- connectAttributesToShader.test.ts
- deserializeAndStringify.test.ts
- dualImpl.test.ts
- externals.test.ts
- extractArgs.test.ts
- function.test.ts
- generationHelpers.test.ts
- getBestConversion.test.ts
- gpuValueOf.test.ts
- halfBits.test.ts
- indentController.test.ts
- ioSchema.test.ts
- limitsOverflow.test.ts
- mathUtils.test.ts
- metadata.test.ts
- partialIo.noEval.test.ts
- partialIo.test.ts
- querySet.test.ts
- renderPipeline.test.ts
- schemaCallWrapper.test.ts
- textureFormats.test.ts
- tgpuLogger.test.ts
- tseynit.test.ts
- typeGuards.test.ts
- unwrapRuntimeConstructor.ts
- utilityTypes.test.ts
- vertexAttribute.test.ts
- all.test.ts
- allEq.test.ts
- and.test.ts
- any.test.ts
- eq.test.ts
- ge.test.ts
- gt.test.ts
- isCloseTo.test.ts
- le.test.ts
- lt.test.ts
- ne.test.ts
- not.test.ts
- or.test.ts
- select.test.ts
- rotate.test.ts
- scale.test.ts
- translate.test.ts
- acos.test.ts
- acosh.test.ts
- add.test.ts
- asin.test.ts
- atan2.test.ts
- bitShift.test.ts
- cosh.test.ts
- cross.test.ts
- distance.test.ts
- div.test.ts
- dot.test.ts
- exp2.test.ts
- fract.test.ts
- frexp.test.ts
- intdiv.test.ts
- length.test.ts
- log.test.ts
- log2.test.ts
- max.test.ts
- min.test.ts
- mix.test.ts
- mod.test.ts
- modf.test.ts
- mul.test.ts
- normalize.test.ts
- pow.test.ts
- reflect.test.ts
- round.test.ts
- sign.test.ts
- smoothstep.test.ts
- sub.test.ts
- textureGather.test.ts
- textureLoad.test.ts
- textureSample.test.ts
- bitcast.test.ts
- copy.test.ts
- environment.test.ts
- packing.test.ts
- range.test.ts
- transpose.test.ts
- argumentOrigin.test.ts
- assignment.test.ts
- binaryLogicalOps.test.ts
- codeGen.test.ts
- comptime.test.ts
- consoleLog.test.ts
- conversion.test.ts
- entryFnParamPruning.test.ts
- extensionEnabled.test.ts
- infixOperators.test.ts
- letDeclaration.test.ts
- memberAccess.test.ts
- multiplication.test.ts
- nameClashes.test.ts
- operatorOverloads.test.ts
- rawCodeSnippet.test.ts
- shellless.test.ts
- sideEffects.test.ts
- ternaryOperator.test.ts
- typeInference.test.ts
- wgslGenerator.test.ts
- parseResolved.ts
- accessor.test.ts
- align.test.ts
- array.test.ts
- arrayBufferIO.test.ts
- attributes.test.ts
- bindGroupLayout.test.ts
- buffer.test.ts
- bufferBindings.test.ts
- builtin.test.ts
- commandEncoder.test.ts
- computePipeline.test.ts
- constant.test.ts
- declare.test.ts
- disarray.test.ts
- entryFnBuiltinArgs.test.ts
- entryFnHeaderGen.test.ts
- externalPropAccess.test.ts
- function.test.ts
- functionTagged.test.ts
- getLongestContiguousPrefix.test.ts
- guardedComputePipeline.test.ts
- indent.test.ts
- inferInput.test.ts
- infixOperators.test.ts
- interpolate.test.ts
- invariant.test.ts
- isContiguous.test.ts
- jsMath.test.ts
- lazy.test.ts
- location.test.ts
- makeDereferenceable.test.ts
- makeResolvable.test.ts
- matrix.test.ts
- minification.test.ts
- mutabilityTracking.test.ts
- namespace.test.ts
- numeric.test.ts
- offsetUtils.test.ts
- pipeline-resolution.test.ts
- pipelineInit.test.ts
- primitiveCast.test.ts
- querySet.test.ts
- rawFn.test.ts
- ref.test.ts
- renderPipeline.test.ts
- resolve.test.ts
- root.test.ts
- serial.test.ts
- serializeDataSchema.test.ts
- simulate.test.ts
- size.test.ts
- slot.test.ts
- struct.test.ts
- swizzleMixedValidation.test.ts
- texture.test.ts
- tgpuGenericFn.test.ts
- tgslFn.test.ts
- unroll.test.ts
- unstruct.test.ts
- variable.test.ts
- vector.test.ts
- vertexLayout.test.ts
- wgpuMatrixIntegration.test.ts
- bin.mjs
- build.mjs
- package.json
- README.md
- setupVitest.ts
- tsconfig.build.json
- tsconfig.json
- tsconfig.test.json
- vitest.config.mts
- skills.ts
- typegpu.ts
- vite.ts
- webgpu-types.ts
- config.ts
- files.ts
- inputs.ts
- logo.ts
- pkg.ts
- pm.ts
- prompts.ts
- types.ts
- create.ts
- enhance.ts
- index.ts
- options.ts
- extensions.json
- settings.json
- settings.json
- adaptive-icon.png
- favicon.png
- icon.png
- splash-icon.png
- Shader.tsx
- _gitignore
- _nvmrc
- _oxfmtrc.json
- _package.json
- app.json
- App.tsx
- babel.config.js
- index.ts
- oxlint.config.ts
- tsconfig.json
- extensions.json
- settings.json
- settings.json
- favicon.ico
- globals.css
- layout.tsx
- page.tsx
- Shader.tsx
- icons.svg
- next.svg
- typegpu-logo-dark.svg
- typegpu-logo-light.svg
- _gitignore
- _nvmrc
- _oxfmtrc.json
- _package.json
- AGENTS.md
- babel.config.js
- CLAUDE.md
- next.config.ts
- oxlint.config.ts
- pnpm-workspace.yaml
- postcss.config.mjs
- tsconfig.json
- extensions.json
- settings.json
- settings.json
- favicon.svg
- icons.svg
- typegpu-logo-dark.svg
- typegpu-logo-light.svg
- vite.svg
- main.ts
- style.css
- _gitignore
- _nvmrc
- _oxfmtrc.json
- _package.json
- index.html
- oxlint.config.ts
- tsconfig.json
- vite.config.ts
- extensions.json
- settings.json
- settings.json
- favicon.svg
- icons.svg
- typegpu-logo-dark.svg
- typegpu-logo-light.svg
- vite.svg
- main.ts
- style.css
- _gitignore
- _nvmrc
- _oxfmtrc.json
- _package.json
- index.html
- oxlint.config.ts
- tsconfig.json
- vite.config.ts
- extensions.json
- settings.json
- settings.json
- favicon.svg
- icons.svg
- react.svg
- typegpu-logo-dark.svg
- typegpu-logo-light.svg
- vite.svg
- App.tsx
- index.css
- main.tsx
- _gitignore
- _nvmrc
- _oxfmtrc.json
- _package.json
- index.html
- oxlint.config.ts
- tsconfig.app.json
- tsconfig.json
- tsconfig.node.json
- vite.config.ts
- extensions.json
- settings.json
- settings.json
- favicon.ico
- icons.svg
- typegpu-logo-dark.svg
- typegpu-logo-light.svg
- waku.png
- Shader.tsx
- _layout.tsx
- index.tsx
- global.d.ts
- styles.css
- _gitignore
- _nvmrc
- _oxfmtrc.json
- _package.json
- oxlint.config.ts
- tsconfig.json
- waku.config.ts
- LICENSE
- package.json
- README.md
- tsconfig.json
- tsdown.config.ts
- hex.ts
- hsv.ts
- index.ts
- oklab.ts
- srgb.ts
- ycbcr.ts
- build.config.ts
- package.json
- README.md
- tsconfig.json
- basic.svg
- polyline-basic.svg
- triangulation.svg
- arrow.ts
- butt.ts
- index.ts
- square.ts
- triangle.ts
- wedge.ts
- index.ts
- miter.ts
- round.ts
- constants.ts
- externalNormals.ts
- index.ts
- indices.ts
- lineVariableWidth.ts
- polylineVariableWidth.ts
- slots.ts
- solveJoin.ts
- types.ts
- circle.ts
- index.ts
- utils.ts
- ArticlePlan.md
- build.config.ts
- LinesExplanation.md
- package.json
- README.md
- tsconfig.json
- glOptions.ts
- glslGenerator.ts
- index.ts
- initWithGL.ts
- initWithGLFallback.ts
- tgpuRootWebGL.ts
- extendedTest.ts
- constant.test.ts
- glslGenerator.test.ts
- implicitPointer.test.ts
- uniforms.test.ts
- variable.test.ts
- vector.test.ts
- webglFallback.test.ts
- ARCHITECTURE.md
- package.json
- README.md
- tsconfig.json
- tsconfig.test.json
- tsdown.config.ts
- vitest.config.mts
- algorithm.ts
- dynamic-cache.ts
- index.ts
- static-cache.ts
- algorithm.ts
- dynamic-cache.ts
- index.ts
- static-cache.ts
- generator.ts
- index.ts
- random.ts
- utils.ts
- build.config.ts
- package.json
- README.md
- tsconfig.json
- cascades.ts
- index.ts
- runner.ts
- package.json
- README.md
- tsconfig.json
- tsdown.config.ts
- index.ts
- use-configure-context.ts
- client-only.tsx
- helper-hooks.ts
- root-context.tsx
- symbols.ts
- use-bail-on-server.ts
- use-bind-group.ts
- use-buffer.ts
- use-configure-context.ts
- use-effect-event.ts
- use-frame.ts
- use-mirrored-uniform.ts
- use-mutable.ts
- use-readonly.ts
- use-render.ts
- use-uniform.ts
- register-serializables.ts
- transfer-cache.ts
- index.ts
- use-configure-context.ts
- use-configure-worklet-context.ts
- use-frame.ts
- worklets-integration.ts
- shared-exports.ts
- register-serializables.test.ts
- use-frame.test.tsx
- extended-test.tsx
- root-context.test.tsx
- use-buffer.test.tsx
- use-mirrored-uniform.test.tsx
- build.mjs
- package.json
- README.md
- tsconfig.build.json
- tsconfig.json
- tsconfig.test.json
- vitest.config.mts
- 2d.ts
- 3d.ts
- index.ts
- jumpFlood.ts
- operators.ts
- package.json
- README.md
- tsconfig.json
- tsdown.config.ts
- bitonicSort.ts
- index.ts
- slots.ts
- types.ts
- utils.ts
- applySums.ts
- scan.ts
- shared.ts
- index.ts
- prefixScan.ts
- schemas.ts
- types.ts
- index.ts
- build.config.ts
- package.json
- README.md
- tsconfig.json
- capture.ts
- config.ts
- extendedIt.ts
- index.ts
- webgpuGlobals.ts
- package.json
- tsconfig.json
- builtin-accessors.ts
- common.ts
- index.ts
- instancedArray.ts
- typegpu-node.ts
- uniform.ts
- typegpu-node.test.ts
- build.config.ts
- package.json
- README.md
- tsconfig.json
- tsconfig.test.json
- vitest.config.mts
- common.ts
- embeddedMetadata.ts
- factory.ts
- filter.ts
- obfuscate.ts
- babel.ts
- bun.ts
- esbuild.ts
- farm.ts
- index.ts
- rolldown-browser.ts
- rolldown.ts
- rollup.ts
- rspack.ts
- vite.ts
- webpack.ts
- aliasing.test.ts
- auto-naming.test.ts
- embedded-metadata.test.ts
- nested-externals.test.ts
- obfuscation.test.ts
- parser-options.test.ts
- regex.test.ts
- tgsl-transpiling.test.ts
- transform.ts
- typescript-syntax.test.ts
- use-gpu-directive.test.ts
- package.json
- README.md
- tsconfig.json
- tsdown.config.ts
- _utils.ts
- publish-pkg-pr.ts
- publish.ts
- .gitattributes
- .gitignore
- .nvmrc
- .oxfmtrc.json
- .prettierrc
- CONTRIBUTING.md
- LICENSE
- oxlint.config.ts
- package.json
- pnpm-lock.yaml
- pnpm-workspace.yaml
- projects-using-typegpu.md
- README.md
- tsconfig.base.json
- tsconfig.json
- vitest.config.mts
# Installation Guide
nodeSetup Steps
pnpm install
Install project dependencies.
pnpm build
Build all packages and workspaces.
pnpm test
Run the test suite.
Key Commands
pnpm install
Install package dependencies across the monorepo.
pnpm build
Build TypeScript packages and libraries.
pnpm test
Run unit tests using Vitest.
A modern browser or environment supporting WebGPU is required.
# Use via CDN
jsDelivrjsDelivr serves any public GitHub repository as a CDN with zero setup. Pick a version and a file to get a ready-to-paste link and snippet.
Link
Example
// repository documentation
Was this content helpful?
(0 ratings)
