v0.6.0 BigUpdate
Example document / build (push) Has been cancelled
Python application / build (push) Has been cancelled

This commit is contained in:
Igor20264
2026-10-20 11:38:06 +03:00
parent daa84f8bce
commit 8223e0ac14
77 changed files with 12158 additions and 117 deletions
@@ -0,0 +1,61 @@
---
name: NewGUI technology stack
overview: Отдельное Electron-приложение в desktop/. Существующие пакеты, GUI и сборка exe не меняются. Сейчас только каркас, на который потом сядут три редактора и Python.
todos:
- id: scaffold
content: Папка desktop/ — Electron, Vite, React, TypeScript, Tailwind, токены из NewGUI/DESIGN.md, шрифты и иконки локально
status: completed
- id: shell
content: Каркас окна по макету — шапка, сайдбар, центр, статус-бар. Данные статичные, без файлов проекта и без md2gost
status: completed
- id: editors
content: Общий буфер строки и три сменных панели — CodeMirror (код и Obsidian) и TipTap (Notion), без диалекта md2gost
status: completed
- id: bridge
content: Пустой контракт preload/IPC под будущий Python-сайдкар. Реализации convert и check нет
status: completed
isProject: false
---
# База NewGUI
Новый код живёт только в [desktop/](desktop/). [md2gost/](md2gost/), [md2latex/](md2latex/), [md2fodt/](md2fodt/), [word2md/](word2md/), [pyproject.toml](pyproject.toml), тесты и `build-exe*.bat` не меняются. Tkinter-окно остаётся текущим GUI. Макет [NewGUI/code.html](NewGUI/code.html) и токены [NewGUI/DESIGN.md](NewGUI/DESIGN.md) — только образец вёрстки.
Сборка DOCX, чекер, Word COM, Kroki и диалект (`# *ВВЕДЕНИЕ`, `%id`, `^` / `>`) в эту базу не входят. Их подключат отдельным шагом, когда каркас уже стоит.
```mermaid
flowchart LR
subgraph desktopApp [desktop]
shell[Shell]
session[DocumentSession]
codePane[CodeMirror]
obsidianPane[CodeMirror_live]
notionPane[TipTap]
bridge[HostApi_stub]
shell --> session
session --> codePane
session --> obsidianPane
session --> notionPane
shell --> bridge
end
md2gost[md2gost_unchanged]
bridge -.->|"позже"| md2gost
```
## Что появляется
- **Стек:** Electron, Vite, React, TypeScript, Tailwind. Свой `package.json` внутри `desktop/`. Установщик NSIS на этом шаге не собирается: приложение запускается через `npm run dev`.
- **Тема:** цвета, шрифты, радиусы и отступы из `DESIGN.md`. Space Grotesk, Inter, JetBrains Mono и Material Symbols лежат в `desktop/`, без CDN.
- **Оболочка:** шапка, сайдбар, центральная область и статус-бар по макету. Подписи и дерево — заглушки из макета, не чтение диска и не вызов `convert()`.
- **Три ввода одной строки.** `DocumentSession` держит текст в памяти.
- Код — CodeMirror 6, сырой текст, номера строк.
- Obsidian — тот же CodeMirror, режим live preview. Переключение с кода буфер не пересоздаёт.
- Notion — TipTap с обычным Markdown на вход и выход. Узлов ГОСТ нет: спецразделы, слияния ячеек и `%id` появятся позже.
- **Мост:** в preload один объект `HostApi` с методами-заглушками (`open`, `save`, `check`, `build`). Они возвращают «не подключено». Python-процесс не стартует.
## Чего нет в этом шаге
- Правок пакетов Python и точки входа `python -m md2gost`.
- Сайдкара, PyInstaller и electron-builder.
- Окна спецификации диалекта, предпросмотра A4 и вставки сниппетов.
- Сериализации диалекта md2gost в TipTap.