Skip to content

feat: Support computed struct keys - #2867

Draft
cieplypolar wants to merge 10 commits into
chore/drop-acornfrom
impr/computed-properties
Draft

feat: Support computed struct keys#2867
cieplypolar wants to merge 10 commits into
chore/drop-acornfrom
impr/computed-properties

Conversation

@cieplypolar

Copy link
Copy Markdown
Collaborator

No description provided.

@github-actions

github-actions Bot commented Aug 18, 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.94, 1.85, 4.02, 5.95, 7.26, 11.05, 22.18, 21.36]
  line [0.85, 1.72, 4.10, 5.37, 6.74, 10.90, 21.05, 23.82]
  line [0.81, 1.70, 3.89, 5.66, 6.28, 10.67, 21.63, 22.58]
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.50, 0.68, 0.81, 1.03, 1.07, 1.32, 1.47]
  line [0.26, 0.48, 0.64, 0.74, 0.98, 1.06, 1.26, 1.45]
  line [0.28, 0.44, 0.59, 0.71, 0.97, 1.02, 1.26, 1.35]
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.81, 2.01, 3.47, 6.31, 11.27, 23.72, 52.30, 104.39]
  line [0.86, 2.00, 4.02, 6.98, 11.71, 23.92, 50.94, 102.48]
  line [0.83, 1.95, 3.56, 6.12, 11.13, 23.65, 49.96, 100.85]
Loading

@github-actions

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.62, 1.27, 2.82, 4.25, 4.69, 8.38, 15.70, 15.65]
  line [0.62, 1.24, 2.62, 4.49, 4.75, 8.79, 16.40, 16.48]
  line [0.65, 1.35, 2.63, 3.79, 4.88, 8.04, 15.61, 17.27]
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.24, 0.38, 0.53, 0.64, 0.83, 0.80, 1.01, 1.11]
  line [0.19, 0.36, 0.45, 0.56, 0.75, 0.77, 0.91, 1.02]
  line [0.20, 0.36, 0.45, 0.57, 0.78, 0.77, 0.95, 1.07]
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.67, 1.59, 3.03, 4.52, 7.96, 17.12, 35.96, 72.77]
  line [0.68, 1.63, 2.71, 4.74, 8.06, 16.57, 36.71, 74.12]
  line [0.70, 1.66, 2.65, 4.72, 8.22, 17.53, 36.71, 73.85]
Loading

@github-actions

github-actions Bot commented Aug 19, 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/eslint-plugin-typegpu@6cd959d0284003ea422bb5893ac5f802198dd46b
https://pkg.pr.new/software-mansion/TypeGPU/tinyest@6cd959d0284003ea422bb5893ac5f802198dd46b
https://pkg.pr.new/software-mansion/TypeGPU/tinyest-for-wgsl@6cd959d0284003ea422bb5893ac5f802198dd46b
https://pkg.pr.new/software-mansion/TypeGPU/typegpu@6cd959d0284003ea422bb5893ac5f802198dd46b
https://pkg.pr.new/software-mansion/TypeGPU/@typegpu/cli@6cd959d0284003ea422bb5893ac5f802198dd46b
https://pkg.pr.new/software-mansion/TypeGPU/@typegpu/gl@6cd959d0284003ea422bb5893ac5f802198dd46b
https://pkg.pr.new/software-mansion/TypeGPU/unplugin-typegpu@6cd959d0284003ea422bb5893ac5f802198dd46b

benchmark
view benchmark

commit
view commit

@github-actions

github-actions Bot commented Aug 19, 2026

Copy link
Copy Markdown

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

🟢 Decreased ➖ Unchanged 🔴 Increased (max 0.21%) ❔ Unknown
0 304 21 0

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

Test tsdown
tgpu_init.ts 277.24 kB ($${\color{green}-3.3\%}$$)
tgpu_initFromDevice.ts 276.69 kB ($${\color{green}-3.5\%}$$)
tgpu_resolve.ts 175.83 kB ($${\color{green}-38.7\%}$$)
tgpu_resolveWithContext.ts 175.77 kB ($${\color{green}-38.7\%}$$)
tgpu_bindGroupLayout.ts 74.50 kB ($${\color{green}-74.0\%}$$)
tgpu_mutableAccessor.ts 69.22 kB ($${\color{green}-75.9\%}$$)
tgpu_accessor.ts 69.22 kB ($${\color{green}-75.9\%}$$)
tgpu_privateVar.ts 67.91 kB ($${\color{green}-76.3\%}$$)
tgpu_workgroupVar.ts 67.91 kB ($${\color{green}-76.3\%}$$)
tgpu_const.ts 67.33 kB ($${\color{green}-76.5\%}$$)
tgpu_lazy.ts 67.12 kB ($${\color{green}-76.6\%}$$)
tgpu_fragmentFn.ts 39.68 kB ($${\color{green}-86.2\%}$$)
tgpu_fn.ts 39.62 kB ($${\color{green}-86.2\%}$$)
tgpu_vertexFn.ts 39.50 kB ($${\color{green}-86.2\%}$$)
tgpu_computeFn.ts 39.20 kB ($${\color{green}-86.3\%}$$)
tgpu_vertexLayout.ts 28.33 kB ($${\color{green}-90.1\%}$$)
tgpu_comptime.ts 15.93 kB ($${\color{green}-94.4\%}$$)
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.

@cieplypolar
cieplypolar force-pushed the impr/computed-properties branch 3 times, most recently from 952c6fd to e01bf20 Compare August 19, 2026 10:47
@cieplypolar
cieplypolar force-pushed the impr/computed-properties branch from 038f623 to 6cd959d Compare August 20, 2026 10:12
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