Como posso implementar o efeito de traçado de deslocamento no SVG sem usar filtros Javascript ou dilate / erode?

Eu tenho um projeto de longo prazo: uma ferramenta gráfica vetorial básica que roda no navegador e usa SVG e Javascript (talvez você tenha visto alguma dessas coisas em outro lugar). A ferramenta tem apenas um conjunto muito limitado de funções, porque o público é restrito e o propósito é muito específico e, de fato, não é permitido que haja outra funcionalidade além daquilo que é explicitamente permitido (você sabe). Uma característica perdida é a erosão (também conhecida como inset ou thin) e os polígonos de dilatação (início, engrossar, bolden) e outros elementos gráficos.

Eu usei o efeito de traçado de deslocamento do Adobe Illustrator muitas vezes e, com ele, posso facilmente fazer cópias de objetos gráficos que são mais finos ou espessos, sem afetar o objeto original, o que pode ser praticamente o que for suportado pelo programa.

Eu tentei obter a mesma funcionalidade para funcionar no SVG, mas sem sucesso.

Eu tentei o seguinte:
- dilatar e erodir os filtros, mas com resultados não satisfatórios (por favor veja a imagem aqui)
- Biblioteca Shapely do Python do lado do servidor, mas essa solução alternativa é muito lenta e permite inserir ou criar apenas os polígonos básicos (descrição aqui)
- para encontrar biblioteca javascript / código / função, o que poderia alterar os dados do caminho de elementos gráficos, mas não encontrou nada para javascript

Então, há alguma maneira significativa de implementar isso como Offset Path Effect e como?

questionAnswers(1)

yourAnswerToTheQuestion