Skip to content

Comments

feat: Stabilize pipelines and entry functions#2168

Merged
iwoplaza merged 2 commits intomainfrom
feat/stabilize-pipelines
Feb 20, 2026
Merged

feat: Stabilize pipelines and entry functions#2168
iwoplaza merged 2 commits intomainfrom
feat/stabilize-pipelines

Conversation

@iwoplaza
Copy link
Collaborator

No description provided.

@github-actions
Copy link

github-actions bot commented Feb 16, 2026

📊 Bundle Size Comparison

🟢 Decreased ➖ Unchanged 🔴 Increased ❔ Unknown
0 334 4 3

👀 Notable results

Static test results:

No major changes.

Dynamic test results:

Test tsdown
tgpu.computeFn from typegpu.ts 32.12 kB
tgpu.fragmentFn from typegpu.ts 32.27 kB
tgpu.vertexFn from typegpu.ts 32.24 kB

📋 All results

Click to reveal the results table (340 entries).
Test tsdown
dataImportEverything.ts 61.89 kB (➖)
dataImportOneDirect.ts 21.13 kB (➖)
dataImportOneStar.ts 21.13 kB (➖)
functionWithUseGpu.ts 268 B (➖)
functionWithoutUseGpu.ts 24 B (➖)
importEntireLibrary.ts 249.87 kB ($${\color{red}+0.0\%}$$)
stdImportEverything.ts 96.01 kB (➖)
stdImportOneDirect.ts 44.00 kB (➖)
stdImportOneStar.ts 44.00 kB (➖)
tgpuImportEverything.ts 230.32 kB ($${\color{red}+0.0\%}$$)
tgpuImportOne.ts 230.33 kB ($${\color{red}+0.0\%}$$)
MissingBindGroupsError from typegpu.ts 1.29 kB (➖)
MissingLinksError from typegpu.ts 208 B (➖)
MissingSlotValueError from typegpu.ts 153 B (➖)
MissingVertexBuffersError from typegpu.ts 1.29 kB (➖)
NotUniformError from typegpu.ts 1.25 kB (➖)
ResolutionError from typegpu.ts 1.48 kB (➖)
Void from typegpudata.ts 675 B (➖)
abs from typegpustd.ts 61.32 kB (➖)
acos from typegpustd.ts 61.32 kB (➖)
acosh from typegpustd.ts 61.32 kB (➖)
add from typegpustd.ts 44.00 kB (➖)
align from typegpudata.ts 22.81 kB (➖)
alignmentOf from typegpudata.ts 19.24 kB (➖)
allEq from typegpustd.ts 46.53 kB (➖)
all from typegpustd.ts 46.53 kB (➖)
and from typegpustd.ts 46.52 kB (➖)
any from typegpustd.ts 46.54 kB (➖)
arrayLength from typegpustd.ts 12.13 kB (➖)
arrayOf from typegpudata.ts 23.02 kB (➖)
asin from typegpustd.ts 61.32 kB (➖)
asinh from typegpustd.ts 61.32 kB (➖)
atan2 from typegpustd.ts 61.32 kB (➖)
atan from typegpustd.ts 61.32 kB (➖)
atanh from typegpustd.ts 61.32 kB (➖)
atomicAdd from typegpustd.ts 13.51 kB (➖)
atomicAnd from typegpustd.ts 13.51 kB (➖)
atomicLoad from typegpustd.ts 13.49 kB (➖)
atomicMax from typegpustd.ts 13.51 kB (➖)
atomicMin from typegpustd.ts 13.51 kB (➖)
atomicOr from typegpustd.ts 13.51 kB (➖)
atomicStore from typegpustd.ts 13.50 kB (➖)
atomicSub from typegpustd.ts 13.51 kB (➖)
atomicXor from typegpustd.ts 13.51 kB (➖)
atomic from typegpudata.ts 714 B (➖)
bitcastU32toF32 from typegpustd.ts 41.40 kB (➖)
bitcastU32toI32 from typegpustd.ts 41.41 kB (➖)
bool from typegpudata.ts 10.69 kB (➖)
builtin from typegpudata.ts 25.37 kB (➖)
ceil from typegpustd.ts 61.32 kB (➖)
clamp from typegpustd.ts 61.32 kB (➖)
common from typegpu.ts 35.34 kB (➖)
comparisonSampler from typegpudata.ts 694 B (➖)
cos from typegpustd.ts 61.32 kB (➖)
cosh from typegpustd.ts 61.32 kB (➖)
countLeadingZeros from typegpustd.ts 61.32 kB (➖)
countOneBits from typegpustd.ts 61.32 kB (➖)
countTrailingZeros from typegpustd.ts 61.32 kB (➖)
cross from typegpustd.ts 61.32 kB (➖)
d from typegpu.ts 61.89 kB (➖)
deepEqual from typegpudata.ts 2.72 kB (➖)
degrees from typegpustd.ts 61.32 kB (➖)
determinant from typegpustd.ts 61.32 kB (➖)
disarrayOf from typegpudata.ts 12.65 kB (➖)
discard from typegpustd.ts 11.89 kB (➖)
distance from typegpustd.ts 61.31 kB (➖)
div from typegpustd.ts 44.00 kB (➖)
dot4I8Packed from typegpustd.ts 61.32 kB (➖)
dot4U8Packed from typegpustd.ts 61.31 kB (➖)
dot from typegpustd.ts 61.31 kB (➖)
dpdxCoarse from typegpustd.ts 12.75 kB (➖)
dpdxFine from typegpustd.ts 12.75 kB (➖)
dpdx from typegpustd.ts 12.74 kB (➖)
dpdyCoarse from typegpustd.ts 12.75 kB (➖)
dpdyFine from typegpustd.ts 12.75 kB (➖)
dpdy from typegpustd.ts 12.75 kB (➖)
eq from typegpustd.ts 46.53 kB (➖)
exp2 from typegpustd.ts 61.32 kB (➖)
exp from typegpustd.ts 61.32 kB (➖)
extensionEnabled from typegpustd.ts 12.21 kB (➖)
extractBits from typegpustd.ts 61.32 kB (➖)
f16 from typegpudata.ts 10.69 kB (➖)
f32 from typegpudata.ts 10.69 kB (➖)
faceForward from typegpustd.ts 61.32 kB (➖)
firstLeadingBit from typegpustd.ts 61.32 kB (➖)
firstTrailingBit from typegpustd.ts 61.32 kB (➖)
float16 from typegpudata.ts 18.22 kB (➖)
float16x2 from typegpudata.ts 18.22 kB (➖)
float16x4 from typegpudata.ts 18.22 kB (➖)
float32 from typegpudata.ts 18.22 kB (➖)
float32x2 from typegpudata.ts 18.22 kB (➖)
float32x3 from typegpudata.ts 18.22 kB (➖)
float32x4 from typegpudata.ts 18.22 kB (➖)
floor from typegpustd.ts 61.32 kB (➖)
fma from typegpustd.ts 61.32 kB (➖)
formatToWGSLType from typegpudata.ts 18.21 kB (➖)
fract from typegpustd.ts 61.31 kB (➖)
frexp from typegpustd.ts 61.31 kB (➖)
fwidthCoarse from typegpustd.ts 12.75 kB (➖)
fwidthFine from typegpustd.ts 12.75 kB (➖)
fwidth from typegpustd.ts 12.75 kB (➖)
ge from typegpustd.ts 46.53 kB (➖)
gt from typegpustd.ts 46.54 kB (➖)
i32 from typegpudata.ts 10.69 kB (➖)
identity2 from typegpustd.ts 24.64 kB (➖)
identity3 from typegpustd.ts 24.64 kB (➖)
identity4 from typegpustd.ts 24.64 kB (➖)
insertBits from typegpustd.ts 61.32 kB (➖)
interpolate from typegpudata.ts 22.81 kB (➖)
invariant from typegpudata.ts 23.18 kB (➖)
inverseSqrt from typegpustd.ts 61.32 kB (➖)
isAccessor from typegpu.ts 72 B (➖)
isAlignAttrib from typegpudata.ts 696 B (➖)
isAtomic from typegpudata.ts 696 B (➖)
isBufferShorthand from typegpu.ts 1.70 kB (➖)
isBuffer from typegpu.ts 85.32 kB (➖)
isBuiltinAttrib from typegpudata.ts 698 B (➖)
isBuiltin from typegpudata.ts 21.22 kB (➖)
isCloseTo from typegpustd.ts 46.54 kB (➖)
isComparisonSampler from typegpu.ts 56.75 kB (➖)
isData from typegpudata.ts 2.33 kB (➖)
isDecorated from typegpudata.ts 699 B (➖)
isDisarray from typegpudata.ts 1.63 kB (➖)
isInterpolateAttrib from typegpudata.ts 702 B (➖)
isLazy from typegpu.ts 68 B (➖)
isLocationAttrib from typegpudata.ts 699 B (➖)
isLooseData from typegpudata.ts 1.68 kB (➖)
isLooseDecorated from typegpudata.ts 1.64 kB (➖)
isMutableAccessor from typegpu.ts 80 B (➖)
isPackedData from typegpudata.ts 18.28 kB (➖)
isPtr from typegpudata.ts 693 B (➖)
isSampler from typegpu.ts 56.74 kB (➖)
isSizeAttrib from typegpudata.ts 695 B (➖)
isSlot from typegpu.ts 68 B (➖)
isTexture from typegpu.ts 56.74 kB (➖)
isTgpuComputeFn from typegpu.ts 76 B (➖)
isTgpuFn from typegpu.ts 706 B (➖)
isTgpuFragmentFn from typegpu.ts 77 B (➖)
isTgpuVertexFn from typegpu.ts 75 B (➖)
isUnstruct from typegpudata.ts 1.63 kB (➖)
isUsableAsRender from typegpu.ts 62 B (➖)
isUsableAsSampled from typegpu.ts 63 B (➖)
isUsableAsStorage from typegpu.ts 63 B (➖)
isUsableAsUniform from typegpu.ts 56.73 kB (➖)
isUsableAsVertex from typegpu.ts 85.31 kB (➖)
isVariable from typegpu.ts 58.53 kB (➖)
isWgslArray from typegpudata.ts 695 B (➖)
isWgslData from typegpudata.ts 1.25 kB (➖)
isWgslStruct from typegpudata.ts 696 B (➖)
ldexp from typegpustd.ts 61.32 kB (➖)
le from typegpustd.ts 46.54 kB (➖)
length from typegpustd.ts 61.31 kB (➖)
location from typegpudata.ts 22.81 kB (➖)
log2 from typegpustd.ts 61.32 kB (➖)
log from typegpustd.ts 61.32 kB (➖)
lt from typegpustd.ts 46.53 kB (➖)
mat2x2f from typegpudata.ts 24.63 kB (➖)
mat3x3f from typegpudata.ts 24.63 kB (➖)
mat4x4f from typegpudata.ts 24.63 kB (➖)
matToArray from typegpudata.ts 24.76 kB (➖)
max from typegpustd.ts 61.32 kB (➖)
min from typegpustd.ts 61.32 kB (➖)
mix from typegpustd.ts 61.31 kB (➖)
mod from typegpustd.ts 44.00 kB (➖)
modf from typegpustd.ts 61.31 kB (➖)
mul from typegpustd.ts 44.00 kB (➖)
ne from typegpustd.ts 46.53 kB (➖)
neg from typegpustd.ts 44.00 kB (➖)
normalize from typegpustd.ts 61.32 kB (➖)
not from typegpustd.ts 46.52 kB (➖)
or from typegpustd.ts 46.52 kB (➖)
pack2x16float from typegpustd.ts 33.24 kB (➖)
pack4x8unorm from typegpustd.ts 33.24 kB (➖)
packedFormats from typegpudata.ts 18.24 kB (➖)
pow from typegpustd.ts 61.32 kB (➖)
ptrFn from typegpudata.ts 800 B (➖)
ptrHandle from typegpudata.ts 792 B (➖)
ptrPrivate from typegpudata.ts 799 B (➖)
ptrStorage from typegpudata.ts 797 B (➖)
ptrUniform from typegpudata.ts 793 B (➖)
ptrWorkgroup from typegpudata.ts 801 B (➖)
quantizeToF16 from typegpustd.ts 61.32 kB (➖)
radians from typegpustd.ts 61.32 kB (➖)
ref from typegpudata.ts 4.10 kB (➖)
reflect from typegpustd.ts 61.32 kB (➖)
refract from typegpustd.ts 61.32 kB (➖)
reverseBits from typegpustd.ts 61.32 kB (➖)
rotateX4 from typegpustd.ts 44.72 kB (➖)
rotateY4 from typegpustd.ts 44.72 kB (➖)
rotateZ4 from typegpustd.ts 44.72 kB (➖)
rotationX4 from typegpustd.ts 24.64 kB (➖)
rotationY4 from typegpustd.ts 24.64 kB (➖)
rotationZ4 from typegpustd.ts 24.64 kB (➖)
round from typegpustd.ts 61.32 kB (➖)
sampler from typegpudata.ts 683 B (➖)
saturate from typegpustd.ts 61.32 kB (➖)
scale4 from typegpustd.ts 44.72 kB (➖)
scaling4 from typegpustd.ts 24.64 kB (➖)
select from typegpustd.ts 46.54 kB (➖)
sign from typegpustd.ts 61.32 kB (➖)
sin from typegpustd.ts 61.32 kB (➖)
sinh from typegpustd.ts 61.32 kB (➖)
sint16 from typegpudata.ts 18.22 kB (➖)
sint16x2 from typegpudata.ts 18.22 kB (➖)
sint16x4 from typegpudata.ts 18.22 kB (➖)
sint32 from typegpudata.ts 18.22 kB (➖)
sint32x2 from typegpudata.ts 18.22 kB (➖)
sint32x3 from typegpudata.ts 18.22 kB (➖)
sint32x4 from typegpudata.ts 18.22 kB (➖)
sint8 from typegpudata.ts 18.22 kB (➖)
sint8x2 from typegpudata.ts 18.22 kB (➖)
sint8x4 from typegpudata.ts 18.22 kB (➖)
sizeOf from typegpudata.ts 21.14 kB (➖)
size from typegpudata.ts 22.81 kB (➖)
smoothstep from typegpustd.ts 61.32 kB (➖)
snorm16 from typegpudata.ts 18.22 kB (➖)
snorm16x2 from typegpudata.ts 18.22 kB (➖)
snorm16x4 from typegpudata.ts 18.22 kB (➖)
snorm8 from typegpudata.ts 18.22 kB (➖)
snorm8x2 from typegpudata.ts 18.22 kB (➖)
snorm8x4 from typegpudata.ts 18.22 kB (➖)
sqrt from typegpustd.ts 61.32 kB (➖)
std from typegpu.ts 96.01 kB (➖)
step from typegpustd.ts 61.32 kB (➖)
storageBarrier from typegpustd.ts 13.51 kB (➖)
struct from typegpudata.ts 3.32 kB (➖)
sub from typegpustd.ts 44.00 kB (➖)
subgroupAdd from typegpustd.ts 21.30 kB (➖)
subgroupAll from typegpustd.ts 21.30 kB (➖)
subgroupAnd from typegpustd.ts 21.30 kB (➖)
subgroupAny from typegpustd.ts 21.30 kB (➖)
subgroupBallot from typegpustd.ts 21.30 kB (➖)
subgroupBroadcastFirst from typegpustd.ts 21.30 kB (➖)
subgroupBroadcast from typegpustd.ts 21.30 kB (➖)
subgroupElect from typegpustd.ts 21.30 kB (➖)
subgroupExclusiveAdd from typegpustd.ts 21.30 kB (➖)
subgroupExclusiveMul from typegpustd.ts 21.30 kB (➖)
subgroupInclusiveAdd from typegpustd.ts 21.30 kB (➖)
subgroupInclusiveMul from typegpustd.ts 21.30 kB (➖)
subgroupMax from typegpustd.ts 21.30 kB (➖)
subgroupMin from typegpustd.ts 21.30 kB (➖)
subgroupMul from typegpustd.ts 21.30 kB (➖)
subgroupOr from typegpustd.ts 21.30 kB (➖)
subgroupShuffleDown from typegpustd.ts 21.30 kB (➖)
subgroupShuffleUp from typegpustd.ts 21.30 kB (➖)
subgroupShuffleXor from typegpustd.ts 21.30 kB (➖)
subgroupShuffle from typegpustd.ts 21.30 kB (➖)
subgroupXor from typegpustd.ts 21.30 kB (➖)
tan from typegpustd.ts 61.32 kB (➖)
tanh from typegpustd.ts 61.32 kB (➖)
texture1d from typegpudata.ts 11.15 kB (➖)
texture2dArray from typegpudata.ts 11.17 kB (➖)
texture2d from typegpudata.ts 11.15 kB (➖)
texture3d from typegpudata.ts 11.15 kB (➖)
textureBarrier from typegpustd.ts 13.50 kB (➖)
textureCubeArray from typegpudata.ts 11.17 kB (➖)
textureCube from typegpudata.ts 11.15 kB (➖)
textureDepth2dArray from typegpudata.ts 11.16 kB (➖)
textureDepth2d from typegpudata.ts 11.14 kB (➖)
textureDepthCubeArray from typegpudata.ts 11.16 kB (➖)
textureDepthCube from typegpudata.ts 11.14 kB (➖)
textureDepthMultisampled2d from typegpudata.ts 11.16 kB (➖)
textureDimensions from typegpustd.ts 22.68 kB (➖)
textureExternal from typegpudata.ts 814 B (➖)
textureGather from typegpustd.ts 22.68 kB (➖)
textureLoad from typegpustd.ts 22.69 kB (➖)
textureMultisampled2d from typegpudata.ts 11.17 kB (➖)
textureSampleBaseClampToEdge from typegpustd.ts 22.69 kB (➖)
textureSampleBias from typegpustd.ts 22.69 kB (➖)
textureSampleCompareLevel from typegpustd.ts 22.69 kB (➖)
textureSampleCompare from typegpustd.ts 22.69 kB (➖)
textureSampleLevel from typegpustd.ts 22.69 kB (➖)
textureSample from typegpustd.ts 22.69 kB (➖)
textureStorage1d from typegpudata.ts 978 B (➖)
textureStorage2dArray from typegpudata.ts 996 B (➖)
textureStorage2d from typegpudata.ts 978 B (➖)
textureStorage3d from typegpudata.ts 978 B (➖)
textureStore from typegpustd.ts 22.69 kB (➖)
tgpu.accessor from typegpu.ts 58.49 kB (➖)
tgpu.bindGroupLayout from typegpu.ts 65.63 kB (➖)
tgpu.comptime from typegpu.ts 11.99 kB (➖)
tgpu.computeFn from typegpu.ts 32.12 kB
tgpu.const from typegpu.ts 57.61 kB (➖)
tgpu.fn from typegpu.ts 32.90 kB (➖)
tgpu.fragmentFn from typegpu.ts 32.27 kB
tgpu.initFromDevice from typegpu.ts 221.73 kB (➖)
tgpu.init from typegpu.ts 222.24 kB (➖)
tgpu.lazy from typegpu.ts 1.15 kB (➖)
tgpu.mutableAccessor from typegpu.ts 58.50 kB (➖)
tgpu.privateVar from typegpu.ts 58.54 kB (➖)
tgpu.resolveWithContext from typegpu.ts 168.73 kB (➖)
tgpu.resolve from typegpu.ts 168.79 kB (➖)
tgpu.slot from typegpu.ts 1.59 kB (➖)
tgpu.vertexFn from typegpu.ts 32.24 kB
tgpu.vertexLayout from typegpu.ts 23.14 kB (➖)
tgpu.workgroupVar from typegpu.ts 58.53 kB (➖)
tgpu from typegpu.ts 230.33 kB ($${\color{red}+0.0\%}$$)
translate4 from typegpustd.ts 44.72 kB (➖)
translation4 from typegpustd.ts 24.64 kB (➖)
transpose from typegpustd.ts 61.32 kB (➖)
trunc from typegpustd.ts 61.32 kB (➖)
u16 from typegpudata.ts 10.72 kB (➖)
u32 from typegpudata.ts 10.69 kB (➖)
uint16 from typegpudata.ts 18.22 kB (➖)
uint16x2 from typegpudata.ts 18.22 kB (➖)
uint16x4 from typegpudata.ts 18.22 kB (➖)
uint32 from typegpudata.ts 18.22 kB (➖)
uint32x2 from typegpudata.ts 18.22 kB (➖)
uint32x3 from typegpudata.ts 18.22 kB (➖)
uint32x4 from typegpudata.ts 18.22 kB (➖)
uint8 from typegpudata.ts 18.21 kB (➖)
uint8x2 from typegpudata.ts 18.22 kB (➖)
uint8x4 from typegpudata.ts 18.22 kB (➖)
unorm10 10 10 2 from typegpudata.ts 18.22 kB (➖)
unorm16 from typegpudata.ts 18.22 kB (➖)
unorm16x2 from typegpudata.ts 18.22 kB (➖)
unorm16x4 from typegpudata.ts 18.22 kB (➖)
unorm8 from typegpudata.ts 18.22 kB (➖)
unorm8x2 from typegpudata.ts 18.22 kB (➖)
unorm8x4 bgra from typegpudata.ts 18.22 kB (➖)
unorm8x4 from typegpudata.ts 18.22 kB (➖)
unpack2x16float from typegpustd.ts 33.24 kB (➖)
unpack4x8unorm from typegpustd.ts 33.24 kB (➖)
unstruct from typegpudata.ts 1.59 kB (➖)
vec2b from typegpudata.ts 16.73 kB (➖)
vec2f from typegpudata.ts 16.73 kB (➖)
vec2h from typegpudata.ts 16.73 kB (➖)
vec2i from typegpudata.ts 16.73 kB (➖)
vec2u from typegpudata.ts 16.73 kB (➖)
vec3b from typegpudata.ts 16.73 kB (➖)
vec3f from typegpudata.ts 16.73 kB (➖)
vec3h from typegpudata.ts 16.73 kB (➖)
vec3i from typegpudata.ts 16.73 kB (➖)
vec3u from typegpudata.ts 16.73 kB (➖)
vec4b from typegpudata.ts 16.73 kB (➖)
vec4f from typegpudata.ts 16.73 kB (➖)
vec4h from typegpudata.ts 16.73 kB (➖)
vec4i from typegpudata.ts 16.73 kB (➖)
vec4u from typegpudata.ts 16.73 kB (➖)
workgroupBarrier from typegpustd.ts 13.51 kB (➖)

If you wish to run a comparison for other, slower bundlers, run the 'Tree-shake test' from the GitHub Actions menu.

@iwoplaza iwoplaza force-pushed the feat/stabilize-pipelines branch 3 times, most recently from 9c37964 to bd6bb91 Compare February 16, 2026 11:55
@github-actions
Copy link

github-actions bot commented Feb 16, 2026

pkg.pr.new

packages
Ready to be installed by your favorite package manager ⬇️

https://pkg.pr.new/software-mansion/TypeGPU/typegpu@de2317062397ef809eebdd4e273f37cec3e8778b
https://pkg.pr.new/software-mansion/TypeGPU/@typegpu/noise@de2317062397ef809eebdd4e273f37cec3e8778b
https://pkg.pr.new/software-mansion/TypeGPU/unplugin-typegpu@de2317062397ef809eebdd4e273f37cec3e8778b

benchmark
view benchmark

commit
view commit

@iwoplaza iwoplaza force-pushed the feat/stabilize-pipelines branch 2 times, most recently from d11bb7b to ac67647 Compare February 19, 2026 18:37
@iwoplaza iwoplaza marked this pull request as ready for review February 19, 2026 18:37
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR stabilizes TypeGPU’s entry function and pipeline APIs by promoting several previously-unstable functions/methods to the stable surface (tgpu.* and root.*), while keeping the old ['~unstable'] access paths available via deprecations. It updates tests, docs, and examples across the monorepo to use the stabilized APIs.

Changes:

  • Export tgpu.computeFn, tgpu.vertexFn, and tgpu.fragmentFn from the stable barrel, and deprecate the corresponding tgpu['~unstable'].* re-exports.
  • Adjust TgpuRoot / ~unstable typing to reflect stabilized pipeline entry points, and add deprecated typings for legacy chaining APIs.
  • Migrate tests, docs, and example code from ['~unstable'] usage to stable APIs (root.create*Pipeline, tgpu.*Fn, tgpu.comptime, etc.).

Reviewed changes

Copilot reviewed 121 out of 121 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
packages/unplugin-typegpu/test/auto-naming.test.ts Updates plugin snapshots/tests to stable tgpu.*Fn and stable guarded pipeline creation.
packages/typegpu/tests/unplugin/autoname.test.ts Updates autonaming tests to stable entry fns and stable pipeline creation.
packages/typegpu/tests/tgslFn.test.ts Migrates TGSL entry-fn resolution tests to stable tgpu.*Fn.
packages/typegpu/tests/tgsl/wgslGenerator.test.ts Uses stable tgpu.comptime.
packages/typegpu/tests/tgsl/ternaryOperator.test.ts Uses stable tgpu.comptime.
packages/typegpu/tests/tgsl/consoleLog.test.ts Migrates entry fns and compute pipeline creation to stable APIs.
packages/typegpu/tests/tgpuGenericFn.test.ts Uses stable tgpu.accessor and stable guarded compute pipeline creation.
packages/typegpu/tests/texture.test.ts Uses stable entry fns and stable render-pipeline construction chaining.
packages/typegpu/tests/root.test.ts Uses stable tgpu.vertexFn / tgpu.fragmentFn.
packages/typegpu/tests/resolve.test.ts Uses stable tgpu.fragmentFn.
packages/typegpu/tests/renderPipeline.test.ts Migrates entry-fn shells and render pipeline creation to stable APIs.
packages/typegpu/tests/rawFn.test.ts Uses stable tgpu.*Fn shells, including raw WGSL compute shell.
packages/typegpu/tests/pipeline-resolution.test.ts Uses stable entry-fn shells.
packages/typegpu/tests/indent.test.ts Uses stable tgpu.vertexFn.
packages/typegpu/tests/functionTagged.test.ts Uses stable tgpu.*Fn shells for tagged syntax tests.
packages/typegpu/tests/function.test.ts Uses stable tgpu.computeFn / tgpu.vertexFn / tgpu.fragmentFn.
packages/typegpu/tests/entryFnHeaderGen.test.ts Uses stable tgpu.*Fn shells.
packages/typegpu/tests/entryFnBuiltinArgs.test.ts Uses stable entry-fn shells for builtin validation/type tests.
packages/typegpu/tests/computePipeline.test.ts Uses stable tgpu.computeFn and stable compute pipeline creation.
packages/typegpu/src/tgpuUnstable.ts Adds deprecation annotations for newly-stable exports.
packages/typegpu/src/tgpu.ts Exports computeFn, vertexFn, fragmentFn from the stable barrel.
packages/typegpu/src/core/root/rootTypes.ts Updates root typings: TgpuRoot extends pipeline-building surface, narrows ~unstable surface, adds deprecated overloads.
packages/typegpu/src/core/root/init.ts Updates ~unstable property typing on the runtime root implementation.
packages/typegpu/src/common/fullScreenTriangle.ts Updates doc example to use common.fullScreenTriangle and root.createRenderPipeline.
packages/typegpu/README.md Updates README usage to stable root.createGuardedComputePipeline.
packages/typegpu-sdf/README.md Updates README to stable tgpu.fragmentFn.
packages/typegpu-noise/src/perlin-3d/static-cache.ts Updates docs and pipeline creation to stable guarded compute pipeline API.
packages/typegpu-noise/src/perlin-3d/dynamic-cache.ts Updates docs and pipeline creation to stable guarded compute pipeline API.
packages/typegpu-noise/src/perlin-2d/static-cache.ts Updates docs and pipeline creation to stable guarded compute pipeline API.
packages/typegpu-noise/src/perlin-2d/dynamic-cache.ts Updates docs and pipeline creation to stable guarded compute pipeline API.
packages/typegpu-geometry/src/lines/constants.ts Uses stable tgpu.const.
apps/typegpu-docs/src/examples/tests/wgsl-resolution/index.ts Uses stable entry-fn shells.
apps/typegpu-docs/src/examples/tests/uniformity/index.ts Migrates render pipeline creation to root.createRenderPipeline(...).
apps/typegpu-docs/src/examples/tests/tgsl-parsing-test/index.ts Migrates compute shell + compute pipeline creation to stable APIs.
apps/typegpu-docs/src/examples/tests/texture-test/index.ts Migrates fragment shell + render pipeline creation to stable APIs.
apps/typegpu-docs/src/examples/tests/log-test/index.ts Migrates entry functions and guarded pipelines/render pipelines to stable APIs.
apps/typegpu-docs/src/examples/tests/dispatch/index.ts Migrates guarded pipeline usage and .with(...) chaining to stable APIs.
apps/typegpu-docs/src/examples/simulation/wind-map/index.ts Migrates compute/render pipeline creation and entry functions to stable APIs.
apps/typegpu-docs/src/examples/simulation/stable-fluid/simulation.ts Migrates compute entry functions to stable APIs.
apps/typegpu-docs/src/examples/simulation/stable-fluid/render.ts Migrates vertex/fragment entry functions to stable APIs.
apps/typegpu-docs/src/examples/simulation/stable-fluid/index.ts Migrates compute/render pipeline creation to stable APIs.
apps/typegpu-docs/src/examples/simulation/slime-mold/index.ts Migrates guarded compute pipeline + compute/render pipeline creation to stable APIs.
apps/typegpu-docs/src/examples/simulation/slime-mold-3d/index.ts Migrates guarded compute + compute/render pipeline creation to stable APIs.
apps/typegpu-docs/src/examples/simulation/gravity/render.ts Migrates entry functions to stable APIs.
apps/typegpu-docs/src/examples/simulation/gravity/index.ts Migrates pipeline creation chaining to stable APIs.
apps/typegpu-docs/src/examples/simulation/gravity/compute.ts Migrates compute entry functions to stable APIs.
apps/typegpu-docs/src/examples/simulation/game-of-life/shaders/vertex.ts Migrates vertex entry function to stable API.
apps/typegpu-docs/src/examples/simulation/game-of-life/shaders/fragment.ts Migrates fragment entry function to stable API.
apps/typegpu-docs/src/examples/simulation/game-of-life/index.ts Migrates guarded compute + render pipeline creation to stable APIs.
apps/typegpu-docs/src/examples/simulation/fluid-with-atomics/index.ts Migrates entry functions and pipeline creation to stable APIs.
apps/typegpu-docs/src/examples/simulation/fluid-double-buffering/index.ts Migrates entry functions and guarded pipelines/render pipeline creation to stable APIs.
apps/typegpu-docs/src/examples/simulation/confetti/index.ts Migrates entry functions and compute pipeline creation to stable APIs.
apps/typegpu-docs/src/examples/simulation/boids/index.ts Migrates entry functions and render/guarded compute pipeline creation to stable APIs.
apps/typegpu-docs/src/examples/simple/vaporrave/index.ts Migrates entry functions and render pipeline creation to stable APIs.
apps/typegpu-docs/src/examples/simple/triangle/index.ts Migrates entry functions and render pipeline creation to stable APIs.
apps/typegpu-docs/src/examples/simple/triangle-next/index.ts Migrates render pipeline creation to stable API.
apps/typegpu-docs/src/examples/simple/stencil/index.ts Migrates entry functions and render pipeline construction to stable API.
apps/typegpu-docs/src/examples/simple/square/index.ts Migrates entry functions and render pipeline creation to stable API.
apps/typegpu-docs/src/examples/simple/ripple-cube/sdf-scene.ts Migrates accessors to stable tgpu.accessor.
apps/typegpu-docs/src/examples/simple/ripple-cube/post-processing.ts Migrates accessors + guarded compute pipelines + fragment entry fn usage to stable APIs.
apps/typegpu-docs/src/examples/simple/ripple-cube/pbr.ts Migrates accessors to stable tgpu.accessor.
apps/typegpu-docs/src/examples/simple/ripple-cube/index.ts Migrates guarded compute pipelines and chaining to stable APIs.
apps/typegpu-docs/src/examples/simple/ripple-cube/background.ts Migrates guarded compute pipeline chaining to stable APIs.
apps/typegpu-docs/src/examples/simple/oklab/index.ts Migrates render pipeline creation and chaining to stable APIs.
apps/typegpu-docs/src/examples/simple/liquid-glass/index.ts Migrates fragment entry fn + render pipeline creation to stable APIs.
apps/typegpu-docs/src/examples/simple/increment/index.ts Migrates guarded compute pipeline creation to stable API.
apps/typegpu-docs/src/examples/simple/gradient-tiles/index.ts Migrates fragment entry fn + render pipeline creation to stable API.
apps/typegpu-docs/src/examples/rendering/xor-dev-runner/index.ts Migrates entry functions + render pipeline creation to stable API.
apps/typegpu-docs/src/examples/rendering/xor-dev-centrifuge-2/index.ts Migrates entry functions + render pipeline creation to stable API.
apps/typegpu-docs/src/examples/rendering/two-boxes/index.ts Migrates entry functions + render pipeline creation to stable API.
apps/typegpu-docs/src/examples/rendering/smoky-triangle/index.ts Migrates pipeline chaining to stable API.
apps/typegpu-docs/src/examples/rendering/simple-shadow/index.ts Migrates entry functions + render pipeline creation to stable API.
apps/typegpu-docs/src/examples/rendering/ray-marching/index.ts Migrates entry functions + render pipeline creation to stable API.
apps/typegpu-docs/src/examples/rendering/point-light-shadow/index.ts Migrates entry functions and multiple render pipelines to stable API.
apps/typegpu-docs/src/examples/rendering/phong-reflection/index.ts Migrates entry functions + render pipeline creation to stable API.
apps/typegpu-docs/src/examples/rendering/perlin-noise/index.ts Migrates pipeline chaining to stable API.
apps/typegpu-docs/src/examples/rendering/jelly-switch/taa.ts Migrates compute entry fn + compute pipeline creation to stable API.
apps/typegpu-docs/src/examples/rendering/jelly-switch/index.ts Migrates fragment entry fns + render pipelines to stable API.
apps/typegpu-docs/src/examples/rendering/jelly-slider/taa.ts Migrates compute entry fn + compute pipeline creation to stable API.
apps/typegpu-docs/src/examples/rendering/jelly-slider/slider.ts Migrates guarded compute pipeline creation to stable API.
apps/typegpu-docs/src/examples/rendering/jelly-slider/index.ts Migrates fragment entry fns + render pipelines to stable API.
apps/typegpu-docs/src/examples/rendering/function-visualizer/index.ts Migrates render pipeline creation to stable API (keeps raw snippet unstable).
apps/typegpu-docs/src/examples/rendering/disco/shaders/vertex.ts Migrates vertex entry fn to stable API.
apps/typegpu-docs/src/examples/rendering/disco/shaders/fragment.ts Migrates fragment entry fns to stable API.
apps/typegpu-docs/src/examples/rendering/disco/index.ts Migrates render pipeline creation chaining to stable API.
apps/typegpu-docs/src/examples/rendering/cubemap-reflection/index.ts Migrates entry functions + render pipelines to stable API.
apps/typegpu-docs/src/examples/rendering/cubemap-reflection/icosphere.ts Migrates compute entry fn + compute pipeline creation to stable API.
apps/typegpu-docs/src/examples/rendering/clouds/index.ts Migrates fragment entry fn + render pipeline creation to stable API.
apps/typegpu-docs/src/examples/rendering/caustics/index.ts Migrates entry functions + render pipeline creation to stable API.
apps/typegpu-docs/src/examples/rendering/box-raytracing/index.ts Migrates entry functions + render pipeline creation to stable API.
apps/typegpu-docs/src/examples/rendering/3d-fish/render.ts Migrates entry functions to stable API.
apps/typegpu-docs/src/examples/rendering/3d-fish/index.ts Migrates guarded compute pipeline + render pipeline creation to stable API.
apps/typegpu-docs/src/examples/image-processing/image-tuning/index.ts Migrates fragment entry fn + render pipeline creation to stable API.
apps/typegpu-docs/src/examples/image-processing/chroma-keying/index.ts Migrates fragment entry fn + render pipeline creation to stable API.
apps/typegpu-docs/src/examples/image-processing/camera-thresholding/index.ts Migrates fragment entry fn + render pipeline creation to stable API.
apps/typegpu-docs/src/examples/image-processing/blur/index.ts Migrates compute/fragment entry fns + compute/render pipeline creation to stable API.
apps/typegpu-docs/src/examples/image-processing/background-segmentation/shaders.ts Migrates compute entry fn to stable API.
apps/typegpu-docs/src/examples/image-processing/background-segmentation/index.ts Migrates guarded/compute/render pipeline creation to stable API.
apps/typegpu-docs/src/examples/image-processing/ascii-filter/index.ts Migrates render pipeline creation to stable API.
apps/typegpu-docs/src/examples/geometry/lines-combinations/index.ts Migrates entry functions + multiple render pipelines to stable API.
apps/typegpu-docs/src/examples/geometry/circles/index.ts Migrates entry functions + render pipeline creation to stable API.
apps/typegpu-docs/src/examples/algorithms/probability/executor.ts Migrates compute entry fn and compute pipeline creation to stable API.
apps/typegpu-docs/src/examples/algorithms/mnist-inference/index.ts Migrates compute entry fns + compute pipeline creation to stable API.
apps/typegpu-docs/src/examples/algorithms/matrix-next/index.ts Migrates compute pipeline creation to stable API.
apps/typegpu-docs/src/examples/algorithms/matrix-next/computeSimple.ts Migrates compute entry fn to stable API.
apps/typegpu-docs/src/examples/algorithms/matrix-next/computeShared.ts Migrates compute entry fn to stable API.
apps/typegpu-docs/src/examples/algorithms/jump-flood-voronoi/index.ts Migrates guarded compute pipelines + fragment entry fn + render pipeline creation to stable API.
apps/typegpu-docs/src/examples/algorithms/jump-flood-distance/visualization.ts Migrates fragment entry fn to stable API.
apps/typegpu-docs/src/examples/algorithms/jump-flood-distance/index.ts Migrates guarded compute pipelines + render pipeline creation to stable API.
apps/typegpu-docs/src/content/docs/integration/react-native/index.mdx Migrates tutorial to root.createRenderPipeline inline entry functions.
apps/typegpu-docs/src/content/docs/fundamentals/variables.mdx Migrates compute entry fn + compute pipeline creation to stable API.
apps/typegpu-docs/src/content/docs/fundamentals/utils.mdx Updates guarded pipeline example to stable API (keeps raw snippet unstable).
apps/typegpu-docs/src/content/docs/fundamentals/timestamp-queries.mdx Migrates compute pipeline examples to root.createComputePipeline.
apps/typegpu-docs/src/content/docs/fundamentals/slots.mdx Migrates compute entry fn + compute pipeline creation to stable API.
apps/typegpu-docs/src/content/docs/fundamentals/resolve.mdx Migrates compute entry fn + compute pipeline creation to stable API.
apps/typegpu-docs/src/content/docs/fundamentals/pipelines.mdx Migrates entry functions and pipeline creation examples to stable APIs.
apps/typegpu-docs/src/content/docs/fundamentals/functions/index.mdx Migrates guarded compute example and entry-fn bullets to stable APIs.
apps/typegpu-docs/src/content/docs/fundamentals/buffers.mdx Migrates guarded compute pipeline examples to stable API.
apps/typegpu-docs/src/content/docs/ecosystem/typegpu-sdf.mdx Migrates fragment entry fn example to stable API.
apps/typegpu-docs/src/content/docs/ecosystem/typegpu-noise.mdx Migrates entry functions + compute pipeline examples to stable APIs.
README.md Migrates top-level README example to stable guarded compute pipeline API.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 122 out of 122 changed files in this pull request and generated no new comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@iwoplaza iwoplaza force-pushed the feat/stabilize-pipelines branch from 4c0f4a1 to ec23cbf Compare February 20, 2026 14:34
Copy link
Contributor

@reczkok reczkok left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

auto naming and transpiling tests still use the unstable entrypoint

@iwoplaza iwoplaza force-pushed the feat/stabilize-pipelines branch from 1a3a0a5 to de23170 Compare February 20, 2026 21:36
@iwoplaza iwoplaza merged commit a690382 into main Feb 20, 2026
4 checks passed
@iwoplaza iwoplaza deleted the feat/stabilize-pipelines branch February 20, 2026 21:42
@aleksanderkatan aleksanderkatan restored the feat/stabilize-pipelines branch February 23, 2026 09:47
Copy link
Contributor

@aleksanderkatan aleksanderkatan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Concurrent scan still uses the old api

Comment on lines -555 to -578
it(`works with tgpu['~unstable'] items`, async () => {
const code = `\
import tgpu from 'typegpu';
import * as d from 'typegpu/data';

let nothing, accessor = tgpu['~unstable'].accessor(d.u32);
const cst = tgpu.const(d.u32, 1);

console.log(accessor, shell, fn, cst);
`;

expect(await rollupTransform(code, { autoNamingEnabled: true }))
.toMatchInlineSnapshot(`
"import tgpu from 'typegpu';
import * as d from 'typegpu/data';

let accessor = ((globalThis.__TYPEGPU_AUTONAME__ ?? (a => a))(tgpu['~unstable'].accessor(d.u32), "accessor"));
const cst = ((globalThis.__TYPEGPU_AUTONAME__ ?? (a => a))(tgpu.const(d.u32, 1), "cst"));

console.log(accessor, shell, fn, cst);
"
`);
});

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this test was accidentally removed instead of updated, since the (outdated) babel version is still here.

@aleksanderkatan aleksanderkatan deleted the feat/stabilize-pipelines branch February 23, 2026 10:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants