donmccurdy / glTF-Transform

glTF 2.0 SDK for JavaScript and TypeScript, on Web and Node.js.
https://gltf-transform.dev
MIT License
1.43k stars 150 forks source link

Updating spotlight's definition, detaches the spotlight target. #1490

Open divyun opened 3 months ago

divyun commented 3 months ago

Describe the bug In @glTF-transform/view, when updating the light's definition, causes the target to no longer update, with parent's transformation.

To Reproduce

  1. Create a light
  2. Attach to a node.
  3. Update any property on light.
  4. Target no longer responds to updates to the node, like rotation.
const lightsExt = doc.createExtension(KHRLightsPunctual);
const light = lightsExt.createLight('Light 1');
const node = doc.createNode('Node 1');
node.setExtension("KHR_lights_punctual", light);

let lightObj = docView.view(light);
lightObj.target.parent; // correct

light.setIntensity(10);

let lightObj = docView.view(light);
lightObj.target.parent; // undfined

Expected behavior Transformations to the parent should continue to reflect on the target.

Versions: