Anomaly разрабатывает Rune — предрелизный фреймворк графических интерфейсов на Rust для macOS, Windows, Linux и web. Проект не собирает решение из готовых подсистем: у него собственные рендерер, обработка текста, раскладка и анимация. Исходный код распространяется по лицензии MIT, но проект пока не принимает pull request: авторам предлагают сообщать об ошибках и идеях через issues.
Интерфейс описывается функцией view, которая получает состояние и контекст, а затем возвращает дерево элементов. Обработчики нажатий и перетаскивания ставятся в очередь и выполняются между кадрами, после чего представление перестраивается. Для оформления предусмотрены светлая и тёмная темы, шесть акцентных цветов в OKLCH, токены отступов, радиусов, типографики и движения.
Раскладка построена на Taffy 0.15 и следует правилам CSS flexbox. Размеры текста округляются до целых пикселей устройства, а ключевые узлы сохраняют кеш ограничений между обновлениями. Пересчёт происходит только при изменении стилей, дочерних элементов или измерений текста; смена цвета текста новое измерение не запускает.
Анимация поддерживает аналитические пружины, tween, decay и переходы появления или удаления. При изменении цели сохраняются текущие положение и скорость. Режим reduced motion убирает пространственное перемещение, оставляя короткие переходы прозрачности и цвета.
Рендерер использует instanced-конвейер четырёхугольников и выполняет один draw call на кадр. Он рисует скруглённые прямоугольники, гауссовы тени, линейные и радиальные градиенты, изображения, векторные формы и глифы из атласа. Текст раскладывается через Parley 0.12 со встроенным Inter 4.1, а растеризация повторяет элементы конвейера CoreGraphics. Поддерживаются Retina-масштаб и выбор смешивания цветов в sRGB или линейном свете.
Главная особенность для разработки с AI — полноценный headless-запуск каждого приложения. Агент может получить PNG, выгрузить дерево элементов и управлять программой сценарным вводом на виртуальных часах. Это позволяет проверять не только код, но и видимый результат. Поскольку Rune ещё в предрелизном состоянии, зависимость предлагается закреплять на конкретной ревизии ветки dev; авторы обещают не переписывать её историю.