This doesn't look right:
qreal QGLSceneNode::z() const { Q_D(const QGLSceneNode); return d->translate.y(); }