mirror of
https://github.com/storytold/artcraft.git
synced 2026-11-05 01:38:44 +00:00
threejs upgrade, remove MMD support
This commit is contained in:
1 parent
7a6dcf5c37
commit
b203bb23c8
7 files changed
+726
-123
No files matched your search
+8
-6
@@ -3,7 +3,8 @@ import { Retarget } from "../retargeting";
|
||||
import { FBXLoader } from "three/examples/jsm/loaders/FBXLoader.js";
|
||||
import { GLTFLoader } from "three/examples/jsm/loaders/GLTFLoader.js";
|
||||
import { get_media_url } from "~/Classes/ApiHelpers";
|
||||
import { MMDLoader } from "three/examples/jsm/loaders/MMDLoader.js";
|
||||
// Three.js dropped support for MMD
|
||||
//import { MMDLoader } from "three/examples/jsm/loaders/MMDLoader.js";
|
||||
import { ClipUI } from "../../clips/clip_ui";
|
||||
import Ijson from "~/interfaces/Ijson";
|
||||
|
||||
@@ -243,11 +244,12 @@ export class CharacterAnimationEngine implements Ijson {
|
||||
resolve(animationClip_1);
|
||||
});
|
||||
} else if (url.includes(".vmd")) {
|
||||
const mmdLoader = new MMDLoader();
|
||||
mmdLoader.loadAnimation(url, character as THREE.SkinnedMesh, (mmd) => {
|
||||
mmd.name = url;
|
||||
resolve(mmd as THREE.AnimationClip);
|
||||
});
|
||||
// Three.js dropped support for MMD
|
||||
//const mmdLoader = new MMDLoader();
|
||||
//mmdLoader.loadAnimation(url, character as THREE.SkinnedMesh, (mmd) => {
|
||||
// mmd.name = url;
|
||||
// resolve(mmd as THREE.AnimationClip);
|
||||
//});
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@@ -1,11 +1,12 @@
|
||||
import * as THREE from "three";
|
||||
import { GLTFLoader, GLTF } from "three/addons/loaders/GLTFLoader.js";
|
||||
import { MMDLoader } from "three/addons/loaders/MMDLoader.js";
|
||||
//import { MMDLoader } from "three/addons/loaders/MMDLoader.js";
|
||||
|
||||
import { Font } from "three/examples/jsm/loaders/FontLoader.js";
|
||||
import { generateUUID } from "three/src/math/MathUtils.js";
|
||||
import { LoadingPlaceHolderManager } from "./placeholder_manager";
|
||||
import { MMDAnimationHelper, Water } from "three/examples/jsm/Addons.js";
|
||||
//import { MMDAnimationHelper, Water } from "three/examples/jsm/Addons.js";
|
||||
import { Water } from "three/examples/jsm/Addons.js";
|
||||
import { MediaFileType } from "../enums";
|
||||
import { ChromaKeyMaterial } from "./chromakey";
|
||||
import { TimeLine } from "./timeline";
|
||||
@@ -44,7 +45,8 @@ class Scene {
|
||||
mediaFilesApi: MediaFilesApi;
|
||||
|
||||
updateSurfaceIdAttributeToMesh: Function;
|
||||
helper: MMDAnimationHelper;
|
||||
//helper: MMDAnimationHelper;
|
||||
helper: undefined | null;
|
||||
ambientLight: THREE.AmbientLight | undefined;
|
||||
hemisphereLight: THREE.HemisphereLight | undefined;
|
||||
directional_light: THREE.DirectionalLight | undefined;
|
||||
@@ -91,7 +93,8 @@ class Scene {
|
||||
this._create_skybox();
|
||||
// this._create_camera_obj();
|
||||
|
||||
this.helper = new MMDAnimationHelper({ afterglow: 0.0 });
|
||||
this.helper = null;
|
||||
//this.helper = new MMDAnimationHelper({ afterglow: 0.0 });
|
||||
this.scene.userData["helper"] = this.helper;
|
||||
|
||||
// Subscribe to grid visibility changes
|
||||
@@ -861,24 +864,24 @@ class Scene {
|
||||
await this.delay_mmd(500);
|
||||
|
||||
return new Promise((resolve, reject) => {
|
||||
const mmdLoader = new MMDLoader();
|
||||
mmdLoader.loadWithAnimation(
|
||||
media_url,
|
||||
["/resources/pose/Lumine Idle cycle.vmd"],
|
||||
(mmd) => {
|
||||
this.helper.add(mmd.mesh, {
|
||||
animation: mmd.animation,
|
||||
physics: false,
|
||||
});
|
||||
//const mmdLoader = new MMDLoader();
|
||||
//mmdLoader.loadWithAnimation(
|
||||
// media_url,
|
||||
// ["/resources/pose/Lumine Idle cycle.vmd"],
|
||||
// (mmd) => {
|
||||
// this.helper.add(mmd.mesh, {
|
||||
// animation: mmd.animation,
|
||||
// physics: false,
|
||||
// });
|
||||
|
||||
mmd.mesh.scale.set(0.1, 0.1, 0.1);
|
||||
resolve(mmd.mesh);
|
||||
},
|
||||
progress,
|
||||
(error) => {
|
||||
reject(error);
|
||||
},
|
||||
);
|
||||
// mmd.mesh.scale.set(0.1, 0.1, 0.1);
|
||||
// resolve(mmd.mesh);
|
||||
// },
|
||||
// progress,
|
||||
// (error) => {
|
||||
// reject(error);
|
||||
// },
|
||||
//);
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -2,10 +2,10 @@ import * as THREE from "three";
|
||||
import { GLTFLoader } from "three/addons/loaders/GLTFLoader.js";
|
||||
import {
|
||||
FBXLoader,
|
||||
MMDAnimationHelper,
|
||||
MMDAnimationHelperMixer,
|
||||
//MMDAnimationHelper,
|
||||
//MMDAnimationHelperMixer,
|
||||
} from "three/examples/jsm/Addons.js";
|
||||
import { MMDLoader } from "three/addons/loaders/MMDLoader.js";
|
||||
//import { MMDLoader } from "three/addons/loaders/MMDLoader.js";
|
||||
|
||||
import { MoveAIResult, Retarget } from "../Editor/retargeting";
|
||||
import IAnimationClip from "./ClipInterfaces/IAnimationClip";
|
||||
@@ -32,8 +32,10 @@ export class AnimationClip implements IAnimationClip {
|
||||
|
||||
|
||||
private isMMD: boolean = false;
|
||||
private obj: MMDAnimationHelperMixer | undefined;
|
||||
private helper: MMDAnimationHelper | undefined;
|
||||
//private obj: MMDAnimationHelperMixer | undefined;
|
||||
//private helper: MMDAnimationHelper | undefined;
|
||||
private obj: null | undefined;
|
||||
private helper: null | undefined;
|
||||
private mmd_anim_clip: THREE.AnimationClip | undefined;
|
||||
private pose: Object | undefined;
|
||||
private processingClip: boolean = false;
|
||||
@@ -119,19 +121,19 @@ export class AnimationClip implements IAnimationClip {
|
||||
resolve(animationClip);
|
||||
});
|
||||
} else if (url.includes(".vmd")) {
|
||||
console.log("VMD Loader");
|
||||
const root = this.mixer?.getRoot();
|
||||
this.isMMD = true;
|
||||
if (root) {
|
||||
const mmdLoader = new MMDLoader();
|
||||
this.mmd_url = url;
|
||||
mmdLoader.loadAnimation(url, root as THREE.SkinnedMesh, (mmd) => {
|
||||
mmd.name = this.mmd_url;
|
||||
resolve(mmd as THREE.AnimationClip);
|
||||
});
|
||||
console.log("Loaded");
|
||||
}
|
||||
console.log("Dont");
|
||||
//console.log("VMD Loader");
|
||||
//const root = this.mixer?.getRoot();
|
||||
//this.isMMD = true;
|
||||
//if (root) {
|
||||
// const mmdLoader = new MMDLoader();
|
||||
// this.mmd_url = url;
|
||||
// mmdLoader.loadAnimation(url, root as THREE.SkinnedMesh, (mmd) => {
|
||||
// mmd.name = this.mmd_url;
|
||||
// resolve(mmd as THREE.AnimationClip);
|
||||
// });
|
||||
// console.log("Loaded");
|
||||
//}
|
||||
//console.log("Dont");
|
||||
}
|
||||
});
|
||||
});
|
||||
@@ -231,12 +233,12 @@ export class AnimationClip implements IAnimationClip {
|
||||
}
|
||||
|
||||
private async load_vpd_wrapped(): Promise<object> {
|
||||
return new Promise((resolve) => {
|
||||
const poseLoader = new MMDLoader();
|
||||
poseLoader.loadVPD("/resources/pose/7.vpd", false, (vpd) => {
|
||||
resolve(vpd);
|
||||
}); // End of loadVPD call
|
||||
}); // End of new Promise
|
||||
//return new Promise((resolve) => {
|
||||
// const poseLoader = new MMDLoader();
|
||||
// poseLoader.loadVPD("/resources/pose/7.vpd", false, (vpd) => {
|
||||
// resolve(vpd);
|
||||
// }); // End of loadVPD call
|
||||
//}); // End of new Promise
|
||||
}
|
||||
|
||||
async animate(deltatime: number) {
|
||||
@@ -246,72 +248,72 @@ export class AnimationClip implements IAnimationClip {
|
||||
this.update_bones();
|
||||
|
||||
// Next
|
||||
if (this.isMMD && this.mixer) {
|
||||
if (this.obj === undefined) {
|
||||
// Sets the ik helper and object for IK and animation.
|
||||
this.helper = (this.mixer.getRoot() as THREE.Object3D).parent?.userData[
|
||||
"helper"
|
||||
];
|
||||
}
|
||||
//if (this.isMMD && this.mixer) {
|
||||
// if (this.obj === undefined) {
|
||||
// // Sets the ik helper and object for IK and animation.
|
||||
// this.helper = (this.mixer.getRoot() as THREE.Object3D).parent?.userData[
|
||||
// "helper"
|
||||
// ];
|
||||
// }
|
||||
|
||||
this.obj = this.helper?.objects.get(
|
||||
this.mixer?.getRoot() as THREE.SkinnedMesh,
|
||||
);
|
||||
// this.obj = this.helper?.objects.get(
|
||||
// this.mixer?.getRoot() as THREE.SkinnedMesh,
|
||||
// );
|
||||
|
||||
const mesh = this.mixer?.getRoot() as THREE.SkinnedMesh;
|
||||
// const mesh = this.mixer?.getRoot() as THREE.SkinnedMesh;
|
||||
|
||||
if (this.helper) {
|
||||
this.helper._restoreBones(mesh); // Privateish js function for resetting bones.
|
||||
this.obj?.mixer?.setTime(deltatime); // Sets the time.
|
||||
this.helper._saveBones(mesh); // Saves the bones location for restoration later.
|
||||
// if (this.helper) {
|
||||
// this.helper._restoreBones(mesh); // Privateish js function for resetting bones.
|
||||
// this.obj?.mixer?.setTime(deltatime); // Sets the time.
|
||||
// this.helper._saveBones(mesh); // Saves the bones location for restoration later.
|
||||
|
||||
mesh.updateMatrixWorld(true); // Updates mesh.
|
||||
this.obj?.ikSolver.update(); // Updates IK Solver.
|
||||
this.obj?.grantSolver.update(); // Updates Grant which moves the bones.
|
||||
}
|
||||
// mesh.updateMatrixWorld(true); // Updates mesh.
|
||||
// this.obj?.ikSolver.update(); // Updates IK Solver.
|
||||
// this.obj?.grantSolver.update(); // Updates Grant which moves the bones.
|
||||
// }
|
||||
|
||||
// Changing of animation.
|
||||
if (
|
||||
this.obj &&
|
||||
this.helper &&
|
||||
this.processingClip === false &&
|
||||
this.obj.mixer &&
|
||||
this.mixer._actions[0]._clip.name !==
|
||||
this.obj.mixer._actions[0]._clip.name &&
|
||||
this.mixer !== undefined
|
||||
) {
|
||||
// On animation change.
|
||||
this.processingClip = true;
|
||||
// // Changing of animation.
|
||||
// if (
|
||||
// this.obj &&
|
||||
// this.helper &&
|
||||
// this.processingClip === false &&
|
||||
// this.obj.mixer &&
|
||||
// this.mixer._actions[0]._clip.name !==
|
||||
// this.obj.mixer._actions[0]._clip.name &&
|
||||
// this.mixer !== undefined
|
||||
// ) {
|
||||
// // On animation change.
|
||||
// this.processingClip = true;
|
||||
|
||||
const helper_mmd = this.helper.objects.get(mesh);
|
||||
if (helper_mmd?.mixer !== undefined) {
|
||||
const clips = helper_mmd.mixer._actions;
|
||||
clips.forEach((clip) => {
|
||||
this.helper?.objects.delete(clip._clip);
|
||||
});
|
||||
}
|
||||
// const helper_mmd = this.helper.objects.get(mesh);
|
||||
// if (helper_mmd?.mixer !== undefined) {
|
||||
// const clips = helper_mmd.mixer._actions;
|
||||
// clips.forEach((clip) => {
|
||||
// this.helper?.objects.delete(clip._clip);
|
||||
// });
|
||||
// }
|
||||
|
||||
this.helper.remove(mesh);
|
||||
mesh.pose();
|
||||
// this.helper.remove(mesh);
|
||||
// mesh.pose();
|
||||
|
||||
const loader = new MMDLoader();
|
||||
loader.loadAnimation(this.mmd_url, mesh, (mmd) => {
|
||||
mmd.name = this.mmd_url;
|
||||
this.helper?.add(mesh, {
|
||||
animation: mmd,
|
||||
physics: false,
|
||||
});
|
||||
this.processingClip = false;
|
||||
if (helper_mmd?.mixer !== undefined) {
|
||||
const clips = helper_mmd.mixer._actions;
|
||||
clips.forEach((clip) => {
|
||||
this.helper?.objects.delete(clip._clip);
|
||||
});
|
||||
}
|
||||
this.obj.mixer = this.mixer;
|
||||
});
|
||||
}
|
||||
}
|
||||
// //const loader = new MMDLoader();
|
||||
// //loader.loadAnimation(this.mmd_url, mesh, (mmd) => {
|
||||
// // mmd.name = this.mmd_url;
|
||||
// // this.helper?.add(mesh, {
|
||||
// // animation: mmd,
|
||||
// // physics: false,
|
||||
// // });
|
||||
// // this.processingClip = false;
|
||||
// // if (helper_mmd?.mixer !== undefined) {
|
||||
// // const clips = helper_mmd.mixer._actions;
|
||||
// // clips.forEach((clip) => {
|
||||
// // this.helper?.objects.delete(clip._clip);
|
||||
// // });
|
||||
// // }
|
||||
// // this.obj.mixer = this.mixer;
|
||||
// //});
|
||||
// }
|
||||
//}
|
||||
}
|
||||
|
||||
async step(deltatime: number, isPlaying: boolean, frame: number) {
|
||||
|
||||
@@ -73,7 +73,7 @@
|
||||
"react-virtualized": "^9.22.6",
|
||||
"tailwind-merge": "^2.2.2",
|
||||
"terser": "^5.30.3",
|
||||
"three": "^0.162.0",
|
||||
"three": "^0.178.0",
|
||||
"uuid": "^9.0.1",
|
||||
"wavesurfer.js": "^7.7.11",
|
||||
"webm-writer": "^1.0.0"
|
||||
|
||||
Generated
+606
-10
@@ -46,7 +46,7 @@
|
||||
"react-router-dom": "6.29.0",
|
||||
"react-spring": "^10.0.1",
|
||||
"tailwind-merge": "^2.2.2",
|
||||
"three": "^0.162.0",
|
||||
"three": "^0.178.0",
|
||||
"uuid": "^9.0.1",
|
||||
"zustand": "^5.0.5"
|
||||
},
|
||||
@@ -218,7 +218,7 @@
|
||||
"react-virtualized": "^9.22.6",
|
||||
"tailwind-merge": "^2.2.2",
|
||||
"terser": "^5.30.3",
|
||||
"three": "^0.162.0",
|
||||
"three": "^0.178.0",
|
||||
"uuid": "^9.0.1",
|
||||
"wavesurfer.js": "^7.7.11",
|
||||
"webm-writer": "^1.0.0"
|
||||
@@ -3472,6 +3472,215 @@
|
||||
"node": ">=6.9.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@biomejs/biome": {
|
||||
"version": "1.9.4",
|
||||
"resolved": "https://registry.npmjs.org/@biomejs/biome/-/biome-1.9.4.tgz",
|
||||
"integrity": "sha512-1rkd7G70+o9KkTn5KLmDYXihGoTaIGO9PIIN2ZB7UJxFrWw04CZHPYiMRjYsaDvVV7hP1dYNRLxSANLaBFGpog==",
|
||||
"dev": true,
|
||||
"hasInstallScript": true,
|
||||
"license": "MIT OR Apache-2.0",
|
||||
"bin": {
|
||||
"biome": "bin/biome"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=14.21.3"
|
||||
},
|
||||
"funding": {
|
||||
"type": "opencollective",
|
||||
"url": "https://opencollective.com/biome"
|
||||
},
|
||||
"optionalDependencies": {
|
||||
"@biomejs/cli-darwin-arm64": "1.9.4",
|
||||
"@biomejs/cli-darwin-x64": "1.9.4",
|
||||
"@biomejs/cli-linux-arm64": "1.9.4",
|
||||
"@biomejs/cli-linux-arm64-musl": "1.9.4",
|
||||
"@biomejs/cli-linux-x64": "1.9.4",
|
||||
"@biomejs/cli-linux-x64-musl": "1.9.4",
|
||||
"@biomejs/cli-win32-arm64": "1.9.4",
|
||||
"@biomejs/cli-win32-x64": "1.9.4"
|
||||
}
|
||||
},
|
||||
"node_modules/@biomejs/cli-darwin-arm64": {
|
||||
"version": "1.9.4",
|
||||
"resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-arm64/-/cli-darwin-arm64-1.9.4.tgz",
|
||||
"integrity": "sha512-bFBsPWrNvkdKrNCYeAp+xo2HecOGPAy9WyNyB/jKnnedgzl4W4Hb9ZMzYNbf8dMCGmUdSavlYHiR01QaYR58cw==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
"dev": true,
|
||||
"license": "MIT OR Apache-2.0",
|
||||
"optional": true,
|
||||
"os": [
|
||||
"darwin"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">=14.21.3"
|
||||
}
|
||||
},
|
||||
"node_modules/@biomejs/cli-darwin-x64": {
|
||||
"version": "1.9.4",
|
||||
"resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-x64/-/cli-darwin-x64-1.9.4.tgz",
|
||||
"integrity": "sha512-ngYBh/+bEedqkSevPVhLP4QfVPCpb+4BBe2p7Xs32dBgs7rh9nY2AIYUL6BgLw1JVXV8GlpKmb/hNiuIxfPfZg==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
"dev": true,
|
||||
"license": "MIT OR Apache-2.0",
|
||||
"optional": true,
|
||||
"os": [
|
||||
"darwin"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">=14.21.3"
|
||||
}
|
||||
},
|
||||
"node_modules/@biomejs/cli-linux-arm64": {
|
||||
"version": "1.9.4",
|
||||
"resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64/-/cli-linux-arm64-1.9.4.tgz",
|
||||
"integrity": "sha512-fJIW0+LYujdjUgJJuwesP4EjIBl/N/TcOX3IvIHJQNsAqvV2CHIogsmA94BPG6jZATS4Hi+xv4SkBBQSt1N4/g==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
"dev": true,
|
||||
"license": "MIT OR Apache-2.0",
|
||||
"optional": true,
|
||||
"os": [
|
||||
"linux"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">=14.21.3"
|
||||
}
|
||||
},
|
||||
"node_modules/@biomejs/cli-linux-arm64-musl": {
|
||||
"version": "1.9.4",
|
||||
"resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64-musl/-/cli-linux-arm64-musl-1.9.4.tgz",
|
||||
"integrity": "sha512-v665Ct9WCRjGa8+kTr0CzApU0+XXtRgwmzIf1SeKSGAv+2scAlW6JR5PMFo6FzqqZ64Po79cKODKf3/AAmECqA==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
"dev": true,
|
||||
"license": "MIT OR Apache-2.0",
|
||||
"optional": true,
|
||||
"os": [
|
||||
"linux"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">=14.21.3"
|
||||
}
|
||||
},
|
||||
"node_modules/@biomejs/cli-linux-x64": {
|
||||
"version": "1.9.4",
|
||||
"resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64/-/cli-linux-x64-1.9.4.tgz",
|
||||
"integrity": "sha512-lRCJv/Vi3Vlwmbd6K+oQ0KhLHMAysN8lXoCI7XeHlxaajk06u7G+UsFSO01NAs5iYuWKmVZjmiOzJ0OJmGsMwg==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
"dev": true,
|
||||
"license": "MIT OR Apache-2.0",
|
||||
"optional": true,
|
||||
"os": [
|
||||
"linux"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">=14.21.3"
|
||||
}
|
||||
},
|
||||
"node_modules/@biomejs/cli-linux-x64-musl": {
|
||||
"version": "1.9.4",
|
||||
"resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64-musl/-/cli-linux-x64-musl-1.9.4.tgz",
|
||||
"integrity": "sha512-gEhi/jSBhZ2m6wjV530Yy8+fNqG8PAinM3oV7CyO+6c3CEh16Eizm21uHVsyVBEB6RIM8JHIl6AGYCv6Q6Q9Tg==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
"dev": true,
|
||||
"license": "MIT OR Apache-2.0",
|
||||
"optional": true,
|
||||
"os": [
|
||||
"linux"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">=14.21.3"
|
||||
}
|
||||
},
|
||||
"node_modules/@biomejs/cli-win32-arm64": {
|
||||
"version": "1.9.4",
|
||||
"resolved": "https://registry.npmjs.org/@biomejs/cli-win32-arm64/-/cli-win32-arm64-1.9.4.tgz",
|
||||
"integrity": "sha512-tlbhLk+WXZmgwoIKwHIHEBZUwxml7bRJgk0X2sPyNR3S93cdRq6XulAZRQJ17FYGGzWne0fgrXBKpl7l4M87Hg==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
"dev": true,
|
||||
"license": "MIT OR Apache-2.0",
|
||||
"optional": true,
|
||||
"os": [
|
||||
"win32"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">=14.21.3"
|
||||
}
|
||||
},
|
||||
"node_modules/@biomejs/cli-win32-x64": {
|
||||
"version": "1.9.4",
|
||||
"resolved": "https://registry.npmjs.org/@biomejs/cli-win32-x64/-/cli-win32-x64-1.9.4.tgz",
|
||||
"integrity": "sha512-8Y5wMhVIPaWe6jw2H+KlEm4wP/f7EW3810ZLmDlrEEy5KvBsb9ECEfu/kMWD484ijfQ8+nIi0giMgu9g1UAuuA==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
"dev": true,
|
||||
"license": "MIT OR Apache-2.0",
|
||||
"optional": true,
|
||||
"os": [
|
||||
"win32"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">=14.21.3"
|
||||
}
|
||||
},
|
||||
"node_modules/@blakeembrey/deque": {
|
||||
"version": "1.0.5",
|
||||
"resolved": "https://registry.npmjs.org/@blakeembrey/deque/-/deque-1.0.5.tgz",
|
||||
"integrity": "sha512-6xnwtvp9DY1EINIKdTfvfeAtCYw4OqBZJhtiqkT3ivjnEfa25VQ3TsKvaFfKm8MyGIEfE95qLe+bNEt3nB0Ylg==",
|
||||
"dev": true,
|
||||
"license": "Apache-2.0"
|
||||
},
|
||||
"node_modules/@blakeembrey/template": {
|
||||
"version": "1.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@blakeembrey/template/-/template-1.2.0.tgz",
|
||||
"integrity": "sha512-w/63nURdkRPpg3AXbNr7lPv6HgOuVDyefTumiXsbXxtIwcuk5EXayWR5OpSwDjsQPgaYsfUSedMduaNOjAYY8A==",
|
||||
"dev": true,
|
||||
"license": "Apache-2.0"
|
||||
},
|
||||
"node_modules/@cspotcode/source-map-support": {
|
||||
"version": "0.8.1",
|
||||
"resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz",
|
||||
"integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@jridgewell/trace-mapping": "0.3.9"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=12"
|
||||
}
|
||||
},
|
||||
"node_modules/@cspotcode/source-map-support/node_modules/@jridgewell/trace-mapping": {
|
||||
"version": "0.3.9",
|
||||
"resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz",
|
||||
"integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@jridgewell/resolve-uri": "^3.0.3",
|
||||
"@jridgewell/sourcemap-codec": "^1.4.10"
|
||||
}
|
||||
},
|
||||
"node_modules/@dimforge/rapier3d-compat": {
|
||||
"version": "0.12.0",
|
||||
"resolved": "https://registry.npmjs.org/@dimforge/rapier3d-compat/-/rapier3d-compat-0.12.0.tgz",
|
||||
"integrity": "sha512-uekIGetywIgopfD97oDL5PfeezkFpNhwlzlaEYNOA0N6ghdsOvh/HYjSMek5Q2O1PYvRSDFcqFVJl4r4ZBwOow==",
|
||||
"dev": true,
|
||||
"license": "Apache-2.0"
|
||||
},
|
||||
"node_modules/@dnd-kit/accessibility": {
|
||||
"version": "3.1.1",
|
||||
"resolved": "https://registry.npmjs.org/@dnd-kit/accessibility/-/accessibility-3.1.1.tgz",
|
||||
@@ -10200,6 +10409,7 @@
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
"dev": true,
|
||||
"license": "Apache-2.0 AND MIT",
|
||||
"optional": true,
|
||||
"os": [
|
||||
@@ -10216,6 +10426,7 @@
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
"dev": true,
|
||||
"license": "Apache-2.0 AND MIT",
|
||||
"optional": true,
|
||||
"os": [
|
||||
@@ -10232,6 +10443,7 @@
|
||||
"cpu": [
|
||||
"arm"
|
||||
],
|
||||
"dev": true,
|
||||
"license": "Apache-2.0",
|
||||
"optional": true,
|
||||
"os": [
|
||||
@@ -10248,6 +10460,7 @@
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
"dev": true,
|
||||
"license": "Apache-2.0 AND MIT",
|
||||
"optional": true,
|
||||
"os": [
|
||||
@@ -10264,6 +10477,7 @@
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
"dev": true,
|
||||
"license": "Apache-2.0 AND MIT",
|
||||
"optional": true,
|
||||
"os": [
|
||||
@@ -10280,6 +10494,7 @@
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
"dev": true,
|
||||
"license": "Apache-2.0 AND MIT",
|
||||
"optional": true,
|
||||
"os": [
|
||||
@@ -10296,6 +10511,7 @@
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
"dev": true,
|
||||
"license": "Apache-2.0 AND MIT",
|
||||
"optional": true,
|
||||
"os": [
|
||||
@@ -10312,6 +10528,7 @@
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
"dev": true,
|
||||
"license": "Apache-2.0 AND MIT",
|
||||
"optional": true,
|
||||
"os": [
|
||||
@@ -10328,6 +10545,7 @@
|
||||
"cpu": [
|
||||
"ia32"
|
||||
],
|
||||
"dev": true,
|
||||
"license": "Apache-2.0 AND MIT",
|
||||
"optional": true,
|
||||
"os": [
|
||||
@@ -10344,6 +10562,7 @@
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
"dev": true,
|
||||
"license": "Apache-2.0 AND MIT",
|
||||
"optional": true,
|
||||
"os": [
|
||||
@@ -10627,6 +10846,34 @@
|
||||
"node": ">=10.13.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@tsconfig/node10": {
|
||||
"version": "1.0.12",
|
||||
"resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.12.tgz",
|
||||
"integrity": "sha512-UCYBaeFvM11aU2y3YPZ//O5Rhj+xKyzy7mvcIoAjASbigy8mHMryP5cK7dgjlz2hWxh1g5pLw084E0a/wlUSFQ==",
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/@tsconfig/node12": {
|
||||
"version": "1.0.11",
|
||||
"resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz",
|
||||
"integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==",
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/@tsconfig/node14": {
|
||||
"version": "1.0.3",
|
||||
"resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz",
|
||||
"integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==",
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/@tsconfig/node16": {
|
||||
"version": "1.0.4",
|
||||
"resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz",
|
||||
"integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==",
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/@tweenjs/tween.js": {
|
||||
"version": "18.6.4",
|
||||
"resolved": "https://registry.npmjs.org/@tweenjs/tween.js/-/tween.js-18.6.4.tgz",
|
||||
@@ -13327,6 +13574,13 @@
|
||||
"@xtuc/long": "4.2.2"
|
||||
}
|
||||
},
|
||||
"node_modules/@webgpu/types": {
|
||||
"version": "0.1.66",
|
||||
"resolved": "https://registry.npmjs.org/@webgpu/types/-/types-0.1.66.tgz",
|
||||
"integrity": "sha512-YA2hLrwLpDsRueNDXIMqN9NTzD6bCDkuXbOSe0heS+f8YE8usA6Gbv1prj81pzVHrbaAma7zObnIC+I6/sXJgA==",
|
||||
"dev": true,
|
||||
"license": "BSD-3-Clause"
|
||||
},
|
||||
"node_modules/@xtuc/ieee754": {
|
||||
"version": "1.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz",
|
||||
@@ -13480,6 +13734,19 @@
|
||||
"acorn": "^6.0.0 || ^7.0.0 || ^8.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/acorn-walk": {
|
||||
"version": "8.3.4",
|
||||
"resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.4.tgz",
|
||||
"integrity": "sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"acorn": "^8.11.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=0.4.0"
|
||||
}
|
||||
},
|
||||
"node_modules/address": {
|
||||
"version": "1.2.2",
|
||||
"resolved": "https://registry.npmjs.org/address/-/address-1.2.2.tgz",
|
||||
@@ -15487,6 +15754,13 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"node_modules/create-require": {
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz",
|
||||
"integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==",
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/cron-parser": {
|
||||
"version": "4.9.0",
|
||||
"resolved": "https://registry.npmjs.org/cron-parser/-/cron-parser-4.9.0.tgz",
|
||||
@@ -18261,7 +18535,6 @@
|
||||
"version": "0.8.2",
|
||||
"resolved": "https://registry.npmjs.org/fflate/-/fflate-0.8.2.tgz",
|
||||
"integrity": "sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==",
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/figures": {
|
||||
@@ -21127,6 +21400,169 @@
|
||||
"node": ">=0.10"
|
||||
}
|
||||
},
|
||||
"node_modules/lefthook": {
|
||||
"version": "1.11.12",
|
||||
"resolved": "https://registry.npmjs.org/lefthook/-/lefthook-1.11.12.tgz",
|
||||
"integrity": "sha512-refh8mlcNtwJfmHDH+2mN1KTIVjp1EHlrjzOjfH/hJ4vFQByH2+1KfFDlJLX9V16VESwUNyOGkEZ9cJEF6zNgg==",
|
||||
"dev": true,
|
||||
"hasInstallScript": true,
|
||||
"license": "MIT",
|
||||
"bin": {
|
||||
"lefthook": "bin/index.js"
|
||||
},
|
||||
"optionalDependencies": {
|
||||
"lefthook-darwin-arm64": "1.11.12",
|
||||
"lefthook-darwin-x64": "1.11.12",
|
||||
"lefthook-freebsd-arm64": "1.11.12",
|
||||
"lefthook-freebsd-x64": "1.11.12",
|
||||
"lefthook-linux-arm64": "1.11.12",
|
||||
"lefthook-linux-x64": "1.11.12",
|
||||
"lefthook-openbsd-arm64": "1.11.12",
|
||||
"lefthook-openbsd-x64": "1.11.12",
|
||||
"lefthook-windows-arm64": "1.11.12",
|
||||
"lefthook-windows-x64": "1.11.12"
|
||||
}
|
||||
},
|
||||
"node_modules/lefthook-darwin-arm64": {
|
||||
"version": "1.11.12",
|
||||
"resolved": "https://registry.npmjs.org/lefthook-darwin-arm64/-/lefthook-darwin-arm64-1.11.12.tgz",
|
||||
"integrity": "sha512-nB3rZVGoign6lhlbdfT1/knk4fV4Kx7kgbho8oSFcpw/o2qRQpLqmclCWUTtf+Pyj4vCzE7hiee/m+uQtvu19w==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"os": [
|
||||
"darwin"
|
||||
]
|
||||
},
|
||||
"node_modules/lefthook-darwin-x64": {
|
||||
"version": "1.11.12",
|
||||
"resolved": "https://registry.npmjs.org/lefthook-darwin-x64/-/lefthook-darwin-x64-1.11.12.tgz",
|
||||
"integrity": "sha512-ExNz8ctFRRaVz2wpvjmOtV4GeZcRdsAZwnZbmvlu1fMcJ6WtjAuR6fB0ybtcsc03/zBNrfShiq+VtZLkGv8Oeg==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"os": [
|
||||
"darwin"
|
||||
]
|
||||
},
|
||||
"node_modules/lefthook-freebsd-arm64": {
|
||||
"version": "1.11.12",
|
||||
"resolved": "https://registry.npmjs.org/lefthook-freebsd-arm64/-/lefthook-freebsd-arm64-1.11.12.tgz",
|
||||
"integrity": "sha512-3Si6YJ8YLEMJ6TGsaBI2ni64XSrJX69N4gX7OKQp85IXeizPUEy7oorYAJCUaw5nMffRbIkzxNTjaMkcn4iwag==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"os": [
|
||||
"freebsd"
|
||||
]
|
||||
},
|
||||
"node_modules/lefthook-freebsd-x64": {
|
||||
"version": "1.11.12",
|
||||
"resolved": "https://registry.npmjs.org/lefthook-freebsd-x64/-/lefthook-freebsd-x64-1.11.12.tgz",
|
||||
"integrity": "sha512-J18MNYZKkVdHJ5K54MT8kxJ/W4TBUxD8aCi4e+Oliw8UXAiwaJSTGPkdY5P8aUlVYDknN2w+6I99Dxre6CJRFw==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"os": [
|
||||
"freebsd"
|
||||
]
|
||||
},
|
||||
"node_modules/lefthook-linux-arm64": {
|
||||
"version": "1.11.12",
|
||||
"resolved": "https://registry.npmjs.org/lefthook-linux-arm64/-/lefthook-linux-arm64-1.11.12.tgz",
|
||||
"integrity": "sha512-oIWcj7mcHnFB4tcfz4dsZTnDTXIyF7cjCEqhDQTvqJQLbE1XRfjU0RzQdgSKrzdmXIcUFB+lmcgeRwJnKBEJ8Q==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"os": [
|
||||
"linux"
|
||||
]
|
||||
},
|
||||
"node_modules/lefthook-linux-x64": {
|
||||
"version": "1.11.12",
|
||||
"resolved": "https://registry.npmjs.org/lefthook-linux-x64/-/lefthook-linux-x64-1.11.12.tgz",
|
||||
"integrity": "sha512-sr9X5dW5dl9Fa3Kdk3x66DPGgCz/rykm+JHIyQGfnuvZnaeqkEaXgNubBaVGBbOimagXgtA5DwXc6D6fzUYALA==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"os": [
|
||||
"linux"
|
||||
]
|
||||
},
|
||||
"node_modules/lefthook-openbsd-arm64": {
|
||||
"version": "1.11.12",
|
||||
"resolved": "https://registry.npmjs.org/lefthook-openbsd-arm64/-/lefthook-openbsd-arm64-1.11.12.tgz",
|
||||
"integrity": "sha512-4TuX8c/lwky1DSNIY6knIFlMIHQZrVBxh6O5vSTjOAjKv5YmIkNgeUlwcBD+SMru9tQBj7MvOpJSkVkaLK5hhQ==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"os": [
|
||||
"openbsd"
|
||||
]
|
||||
},
|
||||
"node_modules/lefthook-openbsd-x64": {
|
||||
"version": "1.11.12",
|
||||
"resolved": "https://registry.npmjs.org/lefthook-openbsd-x64/-/lefthook-openbsd-x64-1.11.12.tgz",
|
||||
"integrity": "sha512-Y/rPvyXtsIH+pxACfLHwxqc2Ahk+aExj8Izce3zXp75Wki5DH+6TXm5tWj5CgIuefL7CMqNFsOZCjEe1+SyM+w==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"os": [
|
||||
"openbsd"
|
||||
]
|
||||
},
|
||||
"node_modules/lefthook-windows-arm64": {
|
||||
"version": "1.11.12",
|
||||
"resolved": "https://registry.npmjs.org/lefthook-windows-arm64/-/lefthook-windows-arm64-1.11.12.tgz",
|
||||
"integrity": "sha512-OJaElGktzsMrkmIpXBqwlc+eZx5kwxx+tJFByTXiW/rb8ttBwj0ueVyfo3lw/PqqlbMy73qc9Uj3CHYkaKsDKw==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"os": [
|
||||
"win32"
|
||||
]
|
||||
},
|
||||
"node_modules/lefthook-windows-x64": {
|
||||
"version": "1.11.12",
|
||||
"resolved": "https://registry.npmjs.org/lefthook-windows-x64/-/lefthook-windows-x64-1.11.12.tgz",
|
||||
"integrity": "sha512-ZhKsisibIcaG+rv9i7UJUgnuejI6mfaS5T3FreqsWt5vAsEIvLLNmZUA15MHPr99n+L4La1YQ2jTqie1kH57dA==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"os": [
|
||||
"win32"
|
||||
]
|
||||
},
|
||||
"node_modules/leven": {
|
||||
"version": "3.1.0",
|
||||
"resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz",
|
||||
@@ -21179,6 +21615,13 @@
|
||||
"license": "MIT",
|
||||
"peer": true
|
||||
},
|
||||
"node_modules/lil-gui": {
|
||||
"version": "0.20.0",
|
||||
"resolved": "https://registry.npmjs.org/lil-gui/-/lil-gui-0.20.0.tgz",
|
||||
"integrity": "sha512-k7Ipr0ztqslMA2XvM5z5ZaWhxQtnEOwJBfI/hmSuRh6q4iMG9L0boqqrnZSzBR1jzyJ28OMl47l65ILzRe1TdA==",
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/lilconfig": {
|
||||
"version": "3.1.3",
|
||||
"resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.3.tgz",
|
||||
@@ -24375,6 +24818,32 @@
|
||||
"wrappy": "1"
|
||||
}
|
||||
},
|
||||
"node_modules/onchange": {
|
||||
"version": "7.1.0",
|
||||
"resolved": "https://registry.npmjs.org/onchange/-/onchange-7.1.0.tgz",
|
||||
"integrity": "sha512-ZJcqsPiWUAUpvmnJri5TPBooqJOPmC0ttN65juhN15Q8xA+Nbg3BaxBHXQ45EistKKlKElb0edmbPWnKSBkvMg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@blakeembrey/deque": "^1.0.5",
|
||||
"@blakeembrey/template": "^1.0.0",
|
||||
"arg": "^4.1.3",
|
||||
"chokidar": "^3.3.1",
|
||||
"cross-spawn": "^7.0.1",
|
||||
"ignore": "^5.1.4",
|
||||
"tree-kill": "^1.2.2"
|
||||
},
|
||||
"bin": {
|
||||
"onchange": "dist/bin.js"
|
||||
}
|
||||
},
|
||||
"node_modules/onchange/node_modules/arg": {
|
||||
"version": "4.1.3",
|
||||
"resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz",
|
||||
"integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==",
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/onetime": {
|
||||
"version": "5.1.2",
|
||||
"resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz",
|
||||
@@ -27677,6 +28146,13 @@
|
||||
"node": ">=6"
|
||||
}
|
||||
},
|
||||
"node_modules/stats.js": {
|
||||
"version": "0.17.0",
|
||||
"resolved": "https://registry.npmjs.org/stats.js/-/stats.js-0.17.0.tgz",
|
||||
"integrity": "sha512-hNKz8phvYLPEcRkeG1rsGmV5ChMjKDAWU7/OJJdDErPBNChQXxCo3WZurGpnWc6gZhAzEPFad1aVgyOANH1sMw==",
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/statuses": {
|
||||
"version": "2.0.1",
|
||||
"resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz",
|
||||
@@ -28622,9 +29098,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/three": {
|
||||
"version": "0.162.0",
|
||||
"resolved": "https://registry.npmjs.org/three/-/three-0.162.0.tgz",
|
||||
"integrity": "sha512-xfCYj4RnlozReCmUd+XQzj6/5OjDNHBy5nT6rVwrOKGENAvpXe2z1jL+DZYaMu4/9pNsjH/4Os/VvS9IrH7IOQ==",
|
||||
"version": "0.178.0",
|
||||
"resolved": "https://registry.npmjs.org/three/-/three-0.178.0.tgz",
|
||||
"integrity": "sha512-ybFIB0+x8mz0wnZgSGy2MO/WCO6xZhQSZnmfytSPyNpM0sBafGRVhdaj+erYh5U+RhQOAg/eXqw5uVDiM2BjhQ==",
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/throat": {
|
||||
@@ -28946,6 +29422,67 @@
|
||||
"url": "https://github.com/sponsors/sindresorhus"
|
||||
}
|
||||
},
|
||||
"node_modules/ts-node": {
|
||||
"version": "10.9.2",
|
||||
"resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz",
|
||||
"integrity": "sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@cspotcode/source-map-support": "^0.8.0",
|
||||
"@tsconfig/node10": "^1.0.7",
|
||||
"@tsconfig/node12": "^1.0.7",
|
||||
"@tsconfig/node14": "^1.0.0",
|
||||
"@tsconfig/node16": "^1.0.2",
|
||||
"acorn": "^8.4.1",
|
||||
"acorn-walk": "^8.1.1",
|
||||
"arg": "^4.1.0",
|
||||
"create-require": "^1.1.0",
|
||||
"diff": "^4.0.1",
|
||||
"make-error": "^1.1.1",
|
||||
"v8-compile-cache-lib": "^3.0.1",
|
||||
"yn": "3.1.1"
|
||||
},
|
||||
"bin": {
|
||||
"ts-node": "dist/bin.js",
|
||||
"ts-node-cwd": "dist/bin-cwd.js",
|
||||
"ts-node-esm": "dist/bin-esm.js",
|
||||
"ts-node-script": "dist/bin-script.js",
|
||||
"ts-node-transpile-only": "dist/bin-transpile.js",
|
||||
"ts-script": "dist/bin-script-deprecated.js"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@swc/core": ">=1.2.50",
|
||||
"@swc/wasm": ">=1.2.50",
|
||||
"@types/node": "*",
|
||||
"typescript": ">=2.7"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"@swc/core": {
|
||||
"optional": true
|
||||
},
|
||||
"@swc/wasm": {
|
||||
"optional": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"node_modules/ts-node/node_modules/arg": {
|
||||
"version": "4.1.3",
|
||||
"resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz",
|
||||
"integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==",
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/ts-node/node_modules/diff": {
|
||||
"version": "4.0.2",
|
||||
"resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz",
|
||||
"integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==",
|
||||
"dev": true,
|
||||
"license": "BSD-3-Clause",
|
||||
"engines": {
|
||||
"node": ">=0.3.1"
|
||||
}
|
||||
},
|
||||
"node_modules/tsconfck": {
|
||||
"version": "3.1.5",
|
||||
"resolved": "https://registry.npmjs.org/tsconfck/-/tsconfck-3.1.5.tgz",
|
||||
@@ -29660,6 +30197,13 @@
|
||||
"node": ">=8"
|
||||
}
|
||||
},
|
||||
"node_modules/v8-compile-cache-lib": {
|
||||
"version": "3.0.1",
|
||||
"resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz",
|
||||
"integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==",
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/valibot": {
|
||||
"version": "0.41.0",
|
||||
"resolved": "https://registry.npmjs.org/valibot/-/valibot-0.41.0.tgz",
|
||||
@@ -29840,9 +30384,9 @@
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/vite-plugin-dts": {
|
||||
"version": "4.5.3",
|
||||
"resolved": "https://registry.npmjs.org/vite-plugin-dts/-/vite-plugin-dts-4.5.3.tgz",
|
||||
"integrity": "sha512-P64VnD00dR+e8S26ESoFELqc17+w7pKkwlBpgXteOljFyT0zDwD8hH4zXp49M/kciy//7ZbVXIwQCekBJjfWzA==",
|
||||
"version": "4.5.4",
|
||||
"resolved": "https://registry.npmjs.org/vite-plugin-dts/-/vite-plugin-dts-4.5.4.tgz",
|
||||
"integrity": "sha512-d4sOM8M/8z7vRXHHq/ebbblfaxENjogAAekcfcDCCwAyvGqnPrc7f4NZbvItS+g4WTgerW0xDwSz5qz11JT3vg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
@@ -31012,6 +31556,16 @@
|
||||
"node": ">= 4.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/yn": {
|
||||
"version": "3.1.1",
|
||||
"resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz",
|
||||
"integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">=6"
|
||||
}
|
||||
},
|
||||
"node_modules/yocto-queue": {
|
||||
"version": "0.1.0",
|
||||
"resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz",
|
||||
@@ -31073,7 +31627,49 @@
|
||||
},
|
||||
"vendor/spark": {
|
||||
"name": "@sparkjsdev/spark",
|
||||
"version": "0.1.10"
|
||||
"version": "0.1.10",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"fflate": "^0.8.2",
|
||||
"three": "^0.178.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@biomejs/biome": "1.9.4",
|
||||
"@types/three": "0.178.0",
|
||||
"lefthook": "1.11.12",
|
||||
"lil-gui": "^0.20.0",
|
||||
"onchange": "7.1.0",
|
||||
"spark-internal-rs": "file:rust/spark-internal-rs/pkg",
|
||||
"stats.js": "^0.17.0",
|
||||
"ts-node": "10.9.2",
|
||||
"typescript": "^5.7.3",
|
||||
"vite": "^6.0.11",
|
||||
"vite-plugin-dts": "^4.5.4",
|
||||
"vite-plugin-glsl": "^1.3.1"
|
||||
}
|
||||
},
|
||||
"vendor/spark/node_modules/@tweenjs/tween.js": {
|
||||
"version": "23.1.3",
|
||||
"resolved": "https://registry.npmjs.org/@tweenjs/tween.js/-/tween.js-23.1.3.tgz",
|
||||
"integrity": "sha512-vJmvvwFxYuGnF2axRtPYocag6Clbb5YS7kLL+SO/TeVFzHqDIWrNKYtcsPMibjDx9O+bu+psAy9NKfWklassUA==",
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
},
|
||||
"vendor/spark/node_modules/@types/three": {
|
||||
"version": "0.178.0",
|
||||
"resolved": "https://registry.npmjs.org/@types/three/-/three-0.178.0.tgz",
|
||||
"integrity": "sha512-1IpVbMKbEAAWjyn0VTdVcNvI1h1NlTv3CcnwMr3NNBv/gi3PL0/EsWROnXUEkXBxl94MH5bZvS8h0WnBRmR/pQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@dimforge/rapier3d-compat": "~0.12.0",
|
||||
"@tweenjs/tween.js": "~23.1.3",
|
||||
"@types/stats.js": "*",
|
||||
"@types/webxr": "*",
|
||||
"@webgpu/types": "*",
|
||||
"fflate": "~0.8.2",
|
||||
"meshoptimizer": "~0.18.1"
|
||||
}
|
||||
},
|
||||
"vendor/spark/rust/spark-internal-rs/pkg": {
|
||||
"name": "spark-internal-rs",
|
||||
|
||||
@@ -37,7 +37,7 @@
|
||||
"react-router-dom": "6.29.0",
|
||||
"react-spring": "^10.0.1",
|
||||
"tailwind-merge": "^2.2.2",
|
||||
"three": "^0.162.0",
|
||||
"three": "^0.178.0",
|
||||
"uuid": "^9.0.1",
|
||||
"zustand": "^5.0.5"
|
||||
},
|
||||
|
||||
Vendored
+2
-2
@@ -52,7 +52,6 @@
|
||||
"lil-gui": "^0.20.0",
|
||||
"onchange": "7.1.0",
|
||||
"stats.js": "^0.17.0",
|
||||
"three": "^0.178.0",
|
||||
"ts-node": "10.9.2",
|
||||
"typescript": "^5.7.3",
|
||||
"vite": "^6.0.11",
|
||||
@@ -61,7 +60,8 @@
|
||||
"spark-internal-rs": "file:rust/spark-internal-rs/pkg"
|
||||
},
|
||||
"dependencies": {
|
||||
"fflate": "^0.8.2"
|
||||
"fflate": "^0.8.2",
|
||||
"three": "^0.178.0"
|
||||
},
|
||||
"keywords": ["3d", "three.js", "gsplats", "3dgs", "gaussian", "splats"]
|
||||
}
|
||||
Reference in new issue
Block a user