A particle system in Typescript