From d2e066b7ba1e5f9267017d297e5f2f4002124aa6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?H=C3=A5kon=20Flatval?= Date: Mon, 2 Sep 2024 09:35:12 +0200 Subject: [PATCH 1/2] fix: some tweenjs animations not triggering --- .../360-images/visual-tests/Image360.VisualTest.ts | 7 ++++--- .../packages/api/src/api-helpers/Image360ApiHelper.ts | 10 ++++++++-- .../packages/camera-manager/src/Flexible/moveCamera.ts | 2 ++ .../camera-manager/src/StationaryCameraManager.ts | 1 + 4 files changed, 15 insertions(+), 5 deletions(-) diff --git a/viewer/packages/360-images/visual-tests/Image360.VisualTest.ts b/viewer/packages/360-images/visual-tests/Image360.VisualTest.ts index e9517738219..1b127f7ba38 100644 --- a/viewer/packages/360-images/visual-tests/Image360.VisualTest.ts +++ b/viewer/packages/360-images/visual-tests/Image360.VisualTest.ts @@ -161,7 +161,7 @@ export default class Image360VisualTestFixture extends StreamingVisualTestFixtur function animateTransition() { const from = { t: 0 }; const to = { t: 1 }; - const anim = new TWEEN.Tween(from) + const tween = new TWEEN.Tween(from) .to(to, 1000) .onUpdate(() => { const animatedPosition = new THREE.Vector3().lerpVectors(translationFrom, translationTo, from.t); @@ -170,9 +170,10 @@ export default class Image360VisualTestFixture extends StreamingVisualTestFixtur }) .easing(num => TWEEN.Easing.Quintic.InOut(num)) .start(TWEEN.now()); + TWEEN.add(tween); - anim.onComplete(() => { - anim.stop(); + tween.onComplete(() => { + tween.stop(); clearInterval(renderTrigger); camera.position.copy(translationTo); const cameraForward = camera.getWorldDirection(new THREE.Vector3()); diff --git a/viewer/packages/api/src/api-helpers/Image360ApiHelper.ts b/viewer/packages/api/src/api-helpers/Image360ApiHelper.ts index 4a06df33d22..2e47c7c3474 100644 --- a/viewer/packages/api/src/api-helpers/Image360ApiHelper.ts +++ b/viewer/packages/api/src/api-helpers/Image360ApiHelper.ts @@ -394,6 +394,7 @@ export class Image360ApiHelper { }) .easing(num => TWEEN.Easing.Quintic.InOut(num)) .start(TWEEN.now()); + TWEEN.add(tween); return new Promise(resolve => { tween.onComplete(() => { @@ -420,6 +421,7 @@ export class Image360ApiHelper { .delay(delay) .easing(num => TWEEN.Easing.Quintic.InOut(num)) .start(TWEEN.now()); + TWEEN.add(tween); return new Promise(resolve => { tween.onComplete(() => { @@ -608,7 +610,7 @@ function moveCameraPositionTo(manager: FlexibleCameraManager, position: Vector3, const tempPosition = new Vector3(); manager.controls.temporarilyDisableKeyboard = true; - new TWEEN.Tween(from) + const tween = new TWEEN.Tween(from) .to(to, duration) .onUpdate(() => { tempPosition.set(from.x, from.y, from.z); @@ -624,13 +626,15 @@ function moveCameraPositionTo(manager: FlexibleCameraManager, position: Vector3, manager.controls.temporarilyDisableKeyboard = false; }) .start(TWEEN.now()); + + TWEEN.add(tween); } function tweenCameraToDefaultFov(manager: FlexibleCameraManager, duration: number): void { const from = { fov: manager.controls.fov }; const to = { fov: manager.controls.options.defaultFov }; const delay = duration * 0.25; - new TWEEN.Tween(from) + const tween = new TWEEN.Tween(from) .to(to, duration * 0.5) .onUpdate(() => { manager.controls.setFov(from.fov); @@ -641,4 +645,6 @@ function tweenCameraToDefaultFov(manager: FlexibleCameraManager, duration: numbe .delay(delay) .easing(num => TWEEN.Easing.Quintic.InOut(num)) .start(TWEEN.now()); + + TWEEN.add(tween); } diff --git a/viewer/packages/camera-manager/src/Flexible/moveCamera.ts b/viewer/packages/camera-manager/src/Flexible/moveCamera.ts index 23ea898376d..862a24c9bdc 100644 --- a/viewer/packages/camera-manager/src/Flexible/moveCamera.ts +++ b/viewer/packages/camera-manager/src/Flexible/moveCamera.ts @@ -128,6 +128,8 @@ export function moveCameraTargetTo(manager: FlexibleCameraManager, target: Vecto removeEventListeners(); }) .start(TWEEN.now()); + + TWEEN.add(tween); } function createTweenAnimationWithStop>( diff --git a/viewer/packages/camera-manager/src/StationaryCameraManager.ts b/viewer/packages/camera-manager/src/StationaryCameraManager.ts index 28cbbebb859..3f4fdf9826c 100644 --- a/viewer/packages/camera-manager/src/StationaryCameraManager.ts +++ b/viewer/packages/camera-manager/src/StationaryCameraManager.ts @@ -142,6 +142,7 @@ export class StationaryCameraManager implements CameraManager { }) .easing(num => TWEEN.Easing.Quintic.InOut(num)) .start(TWEEN.now()); + TWEEN.add(tween); return new Promise(resolve => { tween.onComplete(() => { From 35f661fef5c5613ec43d33c99d987861e04812c6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?H=C3=A5kon=20Flatval?= Date: Mon, 2 Sep 2024 09:36:36 +0200 Subject: [PATCH 2/2] chore: bump Reveal version to 4.17.1 --- viewer/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/viewer/package.json b/viewer/package.json index 44e96331a3d..824c4b455e8 100644 --- a/viewer/package.json +++ b/viewer/package.json @@ -1,6 +1,6 @@ { "name": "@cognite/reveal", - "version": "4.17.0", + "version": "4.17.1", "description": "WebGL based 3D viewer for CAD and point clouds processed in Cognite Data Fusion.", "homepage": "https://github.com/cognitedata/reveal/tree/master/viewer", "repository": {