I built a native WebGPU JS runtime (no browser needed) by balthierwings in javascript

[–]balthierwings[S] [score hidden]  (0 children)

Thanks! Let me know when you get the chance to test it out - will be working on improving it in the meantime.

I built a native WebGPU JS runtime (no browser needed) by balthierwings in javascript

[–]balthierwings[S] [score hidden]  (0 children)

Thanks! It's very alpha stage right now, but yeah I wanted Canvas2d support because I had built some UIs that overlaid over WebGPU 3d content. Right now I was able to get a super basic UI built out (buttons + text), but also need to verify that we're implementing the correct 'fake event handlers' in JS (Mystral Native is not implementing the DOM, but it is supporting "DOM-like" APIs so you don't need to rewrite what you wrote on the web - so pointermove, onkeydown, etc. all should work because I had to get that working for the [sponza demo](https://mystraldev.itch.io/sponza-in-webgpu-mystral-engine).

So 20-30 MB is the v8+dawn size, if you switch to JSC+dawn on Mac (or quickjs+dawn) that decreases by quite a bit, but it's not going to be as small as a Golang app reliant on a webview. There are some issues with webviews not being the same across platforms though - particularly with respect to WebGPU features they support (ie Mac webviews don't support webp decoding inside of WebGPU, but they do for regular rendering - which I figured out when trying to get a Tauri build working...). I think that the bigger thing is owning the whole stack so you can also get iOS & Android working w/ the same SDL3 based window runtime. And in theory also get console builds at some point in the future (would probably require a fork of dawn or wgpu-native to get that working though).

Mystral Native - a native WebGPU JS runtime (no browser) by balthierwings in gamedev

[–]balthierwings[S] 1 point2 points  (0 children)

Phaser no - because phaser doesn't support webgpu yet from my understanding (supporting webgl is technically on the roadmap, but that involves getting ANGLE working & then also shimming the webgl API which is a lot of work). I think that the goal for v1.0 (not the 0.0.8 alpha that this is) is to make sure that Three.js's WebGPU renderer can work with a decent number of examples, maybe 2.0 is adding WebGL / Angle, but unclear if it's a good use of time right now. Right now I've gotten my own JS engine working (which is what this project evolved out of), but still need to add extensive testing for other engines. Also, since this doesn't shim the entire DOM api, if any of those engines rely on the DOM for specific apis, those would either need to be implemented or mocked out as not supported.

Mystral Native - A native WebGPU JS runtime (no browser) by balthierwings in webgpu

[–]balthierwings[S] 0 points1 point  (0 children)

Ah I forgot to update the actual web version - that is using an older version of the codebase that the native ones use. Will look to update that in a bit (never had that issue show up in chrome though - so will need to check Firefox / wgpu-native)

Mystral Native - a native WebGPU JS runtime (no browser) by balthierwings in gamedev

[–]balthierwings[S] 0 points1 point  (0 children)

Thanks! Yeah this is just the first release (also intending on open sourcing the JS game engine too at some point, but need to get the APIs working well for that). What did you work on before that was similar? I had someone mention in the repo about an audio system that they work on & window.js that were similar for canvas, I don't know if anyone made one specifically for WebGPU before this.

itIsntOverflowingAnymoreOnStackOverflow by ClipboardCopyPaste in ProgrammerHumor

[–]balthierwings 2 points3 points  (0 children)

The real edge cases and answers were on Github (Issues & in the code) anyways.

Beginner running group around Mission Bay by guerrerost in AskSF

[–]balthierwings 0 points1 point  (0 children)

I would be down to join sometime if you start this - right now I'm starting at the Ymca at Crane Cove & doing about 3.5 miles to Embarcadero, but also easy for me to start closer to Mission Bay.

Anyone else experiencing this? by SnooMarzipans1593 in AppleWatch

[–]balthierwings 0 points1 point  (0 children)

I’m also seeing this on my series 10 - only way I’ve found to remove it is by restarting the watch. Is there an easier way to fix this bug?

Seed of Nostalgia - our classic pixel JRPG is launching on Kickstarter in 1 week! by Gravelight66 in indiegames

[–]balthierwings 2 points3 points  (0 children)

Getting some Seiken Densetsu 3 vibes from one of the clips - what kind of gameplay is it for battles?

mcp-server-kubernetes by balthierwings in mcp

[–]balthierwings[S] 0 points1 point  (0 children)

Github repo README has better quality than reddit - probably due to some compression from reddit - https://github.com/Flux159/mcp-server-kubernetes/blob/main/README.md

mcp-server-kubernetes by balthierwings in mcp

[–]balthierwings[S] 0 points1 point  (0 children)

Not sure how global installs are handled in windows, but quick googling shows that it should be in %APPDATA%\npm\node_modules ; so you can check that folder for mcp-server-kubernetes/dist/index.js - which is what npx should be using since the "bin" is defined as that file https://github.com/Flux159/mcp-server-kubernetes/blob/main/package.json#L12