v0.6.0 BigUpdate
This commit is contained in:
@@ -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.
|
||||
Reference in New Issue
Block a user