Jelajahi Sumber

fix: added forgotten ready emit

Tino Koch 3 minggu lalu
induk
melakukan
8b97e850d1

+ 1 - 1
playground/vue/src/pages/basic/ready/OnTresReadyWatcher.vue

@@ -24,7 +24,7 @@ const captureCallback = (ctx: TresContext) => {
   if (!isCalled.value) {
     isCalled.value = true
     const isCtxOk = !!(ctx && 'renderer' in ctx && 'scene' in ctx)
-    const renderer = ctx.renderer.value
+    const renderer = ctx.renderer.instance.value
     const isRendererOk = !!renderer
     const domElement = renderer?.domElement
     const isDomElementOk = !!(domElement) && domElement.width > 0 && domElement.height > 0

+ 3 - 1
playground/vue/src/pages/basic/ready/index.vue

@@ -16,9 +16,11 @@ const onReadyMessages = shallowRef([
 ]) as ShallowRef<TestResult[]>
 
 let numOnReadyCalls = 0
+
 const onReady = function (ctx: TresContext) {
   numOnReadyCalls++
-  const renderer = ctx.renderer.value
+
+  const renderer = ctx.renderer.instance.value
   const domElement = renderer?.domElement
   const isPassedCanvas = domElement.width > 0 && domElement.width > 0
   const isPassedCtx = !!renderer && 'camera' in ctx && !!(ctx.camera.value)

+ 4 - 0
src/components/TresCanvas.vue

@@ -244,6 +244,10 @@ onMounted(() => {
     )
   })
 
+  context.value.onReady(() => {
+    if (context.value) { emit('ready', context.value) }
+  })
+
   // HMR support
   if (import.meta.hot && context.value) { import.meta.hot.on('vite:afterUpdate', () => handleHMR(context.value as TresContext)) }
 })