     
     public typealias Index = Int
     
-    fileprivate class Cache {
-        
-        var originalBoundary: Rect?
-        var boundary: Rect?
-        var identity : Shape?
-        
-        var area: Double?
-        
-        var table: [String : Any]
-        
-        init() {
-            self.originalBoundary = nil
-            self.boundary = nil
-            self.identity = nil
-            self.area = nil
-            self.table = [:]
-        }
-        init(originalBoundary: Rect?, boundary: Rect?, table: [String : Any]) {
-            self.originalBoundary = originalBoundary
-            self.boundary = boundary
-            self.identity = nil
-            self.area = nil
-            self.table = table
-        }
-    }
-    
     public enum Segment {
         
         case line(Point)

    }
}

extension Shape.Component {
    
    fileprivate class Cache {
        
        var spaces: RectCollection?
        var boundary: Rect?

            baseTransform = newValue * translate.inverse * rotate.inverse * scale.inverse * translate
        }
    }
    
    var cache = Cache()
    
    public init() {
        self.components = []
