From cb605a3978780ab7ae87beb57381f1d224f2f885 Mon Sep 17 00:00:00 2001 From: syuilo <4439005+syuilo@users.noreply.github.com> Date: Tue, 26 May 2026 09:45:40 +0900 Subject: [PATCH] wip --- .../src/room/objects/ductRailSpotLights.ts | 2 +- .../src/room/objects/poster.ts | 2 +- .../src/room/objects/randomBooks.ts | 2 +- .../src/room/objects/spotLight.ts | 2 +- .../src/room/objects/tabletopDigitalClock.ts | 2 +- .../room/objects/tabletopGlassPictureFrame.ts | 2 +- .../src/room/objects/tapestry.ts | 2 +- .../src/room/objects/tv.ts | 2 +- .../src/room/objects/wallGlassPictureFrame.ts | 2 +- .../src/room/objects/wallMountSpotLight.ts | 2 +- .../src/room/objects/woodRingFloorLamp.ts | 2 +- .../src/room/objects/woodRingsPendantLight.ts | 2 +- .../src/utility.ts | 40 ++++--------------- packages/frontend/src/pages/rooms/index.vue | 2 +- .../rooms/room.add-object-dialog.item.vue | 2 +- .../pages/rooms/room.add-object-dialog.vue | 2 +- .../frontend/src/pages/rooms/room.core.vue | 2 +- .../src/pages/rooms/room.env-options.vue | 2 +- .../rooms/room.object-customize-form.vue | 2 +- .../pages/rooms/room.simple-env-options.vue | 2 +- .../rooms/room.simple-env-pillar-options.vue | 2 +- .../rooms/room.simple-env-wall-options.vue | 2 +- packages/misskey-world/src/utility.ts | 26 ++++++++++++ 23 files changed, 54 insertions(+), 54 deletions(-) diff --git a/packages/frontend-misskey-world-engine/src/room/objects/ductRailSpotLights.ts b/packages/frontend-misskey-world-engine/src/room/objects/ductRailSpotLights.ts index f4248c399a..0743352125 100644 --- a/packages/frontend-misskey-world-engine/src/room/objects/ductRailSpotLights.ts +++ b/packages/frontend-misskey-world-engine/src/room/objects/ductRailSpotLights.ts @@ -6,7 +6,7 @@ import * as BABYLON from '@babylonjs/core'; import { defineObject } from '../object.js'; import { getLightRangeFactorByGraphicsQuality } from '../utility.js'; -import { cm, remap, WORLD_SCALE } from '@/world/utility.js'; +import { cm, remap, WORLD_SCALE } from 'misskey-world/src/utility.js'; import { ductRailSpotLights_schema } from 'misskey-world/src/room/objects/ductRailSpotLights.schema.js'; export const ductRailSpotLights = defineObject(ductRailSpotLights_schema, { diff --git a/packages/frontend-misskey-world-engine/src/room/objects/poster.ts b/packages/frontend-misskey-world-engine/src/room/objects/poster.ts index 4a097bf085..6e1a20542d 100644 --- a/packages/frontend-misskey-world-engine/src/room/objects/poster.ts +++ b/packages/frontend-misskey-world-engine/src/room/objects/poster.ts @@ -5,7 +5,7 @@ import * as BABYLON from '@babylonjs/core'; import { createTextureManager, defineObject } from '../object.js'; -import { remap } from '@/world/utility.js'; +import { remap } from 'misskey-world/src/utility.js'; import { poster_schema } from 'misskey-world/src/room/objects/poster.schema.js'; export const poster = defineObject(poster_schema, { diff --git a/packages/frontend-misskey-world-engine/src/room/objects/randomBooks.ts b/packages/frontend-misskey-world-engine/src/room/objects/randomBooks.ts index a5bf85052c..be3d3d0076 100644 --- a/packages/frontend-misskey-world-engine/src/room/objects/randomBooks.ts +++ b/packages/frontend-misskey-world-engine/src/room/objects/randomBooks.ts @@ -6,7 +6,7 @@ import * as BABYLON from '@babylonjs/core'; import seedrandom from 'seedrandom'; import { defineObject } from '../object.js'; -import { cm, remap, WORLD_SCALE } from '@/world/utility.js'; +import { cm, remap, WORLD_SCALE } from 'misskey-world/src/utility.js'; import { randomBooks_schema } from 'misskey-world/src/room/objects/randomBooks.schema.js'; export const randomBooks = defineObject(randomBooks_schema, { diff --git a/packages/frontend-misskey-world-engine/src/room/objects/spotLight.ts b/packages/frontend-misskey-world-engine/src/room/objects/spotLight.ts index 4dc73a8ee8..14c2adeea2 100644 --- a/packages/frontend-misskey-world-engine/src/room/objects/spotLight.ts +++ b/packages/frontend-misskey-world-engine/src/room/objects/spotLight.ts @@ -6,7 +6,7 @@ import * as BABYLON from '@babylonjs/core'; import { defineObject } from '../object.js'; import { getLightRangeFactorByGraphicsQuality } from '../utility.js'; -import { cm, remap, WORLD_SCALE } from '@/world/utility.js'; +import { cm, remap, WORLD_SCALE } from 'misskey-world/src/utility.js'; import { spotLight_schema } from 'misskey-world/src/room/objects/spotLight.schema.js'; export const spotLight = defineObject(spotLight_schema, { diff --git a/packages/frontend-misskey-world-engine/src/room/objects/tabletopDigitalClock.ts b/packages/frontend-misskey-world-engine/src/room/objects/tabletopDigitalClock.ts index a9b6fe6fea..9ac0ec367a 100644 --- a/packages/frontend-misskey-world-engine/src/room/objects/tabletopDigitalClock.ts +++ b/packages/frontend-misskey-world-engine/src/room/objects/tabletopDigitalClock.ts @@ -5,7 +5,7 @@ import * as BABYLON from '@babylonjs/core'; import { defineObject } from '../object.js'; -import { cm, get7segMeshesOfCurrentTime, WORLD_SCALE } from '@/world/utility.js'; +import { cm, get7segMeshesOfCurrentTime, WORLD_SCALE } from 'misskey-world/src/utility.js'; import { tabletopDigitalClock_schema } from 'misskey-world/src/room/objects/tabletopDigitalClock.schema.js'; export const tabletopDigitalClock = defineObject(tabletopDigitalClock_schema, { diff --git a/packages/frontend-misskey-world-engine/src/room/objects/tabletopGlassPictureFrame.ts b/packages/frontend-misskey-world-engine/src/room/objects/tabletopGlassPictureFrame.ts index 8423e9cda5..daa575a6e2 100644 --- a/packages/frontend-misskey-world-engine/src/room/objects/tabletopGlassPictureFrame.ts +++ b/packages/frontend-misskey-world-engine/src/room/objects/tabletopGlassPictureFrame.ts @@ -5,7 +5,7 @@ import * as BABYLON from '@babylonjs/core'; import { createTextureManager, defineObject } from '../object.js'; -import { remap } from '@/world/utility.js'; +import { remap } from 'misskey-world/src/utility.js'; import { tabletopGlassPictureFrame_schema } from 'misskey-world/src/room/objects/tabletopGlassPictureFrame.schema.js'; export const tabletopGlassPictureFrame = defineObject(tabletopGlassPictureFrame_schema, { diff --git a/packages/frontend-misskey-world-engine/src/room/objects/tapestry.ts b/packages/frontend-misskey-world-engine/src/room/objects/tapestry.ts index c5a23920e6..f4e558e476 100644 --- a/packages/frontend-misskey-world-engine/src/room/objects/tapestry.ts +++ b/packages/frontend-misskey-world-engine/src/room/objects/tapestry.ts @@ -5,7 +5,7 @@ import * as BABYLON from '@babylonjs/core'; import { createTextureManager, defineObject } from '../object.js'; -import { remap } from '@/world/utility.js'; +import { remap } from 'misskey-world/src/utility.js'; import { tapestry_schema } from 'misskey-world/src/room/objects/tapestry.schema.js'; export const tapestry = defineObject(tapestry_schema, { diff --git a/packages/frontend-misskey-world-engine/src/room/objects/tv.ts b/packages/frontend-misskey-world-engine/src/room/objects/tv.ts index edcb9f916d..02b73bd91f 100644 --- a/packages/frontend-misskey-world-engine/src/room/objects/tv.ts +++ b/packages/frontend-misskey-world-engine/src/room/objects/tv.ts @@ -6,7 +6,7 @@ import * as BABYLON from '@babylonjs/core'; import { defineObject } from '../object.js'; import { getLightRangeFactorByGraphicsQuality, initTv } from '../utility.js'; -import { cm, WORLD_SCALE } from '@/world/utility.js'; +import { cm, WORLD_SCALE } from 'misskey-world/src/utility.js'; import { tv_schema } from 'misskey-world/src/room/objects/tv.schema.js'; export const tv = defineObject(tv_schema, { diff --git a/packages/frontend-misskey-world-engine/src/room/objects/wallGlassPictureFrame.ts b/packages/frontend-misskey-world-engine/src/room/objects/wallGlassPictureFrame.ts index 9cdc99723c..7cd6aaf5bd 100644 --- a/packages/frontend-misskey-world-engine/src/room/objects/wallGlassPictureFrame.ts +++ b/packages/frontend-misskey-world-engine/src/room/objects/wallGlassPictureFrame.ts @@ -5,7 +5,7 @@ import * as BABYLON from '@babylonjs/core'; import { createTextureManager, defineObject } from '../object.js'; -import { remap } from '@/world/utility.js'; +import { remap } from 'misskey-world/src/utility.js'; import { wallGlassPictureFrame_schema } from 'misskey-world/src/room/objects/wallGlassPictureFrame.schema.js'; export const wallGlassPictureFrame = defineObject(wallGlassPictureFrame_schema, { diff --git a/packages/frontend-misskey-world-engine/src/room/objects/wallMountSpotLight.ts b/packages/frontend-misskey-world-engine/src/room/objects/wallMountSpotLight.ts index c012bb3747..430a2c0cd7 100644 --- a/packages/frontend-misskey-world-engine/src/room/objects/wallMountSpotLight.ts +++ b/packages/frontend-misskey-world-engine/src/room/objects/wallMountSpotLight.ts @@ -6,7 +6,7 @@ import * as BABYLON from '@babylonjs/core'; import { defineObject } from '../object.js'; import { getLightRangeFactorByGraphicsQuality } from '../utility.js'; -import { cm, WORLD_SCALE } from '@/world/utility.js'; +import { cm, WORLD_SCALE } from 'misskey-world/src/utility.js'; import { wallMountSpotLight_schema } from 'misskey-world/src/room/objects/wallMountSpotLight.schema.js'; export const wallMountSpotLight = defineObject(wallMountSpotLight_schema, { diff --git a/packages/frontend-misskey-world-engine/src/room/objects/woodRingFloorLamp.ts b/packages/frontend-misskey-world-engine/src/room/objects/woodRingFloorLamp.ts index 16251bf3c1..7471c77041 100644 --- a/packages/frontend-misskey-world-engine/src/room/objects/woodRingFloorLamp.ts +++ b/packages/frontend-misskey-world-engine/src/room/objects/woodRingFloorLamp.ts @@ -6,7 +6,7 @@ import * as BABYLON from '@babylonjs/core'; import { defineObject } from '../object.js'; import { getLightRangeFactorByGraphicsQuality } from '../utility.js'; -import { cm, WORLD_SCALE } from '@/world/utility.js'; +import { cm, WORLD_SCALE } from 'misskey-world/src/utility.js'; import { woodRingFloorLamp_schema } from 'misskey-world/src/room/objects/woodRingFloorLamp.schema.js'; export const woodRingFloorLamp = defineObject(woodRingFloorLamp_schema, { diff --git a/packages/frontend-misskey-world-engine/src/room/objects/woodRingsPendantLight.ts b/packages/frontend-misskey-world-engine/src/room/objects/woodRingsPendantLight.ts index 559fe3e8c7..edbaf60089 100644 --- a/packages/frontend-misskey-world-engine/src/room/objects/woodRingsPendantLight.ts +++ b/packages/frontend-misskey-world-engine/src/room/objects/woodRingsPendantLight.ts @@ -6,7 +6,7 @@ import * as BABYLON from '@babylonjs/core'; import { defineObject } from '../object.js'; import { getLightRangeFactorByGraphicsQuality } from '../utility.js'; -import { cm, remap, WORLD_SCALE } from '@/world/utility.js'; +import { cm, remap, WORLD_SCALE } from 'misskey-world/src/utility.js'; import { woodRingsPendantLight_schema } from 'misskey-world/src/room/objects/woodRingsPendantLight.schema.js'; export const woodRingsPendantLight = defineObject(woodRingsPendantLight_schema, { diff --git a/packages/frontend-misskey-world-engine/src/utility.ts b/packages/frontend-misskey-world-engine/src/utility.ts index 0476398fd8..af6e211a8e 100644 --- a/packages/frontend-misskey-world-engine/src/utility.ts +++ b/packages/frontend-misskey-world-engine/src/utility.ts @@ -254,14 +254,6 @@ export function applyMorphTargetsToMesh(mesh: BABYLON.Mesh) { mesh.computeWorldMatrix(true); } -// ex) hangingTShirt -> hanging-t-shirt -export const camelToKebab = (s: string) => { - return s - .replace(/([a-z0-9])([A-Z])/g, '$1-$2') - .replace(/([A-Z])([A-Z][a-z])/g, '$1-$2') - .toLowerCase(); -}; - // この実装方法だとマイナスの座標をうまく処理できず結果がおかしくなるので応急処置で全体を+10000cmオフセットしてから計算している export function getMeshesBoundingBox(meshes: BABYLON.Mesh[], forceComputeWorldMatrix = false): BABYLON.BoundingBox { let min = new BABYLON.Vector3(Number.MAX_VALUE, Number.MAX_VALUE, Number.MAX_VALUE); @@ -548,7 +540,7 @@ export class RecyvlingTextGrid { export function sleep(ms: number) { // workerで実行される可能性がある - + return new Promise(resolve => setTimeout(resolve, ms)); } @@ -558,7 +550,7 @@ export class Timer { public setTimeout(callback: () => void, ms: number) { // workerで実行される可能性がある - + const id = setTimeout(() => { this.timeoutIds = this.timeoutIds.filter(i => i !== id); callback(); @@ -569,7 +561,7 @@ export class Timer { public setInterval(callback: () => void, ms: number, signal?: AbortSignal) { // workerで実行される可能性がある - + const id = setInterval(callback, ms); this.intervalIds.push(id); if (signal != null) { @@ -582,14 +574,14 @@ export class Timer { private clearTimeout(id: number) { // workerで実行される可能性がある - + clearTimeout(id); this.timeoutIds = this.timeoutIds.filter(i => i !== id); } private clearInterval(id: number) { // workerで実行される可能性がある - + clearInterval(id); this.intervalIds = this.intervalIds.filter(i => i !== id); } @@ -597,14 +589,14 @@ export class Timer { public dispose() { for (const id of this.timeoutIds) { // workerで実行される可能性がある - + clearTimeout(id); } this.timeoutIds = []; for (const id of this.intervalIds) { // workerで実行される可能性がある - + clearInterval(id); } this.intervalIds = []; @@ -624,24 +616,6 @@ export function getYRotationDirection(rotationY: number): '+x' | '+z' | '-x' | ' } } -export function getHex(c: [number, number, number]) { - return `#${c.map(x => Math.round(x * 255).toString(16).padStart(2, '0')).join('')}`; -} - -export function getRgb(hex: string | number): [number, number, number] | null { - if ( - typeof hex === 'number' || - typeof hex !== 'string' || - !/^#([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$/.test(hex) - ) { - return null; - } - - const m = hex.slice(1).match(/[0-9a-fA-F]{2}/g); - if (m == null) return [0, 0, 0]; - return m.map(x => parseInt(x, 16) / 255) as [number, number, number]; -} - export class FreeCameraManualInput implements BABYLON.ICameraInput { public camera: BABYLON.FreeCamera; private scene: BABYLON.Scene; diff --git a/packages/frontend/src/pages/rooms/index.vue b/packages/frontend/src/pages/rooms/index.vue index 9dc547e8be..2fb9b1bbd8 100644 --- a/packages/frontend/src/pages/rooms/index.vue +++ b/packages/frontend/src/pages/rooms/index.vue @@ -21,7 +21,7 @@ import { ensureSignin } from '@/i'; import MkButton from '@/components/MkButton.vue'; import * as os from '@/os.js'; import { misskeyApi } from '@/utility/misskey-api.js'; -import { WORLD_SCALE } from '@/world/utility.js'; +import { WORLD_SCALE } from 'misskey-world/src/utility.js'; import { useRouter } from '@/router.js'; const router = useRouter(); diff --git a/packages/frontend/src/pages/rooms/room.add-object-dialog.item.vue b/packages/frontend/src/pages/rooms/room.add-object-dialog.item.vue index 47d688b4b7..dad54c192b 100644 --- a/packages/frontend/src/pages/rooms/room.add-object-dialog.item.vue +++ b/packages/frontend/src/pages/rooms/room.add-object-dialog.item.vue @@ -17,7 +17,7 @@ SPDX-License-Identifier: AGPL-3.0-only