Week 2: End-to-End Discovery

Summary

Date: 2020-03-22 to 2020-03-28

  • Limitations discovered around:

    • winit event loop and WASM event loop requirements.
    • Web worker threading requirements.
    • Audio loading requirements.
    • Texture loading requirements.
  • Assets load from HTTP source using XHRs.

RepositoryCommit Range
pong_wasm3bcf94de^..de355df6
amethyst65a1e27a^..1d491d18
rendye1e03fee^..4de9ca2a
winit (fork)8595aec7^..9827b34a
gfx-rs (fork)a9a4419d^..672f551a
web_worker892abf29^..2b78b6ca

End Result

Implementation

  1. Clean up web_worker repository.

    • Move jojolepro/web_worker to amethyst/web_worker
    • Allow constructing thread pool without JavaScript (workers still need worker.js to run).
  2. Get dispatcher to execute serially – "no-parallel". (amethyst#2177, amethyst#2189, amethyst#2191)

  3. Assets load from server via XmlHttpRequests. (amethyst#2180)

  4. Get GL to render correctly. (amethyst#2198)

  5. Update pong_wasm to run. (pong_wasm#3bcf94d)