Apart from the headache-inducing issue of calculating the geometry of the edege of the visible curved surface of a rotated cyclinder, most of the difficulty has been managing the animations and events. In particular it appears that an active animation cannot be stopped and deleted or restarted without invoking any associated onend event. The temporary solution, of dubious robustness, uses a global flag to suppress subsequent event propagation.