- Проект написан на SpriteKit + UIKit
- Сохранение векторов между запусками приложения осуществляется с помощью CoreData.
- Side-меню реализовано через TableView + кастомную ячейку.
- Главный экран показывает 2D-полотно, на котором можно задавать и откладывать различные вектора. Есть возможность двигать полотно по направлениям право-лево, верх-низ средствами pan-жеста. Задание параметров нового вектора происходит на отдельном экране, который открывается по нажатию на кнопку “+”. Каждый вектор отрисовывается стрелкой рандомного цвета. Количество векторов, которое можно создать, не ограничено.
- Реализовано Side-меню выезжающее слева на 1/3 часть экрана, которое отображает список созданных векторов с их координатами и длиной. Кроме того, side-меню позволяет удалять вектора. По нажатию на элемент списка в side-меню соответствующий вектор будет на секунду подсвечен большей толщиной линии в 2D-пространстве.
- Реализована возможность редактировать вектор long-press-жестом, перетягивая его конечную или начальную точку. Так же есть возможность параллельно переносить вектор целиком.
- Приложение сохраняет заданные вектора между запусками приложения средствами CoreData. Механика 2D-полотна реализована средствами SpriteKit.