diff --git a/docs/TZ.md b/docs/TZ.md index ebd6b05..6c1bf8d 100644 --- a/docs/TZ.md +++ b/docs/TZ.md @@ -4,7 +4,7 @@ | | | |---|---| -| Версия ТЗ | 0.55 | +| Версия ТЗ | 0.56 | | Дата | 2026-10-09 | | Статус | На обсуждении | @@ -580,16 +580,20 @@ без `!important`-войн с китом: только каскадное переопределение поверх публичных классов. - Иконки в заголовках карточек — в цвете текста заголовка (раньше затемнялись). -- **Логотип и иконки — знак «стек входящих»** (0.54): лого (`logo.svg`) и все иконки - (favicon `icon.svg`, PWA-иконки 192/512 + maskable, иконки расширения) — три - строки задач без рамки: синий маркер — задача в работе, зелёный — закрытая, - остальные строки приглушены (`--gn-color-text-dark`). Строки задают знак без - буквы и рамки, поэтому он работает и как чип в шапке (навигационная оболочка, - экран входа, попап расширения), и как favicon/иконка приложения. Геометрия - прежняя по пропорциям, но `viewBox` подрезан по глифу — знак занимает всю - отведённую ему коробку (до 0.54 он выглядел мельче на треть). maskable-иконка — - глиф 72% на подложке `--gn-surface-page`. Лого попапа расширения — то же - лого-изображение (не иконка phosphor в CSS-рамке). +- **Логотип и иконки — знак «стек входящих» на холсте** (0.54, холст — 0.56): + лого — три строки задач (синий маркер — задача в работе, зелёный — закрытая, + остальные строки приглушены) на холсте 64×64 со скруглёнными краями (rx 10, + заливка `--gn-surface-page`) — приём логотипа gnexus-creds: знак читается и как + тёмная плитка на светлой панели вкладок, и на тёмных поверхностях кита. + `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 знак был в рамке-чипе, + в 0.54 рамку сняли с подрезкой `viewBox` по глифу — знак занимал всю отведённую + коробку, но в шапке и на экране входа выглядел «голым»; в 0.56 пропорции знака + не изменились, поменялась только подача (знак на холсте). ## 4. Нефункциональные требования diff --git a/extension/public/icons/icon-128.png b/extension/public/icons/icon-128.png index f64b7bd..fb6b0aa 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 2c7fc1d..2a4366d 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 467aafe..a419581 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 44ae1a7..472c2aa 100644 --- a/extension/public/icons/icon-48.png +++ b/extension/public/icons/icon-48.png Binary files differ diff --git a/extension/public/logo.svg b/extension/public/logo.svg index ae798e1..8374801 100644 --- a/extension/public/logo.svg +++ b/extension/public/logo.svg @@ -1,7 +1,7 @@ - - + + GNexus Tasks — три строки задач + + diff --git a/frontend/public/icons/icon-192.png b/frontend/public/icons/icon-192.png index 577b36d..8c6db81 100644 --- a/frontend/public/icons/icon-192.png +++ b/frontend/public/icons/icon-192.png Binary files differ diff --git a/frontend/public/icons/icon-512.png b/frontend/public/icons/icon-512.png index 7b0f56a..c491672 100644 --- a/frontend/public/icons/icon-512.png +++ b/frontend/public/icons/icon-512.png Binary files differ diff --git a/frontend/public/icons/icon.svg b/frontend/public/icons/icon.svg index 517b471..c93dfaa 100644 --- a/frontend/public/icons/icon.svg +++ b/frontend/public/icons/icon.svg @@ -1,8 +1,9 @@ - - - + + GNexus Tasks — три строки задач + + diff --git a/frontend/public/icons/maskable-512.png b/frontend/public/icons/maskable-512.png index 16d6510..28547e2 100644 --- a/frontend/public/icons/maskable-512.png +++ b/frontend/public/icons/maskable-512.png Binary files differ diff --git a/frontend/public/logo.svg b/frontend/public/logo.svg index ae798e1..a8ee4d6 100644 --- a/frontend/public/logo.svg +++ b/frontend/public/logo.svg @@ -1,7 +1,9 @@ - - + + GNexus Tasks — три строки задач + + diff --git a/tools/rasterize_icons.sh b/tools/rasterize_icons.sh new file mode 100755 index 0000000..a56e05e --- /dev/null +++ b/tools/rasterize_icons.sh @@ -0,0 +1,33 @@ +#!/usr/bin/env bash +# Иконки gntodo растрируются из единственного источника — frontend/public/logo.svg +# (знак «стек входящих» на холсте 64×64 со скруглёнными краями, приём gnexus-creds). +# +# frontend/public/icons/icon-192.png, icon-512.png purpose "any" +# frontend/public/icons/maskable-512.png purpose "maskable" +# extension/public/icons/icon-{16,32,48,128}.png иконки расширения +# +# Нужен ImageMagick с rsvg (проверка: magick -list format | grep SVG → RSVG). +# Фон #16161E впечатываем в PNG: прозрачность iOS рисует чёрным (углы холста +# скруглены, за ними — ничего), а maskable на Android обрезается по кругу. +# После правки логотипа: ./tools/rasterize_icons.sh +set -euo pipefail +cd "$(dirname "$0")/.." + +LOGO=frontend/public/logo.svg +PAGE='#16161E' # фон страницы кита — тот же, что у холста логотипа +SAFE=80 # maskable: холст = 80% кадра (safe zone адаптивных иконок Android) + +raster() { # raster <итоговый размер> <файл> [размер холста внутри кадра] + local size=$1 out=$2 canvas=${3:-$1} + magick -background "$PAGE" -density $((96 * canvas / 64)) "$LOGO" \ + -resize "${canvas}x${canvas}" -gravity center -extent "${size}x${size}" \ + -background "$PAGE" -alpha remove -alpha off -depth 8 -strip \ + -define png:color-type=2 "$out" # truecolor без альфы — одинаково у всех размеров +} + +raster 192 frontend/public/icons/icon-192.png +raster 512 frontend/public/icons/icon-512.png +raster 512 frontend/public/icons/maskable-512.png $((512 * SAFE / 100)) +for s in 16 32 48 128; do raster "$s" "extension/public/icons/icon-$s.png"; done + +command ls -l frontend/public/icons/*.png extension/public/icons/*.png