From d5b61499929ba27dd05fa511ae217ab5cc8fd0fc Mon Sep 17 00:00:00 2001 From: adrien Date: Mon, 26 Jan 2026 11:43:42 +0100 Subject: [PATCH] one utterance --- jsm/CameraControls.js | 2 +- jsm/Stats.js | 12 +++++++++--- jsm/TetraScene.js | 2 +- 3 files changed, 11 insertions(+), 5 deletions(-) diff --git a/jsm/CameraControls.js b/jsm/CameraControls.js index 74c860f..f4c977a 100644 --- a/jsm/CameraControls.js +++ b/jsm/CameraControls.js @@ -13,7 +13,7 @@ export default class CameraControls extends OrbitControls { // this.maxPolarAngle = 2.1 // this.minAzimuthAngle = 0.9 - Math.PI / 2 // this.maxAzimuthAngle = 2.14 - Math.PI / 2 - this.target.set(5.5, 10.5, 0) + this.target.set(5, 7.5, 0) this.addEventListener("start", () => domElement.style.cursor = "grabbing") this.addEventListener("end", () => domElement.style.cursor = "grab") diff --git a/jsm/Stats.js b/jsm/Stats.js index bbcb298..358aff7 100644 --- a/jsm/Stats.js +++ b/jsm/Stats.js @@ -192,10 +192,16 @@ class Stats { const speechSynthesisAvailable = 'speechSynthesis' in window; -function speak(text, volume=1) { - if (!speechSynthesisAvailable) return; - const utterance = new SpeechSynthesisUtterance(text); +let utterance; +if ('SpeechSynthesisUtterance' in window) { + utterance = new SpeechSynthesisUtterance(); utterance.lang = 'fr-FR'; +} + +function speak(text, volume=1) { + if (!utterance) return; + + utterance.text = text ; utterance.volume = volume; speechSynthesis.speak(utterance); } diff --git a/jsm/TetraScene.js b/jsm/TetraScene.js index 3a7454a..dc94715 100644 --- a/jsm/TetraScene.js +++ b/jsm/TetraScene.js @@ -22,7 +22,7 @@ export class TetraScene extends THREE.Scene { this.renderer.domElement.tabIndex = 1 this.camera = new THREE.PerspectiveCamera(100, window.innerWidth / window.innerHeight, 0.1, 1000) - this.camera.position.set(5.5, 15, 13) + this.camera.position.set(5, 4, 13) this.controls = new CameraControls(this.camera, this.renderer.domElement)