Initial commit
This commit is contained in:
commit
c534d5ce80
163 files changed
+11500
No files matched your search
@@ -0,0 +1,41 @@
|
||||
# Модуль: Основа вёрстки
|
||||
|
||||
**Ответственность**: предоставляет общие design tokens, режимы выпуска и безопасные presentation-примитивы без правил конкретного вида документа.
|
||||
**Расположение**: `.template/lib/presentation/foundation.typ`
|
||||
|
||||
## Публичный интерфейс
|
||||
|
||||
| Символ | Тип | Описание |
|
||||
|--------|-----|----------|
|
||||
| `design-tokens()` | конструктор dictionary | Шрифты, размеры, цвета, интервалы и стандартные поля страницы |
|
||||
| `apply-foundation()` | show-функция | Применяет локальные общие text/par/page defaults к body renderer |
|
||||
| `render-media-slot()` | функция | Отображает ресурс по policy `hide`, `placeholder`, `reserve-space` |
|
||||
| `render-mode()` | чистая функция | Нормализует `final`, `draft`, `clean-copy` |
|
||||
| `watermark-layer()` | функция | Создаёт слой watermark без изменения domain данных |
|
||||
|
||||
## Зависимости
|
||||
|
||||
| Модуль | Что использует |
|
||||
|--------|----------------|
|
||||
| `.template/lib/domain/document.typ` | `RenderOptions` и режим выпуска |
|
||||
| `.template/lib/domain/company.typ` | Brand color и нормализованные ресурсы |
|
||||
|
||||
## Инварианты
|
||||
|
||||
- Foundation не знает, является документ отчётом, письмом, ТКП или договором.
|
||||
- Общие defaults локальны body, не протекают в следующий независимый renderer.
|
||||
- `render-media-slot()` никогда не вызывает `image(none)`.
|
||||
- Размер placeholder и reserve-space задаётся вызывающим компонентом, чтобы не ломать профильную геометрию.
|
||||
- Watermark не влияет на layout flow и счётчики.
|
||||
- Внутри module scope не создаётся state, общий для нескольких документов.
|
||||
|
||||
## Намеренно НЕ обрабатывает
|
||||
|
||||
- Титульный лист отчёта.
|
||||
- Шапку письма и реквизиты договора.
|
||||
- Нумерацию приложений конкретного профиля.
|
||||
- Загрузку файлов и JSON.
|
||||
|
||||
## Заметки для агента
|
||||
|
||||
> Typst 0.15 изменил baseline у `box` и `block`; любые правки foundation требуют visual regression всех профилей. Не переносите сюда profile-specific отступ только потому, что он встречается в двух документах: сначала проверьте, является ли это действительно общим design token.
|
||||
Reference in new issue
Block a user