def x
            x_dependencies = [bounds.x, parent.is_a?(Shape) && parent.absolute_x]
            if x_dependencies != @x_dependencies
              # avoid recalculating values
              bounds_x, parent_absolute_x = @x_dependencies = x_dependencies