feat(web): in-canvas zoom & pan for the object eraser and split tools (#320)

* feat(web): add pure zoom/pan math module with unit tests

* feat(i18n): add a11y.pan key across all locales (English, matching adjacent zoom labels)

* feat(web): add useZoomPan hook (state + gestures over pure math)

* feat(web): add ZoomToolbar component

* feat(web): zoom & pan in the object eraser canvas

* feat(web): zoom & pan in the split tool preview

* fix(web): synchronous pan-mode refs so drag-pan is race-free under fast input

* test(e2e): zoom & pan acceptance (split always-on, eraser bundle-gated)
This commit is contained in:
SnapOtter
2026-06-22 20:50:28 +08:00
committed by GitHub
parent 313d4ae04e
commit 95d100c20b
28 changed files with 907 additions and 56 deletions
+1
View File
@@ -3424,6 +3424,7 @@ export const ru: TranslationKeys = {
zoomOut: "Уменьшить",
fitToView: "Вписать в окно",
actualSize: "Реальный размер",
pan: "Перемещение",
previousImage: "Предыдущий файл",
nextImage: "Следующий файл",
imageArea: "Область предпросмотра",