Ты хочешь чтобы затебя придумали "рамки" в которых будешь решать задачу, формализовали их, кинули тебе обзор всего что может современный фронтенд и разжевали что и как делать?
Если говорить о графическом редакторе в браузере
1) Тебе нужно сделать сложный одностраничный интерфейс, при чем все контролы не нужно рисовать на канвасе, это обычный HTML для отрисовки этого интерфейса тебе пригодится VUE, React или Angular по вкусу
2) Тебе нужно не запутаться во всех этих потоках данных, которые ты будешь получать с контролов, тут тебе нужен стейт менеджемент (NgRX, Redux ну или что там популярное для VUE)
3) Ну и часть интерфейса тее нужно рисовать на канвасе, тут тоже в зависимости от того что тебе нужно можно найти фреймвоки