Files
2026-10-09 04:24:38 +00:00

2.4 KiB

ADR-0003: Синхронная детерминированная модель сборки

Дата: 2026-08-26 Статус: Принято

Контекст

Сборка документа выполняется локальным Typst compiler: данные читаются из файлов проекта, затем происходит несколько внутренних итераций layout и создаётся PDF. Внешних сетевых сервисов, конкурентной записи или длительных независимых операций в v1 нет.

Добавление собственной async-модели не ускорит Typst-layout, но усложнит диагностику, воспроизводимость и тестирование.

Рассматриваемые варианты

  1. Синхронная сборка одного документа — простая, воспроизводимая и соответствует модели Typst.
  2. Параллельные renderer-профили внутри Typst — не поддерживаются как управляемая модель и не дают изоляции layout-state.
  3. Внешний асинхронный build-сервис — полезен для массовой генерации, но избыточен для локального шаблона.

Решение

Выбрали синхронную детерминированную сборку одного документа. Параллельный запуск нескольких независимых fixtures допускается только во внешнем test harness, где каждый процесс получает собственный entry point и output.

Последствия

Становится проще: воспроизводимость, порядок diagnostics, изоляция state и расследование visual regressions.

Становится сложнее: массовая генерация большого набора документов должна оркестрироваться внешним скриптом.

Закрывает дверь на: сетевые и фоновые операции непосредственно внутри шаблона v1.