Skip to content

DragAndDrop

Purpose

Owns reusable drag-and-drop editor UI systems used throughout Snap Studio Pro.

This territory handles drag interaction, drag validation, visual highlighting, and prefab drop routing for reusable editor drop zones.

Owns

  • Drag-and-drop interaction handling
  • Prefab drop validation
  • Highlighted drop-zone UI
  • Drag visual feedback
  • Reusable drop-panel rendering
  • Drag event routing

Does NOT Own

  • Prefab repository ownership
  • Prefab loading implementation
  • Preview lifecycle ownership
  • Rendering implementation
  • Export workflows

Allowed Dependencies

DragAndDrop may depend on:

  • Unity Editor drag APIs
  • Shared panel styling/helpers
  • Lightweight prefab validation helpers
  • Repaint callbacks

DragAndDrop should avoid depending on:

  • rendering systems
  • export systems
  • preview orchestration systems
  • feature workflow systems

Notes

This folder owns reusable editor interaction behaviour only.

It validates and routes drag/drop actions, but does not decide what larger workflows should occur after a drop succeeds.

The goal is reusable editor UX infrastructure without coupling drag/drop handling directly into preview or feature systems.

Future Candidates

  • Keep drag/drop systems reusable and editor-focused.
  • Maintain explicit validation and repaint ownership.
  • Avoid embedding feature workflow behaviour into drag/drop systems.