code: function (time, deltaTime) {
      var progress;
      var now = this.now();
      var obj3d = this.el.object3D;
  
      this.checkForComponentChanged();
  
      // Lerp position
      if (this.lerpingPosition) {
        progress = (now - this.startLerpTimePosition) / this.duration;
        obj3d.position.lerpVectors(this.startPosition, this.targetPosition, progress);
        // console.log("new position", obj3d.position);
        if (progress >= 1) {
          this.lerpingPosition = false;
        }
      }
  
      // Slerp rotation
      if (this.lerpingRotation) {
        progress = (now - this.startLerpTimeRotation) / this.duration;
        THREE.Quaternion.slerp(this.startRotation, this.targetRotation, obj3d.quaternion, progress);
        if (progress >= 1) {
          this.lerpingRotation = false;
        }
      }
  
      // Lerp scale
      if (this.lerpingScale) {
        progress = (now - this.startLerpTimeScale) / this.duration;
        obj3d.scale.lerpVectors(this.startScale, this.targetScale, progress);
        if (progress >= 1) {
          this.lerpingScale = false;
        }
      }
    }
docs: Called on each scene tick.