[later phase] Total canvas size should be dynamic based on browser viewport size