From ccd7aa28891721110bbe00dc9b6d17288d8b4852 Mon Sep 17 00:00:00 2001 From: "google-labs-jules[bot]" <161369871+google-labs-jules[bot]@users.noreply.github.com> Date: Wed, 22 Apr 2026 16:15:44 +0000 Subject: [PATCH] docs: revamp README features and add architecture details MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Updated the "Возможности" section in README.md by logically categorizing features (Native vs Web) and adding emojis for visual clarity. Appended project architecture structure and key architectural decisions transferred from internal dev docs to provide better onboarding and overview. Co-authored-by: exviolet <154699073+exviolet@users.noreply.github.com> --- README.md | 48 ++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 42 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 1a3fd86..73da8c2 100644 --- a/README.md +++ b/README.md @@ -2,13 +2,49 @@ Нативная desktop-обёртка для [Rewrite](https://github.com/exviolet/rewrite) на базе Tauri v2. -## Возможности +## 🚀 Возможности + +### 🖥️ Нативный опыт (Tauri) +- **Файловая система**: Нативные диалоги открытия, сохранения, а также экспорта и импорта ваших файлов. +- **Интерфейс**: Кастомный title bar с поддержкой стандартных элементов управления окном (window controls). +- **Уведомления**: Глобальные системные toast-уведомления о важных событиях. +- **Удобство**: Мгновенное восстановление случайно закрытых вкладок комбинацией `Ctrl+Shift+T`. + +### 📝 Мощный редактор (Rewrite Web) +- **Мультизадачность**: Полноценная поддержка вкладок (табов) для одновременной работы с несколькими документами. +- **Продвинутый поиск**: Инструмент Find & Replace для массовой обработки текста. +- **Пресеты**: Поддержка пользовательских пресетов для быстрых замен. +- **Умная работа**: Интеграция с AI Prompt Builder для автоматизации задач. +- **Визуализация**: Встроенное превью Markdown в реальном времени. + +## 🏗️ Архитектура проекта + +Структура приложения разделена на два основных компонента, где веб-версия подключается как `git submodule`: + +```text +rewrite-desktop/ +├── web/ # git submodule → rewrite (browser SPA) +├── src-tauri/ +│ ├── src/ +│ │ ├── lib.rs # Tauri entry point +│ │ └── main.rs # binary entry +│ ├── capabilities/ +│ │ └── default.json # Tauri v2 permissions +│ ├── icons/ # иконки приложения +│ ├── tauri.conf.json # конфигурация Tauri +│ └── Cargo.toml +├── com.rewrite.app.desktop # .desktop файл для Linux +├── install.sh # скрипт установки +├── uninstall.sh # скрипт удаления +└── package.json +``` -- Нативные файловые диалоги (открытие, сохранение, экспорт/импорт) -- Кастомный title bar с window controls -- Восстановление закрытых табов (Ctrl+Shift+T) -- Глобальные toast-уведомления -- Все возможности браузерной версии: табы, Find & Replace, пресеты замен, AI Prompt Builder, Markdown превью +### 💡 Ключевые архитектурные решения +- **Разделение репозиториев**: Браузерный SPA-клиент не смешивается с Rust/Tauri кодом, десктопное приложение развивается независимо. +- **Submodule**: Фиксирует конкретную версию web-клиента — десктоп всегда собирается от проверенного, стабильного коммита. +- **Динамическая загрузка (Dynamic import)**: Все JS-пакеты Tauri загружаются только в десктопной среде (через проверку `isTauri`), поэтому браузерная версия остаётся легковесной. +- **Безрамочный интерфейс (Decorations: false)**: Системный title bar отключён, вместо него используется встроенный TabBar с drag-region и кнопками управления окном. +- **Безопасность (Минимальные права)**: Tauri имеет доступ только к чтению и записи текстовых файлов в базовых директориях пользователя (Desktop, Documents, Downloads, Temp). Нет доступа к сети или системным процессам. ## Требования