# Backlog > Статус: **active**. Продуктовые, UX- и инфраструктурные задачи. Здесь только > **открытые** задачи: выполненные удаляются, а критичные для проекта факты из > них переносятся в тематический документ (архитектура, quality gates, lint, > e2e) по мере закрытия. > > «Что сознательно не вводим и почему» живёт в `docs/decisions.md`, архитектура > — в `docs/architecture.md`. Raw-находки UX-аудита — `docs/tools-audit.md`, их > разбивка на волны — `docs/plan-fields-audit-fixes.md`. > > Ids инструментов сверять с `web/src/lib/registry/`; полный список — > `docs/tools-map.md`. ## lint и прочие правила - [ ] `tseslint.config(...)` deprecated: сигнатура `(...configs: InfiniteDepthConfigWithExtends[]): ConfigArray` помечена устаревшей, нужен переход на `defineConfig` из `typescript-eslint` — `web/eslint.config.js`. - [ ] удалить мёртвые `tools.*.params` из root i18n после проверки потребителей; до этого действует pattern-based policy-исключение (`web/eslint-plugins/README.md`, раздел `dict-consistency`) ## Мелочи всякие Порядок правок полей и раскладки — `docs/plan-fields-audit-fixes.md`, сами находки («что плохо», с датой аудита) — `docs/tools-audit.md`. Здесь — как это исправить; находка в аудите не отменяет задачу здесь. - [ ] Пересмотреть тесты - исправить всякие хрупкие, которые проверяют количество инструментов, точное совпадение текстов, поиск по `img[alt="Result image"]`, svelte классам и тому подобные - [ ] нужен инструмент для удаления фона по выбранной точке - удалять внутри выделенной области - [ ] сделать конвертацию в смайлики\награды для твитча (6 размеров или выбор какой размер и 2 сетки) - [ ] неудобно настраивать ползунками, некоторые инструменты удобнее настроить через drag-n-drop. звучит сложно, но надо придумать процесс - [ ] можно ли в тестах получать i18n ключ вместо текста? - [ ] убрать в тестах все нестандартные символы `→`, длинные тире и т.д. - [ ] Пересмотреть прозрачность в инструментах - Create empty PNG - прозрачность должны быть настраиваемой 0-100%, а не переключателем - [ ] обдумать объединение пар `inputMode + source` и `resultKind + result` в единую структуру, позволит упростить некоторые вещи - например `sourceValue` \ `resultValue` в `SchemaPreview.svelte` - [ ] Рассмотреть необходимость всех этих пропсов в `SchemaPreview.svelte` они дублируют друг друга `ontextsource`, `onrendertext`, `oncopytext`, `ondownloadtxt`, `ondownload`, - [ ] Переделать внешний вид инструментов без настроек, например Remove alpha channel PNG "remove-alpha-channel-png". Сейчас выглядит слишком пустым. - [ ] Убрать описание формата в отображении исходник\результат - это должно быть в кнопке Download - [ ] Кнопка download должна сразу писать какой формат сейчас, быть с селектором формата и подсвечивать предупреждение если формат не совместим (альфа канал) - [ ] Пересмотреть поля - Plate, Position, Font Style - сейчас второй label - [ ] Font Style - обдумать выбор шрифта (google fonts???) как организовать шрифты с кириллицей? сделать галочку "только с кириллицей"??? (решение о наборе и лицензиях: `docs/plan-platform.md` §4 — только OFL/Apache с паспортом, семейства с кириллицей) - [ ] поле ввода текста - сделать по умолчанию нормального размера, а не одну строку для svg - форматирование или подсветку синтаксиса??? для bin\hex - форматирование по колонкам??? для hex\bytes\rgba - пример в placeholder - [ ] сделать загрузку картинки исходника по ctrl+v и drag-and-drop (dropzone) - [ ] square-mask-png - проверить работу - параметры неверно считаются. width - 100, height - 100, x - 100, y - 100, обрезает 50% на 50% картинку - [ ] прикрутить кастомный color picker, добавить прозрачность (range?) - [ ] проверить настройки range slider на crop-png - слишком большие значения - [ ] для range slider field - добавить поле для ввода цифр и кнопку сброса значения - [ ] для keep Aspect field - пересчитывать второе поле, учитывать какое было изменено - [ ] обновить страницу kit или сделать storybook - [ ] Свести convert-страницы на один инструмент `convert` — реализация уже умеет «скопировать пиксели, декодировать вход, отдать в заданном формате», а страницы различаются только форматом вывода. **Зависит от S1f** (`docs/plan-seo.md` §1): пока `quality` живёт в схеме страницы, у `convert-png-to-bmp` и `convert-png-to-jpg` разные наборы полей, и один инструмент на них не сойдётся. Качество — настройка кнопки Download («Download as JPEG»), а не поле страницы; после его переезда пресеты схемы не нужны, страницы различаются только `output` и `params` шага. Модель страницы к этому готова: `Page.steps` — список инструментов, один инструмент может обслуживать много страниц (`docs/architecture.md`, раздел 3). - [ ] придумать процесс редактирования и настройки pipeline - drag-n-drop, удаление, добавление инструментов. переход один инструмент - pipeline без перезагрузки - [ ] `CatalogToolbar`: фильтры используют сырой `