diff --git a/packages/frontend/package.json b/packages/frontend/package.json index ec5f31227c..6ea85ff6ce 100644 --- a/packages/frontend/package.json +++ b/packages/frontend/package.json @@ -17,10 +17,10 @@ }, "dependencies": { "@analytics/google-analytics": "1.1.0", - "@babylonjs/core": "9.3.3", - "@babylonjs/loaders": "9.3.3", - "@babylonjs/materials": "9.3.3", - "@babylonjs/inspector": "9.3.3", + "@babylonjs/core": "9.3.4", + "@babylonjs/loaders": "9.3.4", + "@babylonjs/materials": "9.3.4", + "@babylonjs/inspector": "9.3.4", "@discordapp/twemoji": "16.0.1", "@github/webauthn-json": "2.1.1", "@mcaptcha/core-glue": "0.1.0-alpha-5", diff --git a/packages/frontend/src/world/room/engine.ts b/packages/frontend/src/world/room/engine.ts index bda3a271e9..802872ec2a 100644 --- a/packages/frontend/src/world/room/engine.ts +++ b/packages/frontend/src/world/room/engine.ts @@ -851,12 +851,11 @@ export class RoomEngine extends EventEmitter { merged.name = 'preMerged'; merged.material.freeze(); - // subMaterialまでfreezeするとbabylon 9.3.2以降、snapshot rendering + selection outlineの組み合わせでなんかレンダリングがグリッチする - //if (merged.material instanceof BABYLON.MultiMaterial) { - // for (const subMat of merged.material.subMaterials) { - // subMat.freeze(); - // } - //} + if (merged.material instanceof BABYLON.MultiMaterial) { + for (const subMat of merged.material.subMaterials) { + subMat.freeze(); + } + } // TODO: 再帰的にする for (const m of loaderResult.transformNodes) { diff --git a/packages/frontend/src/world/room/utility.ts b/packages/frontend/src/world/room/utility.ts index 6aaf7f577d..a1e1b49e4f 100644 --- a/packages/frontend/src/world/room/utility.ts +++ b/packages/frontend/src/world/room/utility.ts @@ -308,12 +308,11 @@ export class ModelManager { merged.parent = this.root; merged.material.freeze(); - // subMaterialまでfreezeするとbabylon 9.3.2以降、snapshot rendering + selection outlineの組み合わせでなんかレンダリングがグリッチする - //if (merged.material instanceof BABYLON.MultiMaterial) { - // for (const subMat of merged.material.subMaterials) { - // (subMat as BABYLON.PBRMaterial).freeze(); - // } - //} + if (merged.material instanceof BABYLON.MultiMaterial) { + for (const subMat of merged.material.subMaterials) { + (subMat as BABYLON.PBRMaterial).freeze(); + } + } merged.freezeWorldMatrix(); merged.metadata = { ...this.root.metadata }; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index aaf3e3f583..9755c049c2 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -612,17 +612,17 @@ importers: specifier: 1.1.0 version: 1.1.0 '@babylonjs/core': - specifier: 9.3.3 - version: 9.3.3 + specifier: 9.3.4 + version: 9.3.4 '@babylonjs/inspector': - specifier: 9.3.3 - version: 9.3.3(ce8c0c0c1eae6416d162e7582e431fa4) + specifier: 9.3.4 + version: 9.3.4(39831d7b27952802810ceefb54644126) '@babylonjs/loaders': - specifier: 9.3.3 - version: 9.3.3(@babylonjs/core@9.3.3)(babylonjs-gltf2interface@8.51.2) + specifier: 9.3.4 + version: 9.3.4(@babylonjs/core@9.3.4)(babylonjs-gltf2interface@8.51.2) '@babylonjs/materials': - specifier: 9.3.3 - version: 9.3.3(@babylonjs/core@9.3.3) + specifier: 9.3.4 + version: 9.3.4(@babylonjs/core@9.3.4) '@discordapp/twemoji': specifier: 16.0.1 version: 16.0.1 @@ -1732,8 +1732,8 @@ packages: peerDependencies: '@babylonjs/core': ^8.0.0 - '@babylonjs/core@9.3.3': - resolution: {integrity: sha512-7/H736aO2NRi9/ocOWKUpzwt0rrL9fWmDIeLvM0F9g2cGURLLO26ZwqzoJmA19UvBAgrud8XgVZdZ6TaFl0OFQ==} + '@babylonjs/core@9.3.4': + resolution: {integrity: sha512-ZwaIfw9o9kpvloErFaV28QEyofubZu67gFKzxSOcbZwqqitIF8p7xbvt6QHAnIhczEKVYLYilzqyKIlNqYcaqw==} '@babylonjs/gui-editor@8.51.2': resolution: {integrity: sha512-+kG9551b0iPK/BcPhdK3QUlaA+BJ9pt3LGiWkhyEMKYfZ0dJRjjmoFZuCAehlYU9sxEiWf1C/y96BrPt2QodIA==} @@ -1748,8 +1748,8 @@ packages: peerDependencies: '@babylonjs/core': ^8.0.0 - '@babylonjs/inspector@9.3.3': - resolution: {integrity: sha512-icGx95bcj6J12TT/GU5LKOcK+QH747rqZLK/YfjFRnQ4iAK9j9WcKsIHHh+9fetBdTzDAcgybzZnxpiw3+VvLA==} + '@babylonjs/inspector@9.3.4': + resolution: {integrity: sha512-kr2hAVgipnc4IRvxNDeX2DgKRuYmP/QfD0L5goBLG02hBGJGBeU7kRnHxbUUJrmr5PLtReTKSBEsqvx1kHE7cA==} hasBin: true peerDependencies: '@babylonjs/addons': ^9.0.0 @@ -1759,6 +1759,7 @@ packages: '@babylonjs/loaders': ^9.0.0 '@babylonjs/materials': ^9.0.0 '@babylonjs/serializers': ^9.0.0 + '@fluentui-contrib/react-resize-handle': ^0.8.4 '@fluentui-contrib/react-virtualizer': ^1.0.0 '@fluentui/react-components': ^9.70.0 '@fluentui/react-icons': ^2.0.310 @@ -1766,14 +1767,14 @@ packages: react-dom: '>=16.14.0 <20.0.0' usehooks-ts: ^3.1.1 - '@babylonjs/loaders@9.3.3': - resolution: {integrity: sha512-0wgXYBcBgJ/OYFo83bm6SGUv2Mo9puc6YiRWWe2Rni8wSSqi6LCDHlQ1Suil8kluhu9zimdpbTv9nhvlyExGjw==} + '@babylonjs/loaders@9.3.4': + resolution: {integrity: sha512-3HA8OUaqa5/Q9Jl7g2poN+YGQy1qGd0CHbYkkZoKeKE68fZNtWPQbKHMJzP+0wmoJHorVaLLwDxZFsG9oG0xQA==} peerDependencies: '@babylonjs/core': ^9.0.0 babylonjs-gltf2interface: ^9.0.0 - '@babylonjs/materials@9.3.3': - resolution: {integrity: sha512-QyW0Sgn0E0jBsbcgXmGtpeWUNLTvQRAE8Ax+bzqjOZ6rgaAN/X8EWdMywqJrVxc/YglixaQC2IZo9ShzIa+tgA==} + '@babylonjs/materials@9.3.4': + resolution: {integrity: sha512-9nakZasS28K4y0m9EgdOiGDKlcCCVknwjKJ7u+CtmcNGuVD9kg4qa2BCLillgApircn86CuygaiJF3ht3K2GfA==} peerDependencies: '@babylonjs/core': ^9.0.0 @@ -2338,6 +2339,15 @@ packages: '@floating-ui/utils@0.2.10': resolution: {integrity: sha512-aGTxbpbg8/b5JfU1HXSrbH3wXZuLPJcNEcZQFMxLs3oSzgtVu6nFPkbbGGUvBcUjKV2YyB9Wxxabo+HEH9tcRQ==} + '@fluentui-contrib/react-resize-handle@0.8.4': + resolution: {integrity: sha512-g3cJ3q+nn32BB5b5mEtuSh6sGNYOGcKvRxQljvfg+UAhStceCPZYRM8gF+HswPPhQ0LUR6h780WMe072ndR6Lw==} + peerDependencies: + '@fluentui/react-components': '>=9.70.0 <10.0.0' + '@types/react': '>=16.8.0 <20.0.0' + '@types/react-dom': '>=16.8.0 <20.0.0' + react: '>=16.8.0 <20.0.0' + react-dom: '>=16.8.0 <20.0.0' + '@fluentui-contrib/react-virtualizer@0.5.4': resolution: {integrity: sha512-Tvet4HaE7G+R11HlRrydohBGJaGS94cUmWma0c/E3MbDj1eGgo5yLSoU3XvwksImb1KfRxpFKWEZ99xlzVhiOA==} peerDependencies: @@ -11957,32 +11967,33 @@ snapshots: '@babel/helper-string-parser': 7.27.1 '@babel/helper-validator-identifier': 7.28.5 - '@babylonjs/addons@8.51.2(@babylonjs/core@9.3.3)': + '@babylonjs/addons@8.51.2(@babylonjs/core@9.3.4)': dependencies: - '@babylonjs/core': 9.3.3 + '@babylonjs/core': 9.3.4 - '@babylonjs/core@9.3.3': {} + '@babylonjs/core@9.3.4': {} - '@babylonjs/gui-editor@8.51.2(@babylonjs/core@9.3.3)(@babylonjs/gui@8.51.2(@babylonjs/core@9.3.3))(@types/react-dom@19.2.3(@types/react@19.2.2))(@types/react@19.2.2)': + '@babylonjs/gui-editor@8.51.2(@babylonjs/core@9.3.4)(@babylonjs/gui@8.51.2(@babylonjs/core@9.3.4))(@types/react-dom@19.2.3(@types/react@19.2.2))(@types/react@19.2.2)': dependencies: - '@babylonjs/core': 9.3.3 - '@babylonjs/gui': 8.51.2(@babylonjs/core@9.3.3) + '@babylonjs/core': 9.3.4 + '@babylonjs/gui': 8.51.2(@babylonjs/core@9.3.4) '@types/react': 19.2.2 '@types/react-dom': 19.2.3(@types/react@19.2.2) - '@babylonjs/gui@8.51.2(@babylonjs/core@9.3.3)': + '@babylonjs/gui@8.51.2(@babylonjs/core@9.3.4)': dependencies: - '@babylonjs/core': 9.3.3 + '@babylonjs/core': 9.3.4 - '@babylonjs/inspector@9.3.3(ce8c0c0c1eae6416d162e7582e431fa4)': + '@babylonjs/inspector@9.3.4(39831d7b27952802810ceefb54644126)': dependencies: - '@babylonjs/addons': 8.51.2(@babylonjs/core@9.3.3) - '@babylonjs/core': 9.3.3 - '@babylonjs/gui': 8.51.2(@babylonjs/core@9.3.3) - '@babylonjs/gui-editor': 8.51.2(@babylonjs/core@9.3.3)(@babylonjs/gui@8.51.2(@babylonjs/core@9.3.3))(@types/react-dom@19.2.3(@types/react@19.2.2))(@types/react@19.2.2) - '@babylonjs/loaders': 9.3.3(@babylonjs/core@9.3.3)(babylonjs-gltf2interface@8.51.2) - '@babylonjs/materials': 9.3.3(@babylonjs/core@9.3.3) - '@babylonjs/serializers': 8.51.2(@babylonjs/core@9.3.3)(babylonjs-gltf2interface@8.51.2) + '@babylonjs/addons': 8.51.2(@babylonjs/core@9.3.4) + '@babylonjs/core': 9.3.4 + '@babylonjs/gui': 8.51.2(@babylonjs/core@9.3.4) + '@babylonjs/gui-editor': 8.51.2(@babylonjs/core@9.3.4)(@babylonjs/gui@8.51.2(@babylonjs/core@9.3.4))(@types/react-dom@19.2.3(@types/react@19.2.2))(@types/react@19.2.2) + '@babylonjs/loaders': 9.3.4(@babylonjs/core@9.3.4)(babylonjs-gltf2interface@8.51.2) + '@babylonjs/materials': 9.3.4(@babylonjs/core@9.3.4) + '@babylonjs/serializers': 8.51.2(@babylonjs/core@9.3.4)(babylonjs-gltf2interface@8.51.2) + '@fluentui-contrib/react-resize-handle': 0.8.4(@fluentui/react-components@9.73.0(@types/react-dom@19.2.3(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(scheduler@0.27.0))(@types/react-dom@19.2.3(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) '@fluentui-contrib/react-virtualizer': 0.5.4(@fluentui/react-shared-contexts@9.26.1(@types/react@19.2.2)(react@19.2.5))(@types/react-dom@19.2.3(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.5(react@19.2.5))(react@19.2.5) '@fluentui/react-components': 9.73.0(@types/react-dom@19.2.3(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(scheduler@0.27.0) '@fluentui/react-icons': 2.0.319(react@19.2.5) @@ -11990,18 +12001,18 @@ snapshots: react-dom: 19.2.5(react@19.2.5) usehooks-ts: 3.1.1(react@19.2.5) - '@babylonjs/loaders@9.3.3(@babylonjs/core@9.3.3)(babylonjs-gltf2interface@8.51.2)': + '@babylonjs/loaders@9.3.4(@babylonjs/core@9.3.4)(babylonjs-gltf2interface@8.51.2)': dependencies: - '@babylonjs/core': 9.3.3 + '@babylonjs/core': 9.3.4 babylonjs-gltf2interface: 8.51.2 - '@babylonjs/materials@9.3.3(@babylonjs/core@9.3.3)': + '@babylonjs/materials@9.3.4(@babylonjs/core@9.3.4)': dependencies: - '@babylonjs/core': 9.3.3 + '@babylonjs/core': 9.3.4 - '@babylonjs/serializers@8.51.2(@babylonjs/core@9.3.3)(babylonjs-gltf2interface@8.51.2)': + '@babylonjs/serializers@8.51.2(@babylonjs/core@9.3.4)(babylonjs-gltf2interface@8.51.2)': dependencies: - '@babylonjs/core': 9.3.3 + '@babylonjs/core': 9.3.4 babylonjs-gltf2interface: 8.51.2 '@bcoe/v8-coverage@1.0.2': {} @@ -12510,6 +12521,16 @@ snapshots: '@floating-ui/utils@0.2.10': {} + '@fluentui-contrib/react-resize-handle@0.8.4(@fluentui/react-components@9.73.0(@types/react-dom@19.2.3(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(scheduler@0.27.0))(@types/react-dom@19.2.3(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)': + dependencies: + '@fluentui/react-components': 9.73.0(@types/react-dom@19.2.3(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)(scheduler@0.27.0) + '@fluentui/react-utilities': 9.26.1(@types/react@19.2.2)(react@19.2.5) + '@swc/helpers': 0.5.18 + '@types/react': 19.2.2 + '@types/react-dom': 19.2.3(@types/react@19.2.2) + react: 19.2.5 + react-dom: 19.2.5(react@19.2.5) + '@fluentui-contrib/react-virtualizer@0.5.4(@fluentui/react-shared-contexts@9.26.1(@types/react@19.2.2)(react@19.2.5))(@types/react-dom@19.2.3(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.5(react@19.2.5))(react@19.2.5)': dependencies: '@fluentui/react-jsx-runtime': 9.4.0(@types/react@19.2.2)(react@19.2.5)