I've been hoping someone would resurrect this project, especially given that Typescript and Go (wasm) are both much better options for implementing it.

On Thu, Apr 18, 2019 at 8:25 AM Skip Tavakkolian <skip.tavakkolian@gmail.com> wrote:
This might be a good place to start:

https://bitbucket.org/dhoskin/9webdraw/src/default/

On Thu, Apr 18, 2019 at 7:36 AM Chris McGee <newton688@gmail.com> wrote:
Hi All,

I'm looking at creating an alternate filesystem for /dev/draw, /dev/mouse and /dev/kbd that hooks up to a web server providing HTML interfaces (e.g. canvas) for Plan 9 UI. I've been reading over the manual pages, which are quite detailed, which is great, but there are some points of confusion for me.

In particular, /dev/draw's interface and documentation keep referring to the concept of a "window" indirectly. It seems that in some cases the server providing /dev/draw needs to track windows and refresh them. But, what defines a window in this protocol? Is every image a window or only some of them?

Also, I'm trying to understand how off-screen images, such as fonts are loaded. It seems that every image must be associated with a screen and be given a position within the screen. So, how do you prevent the image from being visible to the user?

Hopefully, if I can understand some of the high-level concepts here then the manual page will be all that I need. Does anyone have experience with this area or could point me to information that might help clarify it?

My next step will probably be to figure out how libmemdraw does all of this on top of a frame buffer.

Thanks,
Chris