title: How can I implement Offset Path Effect in SVG without using Javascript or dilate/erode filters?
body: <p>I have a long time project: a basic vector graphic tool which runs in browser and uses SVG and Javascript (maybe you have seen somekind of these elsewhere). The tool has only very limited set of functions, because the audience is restricted and the purpose is very specific and in fact there are not allowed to be other functionality than what is explicitly allowed (you know). One missed feature is eroding (also known as inset or thin) and dilating (outset, thicken, bolden) polygons and other graphical elements.</p>
  
  <p>I have used Adobe Illustrator's Offset Path Effect many times and with it I can easily make copies of graphical objects that are thinned or thickened, without affecting the original object, which therefore can be nearly whatever supported by the program.</p>
  
  <p>I have tried to get the same functionality to function in SVG, but without success.</p>
  
  <p>I have tried the following:<br>
  - dilate and erode filters, but with not satisfying results (<a href="https://stackoverflow.com/questions/12702955/svg-dilate-erode-filter-vs-illustrator-offset-path">please see the image here</a>)<br>
  - Server-side Python's Shapely library, but this workaround is too slow and allows to inset or outset only the basic polygons (<a href="https://stackoverflow.com/q/12684398/1691517">description here</a>)<br>
  - to find javascript library / code / function, which could alter the path data of graphical elements, but found nothing for javascript  </p>
  
  <p>So is there any meaningful way to implement this like Offset Path Effect and how?</p>