                 
                 let block = Block(x: x, y: y, width: blockSize, height: blockSize)
                 
-                if let image = cache[block] {
-                    blocks.append((block, image))
+                if let texture = cache[block] {
+                    blocks.append((block, texture))
                 } else {
                     need_to_render.append(block)
                 }

        
        if !need_to_render.isEmpty {
            
            let buffers: [(Block, MappedBuffer<UInt8>)] = autoreleasepool {
                
                guard let commandBuffer = commandBuffer.commandQueue.makeCommandBuffer() else { return [] }
                
                let buffers: [(Block, MappedBuffer<UInt8>)] = need_to_render.compactMap { block in
                    
                    let extent = Rect(x: block.minX, y: block.minY, width: block.width, height: block.height)
                    

                    
                    guard let texture = commandBuffer.device.makeTexture(buffer, descriptor: descriptor, bytesPerRow: block.width * 4) else { return nil }
                    
                    renderer.render(image, to: texture, commandBuffer: commandBuffer, bounds: CGRect(extent), colorSpace: workingColorSpace)
                    
                    #if os(macOS) || targetEnvironment(macCatalyst)
