Still researching the responsive canvas topic. 
For now I’ve got this gist which attempts to adjust the current iframe element to fit document’s body size: 
And an online sketch example using that running as 2 iframes: 
https://GoSubRoutine.GitHub.io/Ball-in-the-Chamber/
And its corresponding repo too: 
2 Likes