| { | { | ||||
| "name": "threepipe", | "name": "threepipe", | ||||
| "version": "0.0.38", | |||||
| "version": "0.0.39", | |||||
| "lockfileVersion": 3, | "lockfileVersion": 3, | ||||
| "requires": true, | "requires": true, | ||||
| "packages": { | "packages": { | ||||
| "": { | "": { | ||||
| "name": "threepipe", | "name": "threepipe", | ||||
| "version": "0.0.38", | |||||
| "version": "0.0.39", | |||||
| "license": "Apache-2.0", | "license": "Apache-2.0", | ||||
| "dependencies": { | "dependencies": { | ||||
| "@types/three": "https://github.com/repalash/three-ts-types/releases/download/v0.157.1002/package.tgz", | |||||
| "@types/three": "https://github.com/repalash/three-ts-types/releases/download/v0.157.1003/package.tgz", | |||||
| "@types/webxr": "^0.5.1", | "@types/webxr": "^0.5.1", | ||||
| "@types/wicg-file-system-access": "^2020.9.5", | "@types/wicg-file-system-access": "^2020.9.5", | ||||
| "popmotion": "^11.0.5", | "popmotion": "^11.0.5", | ||||
| "rimraf": "^5.0.1", | "rimraf": "^5.0.1", | ||||
| "rollup-plugin-glsl": "^1.3.0", | "rollup-plugin-glsl": "^1.3.0", | ||||
| "rollup-plugin-license": "^3.0.1", | "rollup-plugin-license": "^3.0.1", | ||||
| "three": "https://github.com/repalash/three.js-modded/releases/download/v0.157.1002/package.tgz", | |||||
| "three": "https://github.com/repalash/three.js-modded/releases/download/v0.157.1004/package.tgz", | |||||
| "tslib": "^2.5.0", | "tslib": "^2.5.0", | ||||
| "typedoc": "^0.27.5", | "typedoc": "^0.27.5", | ||||
| "typescript": "5.7.2", | "typescript": "5.7.2", | ||||
| "win-node-env": "^0.6.1" | "win-node-env": "^0.6.1" | ||||
| }, | }, | ||||
| "peerDependencies": { | "peerDependencies": { | ||||
| "three": "https://github.com/repalash/three.js-modded/releases/download/v0.157.1002/package.tgz" | |||||
| "three": "https://github.com/repalash/three.js-modded/releases/download/v0.157.1004/package.tgz" | |||||
| }, | }, | ||||
| "peerDependenciesMeta": { | "peerDependenciesMeta": { | ||||
| "three": { | "three": { | ||||
| "license": "MIT" | "license": "MIT" | ||||
| }, | }, | ||||
| "node_modules/@types/three": { | "node_modules/@types/three": { | ||||
| "version": "0.157.1002", | |||||
| "resolved": "https://github.com/repalash/three-ts-types/releases/download/v0.157.1002/package.tgz", | |||||
| "integrity": "sha512-Awi3M95BysLnWcQYceEwwU/9IUOd0NeXCo+ldvRWbnHjbyCAwQKb2pSsEuhYcdA6Nk6sbJQMY814Svqy0fYuJg==", | |||||
| "version": "0.157.1003", | |||||
| "resolved": "https://github.com/repalash/three-ts-types/releases/download/v0.157.1003/package.tgz", | |||||
| "integrity": "sha512-zE6QGPd9EgQZ6n4toKKTbBHrNdwo+bDiWadKFBWAxu3pStzqKLSylDGe0RGuDwzjz5bUMVrKihZcsz69E0pWUg==", | |||||
| "dependencies": { | "dependencies": { | ||||
| "fflate": "~0.6.10", | "fflate": "~0.6.10", | ||||
| "meshoptimizer": "~0.18.1" | "meshoptimizer": "~0.18.1" | ||||
| "license": "MIT" | "license": "MIT" | ||||
| }, | }, | ||||
| "node_modules/three": { | "node_modules/three": { | ||||
| "version": "0.157.1002", | |||||
| "resolved": "https://github.com/repalash/three.js-modded/releases/download/v0.157.1002/package.tgz", | |||||
| "integrity": "sha512-xnfOnDX1UmcKc992mYitqY0EOcBNDqI7hxPoQJRdFmTCbjpTe6LYhjN0LbTozVM1RmmpUZa3Tw2Ji8h1hh7QuQ==", | |||||
| "version": "0.157.1004", | |||||
| "resolved": "https://github.com/repalash/three.js-modded/releases/download/v0.157.1004/package.tgz", | |||||
| "integrity": "sha512-91lAxpFKhjnxV20rVODh2QehyEAgKlMghL0wiZLwxYKxueLJ/6ZH74yEEsMWHV+Jgf1I598OGzD6Xzecs8Epwg==", | |||||
| "dev": true, | "dev": true, | ||||
| "license": "MIT" | "license": "MIT" | ||||
| }, | }, |
| "rimraf": "^5.0.1", | "rimraf": "^5.0.1", | ||||
| "rollup-plugin-glsl": "^1.3.0", | "rollup-plugin-glsl": "^1.3.0", | ||||
| "rollup-plugin-license": "^3.0.1", | "rollup-plugin-license": "^3.0.1", | ||||
| "three": "https://github.com/repalash/three.js-modded/releases/download/v0.157.1003/package.tgz", | |||||
| "three": "https://github.com/repalash/three.js-modded/releases/download/v0.157.1004/package.tgz", | |||||
| "tslib": "^2.5.0", | "tslib": "^2.5.0", | ||||
| "typedoc": "^0.27.5", | "typedoc": "^0.27.5", | ||||
| "typescript": "5.7.2", | "typescript": "5.7.2", | ||||
| "popmotion": "^11.0.5" | "popmotion": "^11.0.5" | ||||
| }, | }, | ||||
| "peerDependencies": { | "peerDependencies": { | ||||
| "three": "https://github.com/repalash/three.js-modded/releases/download/v0.157.1003/package.tgz" | |||||
| "three": "https://github.com/repalash/three.js-modded/releases/download/v0.157.1004/package.tgz" | |||||
| }, | }, | ||||
| "peerDependenciesMeta": { | "peerDependenciesMeta": { | ||||
| "three": { | "three": { | ||||
| "dependencies": { | "dependencies": { | ||||
| "uiconfig.js": "^0.1.3", | "uiconfig.js": "^0.1.3", | ||||
| "ts-browser-helpers": "^0.16.2", | "ts-browser-helpers": "^0.16.2", | ||||
| "three": "https://github.com/repalash/three.js-modded/releases/download/v0.157.1003/package.tgz", | |||||
| "three": "https://github.com/repalash/three.js-modded/releases/download/v0.157.1004/package.tgz", | |||||
| "three-f": "https://github.com/repalash/three.js-modded/archive/refs/tags/v0.157.1003.tar.gz", | "three-f": "https://github.com/repalash/three.js-modded/archive/refs/tags/v0.157.1003.tar.gz", | ||||
| "@types/three": "https://github.com/repalash/three-ts-types/releases/download/v0.157.1003/package.tgz", | "@types/three": "https://github.com/repalash/three-ts-types/releases/download/v0.157.1003/package.tgz", | ||||
| "@types/three-f": "https://github.com/repalash/three-ts-types/archive/refs/tags/v0.157.1003.tar.gz", | "@types/three-f": "https://github.com/repalash/three-ts-types/archive/refs/tags/v0.157.1003.tar.gz", |
| // | // | ||||
| // // import * as GaussianSplats3D from 'gle-gs3d' | // // import * as GaussianSplats3D from 'gle-gs3d' | ||||
| // | // | ||||
| // export class GaussianSplatsPlugin extends AViewerPluginSync<string> { | |||||
| // export class GaussianSplatsPlugin extends AViewerPluginSync { | |||||
| // public static readonly PluginType: string = 'GaussianSplatsPlugin' | // public static readonly PluginType: string = 'GaussianSplatsPlugin' | ||||
| // enabled = true | // enabled = true | ||||
| // dependencies = [] | // dependencies = [] |
| import {AViewerPluginSync, createStyles, IGeometryEvent, ILoader, Importer, ThreeViewer} from 'threepipe' | |||||
| import { | |||||
| AViewerPluginSync, | |||||
| createStyles, | |||||
| EventListener, | |||||
| ILoader, | |||||
| Importer, | |||||
| ISceneEventMap, | |||||
| Scene, | |||||
| ThreeViewer, | |||||
| } from 'threepipe' | |||||
| import styles from './ThreeGaussianSplatPlugin.css?inline' | import styles from './ThreeGaussianSplatPlugin.css?inline' | ||||
| import {GaussianSplatMesh} from './index' | import {GaussianSplatMesh} from './index' | ||||
| import {AnyOptions} from 'ts-browser-helpers' | import {AnyOptions} from 'ts-browser-helpers' | ||||
| import {SortWorkerManager} from './cpp-sorter/SortWorkerManager' | import {SortWorkerManager} from './cpp-sorter/SortWorkerManager' | ||||
| import {GaussianSplatGeometry} from './geometry/GaussianSplatGeometry' | import {GaussianSplatGeometry} from './geometry/GaussianSplatGeometry' | ||||
| export class ThreeGaussianSplatPlugin extends AViewerPluginSync<string> { | |||||
| export class ThreeGaussianSplatPlugin extends AViewerPluginSync { | |||||
| public static readonly PluginType: string = 'ThreeGaussianSplatPlugin' | public static readonly PluginType: string = 'ThreeGaussianSplatPlugin' | ||||
| enabled = true | enabled = true | ||||
| dependencies = [] | dependencies = [] | ||||
| this.splats.forEach(async splat=>splat.update(this._viewer!.scene.mainCamera, this._viewer!.renderManager.webglRenderer)) | this.splats.forEach(async splat=>splat.update(this._viewer!.scene.mainCamera, this._viewer!.renderManager.webglRenderer)) | ||||
| } | } | ||||
| private _geometryUpdate = (event: IGeometryEvent) => { | |||||
| private _geometryUpdate: EventListener<ISceneEventMap['geometryUpdate'], 'geometryUpdate', Scene> = (event) => { | |||||
| if (!this._ready || this.isDisabled() || !(event.geometry as GaussianSplatGeometry)?.isGaussianSplatGeometry) return | if (!this._ready || this.isDisabled() || !(event.geometry as GaussianSplatGeometry)?.isGaussianSplatGeometry) return | ||||
| event.geometry!.appliedMeshes.forEach(async(splat: GaussianSplatMesh)=>splat.update ? splat.update(this._viewer!.scene.mainCamera, this._viewer!.renderManager.webglRenderer) : undefined) | event.geometry!.appliedMeshes.forEach(async(splat: GaussianSplatMesh)=>splat.update ? splat.update(this._viewer!.scene.mainCamera, this._viewer!.renderManager.webglRenderer) : undefined) | ||||
| } | } |
| import tippyStyles from 'tippy.js/dist/tippy.css?inline' | import tippyStyles from 'tippy.js/dist/tippy.css?inline' | ||||
| import {TweakpaneUiPlugin} from '@threepipe/plugin-tweakpane' | import {TweakpaneUiPlugin} from '@threepipe/plugin-tweakpane' | ||||
| export class TweakpaneEditorPlugin extends AViewerPluginSync<string> { | |||||
| export class TweakpaneEditorPlugin extends AViewerPluginSync { | |||||
| public static readonly PluginType: string = 'TweakpaneEditorPlugin' | public static readonly PluginType: string = 'TweakpaneEditorPlugin' | ||||
| enabled = true | enabled = true | ||||
| } from 'three' | } from 'three' | ||||
| export class Rhino3dmLoader2 extends Rhino3dmLoader { | export class Rhino3dmLoader2 extends Rhino3dmLoader { | ||||
| public static LIBRARY_PATH = 'https://cdn.jsdelivr.net/npm/rhino3dm@7.15.0/' | |||||
| public static LIBRARY_PATH = 'https://cdn.jsdelivr.net/npm/rhino3dm@8.9.0/' | |||||
| constructor(manager?: LoadingManager) { | constructor(manager?: LoadingManager) { | ||||
| super(manager) | super(manager) |
| export {OrbitControls} from 'three/examples/jsm/controls/OrbitControls.js' | export {OrbitControls} from 'three/examples/jsm/controls/OrbitControls.js' | ||||
| export * from 'three/examples/jsm/utils/BufferGeometryUtils.js' | export * from 'three/examples/jsm/utils/BufferGeometryUtils.js' | ||||
| export type {Event, EventListener} from 'three' |
| @uiToggle() enabled = true | @uiToggle() enabled = true | ||||
| @uiToggle() @serialize() dollyZoom = false | @uiToggle() @serialize() dollyZoom = false | ||||
| @uiToggle() @serialize() zoomToCursor = false | |||||
| @uiToggle() @serialize() enableDamping = true | @uiToggle() @serialize() enableDamping = true | ||||
| @uiInput() @serialize() dampingFactor = 0.08 | @uiInput() @serialize() dampingFactor = 0.08 | ||||
| @uiVector() @serialize() clampMin = new Vector3(-10000, -10000, -10000) // should be -Infinity but this breaks the UI | @uiVector() @serialize() clampMin = new Vector3(-10000, -10000, -10000) // should be -Infinity but this breaks the UI | ||||
| @uiVector() @serialize() clampMax = new Vector3(10000, 10000, 10000) // should be Infinity but this breaks the UI | @uiVector() @serialize() clampMax = new Vector3(10000, 10000, 10000) // should be Infinity but this breaks the UI | ||||
| @uiToggle() @serialize() zoomToCursor = false | |||||
| // @uiToggle() | // @uiToggle() | ||||
| @serialize() screenSpacePanning = true | @serialize() screenSpacePanning = true | ||||
| // @uiInput() | // @uiInput() |