impr(@typegpu/cli): Waku template#2599
Conversation
|
pkg.pr.new packages benchmark commit |
Bundle size comparison (
|
| 🟢 Decreased | ➖ Unchanged | 🔴 Increased | ❔ Unknown |
|---|---|---|---|
| 0 | 321 | 0 | 0 |
import { ... } in PR vs import * as ... in PR (is the library tree-Shakeable?):
| Test | tsdown |
|---|---|
| tgpu_init.ts | 256.14 kB ( |
| tgpu_initFromDevice.ts | 255.63 kB ( |
| tgpu_resolve.ts | 161.62 kB ( |
| tgpu_resolveWithContext.ts | 161.55 kB ( |
| tgpu_bindGroupLayout.ts | 68.88 kB ( |
| tgpu_mutableAccessor.ts | 65.83 kB ( |
| tgpu_accessor.ts | 65.81 kB ( |
| tgpu_privateVar.ts | 65.23 kB ( |
| tgpu_workgroupVar.ts | 65.23 kB ( |
| tgpu_const.ts | 64.48 kB ( |
| tgpu_fn.ts | 38.07 kB ( |
| tgpu_fragmentFn.ts | 37.97 kB ( |
| tgpu_vertexFn.ts | 37.78 kB ( |
| tgpu_computeFn.ts | 37.49 kB ( |
| tgpu_vertexLayout.ts | 26.62 kB ( |
| tgpu_comptime.ts | 14.42 kB ( |
| tgpu_unroll.ts | 2.59 kB ( |
| tgpu_slot.ts | 1.54 kB ( |
| tgpu_lazy.ts | 1.19 kB ( |
If you wish to run a comparison for other, slower bundlers, run the 'Tree-shake test' from the GitHub Actions menu.
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.91, 1.94, 4.22, 6.91, 7.71, 12.27, 22.92, 26.12]
line [0.98, 2.02, 3.95, 6.81, 7.71, 11.88, 22.35, 26.57]
line [1.03, 2.03, 4.45, 7.07, 8.10, 12.40, 23.17, 24.80]
---
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.32, 0.53, 0.67, 0.90, 1.20, 1.12, 1.45, 1.56]
line [0.36, 0.56, 0.71, 0.87, 1.21, 1.28, 1.44, 1.63]
line [0.41, 0.55, 0.76, 0.94, 1.24, 1.32, 1.59, 1.70]
---
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.78, 2.16, 4.72, 7.25, 13.87, 26.93, 56.61, 114.92]
line [0.89, 2.21, 4.02, 7.05, 12.83, 27.33, 57.44, 115.08]
line [0.97, 2.18, 4.12, 6.81, 12.65, 26.94, 58.47, 119.69]
|
e108045 to
1dc6371
Compare
0828b25 to
6fbd0bb
Compare
There was a problem hiding this comment.
ℹ️ Minor suggestions inline.
Reviewed changes — adds a Waku (Bare) project template to @typegpu/cli and registers it in the template list.
- Adds
waku-baretoPROJECT_TEMPLATESinpackages/typegpu-cli/src/options.ts. - Introduces a complete
template-waku-bareproject using Waku1.0.0-beta.6, React 19, Tailwind CSS v4, and TypeGPU, with the same landing-page/shader demo used by the Next.js bare template.
Kimi K2 (free via Pullfrog for OSS) | 𝕏
There was a problem hiding this comment.
✅ No new issues found.
Reviewed changes — the follow-up commit addresses the two prior review threads by removing dead/unnecessary code from the Waku bare template.
- Removed the ignored
getConfigexport frompackages/typegpu-cli/templates/template-waku-bare/src/components/Shader.tsx. - Dropped the
@vitejs/plugin-reactdependency and its Vite plugin registration from_package.jsonandwaku.config.ts, leaving Waku to manage React/RSC transforms.
Kimi K2 (free via Pullfrog for OSS) | 𝕏
9057fd9 to
37cc512
Compare
There was a problem hiding this comment.
✅ No new issues found.
Reviewed changes — the rewritten branch still lands the Waku bare template and preserves the review fixes from the prior run. The prior Pullfrog feedback is addressed in the current state: Shader.tsx no longer exports getConfig, and @vitejs/plugin-react is absent from waku.config.ts and _package.json.
- Registered
waku-bareinpackages/typegpu-cli/src/options.ts. - Added the full
template-waku-bareproject using Waku1.0.0-beta.6, React 19, Tailwind CSS v4, and TypeGPU. - Verified the root layout metadata tags and
render: 'static'config match Waku's file-system router conventions.
Kimi K2 (free via Pullfrog for OSS) | 𝕏

Let's wait for #2588.