| 2026-10-10 |

Иконки: углы прозрачны у всех без исключения — расширение, iOS и maskable (0.96)
...
Иконки расширения растривались непрозрачным вариантом (`raster_opaque`), а он
впечатывает фон `--gn-surface-page` — тот же, что заливка холста логотипа. Со
впечатанным фоном скругление сливается с холстом, и знак читается квадратом с
острыми углами: в панели браузера, на странице расширений и в магазине. Это тот же
просчёт, что в 0.90 у иконок «any» (там его заметил владелец в шторке уведомлений),
только иконки расширения тогда остались непрозрачными по недосмотру.
Раз впечатанный фон всё равно съедает скругление, непрозрачными не остаётся никто
(решение владельца 2026-10-10): на прозрачные углы переведены и apple-touch-icon, и
maskable-512, `raster_opaque` удалён. apple-touch-icon (180) — тот же знак во весь
кадр: iOS прозрачность рисует чёрным, но свою маску накладывает поверх и углы
срезает. У maskable-512 скруглён во всю иконку кадр, а знак стоит в safe zone 80%:
при обрезке по кругу Android срезает кадр, но не знак. Там, где иконка показывается
без чужой маски — лаунчер, магазин, панель браузера, — скруглённая читается лучше
квадрата.
Скрипт переставлен так, чтобы просчёт не повторился: по умолчанию `raster_rounded`
(знак во весь кадр, углы прозрачны), исключение теперь одно и с объяснением —
`raster_maskable`. ZIP расширения перепакован (build + pack), иначе страница
«Расширение» отдавала бы старые иконки; сам файл в git не хранится, его собирает
Docker.
Проверено попиксельно (`magick identify`: `%[channels]` → srgba, `%[pixel:p{0,0}]` →
srgba(0,0,0,0); у 16px угол сглаженный, srgba(25,25,33,0.12)) и глазами по сетке всех
девяти иконок в 3x на светлом фоне: углы прозрачные, скругление читается, знак у
maskable — в safe zone. Содержимое ZIP сверено с исходниками побайтово.
ТЗ 0.96: §3.19, §7.
root
committed
4 hours ago
|

Инлайн-правка длительности и скругление иконок (0.90)
...
Поля «Оценка времени» и «Фактически» были нерабочими: очищенное поле мгновенно
наполнялось прежним числом. Причина — кольцо «поля → значение → поля»: на каждую
цифру компонент отдавал родителю сумму, а родитель возвращал её назад, и раскладка
затирала набираемое («30 мин» → «0 ч 30 мин» в том самом поле, которое человек
только что очистил). Теперь текст полей — источник истины, пока в них печатают:
пришедшее значение применяется, только если не совпадает с уже набранным.
Границы (1…1440 мин, как в API) зажимаются на выходе из полей, а не на вводе —
зажим на каждой цифре переписывал бы число под курсором. Там же минуты
сворачиваются в часы («0 ч 90 мин» → «1 ч 30 мин»), а «Фактически» получило min
как у API (ge=1): «0 мин» сервер отвечал 422-й после нажатия ✓.
Строка параметров: редактор ставит фокус в первое поле (клик по значению =
«начать печатать»), а Esc отменяет независимо от того, где фокус. Обработчик на
самом компоненте ловил событие, только пока фокус оставался внутри, — после
клика по соседней строке Esc молча переставал работать, а сразу после открытия
не работал вовсе.
Иконки: скругление логотипа (rx 10) не было видно — растрирование впечатывало в
PNG фон страницы, тот же, что заливка холста, и углы сливались с ним: и в шторке
уведомлений, и у установленного приложения иконка читалась квадратом с острыми
углами. У иконок «any» (192/512 — они же icon системного уведомления) углы теперь
прозрачные. Где прозрачность недопустима, фон остался впечатан: maskable
обрезается Android по кругу, а для iOS добавлен отдельный apple-touch-icon.png
(180, непрозрачный квадрат — прозрачность iOS рисует чёрным).
ТЗ 0.90: §3.15 — состав иконок и правило скругления, §3 — фокус и Esc в
инлайн-редакторе, ввод длительности часами и минутами.
root
committed
9 hours ago
|
| 2026-10-09 |
Лого и иконки — знак на 10% меньше в холсте (0.57)
...
scale(.9) вокруг центра знака (32, 32.5): строки занимают ~56% холста
(36×35, поля ~14) вместо 62.5% — у холста появился воздух, как у creds.
PNG перегенерированы tools/rasterize_icons.sh, ZIP перепакован, фронт
пересобран.
Co-Authored-By: Claude Code <noreply@anthropic.com>
root
committed
1 day ago
|
Лого и иконки — холст со скруглёнными краями (0.56)
...
Приём gnexus-creds: знак не «голым», а на холсте 64×64 со скруглёнными
краями (rx 10, заливка страницы). logo.svg и favicon icon.svg — один файл,
как у creds; PNG (PWA 192/512/maskable, расширение 16/32/48/128) теперь
растеризуются скриптом tools/rasterize_icons.sh из logo.svg, фон впечатан
(прозрачность iOS рисует чёрным). maskable — холст 80% кадра.
Co-Authored-By: Claude Code <noreply@anthropic.com>
root
committed
1 day ago
|
Лого и иконки — знак «стек входящих» (0.54)
...
Бренд-чип кита заменён на знак «три строки задач»: синий маркер — в работе,
зелёный — закрытая, прочие строки приглушены. Без рамки и буквы, поэтому
работает и в шапке (навигационная оболочка, экран входа, попап расширения),
и как favicon/PWA-иконка.
- frontend/public/logo.svg, icons/icon.svg + PNG 192/512/maskable
- extension/public/logo.svg + icons 16/32/48/128, ZIP перепакован
- viewBox подрезан по глифу (11 11.5 42 42): в сетке 64 глиф занимает
12..52 × 13..52, иначе знак выглядел на треть мельче прежнего чипа
- .gitignore: *.local.html (страницы-превью вариантов)
Co-Authored-By: Claude Code <noreply@anthropic.com>
root
committed
1 day ago
|
| 2026-09-30 |
Лого и иконки — бренд-чип кита 1.0.0 (0.52)
...
logo.svg/icon.svg и все PNG (PWA 192/512, maskable, иконки расширения)
перерисованы в язык кита: панель, 2px бордер, 6px левая кромка accent,
скругление — глиф «промпт + чек» прежний. Бренд-марка попапа — само лого
вместо phosphor-иконки в CSS-рамке.
Co-Authored-By: Claude Code <noreply@anthropic.com>
root
committed
10 days ago
|
| 2026-09-19 |
Логотип: терминальный промпт + чек в палитре gnexus (tokyo-night)
...
- public/logo.svg — знак для шапки (GnNavigationShell logo-src; раньше
кит тянул дефолтный gnexus-mark.svg с 404 — в шапке была битая иконка).
- public/icons/icon.svg — favicon/панельная версия; PNG 192/512/maskable
перегенерированы из SVG.
Co-Authored-By: Claude Code <noreply@anthropic.com>
root
committed
21 days ago
|
M6: PWA — manifest, service worker, иконки
...
- vite-plugin-pwa (generateSW, autoUpdate): precache оболочки приложения
- manifest: standalone, иконки 192/512 + maskable
- /api, /auth, /mcp не кэшируются (данные — всегда онлайн)
- вложения и /assets — CacheFirst с лимитом 30 дней
- лимит precache поднят до 6 МБ (CSS кита/phosphor ~4 МБ)
- оффлайн-режим данных — открытый вопрос ТЗ 8.4, пока не реализуем
Co-Authored-By: Claude Code <noreply@anthropic.com>
root
committed
21 days ago
|