Guides and Sample Code Developer
Search

SceneKit Changes for Swift

SceneKit

Modified SCNActionable
Declaration
From
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 }
}
To
protocol SCNActionable : NSObjectProtocol {
    func runAction(_ action: SCNAction)
    func runAction(_ action: SCNAction, completionHandler block: (() -> Swift.Void)? = nil)
    func runAction(_ action: SCNAction, forKey key: String?)
    func runAction(_ action: SCNAction, forKey key: String?, completionHandler block: (() -> 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 runAction(_ action: SCNAction, completionHandler block: (@escaping () -> Swift.Void)? = nil)
To
func runAction(_ action: SCNAction, completionHandler block: (() -> Swift.Void)? = nil)

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

Declaration
From
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 }
}
To
class SCNAnimationEvent : NSObject {
    convenience init(keyTime time: CGFloat, block eventBlock: @escaping SceneKit.SCNAnimationEventBlock)
    class func withKeyTime(_ time: CGFloat, block eventBlock: @escaping 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 }
}

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

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)
    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)
}
extension SCNMatrix4 {
}

Declaration
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 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 }
}
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: @escaping SceneKit.SCNParticleEventBlock)
    func addModifier(forProperties properties: [SCNParticleSystem.ParticleProperty], at stage: SCNParticleModifierStage, modifier block: @escaping 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 }
}

Declaration
From
func addModifier(forProperties properties: [SCNParticleSystem.ParticleProperty], at stage: SCNParticleModifierStage, modifier block: SceneKit.SCNParticleModifierBlock)
To
func addModifier(forProperties properties: [SCNParticleSystem.ParticleProperty], at stage: SCNParticleModifierStage, modifier block: @escaping SceneKit.SCNParticleModifierBlock)

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

Declaration
From
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 }
}
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: @escaping 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 }
}

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

Modified SCNProgram
Declaration
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 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 }
}
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: @escaping 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 }
}

Declaration
From
func handleBinding(ofBufferNamed name: String, frequency frequency: SCNBufferFrequency, handler block: SceneKit.SCNBufferBindingBlock)
To
func handleBinding(ofBufferNamed name: String, frequency frequency: SCNBufferFrequency, handler block: @escaping SceneKit.SCNBufferBindingBlock)

Declaration
From
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 }
}
To
protocol SCNSceneRenderer : NSObjectProtocol {
    var scene: SCNScene? { get set }
    func present(_ scene: SCNScene, with transition: SKTransition, incomingPointOfView pointOfView: SCNNode?, completionHandler completionHandler: (() -> 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: ((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
func prepare(_ objects: [Any], completionHandler completionHandler: (@escaping (Bool) -> Swift.Void)? = nil)
To
func prepare(_ objects: [Any], completionHandler completionHandler: ((Bool) -> Swift.Void)? = nil)

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

Declaration
From
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)
}
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)
}
extension SCNVector3 {
}

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)
    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)
}
extension SCNVector4 {
}

Modified SCNView
Declaration
From
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 }
}
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: ((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: ((Bool) -> Void)? = nil)
    class func animate(withDuration duration: TimeInterval, animations animations: @escaping () -> Void, completion completion: ((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: ((Bool) -> Void)? = nil)
    class func transition(with view: UIView, duration duration: TimeInterval, options options: UIViewAnimationOptions = [], animations animations: (() -> Void)?, completion completion: ((Bool) -> Void)? = nil)
    class func transition(from fromView: UIView, to toView: UIView, duration duration: TimeInterval, options options: UIViewAnimationOptions = [], completion completion: ((Bool) -> Void)? = nil)
    class func perform(_ animation: UISystemAnimation, on views: [UIView], options options: UIViewAnimationOptions = [], animations parallelAnimations: (() -> Void)?, completion completion: ((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 }
}

Feedback