Skip to content
This repository was archived by the owner on Feb 1, 2026. It is now read-only.

Commit 682d38f

Browse files
authored
feat: 615-adapt-camera-dependant-abstractions-to-core-v5-camera-changes (#621)
* feat: adapt core camera ctx changes to cientos * fix: remove unused Camera type import in useFBO module - Removed the unused `Camera` type import from `index.ts` in the `useFBO` module to clean up the code and improve maintainability.
1 parent 2ae981f commit 682d38f

File tree

20 files changed

+77
-62
lines changed

20 files changed

+77
-62
lines changed

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@
7070
},
7171
"devDependencies": {
7272
"@release-it/conventional-changelog": "^10.0.0",
73-
"@tresjs/core": "https://pkg.pr.new/@tresjs/core@ff35bfc",
73+
"@tresjs/core": "https://pkg.pr.new/@tresjs/core@b630003",
7474
"@tresjs/eslint-config": "^1.4.0",
7575
"@types/node": "^22.10.5",
7676
"@types/three": "^0.172.0",

playground/vue/src/pages/abstractions/GlobalAudioDemo.vue

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -31,16 +31,18 @@ watch(soundRef, (value) => {
3131
:near="0.1"
3232
:far="1000"
3333
/>
34-
<GlobalAudio
35-
ref="soundRef"
36-
:src="exampleAudio"
37-
:volume="0.5"
38-
:loop="true"
39-
:playback-rate="1"
40-
play-trigger="playBtn"
41-
stop-trigger="stopBtn"
42-
@is-playing="(e) => isPlaying = e"
43-
/>
34+
<Suspense>
35+
<GlobalAudio
36+
ref="soundRef"
37+
:src="exampleAudio"
38+
:volume="0.5"
39+
:loop="true"
40+
:playback-rate="1"
41+
play-trigger="playBtn"
42+
stop-trigger="stopBtn"
43+
@is-playing="(e) => isPlaying = e"
44+
/>
45+
</Suspense>
4446
</TresCanvas>
4547
</template>
4648

playground/vue/src/pages/controls/ScrollControlsDemo.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ const progress = ref(0)
1313
1414
watchEffect(() => {
1515
// eslint-disable-next-line no-console
16-
console.log('jaime ~ progress:', progress.value)
16+
console.log('progress:', progress.value)
1717
})
1818
1919
const gl = {

pnpm-lock.yaml

Lines changed: 5 additions & 5 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/core/abstractions/GlobalAudio.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ export const GlobalAudio = defineComponent<AudioProps>({
6969
const { camera, renderer } = useTresContext()
7070

7171
const listener = new AudioListener()
72-
camera.value?.add(listener)
72+
camera.activeCamera.value?.add(listener)
7373

7474
const sound = new Audio(listener)
7575
const audioLoader = new AudioLoader()

src/core/abstractions/MouseParallax.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@ onBeforeRender(({ delta /* invalidate */ }) => {
101101
102102
watch(
103103
() => cameraGroupRef.value,
104-
value => value?.add(camera.value as Object3D),
104+
value => value?.add(camera.activeCamera.value as Object3D),
105105
)
106106
</script>
107107

src/core/abstractions/PositionalAudio.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,7 @@ const createHelper = () => {
119119
}
120120
121121
const dispose = () => {
122-
camera?.value?.remove(listener)
122+
camera.activeCamera.value?.remove(listener)
123123
124124
disposeAudio()
125125
disposeHelper()

src/core/abstractions/useFBO/index.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { useLoop, useTresContext } from '@tresjs/core'
22
import { DepthTexture, FloatType, HalfFloatType, LinearFilter, WebGLRenderTarget } from 'three'
33
import { isReactive, onBeforeUnmount, reactive, ref, toRefs, watch } from 'vue'
4-
import type { Camera, RenderTargetOptions } from 'three'
4+
import type { RenderTargetOptions } from 'three'
55
import type { Ref } from 'vue'
66

77
export interface FboOptions {
@@ -85,7 +85,7 @@ export function useFBO(options: FboOptions) {
8585
if (autoRender.value) {
8686
renderer.instance.value.setRenderTarget(target.value)
8787
renderer.instance.value.clear()
88-
renderer.instance.value.render(scene.value, camera.value as Camera)
88+
renderer.instance.value.render(scene.value, camera.activeCamera.value)
8989

9090
renderer.instance.value.setRenderTarget(null)
9191
}

src/core/controls/CameraControls.vue

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -316,7 +316,7 @@ const props = withDefaults(defineProps<CameraControlsProps>(), {
316316
maxPolarAngle: Math.PI,
317317
minAzimuthAngle: Number.NEGATIVE_INFINITY,
318318
maxAzimuthAngle: Number.POSITIVE_INFINITY,
319-
distance: () => useTresContext().camera.value!.position.z,
319+
distance: () => useTresContext().camera.activeCamera.value!.position.z,
320320
minDistance: Number.EPSILON,
321321
maxDistance: Number.POSITIVE_INFINITY,
322322
infinityDolly: false,
@@ -336,8 +336,8 @@ const props = withDefaults(defineProps<CameraControlsProps>(), {
336336
boundaryFriction: 0.0,
337337
restThreshold: 0.01,
338338
colliderMeshes: () => [],
339-
mouseButtons: () => getMouseButtons(useTresContext().camera.value),
340-
touches: () => getTouches(useTresContext().camera.value),
339+
mouseButtons: () => getMouseButtons(useTresContext().camera.activeCamera.value),
340+
touches: () => getTouches(useTresContext().camera.activeCamera.value),
341341
})
342342
343343
const emit = defineEmits(['change', 'start', 'end'])
@@ -387,7 +387,9 @@ const subsetOfTHREE = {
387387
}
388388
CameraControls.install({ THREE: subsetOfTHREE })
389389
390-
const { camera: activeCamera, renderer, extend, controls } = useTresContext()
390+
const { camera: ctxCamera, renderer, extend, controls } = useTresContext()
391+
392+
const { activeCamera } = ctxCamera
391393
392394
const contextDomElement = computed(() => renderer.instance.value.domElement)
393395

src/core/controls/KeyboardControls.vue

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,9 @@ const emit = defineEmits(['isLock', 'change'])
6161
6262
const { moveSpeed } = toRefs(props)
6363
64-
const { camera: activeCamera, controls, renderer } = useTresContext()
64+
const { camera: ctxCamera, controls, renderer } = useTresContext()
65+
66+
const { activeCamera } = ctxCamera
6567
6668
const contextDomElement = computed(() => renderer.instance.value.domElement)
6769

0 commit comments

Comments
 (0)