Skip to content

impr(@typegpu/cli): Next.js template#2596

Open
cieplypolar wants to merge 17 commits into
mainfrom
impr/nextjs-template
Open

impr(@typegpu/cli): Next.js template#2596
cieplypolar wants to merge 17 commits into
mainfrom
impr/nextjs-template

Conversation

@cieplypolar

@cieplypolar cieplypolar commented Jun 10, 2026

Copy link
Copy Markdown
Collaborator

Let's wait for #2588.

@github-actions

github-actions Bot commented Jun 10, 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@f815cab993323d55031ad78a28b80a3bf4b1862c
https://pkg.pr.new/software-mansion/TypeGPU/@typegpu/cli@f815cab993323d55031ad78a28b80a3bf4b1862c
https://pkg.pr.new/software-mansion/TypeGPU/@typegpu/noise@f815cab993323d55031ad78a28b80a3bf4b1862c
https://pkg.pr.new/software-mansion/TypeGPU/@typegpu/react@f815cab993323d55031ad78a28b80a3bf4b1862c
https://pkg.pr.new/software-mansion/TypeGPU/unplugin-typegpu@f815cab993323d55031ad78a28b80a3bf4b1862c

benchmark
view benchmark

commit
view commit

@github-actions

github-actions Bot commented Jun 10, 2026

Copy link
Copy Markdown

Bundle size comparison (import * as ... in PR vs import * as ... in target):

🟢 Decreased ➖ Unchanged 🔴 Increased ❔ Unknown
0 320 0 0

import { ... } in PR vs import * as ... in PR (is the library tree-Shakeable?):

Click to reveal the results table (297 entries).
Test tsdown
d_Void.ts 87.40 kB ($${\color{red}+12093.7\%}$$)
d_sampler.ts 87.41 kB ($${\color{red}+11962.7\%}$$)
d_isPtr.ts 87.41 kB ($${\color{red}+11802.0\%}$$)
d_comparisonSampler.ts 87.42 kB ($${\color{red}+11787.8\%}$$)
d_isSizeAttrib.ts 87.41 kB ($${\color{red}+11771.4\%}$$)
d_isWgslArray.ts 87.41 kB ($${\color{red}+11771.2\%}$$)
d_isAlignAttrib.ts 87.41 kB ($${\color{red}+11755.8\%}$$)
d_isWgslStruct.ts 87.41 kB ($${\color{red}+11755.6\%}$$)
d_isAtomic.ts 87.41 kB ($${\color{red}+11755.1\%}$$)
d_isBuiltinAttrib.ts 87.42 kB ($${\color{red}+11724.7\%}$$)
d_isLocationAttrib.ts 87.42 kB ($${\color{red}+11709.2\%}$$)
d_isDecorated.ts 87.41 kB ($${\color{red}+11708.6\%}$$)
d_isInterpolateAttrib.ts 87.42 kB ($${\color{red}+11663.1\%}$$)
d_atomic.ts 87.41 kB ($${\color{red}+11389.6\%}$$)
d_ptrHandle.ts 87.41 kB ($${\color{red}+10417.9\%}$$)
d_ptrUniform.ts 87.41 kB ($${\color{red}+10405.6\%}$$)
d_ptrStorage.ts 87.41 kB ($${\color{red}+10356.5\%}$$)
d_ptrPrivate.ts 87.41 kB ($${\color{red}+10332.2\%}$$)
d_ptrFn.ts 87.41 kB ($${\color{red}+10319.4\%}$$)
d_ptrWorkgroup.ts 87.41 kB ($${\color{red}+10308.1\%}$$)
d_textureExternal.ts 87.42 kB ($${\color{red}+10153.5\%}$$)
d_textureStorage1d.ts 87.42 kB ($${\color{red}+8532.0\%}$$)
d_textureStorage2d.ts 87.42 kB ($${\color{red}+8532.0\%}$$)
d_textureStorage3d.ts 87.42 kB ($${\color{red}+8532.0\%}$$)
d_textureStorage2dArray.ts 87.42 kB ($${\color{red}+8385.2\%}$$)
d_isDisarray.ts 87.41 kB ($${\color{red}+7758.5\%}$$)
d_isUnstruct.ts 87.41 kB ($${\color{red}+7758.5\%}$$)
d_isLooseDecorated.ts 87.42 kB ($${\color{red}+7711.0\%}$$)
d_isLooseData.ts 87.41 kB ($${\color{red}+7447.1\%}$$)
d_isWgslData.ts 87.41 kB ($${\color{red}+6569.7\%}$$)
d_unstruct.ts 87.41 kB ($${\color{red}+5547.1\%}$$)
d_isData.ts 87.41 kB ($${\color{red}+4735.4\%}$$)
d_deepEqual.ts 87.41 kB ($${\color{red}+3886.9\%}$$)
d_struct.ts 87.41 kB ($${\color{red}+2324.9\%}$$)
d_ref.ts 87.40 kB ($${\color{red}+1725.4\%}$$)
std_discard.ts 103.14 kB ($${\color{red}+624.7\%}$$)
std_copy.ts 103.13 kB ($${\color{red}+612.6\%}$$)
std_arrayLength.ts 103.14 kB ($${\color{red}+612.4\%}$$)
std_isBeingTranspiled.ts 103.15 kB ($${\color{red}+610.8\%}$$)
std_getTargetShaderLanguage.ts 103.15 kB ($${\color{red}+607.7\%}$$)
std_extensionEnabled.ts 103.15 kB ($${\color{red}+605.2\%}$$)
std_range.ts 103.13 kB ($${\color{red}+592.4\%}$$)
std_dpdx.ts 103.13 kB ($${\color{red}+584.1\%}$$)
std_fwidthCoarse.ts 103.14 kB ($${\color{red}+583.9\%}$$)
std_dpdxCoarse.ts 103.14 kB ($${\color{red}+583.9\%}$$)
std_dpdyCoarse.ts 103.14 kB ($${\color{red}+583.9\%}$$)
std_fwidthFine.ts 103.14 kB ($${\color{red}+583.9\%}$$)
std_dpdxFine.ts 103.14 kB ($${\color{red}+583.9\%}$$)
std_dpdyFine.ts 103.14 kB ($${\color{red}+583.9\%}$$)
std_fwidth.ts 103.14 kB ($${\color{red}+583.9\%}$$)
std_dpdy.ts 103.13 kB ($${\color{red}+583.9\%}$$)
d_bool.ts 87.40 kB ($${\color{red}+571.4\%}$$)
d_f16.ts 87.40 kB ($${\color{red}+571.4\%}$$)
d_f32.ts 87.40 kB ($${\color{red}+571.4\%}$$)
d_i32.ts 87.40 kB ($${\color{red}+571.4\%}$$)
d_u32.ts 87.40 kB ($${\color{red}+571.4\%}$$)
d_u16.ts 87.40 kB ($${\color{red}+570.2\%}$$)
std_atomicLoad.ts 103.14 kB ($${\color{red}+551.5\%}$$)
std_textureBarrier.ts 103.14 kB ($${\color{red}+551.2\%}$$)
std_atomicStore.ts 103.14 kB ($${\color{red}+551.2\%}$$)
std_workgroupBarrier.ts 103.15 kB ($${\color{red}+551.0\%}$$)
std_storageBarrier.ts 103.14 kB ($${\color{red}+551.0\%}$$)
std_atomicAdd.ts 103.14 kB ($${\color{red}+551.0\%}$$)
std_atomicAnd.ts 103.14 kB ($${\color{red}+551.0\%}$$)
std_atomicMax.ts 103.14 kB ($${\color{red}+551.0\%}$$)
std_atomicMin.ts 103.14 kB ($${\color{red}+551.0\%}$$)
std_atomicSub.ts 103.14 kB ($${\color{red}+551.0\%}$$)
std_atomicXor.ts 103.14 kB ($${\color{red}+551.0\%}$$)
std_atomicOr.ts 103.14 kB ($${\color{red}+551.0\%}$$)
d_textureDepth2d.ts 87.41 kB ($${\color{red}+549.3\%}$$)
d_textureDepthCube.ts 87.42 kB ($${\color{red}+549.1\%}$$)
d_texture1d.ts 87.41 kB ($${\color{red}+548.8\%}$$)
d_texture2d.ts 87.41 kB ($${\color{red}+548.8\%}$$)
d_texture3d.ts 87.41 kB ($${\color{red}+548.8\%}$$)
d_textureDepth2dArray.ts 87.42 kB ($${\color{red}+548.5\%}$$)
d_textureCube.ts 87.41 kB ($${\color{red}+548.5\%}$$)
d_textureDepthCubeArray.ts 87.42 kB ($${\color{red}+548.3\%}$$)
d_textureDepthMultisampled2d.ts 87.43 kB ($${\color{red}+548.2\%}$$)
d_texture2dArray.ts 87.41 kB ($${\color{red}+548.0\%}$$)
d_textureCubeArray.ts 87.42 kB ($${\color{red}+547.7\%}$$)
d_textureMultisampled2d.ts 87.42 kB ($${\color{red}+547.7\%}$$)
d_disarrayOf.ts 87.41 kB ($${\color{red}+480.3\%}$$)
d_vec2b.ts 87.41 kB ($${\color{red}+349.4\%}$$)
d_vec2f.ts 87.41 kB ($${\color{red}+349.4\%}$$)
d_vec2h.ts 87.41 kB ($${\color{red}+349.4\%}$$)
d_vec2i.ts 87.41 kB ($${\color{red}+349.4\%}$$)
d_vec2u.ts 87.41 kB ($${\color{red}+349.4\%}$$)
d_vec3b.ts 87.41 kB ($${\color{red}+349.4\%}$$)
d_vec3f.ts 87.41 kB ($${\color{red}+349.4\%}$$)
d_vec3h.ts 87.41 kB ($${\color{red}+349.4\%}$$)
d_vec3i.ts 87.41 kB ($${\color{red}+349.4\%}$$)
d_vec3u.ts 87.41 kB ($${\color{red}+349.4\%}$$)
d_vec4b.ts 87.41 kB ($${\color{red}+349.4\%}$$)
d_vec4f.ts 87.41 kB ($${\color{red}+349.4\%}$$)
d_vec4h.ts 87.41 kB ($${\color{red}+349.4\%}$$)
d_vec4i.ts 87.41 kB ($${\color{red}+349.4\%}$$)
d_vec4u.ts 87.41 kB ($${\color{red}+349.4\%}$$)
std_subgroupAdd.ts 103.14 kB ($${\color{red}+329.3\%}$$)
std_subgroupBroadcastFirst.ts 103.15 kB ($${\color{red}+329.2\%}$$)
std_subgroupExclusiveAdd.ts 103.15 kB ($${\color{red}+329.2\%}$$)
std_subgroupExclusiveMul.ts 103.15 kB ($${\color{red}+329.2\%}$$)
std_subgroupInclusiveAdd.ts 103.15 kB ($${\color{red}+329.2\%}$$)
std_subgroupInclusiveMul.ts 103.15 kB ($${\color{red}+329.2\%}$$)
std_subgroupShuffleDown.ts 103.15 kB ($${\color{red}+329.2\%}$$)
std_subgroupShuffleXor.ts 103.15 kB ($${\color{red}+329.2\%}$$)
std_subgroupBroadcast.ts 103.15 kB ($${\color{red}+329.2\%}$$)
std_subgroupShuffleUp.ts 103.15 kB ($${\color{red}+329.2\%}$$)
std_subgroupShuffle.ts 103.14 kB ($${\color{red}+329.2\%}$$)
std_subgroupBallot.ts 103.14 kB ($${\color{red}+329.2\%}$$)
std_subgroupElect.ts 103.14 kB ($${\color{red}+329.2\%}$$)
std_subgroupAll.ts 103.14 kB ($${\color{red}+329.2\%}$$)
std_subgroupAnd.ts 103.14 kB ($${\color{red}+329.2\%}$$)
std_subgroupAny.ts 103.14 kB ($${\color{red}+329.2\%}$$)
std_subgroupMax.ts 103.14 kB ($${\color{red}+329.2\%}$$)
std_subgroupMin.ts 103.14 kB ($${\color{red}+329.2\%}$$)
std_subgroupMul.ts 103.14 kB ($${\color{red}+329.2\%}$$)
std_subgroupXor.ts 103.14 kB ($${\color{red}+329.2\%}$$)
std_subgroupOr.ts 103.14 kB ($${\color{red}+329.2\%}$$)
d_formatToWGSLType.ts 87.42 kB ($${\color{red}+317.4\%}$$)
d_uint8.ts 87.41 kB ($${\color{red}+317.3\%}$$)
d_unorm10_10_10_2.ts 87.42 kB ($${\color{red}+317.3\%}$$)
d_unorm8x4_bgra.ts 87.41 kB ($${\color{red}+317.2\%}$$)
d_float16x2.ts 87.41 kB ($${\color{red}+317.2\%}$$)
d_float16x4.ts 87.41 kB ($${\color{red}+317.2\%}$$)
d_float32x2.ts 87.41 kB ($${\color{red}+317.2\%}$$)
d_float32x3.ts 87.41 kB ($${\color{red}+317.2\%}$$)
d_float32x4.ts 87.41 kB ($${\color{red}+317.2\%}$$)
d_snorm16x2.ts 87.41 kB ($${\color{red}+317.2\%}$$)
d_snorm16x4.ts 87.41 kB ($${\color{red}+317.2\%}$$)
d_unorm16x2.ts 87.41 kB ($${\color{red}+317.2\%}$$)
d_unorm16x4.ts 87.41 kB ($${\color{red}+317.2\%}$$)
d_sint16x2.ts 87.41 kB ($${\color{red}+317.2\%}$$)
d_sint16x4.ts 87.41 kB ($${\color{red}+317.2\%}$$)
d_sint32x2.ts 87.41 kB ($${\color{red}+317.2\%}$$)
d_sint32x3.ts 87.41 kB ($${\color{red}+317.2\%}$$)
d_sint32x4.ts 87.41 kB ($${\color{red}+317.2\%}$$)
d_snorm8x2.ts 87.41 kB ($${\color{red}+317.2\%}$$)
d_snorm8x4.ts 87.41 kB ($${\color{red}+317.2\%}$$)
d_uint16x2.ts 87.41 kB ($${\color{red}+317.2\%}$$)
d_uint16x4.ts 87.41 kB ($${\color{red}+317.2\%}$$)
d_uint32x2.ts 87.41 kB ($${\color{red}+317.2\%}$$)
d_uint32x3.ts 87.41 kB ($${\color{red}+317.2\%}$$)
d_uint32x4.ts 87.41 kB ($${\color{red}+317.2\%}$$)
d_unorm8x2.ts 87.41 kB ($${\color{red}+317.2\%}$$)
d_unorm8x4.ts 87.41 kB ($${\color{red}+317.2\%}$$)
d_float16.ts 87.41 kB ($${\color{red}+317.2\%}$$)
d_float32.ts 87.41 kB ($${\color{red}+317.2\%}$$)
d_sint8x2.ts 87.41 kB ($${\color{red}+317.2\%}$$)
d_sint8x4.ts 87.41 kB ($${\color{red}+317.2\%}$$)
d_snorm16.ts 87.41 kB ($${\color{red}+317.2\%}$$)
d_uint8x2.ts 87.41 kB ($${\color{red}+317.2\%}$$)
d_uint8x4.ts 87.41 kB ($${\color{red}+317.2\%}$$)
d_unorm16.ts 87.41 kB ($${\color{red}+317.2\%}$$)
d_sint16.ts 87.41 kB ($${\color{red}+317.2\%}$$)
d_sint32.ts 87.41 kB ($${\color{red}+317.2\%}$$)
d_snorm8.ts 87.41 kB ($${\color{red}+317.2\%}$$)
d_uint16.ts 87.41 kB ($${\color{red}+317.2\%}$$)
d_uint32.ts 87.41 kB ($${\color{red}+317.2\%}$$)
d_unorm8.ts 87.41 kB ($${\color{red}+317.2\%}$$)
d_sint8.ts 87.41 kB ($${\color{red}+317.2\%}$$)
d_packedFormats.ts 87.41 kB ($${\color{red}+316.9\%}$$)
d_isPackedData.ts 87.41 kB ($${\color{red}+316.0\%}$$)
std_textureDimensions.ts 103.15 kB ($${\color{red}+300.1\%}$$)
std_textureGather.ts 103.14 kB ($${\color{red}+300.0\%}$$)
std_textureSampleBaseClampToEdge.ts 103.16 kB ($${\color{red}+300.0\%}$$)
std_textureSampleCompareLevel.ts 103.15 kB ($${\color{red}+300.0\%}$$)
std_textureSampleCompare.ts 103.15 kB ($${\color{red}+300.0\%}$$)
std_textureSampleLevel.ts 103.15 kB ($${\color{red}+300.0\%}$$)
std_textureSampleBias.ts 103.15 kB ($${\color{red}+300.0\%}$$)
std_textureSampleGrad.ts 103.15 kB ($${\color{red}+300.0\%}$$)
std_textureSample.ts 103.14 kB ($${\color{red}+299.9\%}$$)
std_textureStore.ts 103.14 kB ($${\color{red}+299.9\%}$$)
std_textureLoad.ts 103.14 kB ($${\color{red}+299.9\%}$$)
d_alignmentOf.ts 87.41 kB ($${\color{red}+299.2\%}$$)
std_translation4.ts 103.14 kB ($${\color{red}+281.5\%}$$)
std_rotationX4.ts 103.14 kB ($${\color{red}+281.5\%}$$)
std_rotationY4.ts 103.14 kB ($${\color{red}+281.5\%}$$)
std_rotationZ4.ts 103.14 kB ($${\color{red}+281.5\%}$$)
std_identity2.ts 103.14 kB ($${\color{red}+281.5\%}$$)
std_identity3.ts 103.14 kB ($${\color{red}+281.5\%}$$)
std_identity4.ts 103.14 kB ($${\color{red}+281.5\%}$$)
std_scaling4.ts 103.14 kB ($${\color{red}+281.5\%}$$)
d_isBuiltin.ts 87.41 kB ($${\color{red}+255.1\%}$$)
d_sizeOf.ts 87.41 kB ($${\color{red}+254.3\%}$$)
d_isContiguous.ts 87.41 kB ($${\color{red}+254.3\%}$$)
d_getLongestContiguousPrefix.ts 87.43 kB ($${\color{red}+254.2\%}$$)
d_arrayOf.ts 87.41 kB ($${\color{red}+233.4\%}$$)
d_size.ts 87.40 kB ($${\color{red}+231.6\%}$$)
d_align.ts 87.41 kB ($${\color{red}+231.6\%}$$)
d_location.ts 87.41 kB ($${\color{red}+231.6\%}$$)
d_interpolate.ts 87.41 kB ($${\color{red}+231.6\%}$$)
d_invariant.ts 87.41 kB ($${\color{red}+227.0\%}$$)
d_mat4x4f.ts 87.41 kB ($${\color{red}+223.3\%}$$)
d_mat2x2f.ts 87.41 kB ($${\color{red}+223.3\%}$$)
d_mat3x3f.ts 87.41 kB ($${\color{red}+223.3\%}$$)
d_matToArray.ts 87.41 kB ($${\color{red}+221.8\%}$$)
d_builtin.ts 87.41 kB ($${\color{red}+204.8\%}$$)
std_unpack2x16float.ts 103.14 kB ($${\color{red}+186.6\%}$$)
std_unpack4x8unorm.ts 103.14 kB ($${\color{red}+186.6\%}$$)
std_pack2x16float.ts 103.14 kB ($${\color{red}+186.6\%}$$)
std_pack4x8unorm.ts 103.14 kB ($${\color{red}+186.6\%}$$)
std_bitcastU32toF32.ts 103.14 kB ($${\color{red}+133.2\%}$$)
std_bitcastU32toI32.ts 103.14 kB ($${\color{red}+133.2\%}$$)
std_neg.ts 103.13 kB ($${\color{red}+113.1\%}$$)
std_bitShiftRight.ts 103.14 kB ($${\color{red}+113.1\%}$$)
std_bitShiftLeft.ts 103.14 kB ($${\color{red}+113.1\%}$$)
std_add.ts 103.13 kB ($${\color{red}+113.0\%}$$)
std_div.ts 103.13 kB ($${\color{red}+113.0\%}$$)
std_mod.ts 103.13 kB ($${\color{red}+113.0\%}$$)
std_mul.ts 103.13 kB ($${\color{red}+113.0\%}$$)
std_sub.ts 103.13 kB ($${\color{red}+113.0\%}$$)
std_translate4.ts 103.14 kB ($${\color{red}+109.8\%}$$)
std_rotateX4.ts 103.14 kB ($${\color{red}+109.8\%}$$)
std_scale4.ts 103.14 kB ($${\color{red}+109.8\%}$$)
std_rotateY4.ts 103.14 kB ($${\color{red}+109.7\%}$$)
std_rotateZ4.ts 103.14 kB ($${\color{red}+109.7\%}$$)
d_memoryLayoutOf.ts 87.41 kB ($${\color{red}+108.2\%}$$)
std_and.ts 103.13 kB ($${\color{red}+99.2\%}$$)
std_or.ts 103.13 kB ($${\color{red}+99.2\%}$$)
std_select.ts 103.14 kB ($${\color{red}+99.2\%}$$)
std_allEq.ts 103.13 kB ($${\color{red}+99.2\%}$$)
std_all.ts 103.13 kB ($${\color{red}+99.2\%}$$)
std_not.ts 103.13 kB ($${\color{red}+99.2\%}$$)
std_eq.ts 103.13 kB ($${\color{red}+99.2\%}$$)
std_lt.ts 103.13 kB ($${\color{red}+99.2\%}$$)
std_ne.ts 103.13 kB ($${\color{red}+99.2\%}$$)
std_isCloseTo.ts 103.14 kB ($${\color{red}+99.1\%}$$)
std_any.ts 103.13 kB ($${\color{red}+99.1\%}$$)
std_ge.ts 103.13 kB ($${\color{red}+99.1\%}$$)
std_gt.ts 103.13 kB ($${\color{red}+99.1\%}$$)
std_le.ts 103.13 kB ($${\color{red}+99.1\%}$$)
std_dot4U8Packed.ts 103.14 kB ($${\color{red}+56.2\%}$$)
std_length.ts 103.14 kB ($${\color{red}+56.2\%}$$)
std_countTrailingZeros.ts 103.15 kB ($${\color{red}+56.2\%}$$)
std_distance.ts 103.14 kB ($${\color{red}+56.2\%}$$)
std_dot.ts 103.13 kB ($${\color{red}+56.2\%}$$)
std_countLeadingZeros.ts 103.15 kB ($${\color{red}+56.2\%}$$)
std_firstTrailingBit.ts 103.15 kB ($${\color{red}+56.1\%}$$)
std_firstLeadingBit.ts 103.14 kB ($${\color{red}+56.1\%}$$)
std_fract.ts 103.13 kB ($${\color{red}+56.1\%}$$)
std_frexp.ts 103.13 kB ($${\color{red}+56.1\%}$$)
std_modf.ts 103.13 kB ($${\color{red}+56.1\%}$$)
std_quantizeToF16.ts 103.14 kB ($${\color{red}+56.1\%}$$)
std_mix.ts 103.13 kB ($${\color{red}+56.1\%}$$)
std_countOneBits.ts 103.14 kB ($${\color{red}+56.1\%}$$)
std_dot4I8Packed.ts 103.14 kB ($${\color{red}+56.1\%}$$)
std_determinant.ts 103.14 kB ($${\color{red}+56.1\%}$$)
std_extractBits.ts 103.14 kB ($${\color{red}+56.1\%}$$)
std_faceForward.ts 103.14 kB ($${\color{red}+56.1\%}$$)
std_inverseSqrt.ts 103.14 kB ($${\color{red}+56.1\%}$$)
std_reverseBits.ts 103.14 kB ($${\color{red}+56.1\%}$$)
std_insertBits.ts 103.14 kB ($${\color{red}+56.1\%}$$)
std_smoothstep.ts 103.14 kB ($${\color{red}+56.1\%}$$)
std_normalize.ts 103.14 kB ($${\color{red}+56.1\%}$$)
std_transpose.ts 103.14 kB ($${\color{red}+56.1\%}$$)
std_saturate.ts 103.14 kB ($${\color{red}+56.1\%}$$)
std_degrees.ts 103.14 kB ($${\color{red}+56.1\%}$$)
std_radians.ts 103.14 kB ($${\color{red}+56.1\%}$$)
std_reflect.ts 103.14 kB ($${\color{red}+56.1\%}$$)
std_refract.ts 103.14 kB ($${\color{red}+56.1\%}$$)
std_acosh.ts 103.13 kB ($${\color{red}+56.1\%}$$)
std_asinh.ts 103.13 kB ($${\color{red}+56.1\%}$$)
std_atan2.ts 103.13 kB ($${\color{red}+56.1\%}$$)
std_atanh.ts 103.13 kB ($${\color{red}+56.1\%}$$)
std_clamp.ts 103.13 kB ($${\color{red}+56.1\%}$$)
std_cross.ts 103.13 kB ($${\color{red}+56.1\%}$$)
std_floor.ts 103.13 kB ($${\color{red}+56.1\%}$$)
std_ldexp.ts 103.13 kB ($${\color{red}+56.1\%}$$)
std_round.ts 103.13 kB ($${\color{red}+56.1\%}$$)
std_trunc.ts 103.13 kB ($${\color{red}+56.1\%}$$)
std_acos.ts 103.13 kB ($${\color{red}+56.1\%}$$)
std_asin.ts 103.13 kB ($${\color{red}+56.1\%}$$)
std_atan.ts 103.13 kB ($${\color{red}+56.1\%}$$)
std_ceil.ts 103.13 kB ($${\color{red}+56.1\%}$$)
std_cosh.ts 103.13 kB ($${\color{red}+56.1\%}$$)
std_exp2.ts 103.13 kB ($${\color{red}+56.1\%}$$)
std_log2.ts 103.13 kB ($${\color{red}+56.1\%}$$)
std_sign.ts 103.13 kB ($${\color{red}+56.1\%}$$)
std_sinh.ts 103.13 kB ($${\color{red}+56.1\%}$$)
std_sqrt.ts 103.13 kB ($${\color{red}+56.1\%}$$)
std_step.ts 103.13 kB ($${\color{red}+56.1\%}$$)
std_tanh.ts 103.13 kB ($${\color{red}+56.1\%}$$)
std_abs.ts 103.13 kB ($${\color{red}+56.1\%}$$)
std_cos.ts 103.13 kB ($${\color{red}+56.1\%}$$)
std_exp.ts 103.13 kB ($${\color{red}+56.1\%}$$)
std_fma.ts 103.13 kB ($${\color{red}+56.1\%}$$)
std_log.ts 103.13 kB ($${\color{red}+56.1\%}$$)
std_max.ts 103.13 kB ($${\color{red}+56.1\%}$$)
std_min.ts 103.13 kB ($${\color{red}+56.1\%}$$)
std_pow.ts 103.13 kB ($${\color{red}+56.1\%}$$)
std_sin.ts 103.13 kB ($${\color{red}+56.1\%}$$)
std_tan.ts 103.13 kB ($${\color{red}+56.1\%}$$)
common_fullScreenTriangle.ts 57.18 kB ($${\color{red}+41.5\%}$$)
common_writeSoA.ts 57.17 kB ($${\color{red}+38.6\%}$$)
STATIC_allImports.ts 287.20 kB ($${\color{green}-1.7\%}$$)
STATIC_d.ts 87.40 kB ($${\color{green}-2.6\%}$$)
STATIC_std.ts 103.13 kB ($${\color{green}-2.7\%}$$)

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 10, 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.88, 1.72, 3.47, 5.59, 7.10, 9.37, 18.98, 23.02]
  line [0.92, 1.78, 3.92, 5.29, 6.33, 9.91, 20.72, 22.76]
  line [0.86, 1.64, 3.46, 5.90, 6.46, 9.91, 19.29, 22.01]
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.27, 0.50, 0.68, 0.81, 1.09, 1.13, 1.31, 1.48]
  line [0.28, 0.55, 0.68, 0.80, 1.06, 1.14, 1.33, 1.48]
  line [0.33, 0.51, 0.61, 0.71, 0.99, 0.99, 1.22, 1.37]
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.86, 1.90, 4.12, 5.57, 10.81, 23.36, 48.97, 101.01]
  line [0.76, 1.78, 4.39, 5.78, 11.03, 23.59, 49.04, 103.72]
  line [0.98, 2.35, 4.55, 5.67, 10.95, 23.14, 50.19, 98.88]
Loading

@cieplypolar cieplypolar force-pushed the impr/nextjs-template branch from e108045 to 1dc6371 Compare July 7, 2026 17:14
@cieplypolar cieplypolar changed the base branch from main to feat/ascii-art July 7, 2026 17:15
@cieplypolar cieplypolar marked this pull request as ready for review July 7, 2026 17:16

@pullfrog pullfrog Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Important

Two template correctness issues need fixing before this can land: the root page.tsx declares a generateStaticParams() function even though it is not a dynamic route, and SVG imports from public/ are accessed as if they were Next.js StaticImageData objects (they are URL strings at runtime).

Reviewed changes — new nextjs-bare template for @typegpu/cli using Next.js 16 App Router, static export, Tailwind v4, and @typegpu/react.

  • Added nextjs-bare option to PROJECT_TEMPLATES in options.ts.
  • Added the full template scaffold: page layout, TypeGPU shader component, Next.js/Babel/PostCSS/Tailwind/TypeScript/Oxlint configs, static assets, editor settings, and agent instructions.

ℹ️ Nitpicks

  • .nvmrc says Node 24 but _package.json uses @types/node ^20; template-vite-react uses ^24.12.3.
  • oxlint.config.ts does not set browser or node env. Consider adding browser: true and node: true so babel.config.js CommonJS globals and browser globals lint correctly.

Pullfrog  | Fix all ➔Fix 👍s ➔View workflow run | Using Kimi K2 (free via Pullfrog for OSS) | 𝕏

Comment thread packages/typegpu-cli/templates/template-nextjs-bare/app/page.tsx Outdated
Comment thread packages/typegpu-cli/templates/template-nextjs-bare/app/page.tsx

@pullfrog pullfrog Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Important

The latest commit removes the invalid generateStaticParams() export, but the SVG logo issue raised in the previous review is still present.

Reviewed changes — the follow-up commit addressed one correctness issue in the template's root page, while an earlier image-import issue remains unresolved.

  • Removed generateStaticParams() from app/page.tsx — the root page is not a dynamic route, so the function was invalid; output: 'export' already produces a static /.
  • SVG logo imports still rely on .src — the public/ SVG imports are not StaticImageData objects in Next.js, so the .src access returns undefined at runtime. See the inline comment for evidence and the required fix.

Pullfrog  | Fix all ➔Fix 👍s ➔View workflow run | Using Kimi K2 (free via Pullfrog for OSS) | 𝕏

Comment thread packages/typegpu-cli/templates/template-nextjs-bare/app/page.tsx
Base automatically changed from feat/ascii-art to main July 13, 2026 15:00
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.

1 participant