Skip to content

Commit a245907

Browse files
authored
Create 959 - TypeScript on the GPU with TypeGPU creator Iwo Plaza.md (#2119)
1 parent 268a7bc commit a245907

1 file changed

Lines changed: 72 additions & 0 deletions

File tree

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
---
2+
number: 959
3+
title: TypeScript on the GPU with TypeGPU creator Iwo Plaza
4+
date: 1764590400000
5+
url: https://traffic.megaphone.fm/FSI5252849311.mp3
6+
youtube_url: https://www.youtube.com/watch?v=ZxPaKfRlrOE
7+
guest:
8+
name: Iwo Plaza
9+
github: iwoplaza
10+
twitter: iwoplaza
11+
of: TypeGPU
12+
url: https://docs.swmansion.com/TypeGPU/
13+
social: https://soundcloud.com/ivesiris
14+
---
15+
16+
Scott and CJ sit down live at JSNation NYC with Iwo Plaza, creator of TypeGPU, to dig into how WebGPU is unlocking a new wave of graphics and compute power on the web. They chat about shader authoring in TypeScript, the future of GPU-powered AI in the browser, and what it takes to build a killer developer-friendly graphics library.
17+
18+
### Show Notes
19+
20+
* **[00:00](#t=00:00)** Welcome to Syntax!
21+
* **[00:32](#t=00:32)** What is TypeGPU? High-level overview and why it exists
22+
* **[01:20](#t=01:20)** WebGPU vs WebGL – the new era of GPU access on the web
23+
* **[01:47](#t=01:47)** Why shader languages are hard + making them accessible
24+
* **[02:24](#t=02:24)** Iwo’s background in C++, OpenGL, and discovering JS
25+
* **[03:06](#t=03:06)** Sharing graphics work on the web vs native platforms
26+
* **[03:29](#t=03:29)** WebGPU frustrations that inspired TypeGPU
27+
* **[04:17](#t=04:17)** Making GPU–CPU data exchange easier with Zod-like schemas
28+
* **[05:01](#t=05:01)** Writing shaders in JavaScript + the unified type system
29+
* **[05:38](#t=05:38)** How the “use_gpu” directive works under the hood
30+
* **[06:05](#t=06:05)** Building a compiler that turns TypeScript into shader code
31+
* **[07:00](#t=07:00)** Type inference, primitives, structs, and TypeScript magic
32+
* **[08:21](#t=08:21)** Leveraging existing tooling via Unplugin + bundler integration
33+
* **[09:15](#t=09:15)** How TypeGPU extracts ASTs and generates TinyEST metadata
34+
* **[10:10](#t=10:10)** Runtime shader generation vs build-time macros
35+
* **[11:07](#t=11:07)** How the AST is traversed + maintaining transparency in output
36+
* **[11:43](#t=11:43)** Example projects like Jelly Shader and community reception
37+
* **[12:05](#t=12:05)** Brought to you by [Sentry.io](https://sentry.io/syntax)
38+
* **[12:30](#t=12:30)** Does TypeGPU replace 3JS? How it fits the existing ecosystem
39+
* **[13:20](#t=13:20)** Low-level control vs high-level abstractions
40+
* **[14:04](#t=14:04)** Upcoming Three.js integration – plugging TypeGPU into materials compute shaders
41+
* **[15:34](#t=15:34)** Making GPU development more approachable
42+
* **[16:26](#t=16:26)** Docs, examples, and the philosophy behind TypeGPU documentation
43+
* **[17:03](#t=17:03)** Building features by building examples first
44+
* **[18:13](#t=18:13)** Using examples as a test suite + how docs shape API design
45+
* **[19:00](#t=19:00)** Docs as a forcing function for intuitive APIs
46+
* **[20:21](#t=20:21)** GPU for AI – browser inference and future abstractions
47+
* **[21:11](#t=21:11)** How AI examples inform new libraries (noise, inference, etc.)
48+
* **[21:57](#t=21:57)** Keeping the core package small and flexible
49+
* **[22:44](#t=22:44)** Building “TypeGPU AI”-style extensions without bloating the core
50+
* **[23:07](#t=23:07)** The cost of AI examples and building everything from scratch
51+
* **[23:41](#t=23:41)** Standard library design and future of the ecosystem
52+
* **[24:04](#t=24:04)** Closing thoughts from Iwo – OSS, GPU renaissance, and encouragement
53+
* **[24:34](#t=24:34)** Sick Picks & Shameless Plugs
54+
55+
### Sick Picks
56+
57+
- Iwo: Perogies
58+
59+
### Shameless Plugs
60+
61+
- Iwo: Syntax Podcast
62+
63+
64+
### Hit us up on Socials!
65+
66+
Syntax: [X](https://twitter.com/syntaxfm) [Instagram](https://www.instagram.com/syntax_fm/) [Tiktok](https://www.tiktok.com/@syntaxfm) [LinkedIn](https://www.linkedin.com/company/96077407/admin/feed/posts/) [Threads](https://www.threads.net/@syntax_fm)
67+
68+
Wes: [X](https://twitter.com/wesbos) [Instagram](https://www.instagram.com/wesbos/) [Tiktok](https://www.tiktok.com/@wesbos) [LinkedIn](https://www.linkedin.com/in/wesbos/) [Threads](https://www.threads.net/@wesbos)
69+
70+
Scott: [X](https://twitter.com/stolinski) [Instagram](https://www.instagram.com/stolinski/) [Tiktok](https://www.tiktok.com/@stolinski) [LinkedIn](https://www.linkedin.com/in/stolinski/) [Threads](https://www.threads.net/@stolinski)
71+
72+
Randy: [X](https://twitter.com/randyrektor) [Instagram](https://www.instagram.com/randyrektor/) [YouTube](https://www.youtube.com/@randyrektor) [Threads](https://www.threads.net/@randyrektor)

0 commit comments

Comments
 (0)