Bug in simdRotate(by: axis:) or my misunderstanding??

I cannot tell if I have found a bug in simdRotate() or if I simply don't understand pivots very well. When I have a node and I change the pivot position of that node (or angle), then the routine SCNNode.simdRotate(by: simd_quatf, aroundTarget: simd_float3) doesn't seem to work the way I would expect. The following mac Playground illustrates my problem/question:

import SceneKit
import PlaygroundSupport


// Make a new SCNView that responds to mouse events
class TstView: SCNView {
    var cone: SCNNode? = nil
    override func mouseDown(with event: NSEvent) {
        print("\(event)")
        cone?.simdRotate(by: simd_quatf(angle: 0.0, axis: SIMD3<Float>(0.0,1.0,0.0)), aroundTarget: simd_float3(0.0,0.0,0.0))
    }
}


// Simple cone
let geo = SCNCone(topRadius: 3.0, bottomRadius: 0.0, height: 5.0)
let cone = SCNNode(geometry: geo)

// Make the pivot point the apex of the cone
cone.simdPivot = simd_float4x4(SCNMatrix4MakeTranslation(0.0, -2.5, 0.0))

// make a Sphere to show the 0,0,0 point
let sphere = SCNSphere(radius: 0.2)
let centerNode = SCNNode(geometry: sphere)

let scene = SCNScene()

// Add my nodes
scene.rootNode.addChildNode(cone)
scene.rootNode.addChildNode(centerNode)

// Starting point for the cone
cone.simdPosition = SIMD3<Float>(-15.0, 0.0, 0.0)

let view = TstView(frame: CGRect(x: 10.0, y: 10.0, width: 800.0, height: 800.0))
// Make the cone accessable in TstView
view.cone = cone

view.autoenablesDefaultLighting = true
view.backgroundColor = NSColor.cyan

view.scene = scene

// start a live preview of that view
PlaygroundPage.current.liveView = view


When you click the moust on the liveView, the cone starts walking forward!? Even though my angle of rotation is 0.0 radians. If you comment out line 20. ( the cone.simdPivot = ... line), then it works as I expect. Am I not understanding something here? Even with a modified pivot, I would think a rotation of 0 shouldn't change anything. Thanks for your help,


-Matt