Как я могу реализовать эффект смещения пути в SVG без использования Javascript или расширенных / размытых фильтров?

У меня есть давний проект: базовый инструмент векторной графики, который работает в браузере и использует SVG и Javascript (возможно, вы видели что-то подобное в других местах). Инструмент имеет только очень ограниченный набор функций, потому что аудитория ограничена, и цель очень специфична, и на самом деле не разрешается использовать другие функции, кроме тех, которые разрешены явно (вы знаете). Одной из пропущенных особенностей является размывание (также называемое врезкой или утончением) и расширение (начальная, утолщенная, жирная) многоугольников и других графических элементов.

Я использовал Adobe Illustrator 's Эффект смещения пути много раз, и с его помощью я могу легко делать копии графических объектов, которые прореживаются или утолщаются, не затрагивая исходный объект, что, следовательно, может быть практически любым, поддерживаемым программой.

Я пытался заставить ту же функциональность работать в SVG, но безуспешно.

Я пробовал следующее:

- расширять и разрушать фильтры, но с неудовлетворительными результатами (пожалуйста, смотрите изображение здесь)

- серверный Python 'Библиотека Shapely, но этот обходной путь слишком медленный и позволяет вставлять или выводить только базовые полигоны (описание тут)

- найти библиотеку javascript / код / функцию, которая могла бы изменить данные пути графических элементов, но ничего не нашла для javascript

Так есть ли какой-то осмысленный способ реализовать это, как эффект смещения пути и как?

Ответы на вопрос(1)

Ваш ответ на вопрос