Как это работает
Слои
Модель в TypeScript, файл презентации в Python.
Предупреждение
Текст перенесён из черновика портала внутри приложения. Перед опорой на детали сверьте их с текущим кодом: ближайшие изменения продукта эту страницу ещё не учитывают.
Граница одна: есть ли в этом коде вызов модели.
К модели обращается TypeScript: интерфейс, API, план колоды, текст, правки и смысловые проверки. Python разбирает .pptx, верстает, собирает графики и таблицы, экспортирует и рендерит. На одном и том же входе движок даёт тот же выход.
Слои движка соединяет только его API. parser, layout, visuals, export, render и checks друг друга не импортируют. Веб вызывает движок только через API этого сервиса.
TypeScript
| Путь | Зачем |
|---|---|
apps/web | библиотека, чат, три варианта, редактор, экспорт |
apps/api | прогоны, файлы, аккаунты, чаты, модели |
apps/cli | прогон без веба |
apps/docs | этот портал, без вызовов API во время чтения |
packages/contracts | Zod-схемы, источник правды |
packages/pipeline | план, текст, агенты |
packages/slide-audit | проверки над SlideIR в редакторе |
packages/slide-renderer | превью и HTML-экспорт |
Python
| Слой | Зачем |
|---|---|
engine.contracts | модели, собранные из Zod |
engine.parser | шаблон → профиль |
engine.layout | план и профиль → SlideIR |
engine.visuals | графики, таблицы и схемы фигурами |
engine.export | SlideIR → .pptx и .pdf |
engine.render | .pptx → PNG |
engine.checks | проверки по файлу и его рендеру |
engine.api | единственное место, где слои соединяются |