            Qt.QGraphicsItem.ItemSendsGeometryChanges |
            Qt.QGraphicsItem.ItemSendsScenePositionChanges |
            Qt.QGraphicsItem.ItemHasNoContents
        )
        self._size = Qt.QSizeF()
        # Children are generally overlay items that should appear over anything else rather than z-fighting
        self.setZValue(10)

    @property
    def size(self):
        return self._size

    @size.setter
    def size(self, v):