1. Коротко
- Ядро на Rust для документов Write: чтение docx (94,1 % файлов корпуса, 0 паник), вёрстка страниц, свой шейпер для всех письменностей, растр, экспорт PDF/A-2b (veraPDF 160/160).
- «Весь код свой» (решение № 40) доведён до конца в ядре и оболочке: свои ZIP, XML, Юникод, шрифты, шейпер, PNG/JPEG, растеризатор, PDF, окно на Cocoa/X11/Win32.
- Своя оболочка Write без Qt: окно, лента, вкладки документов, навигация, палитра, backstage, диалог «Открыть», темы, Tab-фокус, подсказки Alt.
- Окно MOffice Sheets с правкой (дорожка C, 4–5 октября): сетка, строка формул, ввод с пересчётом ядром, листы, форматы, отмена, буфер обмена, xlsx; этап 2 — маркер заполнения и серии, копирование формул со сдвигом ссылок, сортировка, поиск, CSV, автоширина, общий диалог «Открыть / Сохранить как» — 50 тестов на macOS и Linux.
- Ядро таблиц:
meridian-calc— 497 функций, числовые форматы, русская локаль; свои чтение и запись xlsx (99,94 % формул корпуса = значениям Excel). Правописаниеmeridian-spell, шифрование MOP, лицензииMRDN/.mlic. - Сервисы лицензий и аккаунтов онлайн, свой CI-раннер с ночным фаззингом, юридические черновики, 12 спецификаций, 103 экрана макетов.
- Правки нет нигде: в Write нельзя набрать текст, кнопки форматирования только рисуются.
- Сохранения нет: нет кодека записи документа (ни
.mwx, ни.docx). Печать и экспорт PDF из окна появились вечером 4 октября. - Точность рендера — 20,3 % страниц с SSIM ≥ 0,95 при цели вехи M0.4 60 % и критерии фазы 0 — 70 %.
- Нет окон Hub, Sheets, Slides, Draw, Paint, PDF, Math, Notes, Mail, Base, Forms (13 из 14 приложений — только макеты).
- Ввод через IME есть пока только в полях интерфейса (macOS, Linux), в документе — нет; нет установщиков, обновлений, биллинга, портала; доступность — только начало на macOS. Windows ни разу не запускалась, CI — только Linux.
Главный вывод: фундамент сделан необычно быстро и качественно (своё ядро сверяется с эталонами побайтно), но продукт ещё не начался — следующая веха, которая превращает просмотрщик в приложение, это модель правки текста + сохранение. С неё и начинается фаза 1 в плане ниже.
Решения владельца от 4 октября
| № | Решение | Что это значит | Кто делает |
|---|---|---|---|
| 41 | Переименовать продукт в MOffice (вместо Meridian Office: знак MERIDIAN занят для ПО в США) | Этап 1 (идёт): все видимые имена — «MOffice», «MOffice Write», «MOffice Sheets»…, «MOffice ID», «MOffice Cloud», «MOffice Script», «MOffice Design System (MDS)», «MOffice Open Package (MOP)»; в русском тексте — тоже латиницей (произносится «Эм-Офис»). Этап 2 (нужно отдельное «да»): внутреннее кодовое имя «meridian» — крейты meridian-*, C ABI meridian_*, URN urn:meridian:office:*, MIME vnd.meridian.*, префикс ключей MRDN-, домены стендов. Рекомендация: до выпуска первых ключей сменить то, что видят пользователи и разработчики форматов (префикс ключей, URN, MIME, домены), а имена крейтов оставить кодовым именем | A и B — каждая в своей зоне; отчёт и прототип — эта сессия (сделано) |
| 42 | Эталоны рендера из Microsoft Word разрешены (Word установлен на Mac) | сравнение точности перейдёт с LibreOffice на Word — метрика станет честной для цели «как в Word» | A (corpus-tool refs через Word, лаборатория) |
| 43 | Шрифты-данные в комплект разрешены (OFL и подобные) | Caladea (= Cambria), Gelasio (= Georgia), PT Sans/Serif, Noto, STIX Two Math, Latin Modern Math — документы из Office будут подменяться точнее | A (шрифты и подстановки), B (реестр лицензий) |
2. Цифры
Прогон cargo test --workspace --release на этой машине: 3 317 тестов прошли, 1 упал — тест эталона IronCalc test_to_from_bytes::errors (в release-сборке сообщение об ошибке bitcode другое; эталон в продукт не входит, CI собирает debug и этого не видит). Окно Write собрано и снято заново: открывает docx с оглавлением на 35 страниц.
3. Приложения: матрица готовности
| Приложение | Фаза → релиз | Ядро | Окно | Итог | Чего не хватает в первую очередь |
|---|---|---|---|---|---|
| Hub | 1 → 1.0 | — | — (есть backstage в Write) | Макет | брокер meridian-broker, окно Hub, недавние, настройки, обновления |
| Write | 1 → 1.0 | чтение docx, вёрстка, рендер, PDF/A, оглавление | просмотр, печать, экспорт PDF | Частично | модель правки и ввод, запись .mwx/.docx, рецензирование, точность 85 % |
| Sheets | 2 → 1.5 | meridian-calc: 497 функций, форматы, ru-локаль; свой xlsx (чтение и запись); C ABI книг (FFI v0.4) | окно с правкой (дорожка C, 04–05.10): сетка, формулы, листы, форматы, отмена, xlsx и CSV, серии, сортировка, поиск | Частично | стили ячеек, вставка строк, диаграммы, сводные, автофильтр, печать таблиц |
| Slides | 3 → 2.0 | — | — | Макет | общая сцена фигур, модель слайдов, pptx, анимации, показ |
| Draw | 3 → 2.0 | фигуры VML/DrawingML только в рендере docx | — | Макет | meridian-scene, коннекторы, трафареты, vsdx |
| Paint | 4 → 2.5 | растр, PNG/JPEG; спайк кистей вне продукта | — | Макет | слои, кисти (порт уже проверен), фильтры, форматы |
| 4 → 2.5 | писатель PDF/A-2b; спайк просмотра вне продукта | — | Частично | свой растеризатор PDF, аннотации, формы, подписи, OCR | |
| Math | 4 → 2.5 | — | — | Макет | раскладка формул, показ OMML из docx (нужен уже в фазе 1) |
| Notes | 5 → 3.0 | — | — | Макет | модель холста, импорт OneNote по [MS-ONESTORE] (4–7 чел.-мес.) |
| 5 → 3.0 | — | — | Макет | IMAP/SMTP, CalDAV, PST, хранилище SQLite | |
| Base | 5 → 3.0 | выражения = meridian-calc | — | Макет | .mbx на SQLite, запросы, формы, отчёты, accdb |
| Forms | 5 → 3.0 | — | — | Макет | конструктор, ответы в Sheets, PDF-формы |
| Publisher | 7 → 4.0 | — | — | Нет даже макетов | спецификация и макеты |
| Plan | 7 → 4.0 | — | — | Нет даже макетов | спецификация и макеты |
Общие модули (библия §2.2)
| Модуль | Состояние | Что есть / чего нет |
|---|---|---|
| Kernel — текст | Частично | модель документа (подмножество), стили с наследованием, вёрстка, Кнут–Пласс, переносы 46 языков, списки, таблицы, колонтитулы; нет операционной модели правки, undo/redo, CRDT-журнала |
| Codecs | Частично | чтение docx; чтение и запись xlsx (свои, круговой путь на 160 книгах); нет MOP (.mwx), docx-записи, doc, odt, rtf, pptx, html/md |
| Render | Работает | свой растеризатор (CPU), картинки, фигуры, PDF/A-2b; GPU-пути нет (по плану — по замерам) |
| Chart · Scene · Diagram · Color | Нет | спецификация диаграмм есть (docs/algorithms/chart-engine.md), кода нет |
| Crypto | Частично | шифрование MOP готово и проверено векторами, независимой реализацией и фаззингом; с 04.10 — свои криптопримитивы meridian-cipher (SHA-256, HKDF, Argon2id, AES-256-GCM без таблиц, проверка постоянного времени); к кодеку не подключено (кодека MOP нет) |
| Lingo | Частично | правописание (ru_RU, en), переносы, словарное деление тайского/лаосского/кхмерского/бирманского (meridian-segment), нормализация NFC/NFD готовы; грамматики, тезауруса, интерфейса нет |
| Shell | Частично | платформенный слой (Cocoa, X11, Win32), компоненты MDS, окно Write; с вечера 04.10 — буфер обмена, меню macOS, печать, свои кнопки окна, подсказки, анимации, системные шрифты для редких письменностей, дерево доступности на macOS, IME на macOS и Linux (XIM); нет IME на Windows, доступности на Windows/Linux, Wayland-клиента |
| License · ID | Частично | крейт лицензий + два сервиса онлайн; нет клиентского крейта meridian-id, диалогов, CRL, офлайн-активации |
| Broker · Script · Sync · Print · Assist · Update | Нет | только в спецификациях |
| Сервисы | Частично | license-service и id-service на meridian-api.24oros.ru; billing, portal, update, cloud, telemetry — нет |
4. Как работает сейчас
Единственный живой путь — от docx до пикселей в окне Write. Всё в нём — собственный код (кроме крейтов криптографии и сервисов, классы 0–1 политики лицензий).
Так выглядит настоящее приложение сегодня












Что в этом окне делается на самом деле: открыть docx (своим диалогом, перетаскиванием или из командной строки), листать, масштабировать, переходить по оглавлению и миниатюрам, держать несколько документов во вкладках, переключать темы, сворачивать ленту, искать команды в палитре, ходить по интерфейсу клавиатурой, а с вечера 4 октября — печатать (системный диалог через PDF ядра) и экспортировать PDF/A. Чего не делается: поставить курсор и набрать текст, выделить, отформатировать, сохранить — кнопки на ленте есть, но связаны только с видом окна.
5. Что работает и что нет — по слоям
Ядро
✓ чтение docx: стили, разделы, таблицы (объединения, рамки), списки, колонтитулы, картинки inline/anchor, фигуры VML/DrawingML
✓ вёрстка «как Word»: метрики, интерлиньяж, keepNext/keepLines, висячие строки, колонки, табуляции
✓ свой шейпер: латиница, кириллица, арабский, иврит, индийские, тайский, кхмерский, бирманский, хангыль, USE — 765 тыс. строк совпали с HarfBuzz
✓ PDF/A-2b, PNG/JPEG, ZIP/DEFLATE, XML, UAX #14/#9 (официальные тесты 100 %)
✓ формулы 497 функций, числовые форматы, ru-локаль, свой xlsx; правописание; словарное деление тайского и др.; шифрование и свои криптопримитивы; лицензии
✗ модель правки, undo, CRDT-журнал · ✗ любая запись форматов · ✗ сноски, обтекание, диаграммы, OMML, поле TOC · ✗ шрифты AAT и системные шрифты в вёрстке документа
Оболочка
✓ окно и ввод на macOS (Cocoa), Linux (X11), Windows (Win32 — собирается, но не запускалось)
✓ лента 8 вкладок с адаптивным сворачиванием, вкладки документов, холст с фоновым рендером, навигация, стили, масштаб, темы (вкл. высокий контраст), палитра, backstage, диалог «Открыть», Tab-фокус, подсказки Alt, изменение размера окна без рамки (X11)
✓ 34 теста, из них 19 сквозных «щелчками и клавишами»; кадр совпадает с Qt-прототипом по SSIM 0,97–0,996
✓ с вечера 04.10: печать и экспорт PDF, буфер обмена (macOS, Windows, X11), меню macOS, свои кнопки окна, подсказки, анимации, дерево доступности на macOS
✓ IME в полях интерфейса: macOS (NSTextInputClient, окно кандидатов), Linux (XIM, «мёртвые» клавиши)
✗ курсор и ввод текста в документ, IME на Windows · ✗ доступность на Windows/Linux · ✗ несколько окон · ✗ Wayland-клиент (сейчас через XWayland) · ✗ GPU-путь
Сервисы и коммерция
✓ license-service: активация ключом, выдача .mlic (CBOR + Ed25519), validate/deactivate
✓ id-service: регистрация, вход (Argon2id), JWT EdDSA + JWKS, refresh с ротацией
✓ стенд meridian-api.24oros.ru, сквозной тест 30/30
✗ 2FA, OAuth (Яндекс ID, VK ID…), ссылка-вход · ✗ CRL, подписанные запросы устройства, Idempotency-Key · ✗ billing (ЮKassa/CloudPayments), портал, update-service, telemetry · ✗ клиент в приложении
Инфраструктура, документы, юридическое
✓ CI на своём раннере sagr (Linux): fmt, clippy, тесты, cargo-deny, реестр лицензий, проверка макетов, сборка сайта; ночной фаззинг docx и шифрования
✓ стенды: сайт документации и макетов, лаборатория рендера, API
✓ библия, план, 12 спецификаций (≈ 17 тыс. строк), дизайн-система, форматы, лицензирование; черновики EULA, оферты, политики ПДн, проверка знака
✗ сборки и тесты на Windows/macOS в CI · ✗ эталоны рендера из Word (сейчас LibreOffice) · ✗ установщики, подпись, нотаризация · ✗ проверка юристом, заявка на товарный знак
6. Проблемы и риски, найденные при анализе
| # | Проблема | Почему важно | Что сделать |
|---|---|---|---|
| 1 | Точность рендера 20,3 % страниц SSIM ≥ 0,95 (цель M0.4 — 60 %, gate фазы 0 — 70 %, релиз 1.0 — 85 % к эталону Word) | «Открывает как в Word» — главное обещание продукта (библия §1.2). Расхождения копятся: один сдвиг пагинации портит все следующие страницы | по замерам лаборатории: сноски, обтекание плавающих объектов, балансировка колонок, диаграммы-заглушки нужного размера, неравные колонки; эталоны из Word (нужно разрешение владельца на управление Word или ферма VM) |
| 2 | Write не редактирует, а лента выглядит полностью рабочей | демо легко принять за готовый редактор; кнопки форматирования — Act::None | модель правки — первый эпик фазы 1; до неё приглушать неработающие кнопки или подписывать «только просмотр» |
| 3 | Нет записи ни одного формата; кодек MOP только в спецификации; шифрование не подключено | без сохранения нет приложения; round-trip docx — критерий релиза (≥ 90 % файлов) | кодек .mwx (чтение/запись) + запись docx с сохранением неизвестных частей; подключить meridian-crypto |
| 4 | Windows ни разу не запускалась, macOS — только на машине разработчика, CI — только Linux | «одинаково на трёх ОС» — требование библии; ошибки Win32-слоя всплывут поздно | машины/раннеры Windows и macOS; дымовой запуск и снимки в CI |
| 5 | IME (macOS NSTextInputClient, Linux XIM) и буфер обмена уже есть в платформе, но документ их ещё не использует; на Windows IME нет; доступность — только начало на macOS | без IME нельзя продавать в Азии, без доступности — в госсектор | делать вместе с моделью правки (own-shell.md §5); UIA (Windows) и AT-SPI (Linux) — следом за macOS |
| 6 | Документы отстали от решений № 39–40: README («рендер на Skia», «tiny-skia, harfrust»), комментарии в Cargo.toml (skia-safe, rustybuzz), библия §4 (Skia), план (инженеры Qt, Squish, лицензия Qt, спайки Skia↔QRhi), макеты oss.html (метки IronCalc, krilla, harfrust) | новые участники и сессии будут опираться на устаревшее | одна правка-синхронизация документов (зона B) + переработка oss.html |
| 7 | Календарь плана условный: старт 11.01.2027, команда 16 → 73 человек, 2 660 чел.-мес.; фактически фаза 0 сделана двумя сессиями за день | даты и бюджет в плане не отражают реальный темп и состав | вести план по критериям выхода фаз, а календарь пересчитать после первой вехи фазы 1 (модель правки + сохранение) |
| 8 | Qt-прототип shell/ ещё в репозитории; в корне лежит служебный aqtinstall.log | лишний код и зависимость от Qt в рецептах just | удалить после фиксации паритета (решение № 39); убрать лог из git |
| 9 | Тест эталона IronCalc падает в release-сборке | мелочь, но cargo test --release красный | поправить ожидание в эталоне или собирать эталон только в debug |
| 10 | Шрифты: по решению № 43 в комплект добавлены Caladea (= Cambria), Gelasio (= Georgia), курсивы Carlito, Liberation Mono Bold/Italic — высота строки по метрикам оригиналов, как в Word; PT и Noto ещё нет; AAT и системные шрифты в вёрстке документа не используются | эталон LibreOffice на Mac считает строку Caladea иначе, чем Word с настоящим Cambria, — поэтому SSIM к LibreOffice почти не изменился (0,699 → 0,694) | эталоны из Word (№ 42) — нужен запуск в сессии A; добавить PT Sans/Serif и Noto |
| 11 | Всё живёт на одном сервере sagr; внешний вход — через HAProxy на VPS; диск GX10 занят на 96 % | единая точка отказа для CI, стендов и API | резервные копии стендов и БД API, второй раннер |
| 12 | Юридическое: продукт переименован в MOffice (знак MERIDIAN занят для ПО в США); беглый поиск конфликтов «MOffice» не нашёл, но есть риск смешения с «МойОфис/MyOffice» и «MS Office»; документы — черновики | имя нужно закрепить до публичной беты | поиск поверенного по ФИПС и WIPO (классы 9/42), заявка на знак; затем этап 2 переименования (ключи, URN, домены) |
7. План работ по фазам
Порядок фаз и состав — из библии (§7) и плана docs/08-roadmap.md; содержание шагов пересобрано с учётом того, что уже сделано, и того, что всё пишется своим кодом. Трудоёмкость — ориентир плана (пиковая численность × длительность фазы), реальный темп сессий выше — поэтому важнее критерии готовности. У каждой фазы — ссылки на экраны живого прототипа, которые она делает настоящими.
Закрытие основания (gate фазы 0)
сейчас · 2–4 недели · ≈ 3–5 чел.-мес.Довести то, что фаза 0 обещала, но не достигла, и выровнять документы под решения № 39–40.
- Точность рендера до ≥ 60 %, затем 70 % (сессия A): сноски и концевые сноски, обтекание плавающих объектов, балансировка колонок перед разделом «на текущей странице», неравные колонки, заглушки диаграмм/SmartArt по размеру, поле TOC. Мерить в лаборатории после каждого шага.
- Эталоны из Word: разовое разрешение владельца на управление Word или 1–2 VM с Microsoft 365 — иначе метрика смещена к LibreOffice.
- Три ОС в CI: запуск на Windows (дымовой тест, снимки), раннер macOS; матрица в
.forgejo/workflows. - Синхронизация документов (сессия B): README, комментарии
Cargo.toml, библия §4 (рендер — свой CPU-растр), план (без Qt, без Squish),oss.html; удалитьaqtinstall.log; починить тест эталона в release. - ADR по фактически принятым решениям (свой растр без Skia, свой шейпер, процессная модель) — вместо спайков Skia↔QRhi из плана.
- Решение о паритете и удаление Qt-прототипа
shell/.
Готово, когда: ≥ 70 % страниц SSIM ≥ 0,95 на 100 docx; зелёный CI на Linux/Windows/macOS; документы не противоречат коду.
Ядро и Write 1.0 + Hub
по плану 9 мес. · ≈ 290 чел.-мес. · релиз 1.0Превратить просмотрщик в текстовый процессор и выпустить первый продаваемый продукт на трёх ОС.
- 1.1 Модель правки: операционная модель (каждая правка — операция с идентификатором, совместима с будущим CRDT-журналом), транзакции, undo/redo с группировкой; курсор, выделение (слово/абзац/столбец), ввод с клавиатуры, IME (NSTextInputClient, IMM32/TSF, XIM), буфер обмена (текст, HTML, RTF, фрагмент docx, PNG). Подключить кнопки ленты к командам, мини-панель выделения.
- 1.2 Сохранение: кодек
.mwx1.0 (чтение/запись, XSD/RELAX NG), запись docx с round-trip и сохранением неизвестных частей, шифрование паролем черезmeridian-crypto; затем odt, rtf, txt/md/html, doc (чтение), epub/fb2. - 1.3 Вёрстка «как Word» до 85 %: автоширина таблиц, обтекание (6 режимов), сноски, секции с разной ориентацией, compat-режимы, биди/CJK, показ формул OMML и диаграмм из docx (только отображение).
- 1.4 Рецензирование и ссылки: исправления и комментарии в модели, оглавление/поля/закладки/перекрёстные ссылки, поиск и замена (regex, формат), сравнение документов (P0, решение № 32).
- 1.5 Печать и экспорт: печать через PDF ядра и системные диалоги и экспорт PDF/A из окна — уже сделаны 04.10; осталось своё окно печати с предпросмотром и параметрами, параметры экспорта, PNG/SVG страниц, PDF/UA-теги.
- 1.6 Hub и брокер: процесс
meridian-broker(единственный экземпляр, общий буфер, недавние, очередь печати), окно Hub, шаблоны, «Параметры», восстановление после сбоя (журнал каждые 2 с). - 1.7 Платформа: доступность — мост NSAccessibility начат 04.10, дальше UIA (Windows) и AT-SPI (Linux); несколько окон, режимы плотности, Wayland, правописание в фоне (движок готов), автозамена. Меню macOS и буфер обмена — уже есть.
- 1.8 Коммерческий контур: клиент
meridian-id(вход, 2FA, OAuth Яндекс ID/VK ID), активация ключом и офлайн, пробный период, замки на функциях, CRL; billing-service (ЮKassa, CloudPayments, чеки 54-ФЗ), портал, update-service, установщики (MSIX/MSI, DMG с нотаризацией, Flatpak/AppImage/deb/rpm), подпись. - 1.9 Качество и выпуск: корпус до 10 000, снимочные тесты ночью, фаззинг 24/7, бета «MOffice Insiders», локализация ru/en, справка.
Готово, когда (из плана): ≥ 99 % docx/doc/odt/rtf корпуса открываются; ≥ 85 % страниц SSIM ≥ 0,95 к Word; round-trip docx ≥ 90 %; ввод ≤ 16 мс p95; 100 % P0 Write и Hub; тест-покупки в РФ проходят; подписанные установщики на трёх ОС.
Sheets 1.5
по плану 10 мес. · ≈ 180 чел.-мес. · релиз 1.5Ядро формул уже есть — фаза начинается с сетки и форматов, а не с вычислителя.
- Окно Sheets на
meridian-ui— этап 1 сделан 04.10, этап 2 — 05.10 (дорожка C): сетка, строка формул, поле имени, выделение, листы, ввод с пересчётом, форматы, отмена, буфер, xlsx; маркер заполнения и серии, Ctrl+D/R, копирование формул со сдвигом ссылок, сортировка, поиск, CSV, автоширина, F4, диалог «Открыть / Сохранить как». Дальше: стили ячеек и вставка/удаление строк (API книг v0.5 — A), закрепление областей, автофильтр. - Свой кодек xlsx — сделан (A: чтение и запись, 99,94 % формул корпуса = Excel); дальше xls, ods, csv; кэш значений формул в
.msx. - Формулы: 497 из 518, числовые форматы, TEXT и русская локаль — сделаны (A); дальше — остаток каталога, инкрементальный и многопоточный пересчёт (ADR-A1).
- MOffice Chart (20 типов, общий для всех приложений) — по
docs/algorithms/chart-engine.md. - Сводные таблицы, условное форматирование, автофильтр и сортировка, импорт CSV, разметка страницы и печать, скрипты.
Готово, когда: 100 % P0 из docs/apps/sheets.md; xlsx корпуса открываются без потерь; пересчёт 100 тыс. формул быстрее Excel на эталонной машине.
Slides и Draw 2.0 + Business «стартовый»
по плану 10 мес. · ≈ 220 чел.-мес. · релиз 2.0- MOffice Scene — общая сцена фигур (prstGeom, заливки/обводки, группы, коннекторы) для Write, Sheets, Slides, Draw, Notes, Forms; MOffice Diagram (аналог SmartArt) с автораскладкой.
- Slides: модель слайдов, образцы и макеты, темы, анимации и переходы, сортировщик и разделы, показ и режим докладчика на втором экране, кодек pptx/odp; экспорт видео — P1 (2.1).
- Draw: трафареты
.mvs, коннекторы с маршрутизацией, слои и страницы, данные фигур и автораскладка, кодеки vsdx/svg/odg, экспорт PDF/PNG/SVG. - Business «стартовый»: консоль администратора v1, SSO OIDC, Education.
Paint, PDF, Math 2.5
по плану 10 мес. · ≈ 200 чел.-мес. · релиз 2.5- Paint: слои и режимы наложения, кисти (порт libmypaint уже проверен побитно в спайке), выделения и трансформации, фильтры (по образцу Pinta, свой код), снимок экрана, форматы png/jpg/webp/gif/tiff/ora/psd(базово).
- PDF: свой растеризатор чужих PDF (по образцу hayro, решение № 40), вкладки, поиск, аннотации, заполнение форм, упорядочивание страниц, подписи PAdES и шифрование, преобразование в Write/Sheets, OCR (языки по требованию).
- Math: раскладка формул (по образцу typst, свой код), визуальный и LaTeX/UnicodeMath ввод, встраивание во все приложения, MathML/OMML, озвучивание; редактирование формул в Free с 2.5.
- MOffice Color (ICC) для Paint, PDF и печати.
Notes, Mail, Base, Forms 3.0
по плану 12 мес. · ≈ 310 чел.-мес. · релиз 3.0- Notes: книжки/разделы/страницы, свободный холст, рукописный ввод, поиск с OCR, импорт Evernote и OneNote (своя реализация [MS-ONESTORE], 4–7 чел.-мес.), виртуальный принтер.
- Mail: IMAP/SMTP/POP3, CalDAV/CardDAV, календарь, контакты, задачи, правила, PST/MSG; Exchange/Graph — Business+.
- Base:
.mbxна SQLite (SQLCipher), конструкторы таблиц/запросов/форм/отчётов, выражения наmeridian-calc, подключения к PostgreSQL/MySQL/MS SQL, импорт accdb/mdb. - Forms: конструктор, логика ветвления, сбор ответов офлайн/PDF/почта, ответы в Sheets; веб-сбор — в 3.5.
Облако и совместная работа 3.5
по плану 12 мес. · ≈ 290 чел.-мес.Экосистема 4.0
по плану 12 мес. · ≈ 340 чел.-мес.Магазин скриптов и шаблонов, MOffice Assist (локальные модели или облако), Publisher и Plan (для них сначала нужны спецификации и макеты — сейчас их нет), веб-просмотрщик — только по решению владельца.
8. Ближайшие 2 недели — по порядку
| # | Задача | Кто | Результат |
|---|---|---|---|
| 1 | Сноски, обтекание, балансировка колонок, заглушки диаграмм в вёрстке | A | SSIM ≥ 0,95 на 40–60 % страниц (лаборатория) |
| 2 | Операционная модель текста: вставка/удаление/формат как операции, undo/redo | A | тесты модели; FFI v0.4 с командами правки |
| 3 | Курсор, выделение и ввод в холсте Write поверх FFI v0.4; IME на macOS первым | B | в окне можно набрать и стереть текст |
| 4 | Кодек .mwx (чтение/запись) по spec/formats/ + шифрование | A | сохранить → открыть без потерь |
| 5 | Подключить готовое: правописание (подчёркивание), статистика, переход по странице (экспорт PDF и печать уже подключены 04.10) | B | ещё три кнопки начинают работать |
| 6 | Windows: первый запуск, дымовой тест; раннер macOS | B | CI на трёх ОС |
| 7 | Синхронизация документов с решениями № 39–40, переработка oss.html | B | документы = код |
| 7а | Sheets, этап 3: стили ячеек (шрифт, заливка, границы, выравнивание) и вставка/удаление строк и столбцов — после API книг v0.5 (запрос A); закрепление областей и автофильтр — своими силами. Этап 2 (серии, сортировка, поиск, CSV, диалог) сделан 05.10 | C | окно Sheets — к P0 фазы 2 |
| 8 | Решения владельца приняты 04.10: эталоны из Word разрешены, шрифты-данные в комплект разрешены, имя — MOffice. Дальше: эталоны Word для 100 docx (A), шрифты Caladea/Gelasio/PT/Noto (A + B), переименование этапа 1 (A и B — свои зоны) | A, B | честная метрика к Word; документы и интерфейс под новым именем |
9. Живой прототип — как устроен
Живой прототип — все экраны всех приложений в одном окне, сделанном по дизайн-системе MDS. В отличие от статичных макетов, здесь всё нажимается: в Write правится текст и работают стили, списки, таблицы, исправления, слияние; в Sheets считаются формулы; в Slides идёт показ; в Draw тянутся коннекторы; в Paint рисуется кисть; в Mail двигаются события календаря и т. д.
- Полоса сверху — приложения пакета; «Карта экранов» — все экраны с фильтром по состоянию в настоящем коде.
- Полоса экрана — номер и название, Работает в коде / Частично / Только макет, ‹ › — по всем экранам по порядку, «Как работает» (F1) — шаги, что есть в настоящем коде, что сделать и в какой фазе.
- Палитра команд
⌘⇧P/Ctrl+Shift+P/Alt+Qищет команды, экраны и приложения; тема переключается кнопкой ◐ (светлая, тёмная, высокий контраст). - Важно: прототип показывает целевое поведение. Что из этого уже есть в продукте — только то, что помечено зелёным; остальное — план.
10. Все экраны и их состояние
Всего экранов: 103 — Работает в коде: 3 Частично: 16 Только макет: 84
| Приложение | Экран | Название | Состояние в коде | Фаза | Ссылки |
|---|---|---|---|---|---|
| Общие | CM-01 | Диалог «Открыть» | Работает в коде | Фаза 0 — сделано | открыть · макет |
| Общие | CM-02 | «Сохранить как» с выбором формата и проверкой совместимости | Только макет | Фаза 1 · I05 (E1.4 кодеки записи) | открыть · макет |
| Общие | CM-03 | Печать | Частично | Фаза 1 · I05 (E1.3) | открыть · макет |
| Общие | CM-04 | Экспорт в PDF | Частично | Фаза 1 · I05 (E1.3) | открыть · макет |
| Общие | CM-05 | Поделиться и совместная работа | Только макет | Фаза 6 · облако и совместная работа (3.5) | открыть · макет |
| Общие | CM-06 | Командная палитра (⌘⇧P) | Работает в коде | Фаза 0 — сделано | открыть · макет |
| Общие | CM-07 | Панель правописания и грамматики | Частично | Фаза 1 · I04–I06 (E1.7 Lingo) | открыть · макет |
| Общие | CM-08 | Восстановление после сбоя и обновление | Только макет | Фаза 1 · I05–I08 (E1.5, E1.12) | открыть · макет |
| Общие | CM-09 | Окно «О программе» и диагностика | Только макет | Фаза 1 · I07 | открыть · макет |
| Аккаунт | AC-01 | Вход в MOffice ID | Частично | Фаза 1 · I03–I05 (E1.10) | открыть · макет |
| Аккаунт | AC-02 | Двухфакторная проверка | Только макет | Фаза 1 · I05 (E1.10) | открыть · макет |
| Аккаунт | AC-03 | Активация ключом | Частично | Фаза 1 · I04 (E1.10) | открыть · макет |
| Аккаунт | AC-04 | Офлайн-активация | Только макет | Фаза 6 · Enterprise (вечные Home/Pro — фаза 1) | открыть · макет |
| Аккаунт | AC-05 | Параметры → Облако и аккаунт | Только макет | Фаза 1 · I05–I07 (E1.10) | открыть · макет |
| Аккаунт | AC-06 | Пробный период и замок на функции | Частично | Фаза 1 · I03 (пробный Pro), I05 (замки) | открыть · макет |
| Аккаунт | AC-07 | Состояния лицензии | Частично | Фаза 1 · I05–I07 (E1.10) | открыть · макет |
| Аккаунт | AC-08 | Консоль администратора организации (веб) | Только макет | Фаза 3 · консоль v1 (2.0); v2 — фаза 6 | открыть · макет |
| Аккаунт | AC-09 | Портал: тарифы и покупка (веб) | Только макет | Фаза 1 · I05–I07 (E1.11) | открыть · макет |
| Аккаунт | AC-10 | Плавающая лицензия Enterprise | Только макет | Фаза 6 · Enterprise (3.5) | открыть · макет |
| Hub | HUB-01 | Главный экран Hub | Только макет | Фаза 1 · I03–I05 (E1.6) | открыть · макет |
| Hub | HUB-02 | Галерея шаблонов | Только макет | Фаза 1 · I07 (E1.15) | открыть · макет |
| Hub | HUB-03 | Параметры пакета | Только макет | Фаза 1 · I07 | открыть · макет |
| Hub | HUB-04 | Первый запуск и аккаунт | Только макет | Фаза 1 · I03 | открыть · макет |
| Write | WR-01 | Главное окно | Частично | Фаза 1 · I03 | открыть · макет |
| Write | WR-02 | Backstage «Файл → Открыть» | Работает в коде | Фаза 0 — сделано | открыть · макет |
| Write | WR-03 | Рецензирование | Только макет | Фаза 1 · I06 | открыть · макет |
| Write | WR-04 | Навигация и поиск | Частично | Фаза 1 · I06 | открыть · макет |
| Write | WR-05 | Таблица: контекстные вкладки и свойства | Частично | Фаза 1 · I04 | открыть · макет |
| Write | WR-06 | Макет страницы и колонтитулы | Частично | Фаза 1 · I04 | открыть · макет |
| Write | WR-07 | Компактный режим и режим «Фокус» | Частично | Фаза 1 · I06 | открыть · макет |
| Write | WR-08 | Вставка: диаграмма, формула, оглавление | Только макет | Фаза 1 (показ) · фазы 2–4 (правка) | открыть · макет |
| Write | WR-09 | Слияние (рассылки) | Только макет | P1 · релизы 1.1–1.6 | открыть · макет |
| Write | WR-10 | Сравнение документов и версии | Только макет | Фаза 1 · P0 (решение № 32) | открыть · макет |
| Sheets | SH-01 | Главное окно | Частично | Фаза 2 · релиз 1.5 | открыть · макет |
| Sheets | SH-02 | Ввод формулы | Частично | Фаза 2 · релиз 1.5 | открыть · макет |
| Sheets | SH-03 | Диаграммы | Только макет | Фаза 2 · релиз 1.5 | открыть · макет |
| Sheets | SH-04 | Сводная таблица | Только макет | Фаза 2 · релиз 1.5 | открыть · макет |
| Sheets | SH-05 | Условное форматирование | Только макет | Фаза 2 · релиз 1.5 | открыть · макет |
| Sheets | SH-06 | Диалог «Формат ячеек» | Частично | Фаза 2 · релиз 1.5 | открыть · макет |
| Sheets | SH-07 | Данные: автофильтр и импорт CSV | Частично | Фаза 2 · релиз 1.5 | открыть · макет |
| Sheets | SH-08 | Разметка страницы и печать | Только макет | Фаза 2 · релиз 1.5 | открыть · макет |
| Sheets | SH-09 | Скрипты и редактор MOffice Script | Только макет | Фаза 1–2 · Script API 1.0 в 1.6 | открыть · макет |
| Slides | SL-01 | Обычный вид | Только макет | Фаза 3 · релиз 2.0 | открыть · макет |
| Slides | SL-02 | Дизайн: темы и идеи оформления | Только макет | Фаза 3 · релиз 2.0 | открыть · макет |
| Slides | SL-03 | Анимации | Только макет | Фаза 3 · релиз 2.0 | открыть · макет |
| Slides | SL-04 | Переходы | Только макет | Фаза 3 · релиз 2.0 | открыть · макет |
| Slides | SL-05 | Сортировщик слайдов и разделы | Только макет | Фаза 3 · релиз 2.0 | открыть · макет |
| Slides | SL-06 | Режим докладчика | Только макет | Фаза 3 · релиз 2.0 | открыть · макет |
| Slides | SL-07 | Образец слайдов | Только макет | Фаза 3 · релиз 2.0 | открыть · макет |
| Slides | SL-08 | Вставка схемы | Только макет | Фаза 3 · релиз 2.0 | открыть · макет |
| Draw | DR-01 | Главное окно | Только макет | Фаза 3 · релиз 2.0 | открыть · макет |
| Draw | DR-02 | Коннекторы и формат | Только макет | Фаза 3 · релиз 2.0 | открыть · макет |
| Draw | DR-03 | Слои и страницы | Только макет | Фаза 3 · релиз 2.0 | открыть · макет |
| Draw | DR-04 | Данные фигур и автораскладка | Только макет | Фаза 3 · релиз 2.0 | открыть · макет |
| Draw | DR-05 | Экспорт | Только макет | Фаза 3 · релиз 2.0 (.vsd, .dxf — P1 · 2.1) | открыть · макет |
| Paint | PT-01 | Главное окно | Только макет | Фаза 4 · релиз 2.5 | открыть · макет |
| Paint | PT-02 | Кисть | Только макет | Фаза 4 · релиз 2.5 | открыть · макет |
| Paint | PT-03 | Трансформация выделения | Только макет | Фаза 4 · релиз 2.5 | открыть · макет |
| Paint | PT-04 | Галерея фильтров | Только макет | Фаза 4 · релиз 2.5 | открыть · макет |
| Paint | PT-05 | Новое изображение и размер | Только макет | Фаза 4 · релиз 2.5 | открыть · макет |
| Paint | PT-06 | Снимок экрана | Только макет | Фаза 4 · релиз 2.5 | открыть · макет |
PD-01 | Просмотр и аннотации | Только макет | Фаза 4 · релиз 2.5 | открыть · макет | |
PD-02 | Заполнить и подписать | Только макет | Фаза 4 · релиз 2.5 | открыть · макет | |
PD-03 | Упорядочить страницы | Только макет | Фаза 4 · релиз 2.5 | открыть · макет | |
PD-04 | Преобразование и OCR | Только макет | Фаза 4 · релиз 2.5 | открыть · макет | |
PD-05 | Защита и подпись | Только макет | Фаза 4 · релиз 2.5 | открыть · макет | |
| Math | MT-01 | Формула в Write | Только макет | Фаза 4 · релиз 2.5 (в Free — правка с 2.5; показ OMML в Write — фаза 1) | открыть · макет |
| Math | MT-02 | Отдельное окно Math | Только макет | Фаза 4 · релиз 2.5 (в Free — правка с 2.5) | открыть · макет |
| Notes | NT-01 | Главное окно | Только макет | Фаза 5 · релиз 3.0 | открыть · макет |
| Notes | NT-02 | Рисование и рукописный ввод | Только макет | Фаза 5 · релиз 3.0 | открыть · макет |
| Notes | NT-03 | Поиск и теги | Только макет | Фаза 5 · релиз 3.0 | открыть · макет |
| Notes | NT-04 | Импорт и вырезки | Только макет | Фаза 5 · релиз 3.0 | открыть · макет |
| Notes | NT-05 | Общая книжка | Только макет | Фаза 6 · релиз 3.5 | открыть · макет |
ML-01 | Почта | Только макет | Фаза 5 · релиз 3.0 | открыть · макет | |
ML-02 | Новое письмо | Только макет | Фаза 5 · релиз 3.0 | открыть · макет | |
ML-03 | Календарь (неделя) | Только макет | Фаза 5 · релиз 3.0 | открыть · макет | |
ML-04 | Событие (встреча) | Только макет | Фаза 5 · релиз 3.0 | открыть · макет | |
ML-05 | Контакты | Только макет | Фаза 5 · релиз 3.0 | открыть · макет | |
ML-06 | Задачи | Только макет | Фаза 5 · релиз 3.0 | открыть · макет | |
ML-07 | Учётная запись и правила | Только макет | Фаза 5 · релиз 3.0 · Exchange/Graph — Business+, EWS — P1 «3.1» | открыть · макет | |
| Base | BS-01 | Таблица (режим таблицы) | Только макет | Фаза 5 · релиз 3.0 · Pro; ввод данных — Home (BaseRuntime) | открыть · макет |
| Base | BS-02 | Конструктор таблицы | Только макет | Фаза 5 · релиз 3.0 · Pro | открыть · макет |
| Base | BS-03 | Запрос (конструктор QBE и SQL) | Только макет | Фаза 5 · релиз 3.0 · Pro | открыть · макет |
| Base | BS-04 | Конструктор формы | Только макет | Фаза 5 · релиз 3.0 · Pro; формы в работе — Home (BaseRuntime) | открыть · макет |
| Base | BS-05 | Отчёт | Только макет | Фаза 5 · релиз 3.0 · Pro | открыть · макет |
| Base | BS-06 | Схема данных и внешние подключения | Только макет | Фаза 5 · релиз 3.0 · Pro (MySQL, MS SQL, ODBC — P1) | открыть · макет |
| Forms | FM-01 | Конструктор формы | Только макет | Фаза 5 · релиз 3.0 | открыть · макет |
| Forms | FM-02 | Логика ветвления | Только макет | Фаза 5 · релиз 3.0 | открыть · макет |
| Forms | FM-03 | Ответы | Только макет | Фаза 5 · релиз 3.0 | открыть · макет |
| Forms | FM-04 | Предпросмотр и доступ | Только макет | Фаза 5 · релиз 3.0 · веб-сбор — Фаза 6 · 3.5, Pro+ | открыть · макет |
| OSS | OS-01 | Карта сборки | Только макет | Фазы 0–7 · состав продукта | макет |
| OSS | OS-02 | О программе → Лицензии открытого ПО | Только макет | Фаза 1 · окно «О программе» (CM-09) | макет |
| OSS | OS-03 | Write: правописание, переносы, диктовка, сравнение | Только макет | Фаза 1 · Write | макет |
| OSS | OS-04 | Sheets на ядре IronCalc | Только макет | Фаза 2 · Sheets | макет |
| OSS | OS-05 | Sheets: данные и поиск решения | Только макет | Фаза 2 · Sheets (P1) | макет |
| OSS | OS-06 | Paint: кисти и эффекты | Только макет | Фаза 4 · Paint | макет |
| OSS | OS-07 | Draw: трафареты и автораскладка | Только макет | Фаза 3 · Draw | макет |
| OSS | OS-08 | PDF: распознавание и преобразование | Только макет | Фаза 4 · PDF | макет |
| OSS | OS-09 | Math: формула и озвучивание | Только макет | Фаза 4 · Math | макет |
| OSS | OS-10 | Mail: календарь и безопасность | Только макет | Фаза 5 · Mail | макет |
| OSS | OS-11 | Hub: облака, обновления, отчёт о сбое | Только макет | Фаза 1 · Hub (облака — фаза 6) | макет |
| OSS | OS-12 | MOffice ID и консоль администратора | Только макет | Фазы 1–6 · аккаунт | макет |
| OSS | OS-13 | Скрипты и SBOM | Только макет | Фаза 1 · скрипты (E1.9) | макет |
11. Источники
- Код:
kernel/crates/*,ui/*,services/*,tools/*; прогонcargo test --workspace --release2026-10-04; снимок окнаmeridian-write --screenshot. - Журналы сессий:
docs/sessions/A-log.md,B-log.md, контрактыCONTRACTS.md. - Замеры:
tests/corpus/stats/render-compare.md,docx-open.md; стенд moffice-lab.24oros.ru (прежний адрес meridian-lab тоже работает). - План и решения:
docs/00-foundation.md(библия),docs/08-roadmap.md,docs/research/own-shell.md,own-code-plan.md, спецификацииdocs/apps/*.md. - Стенды: meridian-office.24oros.ru (документы и макеты), meridian-api.24oros.ru (лицензии и аккаунты).
plan/ в репозитории