Initial commit
This commit is contained in:
commit
41d230d524
163 files changed
+11500
No files matched your search
@@ -0,0 +1,28 @@
|
||||
# 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.
|
||||
Reference in new issue
Block a user