Gribouille 0.3.0: точный контроль осей и автоматическое наложение площадей в Typst

Gribouille это библиотека для создания грамматических графиков в Typst, языке профессиональной типографии. Версия 0.3.0 сфокусирована на трёх изменениях: команда guides() позволяет показывать или скрывать отдельные части осей независимо от темы, функция compose() теперь может иметь собственную тему для общих элементов, а geom-area() по умолчанию автоматически составляет группы с разными значениями X. Завершает релиз десятка исправлений в отображении легенд и аннотаций.
Ключевые факты
- Новая команда
guides(x: none)скрывает тики и метки без изменения темы. Ось и сетка остаются видимы - Параметр
theme:вcompose()применяет стиль ко всей композиции и к отдельным панелям, которые не определили свою тему geom-area()теперь по умолчанию складывает группы и перерезает их на общую сетку (вместо требования явных аргументов)- Аннотации могут выходить за границы графика с помощью
clip: false - Исправлены горизонтальные легенды с выравниванием влево/вправо, поддержка легенд для непрерывных шкал и ошибки в масштабировании
Ред. Relase notes читаются как список частных случаев, а не глобальное переосмысление; понимание требует примеров. Автор их предусмотрел, хорошо.
Почему это важно
Typst становится популярен в среде учёных и инженеров как альтернатива LaTeX. Но без удобных встроенных инструментов для графиков приходится встраивать картинки или писать сложный код. Gribouille предоставляет декларативный синтаксис для строения графиков, похожий на ggplot2 в R. Лучшее управление осями и легендами означает, что исследователи тратят меньше времени на форматирование и больше на данные.
Ред. Типичная боль: вытащить легенду с графика в документе, и вот уже полчаса меняешь CSS вместо работы.
Кому это важно
В первую очередь разработчикам, которые пишут отчёты в Typst: инженерам, учёным, аналитикам, авторам книг с формулами. Также всем, кто готовит презентации или статьи с графиками в Typst и устал вручную подгонять размеры, цвета и расположение легенд. Косвенно важно тем, кто выбирает инструмент для своего конвейера документов: если вы колеблетесь между LaTeX и Typst, это свидетельство того, что Typst уже готов для серьёзных данных.
Ред. Внезапно: проект development без финансирования (spare-time), но инженерия качественная; идея берётся из заметок, доказывается примерами.
Как это применить
Если вы уже пишете в Typst, обновитесь: синтаксис новых функций прост, обратной совместимости нет только для plot(..., defer: true) → defer(plot...), но это легко менять автоматически или вручную. Для тех, кто начинает с нуля: установите gribouille:0.3.0 через Typst Universe, посмотрите примеры в посте (все графики скомпилены свежее, не картинки), начните с простых сюжетов. Если в вашем документе много графиков с близкими темами, перейдите с повторения theme: в каждой панели на передачу theme: в compose() один раз.
Ред. Инструкция конкретна (версия, синтакс, путь обновления), но ничего не говорит про цену: библиотека бесплатна.
Можно ли доверять
Автор: Микаэль Канусь (Michaël Canouil), инженер с публичной историей в R-сообществе и открытыми проектами. Gribouille публикуется в Typst Universe (официальный реестр пакетов), но это не значит, что Typst Inc. её поддерживает: это муниципальный реестр. Версионирование ясно: 0.3 говорит, что API может менять, и релиз-ноты честны про breaking change. Документация включает функциональную справку в редакторе (docstring для Tinymist). Минус: проект финансируется за счёт автора, а не компании, так что в случае срочной ошибки ответ будет не в 4 часа.
Ред. Open source на выживание: благодарность и issue tracker вместо SLA; логика.
Риски и подводные камни
Breaking change в plot() → defer(): если у вас большой проект с plot(..., defer: true), нужно переписать. Можно скриптом, но это требует теста.
Панели в compose() больше не имеют width/height: ваш код с явным размером панели внутри compose() сломается. Размер теперь задаёт сама композиция.
API нестабилен: версия 0.x означает, что в 0.4 или 0.5 синтаксис может измениться снова. Мерж обновления в проекты, которые меняют редко, может быть рискован.
Производительность: на больших наборах данных и полусотне панелей в одной композиции нужно проверить память и время компиляции в Typst.
Ред. Гроздь мелких ограничений, но ни одного скрытого: документация честна.
«Гробиль это проект на авторской тягле, и API до сих пор стабилизируется. Баг-репорты и идеи очень приветствуются на issue tracker.»
— Michaël Canouil, Gribouille launch post