-In this case, we invoke Buffer::change(false) with drawing disabled,
-which means that the paint machinery is invoked to update inset
-positions. Why is this necessary at all?
+** When a paragraph ends with a newline, compute correctly the height of the extra row.
+** Rewrite TextMetrics::editXY, checkInsetHit using row information (getPosNearX)?
+
+ The helper version should return a Row::Element instead of an InsetTable.
+
+** Set inset position during metrics phase
+
+In order to do that, a no-paint drawing will be initiated after every
+redoParagraph. This code path will need to be made as fast as possible.
+
+Effect: avoid depending on actual drawing having taken place. In turn,
+it will allow to do drawing on paint events, like any reasonable
+application would do.
+
+** Cleanup after complete metrics
+ Then the following can be done:
+ + remove hack in InsetMathNest::drawSelection
+ + remove painting when not inside in drawParagraph
+ + remove Cursor::inCoordCache?
+
+** Paint directly to screen
+
+Instead of using an intermediary pixmap. I have no idea of how
+difficult it will prove.
+One benefit will be that subpixel aliasing will work again (#9972)