#баг дня
От подписчика в @htmlshitchat:
В мобильном сафари есть бага с залупленными видео: при проигрывании видео нажимаешь кнопку выбора вкладок, ждешь время для окончания одного цикла проигрывания, возвращаешься на табу и видео заморожено на 0 кадре. Хотят статус у него paused = false.
Проще всего проверять на коротких видео: https://codepen.io/mdss/pen/OJeVbRP
Репродюс: открываешь ссылку, ждешь начала видео. Жмешь кнопку выбора вкладки, ждешь 6 секунд, возвращаешься
Я для себя выявил два способа лечения, одно с подпиской на timeupdate (что дорогое решение), а второе это на подписку фокуса окна. Только нюанс в том, что надо не просто заново тригернуть метод play, а еще перед ним pause.
От автора канала:
На iPhone 14 Pro и iOS 17.5.1 трюк с вкладками к багу не приводит. А вот переключение между приложениями и такое же ожидание полного цикла видео — да.
Делитесь вашими результатами. А мы пока попробуем найти ишью в багтрекере.
От подписчика в @htmlshitchat:
В мобильном сафари есть бага с залупленными видео: при проигрывании видео нажимаешь кнопку выбора вкладок, ждешь время для окончания одного цикла проигрывания, возвращаешься на табу и видео заморожено на 0 кадре. Хотят статус у него paused = false.
Проще всего проверять на коротких видео: https://codepen.io/mdss/pen/OJeVbRP
Репродюс: открываешь ссылку, ждешь начала видео. Жмешь кнопку выбора вкладки, ждешь 6 секунд, возвращаешься
Я для себя выявил два способа лечения, одно с подпиской на timeupdate (что дорогое решение), а второе это на подписку фокуса окна. Только нюанс в том, что надо не просто заново тригернуть метод play, а еще перед ним pause.
От автора канала:
На iPhone 14 Pro и iOS 17.5.1 трюк с вкладками к багу не приводит. А вот переключение между приложениями и такое же ожидание полного цикла видео — да.
Делитесь вашими результатами. А мы пока попробуем найти ишью в багтрекере.
codepen.io
OJeVbRP
...
👍7
#инструмент дня
Понадобилось мне дать отделу маркетинга возможность удобно просмотреть и проанализировать некоторые внутренние JSON-файлы, используемые для доставки контента. Естественно, захотелось как-то облегчить всем жизнь и постараться доступно показать содержимое жисона. Простого форматтера было явно недостаточно.
Оказалось, изобретать ничего не нужно — уже есть https://jsonhero.io/
Сгруппирует по категориям, покажет связанное, отобразит картинку.
Удобно.
#json #viewer #бородач
Понадобилось мне дать отделу маркетинга возможность удобно просмотреть и проанализировать некоторые внутренние JSON-файлы, используемые для доставки контента. Естественно, захотелось как-то облегчить всем жизнь и постараться доступно показать содержимое жисона. Простого форматтера было явно недостаточно.
Оказалось, изобретать ничего не нужно — уже есть https://jsonhero.io/
Сгруппирует по категориям, покажет связанное, отобразит картинку.
Удобно.
#json #viewer #бородач
👍17❤3🤩1
#заметка дня
Недавно я читал обзор автомобиля и автор, в лучших традициях, решил запихать в статью огромную таблицу.
Таблица находилась в выделенном контейнере и приводила к появлению горизонтального скролла в нём. Мне пришлось тянуться к мыши, зажимать Shift чтобы скроллить горизонтально… Какая прелесть.
И вот тут ты понимаешь, с какими неожиданными проблемами могут столкнуться люди, ограниченные в движениях. А я всего лишь пил чай!
Решение же на самом деле до безумия простое: tabindex=“0” на контейнер и дело в шляпе. Это позволит пользователю установить фокус на желаемый блок и скроллить стрелками.
По пути, раз уж пошло дело, стоит установить стили фокуса и атрибуты role и aria-labelledby для соответствия Web Content Accessibility Guidelines.
Документ здоровый, но для практического применения нужны лишь несколько пунктов: «2.1.1 Keyboard», «4.1.2 Name, Role, Value», «1.4.10 Reflow», «2.4.7 Focus Visible».
Названия разделов говорят сами за себя: установите возможность клавиатурного фокуса, не забыв дать визуальную подсказку, и предотвратите скролл всей страницы целиком.
В общем, не ленитесь. Дайте людям возможность прочитать статью так, как удобно им. Особенно когда это ничего вам не стоит 😉
Ну и повторю решение: https://codepen.io/alinaki/pen/xxgpmeZ
#css #table #keyboard #focus #a11y #бородач
Недавно я читал обзор автомобиля и автор, в лучших традициях, решил запихать в статью огромную таблицу.
Таблица находилась в выделенном контейнере и приводила к появлению горизонтального скролла в нём. Мне пришлось тянуться к мыши, зажимать Shift чтобы скроллить горизонтально… Какая прелесть.
И вот тут ты понимаешь, с какими неожиданными проблемами могут столкнуться люди, ограниченные в движениях. А я всего лишь пил чай!
Решение же на самом деле до безумия простое: tabindex=“0” на контейнер и дело в шляпе. Это позволит пользователю установить фокус на желаемый блок и скроллить стрелками.
По пути, раз уж пошло дело, стоит установить стили фокуса и атрибуты role и aria-labelledby для соответствия Web Content Accessibility Guidelines.
Документ здоровый, но для практического применения нужны лишь несколько пунктов: «2.1.1 Keyboard», «4.1.2 Name, Role, Value», «1.4.10 Reflow», «2.4.7 Focus Visible».
Названия разделов говорят сами за себя: установите возможность клавиатурного фокуса, не забыв дать визуальную подсказку, и предотвратите скролл всей страницы целиком.
В общем, не ленитесь. Дайте людям возможность прочитать статью так, как удобно им. Особенно когда это ничего вам не стоит 😉
Ну и повторю решение: https://codepen.io/alinaki/pen/xxgpmeZ
#css #table #keyboard #focus #a11y #бородач
codepen.io
Proper a11y table
...
❤11
#инструмент дня
А есть ли среди моих подписчиков школьники и студенты/аспиранты? Потому что то, что я нашёл, очень может пригодиться при подготовке различного рода рефератов, презентаций и научных работ.
И это — кто бы мог подумать, моя любимая тема — снова DSL для представления диаграмм! Но на сей раз, всяческого рода научных, от простых блок-схем до описания векторных полей и молекул!
Ну вот буквально, молекула на иллюстрации описывается простыми конструкциями вроде:
...и так далее. Прелестно же!
Короче, называется это всё Penrose: https://penrose.cs.cmu.edu/
Работает полностью в браузере, написано на TypeScript и открыто. Естественно есть биндинги к React.
Всем науки, котаны!
#dsl #diagram #science #бородач
А есть ли среди моих подписчиков школьники и студенты/аспиранты? Потому что то, что я нашёл, очень может пригодиться при подготовке различного рода рефератов, презентаций и научных работ.
И это — кто бы мог подумать, моя любимая тема — снова DSL для представления диаграмм! Но на сей раз, всяческого рода научных, от простых блок-схем до описания векторных полей и молекул!
Ну вот буквально, молекула на иллюстрации описывается простыми конструкциями вроде:
SingleBond(N2, C4)
SingleBond(C4, C5)
DoubleBond(C5, C6)
...и так далее. Прелестно же!
Короче, называется это всё Penrose: https://penrose.cs.cmu.edu/
Работает полностью в браузере, написано на TypeScript и открыто. Естественно есть биндинги к React.
Всем науки, котаны!
#dsl #diagram #science #бородач
👍11
This media is not supported in your browser
VIEW IN TELEGRAM
#фишка дня
Как анимировать элемент по клику на чистом CSS?
Ведь псевдокласс
Например, как сделать эффект «копирования» текста, как на видео? Совсем неохота навешивать что-то ещё на
Ответ на самом деле не столь очевиден, как может показаться. И имя ему
Схема работы проста. Навесили конечное состояние перехода на неактивное состояние, а на активное — установили начальное.
Выглядит в итоге как-то так:
https://codepen.io/alinaki/pen/wvEdaWG
И никакого жонглирования классами не надо.
#css #active #click #animation #бородач
Как анимировать элемент по клику на чистом CSS?
Ведь псевдокласс
:active
даётся ровно в тот момент, когда ты нажимаешь кнопку мыши и тут же пропадает, как кнопка была отжата.Например, как сделать эффект «копирования» текста, как на видео? Совсем неохота навешивать что-то ещё на
onmousedown
и onmouseup
...Ответ на самом деле не столь очевиден, как может показаться. И имя ему
:not(:active)
.Схема работы проста. Навесили конечное состояние перехода на неактивное состояние, а на активное — установили начальное.
Выглядит в итоге как-то так:
https://codepen.io/alinaki/pen/wvEdaWG
И никакого жонглирования классами не надо.
#css #active #click #animation #бородач
👍31❤4
#заметка дня
Часто приходится делать таблицы в GitHub Markdown? Тогда лови это знание, пригодится.
Списки и контейнеры не могут и не должны отображаться внутри таблиц, набранных "палочками" (||). Палочки — только для текстового контента, для данных. Точка.
Нужен табличный, кхрм, макет (ну список изменений там запихать) – используй HTML таблицы.
Но есть нюанс.
Чтобы правильно использовать Markdown внутри HTML-таблиц, нужно этот самый контент с двух сторон обложить переводами строки, вот так:
...и будет норм.
#markdown #бородач
Часто приходится делать таблицы в GitHub Markdown? Тогда лови это знание, пригодится.
Списки и контейнеры не могут и не должны отображаться внутри таблиц, набранных "палочками" (||). Палочки — только для текстового контента, для данных. Точка.
Нужен табличный, кхрм, макет (ну список изменений там запихать) – используй HTML таблицы.
Но есть нюанс.
Чтобы правильно использовать Markdown внутри HTML-таблиц, нужно этот самый контент с двух сторон обложить переводами строки, вот так:
<td>
_markdown_ **тут**
</td>
...и будет норм.
#markdown #бородач
👍13❤1
Прошло почти два года. И вы не представляете, на theguardian.com даже после редизайна и перехода на гибридный режим сайта (классический рендеринг плюс SSR), у них всё тот же фронтендер-веган!
Ну или новый. Неважно. Их сейчас много развелось.
Это ли не упорство в работе? :)
Ну или новый. Неважно. Их сейчас много развелось.
<label id="veggie-burger"
aria-label="Toggle main menu" for=
"top-nav-input-checkbox" data-link-name=
"nav3 : veggie-burger : show" tabindex="0" role=
"button" data-testid="
" class=
"dcr-w5ozf4"><span class="dcr-1nvgr5i">Show
More</span></label>
Это ли не упорство в работе? :)
🤩7
#инструмент дня
Как потырить понравившуюся SVG с сайта в учебных, конечно же, целях?
Поставить себе SVG Gobbler!
https://www.svggobbler.com/
Скачать, оптимизировать, посмотреть код — без лишних действий.
#svg #extension #бородач
Как потырить понравившуюся SVG с сайта в учебных, конечно же, целях?
Поставить себе SVG Gobbler!
https://www.svggobbler.com/
Скачать, оптимизировать, посмотреть код — без лишних действий.
#svg #extension #бородач
👍10❤2
Forwarded from Виктор Анферов
На сайте рекомендуют только Chrome, но на самом деле такое-же расширение есть и для Firefox
https://addons.mozilla.org/en-US/firefox/addon/svg-gobbler/
https://addons.mozilla.org/en-US/firefox/addon/svg-gobbler/
addons.mozilla.org
SVG Gobbler – Get this Extension for 🦊 Firefox (en-US)
Download SVG Gobbler for Firefox. Open source browser extension for finding, editing, exporting, optimizing, and managing SVG content.
👍8
This media is not supported in your browser
VIEW IN TELEGRAM
#ссылка дня
Сегодня я подобрал максимально красивый ресурс: набор демок на WebGL: https://ykob.github.io/sketch-threejs/
Эффекты глитча, игры с частицами, огонь, солнце, вода! Огонь, кстати, выглядит пугающе натурально.
Все примеры с исходными кодами, есть и весьма практичные, вроде галереи.
#js #webgl #бородач
Сегодня я подобрал максимально красивый ресурс: набор демок на WebGL: https://ykob.github.io/sketch-threejs/
Эффекты глитча, игры с частицами, огонь, солнце, вода! Огонь, кстати, выглядит пугающе натурально.
Все примеры с исходными кодами, есть и весьма практичные, вроде галереи.
#js #webgl #бородач
🤩10
Media is too big
VIEW IN TELEGRAM
#статья дня
Не так давно в чате канала проскочил вопрос, как правильно делать контейнеры, которые могут вылезать за визуальные границы.
Например, основной контент находится посредине и занимает в ширину 80-120 приятных для чтения глазу символов, а вот картинки хотелось бы разнести до краёв.
Техника называется full bleed. Я не знаю, как точно перевести.
Если посмотрите видео, то виден ещё один вариант использования, когда галерея выходит за пределы экрана лишь с одной стороны, но дальше тем не менее границы игнорирует.
Вот так: https://codepen.io/hexagoncircle/pen/gOWjwme
Альтернативный вариант: https://codepen.io/maartenbruggink/full/eYWjxae
Раньше такое делалось жонглированием полями, теперь же у нас есть гриды.
И у небезызвестного Джоша Комо есть статья как раз об этом: https://www.joshwcomeau.com/css/full-bleed/
Тем не менее, я рекомендую посмотреть приложенные кодпены, поскольку в них зоны грида именуются и становится понятнее, что к чему.
Всем full bleed, котаны!
#css #fullbleed #gallery #бородач
Не так давно в чате канала проскочил вопрос, как правильно делать контейнеры, которые могут вылезать за визуальные границы.
Например, основной контент находится посредине и занимает в ширину 80-120 приятных для чтения глазу символов, а вот картинки хотелось бы разнести до краёв.
Техника называется full bleed. Я не знаю, как точно перевести.
Если посмотрите видео, то виден ещё один вариант использования, когда галерея выходит за пределы экрана лишь с одной стороны, но дальше тем не менее границы игнорирует.
Вот так: https://codepen.io/hexagoncircle/pen/gOWjwme
Альтернативный вариант: https://codepen.io/maartenbruggink/full/eYWjxae
Раньше такое делалось жонглированием полями, теперь же у нас есть гриды.
И у небезызвестного Джоша Комо есть статья как раз об этом: https://www.joshwcomeau.com/css/full-bleed/
Тем не менее, я рекомендую посмотреть приложенные кодпены, поскольку в них зоны грида именуются и становится понятнее, что к чему.
Всем full bleed, котаны!
#css #fullbleed #gallery #бородач
❤23👍9
#такое дня
Если вы не знали или не понимали, что такое "секрет Полишинеля", я вам сейчас всё объясню.
Тут выяснилось, что в браузерах на основе движка Blink (Chrome, Brave, Edge, Яндекс.Браузер сами проверите) есть специальное скрытое расширение, которое предоставляет сайтам Google данные о нагрузке на компьютер по каждой вкладке отдельно.
То есть, если Google определяет, что звонок в Meet слишком нагружает систему, он может что-то с этим сделать, ухудшить качество видео или, наоборот, улучшить, если есть запас.
Казалось бы, ну и что такого? А то, что конкурентам подобное недоступно. Тот же Zoom потребует дополнительных телодвижений.
ID расширения: nkeimhogjdpnpccoofpliimaahmaaome
Название: hangout_services.
Предоставляемые дополнением данные отображаются в сервисе meet.google.com в панели "Troubleshooting".
Ну что, это уже недобросовестная конкуренция, или так и надо? :)
#google #chrome
Если вы не знали или не понимали, что такое "секрет Полишинеля", я вам сейчас всё объясню.
Тут выяснилось, что в браузерах на основе движка Blink (Chrome, Brave, Edge, Яндекс.Браузер сами проверите) есть специальное скрытое расширение, которое предоставляет сайтам Google данные о нагрузке на компьютер по каждой вкладке отдельно.
То есть, если Google определяет, что звонок в Meet слишком нагружает систему, он может что-то с этим сделать, ухудшить качество видео или, наоборот, улучшить, если есть запас.
Казалось бы, ну и что такого? А то, что конкурентам подобное недоступно. Тот же Zoom потребует дополнительных телодвижений.
ID расширения: nkeimhogjdpnpccoofpliimaahmaaome
Название: hangout_services.
Предоставляемые дополнением данные отображаются в сервисе meet.google.com в панели "Troubleshooting".
Ну что, это уже недобросовестная конкуренция, или так и надо? :)
#google #chrome
👍11🤩3🤬2
#расширение дня
Ну что, мы с вами уже наворовали SVG со всего интернета, пришло время воровать кнопки!
Видимо, так подумал Анатолий Зенков, создавая своё расширение с незамысловатым названием Button Stealer.
Механизм работы похож на игры без игрового процесса: просто ходите по сайтам, а коллекция сворованных кнопок автоматически пополняется.
Покажи мне свои кнопки и я скажу, кто ты.
#chrome #button #stealer
Ну что, мы с вами уже наворовали SVG со всего интернета, пришло время воровать кнопки!
Видимо, так подумал Анатолий Зенков, создавая своё расширение с незамысловатым названием Button Stealer.
Механизм работы похож на игры без игрового процесса: просто ходите по сайтам, а коллекция сворованных кнопок автоматически пополняется.
Покажи мне свои кнопки и я скажу, кто ты.
#chrome #button #stealer
🤩19❤4👍1
#статья дня
Итак. Я когда-то вам разгонял про фреймворк RICE. И нет, это не про джаббаскрипт, это про работу. Как сортировать задачи, грубо говоря. Что важно, что менее важно. А что не нужно. Вот тут: https://t.iss.one/htmlshit/1249
Думаете, это просто теория? Вот и народ из Shopify тоже так думал, а в итоге стали переводить своё мобильное приложение на React Native согласно приоритетам, рассчитанным по RICE. Золушки, ага.
На самом деле все логично: бахнуть разом огромное приложение на новую технологию невозможно, но и вслепую выбирать экраны для переделки — тоже. Добавление же экранов в новой технологии не решит проблему наличия старых и их поддержки. Так что пришлось подумать.
Собственно, вот оно: https://shopify.engineering/migrating-our-largest-mobile-app-to-react-native
Получилось долго.
#react #native #rice #бородач
Итак. Я когда-то вам разгонял про фреймворк RICE. И нет, это не про джаббаскрипт, это про работу. Как сортировать задачи, грубо говоря. Что важно, что менее важно. А что не нужно. Вот тут: https://t.iss.one/htmlshit/1249
Думаете, это просто теория? Вот и народ из Shopify тоже так думал, а в итоге стали переводить своё мобильное приложение на React Native согласно приоритетам, рассчитанным по RICE. Золушки, ага.
На самом деле все логично: бахнуть разом огромное приложение на новую технологию невозможно, но и вслепую выбирать экраны для переделки — тоже. Добавление же экранов в новой технологии не решит проблему наличия старых и их поддержки. Так что пришлось подумать.
Собственно, вот оно: https://shopify.engineering/migrating-our-largest-mobile-app-to-react-native
Получилось долго.
#react #native #rice #бородач
👍8
#инструмент дня
Предположим, тебе заказали разработку Flutter или React Native приложения. Да даже Cordova или Ionic. Предположим, ты даже справился. Настало время собирать под iOS. И тут облом. Нужна macOS.
Можно купить старый мак, можно завести виртуальную машину, обмазавшись ютубом и tonymacx86.
А можно воспользоваться Docker и вот этим прекрасным репозиторием: https://github.com/sickcodes/Docker-OSX
Куча рецептов прямо в Read.me, куча полезных скриптов. В общем, надо брать и пробовать.
Отпишитесь потом о результатах, ок?) Тоже при случае попробую. Прост мак-то есть)
#docker #macos #бородач
Предположим, тебе заказали разработку Flutter или React Native приложения. Да даже Cordova или Ionic. Предположим, ты даже справился. Настало время собирать под iOS. И тут облом. Нужна macOS.
Можно купить старый мак, можно завести виртуальную машину, обмазавшись ютубом и tonymacx86.
А можно воспользоваться Docker и вот этим прекрасным репозиторием: https://github.com/sickcodes/Docker-OSX
Куча рецептов прямо в Read.me, куча полезных скриптов. В общем, надо брать и пробовать.
Отпишитесь потом о результатах, ок?) Тоже при случае попробую. Прост мак-то есть)
#docker #macos #бородач
❤11🤩2👍1
This media is not supported in your browser
VIEW IN TELEGRAM
#видео дня
Да, я нашёл это на Reddit (но я хотя бы признаюсь в этом, в отличие от… 😇).
Оригинальное название — как создать визуальный XOR-эффект на одном только CSS filter и mix-blend-mode (инвертирование по маске, короче). Но для этого стоило бы заодно код переписать в кодпен…
Поэтому делаем так: теперь это видео о том, как использовать Emmet будто ты бог вёрстки.
Эффективность 9000, короче.
#emmet #filter #blend #бородач
Да, я нашёл это на Reddit (но я хотя бы признаюсь в этом, в отличие от… 😇).
Оригинальное название — как создать визуальный XOR-эффект на одном только CSS filter и mix-blend-mode (инвертирование по маске, короче). Но для этого стоило бы заодно код переписать в кодпен…
Поэтому делаем так: теперь это видео о том, как использовать Emmet будто ты бог вёрстки.
Эффективность 9000, короче.
#emmet #filter #blend #бородач
👍15🤩4
#новость дня
В node.js появилась экспериментальная нативная поддержка TypeScript!
Крепко же их bun приложил...
Ссылка на PR: https://github.com/nodejs/node/pull/53725
По факту происходит отбрасывание типов, поэтому средства вроде Enum и namespace не поддерживаются. Инициатива предоставления стабильного API поверх TypeScript получила название amaro и в дальнейшем планируется выделение в отдельный обновляемый модуль. Работает (кто бы сомневался) при помощи swc, собранного в WebAssembly!
Так что никаких больше
...и поехали!
#node #typescript #ts
В node.js появилась экспериментальная нативная поддержка TypeScript!
Крепко же их bun приложил...
Ссылка на PR: https://github.com/nodejs/node/pull/53725
По факту происходит отбрасывание типов, поэтому средства вроде Enum и namespace не поддерживаются. Инициатива предоставления стабильного API поверх TypeScript получила название amaro и в дальнейшем планируется выделение в отдельный обновляемый модуль. Работает (кто бы сомневался) при помощи swc, собранного в WebAssembly!
Так что никаких больше
ts-node
!node main.ts
...и поехали!
#node #typescript #ts
GitHub
module: add --experimental-strip-types by marco-ippolito · Pull Request #53725 · nodejs/node
It is possible to execute TypeScript files by setting the experimental flag --experimental-strip-types.
Node.js will transpile TypeScript source code into JavaScript source code.
During the transpi...
Node.js will transpile TypeScript source code into JavaScript source code.
During the transpi...
❤17🤩3👍1🤬1
This media is not supported in your browser
VIEW IN TELEGRAM
#инструмент дня
На моей памяти было два веб-приложения, позволяющих в некой мере понять, как работает SVG:
раз и два.
Суть в том, что иногда недостаточно просто взять и нарисовать SVG в редакторе, хочется понять принцип отрисовки, позиционирования, заливки и контуринга.
И да, пусть эти приложения на фоне настоящих редакторов выглядят смешно, настоящие редакторы не спешат делиться своими секретами рендеринга. Хотя наверняка какие-нибудь расширения для люстры, инкскейпа или фигмы должны иметься... но их реализация сильно зависит от движка проекта. Ладно, мы отвлеклись.
Итак, вашему вниманию проект с говорящим названием svg.wtf от Амелии Ваттенберг.
Предоставляет всё то же наглядное понимание принципов работы SVG, от координат и кривых безье до фильтров. Можно сохранять снэпшоты, чтобы сравнивать состояния работы, есть простейшие скрипты для работы с кривыми (например, выстроить по сетке).
Думаю, надо попробовать заслать ей скрипт для переориентации кривых (из моего любимого editor.method.ac), это когда вместо трансформов кривые возвращаются к простым координатам.
В общем, больше редакторов богу редакторов!
#svg #tool #education
На моей памяти было два веб-приложения, позволяющих в некой мере понять, как работает SVG:
раз и два.
Суть в том, что иногда недостаточно просто взять и нарисовать SVG в редакторе, хочется понять принцип отрисовки, позиционирования, заливки и контуринга.
И да, пусть эти приложения на фоне настоящих редакторов выглядят смешно, настоящие редакторы не спешат делиться своими секретами рендеринга. Хотя наверняка какие-нибудь расширения для люстры, инкскейпа или фигмы должны иметься... но их реализация сильно зависит от движка проекта. Ладно, мы отвлеклись.
Итак, вашему вниманию проект с говорящим названием svg.wtf от Амелии Ваттенберг.
Предоставляет всё то же наглядное понимание принципов работы SVG, от координат и кривых безье до фильтров. Можно сохранять снэпшоты, чтобы сравнивать состояния работы, есть простейшие скрипты для работы с кривыми (например, выстроить по сетке).
Думаю, надо попробовать заслать ей скрипт для переориентации кривых (из моего любимого editor.method.ac), это когда вместо трансформов кривые возвращаются к простым координатам.
В общем, больше редакторов богу редакторов!
#svg #tool #education
👍22❤6🤩2