hn.today

Declarative Dragging

declarative-dragging.github.io6 points0 comments
Screenshot of Declarative Dragging

Declarative Dragging presents a way to build rich drag-and-drop interactions without hand-coding their geometry, visual feedback, and animations. Instead of prescribing how an object should move, an interface author specifies which future application states should be reachable by dragging it. The system renders those possible states in advance, finds where the dragged object appears in each, and turns those positions into drop targets, with transitions between them. This model-driven approach aims to make tactile interactions practical for people working in fields such as education, mathematics, games, and creative tools, where bespoke dragging can otherwise be too laborious to implement.

The authors also make the system composable: developers can combine basic behaviors and add modifiers for features such as floating, snapping, and transitions. They implemented the approach as Dragology, a library for web-based SVG interfaces, and demonstrate it in interactive examples involving algebra, trees, curves, braids, cards, and geometric pieces. Later work explores interfaces where multiple representations of the same system update together during a drag, as well as programming environments where code refactorings become tangible and discoverable. The project grew from an effort to make mathematical transformations feel physically manipulable, and received the UIST 2026 Best Paper Award.

Read on declarative-dragging.github.io0 comments on Hacker News

Summary generated by AI from the linked article. hn.today is not affiliated with Hacker News or Y Combinator.

More in Programming

The daily digest

Today's best Hacker News stories, summarized and screenshotted, one email a day.