I noticed you merged the darwin branch into main branch.
On latest main branch , darwin is broken.
apple@x-MacBook-Pro-2 gio-windowing % go build .
apple@x-MacBook-Pro-2 gio-windowing % ls
gio-windowing main.go shader.wgsl surface_android.go surface_darwin.go surface_linux.go surface_windows.go
apple@x-MacBook-Pro-2 gio-windowing % ./gio-windowing
panic: TODO
goroutine 19 [running]:
main.getSurfaceDescriptor(...)
/Users/apple/workspace/go/src/github.com/rajveermalviya/go-webgpu/examples/gio-windowing/surface_darwin.go:11
main.loop.func1()
/Users/apple/workspace/go/src/github.com/rajveermalviya/go-webgpu/examples/gio-windowing/main.go:70 +0x27
sync.(*Once).doSlow(0x0?, 0xc000038480?)
/usr/local/opt/go/libexec/src/sync/once.go:68 +0xc2
sync.(*Once).Do(...)
/usr/local/opt/go/libexec/src/sync/once.go:59
main.loop(0xc000070000)
/Users/apple/workspace/go/src/github.com/rajveermalviya/go-webgpu/examples/gio-windowing/main.go:69 +0x6d2
main.main.func1()
/Users/apple/workspace/go/src/github.com/rajveermalviya/go-webgpu/examples/gio-windowing/main.go:44 +0x77
created by main.main
/Users/apple/workspace/go/src/github.com/rajveermalviya/go-webgpu/examples/gio-windowing/main.go:42 +0x25
apple@x-MacBook-Pro-2 gio-windowing %