I have been experimenting with 'adaptive' layouts and font sizes with B4XPages.
That is, 'adaptive' to screen sizes. It is more complicated than just scaling.
B4Xpages invites thinking about a page (= a class) as a functional layout.
So one could have pages like you suggest.
So far, I have managed to create a page/class that can display grids, graphs, labels, switches, input fields.
All views are inside draggable/resizable panels and all text is rendered with the BBCodeview TextEngine.
I do the experimentation in B4J so I can resize the screen to see the effect of screen size on font and shapes.
Attractive font sizes are related to screen size but have a lower and upper bounds for legibility.
The horizontal scale and vertical scale need to be kept separate, where the vertical scale is dependent on the constrained font size.
The horizontal scale is computed form the center of the screen. Since almost universally (in Apps) now, texts are read horizontally,
only screen width needs to be considered in scaling calculations.
If you haven't done so, I suggest doing similar experiments with B4XPages.