Zoom should use the mouse pointer like the center reference point for the zoom.
Totally! I'm working on it!
I saw that all the elements are painted in the paintEvent of a QWidget.
This force to keep scale and translation factors locally in the objects and this makes the update of the view and of the coordinate system hard to maintain.
If we paint everything in a QGraphicsScene we can apply view transformations very easily.
With the zoom, for example, we can set the anchor transformation to the mouse position, fixing the actual issue.
Now, we should choose if wait for an QML graphics or fix the problem recoding this part.
Ok, I agree with you.
If we paint everything in a QGraphicsScene, the Goo will be a QGraphicsItem. In this way it should be lighter than a QObject.
Ok, I can try to rewrite this part but probably it's better wait to the new levels' design.