On the surface, it's a fine idea, but then you quickly run into the fact that there is only one event loop so only one function can ever be running at once,
Web workers can run background parallel computations like math done while rendering.
https://medium.com/techtrument/multithreading-javascript-46156179cf9a
no matter how many cores you have. Then you get into async hell.
ES7 will have Observables built in. Use RxJS or Promises or any other package more specific to the use case to avoid this.
If you want to port it to something, I would port it to Qt so that it "just works" across the board.
Except for in browsers which is the most leverage use case for applications that want to leverage collaboration capabilities.
Also there are efforts within the Qt project to support web assembly and all that. But ripping out GTK at this point is a daunting task, but at least you can map it mostly 1-to-1 with Qt, with Qt being a toolkit with cross-platform as its stated objective.
It's old tech and the internet is not embracing it, which means it will not benefit from all the effort going into the broader ecosystem.
Cheers,
Ole
Inkscape-user mailing list Inkscape-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/inkscape-user