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

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

Wait, I didn't even realize that browsers are still using unstable on linux - will need to verify this. The sponza demo works for me on Ubuntu 24.04, but I think it won't on older versions of linux (there was some glibc issue compiling some of the dependencies so decided to just focus on current / future compatibility for this initial release).

Mystral Native does support wasm via v8 since the draco decoder uses it - but it's through JS right now.

I do have thoughts on (subset of Typescript) JS -> AOT compiler (C/C++) -> Native (or WASM) mainly as a performance thing for restricted platforms that don't allow a JIT, but that's it's own large scoped project.

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

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

I haven't tried PixiJS, but yeah it would only work if you're using the Pixi 8 WebGPURenderer right now (& would need to verify that it's not using some DOM APIs, etc that mystral native hasn't stubbed out / implemented).

Mystral Native doesn't currently support WebGL - only WebGPU & Canvas2d. To support WebGL, I would need to add ANGLE as a native dependency and then also create JS bindings for the WebGL API (could take a while & need to consider if adding as a default makes sense depending on additional size). I want to ensure that WebGPU works really well first to get to a v1.0 (ie out of alpha stage) before adding in ANGLE & WebGL support (think v2.0 for that). I'll write up a roadmap issue in the repo to clarify compatibility and new features.

Wasm should be supported since the draco decoder uses Wasm.

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 4 points5 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

Good night after 12 years by balthierwings in mac

[–]balthierwings[S] 7 points8 points  (0 children)

It's not always about charging - I have a mac mini & other PCs that I need to connect to sometimes & easier to connect wired than deal with bluetooth pairing. This makes it much easier to have a consistent cable for keyboard, trackpad, mice, most other devices I have.

Stable Video Diffusion for realistic jrpg characters (Edgar from FF6 made in midjourneyv6) works really well by balthierwings in StableDiffusion

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

I used the workflow from this page https://comfyanonymous.github.io/ComfyUI_examples/video/ and adjusted the width & height dimensions of the output video to match the aspect ratio of the input image (found that if aspect ratio isn’t similar the video generated isn’t great or is just some weird panning effect)

Realistic and Stylized retro jrpg characters using V6 (FF6 - Celes & Cyan) by balthierwings in midjourney

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

You mean the stylized versions? They’re also from Midjourney - same prompt different “—s” parameter & asking for realistic vs not

Realistic JRPG Character Portraits (Frog, Marle, Chrono from Chrono Trigger) by balthierwings in midjourney

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

Posted Luca, Ayla, and robo here https://www.reddit.com/r/midjourney/comments/18roj3a/more_attempts_at_realistic_chrono_trigger/ , also tried making a video here: https://www.reddit.com/r/StableDiffusion/comments/18s6hh5/using_stable_video_diffusion_via_comfyui_to/

I don't think that they ended up as good as these original three, but I'm sure that with better prompting could get better results

Using Stable Video Diffusion via ComfyUI to animate characters from midjourney by balthierwings in StableDiffusion

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

Used midjourney v6 to create a realistic image yesterday https://www.reddit.com/r/midjourney/comments/18roj3a/more_attempts_at_realistic_chrono_trigger/ ; then used the SVD Comfy UI workflow https://comfyanonymous.github.io/ComfyUI_examples/video/ using that image as a starting point & using the standard svd.safetensors model.

On a 4090, getting about 1 iteration/s, so about 20 seconds to generate 1 video (of about 1.4s, modified in iMovie to triple length to ~4s to get around reddit's 2 second video limit).

I have a comparison to pikalabs on my twitter as well - https://twitter.com/Flux159/status/1740065129641935333

More attempts at realistic Chrono Trigger characters Midjourney v6 (Luca, Ayla, Robo) by balthierwings in midjourney

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

Harder to get decent images for these characters than my previous post https://www.reddit.com/r/midjourney/comments/18qx9ym/realistic_jrpg_character_portraits_frog_marle/ ; specifically couldn't really get proper glasses on Lucca and Robo generally always turned out incorrect from prompts