Skip to content

fix: Auto dedent raw WGSL-implemented functions - #2940

Draft
iwoplaza wants to merge 2 commits into
feat/unique-names-in-wgslfrom
fix/auto-dedent-raw-fn
Draft

fix: Auto dedent raw WGSL-implemented functions#2940
iwoplaza wants to merge 2 commits into
feat/unique-names-in-wgslfrom
fix/auto-dedent-raw-fn

Conversation

@iwoplaza

Copy link
Copy Markdown
Collaborator

No description provided.

@github-actions

github-actions Bot commented Aug 27, 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@04ba4485009e1572ded9ab23552ad1729f2e5df3

benchmark
view benchmark

commit
view commit

@github-actions

github-actions Bot commented Aug 27, 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.65, 3.84, 6.24, 6.57, 12.18, 22.38, 21.27]
  line [0.88, 1.69, 3.80, 5.49, 6.50, 10.68, 20.41, 22.07]
  line [0.88, 1.74, 3.43, 5.83, 6.35, 9.77, 20.27, 21.73]
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.28, 0.48, 0.64, 0.76, 1.02, 1.06, 1.24, 1.36]
  line [0.33, 0.45, 0.60, 0.75, 1.00, 1.04, 1.27, 1.42]
  line [0.27, 0.44, 0.62, 0.71, 1.01, 1.04, 1.24, 1.44]
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.85, 1.82, 3.11, 6.20, 10.99, 22.56, 50.73, 98.68]
  line [0.90, 1.94, 3.16, 6.08, 10.82, 23.01, 48.28, 98.67]
  line [0.76, 1.82, 3.05, 6.02, 11.05, 23.47, 48.43, 99.02]
Loading

@github-actions

github-actions Bot commented Aug 27, 2026

Copy link
Copy Markdown

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

🟢 Decreased (max -53.64%) ➖ Unchanged 🔴 Increased (max 1.53%) ❔ Unknown
65 237 23 0

import * as ... in PR vs import * as ... in target (did bundle size increase?):

Click to reveal the results table (88 entries).
Test tsdown
common_fullScreenTriangle.ts 42.96 kB ($${\color{red}+1.5\%}$$)
STATIC_common.ts 59.72 kB ($${\color{red}+1.1\%}$$)
STATIC_tgpu.ts 274.54 kB ($${\color{red}+0.7\%}$$)
tgpu_fn.ts 274.55 kB ($${\color{red}+0.7\%}$$)
tgpu_init.ts 274.55 kB ($${\color{red}+0.7\%}$$)
tgpu_lazy.ts 274.55 kB ($${\color{red}+0.7\%}$$)
tgpu_slot.ts 274.55 kB ($${\color{red}+0.7\%}$$)
tgpu_const.ts 274.55 kB ($${\color{red}+0.7\%}$$)
tgpu_unroll.ts 274.55 kB ($${\color{red}+0.7\%}$$)
tgpu_resolve.ts 274.55 kB ($${\color{red}+0.7\%}$$)
tgpu_accessor.ts 274.55 kB ($${\color{red}+0.7\%}$$)
tgpu_comptime.ts 274.55 kB ($${\color{red}+0.7\%}$$)
tgpu_vertexFn.ts 274.55 kB ($${\color{red}+0.7\%}$$)
tgpu_computeFn.ts 274.55 kB ($${\color{red}+0.7\%}$$)
tgpu_fragmentFn.ts 274.55 kB ($${\color{red}+0.7\%}$$)
tgpu_privateVar.ts 274.55 kB ($${\color{red}+0.7\%}$$)
tgpu_vertexLayout.ts 274.56 kB ($${\color{red}+0.7\%}$$)
tgpu_workgroupVar.ts 274.56 kB ($${\color{red}+0.7\%}$$)
tgpu_initFromDevice.ts 274.56 kB ($${\color{red}+0.7\%}$$)
tgpu_bindGroupLayout.ts 274.56 kB ($${\color{red}+0.7\%}$$)
tgpu_mutableAccessor.ts 274.56 kB ($${\color{red}+0.7\%}$$)
tgpu_resolveWithContext.ts 274.56 kB ($${\color{red}+0.7\%}$$)
STATIC_allImports.ts 300.80 kB ($${\color{red}+0.6\%}$$)
STATIC_std.ts 95.53 kB ($${\color{green}-2.0\%}$$)
STATIC_d.ts 75.79 kB ($${\color{green}-2.6\%}$$)
std_abs.ts 54.27 kB ($${\color{green}-3.5\%}$$)
std_acos.ts 54.27 kB ($${\color{green}-3.5\%}$$)
std_acosh.ts 54.27 kB ($${\color{green}-3.5\%}$$)
std_asin.ts 54.27 kB ($${\color{green}-3.5\%}$$)
std_asinh.ts 54.27 kB ($${\color{green}-3.5\%}$$)
std_atan.ts 54.27 kB ($${\color{green}-3.5\%}$$)
std_atan2.ts 54.27 kB ($${\color{green}-3.5\%}$$)
std_atanh.ts 54.27 kB ($${\color{green}-3.5\%}$$)
std_ceil.ts 54.27 kB ($${\color{green}-3.5\%}$$)
std_clamp.ts 54.27 kB ($${\color{green}-3.5\%}$$)
std_cos.ts 54.27 kB ($${\color{green}-3.5\%}$$)
std_cosh.ts 54.27 kB ($${\color{green}-3.5\%}$$)
std_countLeadingZeros.ts 54.27 kB ($${\color{green}-3.5\%}$$)
std_countOneBits.ts 54.27 kB ($${\color{green}-3.5\%}$$)
std_countTrailingZeros.ts 54.27 kB ($${\color{green}-3.5\%}$$)
std_cross.ts 54.27 kB ($${\color{green}-3.5\%}$$)
std_degrees.ts 54.27 kB ($${\color{green}-3.5\%}$$)
std_determinant.ts 54.27 kB ($${\color{green}-3.5\%}$$)
std_dot4I8Packed.ts 54.27 kB ($${\color{green}-3.5\%}$$)
std_exp.ts 54.27 kB ($${\color{green}-3.5\%}$$)
std_exp2.ts 54.27 kB ($${\color{green}-3.5\%}$$)
std_extractBits.ts 54.27 kB ($${\color{green}-3.5\%}$$)
std_faceForward.ts 54.27 kB ($${\color{green}-3.5\%}$$)
std_firstLeadingBit.ts 54.27 kB ($${\color{green}-3.5\%}$$)
std_firstTrailingBit.ts 54.27 kB ($${\color{green}-3.5\%}$$)
std_floor.ts 54.27 kB ($${\color{green}-3.5\%}$$)
std_fma.ts 54.27 kB ($${\color{green}-3.5\%}$$)
std_insertBits.ts 54.27 kB ($${\color{green}-3.5\%}$$)
std_intdiv.ts 54.27 kB ($${\color{green}-3.5\%}$$)
std_inverseSqrt.ts 54.27 kB ($${\color{green}-3.5\%}$$)
std_ldexp.ts 54.27 kB ($${\color{green}-3.5\%}$$)
std_log.ts 54.27 kB ($${\color{green}-3.5\%}$$)
std_log2.ts 54.27 kB ($${\color{green}-3.5\%}$$)
std_max.ts 54.27 kB ($${\color{green}-3.5\%}$$)
std_min.ts 54.27 kB ($${\color{green}-3.5\%}$$)
std_normalize.ts 54.27 kB ($${\color{green}-3.5\%}$$)
std_pow.ts 54.27 kB ($${\color{green}-3.5\%}$$)
std_quantizeToF16.ts 54.27 kB ($${\color{green}-3.5\%}$$)
std_radians.ts 54.27 kB ($${\color{green}-3.5\%}$$)
std_reflect.ts 54.27 kB ($${\color{green}-3.5\%}$$)
std_refract.ts 54.27 kB ($${\color{green}-3.5\%}$$)
std_reverseBits.ts 54.27 kB ($${\color{green}-3.5\%}$$)
std_round.ts 54.27 kB ($${\color{green}-3.5\%}$$)
std_saturate.ts 54.27 kB ($${\color{green}-3.5\%}$$)
std_sign.ts 54.27 kB ($${\color{green}-3.5\%}$$)
std_sin.ts 54.27 kB ($${\color{green}-3.5\%}$$)
std_sinh.ts 54.27 kB ($${\color{green}-3.5\%}$$)
std_smoothstep.ts 54.27 kB ($${\color{green}-3.5\%}$$)
std_sqrt.ts 54.27 kB ($${\color{green}-3.5\%}$$)
std_step.ts 54.27 kB ($${\color{green}-3.5\%}$$)
std_tan.ts 54.27 kB ($${\color{green}-3.5\%}$$)
std_tanh.ts 54.27 kB ($${\color{green}-3.5\%}$$)
std_transpose.ts 54.27 kB ($${\color{green}-3.5\%}$$)
std_trunc.ts 54.27 kB ($${\color{green}-3.5\%}$$)
std_distance.ts 54.26 kB ($${\color{green}-3.5\%}$$)
std_dot4U8Packed.ts 54.26 kB ($${\color{green}-3.5\%}$$)
std_fract.ts 54.26 kB ($${\color{green}-3.5\%}$$)
std_frexp.ts 54.26 kB ($${\color{green}-3.5\%}$$)
std_mix.ts 54.26 kB ($${\color{green}-3.5\%}$$)
std_modf.ts 54.26 kB ($${\color{green}-3.5\%}$$)
std_dot.ts 54.26 kB ($${\color{green}-3.5\%}$$)
std_length.ts 54.26 kB ($${\color{green}-3.5\%}$$)
d_struct.ts 1.72 kB ($${\color{green}-53.6\%}$$)

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

Test tsdown
tgpu_init.ts 264.95 kB ($${\color{green}-3.5\%}$$)
tgpu_initFromDevice.ts 264.41 kB ($${\color{green}-3.7\%}$$)
tgpu_resolve.ts 163.60 kB ($${\color{green}-40.4\%}$$)
tgpu_resolveWithContext.ts 163.54 kB ($${\color{green}-40.4\%}$$)
tgpu_bindGroupLayout.ts 60.24 kB ($${\color{green}-78.1\%}$$)
tgpu_mutableAccessor.ts 54.96 kB ($${\color{green}-80.0\%}$$)
tgpu_accessor.ts 54.95 kB ($${\color{green}-80.0\%}$$)
tgpu_privateVar.ts 53.64 kB ($${\color{green}-80.5\%}$$)
tgpu_workgroupVar.ts 53.64 kB ($${\color{green}-80.5\%}$$)
tgpu_const.ts 53.06 kB ($${\color{green}-80.7\%}$$)
tgpu_lazy.ts 52.86 kB ($${\color{green}-80.7\%}$$)
tgpu_fn.ts 41.87 kB ($${\color{green}-84.8\%}$$)
tgpu_fragmentFn.ts 40.32 kB ($${\color{green}-85.3\%}$$)
tgpu_vertexFn.ts 40.14 kB ($${\color{green}-85.4\%}$$)
tgpu_computeFn.ts 39.84 kB ($${\color{green}-85.5\%}$$)
tgpu_vertexLayout.ts 28.33 kB ($${\color{green}-89.7\%}$$)
tgpu_comptime.ts 15.93 kB ($${\color{green}-94.2\%}$$)
tgpu_unroll.ts 1.75 kB ($${\color{green}-99.4\%}$$)
tgpu_slot.ts 1.70 kB ($${\color{green}-99.4\%}$$)

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 fix/auto-dedent-raw-fn branch from b34eb22 to c826f24 Compare August 27, 2026 15:42
@iwoplaza
iwoplaza force-pushed the fix/auto-dedent-raw-fn branch from c826f24 to 04ba448 Compare August 27, 2026 15:42
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