Reorderable-контейнеры: drag-to-reorder везде ⌚️
🔀 List больше не монополист на перетаскивание. Помечаете ForEach модификатором .reorderable(), оборачиваете лейаут в reorderContainer(for:) — и первоклассное переупорядочивание получает любой стек, сетка или собственный лейаут. Включая watchOS.
Перемещение элементов между секциями — через reorderable(collectionID:). ⚠️ Что важно знать заранее: когда драг завершается, замыкание отдаёт вам ReorderDifference — и никакого хелпера для применения нет. Массив вы правите сами, через sources и destination.position. То есть API отвечает за жест и анимацию, а за модель — вы. Бэкдеплоя нет, только iOS 27. Для простых List-экранов старый onMove никуда не делся и по-прежнему проще. А для перетаскивания данных между приложениями это не тот инструмент — там Transferable.