Skip to content

impr: Use named tgpu export#2610

Draft
aleksanderkatan wants to merge 8 commits into
mainfrom
impr/default-export
Draft

impr: Use named tgpu export#2610
aleksanderkatan wants to merge 8 commits into
mainfrom
impr/default-export

Conversation

@aleksanderkatan

@aleksanderkatan aleksanderkatan commented Jun 15, 2026

Copy link
Copy Markdown
Contributor

Non-trivial changes in packages/typegpu/src!!

After just replacing the imports, I had some issues with tgpu['~unstable'].

This was fine:

import type { IndexFlag } from 'typegpu';
import { tgpu } from 'typegpu';
const _ = tgpu['~unstable'];

This linted tgpu['~unstable'] as 'Unable to validate computed reference to imported namespace "tgpu".'

import { tgpu } from 'typegpu';
const _ = tgpu['~unstable'];

That's why I reverted 'tgpu.ts' back to exporting one item. Not sure that to do with that. Treeshaking tests suggest that this does not matter, let me know what you think.

@aleksanderkatan aleksanderkatan linked an issue Jun 15, 2026 that may be closed by this pull request
@github-actions

github-actions Bot commented Jun 15, 2026

Copy link
Copy Markdown

pkg.pr.new

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

https://pkg.pr.new/software-mansion/TypeGPU/typegpu@6f178167ed3df4ee89370a7dbe045f0c21c2f7cb
https://pkg.pr.new/software-mansion/TypeGPU/@typegpu/cli@6f178167ed3df4ee89370a7dbe045f0c21c2f7cb
https://pkg.pr.new/software-mansion/TypeGPU/@typegpu/noise@6f178167ed3df4ee89370a7dbe045f0c21c2f7cb
https://pkg.pr.new/software-mansion/TypeGPU/@typegpu/react@6f178167ed3df4ee89370a7dbe045f0c21c2f7cb
https://pkg.pr.new/software-mansion/TypeGPU/unplugin-typegpu@6f178167ed3df4ee89370a7dbe045f0c21c2f7cb

benchmark
view benchmark

commit
view commit

@github-actions

github-actions Bot commented Jun 15, 2026

Copy link
Copy Markdown

📊 Bundle Size Comparison

🟢 Decreased ➖ Unchanged 🔴 Increased ❔ Unknown
3 9 0 657

👀 Notable results

Static test results:

‼️ Click to reveal the results table (313 entries).
Test tsdown
common fullScreenTriangle.ts 57.56 kB
common writeSoA.ts 57.55 kB
d Void.ts 86.27 kB
d align.ts 86.27 kB
d alignmentOf.ts 86.28 kB
d arrayOf.ts 86.27 kB
d atomic.ts 86.27 kB
d bool.ts 86.27 kB
d builtin.ts 86.27 kB
d comparisonSampler.ts 86.28 kB
d deepEqual.ts 86.27 kB
d disarrayOf.ts 86.28 kB
d f16.ts 86.27 kB
d f32.ts 86.27 kB
d float16.ts 86.27 kB
d float16x2.ts 86.27 kB
d float16x4.ts 86.27 kB
d float32.ts 86.27 kB
d float32x2.ts 86.27 kB
d float32x3.ts 86.27 kB
d float32x4.ts 86.27 kB
d formatToWGSLType.ts 86.28 kB
d getLongestContiguousPrefix.ts 86.29 kB
d i32.ts 86.27 kB
d interpolate.ts 86.28 kB
d invariant.ts 86.27 kB
d isAlignAttrib.ts 86.28 kB
d isAtomic.ts 86.27 kB
d isBuiltin.ts 86.27 kB
d isBuiltinAttrib.ts 86.28 kB
d isContiguous.ts 86.28 kB
d isData.ts 86.27 kB
d isDecorated.ts 86.28 kB
d isDisarray.ts 86.28 kB
d isInterpolateAttrib.ts 86.28 kB
d isLocationAttrib.ts 86.28 kB
d isLooseData.ts 86.28 kB
d isLooseDecorated.ts 86.28 kB
d isPackedData.ts 86.28 kB
d isPtr.ts 86.27 kB
d isSizeAttrib.ts 86.28 kB
d isUnstruct.ts 86.28 kB
d isWgslArray.ts 86.28 kB
d isWgslData.ts 86.28 kB
d isWgslStruct.ts 86.28 kB
d location.ts 86.27 kB
d mat2x2f.ts 86.27 kB
d mat3x3f.ts 86.27 kB
d mat4x4f.ts 86.27 kB
d matToArray.ts 86.28 kB
d memoryLayoutOf.ts 86.28 kB
d packedFormats.ts 86.28 kB
d ptrFn.ts 86.27 kB
d ptrHandle.ts 86.27 kB
d ptrPrivate.ts 86.28 kB
d ptrStorage.ts 86.28 kB
d ptrUniform.ts 86.28 kB
d ptrWorkgroup.ts 86.28 kB
d ref.ts 86.27 kB
d sampler.ts 86.27 kB
d sint16.ts 86.27 kB
d sint16x2.ts 86.27 kB
d sint16x4.ts 86.27 kB
d sint32.ts 86.27 kB
d sint32x2.ts 86.27 kB
d sint32x3.ts 86.27 kB
d sint32x4.ts 86.27 kB
d sint8.ts 86.27 kB
d sint8x2.ts 86.27 kB
d sint8x4.ts 86.27 kB
d size.ts 86.27 kB
d sizeOf.ts 86.27 kB
d snorm16.ts 86.27 kB
d snorm16x2.ts 86.27 kB
d snorm16x4.ts 86.27 kB
d snorm8.ts 86.27 kB
d snorm8x2.ts 86.27 kB
d snorm8x4.ts 86.27 kB
d struct.ts 86.27 kB
d texture1d.ts 86.27 kB
d texture2d.ts 86.27 kB
d texture2dArray.ts 86.28 kB
d texture3d.ts 86.27 kB
d textureCube.ts 86.28 kB
d textureCubeArray.ts 86.28 kB
d textureDepth2d.ts 86.28 kB
d textureDepth2dArray.ts 86.28 kB
d textureDepthCube.ts 86.28 kB
d textureDepthCubeArray.ts 86.29 kB
d textureDepthMultisampled2d.ts 86.29 kB
d textureExternal.ts 86.28 kB
d textureMultisampled2d.ts 86.29 kB
d textureStorage1d.ts 86.28 kB
d textureStorage2d.ts 86.28 kB
d textureStorage2dArray.ts 86.29 kB
d textureStorage3d.ts 86.28 kB
d u16.ts 86.27 kB
d u32.ts 86.27 kB
d uint16.ts 86.27 kB
d uint16x2.ts 86.27 kB
d uint16x4.ts 86.27 kB
d uint32.ts 86.27 kB
d uint32x2.ts 86.27 kB
d uint32x3.ts 86.27 kB
d uint32x4.ts 86.27 kB
d uint8.ts 86.27 kB
d uint8x2.ts 86.27 kB
d uint8x4.ts 86.27 kB
d unorm10 10 10 2.ts 86.28 kB
d unorm16.ts 86.27 kB
d unorm16x2.ts 86.27 kB
d unorm16x4.ts 86.27 kB
d unorm8.ts 86.27 kB
d unorm8x2.ts 86.27 kB
d unorm8x4.ts 86.27 kB
d unorm8x4 bgra.ts 86.28 kB
d unstruct.ts 86.27 kB
d vec2b.ts 86.27 kB
d vec2f.ts 86.27 kB
d vec2h.ts 86.27 kB
d vec2i.ts 86.27 kB
d vec2u.ts 86.27 kB
d vec3b.ts 86.27 kB
d vec3f.ts 86.27 kB
d vec3h.ts 86.27 kB
d vec3i.ts 86.27 kB
d vec3u.ts 86.27 kB
d vec4b.ts 86.27 kB
d vec4f.ts 86.27 kB
d vec4h.ts 86.27 kB
d vec4i.ts 86.27 kB
d vec4u.ts 86.27 kB
std abs.ts 101.90 kB
std acos.ts 101.90 kB
std acosh.ts 101.91 kB
std add.ts 101.90 kB
std all.ts 101.90 kB
std allEq.ts 101.91 kB
std and.ts 101.90 kB
std any.ts 101.90 kB
std arrayLength.ts 101.91 kB
std asin.ts 101.90 kB
std asinh.ts 101.91 kB
std atan.ts 101.90 kB
std atan2.ts 101.91 kB
std atanh.ts 101.91 kB
std atomicAdd.ts 101.91 kB
std atomicAnd.ts 101.91 kB
std atomicLoad.ts 101.91 kB
std atomicMax.ts 101.91 kB
std atomicMin.ts 101.91 kB
std atomicOr.ts 101.91 kB
std atomicStore.ts 101.91 kB
std atomicSub.ts 101.91 kB
std atomicXor.ts 101.91 kB
std bitShiftLeft.ts 101.91 kB
std bitShiftRight.ts 101.91 kB
std bitcastU32toF32.ts 101.92 kB
std bitcastU32toI32.ts 101.92 kB
std ceil.ts 101.90 kB
std clamp.ts 101.91 kB
std copy.ts 101.90 kB
std cos.ts 101.90 kB
std cosh.ts 101.90 kB
std countLeadingZeros.ts 101.92 kB
std countOneBits.ts 101.91 kB
std countTrailingZeros.ts 101.92 kB
std cross.ts 101.91 kB
std degrees.ts 101.91 kB
std determinant.ts 101.91 kB
std discard.ts 101.91 kB
std distance.ts 101.91 kB
std div.ts 101.90 kB
std dot.ts 101.90 kB
std dot4I8Packed.ts 101.91 kB
std dot4U8Packed.ts 101.91 kB
std dpdx.ts 101.90 kB
std dpdxCoarse.ts 101.91 kB
std dpdxFine.ts 101.91 kB
std dpdy.ts 101.90 kB
std dpdyCoarse.ts 101.91 kB
std dpdyFine.ts 101.91 kB
std eq.ts 101.90 kB
std exp.ts 101.90 kB
std exp2.ts 101.90 kB
std extensionEnabled.ts 101.92 kB
std extractBits.ts 101.91 kB
std faceForward.ts 101.91 kB
std firstLeadingBit.ts 101.92 kB
std firstTrailingBit.ts 101.92 kB
std floor.ts 101.91 kB
std fma.ts 101.90 kB
std fract.ts 101.91 kB
std frexp.ts 101.91 kB
std fwidth.ts 101.91 kB
std fwidthCoarse.ts 101.91 kB
std fwidthFine.ts 101.91 kB
std ge.ts 101.90 kB
std getTargetShaderLanguage.ts 101.92 kB
std gt.ts 101.90 kB
std identity2.ts 101.91 kB
std identity3.ts 101.91 kB
std identity4.ts 101.91 kB
std insertBits.ts 101.91 kB
std inverseSqrt.ts 101.91 kB
std isBeingTranspiled.ts 101.92 kB
std isCloseTo.ts 101.91 kB
std ldexp.ts 101.91 kB
std le.ts 101.90 kB
std length.ts 101.91 kB
std log.ts 101.90 kB
std log2.ts 101.90 kB
std lt.ts 101.90 kB
std max.ts 101.90 kB
std min.ts 101.90 kB
std mix.ts 101.90 kB
std mod.ts 101.90 kB
std modf.ts 101.90 kB
std mul.ts 101.90 kB
std ne.ts 101.90 kB
std neg.ts 101.90 kB
std normalize.ts 101.91 kB
std not.ts 101.90 kB
std or.ts 101.90 kB
std pack2x16float.ts 101.91 kB
std pack4x8unorm.ts 101.91 kB
std pow.ts 101.90 kB
std quantizeToF16.ts 101.91 kB
std radians.ts 101.91 kB
std range.ts 101.91 kB
std reflect.ts 101.91 kB
std refract.ts 101.91 kB
std reverseBits.ts 101.91 kB
std rotateX4.ts 101.91 kB
std rotateY4.ts 101.91 kB
std rotateZ4.ts 101.91 kB
std rotationX4.ts 101.91 kB
std rotationY4.ts 101.91 kB
std rotationZ4.ts 101.91 kB
std round.ts 101.91 kB
std saturate.ts 101.91 kB
std scale4.ts 101.91 kB
std scaling4.ts 101.91 kB
std select.ts 101.91 kB
std sign.ts 101.90 kB
std sin.ts 101.90 kB
std sinh.ts 101.90 kB
std smoothstep.ts 101.91 kB
std sqrt.ts 101.90 kB
std step.ts 101.90 kB
std storageBarrier.ts 101.91 kB
std sub.ts 101.90 kB
std subgroupAdd.ts 101.91 kB
std subgroupAll.ts 101.91 kB
std subgroupAnd.ts 101.91 kB
std subgroupAny.ts 101.91 kB
std subgroupBallot.ts 101.91 kB
std subgroupBroadcast.ts 101.92 kB
std subgroupBroadcastFirst.ts 101.92 kB
std subgroupElect.ts 101.91 kB
std subgroupExclusiveAdd.ts 101.92 kB
std subgroupExclusiveMul.ts 101.92 kB
std subgroupInclusiveAdd.ts 101.92 kB
std subgroupInclusiveMul.ts 101.92 kB
std subgroupMax.ts 101.91 kB
std subgroupMin.ts 101.91 kB
std subgroupMul.ts 101.91 kB
std subgroupOr.ts 101.91 kB
std subgroupShuffle.ts 101.92 kB
std subgroupShuffleDown.ts 101.92 kB
std subgroupShuffleUp.ts 101.92 kB
std subgroupShuffleXor.ts 101.92 kB
std subgroupXor.ts 101.91 kB
std tan.ts 101.90 kB
std tanh.ts 101.90 kB
std textureBarrier.ts 101.91 kB
std textureDimensions.ts 101.92 kB
std textureGather.ts 101.91 kB
std textureLoad.ts 101.91 kB
std textureSample.ts 101.91 kB
std textureSampleBaseClampToEdge.ts 101.93 kB
std textureSampleBias.ts 101.92 kB
std textureSampleCompare.ts 101.92 kB
std textureSampleCompareLevel.ts 101.92 kB
std textureSampleGrad.ts 101.92 kB
std textureSampleLevel.ts 101.92 kB
std textureStore.ts 101.91 kB
std translate4.ts 101.91 kB
std translation4.ts 101.91 kB
std transpose.ts 101.91 kB
std trunc.ts 101.91 kB
std unpack2x16float.ts 101.92 kB
std unpack4x8unorm.ts 101.91 kB
std workgroupBarrier.ts 101.92 kB
tgpu accessor.ts 259.97 kB
tgpu bindGroupLayout.ts 259.98 kB
tgpu comptime.ts 259.97 kB
tgpu computeFn.ts 259.97 kB
tgpu const.ts 259.97 kB
tgpu fn.ts 259.97 kB
tgpu fragmentFn.ts 259.98 kB
tgpu init.ts 259.97 kB
tgpu initFromDevice.ts 259.98 kB
tgpu lazy.ts 259.97 kB
tgpu mutableAccessor.ts 259.98 kB
tgpu privateVar.ts 259.98 kB
tgpu resolve.ts 259.97 kB
tgpu resolveWithContext.ts 259.98 kB
tgpu slot.ts 259.97 kB
tgpu unroll.ts 259.97 kB
tgpu vertexFn.ts 259.97 kB
tgpu vertexLayout.ts 259.98 kB
tgpu workgroupVar.ts 259.98 kB

Dynamic test results:

No major changes.

📋 All results

Click to reveal the results table (324 entries).
Test tsdown
importEntireLibrary.ts 287.81 kB ($${\color{green}-0.0\%}$$)
tgpuImportEverything.ts 259.96 kB ($${\color{green}-0.0\%}$$)
tgpuImportOne.ts 259.98 kB ($${\color{green}-0.0\%}$$)
common fullScreenTriangle.ts 57.56 kB
common writeSoA.ts 57.55 kB
d Void.ts 86.27 kB
d align.ts 86.27 kB
d alignmentOf.ts 86.28 kB
d arrayOf.ts 86.27 kB
d atomic.ts 86.27 kB
d bool.ts 86.27 kB
d builtin.ts 86.27 kB
d comparisonSampler.ts 86.28 kB
d deepEqual.ts 86.27 kB
d disarrayOf.ts 86.28 kB
d f16.ts 86.27 kB
d f32.ts 86.27 kB
d float16.ts 86.27 kB
d float16x2.ts 86.27 kB
d float16x4.ts 86.27 kB
d float32.ts 86.27 kB
d float32x2.ts 86.27 kB
d float32x3.ts 86.27 kB
d float32x4.ts 86.27 kB
d formatToWGSLType.ts 86.28 kB
d getLongestContiguousPrefix.ts 86.29 kB
d i32.ts 86.27 kB
d interpolate.ts 86.28 kB
d invariant.ts 86.27 kB
d isAlignAttrib.ts 86.28 kB
d isAtomic.ts 86.27 kB
d isBuiltin.ts 86.27 kB
d isBuiltinAttrib.ts 86.28 kB
d isContiguous.ts 86.28 kB
d isData.ts 86.27 kB
d isDecorated.ts 86.28 kB
d isDisarray.ts 86.28 kB
d isInterpolateAttrib.ts 86.28 kB
d isLocationAttrib.ts 86.28 kB
d isLooseData.ts 86.28 kB
d isLooseDecorated.ts 86.28 kB
d isPackedData.ts 86.28 kB
d isPtr.ts 86.27 kB
d isSizeAttrib.ts 86.28 kB
d isUnstruct.ts 86.28 kB
d isWgslArray.ts 86.28 kB
d isWgslData.ts 86.28 kB
d isWgslStruct.ts 86.28 kB
d location.ts 86.27 kB
d mat2x2f.ts 86.27 kB
d mat3x3f.ts 86.27 kB
d mat4x4f.ts 86.27 kB
d matToArray.ts 86.28 kB
d memoryLayoutOf.ts 86.28 kB
d packedFormats.ts 86.28 kB
d ptrFn.ts 86.27 kB
d ptrHandle.ts 86.27 kB
d ptrPrivate.ts 86.28 kB
d ptrStorage.ts 86.28 kB
d ptrUniform.ts 86.28 kB
d ptrWorkgroup.ts 86.28 kB
d ref.ts 86.27 kB
d sampler.ts 86.27 kB
d sint16.ts 86.27 kB
d sint16x2.ts 86.27 kB
d sint16x4.ts 86.27 kB
d sint32.ts 86.27 kB
d sint32x2.ts 86.27 kB
d sint32x3.ts 86.27 kB
d sint32x4.ts 86.27 kB
d sint8.ts 86.27 kB
d sint8x2.ts 86.27 kB
d sint8x4.ts 86.27 kB
d size.ts 86.27 kB
d sizeOf.ts 86.27 kB
d snorm16.ts 86.27 kB
d snorm16x2.ts 86.27 kB
d snorm16x4.ts 86.27 kB
d snorm8.ts 86.27 kB
d snorm8x2.ts 86.27 kB
d snorm8x4.ts 86.27 kB
d struct.ts 86.27 kB
d texture1d.ts 86.27 kB
d texture2d.ts 86.27 kB
d texture2dArray.ts 86.28 kB
d texture3d.ts 86.27 kB
d textureCube.ts 86.28 kB
d textureCubeArray.ts 86.28 kB
d textureDepth2d.ts 86.28 kB
d textureDepth2dArray.ts 86.28 kB
d textureDepthCube.ts 86.28 kB
d textureDepthCubeArray.ts 86.29 kB
d textureDepthMultisampled2d.ts 86.29 kB
d textureExternal.ts 86.28 kB
d textureMultisampled2d.ts 86.29 kB
d textureStorage1d.ts 86.28 kB
d textureStorage2d.ts 86.28 kB
d textureStorage2dArray.ts 86.29 kB
d textureStorage3d.ts 86.28 kB
d u16.ts 86.27 kB
d u32.ts 86.27 kB
d uint16.ts 86.27 kB
d uint16x2.ts 86.27 kB
d uint16x4.ts 86.27 kB
d uint32.ts 86.27 kB
d uint32x2.ts 86.27 kB
d uint32x3.ts 86.27 kB
d uint32x4.ts 86.27 kB
d uint8.ts 86.27 kB
d uint8x2.ts 86.27 kB
d uint8x4.ts 86.27 kB
d unorm10 10 10 2.ts 86.28 kB
d unorm16.ts 86.27 kB
d unorm16x2.ts 86.27 kB
d unorm16x4.ts 86.27 kB
d unorm8.ts 86.27 kB
d unorm8x2.ts 86.27 kB
d unorm8x4.ts 86.27 kB
d unorm8x4 bgra.ts 86.28 kB
d unstruct.ts 86.27 kB
d vec2b.ts 86.27 kB
d vec2f.ts 86.27 kB
d vec2h.ts 86.27 kB
d vec2i.ts 86.27 kB
d vec2u.ts 86.27 kB
d vec3b.ts 86.27 kB
d vec3f.ts 86.27 kB
d vec3h.ts 86.27 kB
d vec3i.ts 86.27 kB
d vec3u.ts 86.27 kB
d vec4b.ts 86.27 kB
d vec4f.ts 86.27 kB
d vec4h.ts 86.27 kB
d vec4i.ts 86.27 kB
d vec4u.ts 86.27 kB
dataImportEverything.ts 88.59 kB (➖)
dataImportOneDirect.ts 23.73 kB (➖)
dataImportOneStar.ts 23.73 kB (➖)
functionWithUseGpu.ts 282 B (➖)
functionWithoutUseGpu.ts 24 B (➖)
stdImportEverything.ts 104.74 kB (➖)
stdImportOneDirect.ts 47.38 kB (➖)
stdImportOneStar.ts 47.38 kB (➖)
std abs.ts 101.90 kB
std acos.ts 101.90 kB
std acosh.ts 101.91 kB
std add.ts 101.90 kB
std all.ts 101.90 kB
std allEq.ts 101.91 kB
std and.ts 101.90 kB
std any.ts 101.90 kB
std arrayLength.ts 101.91 kB
std asin.ts 101.90 kB
std asinh.ts 101.91 kB
std atan.ts 101.90 kB
std atan2.ts 101.91 kB
std atanh.ts 101.91 kB
std atomicAdd.ts 101.91 kB
std atomicAnd.ts 101.91 kB
std atomicLoad.ts 101.91 kB
std atomicMax.ts 101.91 kB
std atomicMin.ts 101.91 kB
std atomicOr.ts 101.91 kB
std atomicStore.ts 101.91 kB
std atomicSub.ts 101.91 kB
std atomicXor.ts 101.91 kB
std bitShiftLeft.ts 101.91 kB
std bitShiftRight.ts 101.91 kB
std bitcastU32toF32.ts 101.92 kB
std bitcastU32toI32.ts 101.92 kB
std ceil.ts 101.90 kB
std clamp.ts 101.91 kB
std copy.ts 101.90 kB
std cos.ts 101.90 kB
std cosh.ts 101.90 kB
std countLeadingZeros.ts 101.92 kB
std countOneBits.ts 101.91 kB
std countTrailingZeros.ts 101.92 kB
std cross.ts 101.91 kB
std degrees.ts 101.91 kB
std determinant.ts 101.91 kB
std discard.ts 101.91 kB
std distance.ts 101.91 kB
std div.ts 101.90 kB
std dot.ts 101.90 kB
std dot4I8Packed.ts 101.91 kB
std dot4U8Packed.ts 101.91 kB
std dpdx.ts 101.90 kB
std dpdxCoarse.ts 101.91 kB
std dpdxFine.ts 101.91 kB
std dpdy.ts 101.90 kB
std dpdyCoarse.ts 101.91 kB
std dpdyFine.ts 101.91 kB
std eq.ts 101.90 kB
std exp.ts 101.90 kB
std exp2.ts 101.90 kB
std extensionEnabled.ts 101.92 kB
std extractBits.ts 101.91 kB
std faceForward.ts 101.91 kB
std firstLeadingBit.ts 101.92 kB
std firstTrailingBit.ts 101.92 kB
std floor.ts 101.91 kB
std fma.ts 101.90 kB
std fract.ts 101.91 kB
std frexp.ts 101.91 kB
std fwidth.ts 101.91 kB
std fwidthCoarse.ts 101.91 kB
std fwidthFine.ts 101.91 kB
std ge.ts 101.90 kB
std getTargetShaderLanguage.ts 101.92 kB
std gt.ts 101.90 kB
std identity2.ts 101.91 kB
std identity3.ts 101.91 kB
std identity4.ts 101.91 kB
std insertBits.ts 101.91 kB
std inverseSqrt.ts 101.91 kB
std isBeingTranspiled.ts 101.92 kB
std isCloseTo.ts 101.91 kB
std ldexp.ts 101.91 kB
std le.ts 101.90 kB
std length.ts 101.91 kB
std log.ts 101.90 kB
std log2.ts 101.90 kB
std lt.ts 101.90 kB
std max.ts 101.90 kB
std min.ts 101.90 kB
std mix.ts 101.90 kB
std mod.ts 101.90 kB
std modf.ts 101.90 kB
std mul.ts 101.90 kB
std ne.ts 101.90 kB
std neg.ts 101.90 kB
std normalize.ts 101.91 kB
std not.ts 101.90 kB
std or.ts 101.90 kB
std pack2x16float.ts 101.91 kB
std pack4x8unorm.ts 101.91 kB
std pow.ts 101.90 kB
std quantizeToF16.ts 101.91 kB
std radians.ts 101.91 kB
std range.ts 101.91 kB
std reflect.ts 101.91 kB
std refract.ts 101.91 kB
std reverseBits.ts 101.91 kB
std rotateX4.ts 101.91 kB
std rotateY4.ts 101.91 kB
std rotateZ4.ts 101.91 kB
std rotationX4.ts 101.91 kB
std rotationY4.ts 101.91 kB
std rotationZ4.ts 101.91 kB
std round.ts 101.91 kB
std saturate.ts 101.91 kB
std scale4.ts 101.91 kB
std scaling4.ts 101.91 kB
std select.ts 101.91 kB
std sign.ts 101.90 kB
std sin.ts 101.90 kB
std sinh.ts 101.90 kB
std smoothstep.ts 101.91 kB
std sqrt.ts 101.90 kB
std step.ts 101.90 kB
std storageBarrier.ts 101.91 kB
std sub.ts 101.90 kB
std subgroupAdd.ts 101.91 kB
std subgroupAll.ts 101.91 kB
std subgroupAnd.ts 101.91 kB
std subgroupAny.ts 101.91 kB
std subgroupBallot.ts 101.91 kB
std subgroupBroadcast.ts 101.92 kB
std subgroupBroadcastFirst.ts 101.92 kB
std subgroupElect.ts 101.91 kB
std subgroupExclusiveAdd.ts 101.92 kB
std subgroupExclusiveMul.ts 101.92 kB
std subgroupInclusiveAdd.ts 101.92 kB
std subgroupInclusiveMul.ts 101.92 kB
std subgroupMax.ts 101.91 kB
std subgroupMin.ts 101.91 kB
std subgroupMul.ts 101.91 kB
std subgroupOr.ts 101.91 kB
std subgroupShuffle.ts 101.92 kB
std subgroupShuffleDown.ts 101.92 kB
std subgroupShuffleUp.ts 101.92 kB
std subgroupShuffleXor.ts 101.92 kB
std subgroupXor.ts 101.91 kB
std tan.ts 101.90 kB
std tanh.ts 101.90 kB
std textureBarrier.ts 101.91 kB
std textureDimensions.ts 101.92 kB
std textureGather.ts 101.91 kB
std textureLoad.ts 101.91 kB
std textureSample.ts 101.91 kB
std textureSampleBaseClampToEdge.ts 101.93 kB
std textureSampleBias.ts 101.92 kB
std textureSampleCompare.ts 101.92 kB
std textureSampleCompareLevel.ts 101.92 kB
std textureSampleGrad.ts 101.92 kB
std textureSampleLevel.ts 101.92 kB
std textureStore.ts 101.91 kB
std translate4.ts 101.91 kB
std translation4.ts 101.91 kB
std transpose.ts 101.91 kB
std trunc.ts 101.91 kB
std unpack2x16float.ts 101.92 kB
std unpack4x8unorm.ts 101.91 kB
std workgroupBarrier.ts 101.92 kB
tgpu accessor.ts 259.97 kB
tgpu bindGroupLayout.ts 259.98 kB
tgpu comptime.ts 259.97 kB
tgpu computeFn.ts 259.97 kB
tgpu const.ts 259.97 kB
tgpu fn.ts 259.97 kB
tgpu fragmentFn.ts 259.98 kB
tgpu init.ts 259.97 kB
tgpu initFromDevice.ts 259.98 kB
tgpu lazy.ts 259.97 kB
tgpu mutableAccessor.ts 259.98 kB
tgpu privateVar.ts 259.98 kB
tgpu resolve.ts 259.97 kB
tgpu resolveWithContext.ts 259.98 kB
tgpu slot.ts 259.97 kB
tgpu unroll.ts 259.97 kB
tgpu vertexFn.ts 259.97 kB
tgpu vertexLayout.ts 259.98 kB
tgpu workgroupVar.ts 259.98 kB

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

@github-actions

github-actions Bot commented Jun 15, 2026

Copy link
Copy Markdown

Resolution Time Benchmark

---
config:
  themeVariables:
    xyChart:
      plotColorPalette: "#E63946, #3B82F6, #059669"
---
xychart
  title "Random Branching (🔴 PR | 🔵 main | 🟢 release)"
  x-axis "max depth" [1, 2, 3, 4, 5, 6, 7, 8]
  y-axis "time (ms)"
  line [0.87, 1.70, 3.61, 5.88, 7.27, 10.62, 20.21, 19.88]
  line [0.86, 1.55, 3.39, 5.99, 6.34, 9.50, 19.14, 18.85]
  line [0.83, 1.62, 3.50, 5.15, 6.29, 9.08, 18.01, 20.99]
Loading
---
config:
  themeVariables:
    xyChart:
      plotColorPalette: "#E63946, #3B82F6, #059669"
---
xychart
  title "Linear Recursion (🔴 PR | 🔵 main | 🟢 release)"
  x-axis "max depth" [1, 2, 3, 4, 5, 6, 7, 8]
  y-axis "time (ms)"
  line [0.30, 0.46, 0.61, 0.74, 0.98, 1.01, 1.29, 1.43]
  line [0.29, 0.53, 0.61, 0.76, 1.02, 1.09, 1.35, 1.47]
  line [0.27, 0.47, 0.58, 0.75, 1.06, 1.01, 1.25, 1.38]
Loading
---
config:
  themeVariables:
    xyChart:
      plotColorPalette: "#E63946, #3B82F6, #059669"
---
xychart
  title "Full Tree (🔴 PR | 🔵 main | 🟢 release)"
  x-axis "max depth" [1, 2, 3, 4, 5, 6, 7, 8]
  y-axis "time (ms)"
  line [0.69, 1.77, 3.05, 5.55, 11.30, 23.80, 49.85, 101.54]
  line [0.87, 1.97, 3.09, 5.40, 10.66, 22.39, 52.55, 98.96]
  line [0.76, 1.72, 3.35, 6.98, 10.57, 22.53, 47.73, 95.76]
Loading

@aleksanderkatan aleksanderkatan requested a review from Copilot June 15, 2026 10:38

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Copilot wasn't able to review this pull request because it exceeds the maximum number of files (300). Try reducing the number of changed files and requesting a review from Copilot again.

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.

impr: Default export

2 participants