This commit is contained in:
syuilo 2026-06-02 21:41:11 +09:00
commit 32af098cd9
92 changed files with 116 additions and 110 deletions

View file

@ -3,7 +3,7 @@
* SPDX-License-Identifier: AGPL-3.0-only
*/
import * as BABYLON from '@babylonjs/core';
import * as BABYLON from '@babylonjs/core/pure';
import EventEmitter from 'eventemitter3';
export type EngineBaseEvents = {

View file

@ -3,7 +3,7 @@
* SPDX-License-Identifier: AGPL-3.0-only
*/
import * as BABYLON from '@babylonjs/core';
import * as BABYLON from '@babylonjs/core/pure';
import { cm, WORLD_SCALE } from 'misskey-world/src/utility.js';
import { AccessoryContainer } from './avatars/AccessoryContainer.js';
import { getAccessoryDef } from './avatars/accessory-defs.js';

View file

@ -3,7 +3,7 @@
* SPDX-License-Identifier: AGPL-3.0-only
*/
import * as BABYLON from '@babylonjs/core';
import * as BABYLON from '@babylonjs/core/pure';
import { registerBuiltInLoaders } from '@babylonjs/loaders/dynamic.js';
import { cm, WORLD_SCALE } from 'misskey-world/src/utility.js';
import { ArcRotateCameraManualInput, getMeshesBoundingBox, GRAPHICS_QUALITY } from './utility.js';

View file

@ -3,13 +3,14 @@
* SPDX-License-Identifier: AGPL-3.0-only
*/
import * as BABYLON from '@babylonjs/core';
import * as BABYLON from '@babylonjs/core/pure';
import '@babylonjs/core/Engines/WebGPU/Extensions/engine.rawTexture';
import { AvatarPreviewEngine } from './avatarPreviewEngine.js';
import type { PlayerProfile } from './PlayerContainer.js';
//BABYLON.RegisterStandardEngineExtensions();
//BABYLON.RegisterEnginesExtensionsEngineRawTexture();
//BABYLON.RegisterCollisionCoordinator();
BABYLON.RegisterFullEngineExtensions();
BABYLON.RegisterEnginesExtensionsEngineRawTexture();
BABYLON.RegisterCollisionCoordinator();
export async function createAvatarPreviewEngine(params: {
canvas: HTMLCanvasElement; options: { graphicsQuality: number; resolution: number; fps: number | null }; profile: PlayerProfile;

View file

@ -3,16 +3,17 @@
* SPDX-License-Identifier: AGPL-3.0-only
*/
import * as BABYLON from '@babylonjs/core';
import * as BABYLON from '@babylonjs/core/pure';
import '@babylonjs/core/Engines/WebGPU/Extensions/engine.rawTexture';
import { AvatarPreviewEngine } from './avatarPreviewEngine.js';
import type { PlayerProfile } from './PlayerContainer.js';
let engine: AvatarPreviewEngine | null = null;
let canvas: OffscreenCanvas | null = null;
//BABYLON.RegisterStandardEngineExtensions();
//BABYLON.RegisterEnginesExtensionsEngineRawTexture();
//BABYLON.RegisterCollisionCoordinator();
BABYLON.RegisterFullEngineExtensions();
BABYLON.RegisterEnginesExtensionsEngineRawTexture();
BABYLON.RegisterCollisionCoordinator();
// TODO: 他のWorkerと実装を共通化
onmessage = async (event) => {

View file

@ -3,7 +3,7 @@
* SPDX-License-Identifier: AGPL-3.0-only
*/
import * as BABYLON from '@babylonjs/core';
import * as BABYLON from '@babylonjs/core/pure';
import { camelToKebab, WORLD_SCALE } from 'misskey-world/src/utility.js';
import { ModelExplorer, scaleMorph, Timer } from '../utility.js';
import { convertRawOptions, type ConvertedOptions, type RawOptions } from '../mono.js';

View file

@ -3,7 +3,7 @@
* SPDX-License-Identifier: AGPL-3.0-only
*/
import * as BABYLON from '@babylonjs/core';
import * as BABYLON from '@babylonjs/core/pure';
import { mikan_schema } from 'misskey-world/src/avatars/accessories/mikan.schema.js';
import { defineAccessory } from '../accessory.js';

View file

@ -3,7 +3,7 @@
* SPDX-License-Identifier: AGPL-3.0-only
*/
import * as BABYLON from '@babylonjs/core';
import * as BABYLON from '@babylonjs/core/pure';
import { cm } from 'misskey-world/src/utility.js';
import { mug_schema } from 'misskey-world/src/avatars/accessories/mug.schema.js';
import { defineAccessory } from '../accessory.js';

View file

@ -3,7 +3,7 @@
* SPDX-License-Identifier: AGPL-3.0-only
*/
import * as BABYLON from '@babylonjs/core';
import * as BABYLON from '@babylonjs/core/pure';
import { ModelExplorer, type Timer } from '../utility.js';
import type { AccessorySchemaDef } from 'misskey-world/src/avatars/accessory.js';
import type { OptionsSchema } from 'misskey-world/src/mono.js';

View file

@ -3,7 +3,7 @@
* SPDX-License-Identifier: AGPL-3.0-only
*/
import * as BABYLON from '@babylonjs/core';
import * as BABYLON from '@babylonjs/core/pure';
import { registerBuiltInLoaders } from '@babylonjs/loaders/dynamic';
import tinycolor from 'tinycolor2';
import Hls from 'hls.js';

View file

@ -3,7 +3,7 @@
* SPDX-License-Identifier: AGPL-3.0-only
*/
import * as BABYLON from '@babylonjs/core';
import * as BABYLON from '@babylonjs/core/pure';
import { camelToKebab, WORLD_SCALE } from 'misskey-world/src/utility.js';
import { scaleMorph, Timer } from '../utility.js';
import { convertRawOptions, type ConvertedOptions, type RawOptions } from '../mono.js';

View file

@ -16,7 +16,7 @@
// TODO: 起動時、ひとつでもcustom imageの読み込みに失敗したら「一部の画像を読み込めませんでした」を出す
// TODO: 座ると一升瓶のマテリアルがおかしくなる現象をbabylonに報告
import * as BABYLON from '@babylonjs/core';
import * as BABYLON from '@babylonjs/core/pure';
import { registerBuiltInLoaders } from '@babylonjs/loaders/dynamic';
import { cm, WORLD_SCALE } from 'misskey-world/src/utility.js';
import { throttle } from 'throttle-debounce';

View file

@ -4,7 +4,7 @@
* SPDX-License-Identifier: AGPL-3.0-only
*/
import * as BABYLON from '@babylonjs/core';
import * as BABYLON from '@babylonjs/core/pure';
import { cm, WORLD_SCALE } from 'misskey-world/src/utility.js';
import { findMaterial, GRAPHICS_QUALITY } from '../utility.js';
import { SYSTEM_HEYA_MESH_NAMES } from './utility.js';

View file

@ -3,7 +3,7 @@
* SPDX-License-Identifier: AGPL-3.0-only
*/
import * as BABYLON from '@babylonjs/core';
import * as BABYLON from '@babylonjs/core/pure';
import { createPlaneUvMapper } from '../utility.js';
import type { Timer } from '../utility.js';
import type { ModelManager } from './utility.js';

View file

@ -3,7 +3,7 @@
* SPDX-License-Identifier: AGPL-3.0-only
*/
import * as BABYLON from '@babylonjs/core';
import * as BABYLON from '@babylonjs/core/pure';
import { defineFuniture } from '../furniture.js';
import { a4Case_schema } from 'misskey-world/src/room/furnitures/a4Case.schema.js';

View file

@ -3,7 +3,7 @@
* SPDX-License-Identifier: AGPL-3.0-only
*/
import * as BABYLON from '@babylonjs/core';
import * as BABYLON from '@babylonjs/core/pure';
import { cm, WORLD_SCALE } from 'misskey-world/src/utility.js';
import { allInOnePc_schema } from 'misskey-world/src/room/furnitures/allInOnePc.schema.js';
import { createTextureManager, defineFuniture } from '../furniture.js';

View file

@ -3,7 +3,7 @@
* SPDX-License-Identifier: AGPL-3.0-only
*/
import * as BABYLON from '@babylonjs/core';
import * as BABYLON from '@babylonjs/core/pure';
import { defineFuniture } from '../furniture.js';
import { cm } from 'misskey-world/src/utility.js';
import { aquarium_schema } from 'misskey-world/src/room/furnitures/aquarium.schema.js';

View file

@ -3,7 +3,7 @@
* SPDX-License-Identifier: AGPL-3.0-only
*/
import * as BABYLON from '@babylonjs/core';
import * as BABYLON from '@babylonjs/core/pure';
import { aromaReedDiffuser_schema } from 'misskey-world/src/room/furnitures/aromaReedDiffuser.schema.js';
import { defineFuniture } from '../furniture.js';

View file

@ -3,7 +3,7 @@
* SPDX-License-Identifier: AGPL-3.0-only
*/
import * as BABYLON from '@babylonjs/core';
import * as BABYLON from '@babylonjs/core/pure';
import { defineFuniture } from '../furniture.js';
import { cm, WORLD_SCALE } from 'misskey-world/src/utility.js';
import { getLightRangeFactorByGraphicsQuality } from '../utility.js';

View file

@ -3,7 +3,7 @@
* SPDX-License-Identifier: AGPL-3.0-only
*/
import * as BABYLON from '@babylonjs/core';
import * as BABYLON from '@babylonjs/core/pure';
import { defineFuniture } from '../furniture.js';
import { bed_schema } from 'misskey-world/src/room/furnitures/bed.schema.js';

View file

@ -3,7 +3,7 @@
* SPDX-License-Identifier: AGPL-3.0-only
*/
import * as BABYLON from '@babylonjs/core';
import * as BABYLON from '@babylonjs/core/pure';
import { defineFuniture } from '../furniture.js';
import { cm, remap } from 'misskey-world/src/utility.js';
import { createOverridedStates } from '../utility.js';

View file

@ -2,7 +2,7 @@
* SPDX-FileCopyrightText: syuilo and misskey-project
* SPDX-License-Identifier: AGPL-3.0-only
*/
import * as BABYLON from '@babylonjs/core';
import * as BABYLON from '@babylonjs/core/pure';
import { defineFuniture } from '../furniture.js';
import { book_schema } from 'misskey-world/src/room/furnitures/book.schema.js';

View file

@ -3,7 +3,7 @@
* SPDX-License-Identifier: AGPL-3.0-only
*/
import * as BABYLON from '@babylonjs/core';
import * as BABYLON from '@babylonjs/core/pure';
import { defineFuniture } from '../furniture.js';
import { cm } from 'misskey-world/src/utility.js';
import { books_schema } from 'misskey-world/src/room/furnitures/books.schema.js';

View file

@ -3,7 +3,7 @@
* SPDX-License-Identifier: AGPL-3.0-only
*/
import * as BABYLON from '@babylonjs/core';
import * as BABYLON from '@babylonjs/core/pure';
import { defineFuniture } from '../furniture.js';
import { boxWallShelf_schema } from 'misskey-world/src/room/furnitures/boxWallShelf.schema.js';

View file

@ -3,7 +3,7 @@
* SPDX-License-Identifier: AGPL-3.0-only
*/
import * as BABYLON from '@babylonjs/core';
import * as BABYLON from '@babylonjs/core/pure';
import { defineFuniture } from '../furniture.js';
import { cactusS_schema } from 'misskey-world/src/room/furnitures/cactusS.schema.js';

View file

@ -3,7 +3,7 @@
* SPDX-License-Identifier: AGPL-3.0-only
*/
import * as BABYLON from '@babylonjs/core';
import * as BABYLON from '@babylonjs/core/pure';
import { defineFuniture } from '../furniture.js';
import { cardboardBox_schema } from 'misskey-world/src/room/furnitures/cardboardBox.schema.js';

View file

@ -3,7 +3,7 @@
* SPDX-License-Identifier: AGPL-3.0-only
*/
import * as BABYLON from '@babylonjs/core';
import * as BABYLON from '@babylonjs/core/pure';
import { defineFuniture } from '../furniture.js';
import { ceilingFanLight_schema } from 'misskey-world/src/room/furnitures/ceilingFanLight.schema.js';

View file

@ -3,7 +3,7 @@
* SPDX-License-Identifier: AGPL-3.0-only
*/
import * as BABYLON from '@babylonjs/core';
import * as BABYLON from '@babylonjs/core/pure';
import { defineFuniture } from '../furniture.js';
import { chair_schema } from 'misskey-world/src/room/furnitures/chair.schema.js';

View file

@ -3,7 +3,7 @@
* SPDX-License-Identifier: AGPL-3.0-only
*/
import * as BABYLON from '@babylonjs/core';
import * as BABYLON from '@babylonjs/core/pure';
import { createTextureManager, defineFuniture } from '../furniture.js';
import { remap } from 'misskey-world/src/utility.js';
import { clippedPicture_schema } from 'misskey-world/src/room/furnitures/clippedPicture.schema.js';

View file

@ -3,7 +3,7 @@
* SPDX-License-Identifier: AGPL-3.0-only
*/
import * as BABYLON from '@babylonjs/core';
import * as BABYLON from '@babylonjs/core/pure';
import { defineFuniture } from '../furniture.js';
import { colorBox_schema } from 'misskey-world/src/room/furnitures/colorBox.schema.js';

View file

@ -3,7 +3,7 @@
* SPDX-License-Identifier: AGPL-3.0-only
*/
import * as BABYLON from '@babylonjs/core';
import * as BABYLON from '@babylonjs/core/pure';
import { defineFuniture } from '../furniture.js';
import { cuboid_schema } from 'misskey-world/src/room/furnitures/cuboid.schema.js';

View file

@ -3,7 +3,7 @@
* SPDX-License-Identifier: AGPL-3.0-only
*/
import * as BABYLON from '@babylonjs/core';
import * as BABYLON from '@babylonjs/core/pure';
import { defineFuniture } from '../furniture.js';
import { cm } from 'misskey-world/src/utility.js';
import { yuge } from '../utility.js';

View file

@ -3,7 +3,7 @@
* SPDX-License-Identifier: AGPL-3.0-only
*/
import * as BABYLON from '@babylonjs/core';
import * as BABYLON from '@babylonjs/core/pure';
import { defineFuniture } from '../furniture.js';
import { desk_schema } from 'misskey-world/src/room/furnitures/desk.schema.js';

View file

@ -3,7 +3,7 @@
* SPDX-License-Identifier: AGPL-3.0-only
*/
import * as BABYLON from '@babylonjs/core';
import * as BABYLON from '@babylonjs/core/pure';
import { defineFuniture } from '../furniture.js';
import { cm, WORLD_SCALE } from 'misskey-world/src/utility.js';
import { getLightRangeFactorByGraphicsQuality } from '../utility.js';

View file

@ -3,7 +3,7 @@
* SPDX-License-Identifier: AGPL-3.0-only
*/
import * as BABYLON from '@babylonjs/core';
import * as BABYLON from '@babylonjs/core/pure';
import { djPlayer_schema } from 'misskey-world/src/room/furnitures/djPlayer.schema.js';
import { createTextureManager, defineFuniture } from '../furniture.js';
import { normalizeUvToSquare } from '../../utility.js';

View file

@ -3,7 +3,7 @@
* SPDX-License-Identifier: AGPL-3.0-only
*/
import * as BABYLON from '@babylonjs/core';
import * as BABYLON from '@babylonjs/core/pure';
import { defineFuniture } from '../furniture.js';
import { getLightRangeFactorByGraphicsQuality } from '../utility.js';
import { cm, remap, WORLD_SCALE } from 'misskey-world/src/utility.js';

View file

@ -3,7 +3,7 @@
* SPDX-License-Identifier: AGPL-3.0-only
*/
import * as BABYLON from '@babylonjs/core';
import * as BABYLON from '@babylonjs/core/pure';
import { electronicDisplayBoard_schema } from 'misskey-world/src/room/furnitures/electronicDisplayBoard.schema.js';
import { defineFuniture } from '../furniture.js';
import { RecyvlingTextGrid } from '../../utility.js';

View file

@ -3,7 +3,7 @@
* SPDX-License-Identifier: AGPL-3.0-only
*/
import * as BABYLON from '@babylonjs/core';
import * as BABYLON from '@babylonjs/core/pure';
import { handheldGameConsole_schema } from 'misskey-world/src/room/furnitures/handheldGameConsole.schema.js';
import { createTextureManager, defineFuniture } from '../furniture.js';

View file

@ -3,7 +3,7 @@
* SPDX-License-Identifier: AGPL-3.0-only
*/
import * as BABYLON from '@babylonjs/core';
import * as BABYLON from '@babylonjs/core/pure';
import { defineFuniture } from '../furniture.js';
import { hangingDuctRail_schema } from 'misskey-world/src/room/furnitures/hangingDuctRail.schema.js';

View file

@ -3,7 +3,7 @@
* SPDX-License-Identifier: AGPL-3.0-only
*/
import * as BABYLON from '@babylonjs/core';
import * as BABYLON from '@babylonjs/core/pure';
import { defineFuniture } from '../furniture.js';
import { icosahedron_schema } from 'misskey-world/src/room/furnitures/icosahedron.schema.js';

View file

@ -3,7 +3,7 @@
* SPDX-License-Identifier: AGPL-3.0-only
*/
import * as BABYLON from '@babylonjs/core';
import * as BABYLON from '@babylonjs/core/pure';
import { defineFuniture } from '../furniture.js';
import { ironFrameShelf_schema } from 'misskey-world/src/room/furnitures/ironFrameShelf.schema.js';

View file

@ -3,7 +3,7 @@
* SPDX-License-Identifier: AGPL-3.0-only
*/
import * as BABYLON from '@babylonjs/core';
import * as BABYLON from '@babylonjs/core/pure';
import { defineFuniture } from '../furniture.js';
import { ironFrameTable_schema } from 'misskey-world/src/room/furnitures/ironFrameTable.schema.js';

View file

@ -3,7 +3,7 @@
* SPDX-License-Identifier: AGPL-3.0-only
*/
import * as BABYLON from '@babylonjs/core';
import * as BABYLON from '@babylonjs/core/pure';
import { defineFuniture } from '../furniture.js';
import { issyoubin_schema } from 'misskey-world/src/room/furnitures/issyoubin.schema.js';

View file

@ -3,7 +3,7 @@
* SPDX-License-Identifier: AGPL-3.0-only
*/
import * as BABYLON from '@babylonjs/core';
import * as BABYLON from '@babylonjs/core/pure';
import { defineFuniture } from '../furniture.js';
import { keyboard_schema } from 'misskey-world/src/room/furnitures/keyboard.schema.js';

View file

@ -3,7 +3,7 @@
* SPDX-License-Identifier: AGPL-3.0-only
*/
import * as BABYLON from '@babylonjs/core';
import * as BABYLON from '@babylonjs/core/pure';
import { cm, WORLD_SCALE } from 'misskey-world/src/utility.js';
import { laptopPc_schema } from 'misskey-world/src/room/furnitures/laptopPc.schema.js';
import { createTextureManager, defineFuniture } from '../furniture.js';

View file

@ -3,7 +3,7 @@
* SPDX-License-Identifier: AGPL-3.0-only
*/
import * as BABYLON from '@babylonjs/core';
import * as BABYLON from '@babylonjs/core/pure';
import { createTextureManager, defineFuniture } from '../furniture.js';
import { largeMousepad_schema } from 'misskey-world/src/room/furnitures/largeMousepad.schema.js';

View file

@ -2,7 +2,7 @@
* SPDX-FileCopyrightText: syuilo and misskey-project
* SPDX-License-Identifier: AGPL-3.0-only
*/
import * as BABYLON from '@babylonjs/core';
import * as BABYLON from '@babylonjs/core/pure';
import { lavaLamp_schema } from 'misskey-world/src/room/furnitures/lavaLamp.schema.js';
import { cm, WORLD_SCALE } from 'misskey-world/src/utility.js';
import { defineFuniture } from '../furniture.js';

View file

@ -3,7 +3,7 @@
* SPDX-License-Identifier: AGPL-3.0-only
*/
import * as BABYLON from '@babylonjs/core';
import * as BABYLON from '@babylonjs/core/pure';
import { defineFuniture } from '../furniture.js';
import { lowPartitionBar_schema } from 'misskey-world/src/room/furnitures/lowPartitionBar.schema.js';

View file

@ -3,7 +3,7 @@
* SPDX-License-Identifier: AGPL-3.0-only
*/
import * as BABYLON from '@babylonjs/core';
import * as BABYLON from '@babylonjs/core/pure';
import { cm, WORLD_SCALE } from 'misskey-world/src/utility.js';
import { monitor_schema } from 'misskey-world/src/room/furnitures/monitor.schema.js';
import { createTextureManager, defineFuniture } from '../furniture.js';

View file

@ -3,7 +3,7 @@
* SPDX-License-Identifier: AGPL-3.0-only
*/
import * as BABYLON from '@babylonjs/core';
import * as BABYLON from '@babylonjs/core/pure';
import { defineFuniture } from '../furniture.js';
import { monitorSpeaker_schema } from 'misskey-world/src/room/furnitures/monitorSpeaker.schema.js';

View file

@ -3,7 +3,7 @@
* SPDX-License-Identifier: AGPL-3.0-only
*/
import * as BABYLON from '@babylonjs/core';
import * as BABYLON from '@babylonjs/core/pure';
import { defineFuniture } from '../furniture.js';
import { monstera_schema } from 'misskey-world/src/room/furnitures/monstera.schema.js';

View file

@ -3,7 +3,7 @@
* SPDX-License-Identifier: AGPL-3.0-only
*/
import * as BABYLON from '@babylonjs/core';
import * as BABYLON from '@babylonjs/core/pure';
import { cm } from 'misskey-world/src/utility.js';
import { mug_schema } from 'misskey-world/src/room/furnitures/mug.schema.js';
import { defineFuniture } from '../furniture.js';

View file

@ -3,7 +3,7 @@
* SPDX-License-Identifier: AGPL-3.0-only
*/
import * as BABYLON from '@babylonjs/core';
import * as BABYLON from '@babylonjs/core/pure';
import { defineFuniture } from '../furniture.js';
import { newtonsCradle_schema } from 'misskey-world/src/room/furnitures/newtonsCradle.schema.js';

View file

@ -3,7 +3,7 @@
* SPDX-License-Identifier: AGPL-3.0-only
*/
import * as BABYLON from '@babylonjs/core';
import * as BABYLON from '@babylonjs/core/pure';
import { defineFuniture } from '../furniture.js';
import { pachira_schema } from 'misskey-world/src/room/furnitures/pachira.schema.js';

View file

@ -3,7 +3,7 @@
* SPDX-License-Identifier: AGPL-3.0-only
*/
import * as BABYLON from '@babylonjs/core';
import * as BABYLON from '@babylonjs/core/pure';
import { defineFuniture } from '../furniture.js';
import { petBottle_schema } from 'misskey-world/src/room/furnitures/petBottle.schema.js';

View file

@ -3,7 +3,7 @@
* SPDX-License-Identifier: AGPL-3.0-only
*/
import * as BABYLON from '@babylonjs/core';
import * as BABYLON from '@babylonjs/core/pure';
import { defineFuniture } from '../furniture.js';
import { piano_schema } from 'misskey-world/src/room/furnitures/piano.schema.js';

View file

@ -3,7 +3,7 @@
* SPDX-License-Identifier: AGPL-3.0-only
*/
import * as BABYLON from '@babylonjs/core';
import * as BABYLON from '@babylonjs/core/pure';
import { createTextureManager, defineFuniture } from '../furniture.js';
import { pictureFrame_schema } from 'misskey-world/src/room/furnitures/pictureFrame.schema.js';

View file

@ -3,7 +3,7 @@
* SPDX-License-Identifier: AGPL-3.0-only
*/
import * as BABYLON from '@babylonjs/core';
import * as BABYLON from '@babylonjs/core/pure';
import { createTextureManager, defineFuniture } from '../furniture.js';
import { remap } from 'misskey-world/src/utility.js';
import { poster_schema } from 'misskey-world/src/room/furnitures/poster.schema.js';

View file

@ -3,7 +3,7 @@
* SPDX-License-Identifier: AGPL-3.0-only
*/
import * as BABYLON from '@babylonjs/core';
import * as BABYLON from '@babylonjs/core/pure';
import { defineFuniture } from '../furniture.js';
import { radiometer_schema } from 'misskey-world/src/room/furnitures/radiometer.schema.js';

View file

@ -3,7 +3,7 @@
* SPDX-License-Identifier: AGPL-3.0-only
*/
import * as BABYLON from '@babylonjs/core';
import * as BABYLON from '@babylonjs/core/pure';
import seedrandom from 'seedrandom';
import { defineFuniture } from '../furniture.js';
import { cm, remap, WORLD_SCALE } from 'misskey-world/src/utility.js';

View file

@ -3,7 +3,7 @@
* SPDX-License-Identifier: AGPL-3.0-only
*/
import * as BABYLON from '@babylonjs/core';
import * as BABYLON from '@babylonjs/core/pure';
import { defineFuniture } from '../furniture.js';
import { snakeplant_schema } from 'misskey-world/src/room/furnitures/snakeplant.schema.js';

View file

@ -3,7 +3,7 @@
* SPDX-License-Identifier: AGPL-3.0-only
*/
import * as BABYLON from '@babylonjs/core';
import * as BABYLON from '@babylonjs/core/pure';
import { defineFuniture } from '../furniture.js';
import { sofa_schema } from 'misskey-world/src/room/furnitures/sofa.schema.js';

View file

@ -3,7 +3,7 @@
* SPDX-License-Identifier: AGPL-3.0-only
*/
import * as BABYLON from '@babylonjs/core';
import * as BABYLON from '@babylonjs/core/pure';
import { defineFuniture } from '../furniture.js';
import { speaker_schema } from 'misskey-world/src/room/furnitures/speaker.schema.js';

View file

@ -3,7 +3,7 @@
* SPDX-License-Identifier: AGPL-3.0-only
*/
import * as BABYLON from '@babylonjs/core';
import * as BABYLON from '@babylonjs/core/pure';
import { defineFuniture } from '../furniture.js';
import { speakerStand_schema } from 'misskey-world/src/room/furnitures/speakerStand.schema.js';

View file

@ -3,7 +3,7 @@
* SPDX-License-Identifier: AGPL-3.0-only
*/
import * as BABYLON from '@babylonjs/core';
import * as BABYLON from '@babylonjs/core/pure';
import { defineFuniture } from '../furniture.js';
import { getLightRangeFactorByGraphicsQuality } from '../utility.js';
import { cm, remap, WORLD_SCALE } from 'misskey-world/src/utility.js';

View file

@ -3,7 +3,7 @@
* SPDX-License-Identifier: AGPL-3.0-only
*/
import * as BABYLON from '@babylonjs/core';
import * as BABYLON from '@babylonjs/core/pure';
import { defineFuniture } from '../furniture.js';
import { stanchionPole_schema } from 'misskey-world/src/room/furnitures/stanchionPole.schema.js';

View file

@ -3,7 +3,7 @@
* SPDX-License-Identifier: AGPL-3.0-only
*/
import * as BABYLON from '@babylonjs/core';
import * as BABYLON from '@babylonjs/core/pure';
import { steelRack_schema } from 'misskey-world/src/room/furnitures/steelRack.schema.js';
import { cm, remap } from 'misskey-world/src/utility.js';
import { defineFuniture } from '../furniture.js';

View file

@ -3,7 +3,7 @@
* SPDX-License-Identifier: AGPL-3.0-only
*/
import * as BABYLON from '@babylonjs/core';
import * as BABYLON from '@babylonjs/core/pure';
import { cm, WORLD_SCALE } from 'misskey-world/src/utility.js';
import { tabletopDigitalClock_schema } from 'misskey-world/src/room/furnitures/tabletopDigitalClock.schema.js';
import { defineFuniture } from '../furniture.js';

View file

@ -3,7 +3,7 @@
* SPDX-License-Identifier: AGPL-3.0-only
*/
import * as BABYLON from '@babylonjs/core';
import * as BABYLON from '@babylonjs/core/pure';
import { createTextureManager, defineFuniture } from '../furniture.js';
import { tabletopFlag_schema } from 'misskey-world/src/room/furnitures/tabletopFlag.schema.js';

View file

@ -3,7 +3,7 @@
* SPDX-License-Identifier: AGPL-3.0-only
*/
import * as BABYLON from '@babylonjs/core';
import * as BABYLON from '@babylonjs/core/pure';
import { createTextureManager, defineFuniture } from '../furniture.js';
import { remap } from 'misskey-world/src/utility.js';
import { tabletopGlassPictureFrame_schema } from 'misskey-world/src/room/furnitures/tabletopGlassPictureFrame.schema.js';

View file

@ -3,7 +3,7 @@
* SPDX-License-Identifier: AGPL-3.0-only
*/
import * as BABYLON from '@babylonjs/core';
import * as BABYLON from '@babylonjs/core/pure';
import { defineFuniture } from '../furniture.js';
import { tabletopIronFrameStand_schema } from 'misskey-world/src/room/furnitures/tabletopIronFrameStand.schema.js';

View file

@ -3,7 +3,7 @@
* SPDX-License-Identifier: AGPL-3.0-only
*/
import * as BABYLON from '@babylonjs/core';
import * as BABYLON from '@babylonjs/core/pure';
import { tabletopLcdButtonsController_schema } from 'misskey-world/src/room/furnitures/tabletopLcdButtonsController.schema.js';
import { createTextureManager, defineFuniture } from '../furniture.js';
import { normalizeUvToSquare } from '../../utility.js';

View file

@ -3,7 +3,7 @@
* SPDX-License-Identifier: AGPL-3.0-only
*/
import * as BABYLON from '@babylonjs/core';
import * as BABYLON from '@babylonjs/core/pure';
import { createTextureManager, defineFuniture } from '../furniture.js';
import { tabletopPictureFrame_schema } from 'misskey-world/src/room/furnitures/tabletopPictureFrame.schema.js';

View file

@ -3,7 +3,7 @@
* SPDX-License-Identifier: AGPL-3.0-only
*/
import * as BABYLON from '@babylonjs/core';
import * as BABYLON from '@babylonjs/core/pure';
import { createTextureManager, defineFuniture } from '../furniture.js';
import { remap } from 'misskey-world/src/utility.js';
import { tapestry_schema } from 'misskey-world/src/room/furnitures/tapestry.schema.js';

View file

@ -3,7 +3,7 @@
* SPDX-License-Identifier: AGPL-3.0-only
*/
import * as BABYLON from '@babylonjs/core';
import * as BABYLON from '@babylonjs/core/pure';
import { defineFuniture } from '../furniture.js';
import { getLightRangeFactorByGraphicsQuality, initTv } from '../utility.js';
import { cm, WORLD_SCALE } from 'misskey-world/src/utility.js';

View file

@ -3,7 +3,7 @@
* SPDX-License-Identifier: AGPL-3.0-only
*/
import * as BABYLON from '@babylonjs/core';
import * as BABYLON from '@babylonjs/core/pure';
import { createTextureManager, defineFuniture } from '../furniture.js';
import { wallCanvas_schema } from 'misskey-world/src/room/furnitures/wallCanvas.schema.js';

View file

@ -3,7 +3,7 @@
* SPDX-License-Identifier: AGPL-3.0-only
*/
import * as BABYLON from '@babylonjs/core';
import * as BABYLON from '@babylonjs/core/pure';
import { defineFuniture } from '../furniture.js';
import { wallClock_schema } from 'misskey-world/src/room/furnitures/wallClock.schema.js';

View file

@ -3,7 +3,7 @@
* SPDX-License-Identifier: AGPL-3.0-only
*/
import * as BABYLON from '@babylonjs/core';
import * as BABYLON from '@babylonjs/core/pure';
import { createTextureManager, defineFuniture } from '../furniture.js';
import { remap } from 'misskey-world/src/utility.js';
import { wallGlassPictureFrame_schema } from 'misskey-world/src/room/furnitures/wallGlassPictureFrame.schema.js';

View file

@ -3,7 +3,7 @@
* SPDX-License-Identifier: AGPL-3.0-only
*/
import * as BABYLON from '@babylonjs/core';
import * as BABYLON from '@babylonjs/core/pure';
import { defineFuniture } from '../furniture.js';
import { wallMirror_schema } from 'misskey-world/src/room/furnitures/wallMirror.schema.js';

View file

@ -3,7 +3,7 @@
* SPDX-License-Identifier: AGPL-3.0-only
*/
import * as BABYLON from '@babylonjs/core';
import * as BABYLON from '@babylonjs/core/pure';
import { defineFuniture } from '../furniture.js';
import { getLightRangeFactorByGraphicsQuality } from '../utility.js';
import { cm, WORLD_SCALE } from 'misskey-world/src/utility.js';

View file

@ -3,7 +3,7 @@
* SPDX-License-Identifier: AGPL-3.0-only
*/
import * as BABYLON from '@babylonjs/core';
import * as BABYLON from '@babylonjs/core/pure';
import { defineFuniture } from '../furniture.js';
import { wallShelf_schema } from 'misskey-world/src/room/furnitures/wallShelf.schema.js';

View file

@ -3,7 +3,7 @@
* SPDX-License-Identifier: AGPL-3.0-only
*/
import * as BABYLON from '@babylonjs/core';
import * as BABYLON from '@babylonjs/core/pure';
import { defineFuniture } from '../furniture.js';
import { wireBasket_schema } from 'misskey-world/src/room/furnitures/wireBasket.schema.js';

View file

@ -3,7 +3,7 @@
* SPDX-License-Identifier: AGPL-3.0-only
*/
import * as BABYLON from '@babylonjs/core';
import * as BABYLON from '@babylonjs/core/pure';
import { defineFuniture } from '../furniture.js';
import { wireNet_schema } from 'misskey-world/src/room/furnitures/wireNet.schema.js';

View file

@ -3,7 +3,7 @@
* SPDX-License-Identifier: AGPL-3.0-only
*/
import * as BABYLON from '@babylonjs/core';
import * as BABYLON from '@babylonjs/core/pure';
import { defineFuniture } from '../furniture.js';
import { getLightRangeFactorByGraphicsQuality } from '../utility.js';
import { cm, WORLD_SCALE } from 'misskey-world/src/utility.js';

View file

@ -3,7 +3,7 @@
* SPDX-License-Identifier: AGPL-3.0-only
*/
import * as BABYLON from '@babylonjs/core';
import * as BABYLON from '@babylonjs/core/pure';
import { defineFuniture } from '../furniture.js';
import { getLightRangeFactorByGraphicsQuality } from '../utility.js';
import { cm, remap, WORLD_SCALE } from 'misskey-world/src/utility.js';

View file

@ -3,13 +3,14 @@
* SPDX-License-Identifier: AGPL-3.0-only
*/
import * as BABYLON from '@babylonjs/core';
import * as BABYLON from '@babylonjs/core/pure';
import '@babylonjs/core/Engines/WebGPU/Extensions/engine.rawTexture';
import { RoomEngine } from './engine.js';
import type { RoomState, RoomAttachments } from 'misskey-world/src/room/type.js';
//BABYLON.RegisterStandardEngineExtensions();
//BABYLON.RegisterEnginesExtensionsEngineRawTexture();
//BABYLON.RegisterCollisionCoordinator();
BABYLON.RegisterFullEngineExtensions();
BABYLON.RegisterEnginesExtensionsEngineRawTexture();
BABYLON.RegisterCollisionCoordinator();
export async function createRoomEngine(params: {
roomState: RoomState; roomAttachments: RoomAttachments; canvas: HTMLCanvasElement; options: { antialias: boolean; resolution: number; fov: number; graphicsQuality: number; fps: number | null; useVirtualJoystick?: boolean; };

View file

@ -3,7 +3,7 @@
* SPDX-License-Identifier: AGPL-3.0-only
*/
import * as BABYLON from '@babylonjs/core';
import * as BABYLON from '@babylonjs/core/pure';
import { registerBuiltInLoaders } from '@babylonjs/loaders/dynamic.js';
import { GridMaterial } from '@babylonjs/materials';
import { cm, WORLD_SCALE } from 'misskey-world/src/utility.js';

View file

@ -3,12 +3,13 @@
* SPDX-License-Identifier: AGPL-3.0-only
*/
import * as BABYLON from '@babylonjs/core';
import * as BABYLON from '@babylonjs/core/pure';
import '@babylonjs/core/Engines/WebGPU/Extensions/engine.rawTexture';
import { RoomFurniturePreviewEngine } from './previewEngine.js';
//BABYLON.RegisterStandardEngineExtensions();
//BABYLON.RegisterEnginesExtensionsEngineRawTexture();
//BABYLON.RegisterCollisionCoordinator();
BABYLON.RegisterFullEngineExtensions();
BABYLON.RegisterEnginesExtensionsEngineRawTexture();
BABYLON.RegisterCollisionCoordinator();
export async function createRoomPreviewEngine(params: {
canvas: HTMLCanvasElement; options: { graphicsQuality: number; resolution: number; fps: number | null };

View file

@ -3,15 +3,16 @@
* SPDX-License-Identifier: AGPL-3.0-only
*/
import * as BABYLON from '@babylonjs/core';
import * as BABYLON from '@babylonjs/core/pure';
import '@babylonjs/core/Engines/WebGPU/Extensions/engine.rawTexture';
import { RoomFurniturePreviewEngine } from './previewEngine.js';
let engine: RoomFurniturePreviewEngine | null = null;
let canvas: OffscreenCanvas | null = null;
//BABYLON.RegisterStandardEngineExtensions();
//BABYLON.RegisterEnginesExtensionsEngineRawTexture();
//BABYLON.RegisterCollisionCoordinator();
BABYLON.RegisterFullEngineExtensions();
BABYLON.RegisterEnginesExtensionsEngineRawTexture();
BABYLON.RegisterCollisionCoordinator();
// TODO: 他のWorkerと実装を共通化
onmessage = async (event) => {

View file

@ -3,7 +3,7 @@
* SPDX-License-Identifier: AGPL-3.0-only
*/
import * as BABYLON from '@babylonjs/core';
import * as BABYLON from '@babylonjs/core/pure';
import { cm } from 'misskey-world/src/utility.js';
import { applyMorphTargetsToMesh, findMaterial, getPlaneUvIndexes, GRAPHICS_QUALITY, Timer } from '../utility.js';

View file

@ -3,16 +3,17 @@
* SPDX-License-Identifier: AGPL-3.0-only
*/
import * as BABYLON from '@babylonjs/core';
import * as BABYLON from '@babylonjs/core/pure';
import '@babylonjs/core/Engines/WebGPU/Extensions/engine.rawTexture';
import { RoomEngine } from './engine.js';
import type { RoomState, RoomAttachments } from 'misskey-world/src/room/type.js';
let engine: RoomEngine | null = null;
let canvas: OffscreenCanvas | null = null;
//BABYLON.RegisterStandardEngineExtensions();
//BABYLON.RegisterEnginesExtensionsEngineRawTexture();
//BABYLON.RegisterCollisionCoordinator();
BABYLON.RegisterFullEngineExtensions();
BABYLON.RegisterEnginesExtensionsEngineRawTexture();
BABYLON.RegisterCollisionCoordinator();
// TODO: 他のWorkerと実装を共通化
onmessage = async (event) => {

View file

@ -3,7 +3,7 @@
* SPDX-License-Identifier: AGPL-3.0-only
*/
import * as BABYLON from '@babylonjs/core';
import * as BABYLON from '@babylonjs/core/pure';
export const GRAPHICS_QUALITY = {
HIGH: 1,