@@ -13,13 +13,12 @@
1313 2426868F1C63B72A00D62456 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 2426868E1C63B72A00D62456 /* Assets.xcassets */; };
1414 242686921C63B72A00D62456 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 242686901C63B72A00D62456 /* LaunchScreen.storyboard */; };
1515 24E1E7D71C67C8B200ECF1C4 /* UIKit.swift in Sources */ = {isa = PBXBuildFile; fileRef = 24E1E7D61C67C8B200ECF1C4 /* UIKit.swift */; };
16− 24E1E7D91C67C9C900ECF1C4 /* MetaballRenderer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 24E1E7D81C67C9C900ECF1C4 /* MetaballRenderer.swift */; };
17− 24E1E7DB1C67CA3600ECF1C4 /* ImageMetaballRenderer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 24E1E7DA1C67CA3600ECF1C4 /* ImageMetaballRenderer.swift */; };
1816 24E1E7E21C67D37F00ECF1C4 /* Metal.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 24E1E7E11C67D37F00ECF1C4 /* Metal.framework */; };
1917 24E1E7E41C67D39300ECF1C4 /* MetalKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 24E1E7E31C67D39300ECF1C4 /* MetalKit.framework */; };
2018 24E1E7EB1C67D70300ECF1C4 /* MetalMetaballRenderer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 24E1E7EA1C67D70300ECF1C4 /* MetalMetaballRenderer.swift */; };
2119 24E1E7F01C67D74300ECF1C4 /* Metal.swift in Sources */ = {isa = PBXBuildFile; fileRef = 24E1E7EE1C67D74300ECF1C4 /* Metal.swift */; };
2220 24E1E7F11C67D74300ECF1C4 /* shaders.metal in Sources */ = {isa = PBXBuildFile; fileRef = 24E1E7EF1C67D74300ECF1C4 /* shaders.metal */; };
21+ 24ED21CD1C6C2397009C40FC /* MetaballDataSource.swift in Sources */ = {isa = PBXBuildFile; fileRef = 24ED21CC1C6C2397009C40FC /* MetaballDataSource.swift */; };
2322 24FFA86B1C6BA038005ACD60 /* ApproximationOperator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 24FFA84C1C6BA038005ACD60 /* ApproximationOperator.swift */; };
2423 24FFA86C1C6BA038005ACD60 /* Collections.swift in Sources */ = {isa = PBXBuildFile; fileRef = 24FFA84D1C6BA038005ACD60 /* Collections.swift */; };
2524 24FFA86D1C6BA038005ACD60 /* ComparatorChains.swift in Sources */ = {isa = PBXBuildFile; fileRef = 24FFA84E1C6BA038005ACD60 /* ComparatorChains.swift */; };
@@ -59,13 +58,12 @@
5958 242686911C63B72A00D62456 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
6059 242686931C63B72A00D62456 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
6160 24E1E7D61C67C8B200ECF1C4 /* UIKit.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UIKit.swift; sourceTree = "<group>"; };
62− 24E1E7D81C67C9C900ECF1C4 /* MetaballRenderer.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MetaballRenderer.swift; sourceTree = "<group>"; };
63− 24E1E7DA1C67CA3600ECF1C4 /* ImageMetaballRenderer.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ImageMetaballRenderer.swift; sourceTree = "<group>"; };
6461 24E1E7E11C67D37F00ECF1C4 /* Metal.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Metal.framework; path = System/Library/Frameworks/Metal.framework; sourceTree = SDKROOT; };
6562 24E1E7E31C67D39300ECF1C4 /* MetalKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MetalKit.framework; path = System/Library/Frameworks/MetalKit.framework; sourceTree = SDKROOT; };
6663 24E1E7EA1C67D70300ECF1C4 /* MetalMetaballRenderer.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MetalMetaballRenderer.swift; sourceTree = "<group>"; };
6764 24E1E7EE1C67D74300ECF1C4 /* Metal.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Metal.swift; sourceTree = "<group>"; };
6865 24E1E7EF1C67D74300ECF1C4 /* shaders.metal */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.metal; path = shaders.metal; sourceTree = "<group>"; };
66+ 24ED21CC1C6C2397009C40FC /* MetaballDataSource.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MetaballDataSource.swift; sourceTree = "<group>"; };
6967 24FFA84C1C6BA038005ACD60 /* ApproximationOperator.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ApproximationOperator.swift; sourceTree = "<group>"; };
7068 24FFA84D1C6BA038005ACD60 /* Collections.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Collections.swift; sourceTree = "<group>"; };
7169 24FFA84E1C6BA038005ACD60 /* ComparatorChains.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ComparatorChains.swift; sourceTree = "<group>"; };
@@ -134,8 +132,7 @@
134132 242686871C63B72A00D62456 /* AppDelegate.swift */,
135133 242686891C63B72A00D62456 /* ViewController.swift */,
136134 24E1E7D61C67C8B200ECF1C4 /* UIKit.swift */,
137− 24E1E7D81C67C9C900ECF1C4 /* MetaballRenderer.swift */,
138− 24E1E7DA1C67CA3600ECF1C4 /* ImageMetaballRenderer.swift */,
135+ 24ED21CC1C6C2397009C40FC /* MetaballDataSource.swift */,
139136 24E1E7EA1C67D70300ECF1C4 /* MetalMetaballRenderer.swift */,
140137 24E1E7EE1C67D74300ECF1C4 /* Metal.swift */,
141138 24E1E7EF1C67D74300ECF1C4 /* shaders.metal */,
@@ -289,13 +286,13 @@
289286 24FFA8861C6BA038005ACD60 /* TestCommons.swift in Sources */,
290287 24FFA8741C6BA038005ACD60 /* SignOperator.swift in Sources */,
291288 24FFA8821C6BA038005ACD60 /* ScanReduce.swift in Sources */,
289+ 24ED21CD1C6C2397009C40FC /* MetaballDataSource.swift in Sources */,
292290 24FFA8831C6BA038005ACD60 /* Slicing.swift in Sources */,
293291 24FFA8721C6BA038005ACD60 /* Sequence.swift in Sources */,
294292 24FFA87F1C6BA038005ACD60 /* Iterate.swift in Sources */,
295293 24FFA8761C6BA038005ACD60 /* Categorise.swift in Sources */,
296294 24FFA86D1C6BA038005ACD60 /* ComparatorChains.swift in Sources */,
297295 24FFA8711C6BA038005ACD60 /* PowerOperator.swift in Sources */,
298− 24E1E7D91C67C9C900ECF1C4 /* MetaballRenderer.swift in Sources */,
299296 24E1E7D71C67C8B200ECF1C4 /* UIKit.swift in Sources */,
300297 24FFA8851C6BA038005ACD60 /* Zip.swift in Sources */,
301298 24FFA8791C6BA038005ACD60 /* Cycle.swift in Sources */,
@@ -304,7 +301,6 @@
304301 24FFA87D1C6BA038005ACD60 /* Hopping.swift in Sources */,
305302 24E1E7EB1C67D70300ECF1C4 /* MetalMetaballRenderer.swift in Sources */,
306303 24FFA87A1C6BA038005ACD60 /* Enumerate.swift in Sources */,
307− 24E1E7DB1C67CA3600ECF1C4 /* ImageMetaballRenderer.swift in Sources */,
308304 242686881C63B72A00D62456 /* AppDelegate.swift in Sources */,
309305 24E1E7F01C67D74300ECF1C4 /* Metal.swift in Sources */,
310306 24FFA87C1C6BA038005ACD60 /* FlatMap.swift in Sources */,