Вы можете делать так как Вам хочется. Если хотите освоить клиентскую архитектуру, то сразу забывайте о толстом контроллере. А дальше все как везде, это уже дело вкуса - архитектурного подхода. Ну и ещё могу посоветовать рассматривать сервисный слой, как часть того с чем его используют. То есть если у Вас есть объект данных для логики приложения и есть сервис, который эти данные изменяет, то не расценивайте данные и сервис, как две отдельные части, это одна модель приложения.
То есть Вы должны понять, что из-за особенного вида клиентских разработчиков, angular искажает понятия модели приложения и данных для отображения. В angular ассеты называются моделью o_O. То есть ребенок захотел поиграть во взрослого, одил контрацептив, а он фак его, слетает. Это равносильно тому, как вэб разработчики, захотев напялить mvc сделали ассеты-данные для отображения - моделью.
То есть Вы верите, что если просить, то за Вас сделают игру? Если бы у Вас были знания математические, то Вы бы не спрашивали, как это сделать. Получается что Вас нужно учить математике за пятый класс. Затем нужно научить программированию, не js, а именно программированию, ведь знай его Вы бы не спрашивали как это сделать. Получается что Вы хотите чтобы кто-то написал Вам целую статью. Ждите, может кто-то да напишет, сработает эффект заступника.
Для убедительности могу сказать, что все так делают. В плане правильности лучше каждый кадр перерисовывать весь канвас, нежели создавать множество. Хотя, если бы сетка была не просто сетка, а сетка с программно рисующейся текстурой, то лично я бы создал два канваса, один для статичной графики, другой для динамичной. Первая не перерисовывается очень часто, другая наоборот перерисовывается каждый тик.
Самому было бы легко сделать, если бы не огибание линией объекта.
Если же есть желание сделать самому и допустимо чтобы линии не огибали, а проходили под объектами, но в момент наведения на линии или объект они подсвечивались и меняли свой уровень, то есть становились на уровень выше объектов, то такое не сложно сделать на canvas, если рекурсии и векторная алгебра Ваше все.
Если на меня пожалуются и это сообщение будет читать модератор, то прежде чем ругать меня, подумайте, что этот п*л может стать причиной отказа от программирования автора.
И обязательно при этом или бежать или пресс качать. Так как все матерые программисты ещё и спортсмены, по их словам. Еще нужно чесать косу, ведь у самураев есть коса, и практиковаться в телекинезе, как мастер еда, ведь это ихо все!
Есть конечно ещё сисадмины, но это не программисты и чтобы быть похожим на них, достаточно крошки на груди, застывшее сало на клавиатуре и заплетенные вокруг прыща дреды под носом.
Сергей Кузнецов: Вы говорите о разных отображениях, то напрашивается вопрос - а сетку Вы под все разрешения настроили? А то может на квадратном разрешение не такое как на широкоформатном и по этому меню другое? Может дело в значениях сетки, а не в добавлении чего-то там браузером?