fix: viewport.scale used to calculate the size & position of the particles
feat: particle origin offset