Problem
Browsers accept file drops (into a file input or the page) and support dragging links/images out. Skyline has no drag-and-drop input. Listed under shell parity in tasks/NS/wp-NS-03-chrome-parity.md.
Current state
src/Skyline/Input/InputEvents.cs — only pointer/key/text; no drag events.
src/Skyline/IWindowBackend.cs / AppWindow.cs — no DnD seam.
What's needed
- Drag events (
DragEnter/Over/Leave/Drop) with position, offered MIME types, and a drop-data accessor (file URIs + typed bytes). Optionally a drag-out source API.
- GLFW exposes a basic file-drop callback; richer DnD needs native per-platform handlers (macOS
NSDraggingDestination, Win32 IDropTarget, X11 XDND / Wayland data-device).
- Optionally gate drops through the interaction tier's
Transfer capability.
Acceptance criteria
- A file dropped on the window surfaces its path(s) and MIME types to a consumer. Verified on at least one platform.
Problem
Browsers accept file drops (into a file input or the page) and support dragging links/images out. Skyline has no drag-and-drop input. Listed under shell parity in
tasks/NS/wp-NS-03-chrome-parity.md.Current state
src/Skyline/Input/InputEvents.cs— only pointer/key/text; no drag events.src/Skyline/IWindowBackend.cs/AppWindow.cs— no DnD seam.What's needed
DragEnter/Over/Leave/Drop) with position, offered MIME types, and a drop-data accessor (file URIs + typed bytes). Optionally a drag-out source API.NSDraggingDestination, Win32IDropTarget, X11 XDND / Wayland data-device).Transfercapability.Acceptance criteria