Major graph editor improvements: standalone features, touch, docking, UX
Graph standalone features: - Clone button on all entity nodes (copy icon, watches for new entity) - Scene preset activation button (play icon, calls /activate API) - Automation enable/disable via start/stop toggle (PUT enabled) - Add missing entity types: sync_clock, scene_preset, pattern_template - Fix edit/delete handlers for cspt, sync_clock - CSPT added to test/preview button kinds - Bulk delete with multi-select + Delete key confirmation - Undo/redo framework with toolbar buttons (disabled when empty) - Keyboard shortcuts help panel (? key, draggable, anchor-persisted) - Enhanced search: type:device, tag:production filter syntax - Tags passed through to all graph nodes for tag-based filtering - Filter popover with grouped checkboxes replaces flat pill row Touch device support: - Pinch-to-zoom with 2-finger gesture tracking - Double-tap zoom toggle (1.0x ↔ 1.8x) - Multi-touch pointer tracking with pinch-to-pan - Overlay buttons and port labels visible on selected (tapped) nodes - Larger touch targets for ports (@media pointer: coarse) - touch-action: none on SVG canvas - 10px dead zone for touch vs 4px for mouse Visual improvements: - Port pin labels shown outside node on hover/select (outlined text) - Hybrid active edge flow: thicker + glow + animated dots - Test/preview icon changed to flask (matching card tabs) - Clone icon scaled down to 60% for compact overlay buttons - Monospace font for metric values (stable-width digits) - Hide scrollbar on graph tab (html:has override) Toolbar docking: - 8-position dock system (4 corners + 4 side midpoints) - Vertical layout when docked to left/right sides - Dock position indicators shown during drag (dots with highlight) - Snap animation on drop - Persisted dock position in localStorage Resize handling: - View center preserved on fullscreen/window resize (ResizeObserver) - All docked panels re-anchored on container resize - Zoom inertia for wheel and toolbar +/- buttons Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -1521,5 +1521,37 @@
|
||||
"graph.filter_group.strip": "Цвет. полосы",
|
||||
"graph.filter_group.audio": "Аудио",
|
||||
"graph.filter_group.targets": "Цели",
|
||||
"graph.filter_group.other": "Другое"
|
||||
"graph.filter_group.other": "Другое",
|
||||
"graph.bulk_delete_confirm": "Удалить {count} выбранных сущностей?",
|
||||
"graph.nothing_to_undo": "Нечего отменять",
|
||||
"graph.nothing_to_redo": "Нечего повторять",
|
||||
"graph.help_title": "Горячие клавиши",
|
||||
"graph.help.search": "Поиск",
|
||||
"graph.help.filter": "Фильтр",
|
||||
"graph.help.add": "Добавить сущность",
|
||||
"graph.help.shortcuts": "Горячие клавиши",
|
||||
"graph.help.delete": "Удалить / Отсоединить",
|
||||
"graph.help.select_all": "Выбрать все",
|
||||
"graph.help.undo": "Отменить",
|
||||
"graph.help.redo": "Повторить",
|
||||
"graph.help.fullscreen": "Полный экран",
|
||||
"graph.help.deselect": "Снять выбор",
|
||||
"graph.help.navigate": "Навигация по узлам",
|
||||
"graph.help.click": "Клик",
|
||||
"graph.help.click_desc": "Выбрать узел",
|
||||
"graph.help.dblclick": "Двойной клик",
|
||||
"graph.help.dblclick_desc": "Приблизить к узлу",
|
||||
"graph.help.shift_click": "Shift+Клик",
|
||||
"graph.help.shift_click_desc": "Множественный выбор",
|
||||
"graph.help.shift_drag": "Shift+Перетащить",
|
||||
"graph.help.shift_drag_desc": "Выбор рамкой",
|
||||
"graph.help.drag_node": "Перетащить узел",
|
||||
"graph.help.drag_node_desc": "Переместить",
|
||||
"graph.help.drag_port": "Перетащить порт",
|
||||
"graph.help.drag_port_desc": "Соединить сущности",
|
||||
"graph.help.right_click": "ПКМ по связи",
|
||||
"graph.help.right_click_desc": "Отсоединить связь",
|
||||
"automation.enabled": "Автоматизация включена",
|
||||
"automation.disabled": "Автоматизация выключена",
|
||||
"scene_preset.activated": "Пресет активирован"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user