diff --git a/client/composables/useDevtoolsHook.ts b/client/composables/useDevtoolsHook.ts index a344653..3e574c4 100644 --- a/client/composables/useDevtoolsHook.ts +++ b/client/composables/useDevtoolsHook.ts @@ -183,9 +183,9 @@ export function useDevtoolsHook(): DevtoolsHookReturn { cb(context: TresContext) { scene.value = context.scene.value scene.objects = countObjectsInScene(context.scene.value) - Object.assign(gl.renderer.info.render, context.renderer.value.info.render) - Object.assign(gl.renderer.info.memory, context.renderer.value.info.memory) - gl.renderer.info.programs = [...(context.renderer.value.info.programs || []) as unknown as ProgramObject[]] + Object.assign(gl.renderer.info.render, context.renderer.instance.value.info.render) + Object.assign(gl.renderer.info.memory, context.renderer.instance.value.info.memory) + gl.renderer.info.programs = [...(context.renderer.instance.value.info.programs || []) as unknown as ProgramObject[]] Object.assign(gl.fps, context.perf.fps) gl.fps.accumulator = [...context.perf.fps.accumulator] Object.assign(gl.memory, context.perf.memory) diff --git a/package.json b/package.json index f2c3734..4ffffe2 100644 --- a/package.json +++ b/package.json @@ -55,7 +55,7 @@ "dependencies": { "@nuxt/kit": "^3.16.0", "@nuxt/ui": "^2.21.0", - "@tresjs/core": "5.0.0-next.1", + "@tresjs/core": "5.0.0-next.3", "@unocss/nuxt": "^66.0.0", "defu": "^6.1.4", "mlly": "^1.7.4", @@ -77,7 +77,7 @@ "@nuxt/test-utils": "^3.18.0", "@nuxt/ui": "^2.20.0", "@release-it/conventional-changelog": "^9.0.3", - "@tresjs/cientos": "5.0.0-next.0", + "@tresjs/cientos": "5.0.0-next.2", "@types/node": "^22.15.21", "@types/three": "^0.171.0", "@unocss/nuxt": "^66.1.2", diff --git a/playground/components/AnimatedDonnut.vue b/playground/components/AnimatedDonnut.vue index 98866a9..b8ca628 100644 --- a/playground/components/AnimatedDonnut.vue +++ b/playground/components/AnimatedDonnut.vue @@ -7,10 +7,11 @@ const donutRef = ref() const { onBeforeRender } = useLoop() -onBeforeRender(({ delta }) => { +onBeforeRender(({ delta /* invalidate */ }) => { if (donutRef.value) { donutRef.value.rotation.x += delta donutRef.value.rotation.y += delta + // invalidate() } }) diff --git a/playground/package.json b/playground/package.json index 85cb048..83e40f1 100644 --- a/playground/package.json +++ b/playground/package.json @@ -8,8 +8,8 @@ "generate": "nuxi generate" }, "dependencies": { - "@tresjs/cientos": "https://pkg.pr.new/@tresjs/cientos@14afe95", - "@tresjs/core": "https://pkg.pr.new/@tresjs/core@0e8ac2b" + "@tresjs/cientos": "5.0.0-next.2", + "@tresjs/core": "5.0.0-next.3" }, "devDependencies": { "@nuxt/devtools": "1.6.4", diff --git a/playground/pnpm-lock.yaml b/playground/pnpm-lock.yaml index 49e25a9..d0ee890 100644 --- a/playground/pnpm-lock.yaml +++ b/playground/pnpm-lock.yaml @@ -9,11 +9,11 @@ importers: .: dependencies: '@tresjs/cientos': - specifier: https://pkg.pr.new/@tresjs/cientos@14afe95 - version: https://pkg.pr.new/@tresjs/cientos@14afe95(@tresjs/core@https://pkg.pr.new/@tresjs/core@0e8ac2b(three@0.176.0)(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3)))(@types/three@0.171.0)(three@0.176.0)(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3)) + specifier: 5.0.0-next.2 + version: 5.0.0-next.2(@tresjs/core@5.0.0-next.3(three@0.176.0)(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3)))(@types/three@0.171.0)(three@0.176.0)(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3)) '@tresjs/core': - specifier: https://pkg.pr.new/@tresjs/core@0e8ac2b - version: https://pkg.pr.new/@tresjs/core@0e8ac2b(three@0.176.0)(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3)) + specifier: 5.0.0-next.3 + version: 5.0.0-next.3(three@0.176.0)(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3)) devDependencies: '@nuxt/devtools': specifier: 1.6.4 @@ -681,6 +681,9 @@ packages: resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} engines: {node: '>=14'} + '@pmndrs/pointer-events@6.6.17': + resolution: {integrity: sha512-+TumRqoq5p9ttBtSaRq0sifw2F9+EQRIeHGR3G2CVCibyfBtzbwaD1UbtYANQO03Fzks+CIsku20GpNAXihp7A==} + '@polka/url@1.0.0-next.29': resolution: {integrity: sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==} @@ -881,17 +884,15 @@ packages: '@speed-highlight/core@1.2.7': resolution: {integrity: sha512-0dxmVj4gxg3Jg879kvFS/msl4s9F3T9UXC1InxgOf7t5NvcPD97u/WTA5vL/IxWHMn7qSxBozqrnnE2wvl1m8g==} - '@tresjs/cientos@https://pkg.pr.new/@tresjs/cientos@14afe95': - resolution: {tarball: https://pkg.pr.new/@tresjs/cientos@14afe95} - version: 4.3.1 + '@tresjs/cientos@5.0.0-next.2': + resolution: {integrity: sha512-e0u0gkPGYlj5sNNwM9BrRxxVU6Gz44oj9cFljC/2aS2AhewkNOjL5dzaJZo/s08K3L8N8DPuvGUSYEdU8hyx+g==} peerDependencies: '@tresjs/core': '>=4.2.1' three: '>=0.133' vue: '>=3.3' - '@tresjs/core@https://pkg.pr.new/@tresjs/core@0e8ac2b': - resolution: {tarball: https://pkg.pr.new/@tresjs/core@0e8ac2b} - version: 5.0.0-next.0 + '@tresjs/core@5.0.0-next.3': + resolution: {integrity: sha512-YuCnowKeVF1C9/lHJRkSoZN45Zy4N7saO2n2YJbaLVrzN4cBlonuDyH9qyAm9mgGQ1HZ8vIsDN6t/ANQ2iNXZw==} peerDependencies: three: '>=0.133' vue: '>=3.4' @@ -4575,6 +4576,8 @@ snapshots: '@pkgjs/parseargs@0.11.0': optional: true + '@pmndrs/pointer-events@6.6.17': {} + '@polka/url@1.0.0-next.29': {} '@poppinss/colors@4.1.4': @@ -4720,9 +4723,9 @@ snapshots: '@speed-highlight/core@1.2.7': {} - '@tresjs/cientos@https://pkg.pr.new/@tresjs/cientos@14afe95(@tresjs/core@https://pkg.pr.new/@tresjs/core@0e8ac2b(three@0.176.0)(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3)))(@types/three@0.171.0)(three@0.176.0)(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3))': + '@tresjs/cientos@5.0.0-next.2(@tresjs/core@5.0.0-next.3(three@0.176.0)(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3)))(@types/three@0.171.0)(three@0.176.0)(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3))': dependencies: - '@tresjs/core': https://pkg.pr.new/@tresjs/core@0e8ac2b(three@0.176.0)(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3)) + '@tresjs/core': 5.0.0-next.3(three@0.176.0)(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3)) '@vueuse/core': 12.8.2(typescript@5.8.3) camera-controls: 2.10.1(three@0.176.0) stats-gl: 2.4.2(@types/three@0.171.0)(three@0.176.0) @@ -4737,9 +4740,10 @@ snapshots: - react - typescript - '@tresjs/core@https://pkg.pr.new/@tresjs/core@0e8ac2b(three@0.176.0)(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3))': + '@tresjs/core@5.0.0-next.3(three@0.176.0)(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3))': dependencies: '@alvarosabu/utils': 3.2.0 + '@pmndrs/pointer-events': 6.6.17 '@vue/devtools-api': 7.7.6 '@vueuse/core': 12.8.2(typescript@5.8.3) three: 0.176.0 @@ -4937,7 +4941,7 @@ snapshots: '@vue/devtools-core@7.6.8(vite@6.3.5(@types/node@22.15.21)(jiti@2.4.2)(terser@5.39.2)(yaml@2.8.0))(vue@3.5.14(typescript@5.8.3))': dependencies: - '@vue/devtools-kit': 7.6.8 + '@vue/devtools-kit': 7.7.6 '@vue/devtools-shared': 7.7.6 mitt: 3.0.1 nanoid: 5.1.5 diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 860a5ae..064cba9 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -20,8 +20,8 @@ importers: specifier: ^2.21.0 version: 2.22.0(focus-trap@7.6.4)(jwt-decode@4.0.0)(magicast@0.3.5)(vite@6.3.5(@types/node@22.15.21)(jiti@2.4.2)(terser@5.39.2)(yaml@2.8.0))(vue@3.5.14(typescript@5.8.3))(zod@3.25.28) '@tresjs/core': - specifier: 5.0.0-next.1 - version: 5.0.0-next.1(three@0.171.0)(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3)) + specifier: 5.0.0-next.3 + version: 5.0.0-next.3(three@0.171.0)(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3)) '@unocss/nuxt': specifier: ^66.0.0 version: 66.1.2(magicast@0.3.5)(postcss@8.5.3)(vite@6.3.5(@types/node@22.15.21)(jiti@2.4.2)(terser@5.39.2)(yaml@2.8.0))(vue@3.5.14(typescript@5.8.3))(webpack@5.99.9(esbuild@0.25.4)) @@ -78,8 +78,8 @@ importers: specifier: ^9.0.3 version: 9.0.4(conventional-commits-filter@5.0.0)(conventional-commits-parser@6.1.0)(release-it@17.11.0(typescript@5.8.3)) '@tresjs/cientos': - specifier: 5.0.0-next.0 - version: 5.0.0-next.0(@tresjs/core@5.0.0-next.1(three@0.171.0)(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3)))(@types/three@0.171.0)(three@0.171.0)(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3)) + specifier: 5.0.0-next.2 + version: 5.0.0-next.2(@tresjs/core@5.0.0-next.3(three@0.171.0)(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3)))(@types/three@0.171.0)(three@0.171.0)(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3)) '@types/node': specifier: ^22.15.21 version: 22.15.21 @@ -1051,6 +1051,9 @@ packages: resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} engines: {node: '>=14'} + '@pmndrs/pointer-events@6.6.17': + resolution: {integrity: sha512-+TumRqoq5p9ttBtSaRq0sifw2F9+EQRIeHGR3G2CVCibyfBtzbwaD1UbtYANQO03Fzks+CIsku20GpNAXihp7A==} + '@pnpm/config.env-replace@1.1.0': resolution: {integrity: sha512-htyl8TWnKL7K/ESFa1oW2UB5lVDxuF5DpM7tBi6Hu2LNL3mWkIzNLG6N4zoCUP1lCKNxWy/3iu8mS8MvToGd6w==} engines: {node: '>=12.22.0'} @@ -1316,15 +1319,15 @@ packages: '@tootallnate/quickjs-emscripten@0.23.0': resolution: {integrity: sha512-C5Mc6rdnsaJDjO3UpGW/CQTHtCKaYlScZTly4JIu97Jxo/odCiH0ITnDXSJPTOrEKk/ycSZ0AOgTmkDtkOsvIA==} - '@tresjs/cientos@5.0.0-next.0': - resolution: {integrity: sha512-Sj8CyYoOpFU95MnvTUwauz2ce3T39tpHCFX15XKzgQF+WGBhWhEGfkvjh35tTgNUZFPMB8BwUeGlTN5CYolaAQ==} + '@tresjs/cientos@5.0.0-next.2': + resolution: {integrity: sha512-e0u0gkPGYlj5sNNwM9BrRxxVU6Gz44oj9cFljC/2aS2AhewkNOjL5dzaJZo/s08K3L8N8DPuvGUSYEdU8hyx+g==} peerDependencies: '@tresjs/core': '>=4.2.1' three: '>=0.133' vue: 3.5.14 - '@tresjs/core@5.0.0-next.1': - resolution: {integrity: sha512-FRV/f89stpjZ558qjTpP34aGsATZ5UF+m4n3sQ+kVy6n1/a3ravG5TAzJZmwNKM9Qql9zb/S4Cn5KsgMR2GAsA==} + '@tresjs/core@5.0.0-next.3': + resolution: {integrity: sha512-YuCnowKeVF1C9/lHJRkSoZN45Zy4N7saO2n2YJbaLVrzN4cBlonuDyH9qyAm9mgGQ1HZ8vIsDN6t/ANQ2iNXZw==} peerDependencies: three: '>=0.133' vue: 3.5.14 @@ -7365,6 +7368,8 @@ snapshots: '@pkgjs/parseargs@0.11.0': optional: true + '@pmndrs/pointer-events@6.6.17': {} + '@pnpm/config.env-replace@1.1.0': {} '@pnpm/network.ca-file@1.0.2': @@ -7584,9 +7589,9 @@ snapshots: '@tootallnate/quickjs-emscripten@0.23.0': {} - '@tresjs/cientos@5.0.0-next.0(@tresjs/core@5.0.0-next.1(three@0.171.0)(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3)))(@types/three@0.171.0)(three@0.171.0)(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3))': + '@tresjs/cientos@5.0.0-next.2(@tresjs/core@5.0.0-next.3(three@0.171.0)(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3)))(@types/three@0.171.0)(three@0.171.0)(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3))': dependencies: - '@tresjs/core': 5.0.0-next.1(three@0.171.0)(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3)) + '@tresjs/core': 5.0.0-next.3(three@0.171.0)(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3)) '@vueuse/core': 12.8.2(typescript@5.8.3) camera-controls: 2.10.1(three@0.171.0) stats-gl: 2.4.2(@types/three@0.171.0)(three@0.171.0) @@ -7601,9 +7606,10 @@ snapshots: - react - typescript - '@tresjs/core@5.0.0-next.1(three@0.171.0)(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3))': + '@tresjs/core@5.0.0-next.3(three@0.171.0)(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3))': dependencies: '@alvarosabu/utils': 3.2.0 + '@pmndrs/pointer-events': 6.6.17 '@vue/devtools-api': 7.7.6 '@vueuse/core': 12.8.2(typescript@5.8.3) three: 0.171.0