Webassembly build

As mentioned, I would like to create a webassembly build for it. Background is, that we have restricted computer policies + with webassembly we are running in a sandboxed system. Also easier integrate able into our web application.

I would prefer having a 1:1 feature complete build, but ghutchis mentioned that he might wants different features for this port.

This thread is for deeper discussion, feel free to add wishes / requirements here before I would start porting it.

Thanks for the suggestion and offer - I’m very curious to see how a WebAssembly port would work. I think I have two concerns as far as WebAssembly:

  • it’ll need to be fairly modular because the underlying codebase is modular - and some plugins may not map well into a web view (e.g., auto-opt and some other features use threading)
  • the current design (esp. the edit tool) assume mouse use and I’d guess a WebAssembly port will get interest in e.g. tablet use in which touch gestures are much less accurate

But the best way to know is to give it a try and see what breaks.

Can you tell me a bit more about integrating into your web application? What do you have in mind?

Hello Prof. Hutchison,

I’ve used claude code for evaluation, seems to work pretty well in the browser.
(Needs to compile the dependencies to webassembly, e.g. core libs, then the application can be compiled. Python can also run in browser, but not with pip install)

I could open a PR, but I saw your no AI policy - so I would like to mark it as experimental AI solution.

Benefit would be, no installation needed anymore - as it runs in a sandbox in the browser.
(Could get just linked on github “Run App” → app opens in new browser tab → works)

Regarding the Touch Devices, Mac/Windows/Linux have the same scope, as touch devices exist.
=> I would keep it separate.

It’s not strictly a “no AI policy” - it’s a “any AI output needs critical evaluation by humans.”

Please open a PR - I’m guessing it’s mostly in the CMake files?