diff --git a/docs/TZ.md b/docs/TZ.md index a1b325b..c6ab147 100644 --- a/docs/TZ.md +++ b/docs/TZ.md @@ -4,7 +4,7 @@ | | | |---|---| -| Версия ТЗ | 0.95 | +| Версия ТЗ | 0.96 | | Дата | 2026-10-10 | | Статус | На обсуждении | @@ -914,16 +914,21 @@ - **Манифест**: standalone, тёмная палитра кита (`#16161e` — фон и theme-color, чтобы не мигало белым при запуске и не зеленела шапка окна), иконки 192/512 + maskable-512, `id`/`start_url` = `/`, язык ru. -- **Иконки** (0.90): растрируются из лого скриптом `tools/rasterize_icons.sh` — - единственный источник, поэтому знак в шапке, иконка вкладки и иконка приложения - не разъезжаются. У скругления холста логотипа (`rx` 10 = 15% стороны) в иконках - «any» **углы прозрачные**: с впечатанным фоном скругление сливается с заливкой - холста, и иконка читается квадратом с острыми углами — в том числе в шторке - системных уведомлений (3.21), где она и была замечена владельцем. Эти же 192/512 - отдаются уведомлению как `icon` (0.90). Где прозрачность недопустима, фон - впечатан: `apple-touch-icon.png` (180, iOS рисует прозрачность чёрным и обрезает - иконку своей маской — отдельный файл, а не 192 из «any») и `maskable-512.png` - (Android обрезает по кругу, холст в safe zone 80%). +- **Иконки** (0.90; иконки расширения и «прозрачные углы у всех» — 0.96): растрируются + из лого скриптом `tools/rasterize_icons.sh` — единственный источник, поэтому знак в + шапке, иконка вкладки и иконка приложения не разъезжаются. У скругления холста + логотипа (`rx` 10 = 15% стороны) **углы прозрачны у всех иконок без исключения** + (решение владельца 2026-10-10): фон впечатывался ровно тот же, что заливка холста, и + скругление сливалось с ней — иконка читалась квадратом с острыми углами. Замечено + владельцем в шторке системных уведомлений (3.21), а затем и в панели браузера у + иконок расширения. Знак во весь кадр идут `icon-192`/`icon-512` (они же `icon` + уведомления, 0.90), `apple-touch-icon.png` (180 — отдельный файл с тем же знаком, а + не 192 из «any»: iOS рисует прозрачность чёрным) и иконки расширения 16/32/48/128 + (панель браузера, страница расширений и магазин PNG не маскируют). У + `maskable-512.png` скруглён во всю иконку кадр, а знак стоит в safe zone 80%: при + обрезке по кругу Android срезает кадр, но не знак. Свои маски iOS и Android + накладывают поверх и углы срезают сами — а там, где иконка показывается без маски + (лаунчер, магазин, панель браузера), скруглённая читается лучше квадрата. - **Service Worker** (vite-plugin-pwa, `autoUpdate`; с 0.88 — свой воркер `src/sw.ts`, стратегия `injectManifest`): precache оболочки — собранные ассеты, шрифты/иконки кита (~6 МБ лимит), `/api/*`, `/auth/*`, `/mcp/*` никогда не кэшируются и не получают @@ -1231,9 +1236,9 @@ `logo.svg` (шапка, экран входа, попап расширения) и favicon `icon.svg` — один и тот же файл (тоже как у creds). PWA: icon-192/512 (any) и maskable-512 — холст 80% кадра (safe zone адаптивных иконок Android). PNG расширения 16/32/48/128 и - все PWA-иконки растеризуются из `logo.svg` скриптом `tools/rasterize_icons.sh`: - фон `--gn-surface-page` впечатан, потому что прозрачность iOS рисует чёрным - (углы холста скруглены, за ними — ничего). До 0.54 знак был в рамке-чипе, + все PWA-иконки растеризуются из `logo.svg` скриптом `tools/rasterize_icons.sh` — + что там с фоном и углами у каждой, см. «Иконки» в этом разделе. До 0.54 знак был + в рамке-чипе, в 0.54 рамку сняли с подрезкой `viewBox` по глифу — знак занимал всю отведённую коробку, но в шапке и на экране входа выглядел «голым»; с 0.56 знак подан на холсте. Попап расширения показывает лого из своего `public/` (у упакованного @@ -1772,7 +1777,7 @@ | M5 — MCP | MCP-сервер, инструменты для агентов | | M5+ — мандат агента | Доступность задачи для ИИ-агента, взятие в работу (аренда), приёмка работы, журнал `task_events` (0.85, 3.20) | | M6 — мобильность | PWA (Android-приложение — позже, вне стартового скоупа) | -| M6+ — уведомления | Системные уведомления (Web Push): подписки устройств, ключи VAPID, блок настроек, работа агента в закрытом приложении (0.88, 3.21). Напоминания: дедлайны, ритм регулярных задач, утренняя сводка, тихие часы (0.89, 3.21). Регулярные задачи: дата следующего экземпляра у клона, метка в карточке, фильтр «Регулярные» (0.91, 3.5). Импорт задачи из ссылки на багрепорт BugTrail — в форме задачи и в попапе расширения (0.92, 3.22). Автодетализация переведена на теги, приоритет и оценку времени — заголовок и описание ИИ не предлагает (0.93, 3.2). Журнал и шапка списка приспособлены к телефону, «Кто создал» стал переключателем (0.94, 3.20, 3.6). В стек идут только задачи без проекта, карточка стека собрана из обычной карточки задачи (карточки ряда одной высоты), выдача раскладывается тремя карточками в ряд (0.95, 3.1, 3.7, 3.9) | +| M6+ — уведомления | Системные уведомления (Web Push): подписки устройств, ключи VAPID, блок настроек, работа агента в закрытом приложении (0.88, 3.21). Напоминания: дедлайны, ритм регулярных задач, утренняя сводка, тихие часы (0.89, 3.21). Регулярные задачи: дата следующего экземпляра у клона, метка в карточке, фильтр «Регулярные» (0.91, 3.5). Импорт задачи из ссылки на багрепорт BugTrail — в форме задачи и в попапе расширения (0.92, 3.22). Автодетализация переведена на теги, приоритет и оценку времени — заголовок и описание ИИ не предлагает (0.93, 3.2). Журнал и шапка списка приспособлены к телефону, «Кто создал» стал переключателем (0.94, 3.20, 3.6). В стек идут только задачи без проекта, карточка стека собрана из обычной карточки задачи (карточки ряда одной высоты), выдача раскладывается тремя карточками в ряд (0.95, 3.1, 3.7, 3.9). Иконки: углы прозрачны у всех без исключения — скругление знака видно и в расширении, и на «Домой» в iOS (0.96, 3.19) | | M7 — упаковка | Docker (docker-compose: API, PostgreSQL, фронт, Ollama + модель) | Порядок M4/M5 может меняться — MCP можно поднять раньше ради ИИ-сценария. diff --git a/extension/public/icons/icon-128.png b/extension/public/icons/icon-128.png index db80bb2..7720831 100644 --- a/extension/public/icons/icon-128.png +++ b/extension/public/icons/icon-128.png Binary files differ diff --git a/extension/public/icons/icon-16.png b/extension/public/icons/icon-16.png index 45a4cd5..4a477fe 100644 --- a/extension/public/icons/icon-16.png +++ b/extension/public/icons/icon-16.png Binary files differ diff --git a/extension/public/icons/icon-32.png b/extension/public/icons/icon-32.png index f9743bc..3bd4413 100644 --- a/extension/public/icons/icon-32.png +++ b/extension/public/icons/icon-32.png Binary files differ diff --git a/extension/public/icons/icon-48.png b/extension/public/icons/icon-48.png index 81d21c9..7a43ae3 100644 --- a/extension/public/icons/icon-48.png +++ b/extension/public/icons/icon-48.png Binary files differ diff --git a/frontend/index.html b/frontend/index.html index 11e6fee..01e9468 100644 --- a/frontend/index.html +++ b/frontend/index.html @@ -10,9 +10,9 @@ - +