mirror of
https://github.com/Ku6epXBOCTuK/easy-png-tools.git
synced 2026-09-14 21:46:35 +00:00
docs: update plans, backlog and other docs
This commit is contained in:
@@ -1,8 +1,14 @@
|
||||
# План C17: перенос preview → корень + (old) → /v1/
|
||||
|
||||
> Статус: план к выполнению. Предпосылки: tech debt закрыт, backlog №14 (старые
|
||||
> файлы → lib/old/) выполнен. Домен НЕ блокер (см. plan-redesign.md §10,
|
||||
> plan-seo.md §6).
|
||||
> **СТАТУС: ВЫПОЛНЕН (2026-09-11) — устарел.** Перенос завершён:
|
||||
> preview-страницы на реальных маршрутах, старый дизайн на `/v1/*`,
|
||||
> `app.css`/`app_v1.css`, isolation-плагин на v1-путях, аудит-скрипты в
|
||||
> `scripts/archive/`. C18 (правки импортов/редиректов, проверка билда) тоже
|
||||
> выполнен. Следующий этап — C19–C21 (`plan-redesign.md`, §10).
|
||||
>
|
||||
> Оригинальный статус до выполнения: план к выполнению. Предпосылки: tech debt
|
||||
> закрыт, backlog №14 (старые файлы → lib/old/) выполнен. Домен НЕ блокер (см.
|
||||
> plan-redesign.md §10, plan-seo.md §6).
|
||||
|
||||
## Цель
|
||||
|
||||
@@ -64,9 +64,9 @@
|
||||
|
||||
**Вариант Б (страховка): руками, пакетами по компонентам.** Если скрипт не
|
||||
удался — чистим/заводим токены вручную, пакетами по компонентам (1–2 на задачу,
|
||||
дифф < ~500 строк). Отсутствующие токены (например `--space-2xl`/`--space-panel`,
|
||||
уже дважды обходились в SchemaTextSource) добавляем в словарь `preview.css`
|
||||
осознанно.
|
||||
дифф < ~500 строк). Отсутствующие токены (например
|
||||
`--space-2xl`/`--space-panel`, уже дважды обходились в SchemaTextSource)
|
||||
добавляем в словарь `preview.css` осознанно.
|
||||
|
||||
Гейт этапа: `pnpm --dir web lint:all` — только допустимый остаток
|
||||
(неиспользуемые токены — варнинг), плюс регресс-прогон тестов и svelte-check.
|
||||
|
||||
+7
-3
@@ -26,12 +26,14 @@
|
||||
паспортом, семейства с кириллицей)
|
||||
- [ ] Посмотреть темную тему - слишком темная???
|
||||
- [ ] на картинке результате при работе дергается высота надписи (высота иконки)
|
||||
- [ ] Глянуть что за ошибка (воспроизвелось на blur-png, в том числе и повторно)
|
||||
- [x] Глянуть что за ошибка (воспроизвелось на blur-png, в том числе и повторно)
|
||||
[баг в хроме](https://issues.chromium.org/issues/556160936)
|
||||
`Uncaught TypeError: Cannot read properties of undefined (reading 'startTime')`
|
||||
`at et.reportAllChanges (anonymous:2:19429)`
|
||||
- [ ] сделать загрузку картинки исходника по ctrl+v и drag-and-drop (dropzone)
|
||||
- [ ] не работают генераторы картинок (create-empty-png)
|
||||
- [x] не работают генераторы картинок (create-empty-png)
|
||||
- [ ] генераторы работают не автоматически - требуется нажать кнопку generate
|
||||
(create-empty-png)
|
||||
- [ ] square-mask-png - проверить работу - параметры неверно считаются. width -
|
||||
100, height - 100, x - 100, y - 100, обрезает 50% на 50% картинку
|
||||
- [ ] прикрутить кастомный color picker (есть в old), добавить прозрачность
|
||||
@@ -55,11 +57,13 @@
|
||||
## Переезд
|
||||
|
||||
- [x] составить план переноса preview -> корень, старый корень -> old
|
||||
- [x] сам перенос (C17) — `docs/archive/plan-c17.md`
|
||||
- [ ] добавить i18n в preview
|
||||
|
||||
## SEO/GEO
|
||||
|
||||
Общий план: `docs/plan-seo.md` (S0–S4). Старт — после C17.
|
||||
Общий план: `docs/plan-seo.md` (S0–S4). C17 выполнен; старт возможен — пока
|
||||
только domain-free часть S1.
|
||||
|
||||
- [ ] переименование бренда + домен: чек-лист в локальном плане
|
||||
`docs/plan-domain.local.md` (вне git, имя домена в репо не публикуется;
|
||||
|
||||
+32
-30
@@ -1,12 +1,11 @@
|
||||
# План: переезд на новый дизайн (refs) — параллельная сборка
|
||||
|
||||
> Статус: план к выполнению. Шаги 5–6 (C17–C21) остаются **следующим этапом**.
|
||||
> Они больше не привязаны к «верности против рефа»:
|
||||
> `docs/archive/plan-design-fix.md` закрыт, аудит против рефа прекращён.
|
||||
> Tech debt закрыт (`docs/archive/plan-tech-debt.md`). Backlog №14 (переезд
|
||||
> старых файлов в `old/`) — **выполнено**. Покупка домена НЕ блокер C17:
|
||||
> домен нужен для S1 (`plan-seo.md`) — canonical, sitemap, снятие `noindex`.
|
||||
> C17 можно запускать без домена (см. §10).
|
||||
> Статус: C17 **выполнен** (`docs/archive/plan-c17.md`). Остались C18–C21 (шаг
|
||||
> 5–6) — **следующий этап**. Они больше не привязаны к «верности против рефа»:
|
||||
> `docs/archive/plan-design-fix.md` закрыт, аудит против рефа прекращён. Tech
|
||||
> debt закрыт (`docs/archive/plan-tech-debt.md`). Backlog №14 (переезд старых
|
||||
> файлов в `old/`) — **выполнено**. Покупка домена НЕ была блокером C17: домен
|
||||
> нужен для S1 (`plan-seo.md`) — canonical, sitemap, снятие `noindex`.
|
||||
>
|
||||
> Источники: `refs/` — Next/React-референс (правда по пикселям и интерактиву),
|
||||
> `refs-html/` — статические HTML-снимки для быстрого просмотра в браузере.
|
||||
@@ -241,11 +240,11 @@ src/routes/preview/tools/[id]/+page.svelte
|
||||
маршруты отдают новый дизайн, тесты зелёные, билд без предупреждений.
|
||||
|
||||
- **Фаза 5 — Удалить старый дизайн.** Удаление старых страниц, старого `ui/`,
|
||||
старого `app.css` (и его токенов), неиспользуемых классов; переименование
|
||||
`kit/` → `ui/` (финальное имя) либо оставление `kit/` как основного — решается
|
||||
на фазе 1. Финальный проход по брейкпоинтам 1200/1100/800/480. Критерий:
|
||||
`grep` по старым токенам/классам пуст, build чистый, старый дизайн нигде не
|
||||
упоминается.
|
||||
старого `app.css` (и его токенов), неиспользуемых классов; наведение порядка в
|
||||
`components/` (имя каталога и подпапок — решается на фазе 1; к C17 `kit/` уже
|
||||
разложен в `components/`). Финальный проход по брейкпоинтам 1200/1100/800/480.
|
||||
Критерий: `grep` по старым токенам/классам пуст, build чистый, старый дизайн
|
||||
нигде не упоминается.
|
||||
|
||||
Оценка объёма: Фаза 1 — фундамент+kit (~1 день), Фаза 2 — страницы (~1–2 дня),
|
||||
Фаза 3 — проверка (~полдня), Фаза 4–5 — переключение и чистка (~полдня).
|
||||
@@ -265,9 +264,9 @@ src/routes/preview/tools/[id]/+page.svelte
|
||||
|
||||
## 9. Открытые вопросы
|
||||
|
||||
- **Имя финального каталога компонентов:** оставить `kit/` как основное имя или
|
||||
переименовать в `ui/` на фазе 5 (удалив старое `ui/`). Рекомендую сразу писать
|
||||
в `kit/`, на фазе 5 переименовать в `ui/`. Решить на фазе 1.
|
||||
- **Имя финального каталога компонентов:** решено на C1 — писали в `kit/`, C17
|
||||
разложил его в `components/` (подпапки fields/layout/ui). На C19 — только
|
||||
навести порядок внутри `components/`, переименование не требуется.
|
||||
- **Изоляция через layout:** `app.css` вынесен из корневого layout в
|
||||
`(old)/+layout.svelte`; новый `design2.css` — только в `preview/+layout`.
|
||||
Проверить на фазе 1, что на `/preview/*` не попадают стили старого дизайна
|
||||
@@ -358,15 +357,14 @@ src/routes/preview/tools/[id]/+page.svelte
|
||||
неконсистентен. (доказательство отсутствия регресса). Фиксы по результатам
|
||||
— отдельными мелкими коммитами.
|
||||
|
||||
### Шаг 5. Сделать новый дизайн основным — СЛЕДУЮЩИЙ ЭТАП
|
||||
### Шаг 5. Сделать новый дизайн основным
|
||||
|
||||
> Tech debt закрыт. Backlog №14 (переезд старых файлов в `lib/old/`) — **выполнено**.
|
||||
> Покупка домена — НЕ блокер C17. C17 переносит маршруты и делает новый дизайн
|
||||
> основным; `noindex` остаётся до покупки домена и запуска S1 (`plan-seo.md`).
|
||||
> Детальный план см. в `docs/plan-c17.md` (старый `(old)/` → `/v1/`, удаление
|
||||
> отложено до C19).
|
||||
> C17 — **выполнен** (`docs/archive/plan-c17.md`): старый `(old)/` → `/v1/`,
|
||||
> preview-страницы переехали в корень, `app.css` стал корневым. C18 (правки
|
||||
> импортов/редиректов после переноса, проверка билда) — **выполнен**. Остались:
|
||||
> C19 (удаление старого, раскрытие `recommended` на весь код), C20, C21.
|
||||
|
||||
- [ ] **[C17]** Перенести `preview/*` → реальные маршруты (move), удалить
|
||||
- [x] **[C17]** Перенести `preview/*` → реальные маршруты (move), удалить
|
||||
`(old)/`, корневой `+layout.svelte` импортирует `design2.css` + новый
|
||||
shell. Убрать флаг/кнопку. **Снять `noindex, nofollow`** со страницы
|
||||
инструмента (`preview/tools/[id]/+page.svelte`) — страницы становятся
|
||||
@@ -376,17 +374,21 @@ src/routes/preview/tools/[id]/+page.svelte
|
||||
вместе с подключением canonical в S1. **И обновить `newCode` в
|
||||
`web/eslint.config.js`:** заменить `src/routes/preview/**` на
|
||||
`src/routes/**` (после переезда все маршруты — новый дизайн), компонентный
|
||||
glob `src/lib/components/kit/**` пока оставить.
|
||||
- [ ] **[C18]** Правки импортов/редиректов после переноса, проверка билда.
|
||||
glob `src/lib/components/kit/**` пока оставить. _(Итог: `newCode` обновлён
|
||||
(`components/**`, `routes/**`), `noindex` оставлен до S1 — домен ещё не
|
||||
куплен. Детали: `docs/archive/plan-c17.md`.)_
|
||||
- [x] **[C18]** Правки импортов/редиректов после переноса, проверка билда.
|
||||
_(Билд собирается без ошибок, линт/свелт-чека нет — выполнен.)_
|
||||
|
||||
### Шаг 6. Удаление старого
|
||||
|
||||
- [ ] **[C19]** Удалить старое `ui/`, прочие старые компоненты, старый
|
||||
`app.css`, неиспользуемые классы. Переименовать `kit/` → `ui/` (если
|
||||
решено на C1 — тогда в `eslint.config.js` обновить и компонентный glob).
|
||||
**И раскрыть ESLint `recommended` на весь код** — убрать scoped-блок
|
||||
`newCode` в `web/eslint.config.js` (см. AGENTS.md), прогнать `lint` и
|
||||
починить всплывшие ошибки в оставшемся коде. _Примечание: доменные модули
|
||||
- [ ] **[C19]** Удалить старое: маршруты `routes/v1/**`, код `lib/v1/**`,
|
||||
`app_v1.css` (и его токены), неиспользуемые классы. К этому моменту `kit/`
|
||||
уже упразднён (C17 разложил его в `components/`), навести порядок в
|
||||
`components/` (согласовать подпапки, финальное имя каталога). **И раскрыть
|
||||
ESLint `recommended` на весь код** — убрать scoped-блок `newCode` в
|
||||
`web/eslint.config.js` (см. AGENTS.md), прогнать `lint` и починить
|
||||
всплывшие ошибки в оставшемся коде. _Примечание: доменные модули
|
||||
(`lib/core`, `lib/registry`, тесты и т.п.) — это не «старый дизайн», у них
|
||||
свой линт-долг; расширение `recommended` на них может выдать много ошибок.
|
||||
Решить на C19: либо чиним сразу, либо расширяем scoped только на
|
||||
|
||||
+15
-15
@@ -1,9 +1,9 @@
|
||||
# План: SEO + GEO — индексация и конкуренция в image tools
|
||||
|
||||
> **Статус (2026-09-10):** план к выполнению. Старт — после C17
|
||||
> (`plan-redesign.md`): до переезда `preview/*` на реальные маршруты страницы
|
||||
> инструментов в `noindex`, применять техминимум некуда.
|
||||
> **Уточнено:** домен НЕ блокер C17 (см. §6). Задачи S1 разбиты на
|
||||
> **Статус (2026-09-11):** план к выполнению. C17 выполнен — `preview/*`
|
||||
> переехали на реальные маршруты (в `noindex` сохраняются до запуска S1, см.
|
||||
> `plan-redesign.md` C17). Сейчас применять можно domain-free часть S1.
|
||||
> **Уточнено:** домен не был блокером C17 (см. §6). Задачи S1 разбиты на
|
||||
> domain-free (можно делать параллельно с покупкой домена) и domain-required
|
||||
> (после покупки и настройки домена на Vercel).
|
||||
>
|
||||
@@ -136,8 +136,8 @@
|
||||
|
||||
### S1. Технический минимум (сразу после C17)
|
||||
|
||||
Разбито на две группы: **domain-free** (делаем параллельно с покупкой домена)
|
||||
и **domain-required** (после покупки и DNS-настройки).
|
||||
Разбито на две группы: **domain-free** (делаем параллельно с покупкой домена) и
|
||||
**domain-required** (после покупки и DNS-настройки).
|
||||
|
||||
#### S1-free: без домена (параллельно с C18–C19)
|
||||
|
||||
@@ -167,16 +167,16 @@
|
||||
из `pnpm build` после `vite build` (adapter-static пишет в `build/`,
|
||||
дописываем файл там же). Origin — из env (`PUBLIC_SITE_ORIGIN`), учёт
|
||||
опционального `BASE_PATH`.
|
||||
- [ ] **[S1c]** `robots.txt`: `Sitemap:` + закрыть служебные маршруты
|
||||
(`/kit` до C19; после — вернуть минимальный allow-all).
|
||||
- [ ] **[S1c]** `robots.txt`: `Sitemap:` + закрыть служебные маршруты (`/kit` до
|
||||
C19; после — вернуть минимальный allow-all).
|
||||
- [ ] **[S1d]** Компонент `Seo.svelte` (kit): canonical (абсолютный URL по
|
||||
актуальному маршруту), OG-теги (title/description/type/url/image),
|
||||
twitter:card. Подключить в root-layout. **Требует `PUBLIC_SITE_ORIGIN`**
|
||||
для абсолютных URL в canonical и OG:url.
|
||||
|
||||
> **Порядок S1:** S1e/S1f/S1g → покупка домена → S1a+S1b+S1c+S1d.
|
||||
> Гейты: build зелёный; в `build/` лежит корректный `sitemap.xml` со всеми
|
||||
> инструментами; canonical/OG присутствуют на всех страницах; e2e зелёные.
|
||||
> **Порядок S1:** S1e/S1f/S1g → покупка домена → S1a+S1b+S1c+S1d. Гейты: build
|
||||
> зелёный; в `build/` лежит корректный `sitemap.xml` со всеми инструментами;
|
||||
> canonical/OG присутствуют на всех страницах; e2e зелёные.
|
||||
|
||||
### S2. Контентный слой (параллельно C18–C19, волнами по категориям)
|
||||
|
||||
@@ -329,10 +329,10 @@ with PNG, JPG, WebP» в тексте + селектор формата в Downl
|
||||
- [ ] **[R2]** Купить выбранный домен (кандидаты и пробы — в локальном плане) и
|
||||
настроить деплой на Vercel без `BASE_PATH` (§0). Домен нужен до S1-domain:
|
||||
canonical и sitemap генерятся от `PUBLIC_SITE_ORIGIN`.
|
||||
- **Порядок:** R1+R2 можно делать параллельно с C17/C18/C19 (не блокируют).
|
||||
R2 (домен) — блокер только для S1-domain (canonical + sitemap + снятие
|
||||
`noindex`). После индексации переименование = переезд с 301, потеря позиций
|
||||
и ссылок — не делать. Поэтому R1/R2 — до S1-domain, но не обязательно до C17.
|
||||
- **Порядок:** R1+R2 можно делать параллельно с C17/C18/C19 (не блокируют). R2
|
||||
(домен) — блокер только для S1-domain (canonical + sitemap + снятие
|
||||
`noindex`). После индексации переименование = переезд с 301, потеря позиций и
|
||||
ссылок — не делать. Поэтому R1/R2 — до S1-domain, но не обязательно до C17.
|
||||
|
||||
## 7. Что осознанно НЕ делаем
|
||||
|
||||
|
||||
+7
-7
@@ -1,12 +1,12 @@
|
||||
# План разработки: easy-png-tools
|
||||
|
||||
> **Статус:** Фаза 1 (полноценный TS-сайт) в основном выполнена —
|
||||
> сайт живёт, каталог переведён в типизированный `registry-new` (121/125), идёт
|
||||
> редизайн на `preview/*` по `plan-redesign.md` (параллельная ветка, старый UI
|
||||
> на `(old)/`). Tech debt закрыт. Переезд старых файлов в `old/` выполнен.
|
||||
> Следующий этап: C17 (перенос preview → корневые маршруты). Домен НЕ блокер
|
||||
> C17, нужен для SEO (`plan-seo.md`, S1-domain). Фазы 2–8 — будущие. Фазы 9–10
|
||||
> спланированы в `docs/plan-platform.md`.
|
||||
> **Статус:** Фаза 1 (полноценный TS-сайт) в основном выполнена — сайт живёт,
|
||||
> каталог переведён в типизированный `registry` (121/125), новый дизайн по
|
||||
> `plan-redesign.md` стал основным на корневых маршрутах (C17 выполнен), старый
|
||||
> UI — на `/v1/*` (удаление отложено до C19). Tech debt закрыт. Следующий этап:
|
||||
> C18–C21 (`plan-redesign.md`, §10). Домен нужен для SEO (`plan-seo.md`,
|
||||
> S1-domain). Фазы 2–8 — будущие. Фазы 9–10 спланированы в
|
||||
> `docs/plan-platform.md`.
|
||||
|
||||
## 0. Решения
|
||||
|
||||
|
||||
Reference in New Issue
Block a user