My renderer function is not being called when the delegate is set to the SCNView in a Swift playground.
I already looked at this question: SceneKit SCNSceneRendererDelegate - renderer function not called
None of the solutions on that page seemed to solve my problem. I've already tried adding a meaningless animation, enabling isLooping, enabling isPlaying, and made sure the rendering function syntax is correct.
I'm entirely lost as to what's missing, as seemingly identical code was used as a part of a PlaygroundBook and works. Thanks ahead of time.
import UIKit
import SceneKit
import PlaygroundSupport
import Foundation
class TestingRenderer: NSObject, SCNSceneRendererDelegate
{
    var tornadoCenter: SCNNode!
    let gameScene = SCNScene()
    var cameraNode: SCNNode!
    public func awakening()
    {
        cameraNode = SCNNode()
        cameraNode.camera = SCNCamera()
        // place the camera
        cameraNode.position = SCNVector3(x: 0, y: 0, z: 0)
        cameraNode.camera?.zFar = 200
        gameScene.rootNode.addChildNode(cameraNode)
        tornadoCenter = SCNNode()
        tornadoCenter.position = SCNVector3(x: 0, y: 0, z: 0)
        gameScene.rootNode.addChildNode(tornadoCenter)
// meaningless animation
        let animation = CABasicAnimation(keyPath: "rotation")
        animation.toValue = NSValue(scnVector4: SCNVector4(x: Float(0), y: Float(1), z: Float(0), w: Float.pi * 2))
        animation.duration = 30000
        animation.repeatCount = MAXFLOAT //repeat forever
        tornadoCenter.addAnimation(animation, forKey: nil)
    }
    func renderer(_ renderer: SCNSceneRenderer, updateAtTime time: TimeInterval)
    {
        print("eeee")
    }
    func getScene() -> SCNScene
    {
        return gameScene
    }
}
class TestingView: SCNView
{
    public func setup()
    {
        let renderer = TestingRenderer()
        renderer.awakening()
        self.scene = renderer.getScene()
        self.backgroundColor = UIColor.black
        self.autoenablesDefaultLighting = true
        self.allowsCameraControl = true
        self.delegate = renderer
    }
}
class MyViewController : UIViewController
{
    var sceneView: TestingView!
    override func loadView()
    {
        let view = UIView()
        sceneView = TestingView()
        sceneView.setup()
        view.addSubview(sceneView)
        self.view = view
    }
    override func viewDidLayoutSubviews()
    {
        sceneView.frame = self.view.frame
    }
}
PlaygroundPage.current.liveView = MyViewController()