remote-canvas 1.0.4

An adapter for Browser-based canvas implementations into a Rust application at scale.
Documentation

Remote Canvas

An adapter for Browser-based canvas implementations into a Rust application at scale.

Goals

  • Provide a scalable way to use a browser-based Canvas implementation in Rust applications.
  • Take advantage of multiple browsers at the same time
  • Provide a nearly-identical API to 2D context rendering.

Future Goals

  • Provide a nearly-identical API to WebGL context rendering.
  • Integrate with local Chrome install or a Docker cluster of Chrome containers in order to provide a connected browser on demand.

Limitations

  • A browser may disappear at any time which will destroy all attached Canvas' at the API level. It is up to the end user to restart their context.
    • This is intentional as, while tracking the context transactionally to restart it is relatively easy, it may have significant performance issues.
  • Unless load is sufficiently high, only one browser will be used.
    • This is due to the use of async_std's MPMC channel versus a proper load balancing solution.
    • A long term solution may be a load balance job.
  • No browser authentication