       pixelsPerPoint *
         if @getCacheDraw() then 1 else elementToTargetMatrix.getExactScaler()
 
+    cacheSpaceDrawArea = cacheSpaceDrawArea.roundOut()
     # don't cache if too big
     # TODO: this doesn't work; it causes errors to abort caching at this point
     # return if cacheSpaceDrawArea.size.area >= 2048 * 1536 && !@getNeedsStagingBitmap()

        p

    children:
      default: initialChildren = []
      setter: (newChildren, oldChildren) ->
        @__drawPropertiesChanged = true # TODO - this is a hack-fix; is this the right way to do this?
        newChildren = compactFlatten newChildren, keepIfRubyTrue
        firstTimeSettingChildren = oldChildren == initialChildren

        # detect childrenHaveRemovedAnimations
        for child in oldChildren when child.getPendingHasToVoidAnimators()


    @_generateDrawCache targetSpaceDrawArea, elementToTargetMatrix

    if !!@_drawCacheBitmap != !!@_drawCacheToElementMatrix
      throw new Error "expected both or neither: @_drawCacheToElementMatrix, @_drawCacheBitmap"

