Skip to content

Commit 5bd10da

Browse files
committed
feat: camera registration ops from node local state ctx
1 parent f9897be commit 5bd10da

File tree

3 files changed

+5
-9
lines changed

3 files changed

+5
-9
lines changed

src/composables/useCamera/index.ts

-3
Original file line numberDiff line numberDiff line change
@@ -50,9 +50,6 @@ export const useCamera = ({ sizes, scene }: Pick<TresContext, 'sizes'> & { scene
5050
}
5151
})
5252

53-
scene.userData.tres__registerCamera = registerCamera
54-
scene.userData.tres__deregisterCamera = deregisterCamera
55-
5653
onUnmounted(() => {
5754
cameras.value = []
5855
})

src/composables/useTresContextProvider/index.ts

+3-1
Original file line numberDiff line numberDiff line change
@@ -191,7 +191,9 @@ export function useTresContextProvider({
191191
provide('useTres', ctx)
192192

193193
// Add context to scene local state
194-
ctx.scene.value.__tres.root = ctx
194+
ctx.scene.value.__tres = {
195+
root: ctx,
196+
}
195197

196198
// Performance
197199
const updateInterval = 100 // Update interval in milliseconds

src/core/nodeOps.ts

+2-5
Original file line numberDiff line numberDiff line change
@@ -107,10 +107,7 @@ export const nodeOps: RendererOptions<TresObject, TresObject | null> = {
107107
if (child?.isObject3D) {
108108

109109
if (child?.isCamera) {
110-
if (!scene?.userData.tres__registerCamera)
111-
throw 'could not find tres__registerCamera on scene\'s userData'
112-
113-
scene?.userData.tres__registerCamera?.(child as unknown as Camera)
110+
child.__tres.root.registerCamera?.(child as unknown as Camera)
114111
}
115112

116113
if (
@@ -179,7 +176,7 @@ export const nodeOps: RendererOptions<TresObject, TresObject | null> = {
179176
}
180177

181178
const deregisterCameraIfRequired = (object: Object3D) => {
182-
const deregisterCamera = scene?.userData.tres__deregisterCamera
179+
const deregisterCamera = node.__tres.root.deregisterCamera
183180

184181
if (!deregisterCamera)
185182
throw 'could not find tres__deregisterCamera on scene\'s userData'

0 commit comments

Comments
 (0)