Files
md_to_gost/.cursor/plans/newgui_technology_stack_a6f38fd9.plan.md
T
Igor20264 8223e0ac14
Example document / build (push) Has been cancelled
Python application / build (push) Has been cancelled
v0.6.0 BigUpdate
2026-10-20 11:38:06 +03:00

4.1 KiB
Raw Blame History

name, overview, todos, isProject
name overview todos isProject
NewGUI technology stack Отдельное Electron-приложение в desktop/. Существующие пакеты, GUI и сборка exe не меняются. Сейчас только каркас, на который потом сядут три редактора и Python.
id content status
scaffold Папка desktop/ — Electron, Vite, React, TypeScript, Tailwind, токены из NewGUI/DESIGN.md, шрифты и иконки локально completed
id content status
shell Каркас окна по макету — шапка, сайдбар, центр, статус-бар. Данные статичные, без файлов проекта и без md2gost completed
id content status
editors Общий буфер строки и три сменных панели — CodeMirror (код и Obsidian) и TipTap (Notion), без диалекта md2gost completed
id content status
bridge Пустой контракт preload/IPC под будущий Python-сайдкар. Реализации convert и check нет completed
false

База NewGUI

Новый код живёт только в desktop/. md2gost/, md2latex/, md2fodt/, word2md/, pyproject.toml, тесты и build-exe*.bat не меняются. Tkinter-окно остаётся текущим GUI. Макет NewGUI/code.html и токены NewGUI/DESIGN.md — только образец вёрстки.

Сборка DOCX, чекер, Word COM, Kroki и диалект (# *ВВЕДЕНИЕ, %id, ^ / >) в эту базу не входят. Их подключат отдельным шагом, когда каркас уже стоит.

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.