PS
если б я с нуля разрабатывал фреймворк для рендеринга интерфейса, я бы сделал подобие dom, в котором каждому элементу выдаются возможные размеры элемента, а он уже объявляет, какое место он займет и указывает инструкции для рендеринга. приходит ивент — каждый элемент опрашивается, нужно ли ему перерендерится и он отвечает либо нет либо инструкциями. не знаю в общем, как по мне это переусложнение, которое еще ухудшается непониманием языка в популярных гайдах по флаттеру.
Для создания приложения не обязательно вникать во все тонкости сразу. Если появились проблемы с перфомансом, то можно исследовать фреймворк в глубь.