This sounds reasonable if you're using SVG transforms for zooming and
panning. Otherwise, you could just apply your transformation to all
elements in JavaScript, and keep the circle radii constant.
If you're using SVG's scale transform, you might find this Poincaré Disc
example useful. It compensates for super-thick strokes by modifying the
stroke-width style to maintain a constant resultant stroke width:
http://www.jasondavies.com/poincare-disc/
The code is quite short, see the redraw function for the zoom handler:
http://www.jasondavies.com/poincare-disc/poincare-disc.js
Cheers,
--
Jason Davies, http://www.jasondavies.com/