Перейти к содержанию

Направление развития

Здесь собраны открытые планы. Уже выпущенные изменения находятся в changelog.

Рендер и экспорт

  • Программный render API одним вызовом. Сейчас MP4/GIF рендерятся через CLI Manim. Метод render(ggb_path, style=..., output_format=..., size=...) позволит встраивать AnimaGeo в серверы и конвейеры без запуска shell-команд.
  • Входные данные в памяти. Принимать bytes/BytesIO для .ggb и JSON стиля наряду с путями к файлам.
  • Snapshot-тесты рендера. Геометрическое ядро хорошо покрыто тестами, но CreateMObject, SVG и CLI ещё требуют ручной проверки. Golden snapshots должны зафиксировать визуальный результат.

Покрытие GeoGebra

Большинство повседневных команд реализовано: 477 сигнатур диспетчеризации доступны через 100 автоматически найденных фабрик DSL. Известные пробелы:

  • точные/символьные Locus и LocusEquation — сейчас Locus является дискретизированной ломаной;
  • RadicalAxis, Power для степени точки относительно окружности;
  • точная Circumference эллипса — сейчас используется приближение Рамануджана;
  • OsculatingCircle, Curvature, ConjugateDiameter, PathParameter;
  • отображаемые типы boolean как checkbox, list, image.

Размещение подписей

Solver достиг целевого качества для статических раскладок; рекомендуемый пресет находится в разделе Стили. Оставшиеся идеи:

  • доработка leader lines в плотных сценах с подавлением бесполезных выносок;
  • мягкое отталкивание подписей между ключевыми кадрами, чтобы избежать временных пересечений в середине анимации.

Ключевые кадры

  • событие акцентирования passing_flash;
  • пиксельно-инвариантный zoom камеры в смысле GeoGebra ZoomIn, когда геометрия масштабируется, а пиксельные декорации — нет. Текущий трек @camera кинематографический и масштабирует всё вместе.

Удобство API

  • Цепочки методов стиля вроде element('s').setDashed(0.65).setOpacity(0.5) как сокращение для записей в elem.style[...].

Распространение

  • Опубликовать JSXGraph runtime (web/runtime, web/web-component) в npm.

Предложения и изменения приветствуются — см. CONTRIBUTING.md.