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

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

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

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

Я пробовал следующее:
- расширять и разрушать фильтры, но с неудовлетворительными результатами (пожалуйста, смотрите изображение здесь)
- Библиотека Shapely на стороне сервера Python, но этот обходной путь слишком медленный и позволяет вставлять или отбрасывать только основные полигоны (описание здесь)
- найти библиотеку javascript / код / функцию, которая могла бы изменить данные пути графических элементов, но ничего не нашла для javascript

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

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

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