Documentation Archive Developer
Search

SceneKit Changes for Swift

SceneKit

Declaration
From
convenience init(SCNScene scnScene: SCNScene)
To
convenience init(scnScene scnScene: SCNScene)

Declaration
From
convenience init(SCNCamera scnCamera: SCNCamera)
To
convenience init(scnCamera scnCamera: SCNCamera)

Declaration
From
convenience init(SCNLight scnLight: SCNLight)
To
convenience init(scnLight scnLight: SCNLight)

Declaration
From
convenience init(SCNMaterial scnMaterial: SCNMaterial)
To
convenience init(scnMaterial scnMaterial: SCNMaterial)

Declaration
From
convenience init(SCNGeometry scnGeometry: SCNGeometry)
To
convenience init(scnGeometry scnGeometry: SCNGeometry)

Declaration
From
convenience init(SCNNode scnNode: SCNNode)
To
convenience init(scnNode scnNode: SCNNode)

Declaration
From
convenience init(SCNGeometryElement scnGeometryElement: SCNGeometryElement)
To
convenience init(scnGeometryElement scnGeometryElement: SCNGeometryElement)

Declaration
From
init(SCNMatrix4 v: SCNMatrix4)
To
init(scnMatrix4 v: SCNMatrix4)

Declaration
From
init(SCNVector3 v: SCNVector3)
To
init(scnVector3 v: SCNVector3)

Declaration
From
init(SCNVector4 v: SCNVector4)
To
init(scnVector4 v: SCNVector4)

Declaration
From
var SCNMatrix4Value: SCNMatrix4 { get }
To
var scnMatrix4Value: SCNMatrix4 { get }

Declaration
From
var SCNVector3Value: SCNVector3 { get }
To
var scnVector3Value: SCNVector3 { get }

Declaration
From
var SCNVector4Value: SCNVector4 { get }
To
var scnVector4Value: SCNVector4 { get }

Modified SCNAction
DeclarationProtocols
From
class SCNAction : NSObject, NSCopying, NSSecureCoding {
    var duration: NSTimeInterval
    var timingMode: SCNActionTimingMode
    var timingFunction: SCNActionTimingFunction?
    var speed: CGFloat
    func reversedAction() -> SCNAction
    class func moveByX(_ deltaX: CGFloat, y deltaY: CGFloat, z deltaZ: CGFloat, duration duration: NSTimeInterval) -> SCNAction
    class func moveBy(_ delta: SCNVector3, duration duration: NSTimeInterval) -> SCNAction
    class func moveTo(_ location: SCNVector3, duration duration: NSTimeInterval) -> SCNAction
    class func rotateByX(_ xAngle: CGFloat, y yAngle: CGFloat, z zAngle: CGFloat, duration duration: NSTimeInterval) -> SCNAction
    class func rotateToX(_ xAngle: CGFloat, y yAngle: CGFloat, z zAngle: CGFloat, duration duration: NSTimeInterval) -> SCNAction
    class func rotateToX(_ xAngle: CGFloat, y yAngle: CGFloat, z zAngle: CGFloat, duration duration: NSTimeInterval, shortestUnitArc shortestUnitArc: Bool) -> SCNAction
    class func rotateByAngle(_ angle: CGFloat, aroundAxis axis: SCNVector3, duration duration: NSTimeInterval) -> SCNAction
    class func rotateToAxisAngle(_ axisAngle: SCNVector4, duration duration: NSTimeInterval) -> SCNAction
    class func scaleBy(_ scale: CGFloat, duration sec: NSTimeInterval) -> SCNAction
    class func scaleTo(_ scale: CGFloat, duration sec: NSTimeInterval) -> SCNAction
    class func sequence(_ actions: [SCNAction]) -> SCNAction
    class func group(_ actions: [SCNAction]) -> SCNAction
    class func repeatAction(_ action: SCNAction, count count: Int) -> SCNAction
    class func repeatActionForever(_ action: SCNAction) -> SCNAction
    class func fadeInWithDuration(_ sec: NSTimeInterval) -> SCNAction
    class func fadeOutWithDuration(_ sec: NSTimeInterval) -> SCNAction
    class func fadeOpacityBy(_ factor: CGFloat, duration sec: NSTimeInterval) -> SCNAction
    class func fadeOpacityTo(_ opacity: CGFloat, duration sec: NSTimeInterval) -> SCNAction
    class func hide() -> SCNAction
    class func unhide() -> SCNAction
    class func waitForDuration(_ sec: NSTimeInterval) -> SCNAction
    class func waitForDuration(_ sec: NSTimeInterval, withRange durationRange: NSTimeInterval) -> SCNAction
    class func removeFromParentNode() -> SCNAction
    class func runBlock(_ block: (SCNNode) -> Void) -> SCNAction
    class func runBlock(_ block: (SCNNode) -> Void, queue queue: dispatch_queue_t) -> SCNAction
    class func javaScriptActionWithScript(_ script: String, duration seconds: NSTimeInterval) -> SCNAction
    class func customActionWithDuration(_ seconds: NSTimeInterval, actionBlock block: (SCNNode, CGFloat) -> Void) -> SCNAction
    class func playAudioSource(_ source: SCNAudioSource, waitForCompletion wait: Bool) -> SCNAction
}
NSCopying, NSSecureCoding
To
class SCNAction : NSObject, NSCopying, NSSecureCoding {
    var duration: TimeInterval
    var timingMode: SCNActionTimingMode
    var timingFunction: SceneKit.SCNActionTimingFunction?
    var speed: CGFloat
    func reversed() -> SCNAction
    class func moveBy(x deltaX: CGFloat, y deltaY: CGFloat, z deltaZ: CGFloat, duration duration: TimeInterval) -> SCNAction
    class func move(by delta: SCNVector3, duration duration: TimeInterval) -> SCNAction
    class func move(to location: SCNVector3, duration duration: TimeInterval) -> SCNAction
    class func rotateBy(x xAngle: CGFloat, y yAngle: CGFloat, z zAngle: CGFloat, duration duration: TimeInterval) -> SCNAction
    class func rotateTo(x xAngle: CGFloat, y yAngle: CGFloat, z zAngle: CGFloat, duration duration: TimeInterval) -> SCNAction
    class func rotateTo(x xAngle: CGFloat, y yAngle: CGFloat, z zAngle: CGFloat, duration duration: TimeInterval, usesShortestUnitArc shortestUnitArc: Bool) -> SCNAction
    class func rotate(by angle: CGFloat, around axis: SCNVector3, duration duration: TimeInterval) -> SCNAction
    class func rotate(toAxisAngle axisAngle: SCNVector4, duration duration: TimeInterval) -> SCNAction
    class func scale(by scale: CGFloat, duration sec: TimeInterval) -> SCNAction
    class func scale(to scale: CGFloat, duration sec: TimeInterval) -> SCNAction
    class func sequence(_ actions: [SCNAction]) -> SCNAction
    class func group(_ actions: [SCNAction]) -> SCNAction
    class func `repeat`(_ action: SCNAction, count count: Int) -> SCNAction
    class func repeatForever(_ action: SCNAction) -> SCNAction
    class func fadeIn(duration sec: TimeInterval) -> SCNAction
    class func fadeOut(duration sec: TimeInterval) -> SCNAction
    class func fadeOpacity(by factor: CGFloat, duration sec: TimeInterval) -> SCNAction
    class func fadeOpacity(to opacity: CGFloat, duration sec: TimeInterval) -> SCNAction
    class func hide() -> SCNAction
    class func unhide() -> SCNAction
    class func wait(duration sec: TimeInterval) -> SCNAction
    class func wait(duration sec: TimeInterval, withRange durationRange: TimeInterval) -> SCNAction
    class func removeFromParentNode() -> SCNAction
    class func run(_ block: @escaping (SCNNode) -> Swift.Void) -> SCNAction
    class func run(_ block: @escaping (SCNNode) -> Swift.Void, queue queue: DispatchQueue) -> SCNAction
    class func javaScriptAction(withScript script: String, duration seconds: TimeInterval) -> SCNAction
    class func customAction(duration seconds: TimeInterval, action block: @escaping (SCNNode, CGFloat) -> Swift.Void) -> SCNAction
    class func playAudio(_ source: SCNAudioSource, waitForCompletion wait: Bool) -> SCNAction
    func awakeFromNib()
    func prepareForInterfaceBuilder()
    func accessibilityActivate() -> Bool
    func accessibilityIncrement()
    func accessibilityDecrement()
    func accessibilityScroll(_ direction: UIAccessibilityScrollDirection) -> Bool
    func accessibilityPerformEscape() -> Bool
    func accessibilityPerformMagicTap() -> Bool
    var accessibilityCustomActions: [UIAccessibilityCustomAction]?
    func accessibilityElementDidBecomeFocused()
    func accessibilityElementDidLoseFocus()
    func accessibilityElementIsFocused() -> Bool
    func accessibilityAssistiveTechnologyFocusedIdentifiers() -> Set<String>?
    func accessibilityElementCount() -> Int
    func accessibilityElement(at index: Int) -> Any?
    func index(ofAccessibilityElement element: Any) -> Int
    var accessibilityElements: [Any]?
    var isAccessibilityElement: Bool
    var accessibilityLabel: String?
    var accessibilityHint: String?
    var accessibilityValue: String?
    var accessibilityTraits: UIAccessibilityTraits
    var accessibilityFrame: CGRect
    @NSCopying var accessibilityPath: UIBezierPath?
    var accessibilityActivationPoint: CGPoint
    var accessibilityLanguage: String?
    var accessibilityElementsHidden: Bool
    var accessibilityViewIsModal: Bool
    var shouldGroupAccessibilityChildren: Bool
    var accessibilityNavigationStyle: UIAccessibilityNavigationStyle
    var accessibilityHeaderElements: [Any]?
    var accessibilityCustomRotors: [UIAccessibilityCustomRotor]?
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool)
    func performSelector(inBackground aSelector: Selector, with arg: Any?)
    class func classForKeyedUnarchiver() -> AnyClass
    var classForKeyedArchiver: AnyClass? { get }
    func replacementObject(for archiver: NSKeyedArchiver) -> Any?
    class func classFallbacksForKeyedArchiver() -> [String]
    class func keyPathsForValuesAffectingValue(forKey key: String) -> Set<String>
    class func automaticallyNotifiesObservers(forKey key: String) -> Bool
    var observationInfo: UnsafeMutableRawPointer?
    func willChangeValue(forKey key: String)
    func didChangeValue(forKey key: String)
    func willChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func didChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func willChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func didChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func addObserver(_ observer: NSObject, forKeyPath keyPath: String, options options: NSKeyValueObservingOptions = [], context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String, context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String)
    func observeValue(forKeyPath keyPath: String?, of object: Any?, change change: [NSKeyValueChangeKey : Any]?, context context: UnsafeMutableRawPointer?)
    class var accessInstanceVariablesDirectly: Bool { get }
    func value(forKey key: String) -> Any?
    func setValue(_ value: Any?, forKey key: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKey inKey: String) throws
    func mutableArrayValue(forKey key: String) -> NSMutableArray
    func mutableOrderedSetValue(forKey key: String) -> NSMutableOrderedSet
    func mutableSetValue(forKey key: String) -> NSMutableSet
    func value(forKeyPath keyPath: String) -> Any?
    func setValue(_ value: Any?, forKeyPath keyPath: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKeyPath inKeyPath: String) throws
    func mutableArrayValue(forKeyPath keyPath: String) -> NSMutableArray
    func mutableOrderedSetValue(forKeyPath keyPath: String) -> NSMutableOrderedSet
    func mutableSetValue(forKeyPath keyPath: String) -> NSMutableSet
    func value(forUndefinedKey key: String) -> Any?
    func setValue(_ value: Any?, forUndefinedKey key: String)
    func setNilValueForKey(_ key: String)
    func dictionaryWithValues(forKeys keys: [String]) -> [String : Any]
    func setValuesForKeys(_ keyedValues: [String : Any])
    func fileManager(_ fm: FileManager, shouldProceedAfterError errorInfo: [AnyHashable : Any]) -> Bool
    func fileManager(_ fm: FileManager, willProcessPath path: String)
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval, inModes modes: [RunLoopMode])
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any, selector aSelector: Selector, object anArgument: Any?)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int, delegate delegate: Any?, didRecoverSelector didRecoverSelector: Selector?, contextInfo contextInfo: UnsafeMutableRawPointer?)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int) -> Bool
    var autoContentAccessingProxy: Any { get }
    class func version() -> Int
    class func setVersion(_ aVersion: Int)
    var classForCoder: AnyClass { get }
    func awakeAfter(using aDecoder: NSCoder) -> Any?
    func provideImageData(_ data: UnsafeMutableRawPointer, bytesPerRow rowbytes: Int, origin x: Int, _ y: Int, size width: Int, _ height: Int, userInfo info: Any?)
}
extension SCNAction : CVarArg {
}
extension SCNAction : Equatable, Hashable {
    var hashValue: Int { get }
}
CVarArg, Equatable, Hashable, NSCopying, NSSecureCoding

Declaration
From
class func customActionWithDuration(_ seconds: NSTimeInterval, actionBlock block: (SCNNode, CGFloat) -> Void) -> SCNAction
To
class func customAction(duration seconds: TimeInterval, action block: @escaping (SCNNode, CGFloat) -> Swift.Void) -> SCNAction

Declaration
From
var duration: NSTimeInterval
To
var duration: TimeInterval

Declaration
From
class func fadeInWithDuration(_ sec: NSTimeInterval) -> SCNAction
To
class func fadeIn(duration sec: TimeInterval) -> SCNAction

Declaration
From
class func fadeOpacityBy(_ factor: CGFloat, duration sec: NSTimeInterval) -> SCNAction
To
class func fadeOpacity(by factor: CGFloat, duration sec: TimeInterval) -> SCNAction

Declaration
From
class func fadeOpacityTo(_ opacity: CGFloat, duration sec: NSTimeInterval) -> SCNAction
To
class func fadeOpacity(to opacity: CGFloat, duration sec: TimeInterval) -> SCNAction

Declaration
From
class func fadeOutWithDuration(_ sec: NSTimeInterval) -> SCNAction
To
class func fadeOut(duration sec: TimeInterval) -> SCNAction

Declaration
From
class func javaScriptActionWithScript(_ script: String, duration seconds: NSTimeInterval) -> SCNAction
To
class func javaScriptAction(withScript script: String, duration seconds: TimeInterval) -> SCNAction

Declaration
From
class func moveBy(_ delta: SCNVector3, duration duration: NSTimeInterval) -> SCNAction
To
class func move(by delta: SCNVector3, duration duration: TimeInterval) -> SCNAction

Declaration
From
class func moveTo(_ location: SCNVector3, duration duration: NSTimeInterval) -> SCNAction
To
class func move(to location: SCNVector3, duration duration: TimeInterval) -> SCNAction

Declaration
From
class func moveByX(_ deltaX: CGFloat, y deltaY: CGFloat, z deltaZ: CGFloat, duration duration: NSTimeInterval) -> SCNAction
To
class func moveBy(x deltaX: CGFloat, y deltaY: CGFloat, z deltaZ: CGFloat, duration duration: TimeInterval) -> SCNAction

Declaration
From
class func playAudioSource(_ source: SCNAudioSource, waitForCompletion wait: Bool) -> SCNAction
To
class func playAudio(_ source: SCNAudioSource, waitForCompletion wait: Bool) -> SCNAction

Declaration
From
class func repeatAction(_ action: SCNAction, count count: Int) -> SCNAction
To
class func `repeat`(_ action: SCNAction, count count: Int) -> SCNAction

Declaration
From
class func repeatActionForever(_ action: SCNAction) -> SCNAction
To
class func repeatForever(_ action: SCNAction) -> SCNAction

Declaration
From
func reversedAction() -> SCNAction
To
func reversed() -> SCNAction

Declaration
From
class func rotateByAngle(_ angle: CGFloat, aroundAxis axis: SCNVector3, duration duration: NSTimeInterval) -> SCNAction
To
class func rotate(by angle: CGFloat, around axis: SCNVector3, duration duration: TimeInterval) -> SCNAction

Declaration
From
class func rotateToAxisAngle(_ axisAngle: SCNVector4, duration duration: NSTimeInterval) -> SCNAction
To
class func rotate(toAxisAngle axisAngle: SCNVector4, duration duration: TimeInterval) -> SCNAction

Declaration
From
class func rotateByX(_ xAngle: CGFloat, y yAngle: CGFloat, z zAngle: CGFloat, duration duration: NSTimeInterval) -> SCNAction
To
class func rotateBy(x xAngle: CGFloat, y yAngle: CGFloat, z zAngle: CGFloat, duration duration: TimeInterval) -> SCNAction

Declaration
From
class func rotateToX(_ xAngle: CGFloat, y yAngle: CGFloat, z zAngle: CGFloat, duration duration: NSTimeInterval) -> SCNAction
To
class func rotateTo(x xAngle: CGFloat, y yAngle: CGFloat, z zAngle: CGFloat, duration duration: TimeInterval) -> SCNAction

Declaration
From
class func rotateToX(_ xAngle: CGFloat, y yAngle: CGFloat, z zAngle: CGFloat, duration duration: NSTimeInterval, shortestUnitArc shortestUnitArc: Bool) -> SCNAction
To
class func rotateTo(x xAngle: CGFloat, y yAngle: CGFloat, z zAngle: CGFloat, duration duration: TimeInterval, usesShortestUnitArc shortestUnitArc: Bool) -> SCNAction

Declaration
From
class func runBlock(_ block: (SCNNode) -> Void) -> SCNAction
To
class func run(_ block: @escaping (SCNNode) -> Swift.Void) -> SCNAction

Declaration
From
class func runBlock(_ block: (SCNNode) -> Void, queue queue: dispatch_queue_t) -> SCNAction
To
class func run(_ block: @escaping (SCNNode) -> Swift.Void, queue queue: DispatchQueue) -> SCNAction

Declaration
From
class func scaleBy(_ scale: CGFloat, duration sec: NSTimeInterval) -> SCNAction
To
class func scale(by scale: CGFloat, duration sec: TimeInterval) -> SCNAction

Declaration
From
class func scaleTo(_ scale: CGFloat, duration sec: NSTimeInterval) -> SCNAction
To
class func scale(to scale: CGFloat, duration sec: TimeInterval) -> SCNAction

Declaration
From
var timingFunction: SCNActionTimingFunction?
To
var timingFunction: SceneKit.SCNActionTimingFunction?

Declaration
From
class func waitForDuration(_ sec: NSTimeInterval) -> SCNAction
To
class func wait(duration sec: TimeInterval) -> SCNAction

Declaration
From
class func waitForDuration(_ sec: NSTimeInterval, withRange durationRange: NSTimeInterval) -> SCNAction
To
class func wait(duration sec: TimeInterval, withRange durationRange: TimeInterval) -> SCNAction

Modified SCNActionable
Declaration
From
protocol SCNActionable : NSObjectProtocol {
    func runAction(_ action: SCNAction)
    func runAction(_ action: SCNAction, completionHandler block: (() -> Void)?)
    func runAction(_ action: SCNAction, forKey key: String?)
    func runAction(_ action: SCNAction, forKey key: String?, completionHandler block: (() -> Void)?)
    var hasActions: Bool { get }
    func actionForKey(_ key: String) -> SCNAction?
    func removeActionForKey(_ key: String)
    func removeAllActions()
    var actionKeys: [String] { get }
}
To
protocol SCNActionable : NSObjectProtocol {
    func runAction(_ action: SCNAction)
    func runAction(_ action: SCNAction, completionHandler block: (@escaping () -> Swift.Void)? = nil)
    func runAction(_ action: SCNAction, forKey key: String?)
    func runAction(_ action: SCNAction, forKey key: String?, completionHandler block: (@escaping () -> Swift.Void)? = nil)
    var hasActions: Bool { get }
    func action(forKey key: String) -> SCNAction?
    func removeAction(forKey key: String)
    func removeAllActions()
    var actionKeys: [String] { get }
}

Declaration
From
func actionForKey(_ key: String) -> SCNAction?
To
func action(forKey key: String) -> SCNAction?

Declaration
From
func removeActionForKey(_ key: String)
To
func removeAction(forKey key: String)

Declaration
From
func runAction(_ action: SCNAction, completionHandler block: (() -> Void)?)
To
func runAction(_ action: SCNAction, completionHandler block: (@escaping () -> Swift.Void)? = nil)

Declaration
From
func runAction(_ action: SCNAction, forKey key: String?, completionHandler block: (() -> Void)?)
To
func runAction(_ action: SCNAction, forKey key: String?, completionHandler block: (@escaping () -> Swift.Void)? = nil)

Declaration
From
enum SCNActionTimingMode : Int {
    case Linear
    case EaseIn
    case EaseOut
    case EaseInEaseOut
}
To
enum SCNActionTimingMode : Int {
    case linear
    case easeIn
    case easeOut
    case easeInEaseOut
}

Declaration
From
case EaseIn
To
case easeIn

Declaration
From
case EaseInEaseOut
To
case easeInEaseOut

Declaration
From
case EaseOut
To
case easeOut

Declaration
From
case Linear
To
case linear

Modified SCNAnimatable
Declaration
From
protocol SCNAnimatable : NSObjectProtocol {
    func addAnimation(_ animation: CAAnimation, forKey key: String?)
    func removeAllAnimations()
    func removeAnimationForKey(_ key: String)
    var animationKeys: [String] { get }
    func animationForKey(_ key: String) -> CAAnimation?
    func pauseAnimationForKey(_ key: String)
    func resumeAnimationForKey(_ key: String)
    func isAnimationForKeyPaused(_ key: String) -> Bool
    func removeAnimationForKey(_ key: String, fadeOutDuration duration: CGFloat)
}
To
protocol SCNAnimatable : NSObjectProtocol {
    func addAnimation(_ animation: CAAnimation, forKey key: String?)
    func removeAllAnimations()
    func removeAnimation(forKey key: String)
    var animationKeys: [String] { get }
    func animation(forKey key: String) -> CAAnimation?
    func pauseAnimation(forKey key: String)
    func resumeAnimation(forKey key: String)
    func isAnimationPaused(forKey key: String) -> Bool
    func removeAnimation(forKey key: String, fadeOutDuration duration: CGFloat)
    func setAnimationSpeed(_ speed: CGFloat, forKey key: String)
}

Declaration
From
func animationForKey(_ key: String) -> CAAnimation?
To
func animation(forKey key: String) -> CAAnimation?

Declaration
From
func isAnimationForKeyPaused(_ key: String) -> Bool
To
func isAnimationPaused(forKey key: String) -> Bool

Declaration
From
func pauseAnimationForKey(_ key: String)
To
func pauseAnimation(forKey key: String)

Declaration
From
func removeAnimationForKey(_ key: String)
To
func removeAnimation(forKey key: String)

Declaration
From
func removeAnimationForKey(_ key: String, fadeOutDuration duration: CGFloat)
To
func removeAnimation(forKey key: String, fadeOutDuration duration: CGFloat)

Declaration
From
func resumeAnimationForKey(_ key: String)
To
func resumeAnimation(forKey key: String)

DeclarationProtocols
From
class SCNAnimationEvent : NSObject {
    convenience init(keyTime time: CGFloat, block eventBlock: SCNAnimationEventBlock)
    class func animationEventWithKeyTime(_ time: CGFloat, block eventBlock: SCNAnimationEventBlock) -> Self
}
--
To
class SCNAnimationEvent : NSObject {
    convenience init(keyTime time: CGFloat, block eventBlock: SceneKit.SCNAnimationEventBlock)
    class func withKeyTime(_ time: CGFloat, block eventBlock: SceneKit.SCNAnimationEventBlock) -> Self
    func awakeFromNib()
    func prepareForInterfaceBuilder()
    func accessibilityActivate() -> Bool
    func accessibilityIncrement()
    func accessibilityDecrement()
    func accessibilityScroll(_ direction: UIAccessibilityScrollDirection) -> Bool
    func accessibilityPerformEscape() -> Bool
    func accessibilityPerformMagicTap() -> Bool
    var accessibilityCustomActions: [UIAccessibilityCustomAction]?
    func accessibilityElementDidBecomeFocused()
    func accessibilityElementDidLoseFocus()
    func accessibilityElementIsFocused() -> Bool
    func accessibilityAssistiveTechnologyFocusedIdentifiers() -> Set<String>?
    func accessibilityElementCount() -> Int
    func accessibilityElement(at index: Int) -> Any?
    func index(ofAccessibilityElement element: Any) -> Int
    var accessibilityElements: [Any]?
    var isAccessibilityElement: Bool
    var accessibilityLabel: String?
    var accessibilityHint: String?
    var accessibilityValue: String?
    var accessibilityTraits: UIAccessibilityTraits
    var accessibilityFrame: CGRect
    @NSCopying var accessibilityPath: UIBezierPath?
    var accessibilityActivationPoint: CGPoint
    var accessibilityLanguage: String?
    var accessibilityElementsHidden: Bool
    var accessibilityViewIsModal: Bool
    var shouldGroupAccessibilityChildren: Bool
    var accessibilityNavigationStyle: UIAccessibilityNavigationStyle
    var accessibilityHeaderElements: [Any]?
    var accessibilityCustomRotors: [UIAccessibilityCustomRotor]?
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool)
    func performSelector(inBackground aSelector: Selector, with arg: Any?)
    class func classForKeyedUnarchiver() -> AnyClass
    var classForKeyedArchiver: AnyClass? { get }
    func replacementObject(for archiver: NSKeyedArchiver) -> Any?
    class func classFallbacksForKeyedArchiver() -> [String]
    class func keyPathsForValuesAffectingValue(forKey key: String) -> Set<String>
    class func automaticallyNotifiesObservers(forKey key: String) -> Bool
    var observationInfo: UnsafeMutableRawPointer?
    func willChangeValue(forKey key: String)
    func didChangeValue(forKey key: String)
    func willChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func didChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func willChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func didChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func addObserver(_ observer: NSObject, forKeyPath keyPath: String, options options: NSKeyValueObservingOptions = [], context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String, context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String)
    func observeValue(forKeyPath keyPath: String?, of object: Any?, change change: [NSKeyValueChangeKey : Any]?, context context: UnsafeMutableRawPointer?)
    class var accessInstanceVariablesDirectly: Bool { get }
    func value(forKey key: String) -> Any?
    func setValue(_ value: Any?, forKey key: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKey inKey: String) throws
    func mutableArrayValue(forKey key: String) -> NSMutableArray
    func mutableOrderedSetValue(forKey key: String) -> NSMutableOrderedSet
    func mutableSetValue(forKey key: String) -> NSMutableSet
    func value(forKeyPath keyPath: String) -> Any?
    func setValue(_ value: Any?, forKeyPath keyPath: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKeyPath inKeyPath: String) throws
    func mutableArrayValue(forKeyPath keyPath: String) -> NSMutableArray
    func mutableOrderedSetValue(forKeyPath keyPath: String) -> NSMutableOrderedSet
    func mutableSetValue(forKeyPath keyPath: String) -> NSMutableSet
    func value(forUndefinedKey key: String) -> Any?
    func setValue(_ value: Any?, forUndefinedKey key: String)
    func setNilValueForKey(_ key: String)
    func dictionaryWithValues(forKeys keys: [String]) -> [String : Any]
    func setValuesForKeys(_ keyedValues: [String : Any])
    func fileManager(_ fm: FileManager, shouldProceedAfterError errorInfo: [AnyHashable : Any]) -> Bool
    func fileManager(_ fm: FileManager, willProcessPath path: String)
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval, inModes modes: [RunLoopMode])
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any, selector aSelector: Selector, object anArgument: Any?)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int, delegate delegate: Any?, didRecoverSelector didRecoverSelector: Selector?, contextInfo contextInfo: UnsafeMutableRawPointer?)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int) -> Bool
    var autoContentAccessingProxy: Any { get }
    class func version() -> Int
    class func setVersion(_ aVersion: Int)
    var classForCoder: AnyClass { get }
    func awakeAfter(using aDecoder: NSCoder) -> Any?
    func provideImageData(_ data: UnsafeMutableRawPointer, bytesPerRow rowbytes: Int, origin x: Int, _ y: Int, size width: Int, _ height: Int, userInfo info: Any?)
}
extension SCNAnimationEvent : CVarArg {
}
extension SCNAnimationEvent : Equatable, Hashable {
    var hashValue: Int { get }
}
CVarArg, Equatable, Hashable

Declaration
From
convenience init(keyTime time: CGFloat, block eventBlock: SCNAnimationEventBlock)
To
convenience init(keyTime time: CGFloat, block eventBlock: SceneKit.SCNAnimationEventBlock)

Declaration
From
enum SCNAntialiasingMode : UInt {
    case None
    case Multisampling2X
    case Multisampling4X
}
To
enum SCNAntialiasingMode : UInt {
    case none
    case multisampling2X
    case multisampling4X
}

Declaration
From
case Multisampling2X
To
case multisampling2X

Declaration
From
case Multisampling4X
To
case multisampling4X

Declaration
From
case None
To
case none

DeclarationProtocols
From
class SCNAudioPlayer : NSObject {
    convenience init()
    init(source source: SCNAudioSource)
    init(AVAudioNode audioNode: AVAudioNode)
    class func audioPlayerWithSource(_ source: SCNAudioSource) -> Self
    class func audioPlayerWithAVAudioNode(_ audioNode: AVAudioNode) -> Self
    var willStartPlayback: (() -> Void)?
    var didFinishPlayback: (() -> Void)?
    var audioNode: AVAudioNode? { get }
    var audioSource: SCNAudioSource? { get }
}
--
To
class SCNAudioPlayer : NSObject {
    convenience init()
    init(source source: SCNAudioSource)
    init(avAudioNode audioNode: AVAudioNode)
    class func withSource(_ source: SCNAudioSource) -> Self
    class func withAVAudioNode(_ audioNode: AVAudioNode) -> Self
    var willStartPlayback: (() -> Swift.Void)?
    var didFinishPlayback: (() -> Swift.Void)?
    var audioNode: AVAudioNode? { get }
    var audioSource: SCNAudioSource? { get }
    func awakeFromNib()
    func prepareForInterfaceBuilder()
    func accessibilityActivate() -> Bool
    func accessibilityIncrement()
    func accessibilityDecrement()
    func accessibilityScroll(_ direction: UIAccessibilityScrollDirection) -> Bool
    func accessibilityPerformEscape() -> Bool
    func accessibilityPerformMagicTap() -> Bool
    var accessibilityCustomActions: [UIAccessibilityCustomAction]?
    func accessibilityElementDidBecomeFocused()
    func accessibilityElementDidLoseFocus()
    func accessibilityElementIsFocused() -> Bool
    func accessibilityAssistiveTechnologyFocusedIdentifiers() -> Set<String>?
    func accessibilityElementCount() -> Int
    func accessibilityElement(at index: Int) -> Any?
    func index(ofAccessibilityElement element: Any) -> Int
    var accessibilityElements: [Any]?
    var isAccessibilityElement: Bool
    var accessibilityLabel: String?
    var accessibilityHint: String?
    var accessibilityValue: String?
    var accessibilityTraits: UIAccessibilityTraits
    var accessibilityFrame: CGRect
    @NSCopying var accessibilityPath: UIBezierPath?
    var accessibilityActivationPoint: CGPoint
    var accessibilityLanguage: String?
    var accessibilityElementsHidden: Bool
    var accessibilityViewIsModal: Bool
    var shouldGroupAccessibilityChildren: Bool
    var accessibilityNavigationStyle: UIAccessibilityNavigationStyle
    var accessibilityHeaderElements: [Any]?
    var accessibilityCustomRotors: [UIAccessibilityCustomRotor]?
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool)
    func performSelector(inBackground aSelector: Selector, with arg: Any?)
    class func classForKeyedUnarchiver() -> AnyClass
    var classForKeyedArchiver: AnyClass? { get }
    func replacementObject(for archiver: NSKeyedArchiver) -> Any?
    class func classFallbacksForKeyedArchiver() -> [String]
    class func keyPathsForValuesAffectingValue(forKey key: String) -> Set<String>
    class func automaticallyNotifiesObservers(forKey key: String) -> Bool
    var observationInfo: UnsafeMutableRawPointer?
    func willChangeValue(forKey key: String)
    func didChangeValue(forKey key: String)
    func willChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func didChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func willChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func didChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func addObserver(_ observer: NSObject, forKeyPath keyPath: String, options options: NSKeyValueObservingOptions = [], context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String, context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String)
    func observeValue(forKeyPath keyPath: String?, of object: Any?, change change: [NSKeyValueChangeKey : Any]?, context context: UnsafeMutableRawPointer?)
    class var accessInstanceVariablesDirectly: Bool { get }
    func value(forKey key: String) -> Any?
    func setValue(_ value: Any?, forKey key: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKey inKey: String) throws
    func mutableArrayValue(forKey key: String) -> NSMutableArray
    func mutableOrderedSetValue(forKey key: String) -> NSMutableOrderedSet
    func mutableSetValue(forKey key: String) -> NSMutableSet
    func value(forKeyPath keyPath: String) -> Any?
    func setValue(_ value: Any?, forKeyPath keyPath: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKeyPath inKeyPath: String) throws
    func mutableArrayValue(forKeyPath keyPath: String) -> NSMutableArray
    func mutableOrderedSetValue(forKeyPath keyPath: String) -> NSMutableOrderedSet
    func mutableSetValue(forKeyPath keyPath: String) -> NSMutableSet
    func value(forUndefinedKey key: String) -> Any?
    func setValue(_ value: Any?, forUndefinedKey key: String)
    func setNilValueForKey(_ key: String)
    func dictionaryWithValues(forKeys keys: [String]) -> [String : Any]
    func setValuesForKeys(_ keyedValues: [String : Any])
    func fileManager(_ fm: FileManager, shouldProceedAfterError errorInfo: [AnyHashable : Any]) -> Bool
    func fileManager(_ fm: FileManager, willProcessPath path: String)
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval, inModes modes: [RunLoopMode])
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any, selector aSelector: Selector, object anArgument: Any?)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int, delegate delegate: Any?, didRecoverSelector didRecoverSelector: Selector?, contextInfo contextInfo: UnsafeMutableRawPointer?)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int) -> Bool
    var autoContentAccessingProxy: Any { get }
    class func version() -> Int
    class func setVersion(_ aVersion: Int)
    var classForCoder: AnyClass { get }
    func awakeAfter(using aDecoder: NSCoder) -> Any?
    func provideImageData(_ data: UnsafeMutableRawPointer, bytesPerRow rowbytes: Int, origin x: Int, _ y: Int, size width: Int, _ height: Int, userInfo info: Any?)
}
extension SCNAudioPlayer : CVarArg {
}
extension SCNAudioPlayer : Equatable, Hashable {
    var hashValue: Int { get }
}
CVarArg, Equatable, Hashable

Declaration
From
var didFinishPlayback: (() -> Void)?
To
var didFinishPlayback: (() -> Swift.Void)?

Declaration
From
init(AVAudioNode audioNode: AVAudioNode)
To
init(avAudioNode audioNode: AVAudioNode)

Declaration
From
var willStartPlayback: (() -> Void)?
To
var willStartPlayback: (() -> Swift.Void)?

DeclarationProtocols
From
class SCNAudioSource : NSObject, NSCopying, NSSecureCoding {
    convenience init?(fileNamed name: String)
    init?(URL url: NSURL)
    convenience init?(named fileName: String)
    class func audioSourceNamed(_ fileName: String) -> Self?
    var positional: Bool
    var volume: Float
    var rate: Float
    var reverbBlend: Float
    var loops: Bool
    var shouldStream: Bool
    func load()
}
NSCopying, NSSecureCoding
To
class SCNAudioSource : NSObject, NSCopying, NSSecureCoding {
    convenience init?(fileNamed name: String)
    init?(url url: URL)
    convenience init?(named fileName: String)
    class func audioSourceNamed(_ fileName: String) -> Self?
    var isPositional: Bool
    var volume: Float
    var rate: Float
    var reverbBlend: Float
    var loops: Bool
    var shouldStream: Bool
    func load()
    func awakeFromNib()
    func prepareForInterfaceBuilder()
    func accessibilityActivate() -> Bool
    func accessibilityIncrement()
    func accessibilityDecrement()
    func accessibilityScroll(_ direction: UIAccessibilityScrollDirection) -> Bool
    func accessibilityPerformEscape() -> Bool
    func accessibilityPerformMagicTap() -> Bool
    var accessibilityCustomActions: [UIAccessibilityCustomAction]?
    func accessibilityElementDidBecomeFocused()
    func accessibilityElementDidLoseFocus()
    func accessibilityElementIsFocused() -> Bool
    func accessibilityAssistiveTechnologyFocusedIdentifiers() -> Set<String>?
    func accessibilityElementCount() -> Int
    func accessibilityElement(at index: Int) -> Any?
    func index(ofAccessibilityElement element: Any) -> Int
    var accessibilityElements: [Any]?
    var isAccessibilityElement: Bool
    var accessibilityLabel: String?
    var accessibilityHint: String?
    var accessibilityValue: String?
    var accessibilityTraits: UIAccessibilityTraits
    var accessibilityFrame: CGRect
    @NSCopying var accessibilityPath: UIBezierPath?
    var accessibilityActivationPoint: CGPoint
    var accessibilityLanguage: String?
    var accessibilityElementsHidden: Bool
    var accessibilityViewIsModal: Bool
    var shouldGroupAccessibilityChildren: Bool
    var accessibilityNavigationStyle: UIAccessibilityNavigationStyle
    var accessibilityHeaderElements: [Any]?
    var accessibilityCustomRotors: [UIAccessibilityCustomRotor]?
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool)
    func performSelector(inBackground aSelector: Selector, with arg: Any?)
    class func classForKeyedUnarchiver() -> AnyClass
    var classForKeyedArchiver: AnyClass? { get }
    func replacementObject(for archiver: NSKeyedArchiver) -> Any?
    class func classFallbacksForKeyedArchiver() -> [String]
    class func keyPathsForValuesAffectingValue(forKey key: String) -> Set<String>
    class func automaticallyNotifiesObservers(forKey key: String) -> Bool
    var observationInfo: UnsafeMutableRawPointer?
    func willChangeValue(forKey key: String)
    func didChangeValue(forKey key: String)
    func willChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func didChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func willChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func didChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func addObserver(_ observer: NSObject, forKeyPath keyPath: String, options options: NSKeyValueObservingOptions = [], context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String, context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String)
    func observeValue(forKeyPath keyPath: String?, of object: Any?, change change: [NSKeyValueChangeKey : Any]?, context context: UnsafeMutableRawPointer?)
    class var accessInstanceVariablesDirectly: Bool { get }
    func value(forKey key: String) -> Any?
    func setValue(_ value: Any?, forKey key: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKey inKey: String) throws
    func mutableArrayValue(forKey key: String) -> NSMutableArray
    func mutableOrderedSetValue(forKey key: String) -> NSMutableOrderedSet
    func mutableSetValue(forKey key: String) -> NSMutableSet
    func value(forKeyPath keyPath: String) -> Any?
    func setValue(_ value: Any?, forKeyPath keyPath: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKeyPath inKeyPath: String) throws
    func mutableArrayValue(forKeyPath keyPath: String) -> NSMutableArray
    func mutableOrderedSetValue(forKeyPath keyPath: String) -> NSMutableOrderedSet
    func mutableSetValue(forKeyPath keyPath: String) -> NSMutableSet
    func value(forUndefinedKey key: String) -> Any?
    func setValue(_ value: Any?, forUndefinedKey key: String)
    func setNilValueForKey(_ key: String)
    func dictionaryWithValues(forKeys keys: [String]) -> [String : Any]
    func setValuesForKeys(_ keyedValues: [String : Any])
    func fileManager(_ fm: FileManager, shouldProceedAfterError errorInfo: [AnyHashable : Any]) -> Bool
    func fileManager(_ fm: FileManager, willProcessPath path: String)
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval, inModes modes: [RunLoopMode])
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any, selector aSelector: Selector, object anArgument: Any?)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int, delegate delegate: Any?, didRecoverSelector didRecoverSelector: Selector?, contextInfo contextInfo: UnsafeMutableRawPointer?)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int) -> Bool
    var autoContentAccessingProxy: Any { get }
    class func version() -> Int
    class func setVersion(_ aVersion: Int)
    var classForCoder: AnyClass { get }
    func awakeAfter(using aDecoder: NSCoder) -> Any?
    func provideImageData(_ data: UnsafeMutableRawPointer, bytesPerRow rowbytes: Int, origin x: Int, _ y: Int, size width: Int, _ height: Int, userInfo info: Any?)
}
extension SCNAudioSource : CVarArg {
}
extension SCNAudioSource : Equatable, Hashable {
    var hashValue: Int { get }
}
CVarArg, Equatable, Hashable, NSCopying, NSSecureCoding

Declaration
From
init?(URL url: NSURL)
To
init?(url url: URL)

Declaration
From
var positional: Bool
To
var isPositional: Bool

DeclarationProtocols
From
struct SCNBillboardAxis : OptionSetType {
    init(rawValue rawValue: UInt)
    static var X: SCNBillboardAxis { get }
    static var Y: SCNBillboardAxis { get }
    static var Z: SCNBillboardAxis { get }
    static var All: SCNBillboardAxis { get }
}
OptionSetType
To
struct SCNBillboardAxis : OptionSet {
    init(rawValue rawValue: UInt)
    static var X: SCNBillboardAxis { get }
    static var Y: SCNBillboardAxis { get }
    static var Z: SCNBillboardAxis { get }
    static var all: SCNBillboardAxis { get }
    func intersect(_ other: SCNBillboardAxis) -> SCNBillboardAxis
    func exclusiveOr(_ other: SCNBillboardAxis) -> SCNBillboardAxis
    mutating func unionInPlace(_ other: SCNBillboardAxis)
    mutating func intersectInPlace(_ other: SCNBillboardAxis)
    mutating func exclusiveOrInPlace(_ other: SCNBillboardAxis)
    func isSubsetOf(_ other: SCNBillboardAxis) -> Bool
    func isDisjointWith(_ other: SCNBillboardAxis) -> Bool
    func isSupersetOf(_ other: SCNBillboardAxis) -> Bool
    mutating func subtractInPlace(_ other: SCNBillboardAxis)
    func isStrictSupersetOf(_ other: SCNBillboardAxis) -> Bool
    func isStrictSubsetOf(_ other: SCNBillboardAxis) -> Bool
}
extension SCNBillboardAxis {
    func union(_ other: SCNBillboardAxis) -> SCNBillboardAxis
    func intersection(_ other: SCNBillboardAxis) -> SCNBillboardAxis
    func symmetricDifference(_ other: SCNBillboardAxis) -> SCNBillboardAxis
}
extension SCNBillboardAxis {
    func contains(_ member: SCNBillboardAxis) -> Bool
    mutating func insert(_ newMember: SCNBillboardAxis) -> (inserted: Bool, memberAfterInsert: SCNBillboardAxis)
    mutating func remove(_ member: SCNBillboardAxis) -> SCNBillboardAxis?
    mutating func update(with newMember: SCNBillboardAxis) -> SCNBillboardAxis?
}
extension SCNBillboardAxis {
    convenience init()
    mutating func formUnion(_ other: SCNBillboardAxis)
    mutating func formIntersection(_ other: SCNBillboardAxis)
    mutating func formSymmetricDifference(_ other: SCNBillboardAxis)
}
extension SCNBillboardAxis {
    convenience init<S : Sequence where S.Iterator.Element == SCNBillboardAxis>(_ sequence: S)
    convenience init(arrayLiteral arrayLiteral: SCNBillboardAxis...)
    mutating func subtract(_ other: SCNBillboardAxis)
    func isSubset(of other: SCNBillboardAxis) -> Bool
    func isSuperset(of other: SCNBillboardAxis) -> Bool
    func isDisjoint(with other: SCNBillboardAxis) -> Bool
    func subtracting(_ other: SCNBillboardAxis) -> SCNBillboardAxis
    var isEmpty: Bool { get }
    func isStrictSuperset(of other: SCNBillboardAxis) -> Bool
    func isStrictSubset(of other: SCNBillboardAxis) -> Bool
}
OptionSet

Declaration
From
static var All: SCNBillboardAxis { get }
To
static var all: SCNBillboardAxis { get }

Declaration
From
enum SCNBlendMode : Int {
    case Alpha
    case Add
    case Subtract
    case Multiply
    case Screen
    case Replace
}
To
enum SCNBlendMode : Int {
    case alpha
    case add
    case subtract
    case multiply
    case screen
    case replace
}

Declaration
From
case Add
To
case add

Declaration
From
case Alpha
To
case alpha

Declaration
From
case Multiply
To
case multiply

Declaration
From
case Replace
To
case replace

Declaration
From
case Screen
To
case screen

Declaration
From
case Subtract
To
case subtract

Declaration
From
protocol SCNBoundingVolume : NSObjectProtocol {
    func getBoundingBoxMin(_ min: UnsafeMutablePointer<SCNVector3>, max max: UnsafeMutablePointer<SCNVector3>) -> Bool
    func getBoundingSphereCenter(_ center: UnsafeMutablePointer<SCNVector3>, radius radius: UnsafeMutablePointer<CGFloat>) -> Bool
    func setBoundingBoxMin(_ min: UnsafeMutablePointer<SCNVector3>, max max: UnsafeMutablePointer<SCNVector3>)
}
To
protocol SCNBoundingVolume : NSObjectProtocol {
    func __getBoundingBoxMin(_ min: UnsafeMutablePointer<SCNVector3>?, max max: UnsafeMutablePointer<SCNVector3>?) -> Bool
    func __setBoundingBoxMin(_ min: UnsafeMutablePointer<SCNVector3>?, max max: UnsafeMutablePointer<SCNVector3>?)
    func __getBoundingSphereCenter(_ center: UnsafeMutablePointer<SCNVector3>?, radius radius: UnsafeMutablePointer<CGFloat>?) -> Bool
}

Modified SCNBox
DeclarationProtocols
From
class SCNBox : SCNGeometry {
    convenience init(width width: CGFloat, height height: CGFloat, length length: CGFloat, chamferRadius chamferRadius: CGFloat)
    class func boxWithWidth(_ width: CGFloat, height height: CGFloat, length length: CGFloat, chamferRadius chamferRadius: CGFloat) -> Self
    var width: CGFloat
    var height: CGFloat
    var length: CGFloat
    var chamferRadius: CGFloat
    var widthSegmentCount: Int
    var heightSegmentCount: Int
    var lengthSegmentCount: Int
    var chamferSegmentCount: Int
}
--
To
class SCNBox : SCNGeometry {
    convenience init(width width: CGFloat, height height: CGFloat, length length: CGFloat, chamferRadius chamferRadius: CGFloat)
    class func withWidth(_ width: CGFloat, height height: CGFloat, length length: CGFloat, chamferRadius chamferRadius: CGFloat) -> Self
    var width: CGFloat
    var height: CGFloat
    var length: CGFloat
    var chamferRadius: CGFloat
    var widthSegmentCount: Int
    var heightSegmentCount: Int
    var lengthSegmentCount: Int
    var chamferSegmentCount: Int
    convenience init(mdlMesh mdlMesh: MDLMesh)
    class func withMDLMesh(_ mdlMesh: MDLMesh) -> Self
    var boundingBox: (min: SCNVector3, max: SCNVector3)
    var boundingSphere: (center: SCNVector3, radius: Float) { get }
    func awakeFromNib()
    func prepareForInterfaceBuilder()
    func accessibilityActivate() -> Bool
    func accessibilityIncrement()
    func accessibilityDecrement()
    func accessibilityScroll(_ direction: UIAccessibilityScrollDirection) -> Bool
    func accessibilityPerformEscape() -> Bool
    func accessibilityPerformMagicTap() -> Bool
    var accessibilityCustomActions: [UIAccessibilityCustomAction]?
    func accessibilityElementDidBecomeFocused()
    func accessibilityElementDidLoseFocus()
    func accessibilityElementIsFocused() -> Bool
    func accessibilityAssistiveTechnologyFocusedIdentifiers() -> Set<String>?
    func accessibilityElementCount() -> Int
    func accessibilityElement(at index: Int) -> Any?
    func index(ofAccessibilityElement element: Any) -> Int
    var accessibilityElements: [Any]?
    var isAccessibilityElement: Bool
    var accessibilityLabel: String?
    var accessibilityHint: String?
    var accessibilityValue: String?
    var accessibilityTraits: UIAccessibilityTraits
    var accessibilityFrame: CGRect
    @NSCopying var accessibilityPath: UIBezierPath?
    var accessibilityActivationPoint: CGPoint
    var accessibilityLanguage: String?
    var accessibilityElementsHidden: Bool
    var accessibilityViewIsModal: Bool
    var shouldGroupAccessibilityChildren: Bool
    var accessibilityNavigationStyle: UIAccessibilityNavigationStyle
    var accessibilityHeaderElements: [Any]?
    var accessibilityCustomRotors: [UIAccessibilityCustomRotor]?
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool)
    func performSelector(inBackground aSelector: Selector, with arg: Any?)
    class func classForKeyedUnarchiver() -> AnyClass
    var classForKeyedArchiver: AnyClass? { get }
    func replacementObject(for archiver: NSKeyedArchiver) -> Any?
    class func classFallbacksForKeyedArchiver() -> [String]
    class func keyPathsForValuesAffectingValue(forKey key: String) -> Set<String>
    class func automaticallyNotifiesObservers(forKey key: String) -> Bool
    var observationInfo: UnsafeMutableRawPointer?
    func willChangeValue(forKey key: String)
    func didChangeValue(forKey key: String)
    func willChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func didChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func willChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func didChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func addObserver(_ observer: NSObject, forKeyPath keyPath: String, options options: NSKeyValueObservingOptions = [], context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String, context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String)
    func observeValue(forKeyPath keyPath: String?, of object: Any?, change change: [NSKeyValueChangeKey : Any]?, context context: UnsafeMutableRawPointer?)
    class var accessInstanceVariablesDirectly: Bool { get }
    func value(forKey key: String) -> Any?
    func setValue(_ value: Any?, forKey key: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKey inKey: String) throws
    func mutableArrayValue(forKey key: String) -> NSMutableArray
    func mutableOrderedSetValue(forKey key: String) -> NSMutableOrderedSet
    func mutableSetValue(forKey key: String) -> NSMutableSet
    func value(forKeyPath keyPath: String) -> Any?
    func setValue(_ value: Any?, forKeyPath keyPath: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKeyPath inKeyPath: String) throws
    func mutableArrayValue(forKeyPath keyPath: String) -> NSMutableArray
    func mutableOrderedSetValue(forKeyPath keyPath: String) -> NSMutableOrderedSet
    func mutableSetValue(forKeyPath keyPath: String) -> NSMutableSet
    func value(forUndefinedKey key: String) -> Any?
    func setValue(_ value: Any?, forUndefinedKey key: String)
    func setNilValueForKey(_ key: String)
    func dictionaryWithValues(forKeys keys: [String]) -> [String : Any]
    func setValuesForKeys(_ keyedValues: [String : Any])
    func fileManager(_ fm: FileManager, shouldProceedAfterError errorInfo: [AnyHashable : Any]) -> Bool
    func fileManager(_ fm: FileManager, willProcessPath path: String)
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval, inModes modes: [RunLoopMode])
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any, selector aSelector: Selector, object anArgument: Any?)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int, delegate delegate: Any?, didRecoverSelector didRecoverSelector: Selector?, contextInfo contextInfo: UnsafeMutableRawPointer?)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int) -> Bool
    var autoContentAccessingProxy: Any { get }
    class func version() -> Int
    class func setVersion(_ aVersion: Int)
    var classForCoder: AnyClass { get }
    func awakeAfter(using aDecoder: NSCoder) -> Any?
    func provideImageData(_ data: UnsafeMutableRawPointer, bytesPerRow rowbytes: Int, origin x: Int, _ y: Int, size width: Int, _ height: Int, userInfo info: Any?)
}
extension SCNBox : CVarArg {
}
extension SCNBox : Equatable, Hashable {
    var hashValue: Int { get }
}
CVarArg, Equatable, Hashable

Declaration
From
enum SCNBufferFrequency : Int {
    case PerFrame
    case PerNode
    case PerShadable
}
To
enum SCNBufferFrequency : Int {
    case perFrame
    case perNode
    case perShadable
}

Declaration
From
case PerFrame
To
case perFrame

Declaration
From
case PerNode
To
case perNode

Declaration
From
case PerShadable
To
case perShadable

Declaration
From
protocol SCNBufferStream : NSObjectProtocol {
    func writeBytes(_ bytes: UnsafeMutablePointer<Void>, length length: Int)
}
To
protocol SCNBufferStream : NSObjectProtocol {
    func writeBytes(_ bytes: UnsafeMutableRawPointer, count length: Int)
}

Declaration
From
func writeBytes(_ bytes: UnsafeMutablePointer<Void>, length length: Int)
To
func writeBytes(_ bytes: UnsafeMutableRawPointer, count length: Int)

Modified SCNCamera
DeclarationProtocols
From
class SCNCamera : NSObject, SCNAnimatable, SCNTechniqueSupport, NSCopying, NSSecureCoding {
    convenience init()
    class func camera() -> Self
    var name: String?
    var xFov: Double
    var yFov: Double
    var zNear: Double
    var zFar: Double
    var automaticallyAdjustsZRange: Bool
    var usesOrthographicProjection: Bool
    var orthographicScale: Double
    func projectionTransform() -> SCNMatrix4
    func setProjectionTransform(_ projectionTransform: SCNMatrix4)
    var focalDistance: CGFloat
    var focalSize: CGFloat
    var focalBlurRadius: CGFloat
    var aperture: CGFloat
    var categoryBitMask: Int
}
extension SCNCamera {
    convenience init(MDLCamera mdlCamera: MDLCamera)
    class func cameraWithMDLCamera(_ mdlCamera: MDLCamera) -> Self
}
NSCopying, NSSecureCoding, SCNAnimatable, SCNTechniqueSupport
To
class SCNCamera : NSObject, SCNAnimatable, SCNTechniqueSupport, NSCopying, NSSecureCoding {
    convenience init()
    class func camera() -> Self
    var name: String?
    var xFov: Double
    var yFov: Double
    var zNear: Double
    var zFar: Double
    var automaticallyAdjustsZRange: Bool
    var usesOrthographicProjection: Bool
    var orthographicScale: Double
    var projectionTransform: SCNMatrix4
    var focalDistance: CGFloat
    var focalSize: CGFloat
    var focalBlurRadius: CGFloat
    var aperture: CGFloat
    var motionBlurIntensity: CGFloat
    var wantsHDR: Bool
    var exposureOffset: CGFloat
    var averageGray: CGFloat
    var whitePoint: CGFloat
    var wantsExposureAdaptation: Bool
    var exposureAdaptationBrighteningSpeedFactor: CGFloat
    var exposureAdaptationDarkeningSpeedFactor: CGFloat
    var minimumExposure: CGFloat
    var maximumExposure: CGFloat
    var bloomThreshold: CGFloat
    var bloomIntensity: CGFloat
    var bloomBlurRadius: CGFloat
    var vignettingPower: CGFloat
    var vignettingIntensity: CGFloat
    var colorFringeStrength: CGFloat
    var colorFringeIntensity: CGFloat
    var saturation: CGFloat
    var contrast: CGFloat
    var colorGrading: SCNMaterialProperty { get }
    var categoryBitMask: Int
    convenience init(mdlCamera mdlCamera: MDLCamera)
    class func withMDLCamera(_ mdlCamera: MDLCamera) -> Self
    func awakeFromNib()
    func prepareForInterfaceBuilder()
    func accessibilityActivate() -> Bool
    func accessibilityIncrement()
    func accessibilityDecrement()
    func accessibilityScroll(_ direction: UIAccessibilityScrollDirection) -> Bool
    func accessibilityPerformEscape() -> Bool
    func accessibilityPerformMagicTap() -> Bool
    var accessibilityCustomActions: [UIAccessibilityCustomAction]?
    func accessibilityElementDidBecomeFocused()
    func accessibilityElementDidLoseFocus()
    func accessibilityElementIsFocused() -> Bool
    func accessibilityAssistiveTechnologyFocusedIdentifiers() -> Set<String>?
    func accessibilityElementCount() -> Int
    func accessibilityElement(at index: Int) -> Any?
    func index(ofAccessibilityElement element: Any) -> Int
    var accessibilityElements: [Any]?
    var isAccessibilityElement: Bool
    var accessibilityLabel: String?
    var accessibilityHint: String?
    var accessibilityValue: String?
    var accessibilityTraits: UIAccessibilityTraits
    var accessibilityFrame: CGRect
    @NSCopying var accessibilityPath: UIBezierPath?
    var accessibilityActivationPoint: CGPoint
    var accessibilityLanguage: String?
    var accessibilityElementsHidden: Bool
    var accessibilityViewIsModal: Bool
    var shouldGroupAccessibilityChildren: Bool
    var accessibilityNavigationStyle: UIAccessibilityNavigationStyle
    var accessibilityHeaderElements: [Any]?
    var accessibilityCustomRotors: [UIAccessibilityCustomRotor]?
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool)
    func performSelector(inBackground aSelector: Selector, with arg: Any?)
    class func classForKeyedUnarchiver() -> AnyClass
    var classForKeyedArchiver: AnyClass? { get }
    func replacementObject(for archiver: NSKeyedArchiver) -> Any?
    class func classFallbacksForKeyedArchiver() -> [String]
    class func keyPathsForValuesAffectingValue(forKey key: String) -> Set<String>
    class func automaticallyNotifiesObservers(forKey key: String) -> Bool
    var observationInfo: UnsafeMutableRawPointer?
    func willChangeValue(forKey key: String)
    func didChangeValue(forKey key: String)
    func willChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func didChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func willChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func didChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func addObserver(_ observer: NSObject, forKeyPath keyPath: String, options options: NSKeyValueObservingOptions = [], context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String, context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String)
    func observeValue(forKeyPath keyPath: String?, of object: Any?, change change: [NSKeyValueChangeKey : Any]?, context context: UnsafeMutableRawPointer?)
    class var accessInstanceVariablesDirectly: Bool { get }
    func value(forKey key: String) -> Any?
    func setValue(_ value: Any?, forKey key: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKey inKey: String) throws
    func mutableArrayValue(forKey key: String) -> NSMutableArray
    func mutableOrderedSetValue(forKey key: String) -> NSMutableOrderedSet
    func mutableSetValue(forKey key: String) -> NSMutableSet
    func value(forKeyPath keyPath: String) -> Any?
    func setValue(_ value: Any?, forKeyPath keyPath: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKeyPath inKeyPath: String) throws
    func mutableArrayValue(forKeyPath keyPath: String) -> NSMutableArray
    func mutableOrderedSetValue(forKeyPath keyPath: String) -> NSMutableOrderedSet
    func mutableSetValue(forKeyPath keyPath: String) -> NSMutableSet
    func value(forUndefinedKey key: String) -> Any?
    func setValue(_ value: Any?, forUndefinedKey key: String)
    func setNilValueForKey(_ key: String)
    func dictionaryWithValues(forKeys keys: [String]) -> [String : Any]
    func setValuesForKeys(_ keyedValues: [String : Any])
    func fileManager(_ fm: FileManager, shouldProceedAfterError errorInfo: [AnyHashable : Any]) -> Bool
    func fileManager(_ fm: FileManager, willProcessPath path: String)
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval, inModes modes: [RunLoopMode])
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any, selector aSelector: Selector, object anArgument: Any?)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int, delegate delegate: Any?, didRecoverSelector didRecoverSelector: Selector?, contextInfo contextInfo: UnsafeMutableRawPointer?)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int) -> Bool
    var autoContentAccessingProxy: Any { get }
    class func version() -> Int
    class func setVersion(_ aVersion: Int)
    var classForCoder: AnyClass { get }
    func awakeAfter(using aDecoder: NSCoder) -> Any?
    func provideImageData(_ data: UnsafeMutableRawPointer, bytesPerRow rowbytes: Int, origin x: Int, _ y: Int, size width: Int, _ height: Int, userInfo info: Any?)
}
extension SCNCamera {
    convenience init(mdlCamera mdlCamera: MDLCamera)
    class func withMDLCamera(_ mdlCamera: MDLCamera) -> Self
}
extension SCNCamera : CVarArg {
}
extension SCNCamera : Equatable, Hashable {
    var hashValue: Int { get }
}
CVarArg, Equatable, Hashable, NSCopying, NSSecureCoding, SCNAnimatable, SCNTechniqueSupport

Declaration
From
convenience init(MDLCamera mdlCamera: MDLCamera)
To
convenience init(mdlCamera mdlCamera: MDLCamera)

Modified SCNCapsule
DeclarationProtocols
From
class SCNCapsule : SCNGeometry {
    convenience init(capRadius capRadius: CGFloat, height height: CGFloat)
    class func capsuleWithCapRadius(_ capRadius: CGFloat, height height: CGFloat) -> Self
    var capRadius: CGFloat
    var height: CGFloat
    var radialSegmentCount: Int
    var heightSegmentCount: Int
    var capSegmentCount: Int
}
--
To
class SCNCapsule : SCNGeometry {
    convenience init(capRadius capRadius: CGFloat, height height: CGFloat)
    class func withCapRadius(_ capRadius: CGFloat, height height: CGFloat) -> Self
    var capRadius: CGFloat
    var height: CGFloat
    var radialSegmentCount: Int
    var heightSegmentCount: Int
    var capSegmentCount: Int
    convenience init(mdlMesh mdlMesh: MDLMesh)
    class func withMDLMesh(_ mdlMesh: MDLMesh) -> Self
    var boundingBox: (min: SCNVector3, max: SCNVector3)
    var boundingSphere: (center: SCNVector3, radius: Float) { get }
    func awakeFromNib()
    func prepareForInterfaceBuilder()
    func accessibilityActivate() -> Bool
    func accessibilityIncrement()
    func accessibilityDecrement()
    func accessibilityScroll(_ direction: UIAccessibilityScrollDirection) -> Bool
    func accessibilityPerformEscape() -> Bool
    func accessibilityPerformMagicTap() -> Bool
    var accessibilityCustomActions: [UIAccessibilityCustomAction]?
    func accessibilityElementDidBecomeFocused()
    func accessibilityElementDidLoseFocus()
    func accessibilityElementIsFocused() -> Bool
    func accessibilityAssistiveTechnologyFocusedIdentifiers() -> Set<String>?
    func accessibilityElementCount() -> Int
    func accessibilityElement(at index: Int) -> Any?
    func index(ofAccessibilityElement element: Any) -> Int
    var accessibilityElements: [Any]?
    var isAccessibilityElement: Bool
    var accessibilityLabel: String?
    var accessibilityHint: String?
    var accessibilityValue: String?
    var accessibilityTraits: UIAccessibilityTraits
    var accessibilityFrame: CGRect
    @NSCopying var accessibilityPath: UIBezierPath?
    var accessibilityActivationPoint: CGPoint
    var accessibilityLanguage: String?
    var accessibilityElementsHidden: Bool
    var accessibilityViewIsModal: Bool
    var shouldGroupAccessibilityChildren: Bool
    var accessibilityNavigationStyle: UIAccessibilityNavigationStyle
    var accessibilityHeaderElements: [Any]?
    var accessibilityCustomRotors: [UIAccessibilityCustomRotor]?
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool)
    func performSelector(inBackground aSelector: Selector, with arg: Any?)
    class func classForKeyedUnarchiver() -> AnyClass
    var classForKeyedArchiver: AnyClass? { get }
    func replacementObject(for archiver: NSKeyedArchiver) -> Any?
    class func classFallbacksForKeyedArchiver() -> [String]
    class func keyPathsForValuesAffectingValue(forKey key: String) -> Set<String>
    class func automaticallyNotifiesObservers(forKey key: String) -> Bool
    var observationInfo: UnsafeMutableRawPointer?
    func willChangeValue(forKey key: String)
    func didChangeValue(forKey key: String)
    func willChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func didChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func willChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func didChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func addObserver(_ observer: NSObject, forKeyPath keyPath: String, options options: NSKeyValueObservingOptions = [], context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String, context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String)
    func observeValue(forKeyPath keyPath: String?, of object: Any?, change change: [NSKeyValueChangeKey : Any]?, context context: UnsafeMutableRawPointer?)
    class var accessInstanceVariablesDirectly: Bool { get }
    func value(forKey key: String) -> Any?
    func setValue(_ value: Any?, forKey key: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKey inKey: String) throws
    func mutableArrayValue(forKey key: String) -> NSMutableArray
    func mutableOrderedSetValue(forKey key: String) -> NSMutableOrderedSet
    func mutableSetValue(forKey key: String) -> NSMutableSet
    func value(forKeyPath keyPath: String) -> Any?
    func setValue(_ value: Any?, forKeyPath keyPath: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKeyPath inKeyPath: String) throws
    func mutableArrayValue(forKeyPath keyPath: String) -> NSMutableArray
    func mutableOrderedSetValue(forKeyPath keyPath: String) -> NSMutableOrderedSet
    func mutableSetValue(forKeyPath keyPath: String) -> NSMutableSet
    func value(forUndefinedKey key: String) -> Any?
    func setValue(_ value: Any?, forUndefinedKey key: String)
    func setNilValueForKey(_ key: String)
    func dictionaryWithValues(forKeys keys: [String]) -> [String : Any]
    func setValuesForKeys(_ keyedValues: [String : Any])
    func fileManager(_ fm: FileManager, shouldProceedAfterError errorInfo: [AnyHashable : Any]) -> Bool
    func fileManager(_ fm: FileManager, willProcessPath path: String)
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval, inModes modes: [RunLoopMode])
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any, selector aSelector: Selector, object anArgument: Any?)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int, delegate delegate: Any?, didRecoverSelector didRecoverSelector: Selector?, contextInfo contextInfo: UnsafeMutableRawPointer?)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int) -> Bool
    var autoContentAccessingProxy: Any { get }
    class func version() -> Int
    class func setVersion(_ aVersion: Int)
    var classForCoder: AnyClass { get }
    func awakeAfter(using aDecoder: NSCoder) -> Any?
    func provideImageData(_ data: UnsafeMutableRawPointer, bytesPerRow rowbytes: Int, origin x: Int, _ y: Int, size width: Int, _ height: Int, userInfo info: Any?)
}
extension SCNCapsule : CVarArg {
}
extension SCNCapsule : Equatable, Hashable {
    var hashValue: Int { get }
}
CVarArg, Equatable, Hashable

Declaration
From
enum SCNChamferMode : Int {
    case Both
    case Front
    case Back
}
To
enum SCNChamferMode : Int {
    case both
    case front
    case back
}

Declaration
From
case Back
To
case back

Declaration
From
case Both
To
case both

Declaration
From
case Front
To
case front

Modified SCNCone
DeclarationProtocols
From
class SCNCone : SCNGeometry {
    convenience init(topRadius topRadius: CGFloat, bottomRadius bottomRadius: CGFloat, height height: CGFloat)
    class func coneWithTopRadius(_ topRadius: CGFloat, bottomRadius bottomRadius: CGFloat, height height: CGFloat) -> Self
    var topRadius: CGFloat
    var bottomRadius: CGFloat
    var height: CGFloat
    var radialSegmentCount: Int
    var heightSegmentCount: Int
}
--
To
class SCNCone : SCNGeometry {
    convenience init(topRadius topRadius: CGFloat, bottomRadius bottomRadius: CGFloat, height height: CGFloat)
    class func withTopRadius(_ topRadius: CGFloat, bottomRadius bottomRadius: CGFloat, height height: CGFloat) -> Self
    var topRadius: CGFloat
    var bottomRadius: CGFloat
    var height: CGFloat
    var radialSegmentCount: Int
    var heightSegmentCount: Int
    convenience init(mdlMesh mdlMesh: MDLMesh)
    class func withMDLMesh(_ mdlMesh: MDLMesh) -> Self
    var boundingBox: (min: SCNVector3, max: SCNVector3)
    var boundingSphere: (center: SCNVector3, radius: Float) { get }
    func awakeFromNib()
    func prepareForInterfaceBuilder()
    func accessibilityActivate() -> Bool
    func accessibilityIncrement()
    func accessibilityDecrement()
    func accessibilityScroll(_ direction: UIAccessibilityScrollDirection) -> Bool
    func accessibilityPerformEscape() -> Bool
    func accessibilityPerformMagicTap() -> Bool
    var accessibilityCustomActions: [UIAccessibilityCustomAction]?
    func accessibilityElementDidBecomeFocused()
    func accessibilityElementDidLoseFocus()
    func accessibilityElementIsFocused() -> Bool
    func accessibilityAssistiveTechnologyFocusedIdentifiers() -> Set<String>?
    func accessibilityElementCount() -> Int
    func accessibilityElement(at index: Int) -> Any?
    func index(ofAccessibilityElement element: Any) -> Int
    var accessibilityElements: [Any]?
    var isAccessibilityElement: Bool
    var accessibilityLabel: String?
    var accessibilityHint: String?
    var accessibilityValue: String?
    var accessibilityTraits: UIAccessibilityTraits
    var accessibilityFrame: CGRect
    @NSCopying var accessibilityPath: UIBezierPath?
    var accessibilityActivationPoint: CGPoint
    var accessibilityLanguage: String?
    var accessibilityElementsHidden: Bool
    var accessibilityViewIsModal: Bool
    var shouldGroupAccessibilityChildren: Bool
    var accessibilityNavigationStyle: UIAccessibilityNavigationStyle
    var accessibilityHeaderElements: [Any]?
    var accessibilityCustomRotors: [UIAccessibilityCustomRotor]?
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool)
    func performSelector(inBackground aSelector: Selector, with arg: Any?)
    class func classForKeyedUnarchiver() -> AnyClass
    var classForKeyedArchiver: AnyClass? { get }
    func replacementObject(for archiver: NSKeyedArchiver) -> Any?
    class func classFallbacksForKeyedArchiver() -> [String]
    class func keyPathsForValuesAffectingValue(forKey key: String) -> Set<String>
    class func automaticallyNotifiesObservers(forKey key: String) -> Bool
    var observationInfo: UnsafeMutableRawPointer?
    func willChangeValue(forKey key: String)
    func didChangeValue(forKey key: String)
    func willChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func didChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func willChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func didChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func addObserver(_ observer: NSObject, forKeyPath keyPath: String, options options: NSKeyValueObservingOptions = [], context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String, context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String)
    func observeValue(forKeyPath keyPath: String?, of object: Any?, change change: [NSKeyValueChangeKey : Any]?, context context: UnsafeMutableRawPointer?)
    class var accessInstanceVariablesDirectly: Bool { get }
    func value(forKey key: String) -> Any?
    func setValue(_ value: Any?, forKey key: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKey inKey: String) throws
    func mutableArrayValue(forKey key: String) -> NSMutableArray
    func mutableOrderedSetValue(forKey key: String) -> NSMutableOrderedSet
    func mutableSetValue(forKey key: String) -> NSMutableSet
    func value(forKeyPath keyPath: String) -> Any?
    func setValue(_ value: Any?, forKeyPath keyPath: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKeyPath inKeyPath: String) throws
    func mutableArrayValue(forKeyPath keyPath: String) -> NSMutableArray
    func mutableOrderedSetValue(forKeyPath keyPath: String) -> NSMutableOrderedSet
    func mutableSetValue(forKeyPath keyPath: String) -> NSMutableSet
    func value(forUndefinedKey key: String) -> Any?
    func setValue(_ value: Any?, forUndefinedKey key: String)
    func setNilValueForKey(_ key: String)
    func dictionaryWithValues(forKeys keys: [String]) -> [String : Any]
    func setValuesForKeys(_ keyedValues: [String : Any])
    func fileManager(_ fm: FileManager, shouldProceedAfterError errorInfo: [AnyHashable : Any]) -> Bool
    func fileManager(_ fm: FileManager, willProcessPath path: String)
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval, inModes modes: [RunLoopMode])
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any, selector aSelector: Selector, object anArgument: Any?)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int, delegate delegate: Any?, didRecoverSelector didRecoverSelector: Selector?, contextInfo contextInfo: UnsafeMutableRawPointer?)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int) -> Bool
    var autoContentAccessingProxy: Any { get }
    class func version() -> Int
    class func setVersion(_ aVersion: Int)
    var classForCoder: AnyClass { get }
    func awakeAfter(using aDecoder: NSCoder) -> Any?
    func provideImageData(_ data: UnsafeMutableRawPointer, bytesPerRow rowbytes: Int, origin x: Int, _ y: Int, size width: Int, _ height: Int, userInfo info: Any?)
}
extension SCNCone : CVarArg {
}
extension SCNCone : Equatable, Hashable {
    var hashValue: Int { get }
}
CVarArg, Equatable, Hashable

Modified SCNConstraint
DeclarationProtocols
From
class SCNConstraint : NSObject, NSCopying, NSSecureCoding, SCNAnimatable {
    var influenceFactor: CGFloat
}
NSCopying, NSSecureCoding, SCNAnimatable
To
class SCNConstraint : NSObject, NSCopying, NSSecureCoding, SCNAnimatable {
    var influenceFactor: CGFloat
    func awakeFromNib()
    func prepareForInterfaceBuilder()
    func accessibilityActivate() -> Bool
    func accessibilityIncrement()
    func accessibilityDecrement()
    func accessibilityScroll(_ direction: UIAccessibilityScrollDirection) -> Bool
    func accessibilityPerformEscape() -> Bool
    func accessibilityPerformMagicTap() -> Bool
    var accessibilityCustomActions: [UIAccessibilityCustomAction]?
    func accessibilityElementDidBecomeFocused()
    func accessibilityElementDidLoseFocus()
    func accessibilityElementIsFocused() -> Bool
    func accessibilityAssistiveTechnologyFocusedIdentifiers() -> Set<String>?
    func accessibilityElementCount() -> Int
    func accessibilityElement(at index: Int) -> Any?
    func index(ofAccessibilityElement element: Any) -> Int
    var accessibilityElements: [Any]?
    var isAccessibilityElement: Bool
    var accessibilityLabel: String?
    var accessibilityHint: String?
    var accessibilityValue: String?
    var accessibilityTraits: UIAccessibilityTraits
    var accessibilityFrame: CGRect
    @NSCopying var accessibilityPath: UIBezierPath?
    var accessibilityActivationPoint: CGPoint
    var accessibilityLanguage: String?
    var accessibilityElementsHidden: Bool
    var accessibilityViewIsModal: Bool
    var shouldGroupAccessibilityChildren: Bool
    var accessibilityNavigationStyle: UIAccessibilityNavigationStyle
    var accessibilityHeaderElements: [Any]?
    var accessibilityCustomRotors: [UIAccessibilityCustomRotor]?
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool)
    func performSelector(inBackground aSelector: Selector, with arg: Any?)
    class func classForKeyedUnarchiver() -> AnyClass
    var classForKeyedArchiver: AnyClass? { get }
    func replacementObject(for archiver: NSKeyedArchiver) -> Any?
    class func classFallbacksForKeyedArchiver() -> [String]
    class func keyPathsForValuesAffectingValue(forKey key: String) -> Set<String>
    class func automaticallyNotifiesObservers(forKey key: String) -> Bool
    var observationInfo: UnsafeMutableRawPointer?
    func willChangeValue(forKey key: String)
    func didChangeValue(forKey key: String)
    func willChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func didChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func willChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func didChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func addObserver(_ observer: NSObject, forKeyPath keyPath: String, options options: NSKeyValueObservingOptions = [], context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String, context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String)
    func observeValue(forKeyPath keyPath: String?, of object: Any?, change change: [NSKeyValueChangeKey : Any]?, context context: UnsafeMutableRawPointer?)
    class var accessInstanceVariablesDirectly: Bool { get }
    func value(forKey key: String) -> Any?
    func setValue(_ value: Any?, forKey key: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKey inKey: String) throws
    func mutableArrayValue(forKey key: String) -> NSMutableArray
    func mutableOrderedSetValue(forKey key: String) -> NSMutableOrderedSet
    func mutableSetValue(forKey key: String) -> NSMutableSet
    func value(forKeyPath keyPath: String) -> Any?
    func setValue(_ value: Any?, forKeyPath keyPath: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKeyPath inKeyPath: String) throws
    func mutableArrayValue(forKeyPath keyPath: String) -> NSMutableArray
    func mutableOrderedSetValue(forKeyPath keyPath: String) -> NSMutableOrderedSet
    func mutableSetValue(forKeyPath keyPath: String) -> NSMutableSet
    func value(forUndefinedKey key: String) -> Any?
    func setValue(_ value: Any?, forUndefinedKey key: String)
    func setNilValueForKey(_ key: String)
    func dictionaryWithValues(forKeys keys: [String]) -> [String : Any]
    func setValuesForKeys(_ keyedValues: [String : Any])
    func fileManager(_ fm: FileManager, shouldProceedAfterError errorInfo: [AnyHashable : Any]) -> Bool
    func fileManager(_ fm: FileManager, willProcessPath path: String)
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval, inModes modes: [RunLoopMode])
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any, selector aSelector: Selector, object anArgument: Any?)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int, delegate delegate: Any?, didRecoverSelector didRecoverSelector: Selector?, contextInfo contextInfo: UnsafeMutableRawPointer?)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int) -> Bool
    var autoContentAccessingProxy: Any { get }
    class func version() -> Int
    class func setVersion(_ aVersion: Int)
    var classForCoder: AnyClass { get }
    func awakeAfter(using aDecoder: NSCoder) -> Any?
    func provideImageData(_ data: UnsafeMutableRawPointer, bytesPerRow rowbytes: Int, origin x: Int, _ y: Int, size width: Int, _ height: Int, userInfo info: Any?)
}
extension SCNConstraint : CVarArg {
}
extension SCNConstraint : Equatable, Hashable {
    var hashValue: Int { get }
}
CVarArg, Equatable, Hashable, NSCopying, NSSecureCoding, SCNAnimatable

Declaration
From
enum SCNCullMode : Int {
    case Back
    case Front
}
To
enum SCNCullMode : Int {
    case back
    case front
}

Declaration
From
case Back
To
case back

Declaration
From
case Front
To
case front

Modified SCNCylinder
DeclarationProtocols
From
class SCNCylinder : SCNGeometry {
    convenience init(radius radius: CGFloat, height height: CGFloat)
    class func cylinderWithRadius(_ radius: CGFloat, height height: CGFloat) -> Self
    var radius: CGFloat
    var height: CGFloat
    var radialSegmentCount: Int
    var heightSegmentCount: Int
}
--
To
class SCNCylinder : SCNGeometry {
    convenience init(radius radius: CGFloat, height height: CGFloat)
    class func withRadius(_ radius: CGFloat, height height: CGFloat) -> Self
    var radius: CGFloat
    var height: CGFloat
    var radialSegmentCount: Int
    var heightSegmentCount: Int
    convenience init(mdlMesh mdlMesh: MDLMesh)
    class func withMDLMesh(_ mdlMesh: MDLMesh) -> Self
    var boundingBox: (min: SCNVector3, max: SCNVector3)
    var boundingSphere: (center: SCNVector3, radius: Float) { get }
    func awakeFromNib()
    func prepareForInterfaceBuilder()
    func accessibilityActivate() -> Bool
    func accessibilityIncrement()
    func accessibilityDecrement()
    func accessibilityScroll(_ direction: UIAccessibilityScrollDirection) -> Bool
    func accessibilityPerformEscape() -> Bool
    func accessibilityPerformMagicTap() -> Bool
    var accessibilityCustomActions: [UIAccessibilityCustomAction]?
    func accessibilityElementDidBecomeFocused()
    func accessibilityElementDidLoseFocus()
    func accessibilityElementIsFocused() -> Bool
    func accessibilityAssistiveTechnologyFocusedIdentifiers() -> Set<String>?
    func accessibilityElementCount() -> Int
    func accessibilityElement(at index: Int) -> Any?
    func index(ofAccessibilityElement element: Any) -> Int
    var accessibilityElements: [Any]?
    var isAccessibilityElement: Bool
    var accessibilityLabel: String?
    var accessibilityHint: String?
    var accessibilityValue: String?
    var accessibilityTraits: UIAccessibilityTraits
    var accessibilityFrame: CGRect
    @NSCopying var accessibilityPath: UIBezierPath?
    var accessibilityActivationPoint: CGPoint
    var accessibilityLanguage: String?
    var accessibilityElementsHidden: Bool
    var accessibilityViewIsModal: Bool
    var shouldGroupAccessibilityChildren: Bool
    var accessibilityNavigationStyle: UIAccessibilityNavigationStyle
    var accessibilityHeaderElements: [Any]?
    var accessibilityCustomRotors: [UIAccessibilityCustomRotor]?
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool)
    func performSelector(inBackground aSelector: Selector, with arg: Any?)
    class func classForKeyedUnarchiver() -> AnyClass
    var classForKeyedArchiver: AnyClass? { get }
    func replacementObject(for archiver: NSKeyedArchiver) -> Any?
    class func classFallbacksForKeyedArchiver() -> [String]
    class func keyPathsForValuesAffectingValue(forKey key: String) -> Set<String>
    class func automaticallyNotifiesObservers(forKey key: String) -> Bool
    var observationInfo: UnsafeMutableRawPointer?
    func willChangeValue(forKey key: String)
    func didChangeValue(forKey key: String)
    func willChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func didChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func willChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func didChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func addObserver(_ observer: NSObject, forKeyPath keyPath: String, options options: NSKeyValueObservingOptions = [], context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String, context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String)
    func observeValue(forKeyPath keyPath: String?, of object: Any?, change change: [NSKeyValueChangeKey : Any]?, context context: UnsafeMutableRawPointer?)
    class var accessInstanceVariablesDirectly: Bool { get }
    func value(forKey key: String) -> Any?
    func setValue(_ value: Any?, forKey key: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKey inKey: String) throws
    func mutableArrayValue(forKey key: String) -> NSMutableArray
    func mutableOrderedSetValue(forKey key: String) -> NSMutableOrderedSet
    func mutableSetValue(forKey key: String) -> NSMutableSet
    func value(forKeyPath keyPath: String) -> Any?
    func setValue(_ value: Any?, forKeyPath keyPath: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKeyPath inKeyPath: String) throws
    func mutableArrayValue(forKeyPath keyPath: String) -> NSMutableArray
    func mutableOrderedSetValue(forKeyPath keyPath: String) -> NSMutableOrderedSet
    func mutableSetValue(forKeyPath keyPath: String) -> NSMutableSet
    func value(forUndefinedKey key: String) -> Any?
    func setValue(_ value: Any?, forUndefinedKey key: String)
    func setNilValueForKey(_ key: String)
    func dictionaryWithValues(forKeys keys: [String]) -> [String : Any]
    func setValuesForKeys(_ keyedValues: [String : Any])
    func fileManager(_ fm: FileManager, shouldProceedAfterError errorInfo: [AnyHashable : Any]) -> Bool
    func fileManager(_ fm: FileManager, willProcessPath path: String)
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval, inModes modes: [RunLoopMode])
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any, selector aSelector: Selector, object anArgument: Any?)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int, delegate delegate: Any?, didRecoverSelector didRecoverSelector: Selector?, contextInfo contextInfo: UnsafeMutableRawPointer?)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int) -> Bool
    var autoContentAccessingProxy: Any { get }
    class func version() -> Int
    class func setVersion(_ aVersion: Int)
    var classForCoder: AnyClass { get }
    func awakeAfter(using aDecoder: NSCoder) -> Any?
    func provideImageData(_ data: UnsafeMutableRawPointer, bytesPerRow rowbytes: Int, origin x: Int, _ y: Int, size width: Int, _ height: Int, userInfo info: Any?)
}
extension SCNCylinder : CVarArg {
}
extension SCNCylinder : Equatable, Hashable {
    var hashValue: Int { get }
}
CVarArg, Equatable, Hashable

DeclarationProtocols
From
struct SCNDebugOptions : OptionSetType {
    init(rawValue rawValue: UInt)
    static var None: SCNDebugOptions { get }
    static var ShowPhysicsShapes: SCNDebugOptions { get }
    static var ShowBoundingBoxes: SCNDebugOptions { get }
    static var ShowLightInfluences: SCNDebugOptions { get }
    static var ShowLightExtents: SCNDebugOptions { get }
    static var ShowPhysicsFields: SCNDebugOptions { get }
    static var ShowWireframe: SCNDebugOptions { get }
}
OptionSetType
To
struct SCNDebugOptions : OptionSet {
    init(rawValue rawValue: UInt)
    static var none: SCNDebugOptions { get }
    static var showPhysicsShapes: SCNDebugOptions { get }
    static var showBoundingBoxes: SCNDebugOptions { get }
    static var showLightInfluences: SCNDebugOptions { get }
    static var showLightExtents: SCNDebugOptions { get }
    static var showPhysicsFields: SCNDebugOptions { get }
    static var showWireframe: SCNDebugOptions { get }
    func intersect(_ other: SCNDebugOptions) -> SCNDebugOptions
    func exclusiveOr(_ other: SCNDebugOptions) -> SCNDebugOptions
    mutating func unionInPlace(_ other: SCNDebugOptions)
    mutating func intersectInPlace(_ other: SCNDebugOptions)
    mutating func exclusiveOrInPlace(_ other: SCNDebugOptions)
    func isSubsetOf(_ other: SCNDebugOptions) -> Bool
    func isDisjointWith(_ other: SCNDebugOptions) -> Bool
    func isSupersetOf(_ other: SCNDebugOptions) -> Bool
    mutating func subtractInPlace(_ other: SCNDebugOptions)
    func isStrictSupersetOf(_ other: SCNDebugOptions) -> Bool
    func isStrictSubsetOf(_ other: SCNDebugOptions) -> Bool
}
extension SCNDebugOptions {
    func union(_ other: SCNDebugOptions) -> SCNDebugOptions
    func intersection(_ other: SCNDebugOptions) -> SCNDebugOptions
    func symmetricDifference(_ other: SCNDebugOptions) -> SCNDebugOptions
}
extension SCNDebugOptions {
    func contains(_ member: SCNDebugOptions) -> Bool
    mutating func insert(_ newMember: SCNDebugOptions) -> (inserted: Bool, memberAfterInsert: SCNDebugOptions)
    mutating func remove(_ member: SCNDebugOptions) -> SCNDebugOptions?
    mutating func update(with newMember: SCNDebugOptions) -> SCNDebugOptions?
}
extension SCNDebugOptions {
    convenience init()
    mutating func formUnion(_ other: SCNDebugOptions)
    mutating func formIntersection(_ other: SCNDebugOptions)
    mutating func formSymmetricDifference(_ other: SCNDebugOptions)
}
extension SCNDebugOptions {
    convenience init<S : Sequence where S.Iterator.Element == SCNDebugOptions>(_ sequence: S)
    convenience init(arrayLiteral arrayLiteral: SCNDebugOptions...)
    mutating func subtract(_ other: SCNDebugOptions)
    func isSubset(of other: SCNDebugOptions) -> Bool
    func isSuperset(of other: SCNDebugOptions) -> Bool
    func isDisjoint(with other: SCNDebugOptions) -> Bool
    func subtracting(_ other: SCNDebugOptions) -> SCNDebugOptions
    var isEmpty: Bool { get }
    func isStrictSuperset(of other: SCNDebugOptions) -> Bool
    func isStrictSubset(of other: SCNDebugOptions) -> Bool
}
OptionSet

Declaration
From
static var ShowBoundingBoxes: SCNDebugOptions { get }
To
static var showBoundingBoxes: SCNDebugOptions { get }

Declaration
From
static var ShowLightExtents: SCNDebugOptions { get }
To
static var showLightExtents: SCNDebugOptions { get }

Declaration
From
static var ShowLightInfluences: SCNDebugOptions { get }
To
static var showLightInfluences: SCNDebugOptions { get }

Declaration
From
static var ShowPhysicsFields: SCNDebugOptions { get }
To
static var showPhysicsFields: SCNDebugOptions { get }

Declaration
From
static var ShowPhysicsShapes: SCNDebugOptions { get }
To
static var showPhysicsShapes: SCNDebugOptions { get }

Declaration
From
static var ShowWireframe: SCNDebugOptions { get }
To
static var showWireframe: SCNDebugOptions { get }

Declaration
From
enum SCNFilterMode : Int {
    case None
    case Nearest
    case Linear
}
To
enum SCNFilterMode : Int {
    case none
    case nearest
    case linear
}

Declaration
From
case Linear
To
case linear

Declaration
From
case Nearest
To
case nearest

Declaration
From
case None
To
case none

Modified SCNFloor
DeclarationProtocols
From
class SCNFloor : SCNGeometry {
    convenience init()
    class func floor() -> Self
    var reflectivity: CGFloat
    var reflectionFalloffStart: CGFloat
    var reflectionFalloffEnd: CGFloat
    var reflectionResolutionScaleFactor: CGFloat
}
--
To
class SCNFloor : SCNGeometry {
    convenience init()
    class func floor() -> Self
    var reflectivity: CGFloat
    var reflectionFalloffStart: CGFloat
    var reflectionFalloffEnd: CGFloat
    var reflectionCategoryBitMask: Int
    var width: CGFloat
    var length: CGFloat
    var reflectionResolutionScaleFactor: CGFloat
    convenience init(mdlMesh mdlMesh: MDLMesh)
    class func withMDLMesh(_ mdlMesh: MDLMesh) -> Self
    var boundingBox: (min: SCNVector3, max: SCNVector3)
    var boundingSphere: (center: SCNVector3, radius: Float) { get }
    func awakeFromNib()
    func prepareForInterfaceBuilder()
    func accessibilityActivate() -> Bool
    func accessibilityIncrement()
    func accessibilityDecrement()
    func accessibilityScroll(_ direction: UIAccessibilityScrollDirection) -> Bool
    func accessibilityPerformEscape() -> Bool
    func accessibilityPerformMagicTap() -> Bool
    var accessibilityCustomActions: [UIAccessibilityCustomAction]?
    func accessibilityElementDidBecomeFocused()
    func accessibilityElementDidLoseFocus()
    func accessibilityElementIsFocused() -> Bool
    func accessibilityAssistiveTechnologyFocusedIdentifiers() -> Set<String>?
    func accessibilityElementCount() -> Int
    func accessibilityElement(at index: Int) -> Any?
    func index(ofAccessibilityElement element: Any) -> Int
    var accessibilityElements: [Any]?
    var isAccessibilityElement: Bool
    var accessibilityLabel: String?
    var accessibilityHint: String?
    var accessibilityValue: String?
    var accessibilityTraits: UIAccessibilityTraits
    var accessibilityFrame: CGRect
    @NSCopying var accessibilityPath: UIBezierPath?
    var accessibilityActivationPoint: CGPoint
    var accessibilityLanguage: String?
    var accessibilityElementsHidden: Bool
    var accessibilityViewIsModal: Bool
    var shouldGroupAccessibilityChildren: Bool
    var accessibilityNavigationStyle: UIAccessibilityNavigationStyle
    var accessibilityHeaderElements: [Any]?
    var accessibilityCustomRotors: [UIAccessibilityCustomRotor]?
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool)
    func performSelector(inBackground aSelector: Selector, with arg: Any?)
    class func classForKeyedUnarchiver() -> AnyClass
    var classForKeyedArchiver: AnyClass? { get }
    func replacementObject(for archiver: NSKeyedArchiver) -> Any?
    class func classFallbacksForKeyedArchiver() -> [String]
    class func keyPathsForValuesAffectingValue(forKey key: String) -> Set<String>
    class func automaticallyNotifiesObservers(forKey key: String) -> Bool
    var observationInfo: UnsafeMutableRawPointer?
    func willChangeValue(forKey key: String)
    func didChangeValue(forKey key: String)
    func willChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func didChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func willChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func didChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func addObserver(_ observer: NSObject, forKeyPath keyPath: String, options options: NSKeyValueObservingOptions = [], context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String, context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String)
    func observeValue(forKeyPath keyPath: String?, of object: Any?, change change: [NSKeyValueChangeKey : Any]?, context context: UnsafeMutableRawPointer?)
    class var accessInstanceVariablesDirectly: Bool { get }
    func value(forKey key: String) -> Any?
    func setValue(_ value: Any?, forKey key: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKey inKey: String) throws
    func mutableArrayValue(forKey key: String) -> NSMutableArray
    func mutableOrderedSetValue(forKey key: String) -> NSMutableOrderedSet
    func mutableSetValue(forKey key: String) -> NSMutableSet
    func value(forKeyPath keyPath: String) -> Any?
    func setValue(_ value: Any?, forKeyPath keyPath: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKeyPath inKeyPath: String) throws
    func mutableArrayValue(forKeyPath keyPath: String) -> NSMutableArray
    func mutableOrderedSetValue(forKeyPath keyPath: String) -> NSMutableOrderedSet
    func mutableSetValue(forKeyPath keyPath: String) -> NSMutableSet
    func value(forUndefinedKey key: String) -> Any?
    func setValue(_ value: Any?, forUndefinedKey key: String)
    func setNilValueForKey(_ key: String)
    func dictionaryWithValues(forKeys keys: [String]) -> [String : Any]
    func setValuesForKeys(_ keyedValues: [String : Any])
    func fileManager(_ fm: FileManager, shouldProceedAfterError errorInfo: [AnyHashable : Any]) -> Bool
    func fileManager(_ fm: FileManager, willProcessPath path: String)
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval, inModes modes: [RunLoopMode])
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any, selector aSelector: Selector, object anArgument: Any?)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int, delegate delegate: Any?, didRecoverSelector didRecoverSelector: Selector?, contextInfo contextInfo: UnsafeMutableRawPointer?)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int) -> Bool
    var autoContentAccessingProxy: Any { get }
    class func version() -> Int
    class func setVersion(_ aVersion: Int)
    var classForCoder: AnyClass { get }
    func awakeAfter(using aDecoder: NSCoder) -> Any?
    func provideImageData(_ data: UnsafeMutableRawPointer, bytesPerRow rowbytes: Int, origin x: Int, _ y: Int, size width: Int, _ height: Int, userInfo info: Any?)
}
extension SCNFloor : CVarArg {
}
extension SCNFloor : Equatable, Hashable {
    var hashValue: Int { get }
}
CVarArg, Equatable, Hashable

Modified SCNGeometry
DeclarationProtocols
From
class SCNGeometry : NSObject, SCNAnimatable, SCNBoundingVolume, SCNShadable, NSCopying, NSSecureCoding {
    convenience init()
    class func geometry() -> Self
    var name: String?
    var materials: [SCNMaterial]
    var firstMaterial: SCNMaterial?
    func insertMaterial(_ material: SCNMaterial, atIndex index: Int)
    func removeMaterialAtIndex(_ index: Int)
    func replaceMaterialAtIndex(_ index: Int, withMaterial material: SCNMaterial)
    func materialWithName(_ name: String) -> SCNMaterial?
    convenience init(sources sources: [SCNGeometrySource], elements elements: [SCNGeometryElement])
    class func geometryWithSources(_ sources: [SCNGeometrySource], elements elements: [SCNGeometryElement]) -> Self
    var geometrySources: [SCNGeometrySource] { get }
    func geometrySourcesForSemantic(_ semantic: String) -> [SCNGeometrySource]
    var geometryElements: [SCNGeometryElement] { get }
    var geometryElementCount: Int { get }
    func geometryElementAtIndex(_ elementIndex: Int) -> SCNGeometryElement
    var levelsOfDetail: [SCNLevelOfDetail]?
    var subdivisionLevel: Int
    var edgeCreasesElement: SCNGeometryElement?
    var edgeCreasesSource: SCNGeometrySource?
}
extension SCNGeometry {
    convenience init(MDLMesh mdlMesh: MDLMesh)
    class func geometryWithMDLMesh(_ mdlMesh: MDLMesh) -> Self
}
NSCopying, NSSecureCoding, SCNAnimatable, SCNBoundingVolume, SCNShadable
To
class SCNGeometry : NSObject, SCNAnimatable, SCNBoundingVolume, SCNShadable, NSCopying, NSSecureCoding {
    convenience init()
    class func geometry() -> Self
    var name: String?
    var materials: [SCNMaterial]
    var firstMaterial: SCNMaterial?
    func insertMaterial(_ material: SCNMaterial, at index: Int)
    func removeMaterial(at index: Int)
    func replaceMaterial(at index: Int, with material: SCNMaterial)
    func material(named name: String) -> SCNMaterial?
    convenience init(sources sources: [SCNGeometrySource], elements elements: [SCNGeometryElement]?)
    class func withSources(_ sources: [SCNGeometrySource], elements elements: [SCNGeometryElement]?) -> Self
    var geometrySources: [SCNGeometrySource] { get }
    func getGeometrySources(for semantic: SCNGeometrySource.Semantic) -> [SCNGeometrySource]
    var geometryElements: [SCNGeometryElement] { get }
    var geometryElementCount: Int { get }
    func geometryElement(at elementIndex: Int) -> SCNGeometryElement
    var levelsOfDetail: [SCNLevelOfDetail]?
    var subdivisionLevel: Int
    var edgeCreasesElement: SCNGeometryElement?
    var edgeCreasesSource: SCNGeometrySource?
    convenience init(mdlMesh mdlMesh: MDLMesh)
    class func withMDLMesh(_ mdlMesh: MDLMesh) -> Self
    var boundingBox: (min: SCNVector3, max: SCNVector3)
    var boundingSphere: (center: SCNVector3, radius: Float) { get }
    func awakeFromNib()
    func prepareForInterfaceBuilder()
    func accessibilityActivate() -> Bool
    func accessibilityIncrement()
    func accessibilityDecrement()
    func accessibilityScroll(_ direction: UIAccessibilityScrollDirection) -> Bool
    func accessibilityPerformEscape() -> Bool
    func accessibilityPerformMagicTap() -> Bool
    var accessibilityCustomActions: [UIAccessibilityCustomAction]?
    func accessibilityElementDidBecomeFocused()
    func accessibilityElementDidLoseFocus()
    func accessibilityElementIsFocused() -> Bool
    func accessibilityAssistiveTechnologyFocusedIdentifiers() -> Set<String>?
    func accessibilityElementCount() -> Int
    func accessibilityElement(at index: Int) -> Any?
    func index(ofAccessibilityElement element: Any) -> Int
    var accessibilityElements: [Any]?
    var isAccessibilityElement: Bool
    var accessibilityLabel: String?
    var accessibilityHint: String?
    var accessibilityValue: String?
    var accessibilityTraits: UIAccessibilityTraits
    var accessibilityFrame: CGRect
    @NSCopying var accessibilityPath: UIBezierPath?
    var accessibilityActivationPoint: CGPoint
    var accessibilityLanguage: String?
    var accessibilityElementsHidden: Bool
    var accessibilityViewIsModal: Bool
    var shouldGroupAccessibilityChildren: Bool
    var accessibilityNavigationStyle: UIAccessibilityNavigationStyle
    var accessibilityHeaderElements: [Any]?
    var accessibilityCustomRotors: [UIAccessibilityCustomRotor]?
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool)
    func performSelector(inBackground aSelector: Selector, with arg: Any?)
    class func classForKeyedUnarchiver() -> AnyClass
    var classForKeyedArchiver: AnyClass? { get }
    func replacementObject(for archiver: NSKeyedArchiver) -> Any?
    class func classFallbacksForKeyedArchiver() -> [String]
    class func keyPathsForValuesAffectingValue(forKey key: String) -> Set<String>
    class func automaticallyNotifiesObservers(forKey key: String) -> Bool
    var observationInfo: UnsafeMutableRawPointer?
    func willChangeValue(forKey key: String)
    func didChangeValue(forKey key: String)
    func willChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func didChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func willChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func didChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func addObserver(_ observer: NSObject, forKeyPath keyPath: String, options options: NSKeyValueObservingOptions = [], context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String, context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String)
    func observeValue(forKeyPath keyPath: String?, of object: Any?, change change: [NSKeyValueChangeKey : Any]?, context context: UnsafeMutableRawPointer?)
    class var accessInstanceVariablesDirectly: Bool { get }
    func value(forKey key: String) -> Any?
    func setValue(_ value: Any?, forKey key: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKey inKey: String) throws
    func mutableArrayValue(forKey key: String) -> NSMutableArray
    func mutableOrderedSetValue(forKey key: String) -> NSMutableOrderedSet
    func mutableSetValue(forKey key: String) -> NSMutableSet
    func value(forKeyPath keyPath: String) -> Any?
    func setValue(_ value: Any?, forKeyPath keyPath: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKeyPath inKeyPath: String) throws
    func mutableArrayValue(forKeyPath keyPath: String) -> NSMutableArray
    func mutableOrderedSetValue(forKeyPath keyPath: String) -> NSMutableOrderedSet
    func mutableSetValue(forKeyPath keyPath: String) -> NSMutableSet
    func value(forUndefinedKey key: String) -> Any?
    func setValue(_ value: Any?, forUndefinedKey key: String)
    func setNilValueForKey(_ key: String)
    func dictionaryWithValues(forKeys keys: [String]) -> [String : Any]
    func setValuesForKeys(_ keyedValues: [String : Any])
    func fileManager(_ fm: FileManager, shouldProceedAfterError errorInfo: [AnyHashable : Any]) -> Bool
    func fileManager(_ fm: FileManager, willProcessPath path: String)
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval, inModes modes: [RunLoopMode])
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any, selector aSelector: Selector, object anArgument: Any?)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int, delegate delegate: Any?, didRecoverSelector didRecoverSelector: Selector?, contextInfo contextInfo: UnsafeMutableRawPointer?)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int) -> Bool
    var autoContentAccessingProxy: Any { get }
    class func version() -> Int
    class func setVersion(_ aVersion: Int)
    var classForCoder: AnyClass { get }
    func awakeAfter(using aDecoder: NSCoder) -> Any?
    func provideImageData(_ data: UnsafeMutableRawPointer, bytesPerRow rowbytes: Int, origin x: Int, _ y: Int, size width: Int, _ height: Int, userInfo info: Any?)
}
extension SCNGeometry {
    convenience init(mdlMesh mdlMesh: MDLMesh)
    class func withMDLMesh(_ mdlMesh: MDLMesh) -> Self
}
extension SCNGeometry : CVarArg {
}
extension SCNGeometry : Equatable, Hashable {
    var hashValue: Int { get }
}
CVarArg, Equatable, Hashable, NSCopying, NSSecureCoding, SCNAnimatable, SCNBoundingVolume, SCNShadable

Declaration
From
func geometryElementAtIndex(_ elementIndex: Int) -> SCNGeometryElement
To
func geometryElement(at elementIndex: Int) -> SCNGeometryElement

Declaration
From
func geometrySourcesForSemantic(_ semantic: String) -> [SCNGeometrySource]
To
func getGeometrySources(for semantic: SCNGeometrySource.Semantic) -> [SCNGeometrySource]

Declaration
From
convenience init(MDLMesh mdlMesh: MDLMesh)
To
convenience init(mdlMesh mdlMesh: MDLMesh)

Declaration
From
convenience init(sources sources: [SCNGeometrySource], elements elements: [SCNGeometryElement])
To
convenience init(sources sources: [SCNGeometrySource], elements elements: [SCNGeometryElement]?)

Declaration
From
func insertMaterial(_ material: SCNMaterial, atIndex index: Int)
To
func insertMaterial(_ material: SCNMaterial, at index: Int)

Declaration
From
func materialWithName(_ name: String) -> SCNMaterial?
To
func material(named name: String) -> SCNMaterial?

Declaration
From
func removeMaterialAtIndex(_ index: Int)
To
func removeMaterial(at index: Int)

Declaration
From
func replaceMaterialAtIndex(_ index: Int, withMaterial material: SCNMaterial)
To
func replaceMaterial(at index: Int, with material: SCNMaterial)

DeclarationProtocols
From
class SCNGeometryElement : NSObject, NSSecureCoding {
    convenience init(data data: NSData?, primitiveType primitiveType: SCNGeometryPrimitiveType, primitiveCount primitiveCount: Int, bytesPerIndex bytesPerIndex: Int)
    class func geometryElementWithData(_ data: NSData?, primitiveType primitiveType: SCNGeometryPrimitiveType, primitiveCount primitiveCount: Int, bytesPerIndex bytesPerIndex: Int) -> Self
    var data: NSData { get }
    var primitiveType: SCNGeometryPrimitiveType { get }
    var primitiveCount: Int { get }
    var bytesPerIndex: Int { get }
}
extension SCNGeometryElement {
    convenience init(MDLSubmesh mdlSubMesh: MDLSubmesh)
    class func geometryElementWithMDLSubmesh(_ mdlSubMesh: MDLSubmesh) -> Self
}
extension SCNGeometryElement {
    convenience init<IndexType : IntegerType>(indices indices: [IndexType], primitiveType primitiveType: SCNGeometryPrimitiveType)
}
extension SCNGeometryElement {
    convenience init<IndexType : IntegerType>(indices indices: [IndexType], primitiveType primitiveType: SCNGeometryPrimitiveType)
}
NSSecureCoding
To
class SCNGeometryElement : NSObject, NSSecureCoding {
    convenience init(data data: Data?, primitiveType primitiveType: SCNGeometryPrimitiveType, primitiveCount primitiveCount: Int, bytesPerIndex bytesPerIndex: Int)
    class func withData(_ data: Data?, primitiveType primitiveType: SCNGeometryPrimitiveType, primitiveCount primitiveCount: Int, bytesPerIndex bytesPerIndex: Int) -> Self
    var data: Data { get }
    var primitiveType: SCNGeometryPrimitiveType { get }
    var primitiveCount: Int { get }
    var bytesPerIndex: Int { get }
    convenience init<IndexType : Integer>(indices indices: [IndexType], primitiveType primitiveType: SCNGeometryPrimitiveType)
    convenience init(mdlSubmesh mdlSubMesh: MDLSubmesh)
    class func withMDLSubmesh(_ mdlSubMesh: MDLSubmesh) -> Self
    func awakeFromNib()
    func prepareForInterfaceBuilder()
    func accessibilityActivate() -> Bool
    func accessibilityIncrement()
    func accessibilityDecrement()
    func accessibilityScroll(_ direction: UIAccessibilityScrollDirection) -> Bool
    func accessibilityPerformEscape() -> Bool
    func accessibilityPerformMagicTap() -> Bool
    var accessibilityCustomActions: [UIAccessibilityCustomAction]?
    func accessibilityElementDidBecomeFocused()
    func accessibilityElementDidLoseFocus()
    func accessibilityElementIsFocused() -> Bool
    func accessibilityAssistiveTechnologyFocusedIdentifiers() -> Set<String>?
    func accessibilityElementCount() -> Int
    func accessibilityElement(at index: Int) -> Any?
    func index(ofAccessibilityElement element: Any) -> Int
    var accessibilityElements: [Any]?
    var isAccessibilityElement: Bool
    var accessibilityLabel: String?
    var accessibilityHint: String?
    var accessibilityValue: String?
    var accessibilityTraits: UIAccessibilityTraits
    var accessibilityFrame: CGRect
    @NSCopying var accessibilityPath: UIBezierPath?
    var accessibilityActivationPoint: CGPoint
    var accessibilityLanguage: String?
    var accessibilityElementsHidden: Bool
    var accessibilityViewIsModal: Bool
    var shouldGroupAccessibilityChildren: Bool
    var accessibilityNavigationStyle: UIAccessibilityNavigationStyle
    var accessibilityHeaderElements: [Any]?
    var accessibilityCustomRotors: [UIAccessibilityCustomRotor]?
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool)
    func performSelector(inBackground aSelector: Selector, with arg: Any?)
    class func classForKeyedUnarchiver() -> AnyClass
    var classForKeyedArchiver: AnyClass? { get }
    func replacementObject(for archiver: NSKeyedArchiver) -> Any?
    class func classFallbacksForKeyedArchiver() -> [String]
    class func keyPathsForValuesAffectingValue(forKey key: String) -> Set<String>
    class func automaticallyNotifiesObservers(forKey key: String) -> Bool
    var observationInfo: UnsafeMutableRawPointer?
    func willChangeValue(forKey key: String)
    func didChangeValue(forKey key: String)
    func willChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func didChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func willChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func didChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func addObserver(_ observer: NSObject, forKeyPath keyPath: String, options options: NSKeyValueObservingOptions = [], context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String, context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String)
    func observeValue(forKeyPath keyPath: String?, of object: Any?, change change: [NSKeyValueChangeKey : Any]?, context context: UnsafeMutableRawPointer?)
    class var accessInstanceVariablesDirectly: Bool { get }
    func value(forKey key: String) -> Any?
    func setValue(_ value: Any?, forKey key: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKey inKey: String) throws
    func mutableArrayValue(forKey key: String) -> NSMutableArray
    func mutableOrderedSetValue(forKey key: String) -> NSMutableOrderedSet
    func mutableSetValue(forKey key: String) -> NSMutableSet
    func value(forKeyPath keyPath: String) -> Any?
    func setValue(_ value: Any?, forKeyPath keyPath: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKeyPath inKeyPath: String) throws
    func mutableArrayValue(forKeyPath keyPath: String) -> NSMutableArray
    func mutableOrderedSetValue(forKeyPath keyPath: String) -> NSMutableOrderedSet
    func mutableSetValue(forKeyPath keyPath: String) -> NSMutableSet
    func value(forUndefinedKey key: String) -> Any?
    func setValue(_ value: Any?, forUndefinedKey key: String)
    func setNilValueForKey(_ key: String)
    func dictionaryWithValues(forKeys keys: [String]) -> [String : Any]
    func setValuesForKeys(_ keyedValues: [String : Any])
    func fileManager(_ fm: FileManager, shouldProceedAfterError errorInfo: [AnyHashable : Any]) -> Bool
    func fileManager(_ fm: FileManager, willProcessPath path: String)
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval, inModes modes: [RunLoopMode])
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any, selector aSelector: Selector, object anArgument: Any?)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int, delegate delegate: Any?, didRecoverSelector didRecoverSelector: Selector?, contextInfo contextInfo: UnsafeMutableRawPointer?)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int) -> Bool
    var autoContentAccessingProxy: Any { get }
    class func version() -> Int
    class func setVersion(_ aVersion: Int)
    var classForCoder: AnyClass { get }
    func awakeAfter(using aDecoder: NSCoder) -> Any?
    func provideImageData(_ data: UnsafeMutableRawPointer, bytesPerRow rowbytes: Int, origin x: Int, _ y: Int, size width: Int, _ height: Int, userInfo info: Any?)
}
extension SCNGeometryElement {
    convenience init(mdlSubmesh mdlSubMesh: MDLSubmesh)
    class func withMDLSubmesh(_ mdlSubMesh: MDLSubmesh) -> Self
}
extension SCNGeometryElement : CVarArg {
}
extension SCNGeometryElement : Equatable, Hashable {
    var hashValue: Int { get }
}
extension SCNGeometryElement {
    convenience init<IndexType : Integer>(indices indices: [IndexType], primitiveType primitiveType: SCNGeometryPrimitiveType)
}
CVarArg, Equatable, Hashable, NSSecureCoding

Declaration
From
var data: NSData { get }
To
var data: Data { get }

Declaration
From
convenience init(data data: NSData?, primitiveType primitiveType: SCNGeometryPrimitiveType, primitiveCount primitiveCount: Int, bytesPerIndex bytesPerIndex: Int)
To
convenience init(data data: Data?, primitiveType primitiveType: SCNGeometryPrimitiveType, primitiveCount primitiveCount: Int, bytesPerIndex bytesPerIndex: Int)

Declaration
From
convenience init(MDLSubmesh mdlSubMesh: MDLSubmesh)
To
convenience init(mdlSubmesh mdlSubMesh: MDLSubmesh)

Declaration
From
enum SCNGeometryPrimitiveType : Int {
    case Triangles
    case TriangleStrip
    case Line
    case Point
}
To
enum SCNGeometryPrimitiveType : Int {
    case triangles
    case triangleStrip
    case line
    case point
    case polygon
}

Declaration
From
case Line
To
case line

Declaration
From
case Point
To
case point

Declaration
From
case Triangles
To
case triangles

Declaration
From
case TriangleStrip
To
case triangleStrip

DeclarationProtocols
From
class SCNGeometrySource : NSObject, NSSecureCoding {
    convenience init(data data: NSData, semantic semantic: String, vectorCount vectorCount: Int, floatComponents floatComponents: Bool, componentsPerVector componentsPerVector: Int, bytesPerComponent bytesPerComponent: Int, dataOffset offset: Int, dataStride stride: Int)
    class func geometrySourceWithData(_ data: NSData, semantic semantic: String, vectorCount vectorCount: Int, floatComponents floatComponents: Bool, componentsPerVector componentsPerVector: Int, bytesPerComponent bytesPerComponent: Int, dataOffset offset: Int, dataStride stride: Int) -> Self
    convenience init(vertices vertices: UnsafePointer<SCNVector3>, count count: Int)
    class func geometrySourceWithVertices(_ vertices: UnsafePointer<SCNVector3>, count count: Int) -> Self
    convenience init(normals normals: UnsafePointer<SCNVector3>, count count: Int)
    class func geometrySourceWithNormals(_ normals: UnsafePointer<SCNVector3>, count count: Int) -> Self
    convenience init(textureCoordinates texcoord: UnsafePointer<CGPoint>, count count: Int)
    class func geometrySourceWithTextureCoordinates(_ texcoord: UnsafePointer<CGPoint>, count count: Int) -> Self
    convenience init(buffer mtlBuffer: MTLBuffer, vertexFormat vertexFormat: MTLVertexFormat, semantic semantic: String, vertexCount vertexCount: Int, dataOffset offset: Int, dataStride stride: Int)
    class func geometrySourceWithBuffer(_ mtlBuffer: MTLBuffer, vertexFormat vertexFormat: MTLVertexFormat, semantic semantic: String, vertexCount vertexCount: Int, dataOffset offset: Int, dataStride stride: Int) -> Self
    var data: NSData { get }
    var semantic: String { get }
    var vectorCount: Int { get }
    var floatComponents: Bool { get }
    var componentsPerVector: Int { get }
    var bytesPerComponent: Int { get }
    var dataOffset: Int { get }
    var dataStride: Int { get }
}
NSSecureCoding
To
class SCNGeometrySource : NSObject, NSSecureCoding {
    convenience init(data data: Data, semantic semantic: SCNGeometrySource.Semantic, vectorCount vectorCount: Int, usesFloatComponents floatComponents: Bool, componentsPerVector componentsPerVector: Int, bytesPerComponent bytesPerComponent: Int, dataOffset offset: Int, dataStride stride: Int)
    class func withData(_ data: Data, semantic semantic: SCNGeometrySource.Semantic, vectorCount vectorCount: Int, floatComponents floatComponents: Bool, componentsPerVector componentsPerVector: Int, bytesPerComponent bytesPerComponent: Int, dataOffset offset: Int, dataStride stride: Int) -> Self
    convenience init(vertices vertices: UnsafePointer<SCNVector3>, count count: Int)
    class func withVertices(_ vertices: UnsafePointer<SCNVector3>, count count: Int) -> Self
    convenience init(normals normals: UnsafePointer<SCNVector3>, count count: Int)
    class func withNormals(_ normals: UnsafePointer<SCNVector3>, count count: Int) -> Self
    convenience init(textureCoordinates texcoord: UnsafePointer<CGPoint>, count count: Int)
    class func withTextureCoordinates(_ texcoord: UnsafePointer<CGPoint>, count count: Int) -> Self
    convenience init(buffer mtlBuffer: MTLBuffer, vertexFormat vertexFormat: MTLVertexFormat, semantic semantic: SCNGeometrySource.Semantic, vertexCount vertexCount: Int, dataOffset offset: Int, dataStride stride: Int)
    class func withBuffer(_ mtlBuffer: MTLBuffer, vertexFormat vertexFormat: MTLVertexFormat, semantic semantic: SCNGeometrySource.Semantic, vertexCount vertexCount: Int, dataOffset offset: Int, dataStride stride: Int) -> Self
    var data: Data { get }
    var semantic: SCNGeometrySource.Semantic { get }
    var vectorCount: Int { get }
    var usesFloatComponents: Bool { get }
    var componentsPerVector: Int { get }
    var bytesPerComponent: Int { get }
    var dataOffset: Int { get }
    var dataStride: Int { get }
    convenience init(vertices vertices: [SCNVector3])
    convenience init(normals normals: [SCNVector3])
    convenience init(textureCoordinates textureCoordinates: [CGPoint])
    struct Semantic : RawRepresentable, Equatable, Hashable, Comparable {
        init(_ rawValue: String)
        init(rawValue rawValue: String)
    }
    func awakeFromNib()
    func prepareForInterfaceBuilder()
    func accessibilityActivate() -> Bool
    func accessibilityIncrement()
    func accessibilityDecrement()
    func accessibilityScroll(_ direction: UIAccessibilityScrollDirection) -> Bool
    func accessibilityPerformEscape() -> Bool
    func accessibilityPerformMagicTap() -> Bool
    var accessibilityCustomActions: [UIAccessibilityCustomAction]?
    func accessibilityElementDidBecomeFocused()
    func accessibilityElementDidLoseFocus()
    func accessibilityElementIsFocused() -> Bool
    func accessibilityAssistiveTechnologyFocusedIdentifiers() -> Set<String>?
    func accessibilityElementCount() -> Int
    func accessibilityElement(at index: Int) -> Any?
    func index(ofAccessibilityElement element: Any) -> Int
    var accessibilityElements: [Any]?
    var isAccessibilityElement: Bool
    var accessibilityLabel: String?
    var accessibilityHint: String?
    var accessibilityValue: String?
    var accessibilityTraits: UIAccessibilityTraits
    var accessibilityFrame: CGRect
    @NSCopying var accessibilityPath: UIBezierPath?
    var accessibilityActivationPoint: CGPoint
    var accessibilityLanguage: String?
    var accessibilityElementsHidden: Bool
    var accessibilityViewIsModal: Bool
    var shouldGroupAccessibilityChildren: Bool
    var accessibilityNavigationStyle: UIAccessibilityNavigationStyle
    var accessibilityHeaderElements: [Any]?
    var accessibilityCustomRotors: [UIAccessibilityCustomRotor]?
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool)
    func performSelector(inBackground aSelector: Selector, with arg: Any?)
    class func classForKeyedUnarchiver() -> AnyClass
    var classForKeyedArchiver: AnyClass? { get }
    func replacementObject(for archiver: NSKeyedArchiver) -> Any?
    class func classFallbacksForKeyedArchiver() -> [String]
    class func keyPathsForValuesAffectingValue(forKey key: String) -> Set<String>
    class func automaticallyNotifiesObservers(forKey key: String) -> Bool
    var observationInfo: UnsafeMutableRawPointer?
    func willChangeValue(forKey key: String)
    func didChangeValue(forKey key: String)
    func willChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func didChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func willChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func didChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func addObserver(_ observer: NSObject, forKeyPath keyPath: String, options options: NSKeyValueObservingOptions = [], context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String, context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String)
    func observeValue(forKeyPath keyPath: String?, of object: Any?, change change: [NSKeyValueChangeKey : Any]?, context context: UnsafeMutableRawPointer?)
    class var accessInstanceVariablesDirectly: Bool { get }
    func value(forKey key: String) -> Any?
    func setValue(_ value: Any?, forKey key: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKey inKey: String) throws
    func mutableArrayValue(forKey key: String) -> NSMutableArray
    func mutableOrderedSetValue(forKey key: String) -> NSMutableOrderedSet
    func mutableSetValue(forKey key: String) -> NSMutableSet
    func value(forKeyPath keyPath: String) -> Any?
    func setValue(_ value: Any?, forKeyPath keyPath: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKeyPath inKeyPath: String) throws
    func mutableArrayValue(forKeyPath keyPath: String) -> NSMutableArray
    func mutableOrderedSetValue(forKeyPath keyPath: String) -> NSMutableOrderedSet
    func mutableSetValue(forKeyPath keyPath: String) -> NSMutableSet
    func value(forUndefinedKey key: String) -> Any?
    func setValue(_ value: Any?, forUndefinedKey key: String)
    func setNilValueForKey(_ key: String)
    func dictionaryWithValues(forKeys keys: [String]) -> [String : Any]
    func setValuesForKeys(_ keyedValues: [String : Any])
    func fileManager(_ fm: FileManager, shouldProceedAfterError errorInfo: [AnyHashable : Any]) -> Bool
    func fileManager(_ fm: FileManager, willProcessPath path: String)
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval, inModes modes: [RunLoopMode])
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any, selector aSelector: Selector, object anArgument: Any?)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int, delegate delegate: Any?, didRecoverSelector didRecoverSelector: Selector?, contextInfo contextInfo: UnsafeMutableRawPointer?)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int) -> Bool
    var autoContentAccessingProxy: Any { get }
    class func version() -> Int
    class func setVersion(_ aVersion: Int)
    var classForCoder: AnyClass { get }
    func awakeAfter(using aDecoder: NSCoder) -> Any?
    func provideImageData(_ data: UnsafeMutableRawPointer, bytesPerRow rowbytes: Int, origin x: Int, _ y: Int, size width: Int, _ height: Int, userInfo info: Any?)
}
extension SCNGeometrySource {
    struct Semantic : RawRepresentable, Equatable, Hashable, Comparable {
        init(_ rawValue: String)
        init(rawValue rawValue: String)
    }
}
extension SCNGeometrySource : CVarArg {
}
extension SCNGeometrySource : Equatable, Hashable {
    var hashValue: Int { get }
}
extension SCNGeometrySource {
    convenience init(vertices vertices: [SCNVector3])
    convenience init(normals normals: [SCNVector3])
    convenience init(textureCoordinates textureCoordinates: [CGPoint])
}
CVarArg, Equatable, Hashable, NSSecureCoding

Declaration
From
var data: NSData { get }
To
var data: Data { get }

Declaration
From
convenience init(buffer mtlBuffer: MTLBuffer, vertexFormat vertexFormat: MTLVertexFormat, semantic semantic: String, vertexCount vertexCount: Int, dataOffset offset: Int, dataStride stride: Int)
To
convenience init(buffer mtlBuffer: MTLBuffer, vertexFormat vertexFormat: MTLVertexFormat, semantic semantic: SCNGeometrySource.Semantic, vertexCount vertexCount: Int, dataOffset offset: Int, dataStride stride: Int)

Declaration
From
convenience init(data data: NSData, semantic semantic: String, vectorCount vectorCount: Int, floatComponents floatComponents: Bool, componentsPerVector componentsPerVector: Int, bytesPerComponent bytesPerComponent: Int, dataOffset offset: Int, dataStride stride: Int)
To
convenience init(data data: Data, semantic semantic: SCNGeometrySource.Semantic, vectorCount vectorCount: Int, usesFloatComponents floatComponents: Bool, componentsPerVector componentsPerVector: Int, bytesPerComponent bytesPerComponent: Int, dataOffset offset: Int, dataStride stride: Int)

Declaration
From
var semantic: String { get }
To
var semantic: SCNGeometrySource.Semantic { get }

Declaration
From
var floatComponents: Bool { get }
To
var usesFloatComponents: Bool { get }

NameDeclaration
FromSCNGeometrySourceSemanticBoneIndices
let SCNGeometrySourceSemanticBoneIndices: String
ToboneIndices
static let boneIndices: SCNGeometrySource.Semantic

NameDeclaration
FromSCNGeometrySourceSemanticBoneWeights
let SCNGeometrySourceSemanticBoneWeights: String
ToboneWeights
static let boneWeights: SCNGeometrySource.Semantic

NameDeclaration
FromSCNGeometrySourceSemanticColor
let SCNGeometrySourceSemanticColor: String
Tocolor
static let color: SCNGeometrySource.Semantic

NameDeclaration
FromSCNGeometrySourceSemanticEdgeCrease
let SCNGeometrySourceSemanticEdgeCrease: String
ToedgeCrease
static let edgeCrease: SCNGeometrySource.Semantic

NameDeclaration
FromSCNGeometrySourceSemanticNormal
let SCNGeometrySourceSemanticNormal: String
Tonormal
static let normal: SCNGeometrySource.Semantic

NameDeclaration
FromSCNGeometrySourceSemanticTexcoord
let SCNGeometrySourceSemanticTexcoord: String
Totexcoord
static let texcoord: SCNGeometrySource.Semantic

NameDeclaration
FromSCNGeometrySourceSemanticVertex
let SCNGeometrySourceSemanticVertex: String
Tovertex
static let vertex: SCNGeometrySource.Semantic

NameDeclaration
FromSCNGeometrySourceSemanticVertexCrease
let SCNGeometrySourceSemanticVertexCrease: String
TovertexCrease
static let vertexCrease: SCNGeometrySource.Semantic

NameDeclaration
FromSCNHitTestBackFaceCullingKey
let SCNHitTestBackFaceCullingKey: String
TobackFaceCulling
static let backFaceCulling: SCNHitTestOption

NameDeclaration
FromSCNHitTestBoundingBoxOnlyKey
let SCNHitTestBoundingBoxOnlyKey: String
ToboundingBoxOnly
static let boundingBoxOnly: SCNHitTestOption

NameDeclaration
FromSCNHitTestClipToZRangeKey
let SCNHitTestClipToZRangeKey: String
ToclipToZRange
static let clipToZRange: SCNHitTestOption

NameDeclaration
FromSCNHitTestFirstFoundOnlyKey
let SCNHitTestFirstFoundOnlyKey: String
TofirstFoundOnly
static let firstFoundOnly: SCNHitTestOption

NameDeclaration
FromSCNHitTestIgnoreChildNodesKey
let SCNHitTestIgnoreChildNodesKey: String
ToignoreChildNodes
static let ignoreChildNodes: SCNHitTestOption

NameDeclaration
FromSCNHitTestIgnoreHiddenNodesKey
let SCNHitTestIgnoreHiddenNodesKey: String
ToignoreHiddenNodes
static let ignoreHiddenNodes: SCNHitTestOption

NameDeclaration
FromSCNHitTestRootNodeKey
let SCNHitTestRootNodeKey: String
TorootNode
static let rootNode: SCNHitTestOption

NameDeclaration
FromSCNHitTestSortResultsKey
let SCNHitTestSortResultsKey: String
TosortResults
static let sortResults: SCNHitTestOption

DeclarationProtocols
From
class SCNHitTestResult : NSObject {
    var node: SCNNode { get }
    var geometryIndex: Int { get }
    var faceIndex: Int { get }
    var localCoordinates: SCNVector3 { get }
    var worldCoordinates: SCNVector3 { get }
    var localNormal: SCNVector3 { get }
    var worldNormal: SCNVector3 { get }
    var modelTransform: SCNMatrix4 { get }
    func textureCoordinatesWithMappingChannel(_ channel: Int) -> CGPoint
}
--
To
class SCNHitTestResult : NSObject {
    var node: SCNNode { get }
    var geometryIndex: Int { get }
    var faceIndex: Int { get }
    var localCoordinates: SCNVector3 { get }
    var worldCoordinates: SCNVector3 { get }
    var localNormal: SCNVector3 { get }
    var worldNormal: SCNVector3 { get }
    var modelTransform: SCNMatrix4 { get }
    var boneNode: SCNNode { get }
    func textureCoordinates(withMappingChannel channel: Int) -> CGPoint
    func awakeFromNib()
    func prepareForInterfaceBuilder()
    func accessibilityActivate() -> Bool
    func accessibilityIncrement()
    func accessibilityDecrement()
    func accessibilityScroll(_ direction: UIAccessibilityScrollDirection) -> Bool
    func accessibilityPerformEscape() -> Bool
    func accessibilityPerformMagicTap() -> Bool
    var accessibilityCustomActions: [UIAccessibilityCustomAction]?
    func accessibilityElementDidBecomeFocused()
    func accessibilityElementDidLoseFocus()
    func accessibilityElementIsFocused() -> Bool
    func accessibilityAssistiveTechnologyFocusedIdentifiers() -> Set<String>?
    func accessibilityElementCount() -> Int
    func accessibilityElement(at index: Int) -> Any?
    func index(ofAccessibilityElement element: Any) -> Int
    var accessibilityElements: [Any]?
    var isAccessibilityElement: Bool
    var accessibilityLabel: String?
    var accessibilityHint: String?
    var accessibilityValue: String?
    var accessibilityTraits: UIAccessibilityTraits
    var accessibilityFrame: CGRect
    @NSCopying var accessibilityPath: UIBezierPath?
    var accessibilityActivationPoint: CGPoint
    var accessibilityLanguage: String?
    var accessibilityElementsHidden: Bool
    var accessibilityViewIsModal: Bool
    var shouldGroupAccessibilityChildren: Bool
    var accessibilityNavigationStyle: UIAccessibilityNavigationStyle
    var accessibilityHeaderElements: [Any]?
    var accessibilityCustomRotors: [UIAccessibilityCustomRotor]?
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool)
    func performSelector(inBackground aSelector: Selector, with arg: Any?)
    class func classForKeyedUnarchiver() -> AnyClass
    var classForKeyedArchiver: AnyClass? { get }
    func replacementObject(for archiver: NSKeyedArchiver) -> Any?
    class func classFallbacksForKeyedArchiver() -> [String]
    class func keyPathsForValuesAffectingValue(forKey key: String) -> Set<String>
    class func automaticallyNotifiesObservers(forKey key: String) -> Bool
    var observationInfo: UnsafeMutableRawPointer?
    func willChangeValue(forKey key: String)
    func didChangeValue(forKey key: String)
    func willChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func didChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func willChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func didChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func addObserver(_ observer: NSObject, forKeyPath keyPath: String, options options: NSKeyValueObservingOptions = [], context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String, context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String)
    func observeValue(forKeyPath keyPath: String?, of object: Any?, change change: [NSKeyValueChangeKey : Any]?, context context: UnsafeMutableRawPointer?)
    class var accessInstanceVariablesDirectly: Bool { get }
    func value(forKey key: String) -> Any?
    func setValue(_ value: Any?, forKey key: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKey inKey: String) throws
    func mutableArrayValue(forKey key: String) -> NSMutableArray
    func mutableOrderedSetValue(forKey key: String) -> NSMutableOrderedSet
    func mutableSetValue(forKey key: String) -> NSMutableSet
    func value(forKeyPath keyPath: String) -> Any?
    func setValue(_ value: Any?, forKeyPath keyPath: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKeyPath inKeyPath: String) throws
    func mutableArrayValue(forKeyPath keyPath: String) -> NSMutableArray
    func mutableOrderedSetValue(forKeyPath keyPath: String) -> NSMutableOrderedSet
    func mutableSetValue(forKeyPath keyPath: String) -> NSMutableSet
    func value(forUndefinedKey key: String) -> Any?
    func setValue(_ value: Any?, forUndefinedKey key: String)
    func setNilValueForKey(_ key: String)
    func dictionaryWithValues(forKeys keys: [String]) -> [String : Any]
    func setValuesForKeys(_ keyedValues: [String : Any])
    func fileManager(_ fm: FileManager, shouldProceedAfterError errorInfo: [AnyHashable : Any]) -> Bool
    func fileManager(_ fm: FileManager, willProcessPath path: String)
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval, inModes modes: [RunLoopMode])
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any, selector aSelector: Selector, object anArgument: Any?)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int, delegate delegate: Any?, didRecoverSelector didRecoverSelector: Selector?, contextInfo contextInfo: UnsafeMutableRawPointer?)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int) -> Bool
    var autoContentAccessingProxy: Any { get }
    class func version() -> Int
    class func setVersion(_ aVersion: Int)
    var classForCoder: AnyClass { get }
    func awakeAfter(using aDecoder: NSCoder) -> Any?
    func provideImageData(_ data: UnsafeMutableRawPointer, bytesPerRow rowbytes: Int, origin x: Int, _ y: Int, size width: Int, _ height: Int, userInfo info: Any?)
}
extension SCNHitTestResult : CVarArg {
}
extension SCNHitTestResult : Equatable, Hashable {
    var hashValue: Int { get }
}
CVarArg, Equatable, Hashable

Declaration
From
func textureCoordinatesWithMappingChannel(_ channel: Int) -> CGPoint
To
func textureCoordinates(withMappingChannel channel: Int) -> CGPoint

Declaration
From
class SCNIKConstraint : SCNConstraint {
    init(chainRootNode chainRootNode: SCNNode)
    class func inverseKinematicsConstraintWithChainRootNode(_ chainRootNode: SCNNode) -> Self
    var chainRootNode: SCNNode { get }
    var targetPosition: SCNVector3
    func setMaxAllowedRotationAngle(_ angle: CGFloat, forJoint node: SCNNode)
    func maxAllowedRotationAngleForJoint(_ node: SCNNode) -> CGFloat
}
To
class SCNIKConstraint : SCNConstraint {
    init(chainRootNode chainRootNode: SCNNode)
    class func inverseKinematicsConstraint(chainRootNode chainRootNode: SCNNode) -> Self
    var chainRootNode: SCNNode { get }
    var targetPosition: SCNVector3
    func setMaxAllowedRotationAngle(_ angle: CGFloat, forJoint node: SCNNode)
    func maxAllowedRotationAngle(forJoint node: SCNNode) -> CGFloat
}

Declaration
From
class func inverseKinematicsConstraintWithChainRootNode(_ chainRootNode: SCNNode) -> Self
To
class func inverseKinematicsConstraint(chainRootNode chainRootNode: SCNNode) -> Self

Declaration
From
func maxAllowedRotationAngleForJoint(_ node: SCNNode) -> CGFloat
To
func maxAllowedRotationAngle(forJoint node: SCNNode) -> CGFloat

DeclarationProtocols
From
class SCNLevelOfDetail : NSObject, NSCopying, NSSecureCoding {
    convenience init(geometry geometry: SCNGeometry?, screenSpaceRadius radius: CGFloat)
    class func levelOfDetailWithGeometry(_ geometry: SCNGeometry?, screenSpaceRadius radius: CGFloat) -> Self
    convenience init(geometry geometry: SCNGeometry?, worldSpaceDistance distance: CGFloat)
    class func levelOfDetailWithGeometry(_ geometry: SCNGeometry?, worldSpaceDistance distance: CGFloat) -> Self
    var geometry: SCNGeometry? { get }
    var screenSpaceRadius: CGFloat { get }
    var worldSpaceDistance: CGFloat { get }
}
NSCopying, NSSecureCoding
To
class SCNLevelOfDetail : NSObject, NSCopying, NSSecureCoding {
    convenience init(geometry geometry: SCNGeometry?, screenSpaceRadius radius: CGFloat)
    class func withGeometry(_ geometry: SCNGeometry?, screenSpaceRadius radius: CGFloat) -> Self
    convenience init(geometry geometry: SCNGeometry?, worldSpaceDistance distance: CGFloat)
    class func withGeometry(_ geometry: SCNGeometry?, worldSpaceDistance distance: CGFloat) -> Self
    var geometry: SCNGeometry? { get }
    var screenSpaceRadius: CGFloat { get }
    var worldSpaceDistance: CGFloat { get }
    func awakeFromNib()
    func prepareForInterfaceBuilder()
    func accessibilityActivate() -> Bool
    func accessibilityIncrement()
    func accessibilityDecrement()
    func accessibilityScroll(_ direction: UIAccessibilityScrollDirection) -> Bool
    func accessibilityPerformEscape() -> Bool
    func accessibilityPerformMagicTap() -> Bool
    var accessibilityCustomActions: [UIAccessibilityCustomAction]?
    func accessibilityElementDidBecomeFocused()
    func accessibilityElementDidLoseFocus()
    func accessibilityElementIsFocused() -> Bool
    func accessibilityAssistiveTechnologyFocusedIdentifiers() -> Set<String>?
    func accessibilityElementCount() -> Int
    func accessibilityElement(at index: Int) -> Any?
    func index(ofAccessibilityElement element: Any) -> Int
    var accessibilityElements: [Any]?
    var isAccessibilityElement: Bool
    var accessibilityLabel: String?
    var accessibilityHint: String?
    var accessibilityValue: String?
    var accessibilityTraits: UIAccessibilityTraits
    var accessibilityFrame: CGRect
    @NSCopying var accessibilityPath: UIBezierPath?
    var accessibilityActivationPoint: CGPoint
    var accessibilityLanguage: String?
    var accessibilityElementsHidden: Bool
    var accessibilityViewIsModal: Bool
    var shouldGroupAccessibilityChildren: Bool
    var accessibilityNavigationStyle: UIAccessibilityNavigationStyle
    var accessibilityHeaderElements: [Any]?
    var accessibilityCustomRotors: [UIAccessibilityCustomRotor]?
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool)
    func performSelector(inBackground aSelector: Selector, with arg: Any?)
    class func classForKeyedUnarchiver() -> AnyClass
    var classForKeyedArchiver: AnyClass? { get }
    func replacementObject(for archiver: NSKeyedArchiver) -> Any?
    class func classFallbacksForKeyedArchiver() -> [String]
    class func keyPathsForValuesAffectingValue(forKey key: String) -> Set<String>
    class func automaticallyNotifiesObservers(forKey key: String) -> Bool
    var observationInfo: UnsafeMutableRawPointer?
    func willChangeValue(forKey key: String)
    func didChangeValue(forKey key: String)
    func willChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func didChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func willChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func didChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func addObserver(_ observer: NSObject, forKeyPath keyPath: String, options options: NSKeyValueObservingOptions = [], context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String, context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String)
    func observeValue(forKeyPath keyPath: String?, of object: Any?, change change: [NSKeyValueChangeKey : Any]?, context context: UnsafeMutableRawPointer?)
    class var accessInstanceVariablesDirectly: Bool { get }
    func value(forKey key: String) -> Any?
    func setValue(_ value: Any?, forKey key: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKey inKey: String) throws
    func mutableArrayValue(forKey key: String) -> NSMutableArray
    func mutableOrderedSetValue(forKey key: String) -> NSMutableOrderedSet
    func mutableSetValue(forKey key: String) -> NSMutableSet
    func value(forKeyPath keyPath: String) -> Any?
    func setValue(_ value: Any?, forKeyPath keyPath: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKeyPath inKeyPath: String) throws
    func mutableArrayValue(forKeyPath keyPath: String) -> NSMutableArray
    func mutableOrderedSetValue(forKeyPath keyPath: String) -> NSMutableOrderedSet
    func mutableSetValue(forKeyPath keyPath: String) -> NSMutableSet
    func value(forUndefinedKey key: String) -> Any?
    func setValue(_ value: Any?, forUndefinedKey key: String)
    func setNilValueForKey(_ key: String)
    func dictionaryWithValues(forKeys keys: [String]) -> [String : Any]
    func setValuesForKeys(_ keyedValues: [String : Any])
    func fileManager(_ fm: FileManager, shouldProceedAfterError errorInfo: [AnyHashable : Any]) -> Bool
    func fileManager(_ fm: FileManager, willProcessPath path: String)
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval, inModes modes: [RunLoopMode])
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any, selector aSelector: Selector, object anArgument: Any?)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int, delegate delegate: Any?, didRecoverSelector didRecoverSelector: Selector?, contextInfo contextInfo: UnsafeMutableRawPointer?)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int) -> Bool
    var autoContentAccessingProxy: Any { get }
    class func version() -> Int
    class func setVersion(_ aVersion: Int)
    var classForCoder: AnyClass { get }
    func awakeAfter(using aDecoder: NSCoder) -> Any?
    func provideImageData(_ data: UnsafeMutableRawPointer, bytesPerRow rowbytes: Int, origin x: Int, _ y: Int, size width: Int, _ height: Int, userInfo info: Any?)
}
extension SCNLevelOfDetail : CVarArg {
}
extension SCNLevelOfDetail : Equatable, Hashable {
    var hashValue: Int { get }
}
CVarArg, Equatable, Hashable, NSCopying, NSSecureCoding

Modified SCNLight
DeclarationProtocols
From
class SCNLight : NSObject, SCNAnimatable, SCNTechniqueSupport, NSCopying, NSSecureCoding {
    convenience init()
    class func light() -> Self
    var type: String
    var color: AnyObject
    var name: String?
    var castsShadow: Bool
    var shadowColor: AnyObject
    var shadowRadius: CGFloat
    var shadowMapSize: CGSize
    var shadowSampleCount: Int
    var shadowMode: SCNShadowMode
    var shadowBias: CGFloat
    var orthographicScale: CGFloat
    var zNear: CGFloat
    var zFar: CGFloat
    var attenuationStartDistance: CGFloat
    var attenuationEndDistance: CGFloat
    var attenuationFalloffExponent: CGFloat
    var spotInnerAngle: CGFloat
    var spotOuterAngle: CGFloat
    var gobo: SCNMaterialProperty? { get }
    var categoryBitMask: Int
}
extension SCNLight {
    convenience init(MDLLight mdlLight: MDLLight)
    class func lightWithMDLLight(_ mdlLight: MDLLight) -> Self
}
NSCopying, NSSecureCoding, SCNAnimatable, SCNTechniqueSupport
To
class SCNLight : NSObject, SCNAnimatable, SCNTechniqueSupport, NSCopying, NSSecureCoding {
    convenience init()
    class func light() -> Self
    var type: SCNLight.LightType
    var color: Any
    var temperature: CGFloat
    var intensity: CGFloat
    var name: String?
    var castsShadow: Bool
    var shadowColor: Any
    var shadowRadius: CGFloat
    var shadowMapSize: CGSize
    var shadowSampleCount: Int
    var shadowMode: SCNShadowMode
    var shadowBias: CGFloat
    var orthographicScale: CGFloat
    var zNear: CGFloat
    var zFar: CGFloat
    var attenuationStartDistance: CGFloat
    var attenuationEndDistance: CGFloat
    var attenuationFalloffExponent: CGFloat
    var spotInnerAngle: CGFloat
    var spotOuterAngle: CGFloat
    var gobo: SCNMaterialProperty? { get }
    var iesProfileURL: URL?
    var categoryBitMask: Int
    struct LightType : RawRepresentable, Equatable, Hashable, Comparable {
        init(rawValue rawValue: String)
    }
    convenience init(mdlLight mdlLight: MDLLight)
    class func withMDLLight(_ mdlLight: MDLLight) -> Self
    func awakeFromNib()
    func prepareForInterfaceBuilder()
    func accessibilityActivate() -> Bool
    func accessibilityIncrement()
    func accessibilityDecrement()
    func accessibilityScroll(_ direction: UIAccessibilityScrollDirection) -> Bool
    func accessibilityPerformEscape() -> Bool
    func accessibilityPerformMagicTap() -> Bool
    var accessibilityCustomActions: [UIAccessibilityCustomAction]?
    func accessibilityElementDidBecomeFocused()
    func accessibilityElementDidLoseFocus()
    func accessibilityElementIsFocused() -> Bool
    func accessibilityAssistiveTechnologyFocusedIdentifiers() -> Set<String>?
    func accessibilityElementCount() -> Int
    func accessibilityElement(at index: Int) -> Any?
    func index(ofAccessibilityElement element: Any) -> Int
    var accessibilityElements: [Any]?
    var isAccessibilityElement: Bool
    var accessibilityLabel: String?
    var accessibilityHint: String?
    var accessibilityValue: String?
    var accessibilityTraits: UIAccessibilityTraits
    var accessibilityFrame: CGRect
    @NSCopying var accessibilityPath: UIBezierPath?
    var accessibilityActivationPoint: CGPoint
    var accessibilityLanguage: String?
    var accessibilityElementsHidden: Bool
    var accessibilityViewIsModal: Bool
    var shouldGroupAccessibilityChildren: Bool
    var accessibilityNavigationStyle: UIAccessibilityNavigationStyle
    var accessibilityHeaderElements: [Any]?
    var accessibilityCustomRotors: [UIAccessibilityCustomRotor]?
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool)
    func performSelector(inBackground aSelector: Selector, with arg: Any?)
    class func classForKeyedUnarchiver() -> AnyClass
    var classForKeyedArchiver: AnyClass? { get }
    func replacementObject(for archiver: NSKeyedArchiver) -> Any?
    class func classFallbacksForKeyedArchiver() -> [String]
    class func keyPathsForValuesAffectingValue(forKey key: String) -> Set<String>
    class func automaticallyNotifiesObservers(forKey key: String) -> Bool
    var observationInfo: UnsafeMutableRawPointer?
    func willChangeValue(forKey key: String)
    func didChangeValue(forKey key: String)
    func willChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func didChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func willChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func didChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func addObserver(_ observer: NSObject, forKeyPath keyPath: String, options options: NSKeyValueObservingOptions = [], context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String, context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String)
    func observeValue(forKeyPath keyPath: String?, of object: Any?, change change: [NSKeyValueChangeKey : Any]?, context context: UnsafeMutableRawPointer?)
    class var accessInstanceVariablesDirectly: Bool { get }
    func value(forKey key: String) -> Any?
    func setValue(_ value: Any?, forKey key: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKey inKey: String) throws
    func mutableArrayValue(forKey key: String) -> NSMutableArray
    func mutableOrderedSetValue(forKey key: String) -> NSMutableOrderedSet
    func mutableSetValue(forKey key: String) -> NSMutableSet
    func value(forKeyPath keyPath: String) -> Any?
    func setValue(_ value: Any?, forKeyPath keyPath: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKeyPath inKeyPath: String) throws
    func mutableArrayValue(forKeyPath keyPath: String) -> NSMutableArray
    func mutableOrderedSetValue(forKeyPath keyPath: String) -> NSMutableOrderedSet
    func mutableSetValue(forKeyPath keyPath: String) -> NSMutableSet
    func value(forUndefinedKey key: String) -> Any?
    func setValue(_ value: Any?, forUndefinedKey key: String)
    func setNilValueForKey(_ key: String)
    func dictionaryWithValues(forKeys keys: [String]) -> [String : Any]
    func setValuesForKeys(_ keyedValues: [String : Any])
    func fileManager(_ fm: FileManager, shouldProceedAfterError errorInfo: [AnyHashable : Any]) -> Bool
    func fileManager(_ fm: FileManager, willProcessPath path: String)
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval, inModes modes: [RunLoopMode])
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any, selector aSelector: Selector, object anArgument: Any?)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int, delegate delegate: Any?, didRecoverSelector didRecoverSelector: Selector?, contextInfo contextInfo: UnsafeMutableRawPointer?)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int) -> Bool
    var autoContentAccessingProxy: Any { get }
    class func version() -> Int
    class func setVersion(_ aVersion: Int)
    var classForCoder: AnyClass { get }
    func awakeAfter(using aDecoder: NSCoder) -> Any?
    func provideImageData(_ data: UnsafeMutableRawPointer, bytesPerRow rowbytes: Int, origin x: Int, _ y: Int, size width: Int, _ height: Int, userInfo info: Any?)
}
extension SCNLight {
    convenience init(mdlLight mdlLight: MDLLight)
    class func withMDLLight(_ mdlLight: MDLLight) -> Self
}
extension SCNLight {
    struct LightType : RawRepresentable, Equatable, Hashable, Comparable {
        init(rawValue rawValue: String)
    }
}
extension SCNLight : CVarArg {
}
extension SCNLight : Equatable, Hashable {
    var hashValue: Int { get }
}
CVarArg, Equatable, Hashable, NSCopying, NSSecureCoding, SCNAnimatable, SCNTechniqueSupport

Declaration
From
var color: AnyObject
To
var color: Any

Declaration
From
convenience init(MDLLight mdlLight: MDLLight)
To
convenience init(mdlLight mdlLight: MDLLight)

Declaration
From
var shadowColor: AnyObject
To
var shadowColor: Any

Modified SCNLight.type
Declaration
From
var type: String
To
var type: SCNLight.LightType

NameDeclaration
FromSCNLightTypeAmbient
let SCNLightTypeAmbient: String
Toambient
static let ambient: SCNLight.LightType

NameDeclaration
FromSCNLightTypeDirectional
let SCNLightTypeDirectional: String
Todirectional
static let directional: SCNLight.LightType

NameDeclaration
FromSCNLightTypeOmni
let SCNLightTypeOmni: String
Toomni
static let omni: SCNLight.LightType

NameDeclaration
FromSCNLightTypeSpot
let SCNLightTypeSpot: String
Tospot
static let spot: SCNLight.LightType

Declaration
From
class SCNLookAtConstraint : SCNConstraint {
    convenience init(target target: SCNNode)
    class func lookAtConstraintWithTarget(_ target: SCNNode) -> Self
    var target: SCNNode { get }
    var gimbalLockEnabled: Bool
}
To
class SCNLookAtConstraint : SCNConstraint {
    convenience init(target target: SCNNode?)
    class func withTarget(_ target: SCNNode?) -> Self
    var target: SCNNode?
    var isGimbalLockEnabled: Bool
}

Declaration
From
convenience init(target target: SCNNode)
To
convenience init(target target: SCNNode?)

Declaration
From
var gimbalLockEnabled: Bool
To
var isGimbalLockEnabled: Bool

DeclarationReadonly
From
var target: SCNNode { get }
yes
To
var target: SCNNode?
--

Modified SCNMaterial
DeclarationProtocols
From
class SCNMaterial : NSObject, SCNAnimatable, SCNShadable, NSCopying, NSSecureCoding {
    convenience init()
    class func material() -> Self
    var name: String?
    var diffuse: SCNMaterialProperty { get }
    var ambient: SCNMaterialProperty { get }
    var specular: SCNMaterialProperty { get }
    var emission: SCNMaterialProperty { get }
    var transparent: SCNMaterialProperty { get }
    var reflective: SCNMaterialProperty { get }
    var multiply: SCNMaterialProperty { get }
    var normal: SCNMaterialProperty { get }
    var ambientOcclusion: SCNMaterialProperty { get }
    var selfIllumination: SCNMaterialProperty { get }
    var shininess: CGFloat
    var transparency: CGFloat
    var lightingModelName: String
    var litPerPixel: Bool
    var doubleSided: Bool
    var cullMode: SCNCullMode
    var transparencyMode: SCNTransparencyMode
    var locksAmbientWithDiffuse: Bool
    var writesToDepthBuffer: Bool
    var readsFromDepthBuffer: Bool
    var fresnelExponent: CGFloat
    var blendMode: SCNBlendMode
}
extension SCNMaterial {
    convenience init(MDLMaterial mdlMaterial: MDLMaterial)
    class func materialWithMDLMaterial(_ mdlMaterial: MDLMaterial) -> Self
}
NSCopying, NSSecureCoding, SCNAnimatable, SCNShadable
To
class SCNMaterial : NSObject, SCNAnimatable, SCNShadable, NSCopying, NSSecureCoding {
    convenience init()
    class func material() -> Self
    var name: String?
    var diffuse: SCNMaterialProperty { get }
    var ambient: SCNMaterialProperty { get }
    var specular: SCNMaterialProperty { get }
    var emission: SCNMaterialProperty { get }
    var transparent: SCNMaterialProperty { get }
    var reflective: SCNMaterialProperty { get }
    var multiply: SCNMaterialProperty { get }
    var normal: SCNMaterialProperty { get }
    var ambientOcclusion: SCNMaterialProperty { get }
    var selfIllumination: SCNMaterialProperty { get }
    var metalness: SCNMaterialProperty { get }
    var roughness: SCNMaterialProperty { get }
    var shininess: CGFloat
    var transparency: CGFloat
    var lightingModel: SCNMaterial.LightingModel
    var isLitPerPixel: Bool
    var isDoubleSided: Bool
    var cullMode: SCNCullMode
    var transparencyMode: SCNTransparencyMode
    var locksAmbientWithDiffuse: Bool
    var writesToDepthBuffer: Bool
    var readsFromDepthBuffer: Bool
    var fresnelExponent: CGFloat
    var blendMode: SCNBlendMode
    struct LightingModel : RawRepresentable, Equatable, Hashable, Comparable {
        init(rawValue rawValue: String)
    }
    convenience init(mdlMaterial mdlMaterial: MDLMaterial)
    class func withMDLMaterial(_ mdlMaterial: MDLMaterial) -> Self
    func awakeFromNib()
    func prepareForInterfaceBuilder()
    func accessibilityActivate() -> Bool
    func accessibilityIncrement()
    func accessibilityDecrement()
    func accessibilityScroll(_ direction: UIAccessibilityScrollDirection) -> Bool
    func accessibilityPerformEscape() -> Bool
    func accessibilityPerformMagicTap() -> Bool
    var accessibilityCustomActions: [UIAccessibilityCustomAction]?
    func accessibilityElementDidBecomeFocused()
    func accessibilityElementDidLoseFocus()
    func accessibilityElementIsFocused() -> Bool
    func accessibilityAssistiveTechnologyFocusedIdentifiers() -> Set<String>?
    func accessibilityElementCount() -> Int
    func accessibilityElement(at index: Int) -> Any?
    func index(ofAccessibilityElement element: Any) -> Int
    var accessibilityElements: [Any]?
    var isAccessibilityElement: Bool
    var accessibilityLabel: String?
    var accessibilityHint: String?
    var accessibilityValue: String?
    var accessibilityTraits: UIAccessibilityTraits
    var accessibilityFrame: CGRect
    @NSCopying var accessibilityPath: UIBezierPath?
    var accessibilityActivationPoint: CGPoint
    var accessibilityLanguage: String?
    var accessibilityElementsHidden: Bool
    var accessibilityViewIsModal: Bool
    var shouldGroupAccessibilityChildren: Bool
    var accessibilityNavigationStyle: UIAccessibilityNavigationStyle
    var accessibilityHeaderElements: [Any]?
    var accessibilityCustomRotors: [UIAccessibilityCustomRotor]?
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool)
    func performSelector(inBackground aSelector: Selector, with arg: Any?)
    class func classForKeyedUnarchiver() -> AnyClass
    var classForKeyedArchiver: AnyClass? { get }
    func replacementObject(for archiver: NSKeyedArchiver) -> Any?
    class func classFallbacksForKeyedArchiver() -> [String]
    class func keyPathsForValuesAffectingValue(forKey key: String) -> Set<String>
    class func automaticallyNotifiesObservers(forKey key: String) -> Bool
    var observationInfo: UnsafeMutableRawPointer?
    func willChangeValue(forKey key: String)
    func didChangeValue(forKey key: String)
    func willChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func didChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func willChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func didChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func addObserver(_ observer: NSObject, forKeyPath keyPath: String, options options: NSKeyValueObservingOptions = [], context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String, context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String)
    func observeValue(forKeyPath keyPath: String?, of object: Any?, change change: [NSKeyValueChangeKey : Any]?, context context: UnsafeMutableRawPointer?)
    class var accessInstanceVariablesDirectly: Bool { get }
    func value(forKey key: String) -> Any?
    func setValue(_ value: Any?, forKey key: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKey inKey: String) throws
    func mutableArrayValue(forKey key: String) -> NSMutableArray
    func mutableOrderedSetValue(forKey key: String) -> NSMutableOrderedSet
    func mutableSetValue(forKey key: String) -> NSMutableSet
    func value(forKeyPath keyPath: String) -> Any?
    func setValue(_ value: Any?, forKeyPath keyPath: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKeyPath inKeyPath: String) throws
    func mutableArrayValue(forKeyPath keyPath: String) -> NSMutableArray
    func mutableOrderedSetValue(forKeyPath keyPath: String) -> NSMutableOrderedSet
    func mutableSetValue(forKeyPath keyPath: String) -> NSMutableSet
    func value(forUndefinedKey key: String) -> Any?
    func setValue(_ value: Any?, forUndefinedKey key: String)
    func setNilValueForKey(_ key: String)
    func dictionaryWithValues(forKeys keys: [String]) -> [String : Any]
    func setValuesForKeys(_ keyedValues: [String : Any])
    func fileManager(_ fm: FileManager, shouldProceedAfterError errorInfo: [AnyHashable : Any]) -> Bool
    func fileManager(_ fm: FileManager, willProcessPath path: String)
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval, inModes modes: [RunLoopMode])
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any, selector aSelector: Selector, object anArgument: Any?)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int, delegate delegate: Any?, didRecoverSelector didRecoverSelector: Selector?, contextInfo contextInfo: UnsafeMutableRawPointer?)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int) -> Bool
    var autoContentAccessingProxy: Any { get }
    class func version() -> Int
    class func setVersion(_ aVersion: Int)
    var classForCoder: AnyClass { get }
    func awakeAfter(using aDecoder: NSCoder) -> Any?
    func provideImageData(_ data: UnsafeMutableRawPointer, bytesPerRow rowbytes: Int, origin x: Int, _ y: Int, size width: Int, _ height: Int, userInfo info: Any?)
}
extension SCNMaterial {
    convenience init(mdlMaterial mdlMaterial: MDLMaterial)
    class func withMDLMaterial(_ mdlMaterial: MDLMaterial) -> Self
}
extension SCNMaterial {
    struct LightingModel : RawRepresentable, Equatable, Hashable, Comparable {
        init(rawValue rawValue: String)
    }
}
extension SCNMaterial : CVarArg {
}
extension SCNMaterial : Equatable, Hashable {
    var hashValue: Int { get }
}
CVarArg, Equatable, Hashable, NSCopying, NSSecureCoding, SCNAnimatable, SCNShadable

Declaration
From
convenience init(MDLMaterial mdlMaterial: MDLMaterial)
To
convenience init(mdlMaterial mdlMaterial: MDLMaterial)

Declaration
From
var doubleSided: Bool
To
var isDoubleSided: Bool

Declaration
From
var litPerPixel: Bool
To
var isLitPerPixel: Bool

Declaration
From
var lightingModelName: String
To
var lightingModel: SCNMaterial.LightingModel

NameDeclaration
FromSCNLightingModelBlinn
let SCNLightingModelBlinn: String
Toblinn
static let blinn: SCNMaterial.LightingModel

NameDeclaration
FromSCNLightingModelConstant
let SCNLightingModelConstant: String
Toconstant
static let constant: SCNMaterial.LightingModel

NameDeclaration
FromSCNLightingModelLambert
let SCNLightingModelLambert: String
Tolambert
static let lambert: SCNMaterial.LightingModel

NameDeclaration
FromSCNLightingModelPhong
let SCNLightingModelPhong: String
Tophong
static let phong: SCNMaterial.LightingModel

DeclarationProtocols
From
class SCNMaterialProperty : NSObject, SCNAnimatable, NSSecureCoding {
    convenience init(contents contents: AnyObject)
    class func materialPropertyWithContents(_ contents: AnyObject) -> Self
    var contents: AnyObject?
    var intensity: CGFloat
    var minificationFilter: SCNFilterMode
    var magnificationFilter: SCNFilterMode
    var mipFilter: SCNFilterMode
    var contentsTransform: SCNMatrix4
    var wrapS: SCNWrapMode
    var wrapT: SCNWrapMode
    var borderColor: AnyObject?
    var mappingChannel: Int
    var maxAnisotropy: CGFloat
}
NSSecureCoding, SCNAnimatable
To
class SCNMaterialProperty : NSObject, SCNAnimatable, NSSecureCoding {
    convenience init(contents contents: Any)
    class func withContents(_ contents: Any) -> Self
    var contents: Any?
    var intensity: CGFloat
    var minificationFilter: SCNFilterMode
    var magnificationFilter: SCNFilterMode
    var mipFilter: SCNFilterMode
    var contentsTransform: SCNMatrix4
    var wrapS: SCNWrapMode
    var wrapT: SCNWrapMode
    var borderColor: Any?
    var mappingChannel: Int
    var maxAnisotropy: CGFloat
    func awakeFromNib()
    func prepareForInterfaceBuilder()
    func accessibilityActivate() -> Bool
    func accessibilityIncrement()
    func accessibilityDecrement()
    func accessibilityScroll(_ direction: UIAccessibilityScrollDirection) -> Bool
    func accessibilityPerformEscape() -> Bool
    func accessibilityPerformMagicTap() -> Bool
    var accessibilityCustomActions: [UIAccessibilityCustomAction]?
    func accessibilityElementDidBecomeFocused()
    func accessibilityElementDidLoseFocus()
    func accessibilityElementIsFocused() -> Bool
    func accessibilityAssistiveTechnologyFocusedIdentifiers() -> Set<String>?
    func accessibilityElementCount() -> Int
    func accessibilityElement(at index: Int) -> Any?
    func index(ofAccessibilityElement element: Any) -> Int
    var accessibilityElements: [Any]?
    var isAccessibilityElement: Bool
    var accessibilityLabel: String?
    var accessibilityHint: String?
    var accessibilityValue: String?
    var accessibilityTraits: UIAccessibilityTraits
    var accessibilityFrame: CGRect
    @NSCopying var accessibilityPath: UIBezierPath?
    var accessibilityActivationPoint: CGPoint
    var accessibilityLanguage: String?
    var accessibilityElementsHidden: Bool
    var accessibilityViewIsModal: Bool
    var shouldGroupAccessibilityChildren: Bool
    var accessibilityNavigationStyle: UIAccessibilityNavigationStyle
    var accessibilityHeaderElements: [Any]?
    var accessibilityCustomRotors: [UIAccessibilityCustomRotor]?
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool)
    func performSelector(inBackground aSelector: Selector, with arg: Any?)
    class func classForKeyedUnarchiver() -> AnyClass
    var classForKeyedArchiver: AnyClass? { get }
    func replacementObject(for archiver: NSKeyedArchiver) -> Any?
    class func classFallbacksForKeyedArchiver() -> [String]
    class func keyPathsForValuesAffectingValue(forKey key: String) -> Set<String>
    class func automaticallyNotifiesObservers(forKey key: String) -> Bool
    var observationInfo: UnsafeMutableRawPointer?
    func willChangeValue(forKey key: String)
    func didChangeValue(forKey key: String)
    func willChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func didChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func willChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func didChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func addObserver(_ observer: NSObject, forKeyPath keyPath: String, options options: NSKeyValueObservingOptions = [], context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String, context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String)
    func observeValue(forKeyPath keyPath: String?, of object: Any?, change change: [NSKeyValueChangeKey : Any]?, context context: UnsafeMutableRawPointer?)
    class var accessInstanceVariablesDirectly: Bool { get }
    func value(forKey key: String) -> Any?
    func setValue(_ value: Any?, forKey key: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKey inKey: String) throws
    func mutableArrayValue(forKey key: String) -> NSMutableArray
    func mutableOrderedSetValue(forKey key: String) -> NSMutableOrderedSet
    func mutableSetValue(forKey key: String) -> NSMutableSet
    func value(forKeyPath keyPath: String) -> Any?
    func setValue(_ value: Any?, forKeyPath keyPath: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKeyPath inKeyPath: String) throws
    func mutableArrayValue(forKeyPath keyPath: String) -> NSMutableArray
    func mutableOrderedSetValue(forKeyPath keyPath: String) -> NSMutableOrderedSet
    func mutableSetValue(forKeyPath keyPath: String) -> NSMutableSet
    func value(forUndefinedKey key: String) -> Any?
    func setValue(_ value: Any?, forUndefinedKey key: String)
    func setNilValueForKey(_ key: String)
    func dictionaryWithValues(forKeys keys: [String]) -> [String : Any]
    func setValuesForKeys(_ keyedValues: [String : Any])
    func fileManager(_ fm: FileManager, shouldProceedAfterError errorInfo: [AnyHashable : Any]) -> Bool
    func fileManager(_ fm: FileManager, willProcessPath path: String)
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval, inModes modes: [RunLoopMode])
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any, selector aSelector: Selector, object anArgument: Any?)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int, delegate delegate: Any?, didRecoverSelector didRecoverSelector: Selector?, contextInfo contextInfo: UnsafeMutableRawPointer?)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int) -> Bool
    var autoContentAccessingProxy: Any { get }
    class func version() -> Int
    class func setVersion(_ aVersion: Int)
    var classForCoder: AnyClass { get }
    func awakeAfter(using aDecoder: NSCoder) -> Any?
    func provideImageData(_ data: UnsafeMutableRawPointer, bytesPerRow rowbytes: Int, origin x: Int, _ y: Int, size width: Int, _ height: Int, userInfo info: Any?)
}
extension SCNMaterialProperty : CVarArg {
}
extension SCNMaterialProperty : Equatable, Hashable {
    var hashValue: Int { get }
}
CVarArg, Equatable, Hashable, NSSecureCoding, SCNAnimatable

Declaration
From
var contents: AnyObject?
To
var contents: Any?

Declaration
From
convenience init(contents contents: AnyObject)
To
convenience init(contents contents: Any)

Declaration
From
struct SCNMatrix4 {
    var m11: Float
    var m12: Float
    var m13: Float
    var m14: Float
    var m21: Float
    var m22: Float
    var m23: Float
    var m24: Float
    var m31: Float
    var m32: Float
    var m33: Float
    var m34: Float
    var m41: Float
    var m42: Float
    var m43: Float
    var m44: Float
    init()
    init(m11 m11: Float, m12 m12: Float, m13 m13: Float, m14 m14: Float, m21 m21: Float, m22 m22: Float, m23 m23: Float, m24 m24: Float, m31 m31: Float, m32 m32: Float, m33 m33: Float, m34 m34: Float, m41 m41: Float, m42 m42: Float, m43 m43: Float, m44 m44: Float)
}
extension SCNMatrix4 {
    init(_ m: float4x4)
    init(_ m: double4x4)
}
extension SCNMatrix4 {
    init(_ m: float4x4)
    init(_ m: double4x4)
}
To
struct SCNMatrix4 {
    var m11: Float
    var m12: Float
    var m13: Float
    var m14: Float
    var m21: Float
    var m22: Float
    var m23: Float
    var m24: Float
    var m31: Float
    var m32: Float
    var m33: Float
    var m34: Float
    var m41: Float
    var m42: Float
    var m43: Float
    var m44: Float
    init()
    init(m11 m11: Float, m12 m12: Float, m13 m13: Float, m14 m14: Float, m21 m21: Float, m22 m22: Float, m23 m23: Float, m24 m24: Float, m31 m31: Float, m32 m32: Float, m33 m33: Float, m34 m34: Float, m41 m41: Float, m42 m42: Float, m43 m43: Float, m44 m44: Float)
    init(_ m: float4x4)
    init(_ m: double4x4)
}
extension SCNMatrix4 {
    init(_ m: float4x4)
    init(_ m: double4x4)
}

Modified SCNMorpher
DeclarationProtocols
From
class SCNMorpher : NSObject, SCNAnimatable, NSSecureCoding {
    var targets: [SCNGeometry]
    func setWeight(_ weight: CGFloat, forTargetAtIndex targetIndex: Int)
    func weightForTargetAtIndex(_ targetIndex: Int) -> CGFloat
    var calculationMode: SCNMorpherCalculationMode
}
NSSecureCoding, SCNAnimatable
To
class SCNMorpher : NSObject, SCNAnimatable, NSSecureCoding {
    var targets: [SCNGeometry]
    func setWeight(_ weight: CGFloat, forTargetAt targetIndex: Int)
    func weight(forTargetAt targetIndex: Int) -> CGFloat
    var calculationMode: SCNMorpherCalculationMode
    func awakeFromNib()
    func prepareForInterfaceBuilder()
    func accessibilityActivate() -> Bool
    func accessibilityIncrement()
    func accessibilityDecrement()
    func accessibilityScroll(_ direction: UIAccessibilityScrollDirection) -> Bool
    func accessibilityPerformEscape() -> Bool
    func accessibilityPerformMagicTap() -> Bool
    var accessibilityCustomActions: [UIAccessibilityCustomAction]?
    func accessibilityElementDidBecomeFocused()
    func accessibilityElementDidLoseFocus()
    func accessibilityElementIsFocused() -> Bool
    func accessibilityAssistiveTechnologyFocusedIdentifiers() -> Set<String>?
    func accessibilityElementCount() -> Int
    func accessibilityElement(at index: Int) -> Any?
    func index(ofAccessibilityElement element: Any) -> Int
    var accessibilityElements: [Any]?
    var isAccessibilityElement: Bool
    var accessibilityLabel: String?
    var accessibilityHint: String?
    var accessibilityValue: String?
    var accessibilityTraits: UIAccessibilityTraits
    var accessibilityFrame: CGRect
    @NSCopying var accessibilityPath: UIBezierPath?
    var accessibilityActivationPoint: CGPoint
    var accessibilityLanguage: String?
    var accessibilityElementsHidden: Bool
    var accessibilityViewIsModal: Bool
    var shouldGroupAccessibilityChildren: Bool
    var accessibilityNavigationStyle: UIAccessibilityNavigationStyle
    var accessibilityHeaderElements: [Any]?
    var accessibilityCustomRotors: [UIAccessibilityCustomRotor]?
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool)
    func performSelector(inBackground aSelector: Selector, with arg: Any?)
    class func classForKeyedUnarchiver() -> AnyClass
    var classForKeyedArchiver: AnyClass? { get }
    func replacementObject(for archiver: NSKeyedArchiver) -> Any?
    class func classFallbacksForKeyedArchiver() -> [String]
    class func keyPathsForValuesAffectingValue(forKey key: String) -> Set<String>
    class func automaticallyNotifiesObservers(forKey key: String) -> Bool
    var observationInfo: UnsafeMutableRawPointer?
    func willChangeValue(forKey key: String)
    func didChangeValue(forKey key: String)
    func willChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func didChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func willChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func didChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func addObserver(_ observer: NSObject, forKeyPath keyPath: String, options options: NSKeyValueObservingOptions = [], context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String, context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String)
    func observeValue(forKeyPath keyPath: String?, of object: Any?, change change: [NSKeyValueChangeKey : Any]?, context context: UnsafeMutableRawPointer?)
    class var accessInstanceVariablesDirectly: Bool { get }
    func value(forKey key: String) -> Any?
    func setValue(_ value: Any?, forKey key: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKey inKey: String) throws
    func mutableArrayValue(forKey key: String) -> NSMutableArray
    func mutableOrderedSetValue(forKey key: String) -> NSMutableOrderedSet
    func mutableSetValue(forKey key: String) -> NSMutableSet
    func value(forKeyPath keyPath: String) -> Any?
    func setValue(_ value: Any?, forKeyPath keyPath: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKeyPath inKeyPath: String) throws
    func mutableArrayValue(forKeyPath keyPath: String) -> NSMutableArray
    func mutableOrderedSetValue(forKeyPath keyPath: String) -> NSMutableOrderedSet
    func mutableSetValue(forKeyPath keyPath: String) -> NSMutableSet
    func value(forUndefinedKey key: String) -> Any?
    func setValue(_ value: Any?, forUndefinedKey key: String)
    func setNilValueForKey(_ key: String)
    func dictionaryWithValues(forKeys keys: [String]) -> [String : Any]
    func setValuesForKeys(_ keyedValues: [String : Any])
    func fileManager(_ fm: FileManager, shouldProceedAfterError errorInfo: [AnyHashable : Any]) -> Bool
    func fileManager(_ fm: FileManager, willProcessPath path: String)
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval, inModes modes: [RunLoopMode])
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any, selector aSelector: Selector, object anArgument: Any?)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int, delegate delegate: Any?, didRecoverSelector didRecoverSelector: Selector?, contextInfo contextInfo: UnsafeMutableRawPointer?)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int) -> Bool
    var autoContentAccessingProxy: Any { get }
    class func version() -> Int
    class func setVersion(_ aVersion: Int)
    var classForCoder: AnyClass { get }
    func awakeAfter(using aDecoder: NSCoder) -> Any?
    func provideImageData(_ data: UnsafeMutableRawPointer, bytesPerRow rowbytes: Int, origin x: Int, _ y: Int, size width: Int, _ height: Int, userInfo info: Any?)
}
extension SCNMorpher : CVarArg {
}
extension SCNMorpher : Equatable, Hashable {
    var hashValue: Int { get }
}
CVarArg, Equatable, Hashable, NSSecureCoding, SCNAnimatable

Declaration
From
func setWeight(_ weight: CGFloat, forTargetAtIndex targetIndex: Int)
To
func setWeight(_ weight: CGFloat, forTargetAt targetIndex: Int)

Declaration
From
func weightForTargetAtIndex(_ targetIndex: Int) -> CGFloat
To
func weight(forTargetAt targetIndex: Int) -> CGFloat

Declaration
From
enum SCNMorpherCalculationMode : Int {
    case Normalized
    case Additive
}
To
enum SCNMorpherCalculationMode : Int {
    case normalized
    case additive
}

Declaration
From
case Additive
To
case additive

Declaration
From
case Normalized
To
case normalized

Modified SCNNode
DeclarationProtocols
From
class SCNNode : NSObject, NSCopying, NSSecureCoding, SCNAnimatable, SCNActionable, SCNBoundingVolume {
    convenience init()
    class func node() -> Self
     init(geometry geometry: SCNGeometry?)
    class func nodeWithGeometry(_ geometry: SCNGeometry?) -> SCNNode
    func clone() -> Self
    func flattenedClone() -> Self
    var name: String?
    var light: SCNLight?
    var camera: SCNCamera?
    var geometry: SCNGeometry?
    var skinner: SCNSkinner?
    var morpher: SCNMorpher?
    var transform: SCNMatrix4
    var position: SCNVector3
    var rotation: SCNVector4
    var orientation: SCNQuaternion
    var eulerAngles: SCNVector3
    var scale: SCNVector3
    var pivot: SCNMatrix4
    var worldTransform: SCNMatrix4 { get }
    var hidden: Bool
    var opacity: CGFloat
    var renderingOrder: Int
    var castsShadow: Bool
    var parentNode: SCNNode? { get }
    var childNodes: [SCNNode] { get }
    func addChildNode(_ child: SCNNode)
    func insertChildNode(_ child: SCNNode, atIndex index: Int)
    func removeFromParentNode()
    func replaceChildNode(_ oldChild: SCNNode, with newChild: SCNNode)
    func childNodeWithName(_ name: String, recursively recursively: Bool) -> SCNNode?
    func childNodesPassingTest(_ predicate: (SCNNode, UnsafeMutablePointer<ObjCBool>) -> Bool) -> [SCNNode]
    func enumerateChildNodesUsingBlock(_ block: (SCNNode, UnsafeMutablePointer<ObjCBool>) -> Void)
    func convertPosition(_ position: SCNVector3, toNode node: SCNNode?) -> SCNVector3
    func convertPosition(_ position: SCNVector3, fromNode node: SCNNode?) -> SCNVector3
    func convertTransform(_ transform: SCNMatrix4, toNode node: SCNNode?) -> SCNMatrix4
    func convertTransform(_ transform: SCNMatrix4, fromNode node: SCNNode?) -> SCNMatrix4
    var physicsBody: SCNPhysicsBody?
    var physicsField: SCNPhysicsField?
    var constraints: [SCNConstraint]?
    var filters: [CIFilter]?
    var presentationNode: SCNNode { get }
    var paused: Bool
    unowned(unsafe) var rendererDelegate: SCNNodeRendererDelegate?
    func hitTestWithSegmentFromPoint(_ pointA: SCNVector3, toPoint pointB: SCNVector3, options options: [String : AnyObject]?) -> [SCNHitTestResult]
    var categoryBitMask: Int
}
extension SCNNode {
    convenience init(MDLObject mdlObject: MDLObject)
    class func nodeWithMDLObject(_ mdlObject: MDLObject) -> Self
}
extension SCNNode {
    func addAudioPlayer(_ player: SCNAudioPlayer)
    func removeAllAudioPlayers()
    func removeAudioPlayer(_ player: SCNAudioPlayer)
    var audioPlayers: [SCNAudioPlayer] { get }
}
extension SCNNode {
    func addParticleSystem(_ system: SCNParticleSystem)
    func removeAllParticleSystems()
    func removeParticleSystem(_ system: SCNParticleSystem)
    var particleSystems: [SCNParticleSystem]? { get }
}
NSCopying, NSSecureCoding, SCNActionable, SCNAnimatable, SCNBoundingVolume
To
class SCNNode : NSObject, NSCopying, NSSecureCoding, SCNAnimatable, SCNActionable, SCNBoundingVolume {
    convenience init()
    class func node() -> Self
     init(geometry geometry: SCNGeometry?)
    class func withGeometry(_ geometry: SCNGeometry?) -> SCNNode
    func clone() -> Self
    func flattenedClone() -> Self
    var name: String?
    var light: SCNLight?
    var camera: SCNCamera?
    var geometry: SCNGeometry?
    var skinner: SCNSkinner?
    var morpher: SCNMorpher?
    var transform: SCNMatrix4
    var position: SCNVector3
    var rotation: SCNVector4
    var orientation: SCNQuaternion
    var eulerAngles: SCNVector3
    var scale: SCNVector3
    var pivot: SCNMatrix4
    var worldTransform: SCNMatrix4 { get }
    var isHidden: Bool
    var opacity: CGFloat
    var renderingOrder: Int
    var castsShadow: Bool
    var movabilityHint: SCNMovabilityHint
    var parent: SCNNode? { get }
    var childNodes: [SCNNode] { get }
    func addChildNode(_ child: SCNNode)
    func insertChildNode(_ child: SCNNode, at index: Int)
    func removeFromParentNode()
    func replaceChildNode(_ oldChild: SCNNode, with newChild: SCNNode)
    func childNode(withName name: String, recursively recursively: Bool) -> SCNNode?
    func childNodes(passingTest predicate: (SCNNode, UnsafeMutablePointer<ObjCBool>) -> Bool) -> [SCNNode]
    func enumerateChildNodes(_ block: (SCNNode, UnsafeMutablePointer<ObjCBool>) -> Swift.Void)
    func enumerateHierarchy(_ block: (SCNNode, UnsafeMutablePointer<ObjCBool>) -> Swift.Void)
    func convertPosition(_ position: SCNVector3, to node: SCNNode?) -> SCNVector3
    func convertPosition(_ position: SCNVector3, from node: SCNNode?) -> SCNVector3
    func convertTransform(_ transform: SCNMatrix4, to node: SCNNode?) -> SCNMatrix4
    func convertTransform(_ transform: SCNMatrix4, from node: SCNNode?) -> SCNMatrix4
    var physicsBody: SCNPhysicsBody?
    var physicsField: SCNPhysicsField?
    var constraints: [SCNConstraint]?
    var filters: [CIFilter]?
    var presentation: SCNNode { get }
    var isPaused: Bool
    unowned(unsafe) var rendererDelegate: SCNNodeRendererDelegate?
    func hitTestWithSegment(from pointA: SCNVector3, to pointB: SCNVector3, options options: [String : Any]? = nil) -> [SCNHitTestResult]
    var categoryBitMask: Int
    func addAudioPlayer(_ player: SCNAudioPlayer)
    func removeAllAudioPlayers()
    func removeAudioPlayer(_ player: SCNAudioPlayer)
    var audioPlayers: [SCNAudioPlayer] { get }
    func addParticleSystem(_ system: SCNParticleSystem)
    func removeAllParticleSystems()
    func removeParticleSystem(_ system: SCNParticleSystem)
    var particleSystems: [SCNParticleSystem]? { get }
    convenience init(mdlObject mdlObject: MDLObject)
    class func withMDLObject(_ mdlObject: MDLObject) -> Self
    var boundingBox: (min: SCNVector3, max: SCNVector3)
    var boundingSphere: (center: SCNVector3, radius: Float) { get }
    func awakeFromNib()
    func prepareForInterfaceBuilder()
    func accessibilityActivate() -> Bool
    func accessibilityIncrement()
    func accessibilityDecrement()
    func accessibilityScroll(_ direction: UIAccessibilityScrollDirection) -> Bool
    func accessibilityPerformEscape() -> Bool
    func accessibilityPerformMagicTap() -> Bool
    var accessibilityCustomActions: [UIAccessibilityCustomAction]?
    func accessibilityElementDidBecomeFocused()
    func accessibilityElementDidLoseFocus()
    func accessibilityElementIsFocused() -> Bool
    func accessibilityAssistiveTechnologyFocusedIdentifiers() -> Set<String>?
    func accessibilityElementCount() -> Int
    func accessibilityElement(at index: Int) -> Any?
    func index(ofAccessibilityElement element: Any) -> Int
    var accessibilityElements: [Any]?
    var isAccessibilityElement: Bool
    var accessibilityLabel: String?
    var accessibilityHint: String?
    var accessibilityValue: String?
    var accessibilityTraits: UIAccessibilityTraits
    var accessibilityFrame: CGRect
    @NSCopying var accessibilityPath: UIBezierPath?
    var accessibilityActivationPoint: CGPoint
    var accessibilityLanguage: String?
    var accessibilityElementsHidden: Bool
    var accessibilityViewIsModal: Bool
    var shouldGroupAccessibilityChildren: Bool
    var accessibilityNavigationStyle: UIAccessibilityNavigationStyle
    var accessibilityHeaderElements: [Any]?
    var accessibilityCustomRotors: [UIAccessibilityCustomRotor]?
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool)
    func performSelector(inBackground aSelector: Selector, with arg: Any?)
    class func classForKeyedUnarchiver() -> AnyClass
    var classForKeyedArchiver: AnyClass? { get }
    func replacementObject(for archiver: NSKeyedArchiver) -> Any?
    class func classFallbacksForKeyedArchiver() -> [String]
    class func keyPathsForValuesAffectingValue(forKey key: String) -> Set<String>
    class func automaticallyNotifiesObservers(forKey key: String) -> Bool
    var observationInfo: UnsafeMutableRawPointer?
    func willChangeValue(forKey key: String)
    func didChangeValue(forKey key: String)
    func willChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func didChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func willChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func didChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func addObserver(_ observer: NSObject, forKeyPath keyPath: String, options options: NSKeyValueObservingOptions = [], context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String, context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String)
    func observeValue(forKeyPath keyPath: String?, of object: Any?, change change: [NSKeyValueChangeKey : Any]?, context context: UnsafeMutableRawPointer?)
    class var accessInstanceVariablesDirectly: Bool { get }
    func value(forKey key: String) -> Any?
    func setValue(_ value: Any?, forKey key: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKey inKey: String) throws
    func mutableArrayValue(forKey key: String) -> NSMutableArray
    func mutableOrderedSetValue(forKey key: String) -> NSMutableOrderedSet
    func mutableSetValue(forKey key: String) -> NSMutableSet
    func value(forKeyPath keyPath: String) -> Any?
    func setValue(_ value: Any?, forKeyPath keyPath: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKeyPath inKeyPath: String) throws
    func mutableArrayValue(forKeyPath keyPath: String) -> NSMutableArray
    func mutableOrderedSetValue(forKeyPath keyPath: String) -> NSMutableOrderedSet
    func mutableSetValue(forKeyPath keyPath: String) -> NSMutableSet
    func value(forUndefinedKey key: String) -> Any?
    func setValue(_ value: Any?, forUndefinedKey key: String)
    func setNilValueForKey(_ key: String)
    func dictionaryWithValues(forKeys keys: [String]) -> [String : Any]
    func setValuesForKeys(_ keyedValues: [String : Any])
    func fileManager(_ fm: FileManager, shouldProceedAfterError errorInfo: [AnyHashable : Any]) -> Bool
    func fileManager(_ fm: FileManager, willProcessPath path: String)
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval, inModes modes: [RunLoopMode])
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any, selector aSelector: Selector, object anArgument: Any?)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int, delegate delegate: Any?, didRecoverSelector didRecoverSelector: Selector?, contextInfo contextInfo: UnsafeMutableRawPointer?)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int) -> Bool
    var autoContentAccessingProxy: Any { get }
    class func version() -> Int
    class func setVersion(_ aVersion: Int)
    var classForCoder: AnyClass { get }
    func awakeAfter(using aDecoder: NSCoder) -> Any?
    func provideImageData(_ data: UnsafeMutableRawPointer, bytesPerRow rowbytes: Int, origin x: Int, _ y: Int, size width: Int, _ height: Int, userInfo info: Any?)
}
extension SCNNode {
    convenience init(mdlObject mdlObject: MDLObject)
    class func withMDLObject(_ mdlObject: MDLObject) -> Self
}
extension SCNNode {
    func addAudioPlayer(_ player: SCNAudioPlayer)
    func removeAllAudioPlayers()
    func removeAudioPlayer(_ player: SCNAudioPlayer)
    var audioPlayers: [SCNAudioPlayer] { get }
}
extension SCNNode : CVarArg {
}
extension SCNNode : Equatable, Hashable {
    var hashValue: Int { get }
}
extension SCNNode {
    func addParticleSystem(_ system: SCNParticleSystem)
    func removeAllParticleSystems()
    func removeParticleSystem(_ system: SCNParticleSystem)
    var particleSystems: [SCNParticleSystem]? { get }
}
CVarArg, Equatable, Hashable, NSCopying, NSSecureCoding, SCNActionable, SCNAnimatable, SCNBoundingVolume

Declaration
From
func childNodeWithName(_ name: String, recursively recursively: Bool) -> SCNNode?
To
func childNode(withName name: String, recursively recursively: Bool) -> SCNNode?

Declaration
From
func childNodesPassingTest(_ predicate: (SCNNode, UnsafeMutablePointer<ObjCBool>) -> Bool) -> [SCNNode]
To
func childNodes(passingTest predicate: (SCNNode, UnsafeMutablePointer<ObjCBool>) -> Bool) -> [SCNNode]

Declaration
From
func convertPosition(_ position: SCNVector3, fromNode node: SCNNode?) -> SCNVector3
To
func convertPosition(_ position: SCNVector3, from node: SCNNode?) -> SCNVector3

Declaration
From
func convertPosition(_ position: SCNVector3, toNode node: SCNNode?) -> SCNVector3
To
func convertPosition(_ position: SCNVector3, to node: SCNNode?) -> SCNVector3

Declaration
From
func convertTransform(_ transform: SCNMatrix4, fromNode node: SCNNode?) -> SCNMatrix4
To
func convertTransform(_ transform: SCNMatrix4, from node: SCNNode?) -> SCNMatrix4

Declaration
From
func convertTransform(_ transform: SCNMatrix4, toNode node: SCNNode?) -> SCNMatrix4
To
func convertTransform(_ transform: SCNMatrix4, to node: SCNNode?) -> SCNMatrix4

Declaration
From
func enumerateChildNodesUsingBlock(_ block: (SCNNode, UnsafeMutablePointer<ObjCBool>) -> Void)
To
func enumerateChildNodes(_ block: (SCNNode, UnsafeMutablePointer<ObjCBool>) -> Swift.Void)

Declaration
From
func hitTestWithSegmentFromPoint(_ pointA: SCNVector3, toPoint pointB: SCNVector3, options options: [String : AnyObject]?) -> [SCNHitTestResult]
To
func hitTestWithSegment(from pointA: SCNVector3, to pointB: SCNVector3, options options: [String : Any]? = nil) -> [SCNHitTestResult]

Declaration
From
convenience init(MDLObject mdlObject: MDLObject)
To
convenience init(mdlObject mdlObject: MDLObject)

Declaration
From
func insertChildNode(_ child: SCNNode, atIndex index: Int)
To
func insertChildNode(_ child: SCNNode, at index: Int)

Declaration
From
var hidden: Bool
To
var isHidden: Bool

Declaration
From
var paused: Bool
To
var isPaused: Bool

Declaration
From
var parentNode: SCNNode? { get }
To
var parent: SCNNode? { get }

Declaration
From
var presentationNode: SCNNode { get }
To
var presentation: SCNNode { get }

Declaration
From
protocol SCNNodeRendererDelegate : NSObjectProtocol {
    optional func renderNode(_ node: SCNNode, renderer renderer: SCNRenderer, arguments arguments: [String : NSValue])
}
To
protocol SCNNodeRendererDelegate : NSObjectProtocol {
    optional func renderNode(_ node: SCNNode, renderer renderer: SCNRenderer, arguments arguments: [String : Any])
}

Declaration
From
optional func renderNode(_ node: SCNNode, renderer renderer: SCNRenderer, arguments arguments: [String : NSValue])
To
optional func renderNode(_ node: SCNNode, renderer renderer: SCNRenderer, arguments arguments: [String : Any])

Declaration
From
enum SCNParticleBirthDirection : Int {
    case Constant
    case SurfaceNormal
    case Random
}
To
enum SCNParticleBirthDirection : Int {
    case constant
    case surfaceNormal
    case random
}

Declaration
From
case Constant
To
case constant

Declaration
From
case Random
To
case random

Declaration
From
case SurfaceNormal
To
case surfaceNormal

Declaration
From
enum SCNParticleBirthLocation : Int {
    case Surface
    case Volume
    case Vertex
}
To
enum SCNParticleBirthLocation : Int {
    case surface
    case volume
    case vertex
}

Declaration
From
case Surface
To
case surface

Declaration
From
case Vertex
To
case vertex

Declaration
From
case Volume
To
case volume

Declaration
From
enum SCNParticleBlendMode : Int {
    case Additive
    case Subtract
    case Multiply
    case Screen
    case Alpha
    case Replace
}
To
enum SCNParticleBlendMode : Int {
    case additive
    case subtract
    case multiply
    case screen
    case alpha
    case replace
}

Declaration
From
case Additive
To
case additive

Declaration
From
case Alpha
To
case alpha

Declaration
From
case Multiply
To
case multiply

Declaration
From
case Replace
To
case replace

Declaration
From
case Screen
To
case screen

Declaration
From
case Subtract
To
case subtract

Declaration
From
enum SCNParticleEvent : Int {
    case Birth
    case Death
    case Collision
}
To
enum SCNParticleEvent : Int {
    case birth
    case death
    case collision
}

Declaration
From
case Birth
To
case birth

Declaration
From
case Collision
To
case collision

Declaration
From
case Death
To
case death

Declaration
From
enum SCNParticleImageSequenceAnimationMode : Int {
    case Repeat
    case Clamp
    case AutoReverse
}
To
enum SCNParticleImageSequenceAnimationMode : Int {
    case `repeat`
    case clamp
    case autoReverse
}

Declaration
From
case AutoReverse
To
case autoReverse

Declaration
From
case Clamp
To
case clamp

Declaration
From
case Repeat
To
case `repeat`

Declaration
From
enum SCNParticleInputMode : Int {
    case OverLife
    case OverDistance
    case OverOtherProperty
}
To
enum SCNParticleInputMode : Int {
    case overLife
    case overDistance
    case overOtherProperty
}

Declaration
From
case OverDistance
To
case overDistance

Declaration
From
case OverLife
To
case overLife

Declaration
From
case OverOtherProperty
To
case overOtherProperty

Declaration
From
enum SCNParticleModifierStage : Int {
    case PreDynamics
    case PostDynamics
    case PreCollision
    case PostCollision
}
To
enum SCNParticleModifierStage : Int {
    case preDynamics
    case postDynamics
    case preCollision
    case postCollision
}

Declaration
From
case PostCollision
To
case postCollision

Declaration
From
case PostDynamics
To
case postDynamics

Declaration
From
case PreCollision
To
case preCollision

Declaration
From
case PreDynamics
To
case preDynamics

Declaration
From
enum SCNParticleOrientationMode : Int {
    case BillboardScreenAligned
    case BillboardViewAligned
    case Free
    case BillboardYAligned
}
To
enum SCNParticleOrientationMode : Int {
    case billboardScreenAligned
    case billboardViewAligned
    case free
    case billboardYAligned
}

Declaration
From
case BillboardScreenAligned
To
case billboardScreenAligned

Declaration
From
case BillboardViewAligned
To
case billboardViewAligned

Declaration
From
case BillboardYAligned
To
case billboardYAligned

Declaration
From
case Free
To
case free

DeclarationProtocols
From
class SCNParticlePropertyController : NSObject, NSSecureCoding, NSCopying {
    convenience init(animation animation: CAAnimation)
    class func controllerWithAnimation(_ animation: CAAnimation) -> Self
    var animation: CAAnimation
    var inputMode: SCNParticleInputMode
    var inputScale: CGFloat
    var inputBias: CGFloat
    weak var inputOrigin: SCNNode?
    var inputProperty: String?
}
NSCopying, NSSecureCoding
To
class SCNParticlePropertyController : NSObject, NSSecureCoding, NSCopying {
    convenience init(animation animation: CAAnimation)
    class func withAnimation(_ animation: CAAnimation) -> Self
    var animation: CAAnimation
    var inputMode: SCNParticleInputMode
    var inputScale: CGFloat
    var inputBias: CGFloat
    weak var inputOrigin: SCNNode?
    var inputProperty: SCNParticleSystem.ParticleProperty?
    func awakeFromNib()
    func prepareForInterfaceBuilder()
    func accessibilityActivate() -> Bool
    func accessibilityIncrement()
    func accessibilityDecrement()
    func accessibilityScroll(_ direction: UIAccessibilityScrollDirection) -> Bool
    func accessibilityPerformEscape() -> Bool
    func accessibilityPerformMagicTap() -> Bool
    var accessibilityCustomActions: [UIAccessibilityCustomAction]?
    func accessibilityElementDidBecomeFocused()
    func accessibilityElementDidLoseFocus()
    func accessibilityElementIsFocused() -> Bool
    func accessibilityAssistiveTechnologyFocusedIdentifiers() -> Set<String>?
    func accessibilityElementCount() -> Int
    func accessibilityElement(at index: Int) -> Any?
    func index(ofAccessibilityElement element: Any) -> Int
    var accessibilityElements: [Any]?
    var isAccessibilityElement: Bool
    var accessibilityLabel: String?
    var accessibilityHint: String?
    var accessibilityValue: String?
    var accessibilityTraits: UIAccessibilityTraits
    var accessibilityFrame: CGRect
    @NSCopying var accessibilityPath: UIBezierPath?
    var accessibilityActivationPoint: CGPoint
    var accessibilityLanguage: String?
    var accessibilityElementsHidden: Bool
    var accessibilityViewIsModal: Bool
    var shouldGroupAccessibilityChildren: Bool
    var accessibilityNavigationStyle: UIAccessibilityNavigationStyle
    var accessibilityHeaderElements: [Any]?
    var accessibilityCustomRotors: [UIAccessibilityCustomRotor]?
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool)
    func performSelector(inBackground aSelector: Selector, with arg: Any?)
    class func classForKeyedUnarchiver() -> AnyClass
    var classForKeyedArchiver: AnyClass? { get }
    func replacementObject(for archiver: NSKeyedArchiver) -> Any?
    class func classFallbacksForKeyedArchiver() -> [String]
    class func keyPathsForValuesAffectingValue(forKey key: String) -> Set<String>
    class func automaticallyNotifiesObservers(forKey key: String) -> Bool
    var observationInfo: UnsafeMutableRawPointer?
    func willChangeValue(forKey key: String)
    func didChangeValue(forKey key: String)
    func willChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func didChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func willChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func didChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func addObserver(_ observer: NSObject, forKeyPath keyPath: String, options options: NSKeyValueObservingOptions = [], context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String, context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String)
    func observeValue(forKeyPath keyPath: String?, of object: Any?, change change: [NSKeyValueChangeKey : Any]?, context context: UnsafeMutableRawPointer?)
    class var accessInstanceVariablesDirectly: Bool { get }
    func value(forKey key: String) -> Any?
    func setValue(_ value: Any?, forKey key: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKey inKey: String) throws
    func mutableArrayValue(forKey key: String) -> NSMutableArray
    func mutableOrderedSetValue(forKey key: String) -> NSMutableOrderedSet
    func mutableSetValue(forKey key: String) -> NSMutableSet
    func value(forKeyPath keyPath: String) -> Any?
    func setValue(_ value: Any?, forKeyPath keyPath: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKeyPath inKeyPath: String) throws
    func mutableArrayValue(forKeyPath keyPath: String) -> NSMutableArray
    func mutableOrderedSetValue(forKeyPath keyPath: String) -> NSMutableOrderedSet
    func mutableSetValue(forKeyPath keyPath: String) -> NSMutableSet
    func value(forUndefinedKey key: String) -> Any?
    func setValue(_ value: Any?, forUndefinedKey key: String)
    func setNilValueForKey(_ key: String)
    func dictionaryWithValues(forKeys keys: [String]) -> [String : Any]
    func setValuesForKeys(_ keyedValues: [String : Any])
    func fileManager(_ fm: FileManager, shouldProceedAfterError errorInfo: [AnyHashable : Any]) -> Bool
    func fileManager(_ fm: FileManager, willProcessPath path: String)
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval, inModes modes: [RunLoopMode])
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any, selector aSelector: Selector, object anArgument: Any?)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int, delegate delegate: Any?, didRecoverSelector didRecoverSelector: Selector?, contextInfo contextInfo: UnsafeMutableRawPointer?)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int) -> Bool
    var autoContentAccessingProxy: Any { get }
    class func version() -> Int
    class func setVersion(_ aVersion: Int)
    var classForCoder: AnyClass { get }
    func awakeAfter(using aDecoder: NSCoder) -> Any?
    func provideImageData(_ data: UnsafeMutableRawPointer, bytesPerRow rowbytes: Int, origin x: Int, _ y: Int, size width: Int, _ height: Int, userInfo info: Any?)
}
extension SCNParticlePropertyController : CVarArg {
}
extension SCNParticlePropertyController : Equatable, Hashable {
    var hashValue: Int { get }
}
CVarArg, Equatable, Hashable, NSCopying, NSSecureCoding

Declaration
From
var inputProperty: String?
To
var inputProperty: SCNParticleSystem.ParticleProperty?

Declaration
From
enum SCNParticleSortingMode : Int {
    case None
    case ProjectedDepth
    case Distance
    case OldestFirst
    case YoungestFirst
}
To
enum SCNParticleSortingMode : Int {
    case none
    case projectedDepth
    case distance
    case oldestFirst
    case youngestFirst
}

Declaration
From
case Distance
To
case distance

Declaration
From
case None
To
case none

Declaration
From
case OldestFirst
To
case oldestFirst

Declaration
From
case ProjectedDepth
To
case projectedDepth

Declaration
From
case YoungestFirst
To
case youngestFirst

DeclarationProtocols
From
class SCNParticleSystem : NSObject, NSCopying, NSSecureCoding, SCNAnimatable {
    convenience init()
    class func particleSystem() -> Self
    convenience init?(named name: String, inDirectory directory: String?)
    class func particleSystemNamed(_ name: String, inDirectory directory: String?) -> Self?
    var emissionDuration: CGFloat
    var emissionDurationVariation: CGFloat
    var idleDuration: CGFloat
    var idleDurationVariation: CGFloat
    var loops: Bool
    var birthRate: CGFloat
    var birthRateVariation: CGFloat
    var warmupDuration: CGFloat
    var emitterShape: SCNGeometry?
    var birthLocation: SCNParticleBirthLocation
    var birthDirection: SCNParticleBirthDirection
    var spreadingAngle: CGFloat
    var emittingDirection: SCNVector3
    var acceleration: SCNVector3
    var local: Bool
    var particleAngle: CGFloat
    var particleAngleVariation: CGFloat
    var particleVelocity: CGFloat
    var particleVelocityVariation: CGFloat
    var particleAngularVelocity: CGFloat
    var particleAngularVelocityVariation: CGFloat
    var particleLifeSpan: CGFloat
    var particleLifeSpanVariation: CGFloat
    var systemSpawnedOnDying: SCNParticleSystem?
    var systemSpawnedOnCollision: SCNParticleSystem?
    var systemSpawnedOnLiving: SCNParticleSystem?
    var particleImage: AnyObject?
    var imageSequenceColumnCount: Int
    var imageSequenceRowCount: Int
    var imageSequenceInitialFrame: CGFloat
    var imageSequenceInitialFrameVariation: CGFloat
    var imageSequenceFrameRate: CGFloat
    var imageSequenceFrameRateVariation: CGFloat
    var imageSequenceAnimationMode: SCNParticleImageSequenceAnimationMode
    var particleColor: UIColor
    var particleColorVariation: SCNVector4
    var particleSize: CGFloat
    var particleSizeVariation: CGFloat
    var blendMode: SCNParticleBlendMode
    var blackPassEnabled: Bool
    var orientationMode: SCNParticleOrientationMode
    var sortingMode: SCNParticleSortingMode
    var lightingEnabled: Bool
    var affectedByGravity: Bool
    var affectedByPhysicsFields: Bool
    var particleDiesOnCollision: Bool
    var colliderNodes: [SCNNode]?
    var particleMass: CGFloat
    var particleMassVariation: CGFloat
    var particleBounce: CGFloat
    var particleBounceVariation: CGFloat
    var particleFriction: CGFloat
    var particleFrictionVariation: CGFloat
    var particleCharge: CGFloat
    var particleChargeVariation: CGFloat
    var dampingFactor: CGFloat
    var speedFactor: CGFloat
    var stretchFactor: CGFloat
    var fresnelExponent: CGFloat
    var propertyControllers: [String : SCNParticlePropertyController]?
    func reset()
    func handleEvent(_ event: SCNParticleEvent, forProperties properties: [String], withBlock block: SCNParticleEventBlock)
    func addModifierForProperties(_ properties: [String], atStage stage: SCNParticleModifierStage, withBlock block: SCNParticleModifierBlock)
    func removeModifiersOfStage(_ stage: SCNParticleModifierStage)
    func removeAllModifiers()
}
NSCopying, NSSecureCoding, SCNAnimatable
To
class SCNParticleSystem : NSObject, NSCopying, NSSecureCoding, SCNAnimatable {
    convenience init()
    class func particleSystem() -> Self
    convenience init?(named name: String, inDirectory directory: String?)
    class func particleSystemNamed(_ name: String, inDirectory directory: String?) -> Self?
    var emissionDuration: CGFloat
    var emissionDurationVariation: CGFloat
    var idleDuration: CGFloat
    var idleDurationVariation: CGFloat
    var loops: Bool
    var birthRate: CGFloat
    var birthRateVariation: CGFloat
    var warmupDuration: CGFloat
    var emitterShape: SCNGeometry?
    var birthLocation: SCNParticleBirthLocation
    var birthDirection: SCNParticleBirthDirection
    var spreadingAngle: CGFloat
    var emittingDirection: SCNVector3
    var acceleration: SCNVector3
    var isLocal: Bool
    var particleAngle: CGFloat
    var particleAngleVariation: CGFloat
    var particleVelocity: CGFloat
    var particleVelocityVariation: CGFloat
    var particleAngularVelocity: CGFloat
    var particleAngularVelocityVariation: CGFloat
    var particleLifeSpan: CGFloat
    var particleLifeSpanVariation: CGFloat
    var systemSpawnedOnDying: SCNParticleSystem?
    var systemSpawnedOnCollision: SCNParticleSystem?
    var systemSpawnedOnLiving: SCNParticleSystem?
    var particleImage: Any?
    var imageSequenceColumnCount: Int
    var imageSequenceRowCount: Int
    var imageSequenceInitialFrame: CGFloat
    var imageSequenceInitialFrameVariation: CGFloat
    var imageSequenceFrameRate: CGFloat
    var imageSequenceFrameRateVariation: CGFloat
    var imageSequenceAnimationMode: SCNParticleImageSequenceAnimationMode
    var particleColor: UIColor
    var particleColorVariation: SCNVector4
    var particleSize: CGFloat
    var particleSizeVariation: CGFloat
    var blendMode: SCNParticleBlendMode
    var isBlackPassEnabled: Bool
    var orientationMode: SCNParticleOrientationMode
    var sortingMode: SCNParticleSortingMode
    var isLightingEnabled: Bool
    var isAffectedByGravity: Bool
    var isAffectedByPhysicsFields: Bool
    var particleDiesOnCollision: Bool
    var colliderNodes: [SCNNode]?
    var particleMass: CGFloat
    var particleMassVariation: CGFloat
    var particleBounce: CGFloat
    var particleBounceVariation: CGFloat
    var particleFriction: CGFloat
    var particleFrictionVariation: CGFloat
    var particleCharge: CGFloat
    var particleChargeVariation: CGFloat
    var dampingFactor: CGFloat
    var speedFactor: CGFloat
    var stretchFactor: CGFloat
    var fresnelExponent: CGFloat
    var propertyControllers: [SCNParticleSystem.ParticleProperty : SCNParticlePropertyController]?
    func reset()
    func handle(_ event: SCNParticleEvent, forProperties properties: [SCNParticleSystem.ParticleProperty], handler block: SceneKit.SCNParticleEventBlock)
    func addModifier(forProperties properties: [SCNParticleSystem.ParticleProperty], at stage: SCNParticleModifierStage, modifier block: SceneKit.SCNParticleModifierBlock)
    func removeModifiers(at stage: SCNParticleModifierStage)
    func removeAllModifiers()
    struct ParticleProperty : RawRepresentable, Equatable, Hashable, Comparable {
        init(rawValue rawValue: String)
    }
    func awakeFromNib()
    func prepareForInterfaceBuilder()
    func accessibilityActivate() -> Bool
    func accessibilityIncrement()
    func accessibilityDecrement()
    func accessibilityScroll(_ direction: UIAccessibilityScrollDirection) -> Bool
    func accessibilityPerformEscape() -> Bool
    func accessibilityPerformMagicTap() -> Bool
    var accessibilityCustomActions: [UIAccessibilityCustomAction]?
    func accessibilityElementDidBecomeFocused()
    func accessibilityElementDidLoseFocus()
    func accessibilityElementIsFocused() -> Bool
    func accessibilityAssistiveTechnologyFocusedIdentifiers() -> Set<String>?
    func accessibilityElementCount() -> Int
    func accessibilityElement(at index: Int) -> Any?
    func index(ofAccessibilityElement element: Any) -> Int
    var accessibilityElements: [Any]?
    var isAccessibilityElement: Bool
    var accessibilityLabel: String?
    var accessibilityHint: String?
    var accessibilityValue: String?
    var accessibilityTraits: UIAccessibilityTraits
    var accessibilityFrame: CGRect
    @NSCopying var accessibilityPath: UIBezierPath?
    var accessibilityActivationPoint: CGPoint
    var accessibilityLanguage: String?
    var accessibilityElementsHidden: Bool
    var accessibilityViewIsModal: Bool
    var shouldGroupAccessibilityChildren: Bool
    var accessibilityNavigationStyle: UIAccessibilityNavigationStyle
    var accessibilityHeaderElements: [Any]?
    var accessibilityCustomRotors: [UIAccessibilityCustomRotor]?
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool)
    func performSelector(inBackground aSelector: Selector, with arg: Any?)
    class func classForKeyedUnarchiver() -> AnyClass
    var classForKeyedArchiver: AnyClass? { get }
    func replacementObject(for archiver: NSKeyedArchiver) -> Any?
    class func classFallbacksForKeyedArchiver() -> [String]
    class func keyPathsForValuesAffectingValue(forKey key: String) -> Set<String>
    class func automaticallyNotifiesObservers(forKey key: String) -> Bool
    var observationInfo: UnsafeMutableRawPointer?
    func willChangeValue(forKey key: String)
    func didChangeValue(forKey key: String)
    func willChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func didChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func willChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func didChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func addObserver(_ observer: NSObject, forKeyPath keyPath: String, options options: NSKeyValueObservingOptions = [], context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String, context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String)
    func observeValue(forKeyPath keyPath: String?, of object: Any?, change change: [NSKeyValueChangeKey : Any]?, context context: UnsafeMutableRawPointer?)
    class var accessInstanceVariablesDirectly: Bool { get }
    func value(forKey key: String) -> Any?
    func setValue(_ value: Any?, forKey key: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKey inKey: String) throws
    func mutableArrayValue(forKey key: String) -> NSMutableArray
    func mutableOrderedSetValue(forKey key: String) -> NSMutableOrderedSet
    func mutableSetValue(forKey key: String) -> NSMutableSet
    func value(forKeyPath keyPath: String) -> Any?
    func setValue(_ value: Any?, forKeyPath keyPath: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKeyPath inKeyPath: String) throws
    func mutableArrayValue(forKeyPath keyPath: String) -> NSMutableArray
    func mutableOrderedSetValue(forKeyPath keyPath: String) -> NSMutableOrderedSet
    func mutableSetValue(forKeyPath keyPath: String) -> NSMutableSet
    func value(forUndefinedKey key: String) -> Any?
    func setValue(_ value: Any?, forUndefinedKey key: String)
    func setNilValueForKey(_ key: String)
    func dictionaryWithValues(forKeys keys: [String]) -> [String : Any]
    func setValuesForKeys(_ keyedValues: [String : Any])
    func fileManager(_ fm: FileManager, shouldProceedAfterError errorInfo: [AnyHashable : Any]) -> Bool
    func fileManager(_ fm: FileManager, willProcessPath path: String)
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval, inModes modes: [RunLoopMode])
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any, selector aSelector: Selector, object anArgument: Any?)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int, delegate delegate: Any?, didRecoverSelector didRecoverSelector: Selector?, contextInfo contextInfo: UnsafeMutableRawPointer?)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int) -> Bool
    var autoContentAccessingProxy: Any { get }
    class func version() -> Int
    class func setVersion(_ aVersion: Int)
    var classForCoder: AnyClass { get }
    func awakeAfter(using aDecoder: NSCoder) -> Any?
    func provideImageData(_ data: UnsafeMutableRawPointer, bytesPerRow rowbytes: Int, origin x: Int, _ y: Int, size width: Int, _ height: Int, userInfo info: Any?)
}
extension SCNParticleSystem {
    struct ParticleProperty : RawRepresentable, Equatable, Hashable, Comparable {
        init(rawValue rawValue: String)
    }
}
extension SCNParticleSystem : CVarArg {
}
extension SCNParticleSystem : Equatable, Hashable {
    var hashValue: Int { get }
}
CVarArg, Equatable, Hashable, NSCopying, NSSecureCoding, SCNAnimatable

Declaration
From
func addModifierForProperties(_ properties: [String], atStage stage: SCNParticleModifierStage, withBlock block: SCNParticleModifierBlock)
To
func addModifier(forProperties properties: [SCNParticleSystem.ParticleProperty], at stage: SCNParticleModifierStage, modifier block: SceneKit.SCNParticleModifierBlock)

Declaration
From
func handleEvent(_ event: SCNParticleEvent, forProperties properties: [String], withBlock block: SCNParticleEventBlock)
To
func handle(_ event: SCNParticleEvent, forProperties properties: [SCNParticleSystem.ParticleProperty], handler block: SceneKit.SCNParticleEventBlock)

Declaration
From
var affectedByGravity: Bool
To
var isAffectedByGravity: Bool

Declaration
From
var affectedByPhysicsFields: Bool
To
var isAffectedByPhysicsFields: Bool

Declaration
From
var blackPassEnabled: Bool
To
var isBlackPassEnabled: Bool

Declaration
From
var lightingEnabled: Bool
To
var isLightingEnabled: Bool

Declaration
From
var local: Bool
To
var isLocal: Bool

Declaration
From
var particleImage: AnyObject?
To
var particleImage: Any?

Declaration
From
var propertyControllers: [String : SCNParticlePropertyController]?
To
var propertyControllers: [SCNParticleSystem.ParticleProperty : SCNParticlePropertyController]?

Declaration
From
func removeModifiersOfStage(_ stage: SCNParticleModifierStage)
To
func removeModifiers(at stage: SCNParticleModifierStage)

NameDeclaration
FromSCNParticlePropertyAngle
let SCNParticlePropertyAngle: String
Toangle
static let angle: SCNParticleSystem.ParticleProperty

NameDeclaration
FromSCNParticlePropertyAngularVelocity
let SCNParticlePropertyAngularVelocity: String
ToangularVelocity
static let angularVelocity: SCNParticleSystem.ParticleProperty

NameDeclaration
FromSCNParticlePropertyBounce
let SCNParticlePropertyBounce: String
Tobounce
static let bounce: SCNParticleSystem.ParticleProperty

NameDeclaration
FromSCNParticlePropertyCharge
let SCNParticlePropertyCharge: String
Tocharge
static let charge: SCNParticleSystem.ParticleProperty

NameDeclaration
FromSCNParticlePropertyColor
let SCNParticlePropertyColor: String
Tocolor
static let color: SCNParticleSystem.ParticleProperty

NameDeclaration
FromSCNParticlePropertyContactNormal
let SCNParticlePropertyContactNormal: String
TocontactNormal
static let contactNormal: SCNParticleSystem.ParticleProperty

NameDeclaration
FromSCNParticlePropertyContactPoint
let SCNParticlePropertyContactPoint: String
TocontactPoint
static let contactPoint: SCNParticleSystem.ParticleProperty

NameDeclaration
FromSCNParticlePropertyFrame
let SCNParticlePropertyFrame: String
Toframe
static let frame: SCNParticleSystem.ParticleProperty

NameDeclaration
FromSCNParticlePropertyFrameRate
let SCNParticlePropertyFrameRate: String
ToframeRate
static let frameRate: SCNParticleSystem.ParticleProperty

NameDeclaration
FromSCNParticlePropertyFriction
let SCNParticlePropertyFriction: String
Tofriction
static let friction: SCNParticleSystem.ParticleProperty

NameDeclaration
FromSCNParticlePropertyLife
let SCNParticlePropertyLife: String
Tolife
static let life: SCNParticleSystem.ParticleProperty

NameDeclaration
FromSCNParticlePropertyOpacity
let SCNParticlePropertyOpacity: String
Toopacity
static let opacity: SCNParticleSystem.ParticleProperty

NameDeclaration
FromSCNParticlePropertyPosition
let SCNParticlePropertyPosition: String
Toposition
static let position: SCNParticleSystem.ParticleProperty

NameDeclaration
FromSCNParticlePropertyRotationAxis
let SCNParticlePropertyRotationAxis: String
TorotationAxis
static let rotationAxis: SCNParticleSystem.ParticleProperty

NameDeclaration
FromSCNParticlePropertySize
let SCNParticlePropertySize: String
Tosize
static let size: SCNParticleSystem.ParticleProperty

NameDeclaration
FromSCNParticlePropertyVelocity
let SCNParticlePropertyVelocity: String
Tovelocity
static let velocity: SCNParticleSystem.ParticleProperty

Declaration
From
class SCNPhysicsBallSocketJoint : SCNPhysicsBehavior {
    convenience init(bodyA bodyA: SCNPhysicsBody, anchorA anchorA: SCNVector3, bodyB bodyB: SCNPhysicsBody, anchorB anchorB: SCNVector3)
    class func jointWithBodyA(_ bodyA: SCNPhysicsBody, anchorA anchorA: SCNVector3, bodyB bodyB: SCNPhysicsBody, anchorB anchorB: SCNVector3) -> Self
    convenience init(body body: SCNPhysicsBody, anchor anchor: SCNVector3)
    class func jointWithBody(_ body: SCNPhysicsBody, anchor anchor: SCNVector3) -> Self
    var bodyA: SCNPhysicsBody { get }
    var anchorA: SCNVector3
    var bodyB: SCNPhysicsBody? { get }
    var anchorB: SCNVector3
}
To
class SCNPhysicsBallSocketJoint : SCNPhysicsBehavior {
    convenience init(bodyA bodyA: SCNPhysicsBody, anchorA anchorA: SCNVector3, bodyB bodyB: SCNPhysicsBody, anchorB anchorB: SCNVector3)
    class func withBodyA(_ bodyA: SCNPhysicsBody, anchorA anchorA: SCNVector3, bodyB bodyB: SCNPhysicsBody, anchorB anchorB: SCNVector3) -> Self
    convenience init(body body: SCNPhysicsBody, anchor anchor: SCNVector3)
    class func withBody(_ body: SCNPhysicsBody, anchor anchor: SCNVector3) -> Self
    var bodyA: SCNPhysicsBody { get }
    var anchorA: SCNVector3
    var bodyB: SCNPhysicsBody? { get }
    var anchorB: SCNVector3
}

DeclarationProtocols
From
class SCNPhysicsBehavior : NSObject, NSSecureCoding {
}
NSSecureCoding
To
class SCNPhysicsBehavior : NSObject, NSSecureCoding {
    func awakeFromNib()
    func prepareForInterfaceBuilder()
    func accessibilityActivate() -> Bool
    func accessibilityIncrement()
    func accessibilityDecrement()
    func accessibilityScroll(_ direction: UIAccessibilityScrollDirection) -> Bool
    func accessibilityPerformEscape() -> Bool
    func accessibilityPerformMagicTap() -> Bool
    var accessibilityCustomActions: [UIAccessibilityCustomAction]?
    func accessibilityElementDidBecomeFocused()
    func accessibilityElementDidLoseFocus()
    func accessibilityElementIsFocused() -> Bool
    func accessibilityAssistiveTechnologyFocusedIdentifiers() -> Set<String>?
    func accessibilityElementCount() -> Int
    func accessibilityElement(at index: Int) -> Any?
    func index(ofAccessibilityElement element: Any) -> Int
    var accessibilityElements: [Any]?
    var isAccessibilityElement: Bool
    var accessibilityLabel: String?
    var accessibilityHint: String?
    var accessibilityValue: String?
    var accessibilityTraits: UIAccessibilityTraits
    var accessibilityFrame: CGRect
    @NSCopying var accessibilityPath: UIBezierPath?
    var accessibilityActivationPoint: CGPoint
    var accessibilityLanguage: String?
    var accessibilityElementsHidden: Bool
    var accessibilityViewIsModal: Bool
    var shouldGroupAccessibilityChildren: Bool
    var accessibilityNavigationStyle: UIAccessibilityNavigationStyle
    var accessibilityHeaderElements: [Any]?
    var accessibilityCustomRotors: [UIAccessibilityCustomRotor]?
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool)
    func performSelector(inBackground aSelector: Selector, with arg: Any?)
    class func classForKeyedUnarchiver() -> AnyClass
    var classForKeyedArchiver: AnyClass? { get }
    func replacementObject(for archiver: NSKeyedArchiver) -> Any?
    class func classFallbacksForKeyedArchiver() -> [String]
    class func keyPathsForValuesAffectingValue(forKey key: String) -> Set<String>
    class func automaticallyNotifiesObservers(forKey key: String) -> Bool
    var observationInfo: UnsafeMutableRawPointer?
    func willChangeValue(forKey key: String)
    func didChangeValue(forKey key: String)
    func willChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func didChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func willChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func didChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func addObserver(_ observer: NSObject, forKeyPath keyPath: String, options options: NSKeyValueObservingOptions = [], context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String, context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String)
    func observeValue(forKeyPath keyPath: String?, of object: Any?, change change: [NSKeyValueChangeKey : Any]?, context context: UnsafeMutableRawPointer?)
    class var accessInstanceVariablesDirectly: Bool { get }
    func value(forKey key: String) -> Any?
    func setValue(_ value: Any?, forKey key: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKey inKey: String) throws
    func mutableArrayValue(forKey key: String) -> NSMutableArray
    func mutableOrderedSetValue(forKey key: String) -> NSMutableOrderedSet
    func mutableSetValue(forKey key: String) -> NSMutableSet
    func value(forKeyPath keyPath: String) -> Any?
    func setValue(_ value: Any?, forKeyPath keyPath: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKeyPath inKeyPath: String) throws
    func mutableArrayValue(forKeyPath keyPath: String) -> NSMutableArray
    func mutableOrderedSetValue(forKeyPath keyPath: String) -> NSMutableOrderedSet
    func mutableSetValue(forKeyPath keyPath: String) -> NSMutableSet
    func value(forUndefinedKey key: String) -> Any?
    func setValue(_ value: Any?, forUndefinedKey key: String)
    func setNilValueForKey(_ key: String)
    func dictionaryWithValues(forKeys keys: [String]) -> [String : Any]
    func setValuesForKeys(_ keyedValues: [String : Any])
    func fileManager(_ fm: FileManager, shouldProceedAfterError errorInfo: [AnyHashable : Any]) -> Bool
    func fileManager(_ fm: FileManager, willProcessPath path: String)
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval, inModes modes: [RunLoopMode])
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any, selector aSelector: Selector, object anArgument: Any?)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int, delegate delegate: Any?, didRecoverSelector didRecoverSelector: Selector?, contextInfo contextInfo: UnsafeMutableRawPointer?)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int) -> Bool
    var autoContentAccessingProxy: Any { get }
    class func version() -> Int
    class func setVersion(_ aVersion: Int)
    var classForCoder: AnyClass { get }
    func awakeAfter(using aDecoder: NSCoder) -> Any?
    func provideImageData(_ data: UnsafeMutableRawPointer, bytesPerRow rowbytes: Int, origin x: Int, _ y: Int, size width: Int, _ height: Int, userInfo info: Any?)
}
extension SCNPhysicsBehavior : CVarArg {
}
extension SCNPhysicsBehavior : Equatable, Hashable {
    var hashValue: Int { get }
}
CVarArg, Equatable, Hashable, NSSecureCoding

DeclarationProtocols
From
class SCNPhysicsBody : NSObject, NSCopying, NSSecureCoding {
    class func staticBody() -> Self
    class func dynamicBody() -> Self
    class func kinematicBody() -> Self
    convenience init(type type: SCNPhysicsBodyType, shape shape: SCNPhysicsShape?)
    class func bodyWithType(_ type: SCNPhysicsBodyType, shape shape: SCNPhysicsShape?) -> Self
    var type: SCNPhysicsBodyType
    var mass: CGFloat
    var momentOfInertia: SCNVector3
    var usesDefaultMomentOfInertia: Bool
    var charge: CGFloat
    var friction: CGFloat
    var restitution: CGFloat
    var rollingFriction: CGFloat
    var physicsShape: SCNPhysicsShape?
    var isResting: Bool { get }
    var allowsResting: Bool
    var velocity: SCNVector3
    var angularVelocity: SCNVector4
    var damping: CGFloat
    var angularDamping: CGFloat
    var velocityFactor: SCNVector3
    var angularVelocityFactor: SCNVector3
    var categoryBitMask: Int
    var collisionBitMask: Int
    var contactTestBitMask: Int
    var affectedByGravity: Bool
    func applyForce(_ direction: SCNVector3, impulse impulse: Bool)
    func applyForce(_ direction: SCNVector3, atPosition position: SCNVector3, impulse impulse: Bool)
    func applyTorque(_ torque: SCNVector4, impulse impulse: Bool)
    func clearAllForces()
    func resetTransform()
}
NSCopying, NSSecureCoding
To
class SCNPhysicsBody : NSObject, NSCopying, NSSecureCoding {
    class func `static`() -> Self
    class func dynamic() -> Self
    class func kinematic() -> Self
    convenience init(type type: SCNPhysicsBodyType, shape shape: SCNPhysicsShape?)
    class func withType(_ type: SCNPhysicsBodyType, shape shape: SCNPhysicsShape?) -> Self
    var type: SCNPhysicsBodyType
    var mass: CGFloat
    var momentOfInertia: SCNVector3
    var usesDefaultMomentOfInertia: Bool
    var charge: CGFloat
    var friction: CGFloat
    var restitution: CGFloat
    var rollingFriction: CGFloat
    var physicsShape: SCNPhysicsShape?
    var isResting: Bool { get }
    var allowsResting: Bool
    var velocity: SCNVector3
    var angularVelocity: SCNVector4
    var damping: CGFloat
    var angularDamping: CGFloat
    var velocityFactor: SCNVector3
    var angularVelocityFactor: SCNVector3
    var categoryBitMask: Int
    var collisionBitMask: Int
    var contactTestBitMask: Int
    var isAffectedByGravity: Bool
    func applyForce(_ direction: SCNVector3, asImpulse impulse: Bool)
    func applyForce(_ direction: SCNVector3, at position: SCNVector3, asImpulse impulse: Bool)
    func applyTorque(_ torque: SCNVector4, asImpulse impulse: Bool)
    func clearAllForces()
    func resetTransform()
    func awakeFromNib()
    func prepareForInterfaceBuilder()
    func accessibilityActivate() -> Bool
    func accessibilityIncrement()
    func accessibilityDecrement()
    func accessibilityScroll(_ direction: UIAccessibilityScrollDirection) -> Bool
    func accessibilityPerformEscape() -> Bool
    func accessibilityPerformMagicTap() -> Bool
    var accessibilityCustomActions: [UIAccessibilityCustomAction]?
    func accessibilityElementDidBecomeFocused()
    func accessibilityElementDidLoseFocus()
    func accessibilityElementIsFocused() -> Bool
    func accessibilityAssistiveTechnologyFocusedIdentifiers() -> Set<String>?
    func accessibilityElementCount() -> Int
    func accessibilityElement(at index: Int) -> Any?
    func index(ofAccessibilityElement element: Any) -> Int
    var accessibilityElements: [Any]?
    var isAccessibilityElement: Bool
    var accessibilityLabel: String?
    var accessibilityHint: String?
    var accessibilityValue: String?
    var accessibilityTraits: UIAccessibilityTraits
    var accessibilityFrame: CGRect
    @NSCopying var accessibilityPath: UIBezierPath?
    var accessibilityActivationPoint: CGPoint
    var accessibilityLanguage: String?
    var accessibilityElementsHidden: Bool
    var accessibilityViewIsModal: Bool
    var shouldGroupAccessibilityChildren: Bool
    var accessibilityNavigationStyle: UIAccessibilityNavigationStyle
    var accessibilityHeaderElements: [Any]?
    var accessibilityCustomRotors: [UIAccessibilityCustomRotor]?
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool)
    func performSelector(inBackground aSelector: Selector, with arg: Any?)
    class func classForKeyedUnarchiver() -> AnyClass
    var classForKeyedArchiver: AnyClass? { get }
    func replacementObject(for archiver: NSKeyedArchiver) -> Any?
    class func classFallbacksForKeyedArchiver() -> [String]
    class func keyPathsForValuesAffectingValue(forKey key: String) -> Set<String>
    class func automaticallyNotifiesObservers(forKey key: String) -> Bool
    var observationInfo: UnsafeMutableRawPointer?
    func willChangeValue(forKey key: String)
    func didChangeValue(forKey key: String)
    func willChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func didChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func willChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func didChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func addObserver(_ observer: NSObject, forKeyPath keyPath: String, options options: NSKeyValueObservingOptions = [], context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String, context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String)
    func observeValue(forKeyPath keyPath: String?, of object: Any?, change change: [NSKeyValueChangeKey : Any]?, context context: UnsafeMutableRawPointer?)
    class var accessInstanceVariablesDirectly: Bool { get }
    func value(forKey key: String) -> Any?
    func setValue(_ value: Any?, forKey key: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKey inKey: String) throws
    func mutableArrayValue(forKey key: String) -> NSMutableArray
    func mutableOrderedSetValue(forKey key: String) -> NSMutableOrderedSet
    func mutableSetValue(forKey key: String) -> NSMutableSet
    func value(forKeyPath keyPath: String) -> Any?
    func setValue(_ value: Any?, forKeyPath keyPath: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKeyPath inKeyPath: String) throws
    func mutableArrayValue(forKeyPath keyPath: String) -> NSMutableArray
    func mutableOrderedSetValue(forKeyPath keyPath: String) -> NSMutableOrderedSet
    func mutableSetValue(forKeyPath keyPath: String) -> NSMutableSet
    func value(forUndefinedKey key: String) -> Any?
    func setValue(_ value: Any?, forUndefinedKey key: String)
    func setNilValueForKey(_ key: String)
    func dictionaryWithValues(forKeys keys: [String]) -> [String : Any]
    func setValuesForKeys(_ keyedValues: [String : Any])
    func fileManager(_ fm: FileManager, shouldProceedAfterError errorInfo: [AnyHashable : Any]) -> Bool
    func fileManager(_ fm: FileManager, willProcessPath path: String)
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval, inModes modes: [RunLoopMode])
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any, selector aSelector: Selector, object anArgument: Any?)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int, delegate delegate: Any?, didRecoverSelector didRecoverSelector: Selector?, contextInfo contextInfo: UnsafeMutableRawPointer?)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int) -> Bool
    var autoContentAccessingProxy: Any { get }
    class func version() -> Int
    class func setVersion(_ aVersion: Int)
    var classForCoder: AnyClass { get }
    func awakeAfter(using aDecoder: NSCoder) -> Any?
    func provideImageData(_ data: UnsafeMutableRawPointer, bytesPerRow rowbytes: Int, origin x: Int, _ y: Int, size width: Int, _ height: Int, userInfo info: Any?)
}
extension SCNPhysicsBody : CVarArg {
}
extension SCNPhysicsBody : Equatable, Hashable {
    var hashValue: Int { get }
}
CVarArg, Equatable, Hashable, NSCopying, NSSecureCoding

Declaration
From
func applyForce(_ direction: SCNVector3, impulse impulse: Bool)
To
func applyForce(_ direction: SCNVector3, asImpulse impulse: Bool)

Declaration
From
func applyForce(_ direction: SCNVector3, atPosition position: SCNVector3, impulse impulse: Bool)
To
func applyForce(_ direction: SCNVector3, at position: SCNVector3, asImpulse impulse: Bool)

Declaration
From
func applyTorque(_ torque: SCNVector4, impulse impulse: Bool)
To
func applyTorque(_ torque: SCNVector4, asImpulse impulse: Bool)

Declaration
From
class func dynamicBody() -> Self
To
class func dynamic() -> Self

Declaration
From
var affectedByGravity: Bool
To
var isAffectedByGravity: Bool

Declaration
From
class func kinematicBody() -> Self
To
class func kinematic() -> Self

Declaration
From
class func staticBody() -> Self
To
class func `static`() -> Self

Declaration
From
enum SCNPhysicsBodyType : Int {
    case Static
    case Dynamic
    case Kinematic
}
To
enum SCNPhysicsBodyType : Int {
    case `static`
    case dynamic
    case kinematic
}

Declaration
From
case Dynamic
To
case dynamic

Declaration
From
case Kinematic
To
case kinematic

Declaration
From
case Static
To
case `static`

DeclarationProtocols
From
struct SCNPhysicsCollisionCategory : OptionSetType {
    init(rawValue rawValue: UInt)
    static var Default: SCNPhysicsCollisionCategory { get }
    static var Static: SCNPhysicsCollisionCategory { get }
    static var All: SCNPhysicsCollisionCategory { get }
}
OptionSetType
To
struct SCNPhysicsCollisionCategory : OptionSet {
    init(rawValue rawValue: UInt)
    static var `default`: SCNPhysicsCollisionCategory { get }
    static var `static`: SCNPhysicsCollisionCategory { get }
    static var all: SCNPhysicsCollisionCategory { get }
    func intersect(_ other: SCNPhysicsCollisionCategory) -> SCNPhysicsCollisionCategory
    func exclusiveOr(_ other: SCNPhysicsCollisionCategory) -> SCNPhysicsCollisionCategory
    mutating func unionInPlace(_ other: SCNPhysicsCollisionCategory)
    mutating func intersectInPlace(_ other: SCNPhysicsCollisionCategory)
    mutating func exclusiveOrInPlace(_ other: SCNPhysicsCollisionCategory)
    func isSubsetOf(_ other: SCNPhysicsCollisionCategory) -> Bool
    func isDisjointWith(_ other: SCNPhysicsCollisionCategory) -> Bool
    func isSupersetOf(_ other: SCNPhysicsCollisionCategory) -> Bool
    mutating func subtractInPlace(_ other: SCNPhysicsCollisionCategory)
    func isStrictSupersetOf(_ other: SCNPhysicsCollisionCategory) -> Bool
    func isStrictSubsetOf(_ other: SCNPhysicsCollisionCategory) -> Bool
}
extension SCNPhysicsCollisionCategory {
    func union(_ other: SCNPhysicsCollisionCategory) -> SCNPhysicsCollisionCategory
    func intersection(_ other: SCNPhysicsCollisionCategory) -> SCNPhysicsCollisionCategory
    func symmetricDifference(_ other: SCNPhysicsCollisionCategory) -> SCNPhysicsCollisionCategory
}
extension SCNPhysicsCollisionCategory {
    func contains(_ member: SCNPhysicsCollisionCategory) -> Bool
    mutating func insert(_ newMember: SCNPhysicsCollisionCategory) -> (inserted: Bool, memberAfterInsert: SCNPhysicsCollisionCategory)
    mutating func remove(_ member: SCNPhysicsCollisionCategory) -> SCNPhysicsCollisionCategory?
    mutating func update(with newMember: SCNPhysicsCollisionCategory) -> SCNPhysicsCollisionCategory?
}
extension SCNPhysicsCollisionCategory {
    convenience init()
    mutating func formUnion(_ other: SCNPhysicsCollisionCategory)
    mutating func formIntersection(_ other: SCNPhysicsCollisionCategory)
    mutating func formSymmetricDifference(_ other: SCNPhysicsCollisionCategory)
}
extension SCNPhysicsCollisionCategory {
    convenience init<S : Sequence where S.Iterator.Element == SCNPhysicsCollisionCategory>(_ sequence: S)
    convenience init(arrayLiteral arrayLiteral: SCNPhysicsCollisionCategory...)
    mutating func subtract(_ other: SCNPhysicsCollisionCategory)
    func isSubset(of other: SCNPhysicsCollisionCategory) -> Bool
    func isSuperset(of other: SCNPhysicsCollisionCategory) -> Bool
    func isDisjoint(with other: SCNPhysicsCollisionCategory) -> Bool
    func subtracting(_ other: SCNPhysicsCollisionCategory) -> SCNPhysicsCollisionCategory
    var isEmpty: Bool { get }
    func isStrictSuperset(of other: SCNPhysicsCollisionCategory) -> Bool
    func isStrictSubset(of other: SCNPhysicsCollisionCategory) -> Bool
}
OptionSet

Declaration
From
static var All: SCNPhysicsCollisionCategory { get }
To
static var all: SCNPhysicsCollisionCategory { get }

Declaration
From
static var Default: SCNPhysicsCollisionCategory { get }
To
static var `default`: SCNPhysicsCollisionCategory { get }

Declaration
From
static var Static: SCNPhysicsCollisionCategory { get }
To
static var `static`: SCNPhysicsCollisionCategory { get }

DeclarationProtocols
From
class SCNPhysicsContact : NSObject {
    var nodeA: SCNNode { get }
    var nodeB: SCNNode { get }
    var contactPoint: SCNVector3 { get }
    var contactNormal: SCNVector3 { get }
    var collisionImpulse: CGFloat { get }
    var penetrationDistance: CGFloat { get }
}
--
To
class SCNPhysicsContact : NSObject {
    var nodeA: SCNNode { get }
    var nodeB: SCNNode { get }
    var contactPoint: SCNVector3 { get }
    var contactNormal: SCNVector3 { get }
    var collisionImpulse: CGFloat { get }
    var penetrationDistance: CGFloat { get }
    func awakeFromNib()
    func prepareForInterfaceBuilder()
    func accessibilityActivate() -> Bool
    func accessibilityIncrement()
    func accessibilityDecrement()
    func accessibilityScroll(_ direction: UIAccessibilityScrollDirection) -> Bool
    func accessibilityPerformEscape() -> Bool
    func accessibilityPerformMagicTap() -> Bool
    var accessibilityCustomActions: [UIAccessibilityCustomAction]?
    func accessibilityElementDidBecomeFocused()
    func accessibilityElementDidLoseFocus()
    func accessibilityElementIsFocused() -> Bool
    func accessibilityAssistiveTechnologyFocusedIdentifiers() -> Set<String>?
    func accessibilityElementCount() -> Int
    func accessibilityElement(at index: Int) -> Any?
    func index(ofAccessibilityElement element: Any) -> Int
    var accessibilityElements: [Any]?
    var isAccessibilityElement: Bool
    var accessibilityLabel: String?
    var accessibilityHint: String?
    var accessibilityValue: String?
    var accessibilityTraits: UIAccessibilityTraits
    var accessibilityFrame: CGRect
    @NSCopying var accessibilityPath: UIBezierPath?
    var accessibilityActivationPoint: CGPoint
    var accessibilityLanguage: String?
    var accessibilityElementsHidden: Bool
    var accessibilityViewIsModal: Bool
    var shouldGroupAccessibilityChildren: Bool
    var accessibilityNavigationStyle: UIAccessibilityNavigationStyle
    var accessibilityHeaderElements: [Any]?
    var accessibilityCustomRotors: [UIAccessibilityCustomRotor]?
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool)
    func performSelector(inBackground aSelector: Selector, with arg: Any?)
    class func classForKeyedUnarchiver() -> AnyClass
    var classForKeyedArchiver: AnyClass? { get }
    func replacementObject(for archiver: NSKeyedArchiver) -> Any?
    class func classFallbacksForKeyedArchiver() -> [String]
    class func keyPathsForValuesAffectingValue(forKey key: String) -> Set<String>
    class func automaticallyNotifiesObservers(forKey key: String) -> Bool
    var observationInfo: UnsafeMutableRawPointer?
    func willChangeValue(forKey key: String)
    func didChangeValue(forKey key: String)
    func willChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func didChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func willChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func didChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func addObserver(_ observer: NSObject, forKeyPath keyPath: String, options options: NSKeyValueObservingOptions = [], context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String, context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String)
    func observeValue(forKeyPath keyPath: String?, of object: Any?, change change: [NSKeyValueChangeKey : Any]?, context context: UnsafeMutableRawPointer?)
    class var accessInstanceVariablesDirectly: Bool { get }
    func value(forKey key: String) -> Any?
    func setValue(_ value: Any?, forKey key: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKey inKey: String) throws
    func mutableArrayValue(forKey key: String) -> NSMutableArray
    func mutableOrderedSetValue(forKey key: String) -> NSMutableOrderedSet
    func mutableSetValue(forKey key: String) -> NSMutableSet
    func value(forKeyPath keyPath: String) -> Any?
    func setValue(_ value: Any?, forKeyPath keyPath: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKeyPath inKeyPath: String) throws
    func mutableArrayValue(forKeyPath keyPath: String) -> NSMutableArray
    func mutableOrderedSetValue(forKeyPath keyPath: String) -> NSMutableOrderedSet
    func mutableSetValue(forKeyPath keyPath: String) -> NSMutableSet
    func value(forUndefinedKey key: String) -> Any?
    func setValue(_ value: Any?, forUndefinedKey key: String)
    func setNilValueForKey(_ key: String)
    func dictionaryWithValues(forKeys keys: [String]) -> [String : Any]
    func setValuesForKeys(_ keyedValues: [String : Any])
    func fileManager(_ fm: FileManager, shouldProceedAfterError errorInfo: [AnyHashable : Any]) -> Bool
    func fileManager(_ fm: FileManager, willProcessPath path: String)
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval, inModes modes: [RunLoopMode])
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any, selector aSelector: Selector, object anArgument: Any?)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int, delegate delegate: Any?, didRecoverSelector didRecoverSelector: Selector?, contextInfo contextInfo: UnsafeMutableRawPointer?)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int) -> Bool
    var autoContentAccessingProxy: Any { get }
    class func version() -> Int
    class func setVersion(_ aVersion: Int)
    var classForCoder: AnyClass { get }
    func awakeAfter(using aDecoder: NSCoder) -> Any?
    func provideImageData(_ data: UnsafeMutableRawPointer, bytesPerRow rowbytes: Int, origin x: Int, _ y: Int, size width: Int, _ height: Int, userInfo info: Any?)
}
extension SCNPhysicsContact : CVarArg {
}
extension SCNPhysicsContact : Equatable, Hashable {
    var hashValue: Int { get }
}
CVarArg, Equatable, Hashable

Declaration
From
protocol SCNPhysicsContactDelegate : NSObjectProtocol {
    optional func physicsWorld(_ world: SCNPhysicsWorld, didBeginContact contact: SCNPhysicsContact)
    optional func physicsWorld(_ world: SCNPhysicsWorld, didUpdateContact contact: SCNPhysicsContact)
    optional func physicsWorld(_ world: SCNPhysicsWorld, didEndContact contact: SCNPhysicsContact)
}
To
protocol SCNPhysicsContactDelegate : NSObjectProtocol {
    optional func physicsWorld(_ world: SCNPhysicsWorld, didBegin contact: SCNPhysicsContact)
    optional func physicsWorld(_ world: SCNPhysicsWorld, didUpdate contact: SCNPhysicsContact)
    optional func physicsWorld(_ world: SCNPhysicsWorld, didEnd contact: SCNPhysicsContact)
}

Declaration
From
optional func physicsWorld(_ world: SCNPhysicsWorld, didBeginContact contact: SCNPhysicsContact)
To
optional func physicsWorld(_ world: SCNPhysicsWorld, didBegin contact: SCNPhysicsContact)

Declaration
From
optional func physicsWorld(_ world: SCNPhysicsWorld, didEndContact contact: SCNPhysicsContact)
To
optional func physicsWorld(_ world: SCNPhysicsWorld, didEnd contact: SCNPhysicsContact)

Declaration
From
optional func physicsWorld(_ world: SCNPhysicsWorld, didUpdateContact contact: SCNPhysicsContact)
To
optional func physicsWorld(_ world: SCNPhysicsWorld, didUpdate contact: SCNPhysicsContact)

DeclarationProtocols
From
class SCNPhysicsField : NSObject, NSCopying, NSSecureCoding {
    var strength: CGFloat
    var falloffExponent: CGFloat
    var minimumDistance: CGFloat
    var active: Bool
    var exclusive: Bool
    var halfExtent: SCNVector3
    var usesEllipsoidalExtent: Bool
    var scope: SCNPhysicsFieldScope
    var offset: SCNVector3
    var direction: SCNVector3
    var categoryBitMask: Int
    class func dragField() -> SCNPhysicsField
    class func vortexField() -> SCNPhysicsField
    class func radialGravityField() -> SCNPhysicsField
    class func linearGravityField() -> SCNPhysicsField
    class func noiseFieldWithSmoothness(_ smoothness: CGFloat, animationSpeed speed: CGFloat) -> SCNPhysicsField
    class func turbulenceFieldWithSmoothness(_ smoothness: CGFloat, animationSpeed speed: CGFloat) -> SCNPhysicsField
    class func springField() -> SCNPhysicsField
    class func electricField() -> SCNPhysicsField
    class func magneticField() -> SCNPhysicsField
    class func customFieldWithEvaluationBlock(_ block: SCNFieldForceEvaluator) -> SCNPhysicsField
}
NSCopying, NSSecureCoding
To
class SCNPhysicsField : NSObject, NSCopying, NSSecureCoding {
    var strength: CGFloat
    var falloffExponent: CGFloat
    var minimumDistance: CGFloat
    var isActive: Bool
    var isExclusive: Bool
    var halfExtent: SCNVector3
    var usesEllipsoidalExtent: Bool
    var scope: SCNPhysicsFieldScope
    var offset: SCNVector3
    var direction: SCNVector3
    var categoryBitMask: Int
    class func drag() -> SCNPhysicsField
    class func vortex() -> SCNPhysicsField
    class func radialGravity() -> SCNPhysicsField
    class func linearGravity() -> SCNPhysicsField
    class func noiseField(smoothness smoothness: CGFloat, animationSpeed speed: CGFloat) -> SCNPhysicsField
    class func turbulenceField(smoothness smoothness: CGFloat, animationSpeed speed: CGFloat) -> SCNPhysicsField
    class func spring() -> SCNPhysicsField
    class func electric() -> SCNPhysicsField
    class func magnetic() -> SCNPhysicsField
    class func customField(evaluationBlock block: SceneKit.SCNFieldForceEvaluator) -> SCNPhysicsField
    func awakeFromNib()
    func prepareForInterfaceBuilder()
    func accessibilityActivate() -> Bool
    func accessibilityIncrement()
    func accessibilityDecrement()
    func accessibilityScroll(_ direction: UIAccessibilityScrollDirection) -> Bool
    func accessibilityPerformEscape() -> Bool
    func accessibilityPerformMagicTap() -> Bool
    var accessibilityCustomActions: [UIAccessibilityCustomAction]?
    func accessibilityElementDidBecomeFocused()
    func accessibilityElementDidLoseFocus()
    func accessibilityElementIsFocused() -> Bool
    func accessibilityAssistiveTechnologyFocusedIdentifiers() -> Set<String>?
    func accessibilityElementCount() -> Int
    func accessibilityElement(at index: Int) -> Any?
    func index(ofAccessibilityElement element: Any) -> Int
    var accessibilityElements: [Any]?
    var isAccessibilityElement: Bool
    var accessibilityLabel: String?
    var accessibilityHint: String?
    var accessibilityValue: String?
    var accessibilityTraits: UIAccessibilityTraits
    var accessibilityFrame: CGRect
    @NSCopying var accessibilityPath: UIBezierPath?
    var accessibilityActivationPoint: CGPoint
    var accessibilityLanguage: String?
    var accessibilityElementsHidden: Bool
    var accessibilityViewIsModal: Bool
    var shouldGroupAccessibilityChildren: Bool
    var accessibilityNavigationStyle: UIAccessibilityNavigationStyle
    var accessibilityHeaderElements: [Any]?
    var accessibilityCustomRotors: [UIAccessibilityCustomRotor]?
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool)
    func performSelector(inBackground aSelector: Selector, with arg: Any?)
    class func classForKeyedUnarchiver() -> AnyClass
    var classForKeyedArchiver: AnyClass? { get }
    func replacementObject(for archiver: NSKeyedArchiver) -> Any?
    class func classFallbacksForKeyedArchiver() -> [String]
    class func keyPathsForValuesAffectingValue(forKey key: String) -> Set<String>
    class func automaticallyNotifiesObservers(forKey key: String) -> Bool
    var observationInfo: UnsafeMutableRawPointer?
    func willChangeValue(forKey key: String)
    func didChangeValue(forKey key: String)
    func willChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func didChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func willChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func didChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func addObserver(_ observer: NSObject, forKeyPath keyPath: String, options options: NSKeyValueObservingOptions = [], context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String, context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String)
    func observeValue(forKeyPath keyPath: String?, of object: Any?, change change: [NSKeyValueChangeKey : Any]?, context context: UnsafeMutableRawPointer?)
    class var accessInstanceVariablesDirectly: Bool { get }
    func value(forKey key: String) -> Any?
    func setValue(_ value: Any?, forKey key: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKey inKey: String) throws
    func mutableArrayValue(forKey key: String) -> NSMutableArray
    func mutableOrderedSetValue(forKey key: String) -> NSMutableOrderedSet
    func mutableSetValue(forKey key: String) -> NSMutableSet
    func value(forKeyPath keyPath: String) -> Any?
    func setValue(_ value: Any?, forKeyPath keyPath: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKeyPath inKeyPath: String) throws
    func mutableArrayValue(forKeyPath keyPath: String) -> NSMutableArray
    func mutableOrderedSetValue(forKeyPath keyPath: String) -> NSMutableOrderedSet
    func mutableSetValue(forKeyPath keyPath: String) -> NSMutableSet
    func value(forUndefinedKey key: String) -> Any?
    func setValue(_ value: Any?, forUndefinedKey key: String)
    func setNilValueForKey(_ key: String)
    func dictionaryWithValues(forKeys keys: [String]) -> [String : Any]
    func setValuesForKeys(_ keyedValues: [String : Any])
    func fileManager(_ fm: FileManager, shouldProceedAfterError errorInfo: [AnyHashable : Any]) -> Bool
    func fileManager(_ fm: FileManager, willProcessPath path: String)
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval, inModes modes: [RunLoopMode])
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any, selector aSelector: Selector, object anArgument: Any?)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int, delegate delegate: Any?, didRecoverSelector didRecoverSelector: Selector?, contextInfo contextInfo: UnsafeMutableRawPointer?)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int) -> Bool
    var autoContentAccessingProxy: Any { get }
    class func version() -> Int
    class func setVersion(_ aVersion: Int)
    var classForCoder: AnyClass { get }
    func awakeAfter(using aDecoder: NSCoder) -> Any?
    func provideImageData(_ data: UnsafeMutableRawPointer, bytesPerRow rowbytes: Int, origin x: Int, _ y: Int, size width: Int, _ height: Int, userInfo info: Any?)
}
extension SCNPhysicsField : CVarArg {
}
extension SCNPhysicsField : Equatable, Hashable {
    var hashValue: Int { get }
}
CVarArg, Equatable, Hashable, NSCopying, NSSecureCoding

Declaration
From
class func customFieldWithEvaluationBlock(_ block: SCNFieldForceEvaluator) -> SCNPhysicsField
To
class func customField(evaluationBlock block: SceneKit.SCNFieldForceEvaluator) -> SCNPhysicsField

Declaration
From
class func dragField() -> SCNPhysicsField
To
class func drag() -> SCNPhysicsField

Declaration
From
class func electricField() -> SCNPhysicsField
To
class func electric() -> SCNPhysicsField

Declaration
From
var active: Bool
To
var isActive: Bool

Declaration
From
var exclusive: Bool
To
var isExclusive: Bool

Declaration
From
class func linearGravityField() -> SCNPhysicsField
To
class func linearGravity() -> SCNPhysicsField

Declaration
From
class func magneticField() -> SCNPhysicsField
To
class func magnetic() -> SCNPhysicsField

Declaration
From
class func noiseFieldWithSmoothness(_ smoothness: CGFloat, animationSpeed speed: CGFloat) -> SCNPhysicsField
To
class func noiseField(smoothness smoothness: CGFloat, animationSpeed speed: CGFloat) -> SCNPhysicsField

Declaration
From
class func radialGravityField() -> SCNPhysicsField
To
class func radialGravity() -> SCNPhysicsField

Declaration
From
class func springField() -> SCNPhysicsField
To
class func spring() -> SCNPhysicsField

Declaration
From
class func turbulenceFieldWithSmoothness(_ smoothness: CGFloat, animationSpeed speed: CGFloat) -> SCNPhysicsField
To
class func turbulenceField(smoothness smoothness: CGFloat, animationSpeed speed: CGFloat) -> SCNPhysicsField

Declaration
From
class func vortexField() -> SCNPhysicsField
To
class func vortex() -> SCNPhysicsField

Declaration
From
enum SCNPhysicsFieldScope : Int {
    case InsideExtent
    case OutsideExtent
}
To
enum SCNPhysicsFieldScope : Int {
    case insideExtent
    case outsideExtent
}

Declaration
From
case InsideExtent
To
case insideExtent

Declaration
From
case OutsideExtent
To
case outsideExtent

Declaration
From
class SCNPhysicsHingeJoint : SCNPhysicsBehavior {
    convenience init(bodyA bodyA: SCNPhysicsBody, axisA axisA: SCNVector3, anchorA anchorA: SCNVector3, bodyB bodyB: SCNPhysicsBody, axisB axisB: SCNVector3, anchorB anchorB: SCNVector3)
    class func jointWithBodyA(_ bodyA: SCNPhysicsBody, axisA axisA: SCNVector3, anchorA anchorA: SCNVector3, bodyB bodyB: SCNPhysicsBody, axisB axisB: SCNVector3, anchorB anchorB: SCNVector3) -> Self
    convenience init(body body: SCNPhysicsBody, axis axis: SCNVector3, anchor anchor: SCNVector3)
    class func jointWithBody(_ body: SCNPhysicsBody, axis axis: SCNVector3, anchor anchor: SCNVector3) -> Self
    var bodyA: SCNPhysicsBody { get }
    var axisA: SCNVector3
    var anchorA: SCNVector3
    var bodyB: SCNPhysicsBody? { get }
    var axisB: SCNVector3
    var anchorB: SCNVector3
}
To
class SCNPhysicsHingeJoint : SCNPhysicsBehavior {
    convenience init(bodyA bodyA: SCNPhysicsBody, axisA axisA: SCNVector3, anchorA anchorA: SCNVector3, bodyB bodyB: SCNPhysicsBody, axisB axisB: SCNVector3, anchorB anchorB: SCNVector3)
    class func withBodyA(_ bodyA: SCNPhysicsBody, axisA axisA: SCNVector3, anchorA anchorA: SCNVector3, bodyB bodyB: SCNPhysicsBody, axisB axisB: SCNVector3, anchorB anchorB: SCNVector3) -> Self
    convenience init(body body: SCNPhysicsBody, axis axis: SCNVector3, anchor anchor: SCNVector3)
    class func withBody(_ body: SCNPhysicsBody, axis axis: SCNVector3, anchor anchor: SCNVector3) -> Self
    var bodyA: SCNPhysicsBody { get }
    var axisA: SCNVector3
    var anchorA: SCNVector3
    var bodyB: SCNPhysicsBody? { get }
    var axisB: SCNVector3
    var anchorB: SCNVector3
}

DeclarationProtocols
From
class SCNPhysicsShape : NSObject, NSCopying, NSSecureCoding {
    convenience init(geometry geometry: SCNGeometry, options options: [String : AnyObject]?)
    class func shapeWithGeometry(_ geometry: SCNGeometry, options options: [String : AnyObject]?) -> Self
    convenience init(node node: SCNNode, options options: [String : AnyObject]?)
    class func shapeWithNode(_ node: SCNNode, options options: [String : AnyObject]?) -> Self
    convenience init(shapes shapes: [SCNPhysicsShape], transforms transforms: [NSValue]?)
    class func shapeWithShapes(_ shapes: [SCNPhysicsShape], transforms transforms: [NSValue]?) -> Self
    var options: [String : AnyObject]? { get }
    var sourceObject: AnyObject { get }
    var transforms: [NSValue]? { get }
}
NSCopying, NSSecureCoding
To
class SCNPhysicsShape : NSObject, NSCopying, NSSecureCoding {
    convenience init(geometry geometry: SCNGeometry, options options: [SCNPhysicsShape.Option : Any]? = nil)
    class func withGeometry(_ geometry: SCNGeometry, options options: [SCNPhysicsShape.Option : Any]? = nil) -> Self
    convenience init(node node: SCNNode, options options: [SCNPhysicsShape.Option : Any]? = nil)
    class func withNode(_ node: SCNNode, options options: [SCNPhysicsShape.Option : Any]? = nil) -> Self
    convenience init(shapes shapes: [SCNPhysicsShape], transforms transforms: [NSValue]?)
    class func withShapes(_ shapes: [SCNPhysicsShape], transforms transforms: [NSValue]?) -> Self
    var options: [SCNPhysicsShape.Option : Any]? { get }
    var sourceObject: Any { get }
    var transforms: [NSValue]? { get }
    struct Option : RawRepresentable, Equatable, Hashable, Comparable {
        init(rawValue rawValue: String)
    }
    struct ShapeType : RawRepresentable, Equatable, Hashable, Comparable {
        init(rawValue rawValue: String)
    }
    func awakeFromNib()
    func prepareForInterfaceBuilder()
    func accessibilityActivate() -> Bool
    func accessibilityIncrement()
    func accessibilityDecrement()
    func accessibilityScroll(_ direction: UIAccessibilityScrollDirection) -> Bool
    func accessibilityPerformEscape() -> Bool
    func accessibilityPerformMagicTap() -> Bool
    var accessibilityCustomActions: [UIAccessibilityCustomAction]?
    func accessibilityElementDidBecomeFocused()
    func accessibilityElementDidLoseFocus()
    func accessibilityElementIsFocused() -> Bool
    func accessibilityAssistiveTechnologyFocusedIdentifiers() -> Set<String>?
    func accessibilityElementCount() -> Int
    func accessibilityElement(at index: Int) -> Any?
    func index(ofAccessibilityElement element: Any) -> Int
    var accessibilityElements: [Any]?
    var isAccessibilityElement: Bool
    var accessibilityLabel: String?
    var accessibilityHint: String?
    var accessibilityValue: String?
    var accessibilityTraits: UIAccessibilityTraits
    var accessibilityFrame: CGRect
    @NSCopying var accessibilityPath: UIBezierPath?
    var accessibilityActivationPoint: CGPoint
    var accessibilityLanguage: String?
    var accessibilityElementsHidden: Bool
    var accessibilityViewIsModal: Bool
    var shouldGroupAccessibilityChildren: Bool
    var accessibilityNavigationStyle: UIAccessibilityNavigationStyle
    var accessibilityHeaderElements: [Any]?
    var accessibilityCustomRotors: [UIAccessibilityCustomRotor]?
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool)
    func performSelector(inBackground aSelector: Selector, with arg: Any?)
    class func classForKeyedUnarchiver() -> AnyClass
    var classForKeyedArchiver: AnyClass? { get }
    func replacementObject(for archiver: NSKeyedArchiver) -> Any?
    class func classFallbacksForKeyedArchiver() -> [String]
    class func keyPathsForValuesAffectingValue(forKey key: String) -> Set<String>
    class func automaticallyNotifiesObservers(forKey key: String) -> Bool
    var observationInfo: UnsafeMutableRawPointer?
    func willChangeValue(forKey key: String)
    func didChangeValue(forKey key: String)
    func willChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func didChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func willChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func didChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func addObserver(_ observer: NSObject, forKeyPath keyPath: String, options options: NSKeyValueObservingOptions = [], context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String, context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String)
    func observeValue(forKeyPath keyPath: String?, of object: Any?, change change: [NSKeyValueChangeKey : Any]?, context context: UnsafeMutableRawPointer?)
    class var accessInstanceVariablesDirectly: Bool { get }
    func value(forKey key: String) -> Any?
    func setValue(_ value: Any?, forKey key: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKey inKey: String) throws
    func mutableArrayValue(forKey key: String) -> NSMutableArray
    func mutableOrderedSetValue(forKey key: String) -> NSMutableOrderedSet
    func mutableSetValue(forKey key: String) -> NSMutableSet
    func value(forKeyPath keyPath: String) -> Any?
    func setValue(_ value: Any?, forKeyPath keyPath: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKeyPath inKeyPath: String) throws
    func mutableArrayValue(forKeyPath keyPath: String) -> NSMutableArray
    func mutableOrderedSetValue(forKeyPath keyPath: String) -> NSMutableOrderedSet
    func mutableSetValue(forKeyPath keyPath: String) -> NSMutableSet
    func value(forUndefinedKey key: String) -> Any?
    func setValue(_ value: Any?, forUndefinedKey key: String)
    func setNilValueForKey(_ key: String)
    func dictionaryWithValues(forKeys keys: [String]) -> [String : Any]
    func setValuesForKeys(_ keyedValues: [String : Any])
    func fileManager(_ fm: FileManager, shouldProceedAfterError errorInfo: [AnyHashable : Any]) -> Bool
    func fileManager(_ fm: FileManager, willProcessPath path: String)
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval, inModes modes: [RunLoopMode])
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any, selector aSelector: Selector, object anArgument: Any?)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int, delegate delegate: Any?, didRecoverSelector didRecoverSelector: Selector?, contextInfo contextInfo: UnsafeMutableRawPointer?)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int) -> Bool
    var autoContentAccessingProxy: Any { get }
    class func version() -> Int
    class func setVersion(_ aVersion: Int)
    var classForCoder: AnyClass { get }
    func awakeAfter(using aDecoder: NSCoder) -> Any?
    func provideImageData(_ data: UnsafeMutableRawPointer, bytesPerRow rowbytes: Int, origin x: Int, _ y: Int, size width: Int, _ height: Int, userInfo info: Any?)
}
extension SCNPhysicsShape {
    struct Option : RawRepresentable, Equatable, Hashable, Comparable {
        init(rawValue rawValue: String)
    }
    struct ShapeType : RawRepresentable, Equatable, Hashable, Comparable {
        init(rawValue rawValue: String)
    }
}
extension SCNPhysicsShape : CVarArg {
}
extension SCNPhysicsShape : Equatable, Hashable {
    var hashValue: Int { get }
}
CVarArg, Equatable, Hashable, NSCopying, NSSecureCoding

Declaration
From
convenience init(geometry geometry: SCNGeometry, options options: [String : AnyObject]?)
To
convenience init(geometry geometry: SCNGeometry, options options: [SCNPhysicsShape.Option : Any]? = nil)

Declaration
From
convenience init(node node: SCNNode, options options: [String : AnyObject]?)
To
convenience init(node node: SCNNode, options options: [SCNPhysicsShape.Option : Any]? = nil)

Declaration
From
var options: [String : AnyObject]? { get }
To
var options: [SCNPhysicsShape.Option : Any]? { get }

Declaration
From
var sourceObject: AnyObject { get }
To
var sourceObject: Any { get }

NameDeclaration
FromSCNPhysicsShapeKeepAsCompoundKey
let SCNPhysicsShapeKeepAsCompoundKey: String
TokeepAsCompound
static let keepAsCompound: SCNPhysicsShape.Option

NameDeclaration
FromSCNPhysicsShapeScaleKey
let SCNPhysicsShapeScaleKey: String
Toscale
static let scale: SCNPhysicsShape.Option

NameDeclaration
FromSCNPhysicsShapeTypeKey
let SCNPhysicsShapeTypeKey: String
Totype
static let type: SCNPhysicsShape.Option

NameDeclaration
FromSCNPhysicsShapeTypeBoundingBox
let SCNPhysicsShapeTypeBoundingBox: String
ToboundingBox
static let boundingBox: SCNPhysicsShape.ShapeType

NameDeclaration
FromSCNPhysicsShapeTypeConcavePolyhedron
let SCNPhysicsShapeTypeConcavePolyhedron: String
ToconcavePolyhedron
static let concavePolyhedron: SCNPhysicsShape.ShapeType

NameDeclaration
FromSCNPhysicsShapeTypeConvexHull
let SCNPhysicsShapeTypeConvexHull: String
ToconvexHull
static let convexHull: SCNPhysicsShape.ShapeType

Declaration
From
class SCNPhysicsSliderJoint : SCNPhysicsBehavior {
    convenience init(bodyA bodyA: SCNPhysicsBody, axisA axisA: SCNVector3, anchorA anchorA: SCNVector3, bodyB bodyB: SCNPhysicsBody, axisB axisB: SCNVector3, anchorB anchorB: SCNVector3)
    class func jointWithBodyA(_ bodyA: SCNPhysicsBody, axisA axisA: SCNVector3, anchorA anchorA: SCNVector3, bodyB bodyB: SCNPhysicsBody, axisB axisB: SCNVector3, anchorB anchorB: SCNVector3) -> Self
    convenience init(body body: SCNPhysicsBody, axis axis: SCNVector3, anchor anchor: SCNVector3)
    class func jointWithBody(_ body: SCNPhysicsBody, axis axis: SCNVector3, anchor anchor: SCNVector3) -> Self
    var bodyA: SCNPhysicsBody { get }
    var axisA: SCNVector3
    var anchorA: SCNVector3
    var bodyB: SCNPhysicsBody? { get }
    var axisB: SCNVector3
    var anchorB: SCNVector3
    var minimumLinearLimit: CGFloat
    var maximumLinearLimit: CGFloat
    var minimumAngularLimit: CGFloat
    var maximumAngularLimit: CGFloat
    var motorTargetLinearVelocity: CGFloat
    var motorMaximumForce: CGFloat
    var motorTargetAngularVelocity: CGFloat
    var motorMaximumTorque: CGFloat
}
To
class SCNPhysicsSliderJoint : SCNPhysicsBehavior {
    convenience init(bodyA bodyA: SCNPhysicsBody, axisA axisA: SCNVector3, anchorA anchorA: SCNVector3, bodyB bodyB: SCNPhysicsBody, axisB axisB: SCNVector3, anchorB anchorB: SCNVector3)
    class func withBodyA(_ bodyA: SCNPhysicsBody, axisA axisA: SCNVector3, anchorA anchorA: SCNVector3, bodyB bodyB: SCNPhysicsBody, axisB axisB: SCNVector3, anchorB anchorB: SCNVector3) -> Self
    convenience init(body body: SCNPhysicsBody, axis axis: SCNVector3, anchor anchor: SCNVector3)
    class func withBody(_ body: SCNPhysicsBody, axis axis: SCNVector3, anchor anchor: SCNVector3) -> Self
    var bodyA: SCNPhysicsBody { get }
    var axisA: SCNVector3
    var anchorA: SCNVector3
    var bodyB: SCNPhysicsBody? { get }
    var axisB: SCNVector3
    var anchorB: SCNVector3
    var minimumLinearLimit: CGFloat
    var maximumLinearLimit: CGFloat
    var minimumAngularLimit: CGFloat
    var maximumAngularLimit: CGFloat
    var motorTargetLinearVelocity: CGFloat
    var motorMaximumForce: CGFloat
    var motorTargetAngularVelocity: CGFloat
    var motorMaximumTorque: CGFloat
}

Declaration
From
class SCNPhysicsVehicle : SCNPhysicsBehavior {
    convenience init(chassisBody chassisBody: SCNPhysicsBody, wheels wheels: [SCNPhysicsVehicleWheel])
    class func vehicleWithChassisBody(_ chassisBody: SCNPhysicsBody, wheels wheels: [SCNPhysicsVehicleWheel]) -> Self
    var speedInKilometersPerHour: CGFloat { get }
    var wheels: [SCNPhysicsVehicleWheel] { get }
    var chassisBody: SCNPhysicsBody { get }
    func applyEngineForce(_ value: CGFloat, forWheelAtIndex index: Int)
    func setSteeringAngle(_ value: CGFloat, forWheelAtIndex index: Int)
    func applyBrakingForce(_ value: CGFloat, forWheelAtIndex index: Int)
}
To
class SCNPhysicsVehicle : SCNPhysicsBehavior {
    convenience init(chassisBody chassisBody: SCNPhysicsBody, wheels wheels: [SCNPhysicsVehicleWheel])
    class func withChassisBody(_ chassisBody: SCNPhysicsBody, wheels wheels: [SCNPhysicsVehicleWheel]) -> Self
    var speedInKilometersPerHour: CGFloat { get }
    var wheels: [SCNPhysicsVehicleWheel] { get }
    var chassisBody: SCNPhysicsBody { get }
    func applyEngineForce(_ value: CGFloat, forWheelAt index: Int)
    func setSteeringAngle(_ value: CGFloat, forWheelAt index: Int)
    func applyBrakingForce(_ value: CGFloat, forWheelAt index: Int)
}

Declaration
From
func applyBrakingForce(_ value: CGFloat, forWheelAtIndex index: Int)
To
func applyBrakingForce(_ value: CGFloat, forWheelAt index: Int)

Declaration
From
func applyEngineForce(_ value: CGFloat, forWheelAtIndex index: Int)
To
func applyEngineForce(_ value: CGFloat, forWheelAt index: Int)

Declaration
From
func setSteeringAngle(_ value: CGFloat, forWheelAtIndex index: Int)
To
func setSteeringAngle(_ value: CGFloat, forWheelAt index: Int)

DeclarationProtocols
From
class SCNPhysicsVehicleWheel : NSObject, NSCopying, NSSecureCoding {
    convenience init(node node: SCNNode)
    class func wheelWithNode(_ node: SCNNode) -> Self
    var node: SCNNode { get }
    var suspensionStiffness: CGFloat
    var suspensionCompression: CGFloat
    var suspensionDamping: CGFloat
    var maximumSuspensionTravel: CGFloat
    var frictionSlip: CGFloat
    var maximumSuspensionForce: CGFloat
    var connectionPosition: SCNVector3
    var steeringAxis: SCNVector3
    var axle: SCNVector3
    var radius: CGFloat
    var suspensionRestLength: CGFloat
}
NSCopying, NSSecureCoding
To
class SCNPhysicsVehicleWheel : NSObject, NSCopying, NSSecureCoding {
    convenience init(node node: SCNNode)
    class func withNode(_ node: SCNNode) -> Self
    var node: SCNNode { get }
    var suspensionStiffness: CGFloat
    var suspensionCompression: CGFloat
    var suspensionDamping: CGFloat
    var maximumSuspensionTravel: CGFloat
    var frictionSlip: CGFloat
    var maximumSuspensionForce: CGFloat
    var connectionPosition: SCNVector3
    var steeringAxis: SCNVector3
    var axle: SCNVector3
    var radius: CGFloat
    var suspensionRestLength: CGFloat
    func awakeFromNib()
    func prepareForInterfaceBuilder()
    func accessibilityActivate() -> Bool
    func accessibilityIncrement()
    func accessibilityDecrement()
    func accessibilityScroll(_ direction: UIAccessibilityScrollDirection) -> Bool
    func accessibilityPerformEscape() -> Bool
    func accessibilityPerformMagicTap() -> Bool
    var accessibilityCustomActions: [UIAccessibilityCustomAction]?
    func accessibilityElementDidBecomeFocused()
    func accessibilityElementDidLoseFocus()
    func accessibilityElementIsFocused() -> Bool
    func accessibilityAssistiveTechnologyFocusedIdentifiers() -> Set<String>?
    func accessibilityElementCount() -> Int
    func accessibilityElement(at index: Int) -> Any?
    func index(ofAccessibilityElement element: Any) -> Int
    var accessibilityElements: [Any]?
    var isAccessibilityElement: Bool
    var accessibilityLabel: String?
    var accessibilityHint: String?
    var accessibilityValue: String?
    var accessibilityTraits: UIAccessibilityTraits
    var accessibilityFrame: CGRect
    @NSCopying var accessibilityPath: UIBezierPath?
    var accessibilityActivationPoint: CGPoint
    var accessibilityLanguage: String?
    var accessibilityElementsHidden: Bool
    var accessibilityViewIsModal: Bool
    var shouldGroupAccessibilityChildren: Bool
    var accessibilityNavigationStyle: UIAccessibilityNavigationStyle
    var accessibilityHeaderElements: [Any]?
    var accessibilityCustomRotors: [UIAccessibilityCustomRotor]?
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool)
    func performSelector(inBackground aSelector: Selector, with arg: Any?)
    class func classForKeyedUnarchiver() -> AnyClass
    var classForKeyedArchiver: AnyClass? { get }
    func replacementObject(for archiver: NSKeyedArchiver) -> Any?
    class func classFallbacksForKeyedArchiver() -> [String]
    class func keyPathsForValuesAffectingValue(forKey key: String) -> Set<String>
    class func automaticallyNotifiesObservers(forKey key: String) -> Bool
    var observationInfo: UnsafeMutableRawPointer?
    func willChangeValue(forKey key: String)
    func didChangeValue(forKey key: String)
    func willChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func didChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func willChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func didChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func addObserver(_ observer: NSObject, forKeyPath keyPath: String, options options: NSKeyValueObservingOptions = [], context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String, context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String)
    func observeValue(forKeyPath keyPath: String?, of object: Any?, change change: [NSKeyValueChangeKey : Any]?, context context: UnsafeMutableRawPointer?)
    class var accessInstanceVariablesDirectly: Bool { get }
    func value(forKey key: String) -> Any?
    func setValue(_ value: Any?, forKey key: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKey inKey: String) throws
    func mutableArrayValue(forKey key: String) -> NSMutableArray
    func mutableOrderedSetValue(forKey key: String) -> NSMutableOrderedSet
    func mutableSetValue(forKey key: String) -> NSMutableSet
    func value(forKeyPath keyPath: String) -> Any?
    func setValue(_ value: Any?, forKeyPath keyPath: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKeyPath inKeyPath: String) throws
    func mutableArrayValue(forKeyPath keyPath: String) -> NSMutableArray
    func mutableOrderedSetValue(forKeyPath keyPath: String) -> NSMutableOrderedSet
    func mutableSetValue(forKeyPath keyPath: String) -> NSMutableSet
    func value(forUndefinedKey key: String) -> Any?
    func setValue(_ value: Any?, forUndefinedKey key: String)
    func setNilValueForKey(_ key: String)
    func dictionaryWithValues(forKeys keys: [String]) -> [String : Any]
    func setValuesForKeys(_ keyedValues: [String : Any])
    func fileManager(_ fm: FileManager, shouldProceedAfterError errorInfo: [AnyHashable : Any]) -> Bool
    func fileManager(_ fm: FileManager, willProcessPath path: String)
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval, inModes modes: [RunLoopMode])
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any, selector aSelector: Selector, object anArgument: Any?)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int, delegate delegate: Any?, didRecoverSelector didRecoverSelector: Selector?, contextInfo contextInfo: UnsafeMutableRawPointer?)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int) -> Bool
    var autoContentAccessingProxy: Any { get }
    class func version() -> Int
    class func setVersion(_ aVersion: Int)
    var classForCoder: AnyClass { get }
    func awakeAfter(using aDecoder: NSCoder) -> Any?
    func provideImageData(_ data: UnsafeMutableRawPointer, bytesPerRow rowbytes: Int, origin x: Int, _ y: Int, size width: Int, _ height: Int, userInfo info: Any?)
}
extension SCNPhysicsVehicleWheel : CVarArg {
}
extension SCNPhysicsVehicleWheel : Equatable, Hashable {
    var hashValue: Int { get }
}
CVarArg, Equatable, Hashable, NSCopying, NSSecureCoding

DeclarationProtocols
From
class SCNPhysicsWorld : NSObject, NSSecureCoding {
    var gravity: SCNVector3
    var speed: CGFloat
    var timeStep: NSTimeInterval
    unowned(unsafe) var contactDelegate: SCNPhysicsContactDelegate?
    func addBehavior(_ behavior: SCNPhysicsBehavior)
    func removeBehavior(_ behavior: SCNPhysicsBehavior)
    func removeAllBehaviors()
    var allBehaviors: [SCNPhysicsBehavior] { get }
    func rayTestWithSegmentFromPoint(_ origin: SCNVector3, toPoint dest: SCNVector3, options options: [String : AnyObject]?) -> [SCNHitTestResult]
    func contactTestBetweenBody(_ bodyA: SCNPhysicsBody, andBody bodyB: SCNPhysicsBody, options options: [String : AnyObject]?) -> [SCNPhysicsContact]
    func contactTestWithBody(_ body: SCNPhysicsBody, options options: [String : AnyObject]?) -> [SCNPhysicsContact]
    func convexSweepTestWithShape(_ shape: SCNPhysicsShape, fromTransform from: SCNMatrix4, toTransform to: SCNMatrix4, options options: [String : AnyObject]?) -> [SCNPhysicsContact]
    func updateCollisionPairs()
}
NSSecureCoding
To
class SCNPhysicsWorld : NSObject, NSSecureCoding {
    var gravity: SCNVector3
    var speed: CGFloat
    var timeStep: TimeInterval
    unowned(unsafe) var contactDelegate: SCNPhysicsContactDelegate?
    func addBehavior(_ behavior: SCNPhysicsBehavior)
    func removeBehavior(_ behavior: SCNPhysicsBehavior)
    func removeAllBehaviors()
    var allBehaviors: [SCNPhysicsBehavior] { get }
    func rayTestWithSegment(from origin: SCNVector3, to dest: SCNVector3, options options: [SCNPhysicsWorld.TestOption : Any]? = nil) -> [SCNHitTestResult]
    func contactTestBetween(_ bodyA: SCNPhysicsBody, _ bodyB: SCNPhysicsBody, options options: [SCNPhysicsWorld.TestOption : Any]? = nil) -> [SCNPhysicsContact]
    func contactTest(with body: SCNPhysicsBody, options options: [SCNPhysicsWorld.TestOption : Any]? = nil) -> [SCNPhysicsContact]
    func convexSweepTest(with shape: SCNPhysicsShape, from from: SCNMatrix4, to to: SCNMatrix4, options options: [SCNPhysicsWorld.TestOption : Any]? = nil) -> [SCNPhysicsContact]
    func updateCollisionPairs()
    struct TestOption : RawRepresentable, Equatable, Hashable, Comparable {
        init(rawValue rawValue: String)
    }
    struct TestSearchMode : RawRepresentable, Equatable, Hashable, Comparable {
        init(rawValue rawValue: String)
    }
    func awakeFromNib()
    func prepareForInterfaceBuilder()
    func accessibilityActivate() -> Bool
    func accessibilityIncrement()
    func accessibilityDecrement()
    func accessibilityScroll(_ direction: UIAccessibilityScrollDirection) -> Bool
    func accessibilityPerformEscape() -> Bool
    func accessibilityPerformMagicTap() -> Bool
    var accessibilityCustomActions: [UIAccessibilityCustomAction]?
    func accessibilityElementDidBecomeFocused()
    func accessibilityElementDidLoseFocus()
    func accessibilityElementIsFocused() -> Bool
    func accessibilityAssistiveTechnologyFocusedIdentifiers() -> Set<String>?
    func accessibilityElementCount() -> Int
    func accessibilityElement(at index: Int) -> Any?
    func index(ofAccessibilityElement element: Any) -> Int
    var accessibilityElements: [Any]?
    var isAccessibilityElement: Bool
    var accessibilityLabel: String?
    var accessibilityHint: String?
    var accessibilityValue: String?
    var accessibilityTraits: UIAccessibilityTraits
    var accessibilityFrame: CGRect
    @NSCopying var accessibilityPath: UIBezierPath?
    var accessibilityActivationPoint: CGPoint
    var accessibilityLanguage: String?
    var accessibilityElementsHidden: Bool
    var accessibilityViewIsModal: Bool
    var shouldGroupAccessibilityChildren: Bool
    var accessibilityNavigationStyle: UIAccessibilityNavigationStyle
    var accessibilityHeaderElements: [Any]?
    var accessibilityCustomRotors: [UIAccessibilityCustomRotor]?
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool)
    func performSelector(inBackground aSelector: Selector, with arg: Any?)
    class func classForKeyedUnarchiver() -> AnyClass
    var classForKeyedArchiver: AnyClass? { get }
    func replacementObject(for archiver: NSKeyedArchiver) -> Any?
    class func classFallbacksForKeyedArchiver() -> [String]
    class func keyPathsForValuesAffectingValue(forKey key: String) -> Set<String>
    class func automaticallyNotifiesObservers(forKey key: String) -> Bool
    var observationInfo: UnsafeMutableRawPointer?
    func willChangeValue(forKey key: String)
    func didChangeValue(forKey key: String)
    func willChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func didChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func willChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func didChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func addObserver(_ observer: NSObject, forKeyPath keyPath: String, options options: NSKeyValueObservingOptions = [], context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String, context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String)
    func observeValue(forKeyPath keyPath: String?, of object: Any?, change change: [NSKeyValueChangeKey : Any]?, context context: UnsafeMutableRawPointer?)
    class var accessInstanceVariablesDirectly: Bool { get }
    func value(forKey key: String) -> Any?
    func setValue(_ value: Any?, forKey key: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKey inKey: String) throws
    func mutableArrayValue(forKey key: String) -> NSMutableArray
    func mutableOrderedSetValue(forKey key: String) -> NSMutableOrderedSet
    func mutableSetValue(forKey key: String) -> NSMutableSet
    func value(forKeyPath keyPath: String) -> Any?
    func setValue(_ value: Any?, forKeyPath keyPath: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKeyPath inKeyPath: String) throws
    func mutableArrayValue(forKeyPath keyPath: String) -> NSMutableArray
    func mutableOrderedSetValue(forKeyPath keyPath: String) -> NSMutableOrderedSet
    func mutableSetValue(forKeyPath keyPath: String) -> NSMutableSet
    func value(forUndefinedKey key: String) -> Any?
    func setValue(_ value: Any?, forUndefinedKey key: String)
    func setNilValueForKey(_ key: String)
    func dictionaryWithValues(forKeys keys: [String]) -> [String : Any]
    func setValuesForKeys(_ keyedValues: [String : Any])
    func fileManager(_ fm: FileManager, shouldProceedAfterError errorInfo: [AnyHashable : Any]) -> Bool
    func fileManager(_ fm: FileManager, willProcessPath path: String)
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval, inModes modes: [RunLoopMode])
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any, selector aSelector: Selector, object anArgument: Any?)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int, delegate delegate: Any?, didRecoverSelector didRecoverSelector: Selector?, contextInfo contextInfo: UnsafeMutableRawPointer?)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int) -> Bool
    var autoContentAccessingProxy: Any { get }
    class func version() -> Int
    class func setVersion(_ aVersion: Int)
    var classForCoder: AnyClass { get }
    func awakeAfter(using aDecoder: NSCoder) -> Any?
    func provideImageData(_ data: UnsafeMutableRawPointer, bytesPerRow rowbytes: Int, origin x: Int, _ y: Int, size width: Int, _ height: Int, userInfo info: Any?)
}
extension SCNPhysicsWorld {
    struct TestOption : RawRepresentable, Equatable, Hashable, Comparable {
        init(rawValue rawValue: String)
    }
    struct TestSearchMode : RawRepresentable, Equatable, Hashable, Comparable {
        init(rawValue rawValue: String)
    }
}
extension SCNPhysicsWorld : CVarArg {
}
extension SCNPhysicsWorld : Equatable, Hashable {
    var hashValue: Int { get }
}
CVarArg, Equatable, Hashable, NSSecureCoding

Declaration
From
func contactTestWithBody(_ body: SCNPhysicsBody, options options: [String : AnyObject]?) -> [SCNPhysicsContact]
To
func contactTest(with body: SCNPhysicsBody, options options: [SCNPhysicsWorld.TestOption : Any]? = nil) -> [SCNPhysicsContact]

Declaration
From
func contactTestBetweenBody(_ bodyA: SCNPhysicsBody, andBody bodyB: SCNPhysicsBody, options options: [String : AnyObject]?) -> [SCNPhysicsContact]
To
func contactTestBetween(_ bodyA: SCNPhysicsBody, _ bodyB: SCNPhysicsBody, options options: [SCNPhysicsWorld.TestOption : Any]? = nil) -> [SCNPhysicsContact]

Declaration
From
func convexSweepTestWithShape(_ shape: SCNPhysicsShape, fromTransform from: SCNMatrix4, toTransform to: SCNMatrix4, options options: [String : AnyObject]?) -> [SCNPhysicsContact]
To
func convexSweepTest(with shape: SCNPhysicsShape, from from: SCNMatrix4, to to: SCNMatrix4, options options: [SCNPhysicsWorld.TestOption : Any]? = nil) -> [SCNPhysicsContact]

Declaration
From
func rayTestWithSegmentFromPoint(_ origin: SCNVector3, toPoint dest: SCNVector3, options options: [String : AnyObject]?) -> [SCNHitTestResult]
To
func rayTestWithSegment(from origin: SCNVector3, to dest: SCNVector3, options options: [SCNPhysicsWorld.TestOption : Any]? = nil) -> [SCNHitTestResult]

Declaration
From
var timeStep: NSTimeInterval
To
var timeStep: TimeInterval

NameDeclaration
FromSCNPhysicsTestBackfaceCullingKey
let SCNPhysicsTestBackfaceCullingKey: String
TobackfaceCulling
static let backfaceCulling: SCNPhysicsWorld.TestOption

NameDeclaration
FromSCNPhysicsTestCollisionBitMaskKey
let SCNPhysicsTestCollisionBitMaskKey: String
TocollisionBitMask
static let collisionBitMask: SCNPhysicsWorld.TestOption

NameDeclaration
FromSCNPhysicsTestSearchModeKey
let SCNPhysicsTestSearchModeKey: String
TosearchMode
static let searchMode: SCNPhysicsWorld.TestOption

NameDeclaration
FromSCNPhysicsTestSearchModeAll
let SCNPhysicsTestSearchModeAll: String
Toall
static let all: SCNPhysicsWorld.TestSearchMode

NameDeclaration
FromSCNPhysicsTestSearchModeAny
let SCNPhysicsTestSearchModeAny: String
Toany
static let any: SCNPhysicsWorld.TestSearchMode

NameDeclaration
FromSCNPhysicsTestSearchModeClosest
let SCNPhysicsTestSearchModeClosest: String
Toclosest
static let closest: SCNPhysicsWorld.TestSearchMode

Modified SCNPlane
DeclarationProtocols
From
class SCNPlane : SCNGeometry {
    convenience init(width width: CGFloat, height height: CGFloat)
    class func planeWithWidth(_ width: CGFloat, height height: CGFloat) -> Self
    var width: CGFloat
    var height: CGFloat
    var widthSegmentCount: Int
    var heightSegmentCount: Int
    var cornerRadius: CGFloat
    var cornerSegmentCount: Int
}
--
To
class SCNPlane : SCNGeometry {
    convenience init(width width: CGFloat, height height: CGFloat)
    class func withWidth(_ width: CGFloat, height height: CGFloat) -> Self
    var width: CGFloat
    var height: CGFloat
    var widthSegmentCount: Int
    var heightSegmentCount: Int
    var cornerRadius: CGFloat
    var cornerSegmentCount: Int
    convenience init(mdlMesh mdlMesh: MDLMesh)
    class func withMDLMesh(_ mdlMesh: MDLMesh) -> Self
    var boundingBox: (min: SCNVector3, max: SCNVector3)
    var boundingSphere: (center: SCNVector3, radius: Float) { get }
    func awakeFromNib()
    func prepareForInterfaceBuilder()
    func accessibilityActivate() -> Bool
    func accessibilityIncrement()
    func accessibilityDecrement()
    func accessibilityScroll(_ direction: UIAccessibilityScrollDirection) -> Bool
    func accessibilityPerformEscape() -> Bool
    func accessibilityPerformMagicTap() -> Bool
    var accessibilityCustomActions: [UIAccessibilityCustomAction]?
    func accessibilityElementDidBecomeFocused()
    func accessibilityElementDidLoseFocus()
    func accessibilityElementIsFocused() -> Bool
    func accessibilityAssistiveTechnologyFocusedIdentifiers() -> Set<String>?
    func accessibilityElementCount() -> Int
    func accessibilityElement(at index: Int) -> Any?
    func index(ofAccessibilityElement element: Any) -> Int
    var accessibilityElements: [Any]?
    var isAccessibilityElement: Bool
    var accessibilityLabel: String?
    var accessibilityHint: String?
    var accessibilityValue: String?
    var accessibilityTraits: UIAccessibilityTraits
    var accessibilityFrame: CGRect
    @NSCopying var accessibilityPath: UIBezierPath?
    var accessibilityActivationPoint: CGPoint
    var accessibilityLanguage: String?
    var accessibilityElementsHidden: Bool
    var accessibilityViewIsModal: Bool
    var shouldGroupAccessibilityChildren: Bool
    var accessibilityNavigationStyle: UIAccessibilityNavigationStyle
    var accessibilityHeaderElements: [Any]?
    var accessibilityCustomRotors: [UIAccessibilityCustomRotor]?
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool)
    func performSelector(inBackground aSelector: Selector, with arg: Any?)
    class func classForKeyedUnarchiver() -> AnyClass
    var classForKeyedArchiver: AnyClass? { get }
    func replacementObject(for archiver: NSKeyedArchiver) -> Any?
    class func classFallbacksForKeyedArchiver() -> [String]
    class func keyPathsForValuesAffectingValue(forKey key: String) -> Set<String>
    class func automaticallyNotifiesObservers(forKey key: String) -> Bool
    var observationInfo: UnsafeMutableRawPointer?
    func willChangeValue(forKey key: String)
    func didChangeValue(forKey key: String)
    func willChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func didChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func willChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func didChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func addObserver(_ observer: NSObject, forKeyPath keyPath: String, options options: NSKeyValueObservingOptions = [], context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String, context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String)
    func observeValue(forKeyPath keyPath: String?, of object: Any?, change change: [NSKeyValueChangeKey : Any]?, context context: UnsafeMutableRawPointer?)
    class var accessInstanceVariablesDirectly: Bool { get }
    func value(forKey key: String) -> Any?
    func setValue(_ value: Any?, forKey key: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKey inKey: String) throws
    func mutableArrayValue(forKey key: String) -> NSMutableArray
    func mutableOrderedSetValue(forKey key: String) -> NSMutableOrderedSet
    func mutableSetValue(forKey key: String) -> NSMutableSet
    func value(forKeyPath keyPath: String) -> Any?
    func setValue(_ value: Any?, forKeyPath keyPath: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKeyPath inKeyPath: String) throws
    func mutableArrayValue(forKeyPath keyPath: String) -> NSMutableArray
    func mutableOrderedSetValue(forKeyPath keyPath: String) -> NSMutableOrderedSet
    func mutableSetValue(forKeyPath keyPath: String) -> NSMutableSet
    func value(forUndefinedKey key: String) -> Any?
    func setValue(_ value: Any?, forUndefinedKey key: String)
    func setNilValueForKey(_ key: String)
    func dictionaryWithValues(forKeys keys: [String]) -> [String : Any]
    func setValuesForKeys(_ keyedValues: [String : Any])
    func fileManager(_ fm: FileManager, shouldProceedAfterError errorInfo: [AnyHashable : Any]) -> Bool
    func fileManager(_ fm: FileManager, willProcessPath path: String)
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval, inModes modes: [RunLoopMode])
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any, selector aSelector: Selector, object anArgument: Any?)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int, delegate delegate: Any?, didRecoverSelector didRecoverSelector: Selector?, contextInfo contextInfo: UnsafeMutableRawPointer?)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int) -> Bool
    var autoContentAccessingProxy: Any { get }
    class func version() -> Int
    class func setVersion(_ aVersion: Int)
    var classForCoder: AnyClass { get }
    func awakeAfter(using aDecoder: NSCoder) -> Any?
    func provideImageData(_ data: UnsafeMutableRawPointer, bytesPerRow rowbytes: Int, origin x: Int, _ y: Int, size width: Int, _ height: Int, userInfo info: Any?)
}
extension SCNPlane : CVarArg {
}
extension SCNPlane : Equatable, Hashable {
    var hashValue: Int { get }
}
CVarArg, Equatable, Hashable

Modified SCNProgram
DeclarationProtocols
From
class SCNProgram : NSObject, NSCopying, NSSecureCoding {
    convenience init()
    class func program() -> Self
    var vertexShader: String?
    var fragmentShader: String?
    var vertexFunctionName: String?
    var fragmentFunctionName: String?
    func handleBindingOfBufferNamed(_ name: String, frequency frequency: SCNBufferFrequency, usingBlock block: SCNBufferBindingBlock)
    var opaque: Bool
    func setSemantic(_ semantic: String?, forSymbol symbol: String, options options: [String : AnyObject]?)
    func semanticForSymbol(_ symbol: String) -> String?
    unowned(unsafe) var delegate: SCNProgramDelegate?
    var library: MTLLibrary?
}
NSCopying, NSSecureCoding
To
class SCNProgram : NSObject, NSCopying, NSSecureCoding {
    convenience init()
    class func program() -> Self
    var vertexShader: String?
    var fragmentShader: String?
    var vertexFunctionName: String?
    var fragmentFunctionName: String?
    func handleBinding(ofBufferNamed name: String, frequency frequency: SCNBufferFrequency, handler block: SceneKit.SCNBufferBindingBlock)
    var isOpaque: Bool
    func setSemantic(_ semantic: String?, forSymbol symbol: String, options options: [String : Any]? = nil)
    func semantic(forSymbol symbol: String) -> String?
    unowned(unsafe) var delegate: SCNProgramDelegate?
    var library: MTLLibrary?
    func awakeFromNib()
    func prepareForInterfaceBuilder()
    func accessibilityActivate() -> Bool
    func accessibilityIncrement()
    func accessibilityDecrement()
    func accessibilityScroll(_ direction: UIAccessibilityScrollDirection) -> Bool
    func accessibilityPerformEscape() -> Bool
    func accessibilityPerformMagicTap() -> Bool
    var accessibilityCustomActions: [UIAccessibilityCustomAction]?
    func accessibilityElementDidBecomeFocused()
    func accessibilityElementDidLoseFocus()
    func accessibilityElementIsFocused() -> Bool
    func accessibilityAssistiveTechnologyFocusedIdentifiers() -> Set<String>?
    func accessibilityElementCount() -> Int
    func accessibilityElement(at index: Int) -> Any?
    func index(ofAccessibilityElement element: Any) -> Int
    var accessibilityElements: [Any]?
    var isAccessibilityElement: Bool
    var accessibilityLabel: String?
    var accessibilityHint: String?
    var accessibilityValue: String?
    var accessibilityTraits: UIAccessibilityTraits
    var accessibilityFrame: CGRect
    @NSCopying var accessibilityPath: UIBezierPath?
    var accessibilityActivationPoint: CGPoint
    var accessibilityLanguage: String?
    var accessibilityElementsHidden: Bool
    var accessibilityViewIsModal: Bool
    var shouldGroupAccessibilityChildren: Bool
    var accessibilityNavigationStyle: UIAccessibilityNavigationStyle
    var accessibilityHeaderElements: [Any]?
    var accessibilityCustomRotors: [UIAccessibilityCustomRotor]?
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool)
    func performSelector(inBackground aSelector: Selector, with arg: Any?)
    class func classForKeyedUnarchiver() -> AnyClass
    var classForKeyedArchiver: AnyClass? { get }
    func replacementObject(for archiver: NSKeyedArchiver) -> Any?
    class func classFallbacksForKeyedArchiver() -> [String]
    class func keyPathsForValuesAffectingValue(forKey key: String) -> Set<String>
    class func automaticallyNotifiesObservers(forKey key: String) -> Bool
    var observationInfo: UnsafeMutableRawPointer?
    func willChangeValue(forKey key: String)
    func didChangeValue(forKey key: String)
    func willChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func didChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func willChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func didChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func addObserver(_ observer: NSObject, forKeyPath keyPath: String, options options: NSKeyValueObservingOptions = [], context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String, context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String)
    func observeValue(forKeyPath keyPath: String?, of object: Any?, change change: [NSKeyValueChangeKey : Any]?, context context: UnsafeMutableRawPointer?)
    class var accessInstanceVariablesDirectly: Bool { get }
    func value(forKey key: String) -> Any?
    func setValue(_ value: Any?, forKey key: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKey inKey: String) throws
    func mutableArrayValue(forKey key: String) -> NSMutableArray
    func mutableOrderedSetValue(forKey key: String) -> NSMutableOrderedSet
    func mutableSetValue(forKey key: String) -> NSMutableSet
    func value(forKeyPath keyPath: String) -> Any?
    func setValue(_ value: Any?, forKeyPath keyPath: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKeyPath inKeyPath: String) throws
    func mutableArrayValue(forKeyPath keyPath: String) -> NSMutableArray
    func mutableOrderedSetValue(forKeyPath keyPath: String) -> NSMutableOrderedSet
    func mutableSetValue(forKeyPath keyPath: String) -> NSMutableSet
    func value(forUndefinedKey key: String) -> Any?
    func setValue(_ value: Any?, forUndefinedKey key: String)
    func setNilValueForKey(_ key: String)
    func dictionaryWithValues(forKeys keys: [String]) -> [String : Any]
    func setValuesForKeys(_ keyedValues: [String : Any])
    func fileManager(_ fm: FileManager, shouldProceedAfterError errorInfo: [AnyHashable : Any]) -> Bool
    func fileManager(_ fm: FileManager, willProcessPath path: String)
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval, inModes modes: [RunLoopMode])
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any, selector aSelector: Selector, object anArgument: Any?)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int, delegate delegate: Any?, didRecoverSelector didRecoverSelector: Selector?, contextInfo contextInfo: UnsafeMutableRawPointer?)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int) -> Bool
    var autoContentAccessingProxy: Any { get }
    class func version() -> Int
    class func setVersion(_ aVersion: Int)
    var classForCoder: AnyClass { get }
    func awakeAfter(using aDecoder: NSCoder) -> Any?
    func provideImageData(_ data: UnsafeMutableRawPointer, bytesPerRow rowbytes: Int, origin x: Int, _ y: Int, size width: Int, _ height: Int, userInfo info: Any?)
}
extension SCNProgram : CVarArg {
}
extension SCNProgram : Equatable, Hashable {
    var hashValue: Int { get }
}
CVarArg, Equatable, Hashable, NSCopying, NSSecureCoding

Declaration
From
func handleBindingOfBufferNamed(_ name: String, frequency frequency: SCNBufferFrequency, usingBlock block: SCNBufferBindingBlock)
To
func handleBinding(ofBufferNamed name: String, frequency frequency: SCNBufferFrequency, handler block: SceneKit.SCNBufferBindingBlock)

Declaration
From
var opaque: Bool
To
var isOpaque: Bool

Declaration
From
func semanticForSymbol(_ symbol: String) -> String?
To
func semantic(forSymbol symbol: String) -> String?

Declaration
From
func setSemantic(_ semantic: String?, forSymbol symbol: String, options options: [String : AnyObject]?)
To
func setSemantic(_ semantic: String?, forSymbol symbol: String, options options: [String : Any]? = nil)

Declaration
From
protocol SCNProgramDelegate : NSObjectProtocol {
    optional func program(_ program: SCNProgram, handleError error: NSError)
    optional func programIsOpaque(_ program: SCNProgram) -> Bool
}
To
protocol SCNProgramDelegate : NSObjectProtocol {
    optional func program(_ program: SCNProgram, handleError error: Error)
    optional func programIsOpaque(_ program: SCNProgram) -> Bool
}

Declaration
From
optional func program(_ program: SCNProgram, handleError error: NSError)
To
optional func program(_ program: SCNProgram, handleError error: Error)

Modified SCNPyramid
DeclarationProtocols
From
class SCNPyramid : SCNGeometry {
    convenience init(width width: CGFloat, height height: CGFloat, length length: CGFloat)
    class func pyramidWithWidth(_ width: CGFloat, height height: CGFloat, length length: CGFloat) -> Self
    var width: CGFloat
    var height: CGFloat
    var length: CGFloat
    var widthSegmentCount: Int
    var heightSegmentCount: Int
    var lengthSegmentCount: Int
}
--
To
class SCNPyramid : SCNGeometry {
    convenience init(width width: CGFloat, height height: CGFloat, length length: CGFloat)
    class func withWidth(_ width: CGFloat, height height: CGFloat, length length: CGFloat) -> Self
    var width: CGFloat
    var height: CGFloat
    var length: CGFloat
    var widthSegmentCount: Int
    var heightSegmentCount: Int
    var lengthSegmentCount: Int
    convenience init(mdlMesh mdlMesh: MDLMesh)
    class func withMDLMesh(_ mdlMesh: MDLMesh) -> Self
    var boundingBox: (min: SCNVector3, max: SCNVector3)
    var boundingSphere: (center: SCNVector3, radius: Float) { get }
    func awakeFromNib()
    func prepareForInterfaceBuilder()
    func accessibilityActivate() -> Bool
    func accessibilityIncrement()
    func accessibilityDecrement()
    func accessibilityScroll(_ direction: UIAccessibilityScrollDirection) -> Bool
    func accessibilityPerformEscape() -> Bool
    func accessibilityPerformMagicTap() -> Bool
    var accessibilityCustomActions: [UIAccessibilityCustomAction]?
    func accessibilityElementDidBecomeFocused()
    func accessibilityElementDidLoseFocus()
    func accessibilityElementIsFocused() -> Bool
    func accessibilityAssistiveTechnologyFocusedIdentifiers() -> Set<String>?
    func accessibilityElementCount() -> Int
    func accessibilityElement(at index: Int) -> Any?
    func index(ofAccessibilityElement element: Any) -> Int
    var accessibilityElements: [Any]?
    var isAccessibilityElement: Bool
    var accessibilityLabel: String?
    var accessibilityHint: String?
    var accessibilityValue: String?
    var accessibilityTraits: UIAccessibilityTraits
    var accessibilityFrame: CGRect
    @NSCopying var accessibilityPath: UIBezierPath?
    var accessibilityActivationPoint: CGPoint
    var accessibilityLanguage: String?
    var accessibilityElementsHidden: Bool
    var accessibilityViewIsModal: Bool
    var shouldGroupAccessibilityChildren: Bool
    var accessibilityNavigationStyle: UIAccessibilityNavigationStyle
    var accessibilityHeaderElements: [Any]?
    var accessibilityCustomRotors: [UIAccessibilityCustomRotor]?
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool)
    func performSelector(inBackground aSelector: Selector, with arg: Any?)
    class func classForKeyedUnarchiver() -> AnyClass
    var classForKeyedArchiver: AnyClass? { get }
    func replacementObject(for archiver: NSKeyedArchiver) -> Any?
    class func classFallbacksForKeyedArchiver() -> [String]
    class func keyPathsForValuesAffectingValue(forKey key: String) -> Set<String>
    class func automaticallyNotifiesObservers(forKey key: String) -> Bool
    var observationInfo: UnsafeMutableRawPointer?
    func willChangeValue(forKey key: String)
    func didChangeValue(forKey key: String)
    func willChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func didChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func willChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func didChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func addObserver(_ observer: NSObject, forKeyPath keyPath: String, options options: NSKeyValueObservingOptions = [], context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String, context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String)
    func observeValue(forKeyPath keyPath: String?, of object: Any?, change change: [NSKeyValueChangeKey : Any]?, context context: UnsafeMutableRawPointer?)
    class var accessInstanceVariablesDirectly: Bool { get }
    func value(forKey key: String) -> Any?
    func setValue(_ value: Any?, forKey key: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKey inKey: String) throws
    func mutableArrayValue(forKey key: String) -> NSMutableArray
    func mutableOrderedSetValue(forKey key: String) -> NSMutableOrderedSet
    func mutableSetValue(forKey key: String) -> NSMutableSet
    func value(forKeyPath keyPath: String) -> Any?
    func setValue(_ value: Any?, forKeyPath keyPath: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKeyPath inKeyPath: String) throws
    func mutableArrayValue(forKeyPath keyPath: String) -> NSMutableArray
    func mutableOrderedSetValue(forKeyPath keyPath: String) -> NSMutableOrderedSet
    func mutableSetValue(forKeyPath keyPath: String) -> NSMutableSet
    func value(forUndefinedKey key: String) -> Any?
    func setValue(_ value: Any?, forUndefinedKey key: String)
    func setNilValueForKey(_ key: String)
    func dictionaryWithValues(forKeys keys: [String]) -> [String : Any]
    func setValuesForKeys(_ keyedValues: [String : Any])
    func fileManager(_ fm: FileManager, shouldProceedAfterError errorInfo: [AnyHashable : Any]) -> Bool
    func fileManager(_ fm: FileManager, willProcessPath path: String)
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval, inModes modes: [RunLoopMode])
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any, selector aSelector: Selector, object anArgument: Any?)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int, delegate delegate: Any?, didRecoverSelector didRecoverSelector: Selector?, contextInfo contextInfo: UnsafeMutableRawPointer?)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int) -> Bool
    var autoContentAccessingProxy: Any { get }
    class func version() -> Int
    class func setVersion(_ aVersion: Int)
    var classForCoder: AnyClass { get }
    func awakeAfter(using aDecoder: NSCoder) -> Any?
    func provideImageData(_ data: UnsafeMutableRawPointer, bytesPerRow rowbytes: Int, origin x: Int, _ y: Int, size width: Int, _ height: Int, userInfo info: Any?)
}
extension SCNPyramid : CVarArg {
}
extension SCNPyramid : Equatable, Hashable {
    var hashValue: Int { get }
}
CVarArg, Equatable, Hashable

Declaration
From
enum SCNReferenceLoadingPolicy : Int {
    case Immediate
    case OnDemand
}
To
enum SCNReferenceLoadingPolicy : Int {
    case immediate
    case onDemand
}

Declaration
From
case Immediate
To
case immediate

Declaration
From
case OnDemand
To
case onDemand

DeclarationProtocols
From
class SCNReferenceNode : SCNNode {
    init?(URL referenceURL: NSURL)
    init?(coder aDecoder: NSCoder)
    class func referenceNodeWithURL(_ referenceURL: NSURL) -> Self?
    @NSCopying var referenceURL: NSURL
    var loadingPolicy: SCNReferenceLoadingPolicy
    func load()
    func unload()
    var loaded: Bool { get }
}
--
To
class SCNReferenceNode : SCNNode {
    init?(url referenceURL: URL)
    init?(coder aDecoder: NSCoder)
    class func withURL(_ referenceURL: URL) -> Self?
    var referenceURL: URL
    var loadingPolicy: SCNReferenceLoadingPolicy
    func load()
    func unload()
    var isLoaded: Bool { get }
    func addAudioPlayer(_ player: SCNAudioPlayer)
    func removeAllAudioPlayers()
    func removeAudioPlayer(_ player: SCNAudioPlayer)
    var audioPlayers: [SCNAudioPlayer] { get }
    func addParticleSystem(_ system: SCNParticleSystem)
    func removeAllParticleSystems()
    func removeParticleSystem(_ system: SCNParticleSystem)
    var particleSystems: [SCNParticleSystem]? { get }
    convenience init(mdlObject mdlObject: MDLObject)
    class func withMDLObject(_ mdlObject: MDLObject) -> Self
    var boundingBox: (min: SCNVector3, max: SCNVector3)
    var boundingSphere: (center: SCNVector3, radius: Float) { get }
    func awakeFromNib()
    func prepareForInterfaceBuilder()
    func accessibilityActivate() -> Bool
    func accessibilityIncrement()
    func accessibilityDecrement()
    func accessibilityScroll(_ direction: UIAccessibilityScrollDirection) -> Bool
    func accessibilityPerformEscape() -> Bool
    func accessibilityPerformMagicTap() -> Bool
    var accessibilityCustomActions: [UIAccessibilityCustomAction]?
    func accessibilityElementDidBecomeFocused()
    func accessibilityElementDidLoseFocus()
    func accessibilityElementIsFocused() -> Bool
    func accessibilityAssistiveTechnologyFocusedIdentifiers() -> Set<String>?
    func accessibilityElementCount() -> Int
    func accessibilityElement(at index: Int) -> Any?
    func index(ofAccessibilityElement element: Any) -> Int
    var accessibilityElements: [Any]?
    var isAccessibilityElement: Bool
    var accessibilityLabel: String?
    var accessibilityHint: String?
    var accessibilityValue: String?
    var accessibilityTraits: UIAccessibilityTraits
    var accessibilityFrame: CGRect
    @NSCopying var accessibilityPath: UIBezierPath?
    var accessibilityActivationPoint: CGPoint
    var accessibilityLanguage: String?
    var accessibilityElementsHidden: Bool
    var accessibilityViewIsModal: Bool
    var shouldGroupAccessibilityChildren: Bool
    var accessibilityNavigationStyle: UIAccessibilityNavigationStyle
    var accessibilityHeaderElements: [Any]?
    var accessibilityCustomRotors: [UIAccessibilityCustomRotor]?
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool)
    func performSelector(inBackground aSelector: Selector, with arg: Any?)
    class func classForKeyedUnarchiver() -> AnyClass
    var classForKeyedArchiver: AnyClass? { get }
    func replacementObject(for archiver: NSKeyedArchiver) -> Any?
    class func classFallbacksForKeyedArchiver() -> [String]
    class func keyPathsForValuesAffectingValue(forKey key: String) -> Set<String>
    class func automaticallyNotifiesObservers(forKey key: String) -> Bool
    var observationInfo: UnsafeMutableRawPointer?
    func willChangeValue(forKey key: String)
    func didChangeValue(forKey key: String)
    func willChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func didChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func willChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func didChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func addObserver(_ observer: NSObject, forKeyPath keyPath: String, options options: NSKeyValueObservingOptions = [], context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String, context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String)
    func observeValue(forKeyPath keyPath: String?, of object: Any?, change change: [NSKeyValueChangeKey : Any]?, context context: UnsafeMutableRawPointer?)
    class var accessInstanceVariablesDirectly: Bool { get }
    func value(forKey key: String) -> Any?
    func setValue(_ value: Any?, forKey key: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKey inKey: String) throws
    func mutableArrayValue(forKey key: String) -> NSMutableArray
    func mutableOrderedSetValue(forKey key: String) -> NSMutableOrderedSet
    func mutableSetValue(forKey key: String) -> NSMutableSet
    func value(forKeyPath keyPath: String) -> Any?
    func setValue(_ value: Any?, forKeyPath keyPath: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKeyPath inKeyPath: String) throws
    func mutableArrayValue(forKeyPath keyPath: String) -> NSMutableArray
    func mutableOrderedSetValue(forKeyPath keyPath: String) -> NSMutableOrderedSet
    func mutableSetValue(forKeyPath keyPath: String) -> NSMutableSet
    func value(forUndefinedKey key: String) -> Any?
    func setValue(_ value: Any?, forUndefinedKey key: String)
    func setNilValueForKey(_ key: String)
    func dictionaryWithValues(forKeys keys: [String]) -> [String : Any]
    func setValuesForKeys(_ keyedValues: [String : Any])
    func fileManager(_ fm: FileManager, shouldProceedAfterError errorInfo: [AnyHashable : Any]) -> Bool
    func fileManager(_ fm: FileManager, willProcessPath path: String)
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval, inModes modes: [RunLoopMode])
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any, selector aSelector: Selector, object anArgument: Any?)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int, delegate delegate: Any?, didRecoverSelector didRecoverSelector: Selector?, contextInfo contextInfo: UnsafeMutableRawPointer?)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int) -> Bool
    var autoContentAccessingProxy: Any { get }
    class func version() -> Int
    class func setVersion(_ aVersion: Int)
    var classForCoder: AnyClass { get }
    func awakeAfter(using aDecoder: NSCoder) -> Any?
    func provideImageData(_ data: UnsafeMutableRawPointer, bytesPerRow rowbytes: Int, origin x: Int, _ y: Int, size width: Int, _ height: Int, userInfo info: Any?)
}
extension SCNReferenceNode : CVarArg {
}
extension SCNReferenceNode : Equatable, Hashable {
    var hashValue: Int { get }
}
CVarArg, Equatable, Hashable

Declaration
From
init?(URL referenceURL: NSURL)
To
init?(url referenceURL: URL)

Declaration
From
var loaded: Bool { get }
To
var isLoaded: Bool { get }

Declaration
From
@NSCopying var referenceURL: NSURL
To
var referenceURL: URL

Modified SCNRenderer
DeclarationProtocols
From
class SCNRenderer : NSObject, SCNSceneRenderer, SCNTechniqueSupport {
    convenience init(context context: EAGLContext, options options: [NSObject : AnyObject]?)
    class func rendererWithContext(_ context: EAGLContext, options options: [NSObject : AnyObject]?) -> Self
    convenience init(device device: MTLDevice?, options options: [NSObject : AnyObject]?)
    class func rendererWithDevice(_ device: MTLDevice?, options options: [NSObject : AnyObject]?) -> Self
    var scene: SCNScene?
    func renderAtTime(_ time: CFTimeInterval)
    func renderAtTime(_ time: CFTimeInterval, viewport viewport: CGRect, commandBuffer commandBuffer: MTLCommandBuffer, passDescriptor renderPassDescriptor: MTLRenderPassDescriptor)
    var nextFrameTime: CFTimeInterval { get }
    func render()
}
SCNSceneRenderer, SCNTechniqueSupport
To
class SCNRenderer : NSObject, SCNSceneRenderer, SCNTechniqueSupport {
    convenience init(context context: EAGLContext?, options options: [AnyHashable : Any]? = nil)
    class func withContext(_ context: EAGLContext?, options options: [AnyHashable : Any]? = nil) -> Self
    convenience init(device device: MTLDevice?, options options: [AnyHashable : Any]? = nil)
    class func withDevice(_ device: MTLDevice?, options options: [AnyHashable : Any]? = nil) -> Self
    var scene: SCNScene?
    func render(atTime time: CFTimeInterval)
    func snapshot(atTime time: CFTimeInterval, with size: CGSize, antialiasingMode antialiasingMode: SCNAntialiasingMode) -> UIImage
    func render(atTime time: CFTimeInterval, viewport viewport: CGRect, commandBuffer commandBuffer: MTLCommandBuffer, passDescriptor renderPassDescriptor: MTLRenderPassDescriptor)
    var nextFrameTime: CFTimeInterval { get }
    func render()
    func updateProbes(_ lightProbes: [SCNNode], atTime time: CFTimeInterval)
    func awakeFromNib()
    func prepareForInterfaceBuilder()
    func accessibilityActivate() -> Bool
    func accessibilityIncrement()
    func accessibilityDecrement()
    func accessibilityScroll(_ direction: UIAccessibilityScrollDirection) -> Bool
    func accessibilityPerformEscape() -> Bool
    func accessibilityPerformMagicTap() -> Bool
    var accessibilityCustomActions: [UIAccessibilityCustomAction]?
    func accessibilityElementDidBecomeFocused()
    func accessibilityElementDidLoseFocus()
    func accessibilityElementIsFocused() -> Bool
    func accessibilityAssistiveTechnologyFocusedIdentifiers() -> Set<String>?
    func accessibilityElementCount() -> Int
    func accessibilityElement(at index: Int) -> Any?
    func index(ofAccessibilityElement element: Any) -> Int
    var accessibilityElements: [Any]?
    var isAccessibilityElement: Bool
    var accessibilityLabel: String?
    var accessibilityHint: String?
    var accessibilityValue: String?
    var accessibilityTraits: UIAccessibilityTraits
    var accessibilityFrame: CGRect
    @NSCopying var accessibilityPath: UIBezierPath?
    var accessibilityActivationPoint: CGPoint
    var accessibilityLanguage: String?
    var accessibilityElementsHidden: Bool
    var accessibilityViewIsModal: Bool
    var shouldGroupAccessibilityChildren: Bool
    var accessibilityNavigationStyle: UIAccessibilityNavigationStyle
    var accessibilityHeaderElements: [Any]?
    var accessibilityCustomRotors: [UIAccessibilityCustomRotor]?
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool)
    func performSelector(inBackground aSelector: Selector, with arg: Any?)
    class func classForKeyedUnarchiver() -> AnyClass
    var classForKeyedArchiver: AnyClass? { get }
    func replacementObject(for archiver: NSKeyedArchiver) -> Any?
    class func classFallbacksForKeyedArchiver() -> [String]
    class func keyPathsForValuesAffectingValue(forKey key: String) -> Set<String>
    class func automaticallyNotifiesObservers(forKey key: String) -> Bool
    var observationInfo: UnsafeMutableRawPointer?
    func willChangeValue(forKey key: String)
    func didChangeValue(forKey key: String)
    func willChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func didChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func willChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func didChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func addObserver(_ observer: NSObject, forKeyPath keyPath: String, options options: NSKeyValueObservingOptions = [], context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String, context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String)
    func observeValue(forKeyPath keyPath: String?, of object: Any?, change change: [NSKeyValueChangeKey : Any]?, context context: UnsafeMutableRawPointer?)
    class var accessInstanceVariablesDirectly: Bool { get }
    func value(forKey key: String) -> Any?
    func setValue(_ value: Any?, forKey key: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKey inKey: String) throws
    func mutableArrayValue(forKey key: String) -> NSMutableArray
    func mutableOrderedSetValue(forKey key: String) -> NSMutableOrderedSet
    func mutableSetValue(forKey key: String) -> NSMutableSet
    func value(forKeyPath keyPath: String) -> Any?
    func setValue(_ value: Any?, forKeyPath keyPath: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKeyPath inKeyPath: String) throws
    func mutableArrayValue(forKeyPath keyPath: String) -> NSMutableArray
    func mutableOrderedSetValue(forKeyPath keyPath: String) -> NSMutableOrderedSet
    func mutableSetValue(forKeyPath keyPath: String) -> NSMutableSet
    func value(forUndefinedKey key: String) -> Any?
    func setValue(_ value: Any?, forUndefinedKey key: String)
    func setNilValueForKey(_ key: String)
    func dictionaryWithValues(forKeys keys: [String]) -> [String : Any]
    func setValuesForKeys(_ keyedValues: [String : Any])
    func fileManager(_ fm: FileManager, shouldProceedAfterError errorInfo: [AnyHashable : Any]) -> Bool
    func fileManager(_ fm: FileManager, willProcessPath path: String)
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval, inModes modes: [RunLoopMode])
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any, selector aSelector: Selector, object anArgument: Any?)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int, delegate delegate: Any?, didRecoverSelector didRecoverSelector: Selector?, contextInfo contextInfo: UnsafeMutableRawPointer?)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int) -> Bool
    var autoContentAccessingProxy: Any { get }
    class func version() -> Int
    class func setVersion(_ aVersion: Int)
    var classForCoder: AnyClass { get }
    func awakeAfter(using aDecoder: NSCoder) -> Any?
    func provideImageData(_ data: UnsafeMutableRawPointer, bytesPerRow rowbytes: Int, origin x: Int, _ y: Int, size width: Int, _ height: Int, userInfo info: Any?)
}
extension SCNRenderer : CVarArg {
}
extension SCNRenderer : Equatable, Hashable {
    var hashValue: Int { get }
}
CVarArg, Equatable, Hashable, SCNSceneRenderer, SCNTechniqueSupport

Declaration
From
convenience init(context context: EAGLContext, options options: [NSObject : AnyObject]?)
To
convenience init(context context: EAGLContext?, options options: [AnyHashable : Any]? = nil)

Declaration
From
convenience init(device device: MTLDevice?, options options: [NSObject : AnyObject]?)
To
convenience init(device device: MTLDevice?, options options: [AnyHashable : Any]? = nil)

Declaration
From
func renderAtTime(_ time: CFTimeInterval)
To
func render(atTime time: CFTimeInterval)

Declaration
From
func renderAtTime(_ time: CFTimeInterval, viewport viewport: CGRect, commandBuffer commandBuffer: MTLCommandBuffer, passDescriptor renderPassDescriptor: MTLRenderPassDescriptor)
To
func render(atTime time: CFTimeInterval, viewport viewport: CGRect, commandBuffer commandBuffer: MTLCommandBuffer, passDescriptor renderPassDescriptor: MTLRenderPassDescriptor)

Declaration
From
enum SCNRenderingAPI : UInt {
    case Metal
    case OpenGLES2
}
To
enum SCNRenderingAPI : UInt {
    case metal
    case openGLES2
}

Declaration
From
case Metal
To
case metal

Declaration
From
case OpenGLES2
To
case openGLES2

Modified SCNScene
DeclarationProtocols
From
class SCNScene : NSObject, NSSecureCoding {
    convenience init()
    class func scene() -> Self
    var rootNode: SCNNode { get }
    var physicsWorld: SCNPhysicsWorld { get }
    func attributeForKey(_ key: String) -> AnyObject?
    func setAttribute(_ attribute: AnyObject?, forKey key: String)
    var background: SCNMaterialProperty { get }
    convenience init?(named name: String)
    class func sceneNamed(_ name: String) -> Self?
    convenience init?(named name: String, inDirectory directory: String?, options options: [String : AnyObject]?)
    class func sceneNamed(_ name: String, inDirectory directory: String?, options options: [String : AnyObject]?) -> Self?
    convenience init(URL url: NSURL, options options: [String : AnyObject]?) throws
    class func sceneWithURL(_ url: NSURL, options options: [String : AnyObject]?) throws -> Self
    var fogStartDistance: CGFloat
    var fogEndDistance: CGFloat
    var fogDensityExponent: CGFloat
    var fogColor: AnyObject
    var paused: Bool
}
extension SCNScene {
    convenience init(MDLAsset mdlAsset: MDLAsset)
    class func sceneWithMDLAsset(_ mdlAsset: MDLAsset) -> Self
}
extension SCNScene {
    func addParticleSystem(_ system: SCNParticleSystem, withTransform transform: SCNMatrix4)
    func removeAllParticleSystems()
    func removeParticleSystem(_ system: SCNParticleSystem)
    var particleSystems: [SCNParticleSystem]? { get }
}
NSSecureCoding
To
class SCNScene : NSObject, NSSecureCoding {
    convenience init()
    class func scene() -> Self
    var rootNode: SCNNode { get }
    var physicsWorld: SCNPhysicsWorld { get }
    func attribute(forKey key: String) -> Any?
    func setAttribute(_ attribute: Any?, forKey key: String)
    var background: SCNMaterialProperty { get }
    var lightingEnvironment: SCNMaterialProperty { get }
    convenience init?(named name: String)
    class func sceneNamed(_ name: String) -> Self?
    convenience init?(named name: String, inDirectory directory: String?, options options: [SCNSceneSource.LoadingOption : Any]? = nil)
    class func sceneNamed(_ name: String, inDirectory directory: String?, options options: [SCNSceneSource.LoadingOption : Any]? = nil) -> Self?
    convenience init(url url: URL, options options: [SCNSceneSource.LoadingOption : Any]? = nil) throws
    class func withURL(_ url: URL, options options: [SCNSceneSource.LoadingOption : Any]? = nil) throws -> Self
    func write(to url: URL, options options: [String : Any]? = nil, delegate delegate: SCNSceneExportDelegate?, progressHandler progressHandler: SceneKit.SCNSceneExportProgressHandler? = nil) -> Bool
    var fogStartDistance: CGFloat
    var fogEndDistance: CGFloat
    var fogDensityExponent: CGFloat
    var fogColor: Any
    var isPaused: Bool
    func addParticleSystem(_ system: SCNParticleSystem, transform transform: SCNMatrix4)
    func removeAllParticleSystems()
    func removeParticleSystem(_ system: SCNParticleSystem)
    var particleSystems: [SCNParticleSystem]? { get }
    struct Attribute : RawRepresentable, Equatable, Hashable, Comparable {
        init(rawValue rawValue: String)
    }
    convenience init(mdlAsset mdlAsset: MDLAsset)
    class func withMDLAsset(_ mdlAsset: MDLAsset) -> Self
    func awakeFromNib()
    func prepareForInterfaceBuilder()
    func accessibilityActivate() -> Bool
    func accessibilityIncrement()
    func accessibilityDecrement()
    func accessibilityScroll(_ direction: UIAccessibilityScrollDirection) -> Bool
    func accessibilityPerformEscape() -> Bool
    func accessibilityPerformMagicTap() -> Bool
    var accessibilityCustomActions: [UIAccessibilityCustomAction]?
    func accessibilityElementDidBecomeFocused()
    func accessibilityElementDidLoseFocus()
    func accessibilityElementIsFocused() -> Bool
    func accessibilityAssistiveTechnologyFocusedIdentifiers() -> Set<String>?
    func accessibilityElementCount() -> Int
    func accessibilityElement(at index: Int) -> Any?
    func index(ofAccessibilityElement element: Any) -> Int
    var accessibilityElements: [Any]?
    var isAccessibilityElement: Bool
    var accessibilityLabel: String?
    var accessibilityHint: String?
    var accessibilityValue: String?
    var accessibilityTraits: UIAccessibilityTraits
    var accessibilityFrame: CGRect
    @NSCopying var accessibilityPath: UIBezierPath?
    var accessibilityActivationPoint: CGPoint
    var accessibilityLanguage: String?
    var accessibilityElementsHidden: Bool
    var accessibilityViewIsModal: Bool
    var shouldGroupAccessibilityChildren: Bool
    var accessibilityNavigationStyle: UIAccessibilityNavigationStyle
    var accessibilityHeaderElements: [Any]?
    var accessibilityCustomRotors: [UIAccessibilityCustomRotor]?
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool)
    func performSelector(inBackground aSelector: Selector, with arg: Any?)
    class func classForKeyedUnarchiver() -> AnyClass
    var classForKeyedArchiver: AnyClass? { get }
    func replacementObject(for archiver: NSKeyedArchiver) -> Any?
    class func classFallbacksForKeyedArchiver() -> [String]
    class func keyPathsForValuesAffectingValue(forKey key: String) -> Set<String>
    class func automaticallyNotifiesObservers(forKey key: String) -> Bool
    var observationInfo: UnsafeMutableRawPointer?
    func willChangeValue(forKey key: String)
    func didChangeValue(forKey key: String)
    func willChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func didChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func willChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func didChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func addObserver(_ observer: NSObject, forKeyPath keyPath: String, options options: NSKeyValueObservingOptions = [], context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String, context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String)
    func observeValue(forKeyPath keyPath: String?, of object: Any?, change change: [NSKeyValueChangeKey : Any]?, context context: UnsafeMutableRawPointer?)
    class var accessInstanceVariablesDirectly: Bool { get }
    func value(forKey key: String) -> Any?
    func setValue(_ value: Any?, forKey key: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKey inKey: String) throws
    func mutableArrayValue(forKey key: String) -> NSMutableArray
    func mutableOrderedSetValue(forKey key: String) -> NSMutableOrderedSet
    func mutableSetValue(forKey key: String) -> NSMutableSet
    func value(forKeyPath keyPath: String) -> Any?
    func setValue(_ value: Any?, forKeyPath keyPath: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKeyPath inKeyPath: String) throws
    func mutableArrayValue(forKeyPath keyPath: String) -> NSMutableArray
    func mutableOrderedSetValue(forKeyPath keyPath: String) -> NSMutableOrderedSet
    func mutableSetValue(forKeyPath keyPath: String) -> NSMutableSet
    func value(forUndefinedKey key: String) -> Any?
    func setValue(_ value: Any?, forUndefinedKey key: String)
    func setNilValueForKey(_ key: String)
    func dictionaryWithValues(forKeys keys: [String]) -> [String : Any]
    func setValuesForKeys(_ keyedValues: [String : Any])
    func fileManager(_ fm: FileManager, shouldProceedAfterError errorInfo: [AnyHashable : Any]) -> Bool
    func fileManager(_ fm: FileManager, willProcessPath path: String)
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval, inModes modes: [RunLoopMode])
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any, selector aSelector: Selector, object anArgument: Any?)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int, delegate delegate: Any?, didRecoverSelector didRecoverSelector: Selector?, contextInfo contextInfo: UnsafeMutableRawPointer?)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int) -> Bool
    var autoContentAccessingProxy: Any { get }
    class func version() -> Int
    class func setVersion(_ aVersion: Int)
    var classForCoder: AnyClass { get }
    func awakeAfter(using aDecoder: NSCoder) -> Any?
    func provideImageData(_ data: UnsafeMutableRawPointer, bytesPerRow rowbytes: Int, origin x: Int, _ y: Int, size width: Int, _ height: Int, userInfo info: Any?)
}
extension SCNScene {
    convenience init(mdlAsset mdlAsset: MDLAsset)
    class func withMDLAsset(_ mdlAsset: MDLAsset) -> Self
}
extension SCNScene {
    func addParticleSystem(_ system: SCNParticleSystem, transform transform: SCNMatrix4)
    func removeAllParticleSystems()
    func removeParticleSystem(_ system: SCNParticleSystem)
    var particleSystems: [SCNParticleSystem]? { get }
}
extension SCNScene {
    struct Attribute : RawRepresentable, Equatable, Hashable, Comparable {
        init(rawValue rawValue: String)
    }
}
extension SCNScene : CVarArg {
}
extension SCNScene : Equatable, Hashable {
    var hashValue: Int { get }
}
CVarArg, Equatable, Hashable, NSSecureCoding

Declaration
From
func addParticleSystem(_ system: SCNParticleSystem, withTransform transform: SCNMatrix4)
To
func addParticleSystem(_ system: SCNParticleSystem, transform transform: SCNMatrix4)

Declaration
From
func attributeForKey(_ key: String) -> AnyObject?
To
func attribute(forKey key: String) -> Any?

Declaration
From
var fogColor: AnyObject
To
var fogColor: Any

Declaration
From
convenience init(MDLAsset mdlAsset: MDLAsset)
To
convenience init(mdlAsset mdlAsset: MDLAsset)

Declaration
From
convenience init?(named name: String, inDirectory directory: String?, options options: [String : AnyObject]?)
To
convenience init?(named name: String, inDirectory directory: String?, options options: [SCNSceneSource.LoadingOption : Any]? = nil)

Declaration
From
convenience init(URL url: NSURL, options options: [String : AnyObject]?) throws
To
convenience init(url url: URL, options options: [SCNSceneSource.LoadingOption : Any]? = nil) throws

Declaration
From
var paused: Bool
To
var isPaused: Bool

Declaration
From
func setAttribute(_ attribute: AnyObject?, forKey key: String)
To
func setAttribute(_ attribute: Any?, forKey key: String)

NameDeclaration
FromSCNSceneEndTimeAttributeKey
let SCNSceneEndTimeAttributeKey: String
ToendTime
static let endTime: SCNScene.Attribute

NameDeclaration
FromSCNSceneFrameRateAttributeKey
let SCNSceneFrameRateAttributeKey: String
ToframeRate
static let frameRate: SCNScene.Attribute

NameDeclaration
FromSCNSceneStartTimeAttributeKey
let SCNSceneStartTimeAttributeKey: String
TostartTime
static let startTime: SCNScene.Attribute

NameDeclaration
FromSCNSceneUpAxisAttributeKey
let SCNSceneUpAxisAttributeKey: String
ToupAxis
static let upAxis: SCNScene.Attribute

Declaration
From
protocol SCNSceneRenderer : NSObjectProtocol {
    var scene: SCNScene? { get set }
    func presentScene(_ scene: SCNScene, withTransition transition: SKTransition, incomingPointOfView pointOfView: SCNNode?, completionHandler completionHandler: (() -> Void)?)
    var sceneTime: NSTimeInterval { get set }
    unowned(unsafe) var delegate: SCNSceneRendererDelegate? { get set }
    func hitTest(_ point: CGPoint, options options: [String : AnyObject]?) -> [SCNHitTestResult]
    func isNodeInsideFrustum(_ node: SCNNode, withPointOfView pointOfView: SCNNode) -> Bool
    func nodesInsideFrustumWithPointOfView(_ pointOfView: SCNNode) -> [SCNNode]
    func projectPoint(_ point: SCNVector3) -> SCNVector3
    func unprojectPoint(_ point: SCNVector3) -> SCNVector3
    var playing: Bool { get set }
    var loops: Bool { get set }
    var pointOfView: SCNNode? { get set }
    var autoenablesDefaultLighting: Bool { get set }
    var jitteringEnabled: Bool { get set }
    func prepareObject(_ object: AnyObject, shouldAbortBlock block: (() -> Bool)?) -> Bool
    func prepareObjects(_ objects: [AnyObject], withCompletionHandler completionHandler: ((Bool) -> Void)?)
    var showsStatistics: Bool { get set }
    var debugOptions: SCNDebugOptions { get set }
    var overlaySKScene: SKScene? { get set }
    var renderingAPI: SCNRenderingAPI { get }
    var context: UnsafeMutablePointer<Void> { get }
    var currentRenderCommandEncoder: MTLRenderCommandEncoder? { get }
    var device: MTLDevice? { get }
    var colorPixelFormat: MTLPixelFormat { get }
    var depthPixelFormat: MTLPixelFormat { get }
    var stencilPixelFormat: MTLPixelFormat { get }
    var commandQueue: MTLCommandQueue? { get }
    var audioEngine: AVAudioEngine { get }
    var audioEnvironmentNode: AVAudioEnvironmentNode { get }
    var audioListener: SCNNode? { get set }
}
To
protocol SCNSceneRenderer : NSObjectProtocol {
    var scene: SCNScene? { get set }
    func present(_ scene: SCNScene, with transition: SKTransition, incomingPointOfView pointOfView: SCNNode?, completionHandler completionHandler: (@escaping () -> Swift.Void)? = nil)
    var sceneTime: TimeInterval { get set }
    unowned(unsafe) var delegate: SCNSceneRendererDelegate? { get set }
    func hitTest(_ point: CGPoint, options options: [SCNHitTestOption : Any]? = nil) -> [SCNHitTestResult]
    func isNode(_ node: SCNNode, insideFrustumOf pointOfView: SCNNode) -> Bool
    func nodesInsideFrustum(of pointOfView: SCNNode) -> [SCNNode]
    func projectPoint(_ point: SCNVector3) -> SCNVector3
    func unprojectPoint(_ point: SCNVector3) -> SCNVector3
    var isPlaying: Bool { get set }
    var loops: Bool { get set }
    var pointOfView: SCNNode? { get set }
    var autoenablesDefaultLighting: Bool { get set }
    var isJitteringEnabled: Bool { get set }
    func prepare(_ object: Any, shouldAbortBlock block: (() -> Bool)? = nil) -> Bool
    func prepare(_ objects: [Any], completionHandler completionHandler: (@escaping (Bool) -> Swift.Void)? = nil)
    var showsStatistics: Bool { get set }
    var debugOptions: SCNDebugOptions { get set }
    var overlaySKScene: SKScene? { get set }
    var renderingAPI: SCNRenderingAPI { get }
    var context: UnsafeMutableRawPointer? { get }
    var currentRenderCommandEncoder: MTLRenderCommandEncoder? { get }
    var device: MTLDevice? { get }
    var colorPixelFormat: MTLPixelFormat { get }
    var depthPixelFormat: MTLPixelFormat { get }
    var stencilPixelFormat: MTLPixelFormat { get }
    var commandQueue: MTLCommandQueue? { get }
    var audioEngine: AVAudioEngine { get }
    var audioEnvironmentNode: AVAudioEnvironmentNode { get }
    var audioListener: SCNNode? { get set }
}

Declaration
From
var context: UnsafeMutablePointer<Void> { get }
To
var context: UnsafeMutableRawPointer? { get }

Declaration
From
func hitTest(_ point: CGPoint, options options: [String : AnyObject]?) -> [SCNHitTestResult]
To
func hitTest(_ point: CGPoint, options options: [SCNHitTestOption : Any]? = nil) -> [SCNHitTestResult]

Declaration
From
var jitteringEnabled: Bool { get set }
To
var isJitteringEnabled: Bool { get set }

Declaration
From
func isNodeInsideFrustum(_ node: SCNNode, withPointOfView pointOfView: SCNNode) -> Bool
To
func isNode(_ node: SCNNode, insideFrustumOf pointOfView: SCNNode) -> Bool

Declaration
From
var playing: Bool { get set }
To
var isPlaying: Bool { get set }

Declaration
From
func nodesInsideFrustumWithPointOfView(_ pointOfView: SCNNode) -> [SCNNode]
To
func nodesInsideFrustum(of pointOfView: SCNNode) -> [SCNNode]

Declaration
From
func prepareObjects(_ objects: [AnyObject], withCompletionHandler completionHandler: ((Bool) -> Void)?)
To
func prepare(_ objects: [Any], completionHandler completionHandler: (@escaping (Bool) -> Swift.Void)? = nil)

Declaration
From
func prepareObject(_ object: AnyObject, shouldAbortBlock block: (() -> Bool)?) -> Bool
To
func prepare(_ object: Any, shouldAbortBlock block: (() -> Bool)? = nil) -> Bool

Declaration
From
func presentScene(_ scene: SCNScene, withTransition transition: SKTransition, incomingPointOfView pointOfView: SCNNode?, completionHandler completionHandler: (() -> Void)?)
To
func present(_ scene: SCNScene, with transition: SKTransition, incomingPointOfView pointOfView: SCNNode?, completionHandler completionHandler: (@escaping () -> Swift.Void)? = nil)

Declaration
From
var sceneTime: NSTimeInterval { get set }
To
var sceneTime: TimeInterval { get set }

Declaration
From
protocol SCNSceneRendererDelegate : NSObjectProtocol {
    optional func renderer(_ renderer: SCNSceneRenderer, updateAtTime time: NSTimeInterval)
    optional func renderer(_ renderer: SCNSceneRenderer, didApplyAnimationsAtTime time: NSTimeInterval)
    optional func renderer(_ renderer: SCNSceneRenderer, didSimulatePhysicsAtTime time: NSTimeInterval)
    optional func renderer(_ renderer: SCNSceneRenderer, willRenderScene scene: SCNScene, atTime time: NSTimeInterval)
    optional func renderer(_ renderer: SCNSceneRenderer, didRenderScene scene: SCNScene, atTime time: NSTimeInterval)
}
To
protocol SCNSceneRendererDelegate : NSObjectProtocol {
    optional func renderer(_ renderer: SCNSceneRenderer, updateAtTime time: TimeInterval)
    optional func renderer(_ renderer: SCNSceneRenderer, didApplyAnimationsAtTime time: TimeInterval)
    optional func renderer(_ renderer: SCNSceneRenderer, didSimulatePhysicsAtTime time: TimeInterval)
    optional func renderer(_ renderer: SCNSceneRenderer, willRenderScene scene: SCNScene, atTime time: TimeInterval)
    optional func renderer(_ renderer: SCNSceneRenderer, didRenderScene scene: SCNScene, atTime time: TimeInterval)
}

Declaration
From
optional func renderer(_ renderer: SCNSceneRenderer, didApplyAnimationsAtTime time: NSTimeInterval)
To
optional func renderer(_ renderer: SCNSceneRenderer, didApplyAnimationsAtTime time: TimeInterval)

Declaration
From
optional func renderer(_ renderer: SCNSceneRenderer, didRenderScene scene: SCNScene, atTime time: NSTimeInterval)
To
optional func renderer(_ renderer: SCNSceneRenderer, didRenderScene scene: SCNScene, atTime time: TimeInterval)

Declaration
From
optional func renderer(_ renderer: SCNSceneRenderer, didSimulatePhysicsAtTime time: NSTimeInterval)
To
optional func renderer(_ renderer: SCNSceneRenderer, didSimulatePhysicsAtTime time: TimeInterval)

Declaration
From
optional func renderer(_ renderer: SCNSceneRenderer, updateAtTime time: NSTimeInterval)
To
optional func renderer(_ renderer: SCNSceneRenderer, updateAtTime time: TimeInterval)

Declaration
From
optional func renderer(_ renderer: SCNSceneRenderer, willRenderScene scene: SCNScene, atTime time: NSTimeInterval)
To
optional func renderer(_ renderer: SCNSceneRenderer, willRenderScene scene: SCNScene, atTime time: TimeInterval)

DeclarationProtocols
From
class SCNSceneSource : NSObject {
    convenience init?(URL url: NSURL, options options: [String : AnyObject]?)
    class func sceneSourceWithURL(_ url: NSURL, options options: [String : AnyObject]?) -> Self?
    convenience init?(data data: NSData, options options: [String : AnyObject]?)
    class func sceneSourceWithData(_ data: NSData, options options: [String : AnyObject]?) -> Self?
    init?(URL url: NSURL, options options: [String : AnyObject]?)
    init?(data data: NSData, options options: [String : AnyObject]?)
    var url: NSURL? { get }
    var data: NSData? { get }
    func sceneWithOptions(_ options: [String : AnyObject]?, statusHandler statusHandler: SCNSceneSourceStatusHandler?) -> SCNScene?
    func sceneWithOptions(_ options: [String : AnyObject]?) throws -> SCNScene
    func propertyForKey(_ key: String) -> AnyObject?
    func __entryWithIdentifier(_ uid: String, withClass entryClass: AnyClass) -> AnyObject?
    func identifiersOfEntriesWithClass(_ entryClass: AnyClass) -> [String]
    func entriesPassingTest(_ predicate: (AnyObject, String, UnsafeMutablePointer<ObjCBool>) -> Bool) -> [AnyObject]
}
extension SCNSceneSource {
    @warn_unused_result
    func entryWithIdentifier<T>(_ uid: String, withClass entryClass: T.Type) -> T?
}
extension SCNSceneSource {
    @warn_unused_result
    func entryWithIdentifier<T>(_ uid: String, withClass entryClass: T.Type) -> T?
}
--
To
class SCNSceneSource : NSObject {
    convenience init?(url url: URL, options options: [SCNSceneSource.LoadingOption : Any]? = nil)
    class func withURL(_ url: URL, options options: [SCNSceneSource.LoadingOption : Any]? = nil) -> Self?
    convenience init?(data data: Data, options options: [SCNSceneSource.LoadingOption : Any]? = nil)
    class func withData(_ data: Data, options options: [SCNSceneSource.LoadingOption : Any]? = nil) -> Self?
    init?(url url: URL, options options: [SCNSceneSource.LoadingOption : Any]? = nil)
    init?(data data: Data, options options: [SCNSceneSource.LoadingOption : Any]? = nil)
    var url: URL? { get }
    var data: Data? { get }
    func scene(options options: [SCNSceneSource.LoadingOption : Any]? = nil, statusHandler statusHandler: SceneKit.SCNSceneSourceStatusHandler? = nil) -> SCNScene?
    func scene(options options: [SCNSceneSource.LoadingOption : Any]? = nil) throws -> SCNScene
    func property(forKey key: String) -> Any?
    func __entry(withIdentifier uid: String, with entryClass: Swift.AnyClass) -> Any?
    func identifiersOfEntries(withClass entryClass: Swift.AnyClass) -> [String]
    func entries(passingTest predicate: (Any, String, UnsafeMutablePointer<ObjCBool>) -> Bool) -> [Any]
    func entryWithIdentifier<T>(_ uid: String, withClass entryClass: T.Type) -> T?
    struct LoadingOption : RawRepresentable, Equatable, Hashable, Comparable {
        init(rawValue rawValue: String)
    }
    struct AnimationImportPolicy : RawRepresentable, Equatable, Hashable, Comparable {
        init(rawValue rawValue: String)
    }
    func awakeFromNib()
    func prepareForInterfaceBuilder()
    func accessibilityActivate() -> Bool
    func accessibilityIncrement()
    func accessibilityDecrement()
    func accessibilityScroll(_ direction: UIAccessibilityScrollDirection) -> Bool
    func accessibilityPerformEscape() -> Bool
    func accessibilityPerformMagicTap() -> Bool
    var accessibilityCustomActions: [UIAccessibilityCustomAction]?
    func accessibilityElementDidBecomeFocused()
    func accessibilityElementDidLoseFocus()
    func accessibilityElementIsFocused() -> Bool
    func accessibilityAssistiveTechnologyFocusedIdentifiers() -> Set<String>?
    func accessibilityElementCount() -> Int
    func accessibilityElement(at index: Int) -> Any?
    func index(ofAccessibilityElement element: Any) -> Int
    var accessibilityElements: [Any]?
    var isAccessibilityElement: Bool
    var accessibilityLabel: String?
    var accessibilityHint: String?
    var accessibilityValue: String?
    var accessibilityTraits: UIAccessibilityTraits
    var accessibilityFrame: CGRect
    @NSCopying var accessibilityPath: UIBezierPath?
    var accessibilityActivationPoint: CGPoint
    var accessibilityLanguage: String?
    var accessibilityElementsHidden: Bool
    var accessibilityViewIsModal: Bool
    var shouldGroupAccessibilityChildren: Bool
    var accessibilityNavigationStyle: UIAccessibilityNavigationStyle
    var accessibilityHeaderElements: [Any]?
    var accessibilityCustomRotors: [UIAccessibilityCustomRotor]?
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool)
    func performSelector(inBackground aSelector: Selector, with arg: Any?)
    class func classForKeyedUnarchiver() -> AnyClass
    var classForKeyedArchiver: AnyClass? { get }
    func replacementObject(for archiver: NSKeyedArchiver) -> Any?
    class func classFallbacksForKeyedArchiver() -> [String]
    class func keyPathsForValuesAffectingValue(forKey key: String) -> Set<String>
    class func automaticallyNotifiesObservers(forKey key: String) -> Bool
    var observationInfo: UnsafeMutableRawPointer?
    func willChangeValue(forKey key: String)
    func didChangeValue(forKey key: String)
    func willChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func didChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func willChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func didChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func addObserver(_ observer: NSObject, forKeyPath keyPath: String, options options: NSKeyValueObservingOptions = [], context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String, context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String)
    func observeValue(forKeyPath keyPath: String?, of object: Any?, change change: [NSKeyValueChangeKey : Any]?, context context: UnsafeMutableRawPointer?)
    class var accessInstanceVariablesDirectly: Bool { get }
    func value(forKey key: String) -> Any?
    func setValue(_ value: Any?, forKey key: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKey inKey: String) throws
    func mutableArrayValue(forKey key: String) -> NSMutableArray
    func mutableOrderedSetValue(forKey key: String) -> NSMutableOrderedSet
    func mutableSetValue(forKey key: String) -> NSMutableSet
    func value(forKeyPath keyPath: String) -> Any?
    func setValue(_ value: Any?, forKeyPath keyPath: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKeyPath inKeyPath: String) throws
    func mutableArrayValue(forKeyPath keyPath: String) -> NSMutableArray
    func mutableOrderedSetValue(forKeyPath keyPath: String) -> NSMutableOrderedSet
    func mutableSetValue(forKeyPath keyPath: String) -> NSMutableSet
    func value(forUndefinedKey key: String) -> Any?
    func setValue(_ value: Any?, forUndefinedKey key: String)
    func setNilValueForKey(_ key: String)
    func dictionaryWithValues(forKeys keys: [String]) -> [String : Any]
    func setValuesForKeys(_ keyedValues: [String : Any])
    func fileManager(_ fm: FileManager, shouldProceedAfterError errorInfo: [AnyHashable : Any]) -> Bool
    func fileManager(_ fm: FileManager, willProcessPath path: String)
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval, inModes modes: [RunLoopMode])
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any, selector aSelector: Selector, object anArgument: Any?)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int, delegate delegate: Any?, didRecoverSelector didRecoverSelector: Selector?, contextInfo contextInfo: UnsafeMutableRawPointer?)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int) -> Bool
    var autoContentAccessingProxy: Any { get }
    class func version() -> Int
    class func setVersion(_ aVersion: Int)
    var classForCoder: AnyClass { get }
    func awakeAfter(using aDecoder: NSCoder) -> Any?
    func provideImageData(_ data: UnsafeMutableRawPointer, bytesPerRow rowbytes: Int, origin x: Int, _ y: Int, size width: Int, _ height: Int, userInfo info: Any?)
}
extension SCNSceneSource {
    struct LoadingOption : RawRepresentable, Equatable, Hashable, Comparable {
        init(rawValue rawValue: String)
    }
    struct AnimationImportPolicy : RawRepresentable, Equatable, Hashable, Comparable {
        init(rawValue rawValue: String)
    }
}
extension SCNSceneSource : CVarArg {
}
extension SCNSceneSource : Equatable, Hashable {
    var hashValue: Int { get }
}
extension SCNSceneSource {
    func entryWithIdentifier<T>(_ uid: String, withClass entryClass: T.Type) -> T?
}
CVarArg, Equatable, Hashable

Declaration
From
var data: NSData? { get }
To
var data: Data? { get }

Declaration
From
func entriesPassingTest(_ predicate: (AnyObject, String, UnsafeMutablePointer<ObjCBool>) -> Bool) -> [AnyObject]
To
func entries(passingTest predicate: (Any, String, UnsafeMutablePointer<ObjCBool>) -> Bool) -> [Any]

Modified SCNSceneSource.entryWithIdentifier<T>(_: String, withClass: T.Type) -> T?
Declaration
From
@warn_unused_result
    func entryWithIdentifier<T>(_ uid: String, withClass entryClass: T.Type) -> T?
To
func entryWithIdentifier<T>(_ uid: String, withClass entryClass: T.Type) -> T?

Declaration
From
func identifiersOfEntriesWithClass(_ entryClass: AnyClass) -> [String]
To
func identifiersOfEntries(withClass entryClass: Swift.AnyClass) -> [String]

Declaration
From
init?(data data: NSData, options options: [String : AnyObject]?)
To
init?(data data: Data, options options: [SCNSceneSource.LoadingOption : Any]? = nil)

Declaration
From
init?(URL url: NSURL, options options: [String : AnyObject]?)
To
init?(url url: URL, options options: [SCNSceneSource.LoadingOption : Any]? = nil)

Declaration
From
func propertyForKey(_ key: String) -> AnyObject?
To
func property(forKey key: String) -> Any?

Declaration
From
func sceneWithOptions(_ options: [String : AnyObject]?) throws -> SCNScene
To
func scene(options options: [SCNSceneSource.LoadingOption : Any]? = nil) throws -> SCNScene

Declaration
From
func sceneWithOptions(_ options: [String : AnyObject]?, statusHandler statusHandler: SCNSceneSourceStatusHandler?) -> SCNScene?
To
func scene(options options: [SCNSceneSource.LoadingOption : Any]? = nil, statusHandler statusHandler: SceneKit.SCNSceneSourceStatusHandler? = nil) -> SCNScene?

Declaration
From
var url: NSURL? { get }
To
var url: URL? { get }

NameDeclaration
FromSCNSceneSourceAnimationImportPolicyDoNotPlay
let SCNSceneSourceAnimationImportPolicyDoNotPlay: String
TodoNotPlay
static let doNotPlay: SCNSceneSource.AnimationImportPolicy

NameDeclaration
FromSCNSceneSourceAnimationImportPolicyPlay
let SCNSceneSourceAnimationImportPolicyPlay: String
Toplay
static let play: SCNSceneSource.AnimationImportPolicy

NameDeclaration
FromSCNSceneSourceAnimationImportPolicyPlayRepeatedly
let SCNSceneSourceAnimationImportPolicyPlayRepeatedly: String
ToplayRepeatedly
static let playRepeatedly: SCNSceneSource.AnimationImportPolicy

NameDeclaration
FromSCNSceneSourceAnimationImportPolicyPlayUsingSceneTimeBase
let SCNSceneSourceAnimationImportPolicyPlayUsingSceneTimeBase: String
ToplayUsingSceneTimeBase
static let playUsingSceneTimeBase: SCNSceneSource.AnimationImportPolicy

NameDeclaration
FromSCNSceneSourceAnimationImportPolicyKey
let SCNSceneSourceAnimationImportPolicyKey: String
ToanimationImportPolicy
static let animationImportPolicy: SCNSceneSource.LoadingOption

NameDeclaration
FromSCNSceneSourceAssetDirectoryURLsKey
let SCNSceneSourceAssetDirectoryURLsKey: String
ToassetDirectoryURLs
static let assetDirectoryURLs: SCNSceneSource.LoadingOption

NameDeclaration
FromSCNSceneSourceCheckConsistencyKey
let SCNSceneSourceCheckConsistencyKey: String
TocheckConsistency
static let checkConsistency: SCNSceneSource.LoadingOption

NameDeclaration
FromSCNSceneSourceCreateNormalsIfAbsentKey
let SCNSceneSourceCreateNormalsIfAbsentKey: String
TocreateNormalsIfAbsent
static let createNormalsIfAbsent: SCNSceneSource.LoadingOption

NameDeclaration
FromSCNSceneSourceFlattenSceneKey
let SCNSceneSourceFlattenSceneKey: String
ToflattenScene
static let flattenScene: SCNSceneSource.LoadingOption

NameDeclaration
FromSCNSceneSourceOverrideAssetURLsKey
let SCNSceneSourceOverrideAssetURLsKey: String
TooverrideAssetURLs
static let overrideAssetURLs: SCNSceneSource.LoadingOption

NameDeclaration
FromSCNSceneSourceStrictConformanceKey
let SCNSceneSourceStrictConformanceKey: String
TostrictConformance
static let strictConformance: SCNSceneSource.LoadingOption

NameDeclaration
FromSCNSceneSourceUseSafeModeKey
let SCNSceneSourceUseSafeModeKey: String
TouseSafeMode
static let useSafeMode: SCNSceneSource.LoadingOption

Declaration
From
enum SCNSceneSourceStatus : Int {
    case Error
    case Parsing
    case Validating
    case Processing
    case Complete
}
To
enum SCNSceneSourceStatus : Int {
    case error
    case parsing
    case validating
    case processing
    case complete
}

Declaration
From
case Complete
To
case complete

Declaration
From
case Error
To
case error

Declaration
From
case Parsing
To
case parsing

Declaration
From
case Processing
To
case processing

Declaration
From
case Validating
To
case validating

Modified SCNShadable
Declaration
From
protocol SCNShadable : NSObjectProtocol {
    optional var program: SCNProgram? { get set }
    optional func handleBindingOfSymbol(_ symbol: String, usingBlock block: SCNBindingBlock?)
    optional func handleUnbindingOfSymbol(_ symbol: String, usingBlock block: SCNBindingBlock?)
    optional var shaderModifiers: [String : String]? { get set }
}
To
protocol SCNShadable : NSObjectProtocol {
    optional var program: SCNProgram? { get set }
    optional func handleBinding(ofSymbol symbol: String, handler block: SceneKit.SCNBindingBlock? = nil)
    optional func handleUnbinding(ofSymbol symbol: String, handler block: SceneKit.SCNBindingBlock? = nil)
    optional var shaderModifiers: [SCNShaderModifierEntryPoint : String]? { get set }
}

Declaration
From
optional func handleBindingOfSymbol(_ symbol: String, usingBlock block: SCNBindingBlock?)
To
optional func handleBinding(ofSymbol symbol: String, handler block: SceneKit.SCNBindingBlock? = nil)

Declaration
From
optional func handleUnbindingOfSymbol(_ symbol: String, usingBlock block: SCNBindingBlock?)
To
optional func handleUnbinding(ofSymbol symbol: String, handler block: SceneKit.SCNBindingBlock? = nil)

Declaration
From
optional var shaderModifiers: [String : String]? { get set }
To
optional var shaderModifiers: [SCNShaderModifierEntryPoint : String]? { get set }

NameDeclaration
FromSCNShaderModifierEntryPointFragment
let SCNShaderModifierEntryPointFragment: String
Tofragment
static let fragment: SCNShaderModifierEntryPoint

NameDeclaration
FromSCNShaderModifierEntryPointGeometry
let SCNShaderModifierEntryPointGeometry: String
Togeometry
static let geometry: SCNShaderModifierEntryPoint

NameDeclaration
FromSCNShaderModifierEntryPointLightingModel
let SCNShaderModifierEntryPointLightingModel: String
TolightingModel
static let lightingModel: SCNShaderModifierEntryPoint

NameDeclaration
FromSCNShaderModifierEntryPointSurface
let SCNShaderModifierEntryPointSurface: String
Tosurface
static let surface: SCNShaderModifierEntryPoint

Declaration
From
enum SCNShadowMode : Int {
    case Forward
    case Deferred
    case Modulated
}
To
enum SCNShadowMode : Int {
    case forward
    case deferred
    case modulated
}

Declaration
From
case Deferred
To
case deferred

Declaration
From
case Forward
To
case forward

Declaration
From
case Modulated
To
case modulated

Modified SCNShape
DeclarationProtocols
From
class SCNShape : SCNGeometry {
    convenience init(path path: UIBezierPath?, extrusionDepth extrusionDepth: CGFloat)
    class func shapeWithPath(_ path: UIBezierPath?, extrusionDepth extrusionDepth: CGFloat) -> Self
    @NSCopying var path: UIBezierPath?
    var extrusionDepth: CGFloat
    var chamferMode: SCNChamferMode
    var chamferRadius: CGFloat
    @NSCopying var chamferProfile: UIBezierPath?
}
--
To
class SCNShape : SCNGeometry {
    convenience init(path path: UIBezierPath?, extrusionDepth extrusionDepth: CGFloat)
    class func withPath(_ path: UIBezierPath?, extrusionDepth extrusionDepth: CGFloat) -> Self
    @NSCopying var path: UIBezierPath?
    var extrusionDepth: CGFloat
    var chamferMode: SCNChamferMode
    var chamferRadius: CGFloat
    @NSCopying var chamferProfile: UIBezierPath?
    convenience init(mdlMesh mdlMesh: MDLMesh)
    class func withMDLMesh(_ mdlMesh: MDLMesh) -> Self
    var boundingBox: (min: SCNVector3, max: SCNVector3)
    var boundingSphere: (center: SCNVector3, radius: Float) { get }
    func awakeFromNib()
    func prepareForInterfaceBuilder()
    func accessibilityActivate() -> Bool
    func accessibilityIncrement()
    func accessibilityDecrement()
    func accessibilityScroll(_ direction: UIAccessibilityScrollDirection) -> Bool
    func accessibilityPerformEscape() -> Bool
    func accessibilityPerformMagicTap() -> Bool
    var accessibilityCustomActions: [UIAccessibilityCustomAction]?
    func accessibilityElementDidBecomeFocused()
    func accessibilityElementDidLoseFocus()
    func accessibilityElementIsFocused() -> Bool
    func accessibilityAssistiveTechnologyFocusedIdentifiers() -> Set<String>?
    func accessibilityElementCount() -> Int
    func accessibilityElement(at index: Int) -> Any?
    func index(ofAccessibilityElement element: Any) -> Int
    var accessibilityElements: [Any]?
    var isAccessibilityElement: Bool
    var accessibilityLabel: String?
    var accessibilityHint: String?
    var accessibilityValue: String?
    var accessibilityTraits: UIAccessibilityTraits
    var accessibilityFrame: CGRect
    @NSCopying var accessibilityPath: UIBezierPath?
    var accessibilityActivationPoint: CGPoint
    var accessibilityLanguage: String?
    var accessibilityElementsHidden: Bool
    var accessibilityViewIsModal: Bool
    var shouldGroupAccessibilityChildren: Bool
    var accessibilityNavigationStyle: UIAccessibilityNavigationStyle
    var accessibilityHeaderElements: [Any]?
    var accessibilityCustomRotors: [UIAccessibilityCustomRotor]?
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool)
    func performSelector(inBackground aSelector: Selector, with arg: Any?)
    class func classForKeyedUnarchiver() -> AnyClass
    var classForKeyedArchiver: AnyClass? { get }
    func replacementObject(for archiver: NSKeyedArchiver) -> Any?
    class func classFallbacksForKeyedArchiver() -> [String]
    class func keyPathsForValuesAffectingValue(forKey key: String) -> Set<String>
    class func automaticallyNotifiesObservers(forKey key: String) -> Bool
    var observationInfo: UnsafeMutableRawPointer?
    func willChangeValue(forKey key: String)
    func didChangeValue(forKey key: String)
    func willChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func didChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func willChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func didChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func addObserver(_ observer: NSObject, forKeyPath keyPath: String, options options: NSKeyValueObservingOptions = [], context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String, context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String)
    func observeValue(forKeyPath keyPath: String?, of object: Any?, change change: [NSKeyValueChangeKey : Any]?, context context: UnsafeMutableRawPointer?)
    class var accessInstanceVariablesDirectly: Bool { get }
    func value(forKey key: String) -> Any?
    func setValue(_ value: Any?, forKey key: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKey inKey: String) throws
    func mutableArrayValue(forKey key: String) -> NSMutableArray
    func mutableOrderedSetValue(forKey key: String) -> NSMutableOrderedSet
    func mutableSetValue(forKey key: String) -> NSMutableSet
    func value(forKeyPath keyPath: String) -> Any?
    func setValue(_ value: Any?, forKeyPath keyPath: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKeyPath inKeyPath: String) throws
    func mutableArrayValue(forKeyPath keyPath: String) -> NSMutableArray
    func mutableOrderedSetValue(forKeyPath keyPath: String) -> NSMutableOrderedSet
    func mutableSetValue(forKeyPath keyPath: String) -> NSMutableSet
    func value(forUndefinedKey key: String) -> Any?
    func setValue(_ value: Any?, forUndefinedKey key: String)
    func setNilValueForKey(_ key: String)
    func dictionaryWithValues(forKeys keys: [String]) -> [String : Any]
    func setValuesForKeys(_ keyedValues: [String : Any])
    func fileManager(_ fm: FileManager, shouldProceedAfterError errorInfo: [AnyHashable : Any]) -> Bool
    func fileManager(_ fm: FileManager, willProcessPath path: String)
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval, inModes modes: [RunLoopMode])
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any, selector aSelector: Selector, object anArgument: Any?)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int, delegate delegate: Any?, didRecoverSelector didRecoverSelector: Selector?, contextInfo contextInfo: UnsafeMutableRawPointer?)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int) -> Bool
    var autoContentAccessingProxy: Any { get }
    class func version() -> Int
    class func setVersion(_ aVersion: Int)
    var classForCoder: AnyClass { get }
    func awakeAfter(using aDecoder: NSCoder) -> Any?
    func provideImageData(_ data: UnsafeMutableRawPointer, bytesPerRow rowbytes: Int, origin x: Int, _ y: Int, size width: Int, _ height: Int, userInfo info: Any?)
}
extension SCNShape : CVarArg {
}
extension SCNShape : Equatable, Hashable {
    var hashValue: Int { get }
}
CVarArg, Equatable, Hashable

Modified SCNSkinner
DeclarationProtocols
From
class SCNSkinner : NSObject, NSSecureCoding {
    var skeleton: SCNNode?
    convenience init(baseGeometry baseGeometry: SCNGeometry?, bones bones: [SCNNode], boneInverseBindTransforms boneInverseBindTransforms: [NSValue]?, boneWeights boneWeights: SCNGeometrySource, boneIndices boneIndices: SCNGeometrySource)
    class func skinnerWithBaseGeometry(_ baseGeometry: SCNGeometry?, bones bones: [SCNNode], boneInverseBindTransforms boneInverseBindTransforms: [NSValue]?, boneWeights boneWeights: SCNGeometrySource, boneIndices boneIndices: SCNGeometrySource) -> Self
    var baseGeometry: SCNGeometry?
    var baseGeometryBindTransform: SCNMatrix4
    var boneInverseBindTransforms: [NSValue]? { get }
    var bones: [SCNNode] { get }
    var boneWeights: SCNGeometrySource { get }
    var boneIndices: SCNGeometrySource { get }
}
NSSecureCoding
To
class SCNSkinner : NSObject, NSSecureCoding {
    var skeleton: SCNNode?
    convenience init(baseGeometry baseGeometry: SCNGeometry?, bones bones: [SCNNode], boneInverseBindTransforms boneInverseBindTransforms: [NSValue]?, boneWeights boneWeights: SCNGeometrySource, boneIndices boneIndices: SCNGeometrySource)
    class func withBaseGeometry(_ baseGeometry: SCNGeometry?, bones bones: [SCNNode], boneInverseBindTransforms boneInverseBindTransforms: [NSValue]?, boneWeights boneWeights: SCNGeometrySource, boneIndices boneIndices: SCNGeometrySource) -> Self
    var baseGeometry: SCNGeometry?
    var baseGeometryBindTransform: SCNMatrix4
    var boneInverseBindTransforms: [NSValue]? { get }
    var bones: [SCNNode] { get }
    var boneWeights: SCNGeometrySource { get }
    var boneIndices: SCNGeometrySource { get }
    func awakeFromNib()
    func prepareForInterfaceBuilder()
    func accessibilityActivate() -> Bool
    func accessibilityIncrement()
    func accessibilityDecrement()
    func accessibilityScroll(_ direction: UIAccessibilityScrollDirection) -> Bool
    func accessibilityPerformEscape() -> Bool
    func accessibilityPerformMagicTap() -> Bool
    var accessibilityCustomActions: [UIAccessibilityCustomAction]?
    func accessibilityElementDidBecomeFocused()
    func accessibilityElementDidLoseFocus()
    func accessibilityElementIsFocused() -> Bool
    func accessibilityAssistiveTechnologyFocusedIdentifiers() -> Set<String>?
    func accessibilityElementCount() -> Int
    func accessibilityElement(at index: Int) -> Any?
    func index(ofAccessibilityElement element: Any) -> Int
    var accessibilityElements: [Any]?
    var isAccessibilityElement: Bool
    var accessibilityLabel: String?
    var accessibilityHint: String?
    var accessibilityValue: String?
    var accessibilityTraits: UIAccessibilityTraits
    var accessibilityFrame: CGRect
    @NSCopying var accessibilityPath: UIBezierPath?
    var accessibilityActivationPoint: CGPoint
    var accessibilityLanguage: String?
    var accessibilityElementsHidden: Bool
    var accessibilityViewIsModal: Bool
    var shouldGroupAccessibilityChildren: Bool
    var accessibilityNavigationStyle: UIAccessibilityNavigationStyle
    var accessibilityHeaderElements: [Any]?
    var accessibilityCustomRotors: [UIAccessibilityCustomRotor]?
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool)
    func performSelector(inBackground aSelector: Selector, with arg: Any?)
    class func classForKeyedUnarchiver() -> AnyClass
    var classForKeyedArchiver: AnyClass? { get }
    func replacementObject(for archiver: NSKeyedArchiver) -> Any?
    class func classFallbacksForKeyedArchiver() -> [String]
    class func keyPathsForValuesAffectingValue(forKey key: String) -> Set<String>
    class func automaticallyNotifiesObservers(forKey key: String) -> Bool
    var observationInfo: UnsafeMutableRawPointer?
    func willChangeValue(forKey key: String)
    func didChangeValue(forKey key: String)
    func willChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func didChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func willChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func didChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func addObserver(_ observer: NSObject, forKeyPath keyPath: String, options options: NSKeyValueObservingOptions = [], context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String, context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String)
    func observeValue(forKeyPath keyPath: String?, of object: Any?, change change: [NSKeyValueChangeKey : Any]?, context context: UnsafeMutableRawPointer?)
    class var accessInstanceVariablesDirectly: Bool { get }
    func value(forKey key: String) -> Any?
    func setValue(_ value: Any?, forKey key: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKey inKey: String) throws
    func mutableArrayValue(forKey key: String) -> NSMutableArray
    func mutableOrderedSetValue(forKey key: String) -> NSMutableOrderedSet
    func mutableSetValue(forKey key: String) -> NSMutableSet
    func value(forKeyPath keyPath: String) -> Any?
    func setValue(_ value: Any?, forKeyPath keyPath: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKeyPath inKeyPath: String) throws
    func mutableArrayValue(forKeyPath keyPath: String) -> NSMutableArray
    func mutableOrderedSetValue(forKeyPath keyPath: String) -> NSMutableOrderedSet
    func mutableSetValue(forKeyPath keyPath: String) -> NSMutableSet
    func value(forUndefinedKey key: String) -> Any?
    func setValue(_ value: Any?, forUndefinedKey key: String)
    func setNilValueForKey(_ key: String)
    func dictionaryWithValues(forKeys keys: [String]) -> [String : Any]
    func setValuesForKeys(_ keyedValues: [String : Any])
    func fileManager(_ fm: FileManager, shouldProceedAfterError errorInfo: [AnyHashable : Any]) -> Bool
    func fileManager(_ fm: FileManager, willProcessPath path: String)
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval, inModes modes: [RunLoopMode])
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any, selector aSelector: Selector, object anArgument: Any?)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int, delegate delegate: Any?, didRecoverSelector didRecoverSelector: Selector?, contextInfo contextInfo: UnsafeMutableRawPointer?)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int) -> Bool
    var autoContentAccessingProxy: Any { get }
    class func version() -> Int
    class func setVersion(_ aVersion: Int)
    var classForCoder: AnyClass { get }
    func awakeAfter(using aDecoder: NSCoder) -> Any?
    func provideImageData(_ data: UnsafeMutableRawPointer, bytesPerRow rowbytes: Int, origin x: Int, _ y: Int, size width: Int, _ height: Int, userInfo info: Any?)
}
extension SCNSkinner : CVarArg {
}
extension SCNSkinner : Equatable, Hashable {
    var hashValue: Int { get }
}
CVarArg, Equatable, Hashable, NSSecureCoding

Modified SCNSphere
DeclarationProtocols
From
class SCNSphere : SCNGeometry {
    convenience init(radius radius: CGFloat)
    class func sphereWithRadius(_ radius: CGFloat) -> Self
    var radius: CGFloat
    var geodesic: Bool
    var segmentCount: Int
}
--
To
class SCNSphere : SCNGeometry {
    convenience init(radius radius: CGFloat)
    class func withRadius(_ radius: CGFloat) -> Self
    var radius: CGFloat
    var isGeodesic: Bool
    var segmentCount: Int
    convenience init(mdlMesh mdlMesh: MDLMesh)
    class func withMDLMesh(_ mdlMesh: MDLMesh) -> Self
    var boundingBox: (min: SCNVector3, max: SCNVector3)
    var boundingSphere: (center: SCNVector3, radius: Float) { get }
    func awakeFromNib()
    func prepareForInterfaceBuilder()
    func accessibilityActivate() -> Bool
    func accessibilityIncrement()
    func accessibilityDecrement()
    func accessibilityScroll(_ direction: UIAccessibilityScrollDirection) -> Bool
    func accessibilityPerformEscape() -> Bool
    func accessibilityPerformMagicTap() -> Bool
    var accessibilityCustomActions: [UIAccessibilityCustomAction]?
    func accessibilityElementDidBecomeFocused()
    func accessibilityElementDidLoseFocus()
    func accessibilityElementIsFocused() -> Bool
    func accessibilityAssistiveTechnologyFocusedIdentifiers() -> Set<String>?
    func accessibilityElementCount() -> Int
    func accessibilityElement(at index: Int) -> Any?
    func index(ofAccessibilityElement element: Any) -> Int
    var accessibilityElements: [Any]?
    var isAccessibilityElement: Bool
    var accessibilityLabel: String?
    var accessibilityHint: String?
    var accessibilityValue: String?
    var accessibilityTraits: UIAccessibilityTraits
    var accessibilityFrame: CGRect
    @NSCopying var accessibilityPath: UIBezierPath?
    var accessibilityActivationPoint: CGPoint
    var accessibilityLanguage: String?
    var accessibilityElementsHidden: Bool
    var accessibilityViewIsModal: Bool
    var shouldGroupAccessibilityChildren: Bool
    var accessibilityNavigationStyle: UIAccessibilityNavigationStyle
    var accessibilityHeaderElements: [Any]?
    var accessibilityCustomRotors: [UIAccessibilityCustomRotor]?
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool)
    func performSelector(inBackground aSelector: Selector, with arg: Any?)
    class func classForKeyedUnarchiver() -> AnyClass
    var classForKeyedArchiver: AnyClass? { get }
    func replacementObject(for archiver: NSKeyedArchiver) -> Any?
    class func classFallbacksForKeyedArchiver() -> [String]
    class func keyPathsForValuesAffectingValue(forKey key: String) -> Set<String>
    class func automaticallyNotifiesObservers(forKey key: String) -> Bool
    var observationInfo: UnsafeMutableRawPointer?
    func willChangeValue(forKey key: String)
    func didChangeValue(forKey key: String)
    func willChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func didChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func willChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func didChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func addObserver(_ observer: NSObject, forKeyPath keyPath: String, options options: NSKeyValueObservingOptions = [], context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String, context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String)
    func observeValue(forKeyPath keyPath: String?, of object: Any?, change change: [NSKeyValueChangeKey : Any]?, context context: UnsafeMutableRawPointer?)
    class var accessInstanceVariablesDirectly: Bool { get }
    func value(forKey key: String) -> Any?
    func setValue(_ value: Any?, forKey key: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKey inKey: String) throws
    func mutableArrayValue(forKey key: String) -> NSMutableArray
    func mutableOrderedSetValue(forKey key: String) -> NSMutableOrderedSet
    func mutableSetValue(forKey key: String) -> NSMutableSet
    func value(forKeyPath keyPath: String) -> Any?
    func setValue(_ value: Any?, forKeyPath keyPath: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKeyPath inKeyPath: String) throws
    func mutableArrayValue(forKeyPath keyPath: String) -> NSMutableArray
    func mutableOrderedSetValue(forKeyPath keyPath: String) -> NSMutableOrderedSet
    func mutableSetValue(forKeyPath keyPath: String) -> NSMutableSet
    func value(forUndefinedKey key: String) -> Any?
    func setValue(_ value: Any?, forUndefinedKey key: String)
    func setNilValueForKey(_ key: String)
    func dictionaryWithValues(forKeys keys: [String]) -> [String : Any]
    func setValuesForKeys(_ keyedValues: [String : Any])
    func fileManager(_ fm: FileManager, shouldProceedAfterError errorInfo: [AnyHashable : Any]) -> Bool
    func fileManager(_ fm: FileManager, willProcessPath path: String)
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval, inModes modes: [RunLoopMode])
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any, selector aSelector: Selector, object anArgument: Any?)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int, delegate delegate: Any?, didRecoverSelector didRecoverSelector: Selector?, contextInfo contextInfo: UnsafeMutableRawPointer?)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int) -> Bool
    var autoContentAccessingProxy: Any { get }
    class func version() -> Int
    class func setVersion(_ aVersion: Int)
    var classForCoder: AnyClass { get }
    func awakeAfter(using aDecoder: NSCoder) -> Any?
    func provideImageData(_ data: UnsafeMutableRawPointer, bytesPerRow rowbytes: Int, origin x: Int, _ y: Int, size width: Int, _ height: Int, userInfo info: Any?)
}
extension SCNSphere : CVarArg {
}
extension SCNSphere : Equatable, Hashable {
    var hashValue: Int { get }
}
CVarArg, Equatable, Hashable

Declaration
From
var geodesic: Bool
To
var isGeodesic: Bool

Modified SCNTechnique
DeclarationProtocols
From
class SCNTechnique : NSObject, SCNAnimatable, NSCopying, NSSecureCoding {
     init?(dictionary dictionary: [String : AnyObject])
    class func techniqueWithDictionary(_ dictionary: [String : AnyObject]) -> SCNTechnique?
     init?(bySequencingTechniques techniques: [SCNTechnique])
    class func techniqueBySequencingTechniques(_ techniques: [SCNTechnique]) -> SCNTechnique?
    func handleBindingOfSymbol(_ symbol: String, usingBlock block: SCNBindingBlock?)
    var dictionaryRepresentation: [String : AnyObject] { get }
    subscript (_ key: AnyObject) -> AnyObject? { get }
    func objectForKeyedSubscript(_ key: AnyObject) -> AnyObject?
    func setObject(_ obj: AnyObject?, forKeyedSubscript key: NSCopying)
}
NSCopying, NSSecureCoding, SCNAnimatable
To
class SCNTechnique : NSObject, SCNAnimatable, NSCopying, NSSecureCoding {
     init?(dictionary dictionary: [String : Any])
    class func withDictionary(_ dictionary: [String : Any]) -> SCNTechnique?
     init?(bySequencingTechniques techniques: [SCNTechnique])
    class func sequencingTechniques(_ techniques: [SCNTechnique]) -> SCNTechnique?
    func handleBinding(ofSymbol symbol: String, using block: SceneKit.SCNBindingBlock? = nil)
    var dictionaryRepresentation: [String : Any] { get }
    subscript(_ key: Any) -> Any? { get }
    func objectForKeyedSubscript(_ key: Any) -> Any?
    func setObject(_ obj: Any?, forKeyedSubscript key: NSCopying)
    func awakeFromNib()
    func prepareForInterfaceBuilder()
    func accessibilityActivate() -> Bool
    func accessibilityIncrement()
    func accessibilityDecrement()
    func accessibilityScroll(_ direction: UIAccessibilityScrollDirection) -> Bool
    func accessibilityPerformEscape() -> Bool
    func accessibilityPerformMagicTap() -> Bool
    var accessibilityCustomActions: [UIAccessibilityCustomAction]?
    func accessibilityElementDidBecomeFocused()
    func accessibilityElementDidLoseFocus()
    func accessibilityElementIsFocused() -> Bool
    func accessibilityAssistiveTechnologyFocusedIdentifiers() -> Set<String>?
    func accessibilityElementCount() -> Int
    func accessibilityElement(at index: Int) -> Any?
    func index(ofAccessibilityElement element: Any) -> Int
    var accessibilityElements: [Any]?
    var isAccessibilityElement: Bool
    var accessibilityLabel: String?
    var accessibilityHint: String?
    var accessibilityValue: String?
    var accessibilityTraits: UIAccessibilityTraits
    var accessibilityFrame: CGRect
    @NSCopying var accessibilityPath: UIBezierPath?
    var accessibilityActivationPoint: CGPoint
    var accessibilityLanguage: String?
    var accessibilityElementsHidden: Bool
    var accessibilityViewIsModal: Bool
    var shouldGroupAccessibilityChildren: Bool
    var accessibilityNavigationStyle: UIAccessibilityNavigationStyle
    var accessibilityHeaderElements: [Any]?
    var accessibilityCustomRotors: [UIAccessibilityCustomRotor]?
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool)
    func performSelector(inBackground aSelector: Selector, with arg: Any?)
    class func classForKeyedUnarchiver() -> AnyClass
    var classForKeyedArchiver: AnyClass? { get }
    func replacementObject(for archiver: NSKeyedArchiver) -> Any?
    class func classFallbacksForKeyedArchiver() -> [String]
    class func keyPathsForValuesAffectingValue(forKey key: String) -> Set<String>
    class func automaticallyNotifiesObservers(forKey key: String) -> Bool
    var observationInfo: UnsafeMutableRawPointer?
    func willChangeValue(forKey key: String)
    func didChangeValue(forKey key: String)
    func willChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func didChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func willChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func didChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func addObserver(_ observer: NSObject, forKeyPath keyPath: String, options options: NSKeyValueObservingOptions = [], context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String, context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String)
    func observeValue(forKeyPath keyPath: String?, of object: Any?, change change: [NSKeyValueChangeKey : Any]?, context context: UnsafeMutableRawPointer?)
    class var accessInstanceVariablesDirectly: Bool { get }
    func value(forKey key: String) -> Any?
    func setValue(_ value: Any?, forKey key: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKey inKey: String) throws
    func mutableArrayValue(forKey key: String) -> NSMutableArray
    func mutableOrderedSetValue(forKey key: String) -> NSMutableOrderedSet
    func mutableSetValue(forKey key: String) -> NSMutableSet
    func value(forKeyPath keyPath: String) -> Any?
    func setValue(_ value: Any?, forKeyPath keyPath: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKeyPath inKeyPath: String) throws
    func mutableArrayValue(forKeyPath keyPath: String) -> NSMutableArray
    func mutableOrderedSetValue(forKeyPath keyPath: String) -> NSMutableOrderedSet
    func mutableSetValue(forKeyPath keyPath: String) -> NSMutableSet
    func value(forUndefinedKey key: String) -> Any?
    func setValue(_ value: Any?, forUndefinedKey key: String)
    func setNilValueForKey(_ key: String)
    func dictionaryWithValues(forKeys keys: [String]) -> [String : Any]
    func setValuesForKeys(_ keyedValues: [String : Any])
    func fileManager(_ fm: FileManager, shouldProceedAfterError errorInfo: [AnyHashable : Any]) -> Bool
    func fileManager(_ fm: FileManager, willProcessPath path: String)
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval, inModes modes: [RunLoopMode])
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any, selector aSelector: Selector, object anArgument: Any?)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int, delegate delegate: Any?, didRecoverSelector didRecoverSelector: Selector?, contextInfo contextInfo: UnsafeMutableRawPointer?)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int) -> Bool
    var autoContentAccessingProxy: Any { get }
    class func version() -> Int
    class func setVersion(_ aVersion: Int)
    var classForCoder: AnyClass { get }
    func awakeAfter(using aDecoder: NSCoder) -> Any?
    func provideImageData(_ data: UnsafeMutableRawPointer, bytesPerRow rowbytes: Int, origin x: Int, _ y: Int, size width: Int, _ height: Int, userInfo info: Any?)
}
extension SCNTechnique : CVarArg {
}
extension SCNTechnique : Equatable, Hashable {
    var hashValue: Int { get }
}
CVarArg, Equatable, Hashable, NSCopying, NSSecureCoding, SCNAnimatable

Declaration
From
var dictionaryRepresentation: [String : AnyObject] { get }
To
var dictionaryRepresentation: [String : Any] { get }

Declaration
From
func handleBindingOfSymbol(_ symbol: String, usingBlock block: SCNBindingBlock?)
To
func handleBinding(ofSymbol symbol: String, using block: SceneKit.SCNBindingBlock? = nil)

Declaration
From
init?(dictionary dictionary: [String : AnyObject])
To
init?(dictionary dictionary: [String : Any])

Declaration
From
func setObject(_ obj: AnyObject?, forKeyedSubscript key: NSCopying)
To
func setObject(_ obj: Any?, forKeyedSubscript key: NSCopying)

Declaration
From
subscript (_ key: AnyObject) -> AnyObject? { get }
To
subscript(_ key: Any) -> Any? { get }

Modified SCNText
DeclarationProtocols
From
class SCNText : SCNGeometry {
    convenience init(string string: AnyObject?, extrusionDepth extrusionDepth: CGFloat)
    class func textWithString(_ string: AnyObject?, extrusionDepth extrusionDepth: CGFloat) -> Self
    var extrusionDepth: CGFloat
    @NSCopying var string: AnyObject?
    var font: UIFont!
    var wrapped: Bool
    var containerFrame: CGRect
    var truncationMode: String
    var alignmentMode: String
    var chamferRadius: CGFloat
    @NSCopying var chamferProfile: UIBezierPath?
    var flatness: CGFloat
}
--
To
class SCNText : SCNGeometry {
    convenience init(string string: Any?, extrusionDepth extrusionDepth: CGFloat)
    class func withString(_ string: Any?, extrusionDepth extrusionDepth: CGFloat) -> Self
    var extrusionDepth: CGFloat
    var string: Any?
    var font: UIFont!
    var isWrapped: Bool
    var containerFrame: CGRect
    var truncationMode: String
    var alignmentMode: String
    var chamferRadius: CGFloat
    @NSCopying var chamferProfile: UIBezierPath?
    var flatness: CGFloat
    convenience init(mdlMesh mdlMesh: MDLMesh)
    class func withMDLMesh(_ mdlMesh: MDLMesh) -> Self
    var boundingBox: (min: SCNVector3, max: SCNVector3)
    var boundingSphere: (center: SCNVector3, radius: Float) { get }
    func awakeFromNib()
    func prepareForInterfaceBuilder()
    func accessibilityActivate() -> Bool
    func accessibilityIncrement()
    func accessibilityDecrement()
    func accessibilityScroll(_ direction: UIAccessibilityScrollDirection) -> Bool
    func accessibilityPerformEscape() -> Bool
    func accessibilityPerformMagicTap() -> Bool
    var accessibilityCustomActions: [UIAccessibilityCustomAction]?
    func accessibilityElementDidBecomeFocused()
    func accessibilityElementDidLoseFocus()
    func accessibilityElementIsFocused() -> Bool
    func accessibilityAssistiveTechnologyFocusedIdentifiers() -> Set<String>?
    func accessibilityElementCount() -> Int
    func accessibilityElement(at index: Int) -> Any?
    func index(ofAccessibilityElement element: Any) -> Int
    var accessibilityElements: [Any]?
    var isAccessibilityElement: Bool
    var accessibilityLabel: String?
    var accessibilityHint: String?
    var accessibilityValue: String?
    var accessibilityTraits: UIAccessibilityTraits
    var accessibilityFrame: CGRect
    @NSCopying var accessibilityPath: UIBezierPath?
    var accessibilityActivationPoint: CGPoint
    var accessibilityLanguage: String?
    var accessibilityElementsHidden: Bool
    var accessibilityViewIsModal: Bool
    var shouldGroupAccessibilityChildren: Bool
    var accessibilityNavigationStyle: UIAccessibilityNavigationStyle
    var accessibilityHeaderElements: [Any]?
    var accessibilityCustomRotors: [UIAccessibilityCustomRotor]?
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool)
    func performSelector(inBackground aSelector: Selector, with arg: Any?)
    class func classForKeyedUnarchiver() -> AnyClass
    var classForKeyedArchiver: AnyClass? { get }
    func replacementObject(for archiver: NSKeyedArchiver) -> Any?
    class func classFallbacksForKeyedArchiver() -> [String]
    class func keyPathsForValuesAffectingValue(forKey key: String) -> Set<String>
    class func automaticallyNotifiesObservers(forKey key: String) -> Bool
    var observationInfo: UnsafeMutableRawPointer?
    func willChangeValue(forKey key: String)
    func didChangeValue(forKey key: String)
    func willChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func didChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func willChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func didChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func addObserver(_ observer: NSObject, forKeyPath keyPath: String, options options: NSKeyValueObservingOptions = [], context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String, context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String)
    func observeValue(forKeyPath keyPath: String?, of object: Any?, change change: [NSKeyValueChangeKey : Any]?, context context: UnsafeMutableRawPointer?)
    class var accessInstanceVariablesDirectly: Bool { get }
    func value(forKey key: String) -> Any?
    func setValue(_ value: Any?, forKey key: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKey inKey: String) throws
    func mutableArrayValue(forKey key: String) -> NSMutableArray
    func mutableOrderedSetValue(forKey key: String) -> NSMutableOrderedSet
    func mutableSetValue(forKey key: String) -> NSMutableSet
    func value(forKeyPath keyPath: String) -> Any?
    func setValue(_ value: Any?, forKeyPath keyPath: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKeyPath inKeyPath: String) throws
    func mutableArrayValue(forKeyPath keyPath: String) -> NSMutableArray
    func mutableOrderedSetValue(forKeyPath keyPath: String) -> NSMutableOrderedSet
    func mutableSetValue(forKeyPath keyPath: String) -> NSMutableSet
    func value(forUndefinedKey key: String) -> Any?
    func setValue(_ value: Any?, forUndefinedKey key: String)
    func setNilValueForKey(_ key: String)
    func dictionaryWithValues(forKeys keys: [String]) -> [String : Any]
    func setValuesForKeys(_ keyedValues: [String : Any])
    func fileManager(_ fm: FileManager, shouldProceedAfterError errorInfo: [AnyHashable : Any]) -> Bool
    func fileManager(_ fm: FileManager, willProcessPath path: String)
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval, inModes modes: [RunLoopMode])
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any, selector aSelector: Selector, object anArgument: Any?)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int, delegate delegate: Any?, didRecoverSelector didRecoverSelector: Selector?, contextInfo contextInfo: UnsafeMutableRawPointer?)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int) -> Bool
    var autoContentAccessingProxy: Any { get }
    class func version() -> Int
    class func setVersion(_ aVersion: Int)
    var classForCoder: AnyClass { get }
    func awakeAfter(using aDecoder: NSCoder) -> Any?
    func provideImageData(_ data: UnsafeMutableRawPointer, bytesPerRow rowbytes: Int, origin x: Int, _ y: Int, size width: Int, _ height: Int, userInfo info: Any?)
}
extension SCNText : CVarArg {
}
extension SCNText : Equatable, Hashable {
    var hashValue: Int { get }
}
CVarArg, Equatable, Hashable

Declaration
From
convenience init(string string: AnyObject?, extrusionDepth extrusionDepth: CGFloat)
To
convenience init(string string: Any?, extrusionDepth extrusionDepth: CGFloat)

Declaration
From
var wrapped: Bool
To
var isWrapped: Bool

Declaration
From
@NSCopying var string: AnyObject?
To
var string: Any?

Modified SCNTorus
DeclarationProtocols
From
class SCNTorus : SCNGeometry {
    convenience init(ringRadius ringRadius: CGFloat, pipeRadius pipeRadius: CGFloat)
    class func torusWithRingRadius(_ ringRadius: CGFloat, pipeRadius pipeRadius: CGFloat) -> Self
    var ringRadius: CGFloat
    var pipeRadius: CGFloat
    var ringSegmentCount: Int
    var pipeSegmentCount: Int
}
--
To
class SCNTorus : SCNGeometry {
    convenience init(ringRadius ringRadius: CGFloat, pipeRadius pipeRadius: CGFloat)
    class func withRingRadius(_ ringRadius: CGFloat, pipeRadius pipeRadius: CGFloat) -> Self
    var ringRadius: CGFloat
    var pipeRadius: CGFloat
    var ringSegmentCount: Int
    var pipeSegmentCount: Int
    convenience init(mdlMesh mdlMesh: MDLMesh)
    class func withMDLMesh(_ mdlMesh: MDLMesh) -> Self
    var boundingBox: (min: SCNVector3, max: SCNVector3)
    var boundingSphere: (center: SCNVector3, radius: Float) { get }
    func awakeFromNib()
    func prepareForInterfaceBuilder()
    func accessibilityActivate() -> Bool
    func accessibilityIncrement()
    func accessibilityDecrement()
    func accessibilityScroll(_ direction: UIAccessibilityScrollDirection) -> Bool
    func accessibilityPerformEscape() -> Bool
    func accessibilityPerformMagicTap() -> Bool
    var accessibilityCustomActions: [UIAccessibilityCustomAction]?
    func accessibilityElementDidBecomeFocused()
    func accessibilityElementDidLoseFocus()
    func accessibilityElementIsFocused() -> Bool
    func accessibilityAssistiveTechnologyFocusedIdentifiers() -> Set<String>?
    func accessibilityElementCount() -> Int
    func accessibilityElement(at index: Int) -> Any?
    func index(ofAccessibilityElement element: Any) -> Int
    var accessibilityElements: [Any]?
    var isAccessibilityElement: Bool
    var accessibilityLabel: String?
    var accessibilityHint: String?
    var accessibilityValue: String?
    var accessibilityTraits: UIAccessibilityTraits
    var accessibilityFrame: CGRect
    @NSCopying var accessibilityPath: UIBezierPath?
    var accessibilityActivationPoint: CGPoint
    var accessibilityLanguage: String?
    var accessibilityElementsHidden: Bool
    var accessibilityViewIsModal: Bool
    var shouldGroupAccessibilityChildren: Bool
    var accessibilityNavigationStyle: UIAccessibilityNavigationStyle
    var accessibilityHeaderElements: [Any]?
    var accessibilityCustomRotors: [UIAccessibilityCustomRotor]?
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool)
    func performSelector(inBackground aSelector: Selector, with arg: Any?)
    class func classForKeyedUnarchiver() -> AnyClass
    var classForKeyedArchiver: AnyClass? { get }
    func replacementObject(for archiver: NSKeyedArchiver) -> Any?
    class func classFallbacksForKeyedArchiver() -> [String]
    class func keyPathsForValuesAffectingValue(forKey key: String) -> Set<String>
    class func automaticallyNotifiesObservers(forKey key: String) -> Bool
    var observationInfo: UnsafeMutableRawPointer?
    func willChangeValue(forKey key: String)
    func didChangeValue(forKey key: String)
    func willChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func didChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func willChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func didChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func addObserver(_ observer: NSObject, forKeyPath keyPath: String, options options: NSKeyValueObservingOptions = [], context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String, context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String)
    func observeValue(forKeyPath keyPath: String?, of object: Any?, change change: [NSKeyValueChangeKey : Any]?, context context: UnsafeMutableRawPointer?)
    class var accessInstanceVariablesDirectly: Bool { get }
    func value(forKey key: String) -> Any?
    func setValue(_ value: Any?, forKey key: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKey inKey: String) throws
    func mutableArrayValue(forKey key: String) -> NSMutableArray
    func mutableOrderedSetValue(forKey key: String) -> NSMutableOrderedSet
    func mutableSetValue(forKey key: String) -> NSMutableSet
    func value(forKeyPath keyPath: String) -> Any?
    func setValue(_ value: Any?, forKeyPath keyPath: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKeyPath inKeyPath: String) throws
    func mutableArrayValue(forKeyPath keyPath: String) -> NSMutableArray
    func mutableOrderedSetValue(forKeyPath keyPath: String) -> NSMutableOrderedSet
    func mutableSetValue(forKeyPath keyPath: String) -> NSMutableSet
    func value(forUndefinedKey key: String) -> Any?
    func setValue(_ value: Any?, forUndefinedKey key: String)
    func setNilValueForKey(_ key: String)
    func dictionaryWithValues(forKeys keys: [String]) -> [String : Any]
    func setValuesForKeys(_ keyedValues: [String : Any])
    func fileManager(_ fm: FileManager, shouldProceedAfterError errorInfo: [AnyHashable : Any]) -> Bool
    func fileManager(_ fm: FileManager, willProcessPath path: String)
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval, inModes modes: [RunLoopMode])
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any, selector aSelector: Selector, object anArgument: Any?)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int, delegate delegate: Any?, didRecoverSelector didRecoverSelector: Selector?, contextInfo contextInfo: UnsafeMutableRawPointer?)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int) -> Bool
    var autoContentAccessingProxy: Any { get }
    class func version() -> Int
    class func setVersion(_ aVersion: Int)
    var classForCoder: AnyClass { get }
    func awakeAfter(using aDecoder: NSCoder) -> Any?
    func provideImageData(_ data: UnsafeMutableRawPointer, bytesPerRow rowbytes: Int, origin x: Int, _ y: Int, size width: Int, _ height: Int, userInfo info: Any?)
}
extension SCNTorus : CVarArg {
}
extension SCNTorus : Equatable, Hashable {
    var hashValue: Int { get }
}
CVarArg, Equatable, Hashable

DeclarationProtocols
From
class SCNTransaction : NSObject {
    class func begin()
    class func commit()
    class func flush()
    class func lock()
    class func unlock()
    class func animationDuration() -> CFTimeInterval
    class func setAnimationDuration(_ duration: CFTimeInterval)
    class func animationTimingFunction() -> CAMediaTimingFunction?
    class func setAnimationTimingFunction(_ animationTimingFunction: CAMediaTimingFunction?)
    class func disableActions() -> Bool
    class func setDisableActions(_ flag: Bool)
    class func completionBlock() -> (() -> Void)?
    class func setCompletionBlock(_ block: (() -> Void)?)
    class func valueForKey(_ key: String) -> AnyObject?
    class func setValue(_ value: AnyObject?, forKey key: String)
}
--
To
class SCNTransaction : NSObject {
    class func begin()
    class func commit()
    class func flush()
    class func lock()
    class func unlock()
    class var animationDuration: CFTimeInterval
    @NSCopying class var animationTimingFunction: CAMediaTimingFunction?
    class var disableActions: Bool
    class var completionBlock: (() -> Swift.Void)?
    class func value(forKey key: String) -> Any?
    class func setValue(_ value: Any?, forKey key: String)
    func awakeFromNib()
    func prepareForInterfaceBuilder()
    func accessibilityActivate() -> Bool
    func accessibilityIncrement()
    func accessibilityDecrement()
    func accessibilityScroll(_ direction: UIAccessibilityScrollDirection) -> Bool
    func accessibilityPerformEscape() -> Bool
    func accessibilityPerformMagicTap() -> Bool
    var accessibilityCustomActions: [UIAccessibilityCustomAction]?
    func accessibilityElementDidBecomeFocused()
    func accessibilityElementDidLoseFocus()
    func accessibilityElementIsFocused() -> Bool
    func accessibilityAssistiveTechnologyFocusedIdentifiers() -> Set<String>?
    func accessibilityElementCount() -> Int
    func accessibilityElement(at index: Int) -> Any?
    func index(ofAccessibilityElement element: Any) -> Int
    var accessibilityElements: [Any]?
    var isAccessibilityElement: Bool
    var accessibilityLabel: String?
    var accessibilityHint: String?
    var accessibilityValue: String?
    var accessibilityTraits: UIAccessibilityTraits
    var accessibilityFrame: CGRect
    @NSCopying var accessibilityPath: UIBezierPath?
    var accessibilityActivationPoint: CGPoint
    var accessibilityLanguage: String?
    var accessibilityElementsHidden: Bool
    var accessibilityViewIsModal: Bool
    var shouldGroupAccessibilityChildren: Bool
    var accessibilityNavigationStyle: UIAccessibilityNavigationStyle
    var accessibilityHeaderElements: [Any]?
    var accessibilityCustomRotors: [UIAccessibilityCustomRotor]?
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool)
    func performSelector(inBackground aSelector: Selector, with arg: Any?)
    class func classForKeyedUnarchiver() -> AnyClass
    var classForKeyedArchiver: AnyClass? { get }
    func replacementObject(for archiver: NSKeyedArchiver) -> Any?
    class func classFallbacksForKeyedArchiver() -> [String]
    class func keyPathsForValuesAffectingValue(forKey key: String) -> Set<String>
    class func automaticallyNotifiesObservers(forKey key: String) -> Bool
    var observationInfo: UnsafeMutableRawPointer?
    func willChangeValue(forKey key: String)
    func didChangeValue(forKey key: String)
    func willChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func didChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func willChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func didChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func addObserver(_ observer: NSObject, forKeyPath keyPath: String, options options: NSKeyValueObservingOptions = [], context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String, context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String)
    func observeValue(forKeyPath keyPath: String?, of object: Any?, change change: [NSKeyValueChangeKey : Any]?, context context: UnsafeMutableRawPointer?)
    class var accessInstanceVariablesDirectly: Bool { get }
    func value(forKey key: String) -> Any?
    func setValue(_ value: Any?, forKey key: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKey inKey: String) throws
    func mutableArrayValue(forKey key: String) -> NSMutableArray
    func mutableOrderedSetValue(forKey key: String) -> NSMutableOrderedSet
    func mutableSetValue(forKey key: String) -> NSMutableSet
    func value(forKeyPath keyPath: String) -> Any?
    func setValue(_ value: Any?, forKeyPath keyPath: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKeyPath inKeyPath: String) throws
    func mutableArrayValue(forKeyPath keyPath: String) -> NSMutableArray
    func mutableOrderedSetValue(forKeyPath keyPath: String) -> NSMutableOrderedSet
    func mutableSetValue(forKeyPath keyPath: String) -> NSMutableSet
    func value(forUndefinedKey key: String) -> Any?
    func setValue(_ value: Any?, forUndefinedKey key: String)
    func setNilValueForKey(_ key: String)
    func dictionaryWithValues(forKeys keys: [String]) -> [String : Any]
    func setValuesForKeys(_ keyedValues: [String : Any])
    func fileManager(_ fm: FileManager, shouldProceedAfterError errorInfo: [AnyHashable : Any]) -> Bool
    func fileManager(_ fm: FileManager, willProcessPath path: String)
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval, inModes modes: [RunLoopMode])
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any, selector aSelector: Selector, object anArgument: Any?)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int, delegate delegate: Any?, didRecoverSelector didRecoverSelector: Selector?, contextInfo contextInfo: UnsafeMutableRawPointer?)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int) -> Bool
    var autoContentAccessingProxy: Any { get }
    class func version() -> Int
    class func setVersion(_ aVersion: Int)
    var classForCoder: AnyClass { get }
    func awakeAfter(using aDecoder: NSCoder) -> Any?
    func provideImageData(_ data: UnsafeMutableRawPointer, bytesPerRow rowbytes: Int, origin x: Int, _ y: Int, size width: Int, _ height: Int, userInfo info: Any?)
}
extension SCNTransaction : CVarArg {
}
extension SCNTransaction : Equatable, Hashable {
    var hashValue: Int { get }
}
CVarArg, Equatable, Hashable

Declaration
From
class func setValue(_ value: AnyObject?, forKey key: String)
To
class func setValue(_ value: Any?, forKey key: String)

Declaration
From
class func valueForKey(_ key: String) -> AnyObject?
To
class func value(forKey key: String) -> Any?

Declaration
From
class SCNTransformConstraint : SCNConstraint {
    convenience init(inWorldSpace world: Bool, withBlock block: (SCNNode, SCNMatrix4) -> SCNMatrix4)
    class func transformConstraintInWorldSpace(_ world: Bool, withBlock block: (SCNNode, SCNMatrix4) -> SCNMatrix4) -> Self
}
To
class SCNTransformConstraint : SCNConstraint {
    convenience init(inWorldSpace world: Bool, with block: @escaping (SCNNode, SCNMatrix4) -> SCNMatrix4)
    class func inWorldSpace(_ world: Bool, with block: @escaping (SCNNode, SCNMatrix4) -> SCNMatrix4) -> Self
}

Declaration
From
convenience init(inWorldSpace world: Bool, withBlock block: (SCNNode, SCNMatrix4) -> SCNMatrix4)
To
convenience init(inWorldSpace world: Bool, with block: @escaping (SCNNode, SCNMatrix4) -> SCNMatrix4)

Declaration
From
enum SCNTransparencyMode : Int {
    case AOne
    case RGBZero
}
To
enum SCNTransparencyMode : Int {
    case aOne
    case rgbZero
}

Declaration
From
case AOne
To
case aOne

Declaration
From
case RGBZero
To
case rgbZero

Modified SCNTube
DeclarationProtocols
From
class SCNTube : SCNGeometry {
    convenience init(innerRadius innerRadius: CGFloat, outerRadius outerRadius: CGFloat, height height: CGFloat)
    class func tubeWithInnerRadius(_ innerRadius: CGFloat, outerRadius outerRadius: CGFloat, height height: CGFloat) -> Self
    var innerRadius: CGFloat
    var outerRadius: CGFloat
    var height: CGFloat
    var radialSegmentCount: Int
    var heightSegmentCount: Int
}
--
To
class SCNTube : SCNGeometry {
    convenience init(innerRadius innerRadius: CGFloat, outerRadius outerRadius: CGFloat, height height: CGFloat)
    class func withInnerRadius(_ innerRadius: CGFloat, outerRadius outerRadius: CGFloat, height height: CGFloat) -> Self
    var innerRadius: CGFloat
    var outerRadius: CGFloat
    var height: CGFloat
    var radialSegmentCount: Int
    var heightSegmentCount: Int
    convenience init(mdlMesh mdlMesh: MDLMesh)
    class func withMDLMesh(_ mdlMesh: MDLMesh) -> Self
    var boundingBox: (min: SCNVector3, max: SCNVector3)
    var boundingSphere: (center: SCNVector3, radius: Float) { get }
    func awakeFromNib()
    func prepareForInterfaceBuilder()
    func accessibilityActivate() -> Bool
    func accessibilityIncrement()
    func accessibilityDecrement()
    func accessibilityScroll(_ direction: UIAccessibilityScrollDirection) -> Bool
    func accessibilityPerformEscape() -> Bool
    func accessibilityPerformMagicTap() -> Bool
    var accessibilityCustomActions: [UIAccessibilityCustomAction]?
    func accessibilityElementDidBecomeFocused()
    func accessibilityElementDidLoseFocus()
    func accessibilityElementIsFocused() -> Bool
    func accessibilityAssistiveTechnologyFocusedIdentifiers() -> Set<String>?
    func accessibilityElementCount() -> Int
    func accessibilityElement(at index: Int) -> Any?
    func index(ofAccessibilityElement element: Any) -> Int
    var accessibilityElements: [Any]?
    var isAccessibilityElement: Bool
    var accessibilityLabel: String?
    var accessibilityHint: String?
    var accessibilityValue: String?
    var accessibilityTraits: UIAccessibilityTraits
    var accessibilityFrame: CGRect
    @NSCopying var accessibilityPath: UIBezierPath?
    var accessibilityActivationPoint: CGPoint
    var accessibilityLanguage: String?
    var accessibilityElementsHidden: Bool
    var accessibilityViewIsModal: Bool
    var shouldGroupAccessibilityChildren: Bool
    var accessibilityNavigationStyle: UIAccessibilityNavigationStyle
    var accessibilityHeaderElements: [Any]?
    var accessibilityCustomRotors: [UIAccessibilityCustomRotor]?
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool)
    func performSelector(inBackground aSelector: Selector, with arg: Any?)
    class func classForKeyedUnarchiver() -> AnyClass
    var classForKeyedArchiver: AnyClass? { get }
    func replacementObject(for archiver: NSKeyedArchiver) -> Any?
    class func classFallbacksForKeyedArchiver() -> [String]
    class func keyPathsForValuesAffectingValue(forKey key: String) -> Set<String>
    class func automaticallyNotifiesObservers(forKey key: String) -> Bool
    var observationInfo: UnsafeMutableRawPointer?
    func willChangeValue(forKey key: String)
    func didChangeValue(forKey key: String)
    func willChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func didChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func willChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func didChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func addObserver(_ observer: NSObject, forKeyPath keyPath: String, options options: NSKeyValueObservingOptions = [], context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String, context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String)
    func observeValue(forKeyPath keyPath: String?, of object: Any?, change change: [NSKeyValueChangeKey : Any]?, context context: UnsafeMutableRawPointer?)
    class var accessInstanceVariablesDirectly: Bool { get }
    func value(forKey key: String) -> Any?
    func setValue(_ value: Any?, forKey key: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKey inKey: String) throws
    func mutableArrayValue(forKey key: String) -> NSMutableArray
    func mutableOrderedSetValue(forKey key: String) -> NSMutableOrderedSet
    func mutableSetValue(forKey key: String) -> NSMutableSet
    func value(forKeyPath keyPath: String) -> Any?
    func setValue(_ value: Any?, forKeyPath keyPath: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKeyPath inKeyPath: String) throws
    func mutableArrayValue(forKeyPath keyPath: String) -> NSMutableArray
    func mutableOrderedSetValue(forKeyPath keyPath: String) -> NSMutableOrderedSet
    func mutableSetValue(forKeyPath keyPath: String) -> NSMutableSet
    func value(forUndefinedKey key: String) -> Any?
    func setValue(_ value: Any?, forUndefinedKey key: String)
    func setNilValueForKey(_ key: String)
    func dictionaryWithValues(forKeys keys: [String]) -> [String : Any]
    func setValuesForKeys(_ keyedValues: [String : Any])
    func fileManager(_ fm: FileManager, shouldProceedAfterError errorInfo: [AnyHashable : Any]) -> Bool
    func fileManager(_ fm: FileManager, willProcessPath path: String)
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval, inModes modes: [RunLoopMode])
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any, selector aSelector: Selector, object anArgument: Any?)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int, delegate delegate: Any?, didRecoverSelector didRecoverSelector: Selector?, contextInfo contextInfo: UnsafeMutableRawPointer?)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int) -> Bool
    var autoContentAccessingProxy: Any { get }
    class func version() -> Int
    class func setVersion(_ aVersion: Int)
    var classForCoder: AnyClass { get }
    func awakeAfter(using aDecoder: NSCoder) -> Any?
    func provideImageData(_ data: UnsafeMutableRawPointer, bytesPerRow rowbytes: Int, origin x: Int, _ y: Int, size width: Int, _ height: Int, userInfo info: Any?)
}
extension SCNTube : CVarArg {
}
extension SCNTube : Equatable, Hashable {
    var hashValue: Int { get }
}
CVarArg, Equatable, Hashable

Declaration
From
struct SCNVector3 {
    var x: Float
    var y: Float
    var z: Float
    init()
    init(x x: Float, y y: Float, z z: Float)
}
extension SCNVector3 {
    init(_ x: Float, _ y: Float, _ z: Float)
    init(_ x: CGFloat, _ y: CGFloat, _ z: CGFloat)
    init(_ x: Double, _ y: Double, _ z: Double)
    init(_ x: Int, _ y: Int, _ z: Int)
    init(_ v: float3)
    init(_ v: double3)
}
extension SCNVector3 {
    init(_ x: Float, _ y: Float, _ z: Float)
    init(_ x: CGFloat, _ y: CGFloat, _ z: CGFloat)
    init(_ x: Double, _ y: Double, _ z: Double)
    init(_ x: Int, _ y: Int, _ z: Int)
    init(_ v: float3)
    init(_ v: double3)
}
To
struct SCNVector3 {
    var x: Float
    var y: Float
    var z: Float
    init()
    init(x x: Float, y y: Float, z z: Float)
    init(_ x: Float, _ y: Float, _ z: Float)
    init(_ x: CGFloat, _ y: CGFloat, _ z: CGFloat)
    init(_ x: Double, _ y: Double, _ z: Double)
    init(_ x: Int, _ y: Int, _ z: Int)
    init(_ v: float3)
    init(_ v: double3)
}
extension SCNVector3 {
    init(_ x: Float, _ y: Float, _ z: Float)
    init(_ x: CGFloat, _ y: CGFloat, _ z: CGFloat)
    init(_ x: Double, _ y: Double, _ z: Double)
    init(_ x: Int, _ y: Int, _ z: Int)
    init(_ v: float3)
    init(_ v: double3)
}

Declaration
From
struct SCNVector4 {
    var x: Float
    var y: Float
    var z: Float
    var w: Float
    init()
    init(x x: Float, y y: Float, z z: Float, w w: Float)
}
extension SCNVector4 {
    init(_ x: Float, _ y: Float, _ z: Float, _ w: Float)
    init(_ x: CGFloat, _ y: CGFloat, _ z: CGFloat, _ w: CGFloat)
    init(_ x: Double, _ y: Double, _ z: Double, _ w: Double)
    init(_ x: Int, _ y: Int, _ z: Int, _ w: Int)
    init(_ v: float4)
    init(_ v: double4)
}
extension SCNVector4 {
    init(_ x: Float, _ y: Float, _ z: Float, _ w: Float)
    init(_ x: CGFloat, _ y: CGFloat, _ z: CGFloat, _ w: CGFloat)
    init(_ x: Double, _ y: Double, _ z: Double, _ w: Double)
    init(_ x: Int, _ y: Int, _ z: Int, _ w: Int)
    init(_ v: float4)
    init(_ v: double4)
}
To
struct SCNVector4 {
    var x: Float
    var y: Float
    var z: Float
    var w: Float
    init()
    init(x x: Float, y y: Float, z z: Float, w w: Float)
    init(_ x: Float, _ y: Float, _ z: Float, _ w: Float)
    init(_ x: CGFloat, _ y: CGFloat, _ z: CGFloat, _ w: CGFloat)
    init(_ x: Double, _ y: Double, _ z: Double, _ w: Double)
    init(_ x: Int, _ y: Int, _ z: Int, _ w: Int)
    init(_ v: float4)
    init(_ v: double4)
}
extension SCNVector4 {
    init(_ x: Float, _ y: Float, _ z: Float, _ w: Float)
    init(_ x: CGFloat, _ y: CGFloat, _ z: CGFloat, _ w: CGFloat)
    init(_ x: Double, _ y: Double, _ z: Double, _ w: Double)
    init(_ x: Int, _ y: Int, _ z: Int, _ w: Int)
    init(_ v: float4)
    init(_ v: double4)
}

Modified SCNView
DeclarationProtocols
From
class SCNView : UIView, SCNSceneRenderer, SCNTechniqueSupport {
    init(frame frame: CGRect, options options: [String : AnyObject]?)
    var scene: SCNScene?
    var allowsCameraControl: Bool
    func snapshot() -> UIImage
    @IBAction func play(_ sender: AnyObject?)
    @IBAction func pause(_ sender: AnyObject?)
    @IBAction func stop(_ sender: AnyObject?)
    var preferredFramesPerSecond: Int
    var eaglContext: EAGLContext?
    var antialiasingMode: SCNAntialiasingMode
}
SCNSceneRenderer, SCNTechniqueSupport
To
class SCNView : UIView, SCNSceneRenderer, SCNTechniqueSupport {
    init(frame frame: CGRect, options options: [String : Any]? = nil)
    var scene: SCNScene?
    var allowsCameraControl: Bool
    func snapshot() -> UIImage
    @IBAction func play(_ sender: Any?)
    @IBAction func pause(_ sender: Any?)
    @IBAction func stop(_ sender: Any?)
    var preferredFramesPerSecond: Int
    var eaglContext: EAGLContext?
    var antialiasingMode: SCNAntialiasingMode
    struct Option : RawRepresentable, Equatable, Hashable, Comparable {
        init(rawValue rawValue: String)
    }
    func viewPrintFormatter() -> UIViewPrintFormatter
    func draw(_ rect: CGRect, for formatter: UIViewPrintFormatter)
    func endEditing(_ force: Bool) -> Bool
    func snapshotView(afterScreenUpdates afterUpdates: Bool) -> UIView?
    func resizableSnapshotView(from rect: CGRect, afterScreenUpdates afterUpdates: Bool, withCapInsets capInsets: UIEdgeInsets) -> UIView?
    func drawHierarchy(in rect: CGRect, afterScreenUpdates afterUpdates: Bool) -> Bool
    var restorationIdentifier: String?
    func encodeRestorableState(with coder: NSCoder)
    func decodeRestorableState(with coder: NSCoder)
    func constraintsAffectingLayout(for axis: UILayoutConstraintAxis) -> [NSLayoutConstraint]
    var hasAmbiguousLayout: Bool { get }
    func exerciseAmbiguityInLayout()
    var leadingAnchor: NSLayoutXAxisAnchor { get }
    var trailingAnchor: NSLayoutXAxisAnchor { get }
    var leftAnchor: NSLayoutXAxisAnchor { get }
    var rightAnchor: NSLayoutXAxisAnchor { get }
    var topAnchor: NSLayoutYAxisAnchor { get }
    var bottomAnchor: NSLayoutYAxisAnchor { get }
    var widthAnchor: NSLayoutDimension { get }
    var heightAnchor: NSLayoutDimension { get }
    var centerXAnchor: NSLayoutXAxisAnchor { get }
    var centerYAnchor: NSLayoutYAxisAnchor { get }
    var firstBaselineAnchor: NSLayoutYAxisAnchor { get }
    var lastBaselineAnchor: NSLayoutYAxisAnchor { get }
    var layoutGuides: [UILayoutGuide] { get }
    func addLayoutGuide(_ layoutGuide: UILayoutGuide)
    func removeLayoutGuide(_ layoutGuide: UILayoutGuide)
    func systemLayoutSizeFitting(_ targetSize: CGSize) -> CGSize
    func systemLayoutSizeFitting(_ targetSize: CGSize, withHorizontalFittingPriority horizontalFittingPriority: UILayoutPriority, verticalFittingPriority verticalFittingPriority: UILayoutPriority) -> CGSize
    func alignmentRect(forFrame frame: CGRect) -> CGRect
    func frame(forAlignmentRect alignmentRect: CGRect) -> CGRect
    var alignmentRectInsets: UIEdgeInsets { get }
    func forBaselineLayout() -> UIView
    var forFirstBaselineLayout: UIView { get }
    var forLastBaselineLayout: UIView { get }
    var intrinsicContentSize: CGSize { get }
    func invalidateIntrinsicContentSize()
    func contentHuggingPriority(for axis: UILayoutConstraintAxis) -> UILayoutPriority
    func setContentHuggingPriority(_ priority: UILayoutPriority, for axis: UILayoutConstraintAxis)
    func contentCompressionResistancePriority(for axis: UILayoutConstraintAxis) -> UILayoutPriority
    func setContentCompressionResistancePriority(_ priority: UILayoutPriority, for axis: UILayoutConstraintAxis)
    var translatesAutoresizingMaskIntoConstraints: Bool
    class var requiresConstraintBasedLayout: Bool { get }
    func updateConstraintsIfNeeded()
    func updateConstraints()
    func needsUpdateConstraints() -> Bool
    func setNeedsUpdateConstraints()
    var constraints: [NSLayoutConstraint] { get }
    func addConstraint(_ constraint: NSLayoutConstraint)
    func addConstraints(_ constraints: [NSLayoutConstraint])
    func removeConstraint(_ constraint: NSLayoutConstraint)
    func removeConstraints(_ constraints: [NSLayoutConstraint])
    func addMotionEffect(_ effect: UIMotionEffect)
    func removeMotionEffect(_ effect: UIMotionEffect)
    var motionEffects: [UIMotionEffect]
    var gestureRecognizers: [UIGestureRecognizer]?
    func addGestureRecognizer(_ gestureRecognizer: UIGestureRecognizer)
    func removeGestureRecognizer(_ gestureRecognizer: UIGestureRecognizer)
    func gestureRecognizerShouldBegin(_ gestureRecognizer: UIGestureRecognizer) -> Bool
    class func animateKeyframes(withDuration duration: TimeInterval, delay delay: TimeInterval, options options: UIViewKeyframeAnimationOptions = [], animations animations: @escaping () -> Void, completion completion: (@escaping (Bool) -> Void)? = nil)
    class func addKeyframe(withRelativeStartTime frameStartTime: Double, relativeDuration frameDuration: Double, animations animations: @escaping () -> Void)
    class func animate(withDuration duration: TimeInterval, delay delay: TimeInterval, options options: UIViewAnimationOptions = [], animations animations: @escaping () -> Void, completion completion: (@escaping (Bool) -> Void)? = nil)
    class func animate(withDuration duration: TimeInterval, animations animations: @escaping () -> Void, completion completion: (@escaping (Bool) -> Void)? = nil)
    class func animate(withDuration duration: TimeInterval, animations animations: @escaping () -> Void)
    class func animate(withDuration duration: TimeInterval, delay delay: TimeInterval, usingSpringWithDamping dampingRatio: CGFloat, initialSpringVelocity velocity: CGFloat, options options: UIViewAnimationOptions = [], animations animations: @escaping () -> Void, completion completion: (@escaping (Bool) -> Void)? = nil)
    class func transition(with view: UIView, duration duration: TimeInterval, options options: UIViewAnimationOptions = [], animations animations: (@escaping () -> Void)?, completion completion: (@escaping (Bool) -> Void)? = nil)
    class func transition(from fromView: UIView, to toView: UIView, duration duration: TimeInterval, options options: UIViewAnimationOptions = [], completion completion: (@escaping (Bool) -> Void)? = nil)
    class func perform(_ animation: UISystemAnimation, on views: [UIView], options options: UIViewAnimationOptions = [], animations parallelAnimations: (@escaping () -> Void)?, completion completion: (@escaping (Bool) -> Void)? = nil)
    class func beginAnimations(_ animationID: String?, context context: UnsafeMutableRawPointer?)
    class func commitAnimations()
    class func setAnimationDelegate(_ delegate: Any?)
    class func setAnimationWillStart(_ selector: Selector?)
    class func setAnimationDidStop(_ selector: Selector?)
    class func setAnimationDuration(_ duration: TimeInterval)
    class func setAnimationDelay(_ delay: TimeInterval)
    class func setAnimationStart(_ startDate: Date)
    class func setAnimationCurve(_ curve: UIViewAnimationCurve)
    class func setAnimationRepeatCount(_ repeatCount: Float)
    class func setAnimationRepeatAutoreverses(_ repeatAutoreverses: Bool)
    class func setAnimationBeginsFromCurrentState(_ fromCurrentState: Bool)
    class func setAnimationTransition(_ transition: UIViewAnimationTransition, for view: UIView, cache cache: Bool)
    class func setAnimationsEnabled(_ enabled: Bool)
    class var areAnimationsEnabled: Bool { get }
    class func performWithoutAnimation(_ actionsWithoutAnimation: () -> Void)
    class var inheritedAnimationDuration: TimeInterval { get }
    func draw(_ rect: CGRect)
    func setNeedsDisplay()
    func setNeedsDisplay(_ rect: CGRect)
    var clipsToBounds: Bool
    @NSCopying var backgroundColor: UIColor?
    var alpha: CGFloat
    var isOpaque: Bool
    var clearsContextBeforeDrawing: Bool
    var isHidden: Bool
    var contentMode: UIViewContentMode
    var contentStretch: CGRect
    var mask: UIView?
    var tintColor: UIColor!
    var tintAdjustmentMode: UIViewTintAdjustmentMode
    func tintColorDidChange()
    var superview: UIView? { get }
    var subviews: [UIView] { get }
    var window: UIWindow? { get }
    func removeFromSuperview()
    func insertSubview(_ view: UIView, at index: Int)
    func exchangeSubview(at index1: Int, withSubviewAt index2: Int)
    func addSubview(_ view: UIView)
    func insertSubview(_ view: UIView, belowSubview siblingSubview: UIView)
    func insertSubview(_ view: UIView, aboveSubview siblingSubview: UIView)
    func bringSubview(toFront view: UIView)
    func sendSubview(toBack view: UIView)
    func didAddSubview(_ subview: UIView)
    func willRemoveSubview(_ subview: UIView)
    func willMove(toSuperview newSuperview: UIView?)
    func didMoveToSuperview()
    func willMove(toWindow newWindow: UIWindow?)
    func didMoveToWindow()
    func isDescendant(of view: UIView) -> Bool
    func viewWithTag(_ tag: Int) -> UIView?
    func setNeedsLayout()
    func layoutIfNeeded()
    func layoutSubviews()
    var layoutMargins: UIEdgeInsets
    var preservesSuperviewLayoutMargins: Bool
    func layoutMarginsDidChange()
    var layoutMarginsGuide: UILayoutGuide { get }
    var readableContentGuide: UILayoutGuide { get }
    var frame: CGRect
    var bounds: CGRect
    var center: CGPoint
    var transform: CGAffineTransform
    var contentScaleFactor: CGFloat
    var isMultipleTouchEnabled: Bool
    var isExclusiveTouch: Bool
    func hitTest(_ point: CGPoint, with event: UIEvent?) -> UIView?
    func point(inside point: CGPoint, with event: UIEvent?) -> Bool
    func convert(_ point: CGPoint, to view: UIView?) -> CGPoint
    func convert(_ point: CGPoint, from view: UIView?) -> CGPoint
    func convert(_ rect: CGRect, to view: UIView?) -> CGRect
    func convert(_ rect: CGRect, from view: UIView?) -> CGRect
    var autoresizesSubviews: Bool
    var autoresizingMask: UIViewAutoresizing
    func sizeThatFits(_ size: CGSize) -> CGSize
    func sizeToFit()
    var userActivity: NSUserActivity?
    func updateUserActivityState(_ activity: NSUserActivity)
    func restoreUserActivityState(_ activity: NSUserActivity)
    var keyCommands: [UIKeyCommand]? { get }
    func awakeFromNib()
    func prepareForInterfaceBuilder()
    func accessibilityActivate() -> Bool
    func accessibilityIncrement()
    func accessibilityDecrement()
    func accessibilityScroll(_ direction: UIAccessibilityScrollDirection) -> Bool
    func accessibilityPerformEscape() -> Bool
    func accessibilityPerformMagicTap() -> Bool
    var accessibilityCustomActions: [UIAccessibilityCustomAction]?
    func accessibilityElementDidBecomeFocused()
    func accessibilityElementDidLoseFocus()
    func accessibilityElementIsFocused() -> Bool
    func accessibilityAssistiveTechnologyFocusedIdentifiers() -> Set<String>?
    func accessibilityElementCount() -> Int
    func accessibilityElement(at index: Int) -> Any?
    func index(ofAccessibilityElement element: Any) -> Int
    var accessibilityElements: [Any]?
    var isAccessibilityElement: Bool
    var accessibilityLabel: String?
    var accessibilityHint: String?
    var accessibilityValue: String?
    var accessibilityTraits: UIAccessibilityTraits
    var accessibilityFrame: CGRect
    @NSCopying var accessibilityPath: UIBezierPath?
    var accessibilityActivationPoint: CGPoint
    var accessibilityLanguage: String?
    var accessibilityElementsHidden: Bool
    var accessibilityViewIsModal: Bool
    var shouldGroupAccessibilityChildren: Bool
    var accessibilityNavigationStyle: UIAccessibilityNavigationStyle
    var accessibilityHeaderElements: [Any]?
    var accessibilityCustomRotors: [UIAccessibilityCustomRotor]?
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool)
    func performSelector(inBackground aSelector: Selector, with arg: Any?)
    class func classForKeyedUnarchiver() -> AnyClass
    var classForKeyedArchiver: AnyClass? { get }
    func replacementObject(for archiver: NSKeyedArchiver) -> Any?
    class func classFallbacksForKeyedArchiver() -> [String]
    class func keyPathsForValuesAffectingValue(forKey key: String) -> Set<String>
    class func automaticallyNotifiesObservers(forKey key: String) -> Bool
    var observationInfo: UnsafeMutableRawPointer?
    func willChangeValue(forKey key: String)
    func didChangeValue(forKey key: String)
    func willChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func didChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func willChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func didChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func addObserver(_ observer: NSObject, forKeyPath keyPath: String, options options: NSKeyValueObservingOptions = [], context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String, context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String)
    func observeValue(forKeyPath keyPath: String?, of object: Any?, change change: [NSKeyValueChangeKey : Any]?, context context: UnsafeMutableRawPointer?)
    class var accessInstanceVariablesDirectly: Bool { get }
    func value(forKey key: String) -> Any?
    func setValue(_ value: Any?, forKey key: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKey inKey: String) throws
    func mutableArrayValue(forKey key: String) -> NSMutableArray
    func mutableOrderedSetValue(forKey key: String) -> NSMutableOrderedSet
    func mutableSetValue(forKey key: String) -> NSMutableSet
    func value(forKeyPath keyPath: String) -> Any?
    func setValue(_ value: Any?, forKeyPath keyPath: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKeyPath inKeyPath: String) throws
    func mutableArrayValue(forKeyPath keyPath: String) -> NSMutableArray
    func mutableOrderedSetValue(forKeyPath keyPath: String) -> NSMutableOrderedSet
    func mutableSetValue(forKeyPath keyPath: String) -> NSMutableSet
    func value(forUndefinedKey key: String) -> Any?
    func setValue(_ value: Any?, forUndefinedKey key: String)
    func setNilValueForKey(_ key: String)
    func dictionaryWithValues(forKeys keys: [String]) -> [String : Any]
    func setValuesForKeys(_ keyedValues: [String : Any])
    func fileManager(_ fm: FileManager, shouldProceedAfterError errorInfo: [AnyHashable : Any]) -> Bool
    func fileManager(_ fm: FileManager, willProcessPath path: String)
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval, inModes modes: [RunLoopMode])
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any, selector aSelector: Selector, object anArgument: Any?)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int, delegate delegate: Any?, didRecoverSelector didRecoverSelector: Selector?, contextInfo contextInfo: UnsafeMutableRawPointer?)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int) -> Bool
    var autoContentAccessingProxy: Any { get }
    class func version() -> Int
    class func setVersion(_ aVersion: Int)
    var classForCoder: AnyClass { get }
    func awakeAfter(using aDecoder: NSCoder) -> Any?
    func provideImageData(_ data: UnsafeMutableRawPointer, bytesPerRow rowbytes: Int, origin x: Int, _ y: Int, size width: Int, _ height: Int, userInfo info: Any?)
    var inputView: UIView? { get }
    var inputAccessoryView: UIView? { get }
    var inputAssistantItem: UITextInputAssistantItem { get }
    var inputViewController: UIInputViewController? { get }
    var inputAccessoryViewController: UIInputViewController? { get }
    var textInputMode: UITextInputMode? { get }
    var textInputContextIdentifier: String? { get }
    class func clearTextInputContextIdentifier(_ identifier: String)
    func reloadInputViews()
}
extension SCNView {
    struct Option : RawRepresentable, Equatable, Hashable, Comparable {
        init(rawValue rawValue: String)
    }
}
extension SCNView : UIAccessibilityIdentification {
}
extension SCNView : CVarArg {
}
extension SCNView : Equatable, Hashable {
    var hashValue: Int { get }
}
CVarArg, Equatable, Hashable, SCNSceneRenderer, SCNTechniqueSupport, UIAccessibilityIdentification

Declaration
From
init(frame frame: CGRect, options options: [String : AnyObject]?)
To
init(frame frame: CGRect, options options: [String : Any]? = nil)

Declaration
From
@IBAction func pause(_ sender: AnyObject?)
To
@IBAction func pause(_ sender: Any?)

Declaration
From
@IBAction func play(_ sender: AnyObject?)
To
@IBAction func play(_ sender: Any?)

Declaration
From
@IBAction func stop(_ sender: AnyObject?)
To
@IBAction func stop(_ sender: Any?)

NameDeclaration
FromSCNPreferLowPowerDeviceKey
let SCNPreferLowPowerDeviceKey: String
TopreferLowPowerDevice
static let preferLowPowerDevice: SCNView.Option

NameDeclaration
FromSCNPreferredDeviceKey
let SCNPreferredDeviceKey: String
TopreferredDevice
static let preferredDevice: SCNView.Option

NameDeclaration
FromSCNPreferredRenderingAPIKey
let SCNPreferredRenderingAPIKey: String
TopreferredRenderingAPI
static let preferredRenderingAPI: SCNView.Option

Declaration
From
enum SCNWrapMode : Int {
    case Clamp
    case Repeat
    case ClampToBorder
    case Mirror
}
To
enum SCNWrapMode : Int {
    case clamp
    case `repeat`
    case clampToBorder
    case mirror
}

Declaration
From
case Clamp
To
case clamp

Declaration
From
case ClampToBorder
To
case clampToBorder

Declaration
From
case Mirror
To
case mirror

Declaration
From
case Repeat
To
case `repeat`

Declaration
From
typealias SCNAnimationEventBlock = (CAAnimation, AnyObject, Bool) -> Void
To
typealias SCNAnimationEventBlock = (CAAnimation, Any, Bool) -> Swift.Void

Declaration
From
typealias SCNBindingBlock = (UInt32, UInt32, SCNNode, SCNRenderer) -> Void
To
typealias SCNBindingBlock = (UInt32, UInt32, SCNNode?, SCNRenderer) -> Swift.Void

Declaration
From
typealias SCNBufferBindingBlock = (SCNBufferStream, SCNNode, SCNShadable, SCNRenderer) -> Void
To
typealias SCNBufferBindingBlock = (SCNBufferStream, SCNNode, SCNShadable, SCNRenderer) -> Swift.Void

Declaration
From
typealias SCNFieldForceEvaluator = (SCNVector3, SCNVector3, Float, Float, NSTimeInterval) -> SCNVector3
To
typealias SCNFieldForceEvaluator = (SCNVector3, SCNVector3, Float, Float, TimeInterval) -> SCNVector3

Declaration
From
typealias SCNParticleEventBlock = (UnsafeMutablePointer<UnsafeMutablePointer<Void>>, UnsafeMutablePointer<Int>, UnsafeMutablePointer<UInt32>, Int) -> Void
To
typealias SCNParticleEventBlock = (UnsafeMutablePointer<UnsafeMutableRawPointer>, UnsafeMutablePointer<Int>, UnsafeMutablePointer<UInt32>?, Int) -> Swift.Void

Declaration
From
typealias SCNParticleModifierBlock = (UnsafeMutablePointer<UnsafeMutablePointer<Void>>, UnsafeMutablePointer<Int>, Int, Int, Float) -> Void
To
typealias SCNParticleModifierBlock = (UnsafeMutablePointer<UnsafeMutableRawPointer>, UnsafeMutablePointer<Int>, Int, Int, Float) -> Swift.Void

Declaration
From
typealias SCNSceneExportProgressHandler = (Float, NSError?, UnsafeMutablePointer<ObjCBool>) -> Void
To
typealias SCNSceneExportProgressHandler = (Float, Error?, UnsafeMutablePointer<ObjCBool>) -> Swift.Void

Declaration
From
typealias SCNSceneSourceStatusHandler = (Float, SCNSceneSourceStatus, NSError?, UnsafeMutablePointer<ObjCBool>) -> Void
To
typealias SCNSceneSourceStatusHandler = (Float, SCNSceneSourceStatus, Error?, UnsafeMutablePointer<ObjCBool>) -> Swift.Void