Broke JS out into separate file.
Object-orientised.
Further OOPing.
Fully OOPed.
Calculate original volume more sensibly.
Moved functions into ISM to pollute globals less.
Zero thickness start, etc.
Time controls!