From ac9309b587a8a70b2dc144bd6f1a50edf9330044 Mon Sep 17 00:00:00 2001 From: syuilo <4439005+syuilo@users.noreply.github.com> Date: Fri, 31 Jul 2026 11:34:33 +0900 Subject: [PATCH] wip --- .../src/server/api/stream/Connection.ts | 2 +- .../package.json | 8 +- .../src/babylonRuntime.ts | 1 - .../src/engine.ts | 9 +-- pnpm-lock.yaml | 76 +++++++++---------- 5 files changed, 47 insertions(+), 49 deletions(-) diff --git a/packages/backend/src/server/api/stream/Connection.ts b/packages/backend/src/server/api/stream/Connection.ts index fe099d73ce..6747780525 100644 --- a/packages/backend/src/server/api/stream/Connection.ts +++ b/packages/backend/src/server/api/stream/Connection.ts @@ -339,7 +339,7 @@ export default class Connection { case 'chatRoom': return ChatRoomChannel; case 'reversi': return ReversiChannel; case 'reversiGame': return ReversiGameChannel; - case 'worldRoom': return WorldChannel; + case 'world': return WorldChannel; default: throw new Error(`no such channel: ${name}`); diff --git a/packages/frontend-misskey-world-engine/package.json b/packages/frontend-misskey-world-engine/package.json index 580a8be6a3..4ad791f5d8 100644 --- a/packages/frontend-misskey-world-engine/package.json +++ b/packages/frontend-misskey-world-engine/package.json @@ -21,10 +21,10 @@ "built" ], "dependencies": { - "@babylonjs/core": "9.18.0", - "@babylonjs/inspector": "9.18.0", - "@babylonjs/loaders": "9.18.0", - "@babylonjs/materials": "9.18.0", + "@babylonjs/core": "9.19.0", + "@babylonjs/inspector": "9.19.0", + "@babylonjs/loaders": "9.19.0", + "@babylonjs/materials": "9.19.0", "@types/throttle-debounce": "5.0.2", "eventemitter3": "5.0.4", "seedrandom": "3.0.5", diff --git a/packages/frontend-misskey-world-engine/src/babylonRuntime.ts b/packages/frontend-misskey-world-engine/src/babylonRuntime.ts index ff1819ce6d..7839c8f56d 100644 --- a/packages/frontend-misskey-world-engine/src/babylonRuntime.ts +++ b/packages/frontend-misskey-world-engine/src/babylonRuntime.ts @@ -33,5 +33,4 @@ export function registerBabylonRuntime(): void { BABYLON.RegisterPostProcessRenderPipelineManagerSceneComponent( BABYLON.PostProcessRenderPipelineManager, ); - BABYLON.RegisterAbstractEngineLoadingScreen(); } diff --git a/packages/frontend-misskey-world-engine/src/engine.ts b/packages/frontend-misskey-world-engine/src/engine.ts index c616c48a56..a1da0a648c 100644 --- a/packages/frontend-misskey-world-engine/src/engine.ts +++ b/packages/frontend-misskey-world-engine/src/engine.ts @@ -30,7 +30,6 @@ export class WorldEngine extends EngineBase<{ }> { public camera: BABYLON.UniversalCamera; private time: 0 | 1 | 2 = 0; // 0: 昼, 1: 夕, 2: 夜 - private envMap: BABYLON.CubeTexture; public lightContainer: BABYLON.ClusteredLightContainer; public sr: BABYLON.SnapshotRenderingHelper; public gl: BABYLON.GlowLayer | null = null; @@ -81,10 +80,6 @@ export class WorldEngine extends EngineBase<{ this.scene.ambientColor = new BABYLON.Color3(0.9, 0.9, 0.9); - this.envMap = BABYLON.CubeTexture.CreateFromPrefilteredData(this.time === 2 ? '/client-assets/room/outdoor-night.env' : '/client-assets/room/outdoor-day.env', this.scene); - //this.envMap.level = 1; - this.envMap.level = 0; - this.camera = new BABYLON.FreeCamera('camera', new BABYLON.Vector3(0, this.cameraHeight, cm(0)), this.scene); this.camera.minZ = cm(1); this.camera.maxZ = cm(1000); @@ -227,6 +222,10 @@ export class WorldEngine extends EngineBase<{ this.camera.maxZ = this.envManager.maxCameraZ; } + public getEnvMap(): BABYLON.CubeTexture | null { + return this.envManager?.envMapIndoor ?? null; + } + public cameraMove(vector: { x: number; y: number; }, dash: boolean) { (this.camera.inputs.attached.manual as FreeCameraManualInput).setMoveVector(dash ? { x: vector.x * 3, y: vector.y * 3 } : vector); } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 67e532be58..859125deed 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1166,17 +1166,17 @@ importers: packages/frontend-misskey-world-engine: dependencies: '@babylonjs/core': - specifier: 9.18.0 - version: 9.18.0 + specifier: 9.19.0 + version: 9.19.0 '@babylonjs/inspector': - specifier: 9.18.0 - version: 9.18.0(5f641b04399f55f6eee8759d11ec9f89) + specifier: 9.19.0 + version: 9.19.0(740bedefaf0863ae5bf498f9fbc389e7) '@babylonjs/loaders': - specifier: 9.18.0 - version: 9.18.0(@babylonjs/core@9.18.0)(babylonjs-gltf2interface@9.6.0) + specifier: 9.19.0 + version: 9.19.0(@babylonjs/core@9.19.0)(babylonjs-gltf2interface@9.6.0) '@babylonjs/materials': - specifier: 9.18.0 - version: 9.18.0(@babylonjs/core@9.18.0) + specifier: 9.19.0 + version: 9.19.0(@babylonjs/core@9.19.0) '@types/throttle-debounce': specifier: 5.0.2 version: 5.0.2 @@ -1669,8 +1669,8 @@ packages: peerDependencies: '@babylonjs/core': ^9.0.0 - '@babylonjs/core@9.18.0': - resolution: {integrity: sha512-Ypj9i29mOT8QGqdGaOCX2uQ9y7EhZ6RCBZLSDr84b6BzCltfp3yud75KQfCsOG8SjaZ77CsA40mX1J96kSUaaw==} + '@babylonjs/core@9.19.0': + resolution: {integrity: sha512-8bQfSnXnFVEUolPBl5Y3S1WDmQKpPKfguOQvGdCxjTIHlLku8Crc0DdvlFbmqeGpS/bQ3NzwtApB84GScm9v8w==} '@babylonjs/gui-editor@9.7.0': resolution: {integrity: sha512-5LGB5SqxBbgB+V7k85rGNOD1aJUybT78yvRyUzR8dCJP6XkgRDMsNqcqqEWLCg7+1Z0XVRWvJLwu8QAA0XxbcA==} @@ -1685,8 +1685,8 @@ packages: peerDependencies: '@babylonjs/core': ^9.0.0 - '@babylonjs/inspector@9.18.0': - resolution: {integrity: sha512-nL2JvM4763/MjOUHmzNaJAZ/XR794rZJAAVUjO1eCGPlcdB64abTLt8KtynTq5iScNuyw5YVZAfvEiHXuIPWxw==} + '@babylonjs/inspector@9.19.0': + resolution: {integrity: sha512-kUx1nk5hA0N0NTm0PqawBK6lja2zHBw3s+hxJkCpFxyEO1w6UlZ9Ar9Z0nREzoJdIwHoW9dbnQxFU5wn20Secg==} hasBin: true peerDependencies: '@babylonjs/addons': ^9.0.0 @@ -1706,14 +1706,14 @@ packages: react-dom: '>=16.14.0 <20.0.0' usehooks-ts: ^3.1.1 - '@babylonjs/loaders@9.18.0': - resolution: {integrity: sha512-PKtVu9nHwdd79BeWWYigsEl+b6j9hCdJVuiE9I37UY/C58x+qJ+SZ27i2pycMPesjRbNvIRSxjNHXmm3KSPRwA==} + '@babylonjs/loaders@9.19.0': + resolution: {integrity: sha512-WMhlOl9HWDvNFmywQ/jl0dKkyT6lzCH0YUNZ2xkeD+j5TBFfPdkPGbn9Hd9UJnwqUZrz42Y6lRAZ5VZQNQa7kg==} peerDependencies: '@babylonjs/core': ^9.0.0 babylonjs-gltf2interface: ^9.0.0 - '@babylonjs/materials@9.18.0': - resolution: {integrity: sha512-whFtjsIVAmIFSANuyEzQ06pl751lO3L+aQD08NoxFaZWYRUh2a39fIXMzKkCBfKm0e3pgCYKlneW/gBip0USAA==} + '@babylonjs/materials@9.19.0': + resolution: {integrity: sha512-V9AwiyA3d7TNhuPATvNtiPUxNZzUE4GGMtqU6RB4LgAfa8kbrcQIj1LDJjZlw07aShBh/TdYtyycuQ/T5SnfEA==} peerDependencies: '@babylonjs/core': ^9.0.0 @@ -10628,32 +10628,32 @@ snapshots: '@babel/helper-string-parser': 7.29.7 '@babel/helper-validator-identifier': 7.29.7 - '@babylonjs/addons@9.7.0(@babylonjs/core@9.18.0)': + '@babylonjs/addons@9.7.0(@babylonjs/core@9.19.0)': dependencies: - '@babylonjs/core': 9.18.0 + '@babylonjs/core': 9.19.0 - '@babylonjs/core@9.18.0': {} + '@babylonjs/core@9.19.0': {} - '@babylonjs/gui-editor@9.7.0(@babylonjs/core@9.18.0)(@babylonjs/gui@9.7.0(@babylonjs/core@9.18.0))(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)': + '@babylonjs/gui-editor@9.7.0(@babylonjs/core@9.19.0)(@babylonjs/gui@9.7.0(@babylonjs/core@9.19.0))(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)': dependencies: - '@babylonjs/core': 9.18.0 - '@babylonjs/gui': 9.7.0(@babylonjs/core@9.18.0) + '@babylonjs/core': 9.19.0 + '@babylonjs/gui': 9.7.0(@babylonjs/core@9.19.0) '@types/react': 19.2.14 '@types/react-dom': 19.2.3(@types/react@19.2.14) - '@babylonjs/gui@9.7.0(@babylonjs/core@9.18.0)': + '@babylonjs/gui@9.7.0(@babylonjs/core@9.19.0)': dependencies: - '@babylonjs/core': 9.18.0 + '@babylonjs/core': 9.19.0 - '@babylonjs/inspector@9.18.0(5f641b04399f55f6eee8759d11ec9f89)': + '@babylonjs/inspector@9.19.0(740bedefaf0863ae5bf498f9fbc389e7)': dependencies: - '@babylonjs/addons': 9.7.0(@babylonjs/core@9.18.0) - '@babylonjs/core': 9.18.0 - '@babylonjs/gui': 9.7.0(@babylonjs/core@9.18.0) - '@babylonjs/gui-editor': 9.7.0(@babylonjs/core@9.18.0)(@babylonjs/gui@9.7.0(@babylonjs/core@9.18.0))(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14) - '@babylonjs/loaders': 9.18.0(@babylonjs/core@9.18.0)(babylonjs-gltf2interface@9.6.0) - '@babylonjs/materials': 9.18.0(@babylonjs/core@9.18.0) - '@babylonjs/serializers': 9.7.0(@babylonjs/core@9.18.0)(babylonjs-gltf2interface@9.6.0) + '@babylonjs/addons': 9.7.0(@babylonjs/core@9.19.0) + '@babylonjs/core': 9.19.0 + '@babylonjs/gui': 9.7.0(@babylonjs/core@9.19.0) + '@babylonjs/gui-editor': 9.7.0(@babylonjs/core@9.19.0)(@babylonjs/gui@9.7.0(@babylonjs/core@9.19.0))(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14) + '@babylonjs/loaders': 9.19.0(@babylonjs/core@9.19.0)(babylonjs-gltf2interface@9.6.0) + '@babylonjs/materials': 9.19.0(@babylonjs/core@9.19.0) + '@babylonjs/serializers': 9.7.0(@babylonjs/core@9.19.0)(babylonjs-gltf2interface@9.6.0) '@fluentui-contrib/react-resize-handle': 0.8.4(@fluentui/react-components@9.73.8(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(scheduler@0.27.0))(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) '@fluentui-contrib/react-virtualizer': 1.0.0(@fluentui/react-shared-contexts@9.26.2(@types/react@19.2.14)(react@19.2.7))(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7) '@fluentui/react-components': 9.73.8(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(scheduler@0.27.0) @@ -10664,18 +10664,18 @@ snapshots: react-dom: 19.2.7(react@19.2.7) usehooks-ts: 3.1.1(react@19.2.7) - '@babylonjs/loaders@9.18.0(@babylonjs/core@9.18.0)(babylonjs-gltf2interface@9.6.0)': + '@babylonjs/loaders@9.19.0(@babylonjs/core@9.19.0)(babylonjs-gltf2interface@9.6.0)': dependencies: - '@babylonjs/core': 9.18.0 + '@babylonjs/core': 9.19.0 babylonjs-gltf2interface: 9.6.0 - '@babylonjs/materials@9.18.0(@babylonjs/core@9.18.0)': + '@babylonjs/materials@9.19.0(@babylonjs/core@9.19.0)': dependencies: - '@babylonjs/core': 9.18.0 + '@babylonjs/core': 9.19.0 - '@babylonjs/serializers@9.7.0(@babylonjs/core@9.18.0)(babylonjs-gltf2interface@9.6.0)': + '@babylonjs/serializers@9.7.0(@babylonjs/core@9.19.0)(babylonjs-gltf2interface@9.6.0)': dependencies: - '@babylonjs/core': 9.18.0 + '@babylonjs/core': 9.19.0 babylonjs-gltf2interface: 9.6.0 '@bcoe/v8-coverage@1.0.2': {}