3.4 KiB
3.4 KiB
Tasks
1. Backend: цветовая модель и рендер (Go)
- 1.1 Добавить
ColorParamsиEditParams.Colorвbackend/internal/photos/edit.go, обновитьNormalized/IsEmpty/JSONс учетом цвета — проверитьgo build ./internal/photos/ - 1.2 Реализовать
applyColor/applyColorRowsи включить цвет вdecodeAndAdjustпосле света (backend/internal/photos/edit_render.go) — проверитьgo test ./internal/photos/ -run TestColor -v - 1.3 Добавить тесты цветовых параметров (
edit_test.go): валидация диапазонов,IsEmpty, рендер с цветом — проверитьgo test ./internal/photos/ -v
2. Фронтенд: цветовая модель (TypeScript)
- 2.1 Добавить
ColorParams, цветовые ползунки,emptyColor, обновитьreadEditParams/isEmptyEditParams/normalizeEditParamsвfrontend/src/lib/edit.ts— проверитьnpm run check(вfrontend) - 2.2 Реализовать
applyColorToPixelsвedit.ts, зеркальное серверной математике — проверитьnpm run test(вfrontend,edit.test.ts) - 2.3 Поддержать цвет в
light-wasm.tsи тест паритетаwasmMatchesReference— проверитьnpm run test(вfrontend,light-wasm.test.ts)
3. WASM модуль цвета (Rust)
- 3.1 Реализовать цветовые операции (баланс белого, вибрация, насыщенность, микшер, точечный цвет) в
frontend/wasm/light/— проверить сборку модуля - 3.2 Пересобрать
static/light.wasm— проверить файл обновился
4. UI: панель и превью цвета
- 4.1 Добавить раздел «Цвет» в
PhotoEditPanel.svelte(баланс белого, вибрация, насыщенность, микшер, точечный цвет) — проверить открытие/сворачивание панели - 4.2 Поддержать цвет вライブ-превью
Viewer.svelteчерезapplyLight+applyColor— проверить изменение превью при движении ползунков - 4.3 Подключить сохранение цветовых параметров через
photosApi.edit— проверить сохранение на сервере
5. Интеграция и проверка
- 5.1 Проверить эндпоинт правки (
POST /api/photos/:id/edit) с цветовыми параметрами — проверить ответ сedit_url - 5.2 Проверить сброс цветовых правок — проверить возврат к оригиналу
- 5.3 Проверить обратную совместимость: фото без ключа
colorвedit_paramsрендерятся без цветовых правок — проверитьmake test(бэкенд)
Workflow follow-up
- Архивировать изменение после удовлетворения требований ревью проекта.
- Проверить архивированный результат.