udevbe / greenfield

HTML5 Wayland compositor :seedling:
GNU Affero General Public License v3.0
918 stars 28 forks source link

Use Flutter-Web as web app widget toolkit #13

Closed Zubnix closed 10 months ago

Zubnix commented 5 years ago

Currently Flutter Web uses CSS Houdini as it's paint back-end. For it to be able to run as a Greenfield web-app, we need to implement a custom renderer that can output to an array buffer or offscreen webgl canvas. The best candidate for this is CanvasKit which implements Skia in WebAssembly. The big advantage of this approach being that all mentioned drawing apis are based on the Canvas2D api + we get offscreen webgl acceleration for free.

WSLUser commented 4 years ago

Were you able to make any progress with this yet?

Zubnix commented 4 years ago

No effort in that area has been made so far, mostly due lack of time and resources. The plan still remains to have Flutter with a modified CanvasKit backend work like it is an ordinary application.

trusktr commented 4 years ago

What about using Three.js for compositing the windows? Nvm, in the other thread you're explaining the current WebGL stuff. :)

Zubnix commented 4 years ago

An intermediate step is to first get plain Skia canvaskit to work. This should be relatively straightforward. An alternative to Flutter might be to create a custom react renderer using skia canvaskit. Not sure which one is less work...

Zubnix commented 4 years ago

Custom react renderer using skia on top of webgl: https://github.com/udevbe/react-canvaskit

Zubnix commented 10 months ago

No longer relevant at this point