Тема
Контракты событий
Pointer, drag и keyboard contracts для Nova input.
Практическая схема
- Документация: NovaCore.
- Раздел: Справочник.
- Тема страницы: Контракты событий.
- Переключатель TypeScript / DSL находится в панели навигации; вкладка
Кодв примере показывает файлы выбранного подхода.
event · @endge/nova
NovaDragEventMeta
Payload drag handlers: текущая позиция pointer, delta текущего шага и общий delta от dragstart.
interface NovaDragEventMetaPointer
| Поле | Тип | Описание |
|---|---|---|
pointerId | number | Pointer identifier. Для mouse fallback используется 1. |
startX, startY | number | Canvas coordinates в момент mousedown. |
x, y | number | Текущие canvas coordinates pointer. |
Delta
| Поле | Тип | Описание |
|---|---|---|
dx, dy | number | Delta между последним и текущим mousemove. |
totalDx, totalDy | number | Полное смещение от точки старта drag. |
- Для перемещения node обычно используйте dx/dy.
- Для snap или ограничения drag удобнее totalDx/totalDy.
Как применять
Используйте страницу как короткую рабочую заметку: сначала определите границу ответственности, затем откройте пример и сравните TypeScript-реализацию с DSL-описанием. Runtime-код остается в Nova-слое, а Vue отвечает только за mount, layout shell и cleanup.