Skip to content

Map

Every module, grouped by area, with lines between modules that depend on each other.

Point at a module to see the modules it takes and the modules that take it. A dotted line means the taken module also fills accessors in the taker's shaders.

  • ao takes cameras, which fills accessors in its shaders
  • dof takes cameras, which fills accessors in its shaders
  • environment takes passes, which fills accessors in its shaders
  • finish takes exposure, which fills accessors in its shaders
  • impostors takes meshPool, which fills accessors in its shaders
  • impostors takes poses, which fills accessors in its shaders
  • instances takes cameras, which fills accessors in its shaders
  • instances takes lighting, which fills accessors in its shaders
  • instances takes meshPool, which fills accessors in its shaders
  • particles takes cameras, which fills accessors in its shaders
  • passes takes bindings, which fills accessors in its shaders
  • picker takes cameras, which fills accessors in its shaders
  • taa takes cameras, which fills accessors in its shaders
  • text takes cameras, which fills accessors in its shaders
  • text takes font

A module’s card lists only what differs from a plain module, which submits nothing, injects nothing, binds nothing in your shaders, needs no other module or device feature, allocates nothing in a steady frame and runs on web and native.

ModuleImportWhat it is
ao@typegpu/kitCreates ground-truth ambient occlusion (GTAO) from a depth texture drawn before shading.
bake@typegpu/kit/bakeThis Node build-time tool bakes fonts for @typegpu/kit with @pmndrs/glyph.
baker@typegpu/kitBakes a 'use gpu' function of a texel's position into a texture, in your encoder or compute pass: a procedural picture, a distance field, a lookup table.
bindings@typegpu/kitDeclares module bindings that an app can combine in one shared layout.
bloom@typegpu/kitCreates bloom from a chain of half-size textures.
cameras@typegpu/kitProvides orbit, 2D, custom and layered cameras through the cameras.current accessor.
census@typegpu/kit/debugCounts pipelines, their bindings per stage, and late compiles.
clock@typegpu/kitCounts fixed steps and cadences, and eases and springs values at the same pace at any frame rate.
coroutines@typegpu/kitRuns generators that pause at yield* and resume in a later frame.
dof@typegpu/kitCreates depth of field.
dynamicResolution@typegpu/kitPicks a resolution scale that keeps a GPU timing under a budget.
environment@typegpu/kitLights surfaces with the light around them: an HDR panorama, a cube map or a sky you write.
events@typegpu/kitCounts named events on the GPU and reads them back to the CPU.
exposure@typegpu/kitCreates an exposure that adapts to the picture on the GPU.
finish@typegpu/kitCreates the final pass of a frame.
font@typegpu/kitUploads a baked font atlas and glyph quads for text sets.
frames@typegpu/kitRecords a frame into one encoder and submits once, with a clock.
fxaa@typegpu/kitCreates an FXAA 3.11 pass at the default quality.
gltf@typegpu/kitReads a binary glTF 2.0 file into meshes, selected parts, a skin and animations.
gpuDebug@typegpu/kit/debugInstalls WebGPU profiling patches without starting recording.
gpuDebugPanel@typegpu/kit/debug/gpuDebugPanelShows the GPU debug panel over a React Native scene hosted with useScene or scenes.host.
grid@typegpu/kit/gridSorts items into a neighbour grid each step.
history@typegpu/kitKeeps the previous frame's state for motion vectors and reprojection.
hosting@typegpu/kit/hostingProvides shared hosting code without importing React Native.
images@typegpu/kitPuts images on the GPU from files, pixels or Radiance HDR, as colour or data, with mips, layers of an array or a cube, and samplers.
impostors@typegpu/kitThis module captures meshes into an atlas and draws them as camera-facing cards.
inject@typegpu/kitProvides helpers for module fills.
instances@typegpu/kitThis module stores mesh instances and builds renderers for colour and depth passes.
lighting@typegpu/kitCreates lighting with a sun, sky and fog.
lines@typegpu/kitDraws polylines as a drawing for pass descriptions, in one draw for a whole set.
liveLists@typegpu/kitLists live slots by group on the GPU.
machines@typegpu/kitDefines states and transitions for machines that run on the CPU or for each table row on the GPU.
materials@typegpu/kitThese 'use gpu' functions create materials for shading.shade, with colours or mesh textures.
memo@typegpu/kitCaches the last two results of fn, comparing arguments by identity.
meshes@typegpu/kit/geometryShapes with a vertex count and vertexAt(i), computed in a vertex shader or baked into buffers.
meshPool@typegpu/kitCreates shared vertex storage and an index buffer, with bounds and textures per mesh.
mipmaps@typegpu/kitFills a texture's mip levels in your encoder, each texel combining a 2×2 block of the level above with a 'use gpu' function: a mean for sampling, the farthest depth for occlusion.
native@typegpu/kit/nativeProvides a react-native-webgpu canvas surface that pauses in the background, and a check that two threads can share a device.
owner@typegpu/kitFrees what a scene or module made in one call, and checks whether it has been destroyed.
particles@typegpu/kitCreates a GPU particle pool.
passes@typegpu/kitDescribes the targets and outputs for passes that draw a scene.
picker@typegpu/kitFinds a candidate under a screen point on the GPU.
pipelines@typegpu/kitCompiles pipelines behind a loading screen, lists a pipeline's bindings per stage, and provides blend states.
polylines@typegpu/kit/geometry'use gpu' functions that place the vertices of lines, joins, caps and circles on the screen.
poses@typegpu/kitThis module animates skinned models by computing pose joints on the GPU each frame.
profiler@typegpu/kitTimes GPU passes with one shared query set and reads results without stalling.
react@typegpu/kit/scenes/reactHosts a scene on a react-native-webgpu <Canvas> through useScene.
readback@typegpu/kitCopies a buffer to the CPU without stalling, using a ring of staging buffers.
recording@typegpu/kit/debug/recordingExports the recorder, the WebGPU patches and the frame hook for reading frames without mounting the panel.
runtimes@typegpu/kit/runtimesRuns GPU work on React Native worklet runtimes.
scenes@typegpu/kit/scenesHosts a scene on a React Native canvas on a worker, the UI runtime or the JS thread.
shading@typegpu/kitThese 'use gpu' functions shade surfaces with the lighting injected into their pipeline.
shadows@typegpu/kitThe shadows a lighting casts: the sun's map, fixed or in cascades fitted to a view, and the maps of point and spot lights.
sorter@typegpu/kitCreates a stable radix sort of a buffer of keys, eight bits a pass, which carries a payload along.
taa@typegpu/kitCreates temporal antialiasing from subpixel-jittered frames.
table@typegpu/kitStores per-object rows in GPU buffers with stable ids.
targets@typegpu/kitCreates render targets that follow a size.
testing@typegpu/kit/testingRuns scene frames in tests without a GPU.
text@typegpu/kitCreates labels drawn from a baked MSDF font atlas.
tone@typegpu/kitThese 'use gpu' functions apply tone curves and dither.
trails@typegpu/kitCreates trails as rings of recent points, pushed by kernels or written on the CPU, and draws them as lines.
typeset@typegpu/kitThis module lays out strings on the CPU using baked font advances and kerning.
video@typegpu/kitFits camera frames into a texture, or samples them in place.
web@typegpu/kit/webHosts scenes on web canvases and provides surfaces, GPU pacing, pointer input and orbit controls.
workgroup@typegpu/kitThese 'use gpu' functions combine one value from each invocation of a workgroup: reduce gives every invocation the combination of all of them, and scan gives each the combination of those before it.