@heliguy-xyz/splat-viewer 1.0.0-rc.8 → 1.0.0-rc.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/web-component/SplatViewerCore.d.ts +35 -0
- package/dist/web-component/SplatViewerCore.d.ts.map +1 -1
- package/dist/web-component/SplatViewerElement.d.ts +28 -0
- package/dist/web-component/SplatViewerElement.d.ts.map +1 -1
- package/dist/web-component/splat-viewer.esm.js +244 -1
- package/dist/web-component/splat-viewer.esm.min.js +1 -1
- package/dist/web-component/splat-viewer.js +244 -1
- package/dist/web-component/splat-viewer.min.js +1 -1
- package/dist/web-component/types/SplatViewerCore.d.ts +35 -0
- package/dist/web-component/types/SplatViewerCore.d.ts.map +1 -1
- package/dist/web-component/types/SplatViewerElement.d.ts +28 -0
- package/dist/web-component/types/SplatViewerElement.d.ts.map +1 -1
- package/dist/web-component/types/core.d.ts +7 -1
- package/dist/web-component/types/core.d.ts.map +1 -1
- package/dist/web-component/types/enhanced-viewer.d.ts +29 -1
- package/dist/web-component/types/enhanced-viewer.d.ts.map +1 -1
- package/dist/web-component/types/events.d.ts +13 -1
- package/dist/web-component/types/events.d.ts.map +1 -1
- package/dist/web-component/types/types/core.d.ts +7 -1
- package/dist/web-component/types/types/core.d.ts.map +1 -1
- package/dist/web-component/types/types/enhanced-viewer.d.ts +29 -1
- package/dist/web-component/types/types/enhanced-viewer.d.ts.map +1 -1
- package/dist/web-component/types/types/events.d.ts +13 -1
- package/dist/web-component/types/types/events.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -30,6 +30,8 @@ export declare class SplatViewerCore implements SplatViewerCoreInterface {
|
|
|
30
30
|
private _transformSystem;
|
|
31
31
|
private _sceneConfigManager;
|
|
32
32
|
private _eventListeners;
|
|
33
|
+
private _splatCenterSize;
|
|
34
|
+
private _sphericalHarmonicsBands;
|
|
33
35
|
constructor(options?: SplatViewerCoreOptions);
|
|
34
36
|
init(canvas: HTMLCanvasElement): SplatViewerCore;
|
|
35
37
|
load(source: string | File | Blob, options?: LoadOptions): Promise<LoadResult>;
|
|
@@ -75,6 +77,16 @@ export declare class SplatViewerCore implements SplatViewerCoreInterface {
|
|
|
75
77
|
* @returns Scene-wide metadata
|
|
76
78
|
*/
|
|
77
79
|
getSceneStats(): SceneMetadata;
|
|
80
|
+
/**
|
|
81
|
+
* Set fly camera base movement speed (convenience over setFlyCameraConfig)
|
|
82
|
+
* @param speed Units per second (must be > 0)
|
|
83
|
+
*/
|
|
84
|
+
setFlyCameraSpeed(speed: number): void;
|
|
85
|
+
/**
|
|
86
|
+
* Get current fly camera base movement speed
|
|
87
|
+
* @returns Speed in units per second, or null if fly camera not initialized
|
|
88
|
+
*/
|
|
89
|
+
getFlyCameraSpeed(): number | null;
|
|
78
90
|
/**
|
|
79
91
|
* Set visibility for a specific model by ID
|
|
80
92
|
* @param modelId ID of the model
|
|
@@ -87,6 +99,29 @@ export declare class SplatViewerCore implements SplatViewerCoreInterface {
|
|
|
87
99
|
* @param visible True to show, false to hide
|
|
88
100
|
*/
|
|
89
101
|
setModelsVisibleByName(name: string, visible: boolean): void;
|
|
102
|
+
/**
|
|
103
|
+
* Set rendered centers size for all splat models.
|
|
104
|
+
* This maps onto underlying gsplat / renderer properties when available.
|
|
105
|
+
* @param size Positive size value (implementation-specific units)
|
|
106
|
+
*/
|
|
107
|
+
setSplatCenterSize(size: number): void;
|
|
108
|
+
/**
|
|
109
|
+
* Get current centers size value last set via API.
|
|
110
|
+
* Returns null if not configured yet.
|
|
111
|
+
*/
|
|
112
|
+
getSplatCenterSize(): number | null;
|
|
113
|
+
/**
|
|
114
|
+
* Set spherical harmonics bands for all splat models.
|
|
115
|
+
* @param bands Integer band count (0-3)
|
|
116
|
+
*/
|
|
117
|
+
setSphericalHarmonicsBands(bands: number): void;
|
|
118
|
+
/**
|
|
119
|
+
* Get current spherical harmonics bands setting last configured via API.
|
|
120
|
+
* Returns null if not configured yet.
|
|
121
|
+
*/
|
|
122
|
+
getSphericalHarmonicsBands(): number | null;
|
|
123
|
+
private _applySplatRenderingConfigToEntity;
|
|
124
|
+
private _forEachSplatEntity;
|
|
90
125
|
/**
|
|
91
126
|
* Apply a 4x4 transformation matrix to a model
|
|
92
127
|
* @param modelId ID of the model
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SplatViewerCore.d.ts","sourceRoot":"","sources":["../../src/web-component/SplatViewerCore.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EACV,eAAe,EACf,UAAU,EACV,SAAS,EACT,eAAe,EACf,cAAc,EACd,WAAW,EACX,UAAU,EACV,SAAS,EACT,SAAS,EACT,aAAa,EAEb,qBAAqB,EAErB,gBAAgB,EAChB,aAAa,EACb,wBAAwB,EACxB,sBAAsB,EACtB,iBAAiB,EAEjB,aAAa,EACb,OAAO,EACR,MAAM,SAAS,CAAA;AAGhB,qBAAa,eAAgB,YAAW,wBAAwB;IACvD,MAAM,EAAE,iBAAiB,GAAG,IAAI,CAAO;IACvC,GAAG,EAAE,qBAAqB,GAAG,IAAI,CAAO;IACxC,QAAQ,EAAE;QACf,MAAM,EAAE,gBAAgB,GAAG,IAAI,CAAA;QAC/B,KAAK,EAAE,gBAAgB,GAAG,IAAI,CAAA;QAC9B,KAAK,EAAE,gBAAgB,GAAG,IAAI,CAAA;KAC/B,CAIA;IACM,WAAW,EAAE,OAAO,CAAQ;IAC5B,SAAS,EAAE,OAAO,CAAO;IACzB,SAAS,EAAE,OAAO,CAAQ;IAC1B,QAAQ,EAAE,OAAO,CAAQ;IACzB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAO;IAElC,OAAO,CAAC,MAAM,CAAiC;IAC/C,OAAO,CAAC,IAAI,CAAmB;IAC/B,OAAO,CAAC,kBAAkB,CAAiC;IAC3D,OAAO,CAAC,aAAa,CAA4B;IACjD,OAAO,CAAC,MAAM,CAA+B;IAC7C,OAAO,CAAC,QAAQ,CAAsB;IACtC,OAAO,CAAC,eAAe,CAA8B;IACrD,OAAO,CAAC,cAAc,CAA4B;IAClD,OAAO,CAAC,cAAc,CAAC,CAA4B;IACnD,OAAO,CAAC,QAAQ,CAAC,CAAyB;IAC1C,OAAO,CAAC,eAAe,CAAC,CAAY;IACpC,OAAO,CAAC,SAAS,CAAC,CAA8B;IAChD,OAAO,CAAC,qBAAqB,CAAuB;IACpD,OAAO,CAAC,qBAAqB,CAAY;IAGzC,OAAO,CAAC,aAAa,CAA4B;IAGjD,OAAO,CAAC,gBAAgB,CAA+B;IAGvD,OAAO,CAAC,mBAAmB,CAAkC;IAG7D,OAAO,CAAC,eAAe,CAAoD;
|
|
1
|
+
{"version":3,"file":"SplatViewerCore.d.ts","sourceRoot":"","sources":["../../src/web-component/SplatViewerCore.ts"],"names":[],"mappings":"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"}
|
|
@@ -202,9 +202,37 @@ export declare class SplatViewerElement extends HTMLElement {
|
|
|
202
202
|
setCameraFOV(fov: number): void;
|
|
203
203
|
getCameraFOV(): number;
|
|
204
204
|
animateCameraFOV(targetFOV: number, duration: number): Promise<void>;
|
|
205
|
+
/**
|
|
206
|
+
* Set fly camera base movement speed (convenience over setFlyCameraConfig)
|
|
207
|
+
* @param speed Units per second (must be > 0)
|
|
208
|
+
*/
|
|
209
|
+
setFlyCameraSpeed(speed: number): void;
|
|
210
|
+
/**
|
|
211
|
+
* Get current fly camera base movement speed
|
|
212
|
+
* @returns Speed in units per second, or null if fly camera not initialized
|
|
213
|
+
*/
|
|
214
|
+
getFlyCameraSpeed(): number | null;
|
|
205
215
|
setBackgroundColor(color: ColorInput): void;
|
|
206
216
|
getBackgroundColor(): ColorRGBA;
|
|
207
217
|
animateBackgroundColor(targetColor: ColorInput, duration: number): Promise<void>;
|
|
218
|
+
/**
|
|
219
|
+
* Set rendered centers size for all splat models
|
|
220
|
+
* @param size Positive size value (implementation-specific units)
|
|
221
|
+
*/
|
|
222
|
+
setSplatCenterSize(size: number): void;
|
|
223
|
+
/**
|
|
224
|
+
* Get current centers size value last set via API
|
|
225
|
+
*/
|
|
226
|
+
getSplatCenterSize(): number | null;
|
|
227
|
+
/**
|
|
228
|
+
* Set spherical harmonics bands for all splat models
|
|
229
|
+
* @param bands Integer band count (0-3)
|
|
230
|
+
*/
|
|
231
|
+
setSphericalHarmonicsBands(bands: number): void;
|
|
232
|
+
/**
|
|
233
|
+
* Get current spherical harmonics bands setting last configured via API
|
|
234
|
+
*/
|
|
235
|
+
getSphericalHarmonicsBands(): number | null;
|
|
208
236
|
/**
|
|
209
237
|
* Apply a 4x4 transformation matrix to a model
|
|
210
238
|
* @param modelId ID of the model
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SplatViewerElement.d.ts","sourceRoot":"","sources":["../../src/web-component/SplatViewerElement.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"SplatViewerElement.d.ts","sourceRoot":"","sources":["../../src/web-component/SplatViewerElement.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,eAAe,EAEf,UAAU,EACV,UAAU,EACV,SAAS,EACT,SAAS,EACT,eAAe,EACf,cAAc,EAMd,WAAW,EACX,UAAU,EACV,SAAS,EACT,SAAS,EACT,aAAa,EACb,aAAa,EACb,iBAAiB,EACjB,aAAa,EACb,OAAO,EACR,MAAM,SAAS,CAAA;AAQhB;;;;;;;GAOG;AACH,qBAAa,kBAAmB,SAAQ,WAAW;IAEjD,MAAM,KAAK,kBAAkB,IAAI,MAAM,EAAE,CAoBxC;IAGD,OAAO,CAAC,KAAK,CAA+B;IAC5C,OAAO,CAAC,OAAO,CAAiC;IAChD,OAAO,CAAC,OAAO,CAA2C;IAC1D,OAAO,CAAC,cAAc,CAAQ;IAC9B,OAAO,CAAC,YAAY,CAAQ;IAC5B,OAAO,CAAC,mBAAmB,CAA8B;IAKzD,IAAI,GAAG,IAAI,MAAM,GAAG,IAAI,CAEvB;IAED,IAAI,KAAK,IAAI,MAAM,GAAG,IAAI,CAEzB;IAED,IAAI,MAAM,IAAI,MAAM,GAAG,IAAI,CAE1B;IAED,IAAI,WAAW,IAAI,OAAO,CAEzB;IAED,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED,IAAI,SAAS,IAAI,MAAM,GAAG,IAAI,CAE7B;IAED,IAAI,cAAc,IAAI,MAAM,GAAG,IAAI,CAElC;IAED,IAAI,YAAY,IAAI,MAAM,GAAG,IAAI,CAEhC;IAED,IAAI,gBAAgB,IAAI,MAAM,GAAG,IAAI,CAEpC;IAED,IAAI,cAAc,IAAI,MAAM,GAAG,IAAI,CAElC;IAED,IAAI,eAAe,IAAI,MAAM,GAAG,IAAI,CAEnC;IAED,IAAI,WAAW,IAAI,MAAM,GAAG,IAAI,CAE/B;IAED,IAAI,WAAW,IAAI,MAAM,GAAG,IAAI,CAE/B;IAED,IAAI,oBAAoB,IAAI,OAAO,CAElC;IAED,IAAI,kBAAkB,IAAI,MAAM,GAAG,IAAI,CAEtC;IAED,IAAI,wBAAwB,IAAI,MAAM,GAAG,IAAI,CAE5C;IAED,IAAI,sBAAsB,IAAI,MAAM,GAAG,IAAI,CAE1C;IAGD,IAAI,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,EAM3B;IAED,IAAI,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,EAM7B;IAED,IAAI,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,EAM9B;IAED,IAAI,WAAW,CAAC,KAAK,EAAE,OAAO,EAM7B;IAED,IAAI,SAAS,CAAC,KAAK,EAAE,OAAO,EAM3B;IAED,IAAI,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,EAMjC;IAED,IAAI,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,EAMtC;IAED,IAAI,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,EAMpC;IAED,IAAI,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,EAMxC;IAED,IAAI,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,EAMtC;IAED,IAAI,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,EAMvC;IAED,IAAI,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,EAMnC;IAED,IAAI,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,EAMnC;IAED,IAAI,oBAAoB,CAAC,KAAK,EAAE,OAAO,EAMtC;IAED,IAAI,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,EAM1C;IAED,IAAI,wBAAwB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,EAMhD;IAED,IAAI,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,EAM9C;IAED;;OAEG;IACH,iBAAiB,IAAI,IAAI;IASzB;;OAEG;IACH,oBAAoB,IAAI,IAAI;IAI5B;;OAEG;IACH,wBAAwB,CACtB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,GAAG,IAAI,EACvB,QAAQ,EAAE,MAAM,GAAG,IAAI,GACtB,IAAI;IAkCP;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAoE1B;;OAEG;YACW,WAAW;IAmFzB;;OAEG;IACH,OAAO,CAAC,eAAe;IAoBvB;;OAEG;IACH,OAAO,CAAC,QAAQ;IA+BhB;;OAEG;IACH,OAAO,CAAC,2BAA2B;IAKnC;;OAEG;IACH,OAAO,CAAC,eAAe;IAkCvB;;OAEG;YACW,gBAAgB;IAwB9B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAiCzB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAQ1B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAoF5B;;OAEG;IACG,IAAI,CACR,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,EAC5B,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,UAAU,CAAC;IA0CtB;;OAEG;IACG,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC;IAItE;;OAEG;IACG,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC;IAItE;;OAEG;IACH,KAAK,CAAC,MAAM,CAAC,EAAE,GAAG,GAAG,IAAI;IAUzB;;OAEG;IACH,iBAAiB,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI;IAU1C;;OAEG;IACH,eAAe,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI;IAUtC;;OAEG;IACH,WAAW,IAAI,IAAI;IAUnB;;OAEG;IACH,KAAK,IAAI,IAAI;IAUb;;OAEG;IACH,YAAY,IAAI,SAAS;IAUzB;;OAEG;IACH,IAAI,OAAO,IAAI,OAAO,CAErB;IAED;;OAEG;IACH,IAAI,MAAM,IAAI,iBAAiB,CAE9B;IAED;;OAEG;YACW,YAAY;IAmB1B;;;;;OAKG;IACG,QAAQ,CACZ,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,EAC5B,OAAO,CAAC,EAAE,eAAe,GACxB,OAAO,CAAC,SAAS,CAAC;IAUrB;;;OAGG;IACH,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAUlC;;;OAGG;IACH,SAAS,IAAI,SAAS,EAAE;IAUxB;;;;OAIG;IACH,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa;IAU7C;;;OAGG;IACH,gBAAgB,IAAI,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC;IAUjD;;;OAGG;IACH,aAAa,IAAI,aAAa;IAU9B;;;;OAIG;IACH,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI;IAUxD;;;;OAIG;IACH,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI;IAc5D,aAAa,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI;IASrC,aAAa,IAAI,UAAU;IAS3B,kBAAkB,CAAC,MAAM,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,IAAI;IAS1D,kBAAkB,IAAI,eAAe,GAAG,IAAI;IAS5C,iBAAiB,IAAI,cAAc,GAAG,IAAI;IAY1C,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAS/B,YAAY,IAAI,MAAM;IAShB,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAS1E;;;OAGG;IACH,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAStC;;;OAGG;IACH,iBAAiB,IAAI,MAAM,GAAG,IAAI;IASlC,kBAAkB,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IAS3C,kBAAkB,IAAI,SAAS;IASzB,sBAAsB,CAC1B,WAAW,EAAE,UAAU,EACvB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC;IAShB;;;OAGG;IACH,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAStC;;OAEG;IACH,kBAAkB,IAAI,MAAM,GAAG,IAAI;IASnC;;;OAGG;IACH,0BAA0B,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAS/C;;OAEG;IACH,0BAA0B,IAAI,MAAM,GAAG,IAAI;IAa3C;;;;OAIG;IACH,oBAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,GAAG,IAAI;IAU9D;;;;OAIG;IACH,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,GAAG,IAAI;IAU1D;;;;OAIG;IACH,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,GAAG,IAAI;IAU1D;;;;OAIG;IACH,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI;IAUpD;;;;OAIG;IACH,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa;IAUjD;;;OAGG;IACH,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;CAS3C;AAOD,eAAe,kBAAkB,CAAA"}
|
|
@@ -140037,6 +140037,9 @@ class SplatViewerCore {
|
|
|
140037
140037
|
this._sceneConfigManager = null;
|
|
140038
140038
|
// Event system
|
|
140039
140039
|
this._eventListeners = new Map();
|
|
140040
|
+
// Splat rendering configuration (mirrors key SuperSplat options)
|
|
140041
|
+
this._splatCenterSize = null;
|
|
140042
|
+
this._sphericalHarmonicsBands = null;
|
|
140040
140043
|
this.canvas = options.canvas || null;
|
|
140041
140044
|
this.enableStats = options.enableStats || false;
|
|
140042
140045
|
this.autoFocus = options.autoFocus !== false;
|
|
@@ -140164,6 +140167,8 @@ class SplatViewerCore {
|
|
|
140164
140167
|
// This ensures the loading spinner stays visible until the model is actually rendered
|
|
140165
140168
|
return await new Promise(resolve => {
|
|
140166
140169
|
this.app.once('frameupdate', () => {
|
|
140170
|
+
// Apply any pending splat rendering configuration
|
|
140171
|
+
this._applySplatRenderingConfigToEntity(result.entity);
|
|
140167
140172
|
if (this.autoFocus) {
|
|
140168
140173
|
this.focus(result.entity);
|
|
140169
140174
|
setTimeout(() => {
|
|
@@ -140254,6 +140259,8 @@ class SplatViewerCore {
|
|
|
140254
140259
|
// This ensures the loading spinner stays visible until the model is actually rendered
|
|
140255
140260
|
return await new Promise(resolve => {
|
|
140256
140261
|
this.app.once('frameupdate', () => {
|
|
140262
|
+
// Apply any pending splat rendering configuration
|
|
140263
|
+
this._applySplatRenderingConfigToEntity(entity);
|
|
140257
140264
|
if (this.autoFocus) {
|
|
140258
140265
|
this.focus(entity);
|
|
140259
140266
|
setTimeout(() => {
|
|
@@ -140387,7 +140394,12 @@ class SplatViewerCore {
|
|
|
140387
140394
|
if (!this._modelManager) {
|
|
140388
140395
|
throw new Error('SplatViewerCore.addModel: ModelManager not initialized');
|
|
140389
140396
|
}
|
|
140390
|
-
|
|
140397
|
+
const info = await this._modelManager.addModel(source, options);
|
|
140398
|
+
// Apply any pending splat rendering configuration to the new model entity
|
|
140399
|
+
if (info?.entity) {
|
|
140400
|
+
this._applySplatRenderingConfigToEntity(info.entity);
|
|
140401
|
+
}
|
|
140402
|
+
return info;
|
|
140391
140403
|
}
|
|
140392
140404
|
/**
|
|
140393
140405
|
* Remove a specific model from the scene
|
|
@@ -140449,6 +140461,25 @@ class SplatViewerCore {
|
|
|
140449
140461
|
}
|
|
140450
140462
|
return this._modelManager.getSceneStats();
|
|
140451
140463
|
}
|
|
140464
|
+
/**
|
|
140465
|
+
* Set fly camera base movement speed (convenience over setFlyCameraConfig)
|
|
140466
|
+
* @param speed Units per second (must be > 0)
|
|
140467
|
+
*/
|
|
140468
|
+
setFlyCameraSpeed(speed) {
|
|
140469
|
+
if (speed <= 0 || !isFinite(speed)) {
|
|
140470
|
+
console.warn('SplatViewerCore.setFlyCameraSpeed: speed must be > 0');
|
|
140471
|
+
return;
|
|
140472
|
+
}
|
|
140473
|
+
this.setFlyCameraConfig({ moveSpeed: speed });
|
|
140474
|
+
}
|
|
140475
|
+
/**
|
|
140476
|
+
* Get current fly camera base movement speed
|
|
140477
|
+
* @returns Speed in units per second, or null if fly camera not initialized
|
|
140478
|
+
*/
|
|
140479
|
+
getFlyCameraSpeed() {
|
|
140480
|
+
const cfg = this.getFlyCameraConfig();
|
|
140481
|
+
return cfg ? cfg.moveSpeed : null;
|
|
140482
|
+
}
|
|
140452
140483
|
/**
|
|
140453
140484
|
* Set visibility for a specific model by ID
|
|
140454
140485
|
* @param modelId ID of the model
|
|
@@ -140472,6 +140503,153 @@ class SplatViewerCore {
|
|
|
140472
140503
|
this._modelManager.setModelsVisibleByName(name, visible);
|
|
140473
140504
|
}
|
|
140474
140505
|
// ==========================================
|
|
140506
|
+
// Splat Rendering Configuration
|
|
140507
|
+
// ==========================================
|
|
140508
|
+
/**
|
|
140509
|
+
* Set rendered centers size for all splat models.
|
|
140510
|
+
* This maps onto underlying gsplat / renderer properties when available.
|
|
140511
|
+
* @param size Positive size value (implementation-specific units)
|
|
140512
|
+
*/
|
|
140513
|
+
setSplatCenterSize(size) {
|
|
140514
|
+
if (!isFinite(size) || size <= 0) {
|
|
140515
|
+
console.warn('SplatViewerCore.setSplatCenterSize: size must be > 0');
|
|
140516
|
+
return;
|
|
140517
|
+
}
|
|
140518
|
+
const previousSize = this._splatCenterSize;
|
|
140519
|
+
this._splatCenterSize = size;
|
|
140520
|
+
this._forEachSplatEntity(entity => {
|
|
140521
|
+
this._applySplatRenderingConfigToEntity(entity);
|
|
140522
|
+
});
|
|
140523
|
+
// Emit event for UI integrations
|
|
140524
|
+
this.emit({
|
|
140525
|
+
type: 'splat-center-size-changed',
|
|
140526
|
+
detail: {
|
|
140527
|
+
size,
|
|
140528
|
+
previousSize: previousSize ?? size,
|
|
140529
|
+
},
|
|
140530
|
+
});
|
|
140531
|
+
}
|
|
140532
|
+
/**
|
|
140533
|
+
* Get current centers size value last set via API.
|
|
140534
|
+
* Returns null if not configured yet.
|
|
140535
|
+
*/
|
|
140536
|
+
getSplatCenterSize() {
|
|
140537
|
+
return this._splatCenterSize;
|
|
140538
|
+
}
|
|
140539
|
+
/**
|
|
140540
|
+
* Set spherical harmonics bands for all splat models.
|
|
140541
|
+
* @param bands Integer band count (0-3)
|
|
140542
|
+
*/
|
|
140543
|
+
setSphericalHarmonicsBands(bands) {
|
|
140544
|
+
if (!isFinite(bands)) {
|
|
140545
|
+
console.warn('SplatViewerCore.setSphericalHarmonicsBands: bands must be a finite number');
|
|
140546
|
+
return;
|
|
140547
|
+
}
|
|
140548
|
+
const clamped = Math.max(0, Math.min(3, Math.round(bands)));
|
|
140549
|
+
const previousBands = this._sphericalHarmonicsBands;
|
|
140550
|
+
this._sphericalHarmonicsBands = clamped;
|
|
140551
|
+
this._forEachSplatEntity(entity => {
|
|
140552
|
+
this._applySplatRenderingConfigToEntity(entity);
|
|
140553
|
+
});
|
|
140554
|
+
// Emit event for UI integrations
|
|
140555
|
+
this.emit({
|
|
140556
|
+
type: 'spherical-harmonics-bands-changed',
|
|
140557
|
+
detail: {
|
|
140558
|
+
bands: clamped,
|
|
140559
|
+
previousBands: previousBands ?? clamped,
|
|
140560
|
+
},
|
|
140561
|
+
});
|
|
140562
|
+
}
|
|
140563
|
+
/**
|
|
140564
|
+
* Get current spherical harmonics bands setting last configured via API.
|
|
140565
|
+
* Returns null if not configured yet.
|
|
140566
|
+
*/
|
|
140567
|
+
getSphericalHarmonicsBands() {
|
|
140568
|
+
return this._sphericalHarmonicsBands;
|
|
140569
|
+
}
|
|
140570
|
+
// Apply stored rendering configuration to a specific splat entity
|
|
140571
|
+
_applySplatRenderingConfigToEntity(entity) {
|
|
140572
|
+
const anyEntity = entity;
|
|
140573
|
+
const comp = anyEntity.gsplat;
|
|
140574
|
+
if (!comp)
|
|
140575
|
+
return;
|
|
140576
|
+
// Centers size – try several known/likely property names
|
|
140577
|
+
if (this._splatCenterSize != null) {
|
|
140578
|
+
const size = this._splatCenterSize;
|
|
140579
|
+
if ('centerSize' in comp)
|
|
140580
|
+
comp.centerSize = size;
|
|
140581
|
+
if ('centersSize' in comp)
|
|
140582
|
+
comp.centersSize = size;
|
|
140583
|
+
if ('pointSize' in comp)
|
|
140584
|
+
comp.pointSize = size;
|
|
140585
|
+
if (comp.settings) {
|
|
140586
|
+
if ('centerSize' in comp.settings)
|
|
140587
|
+
comp.settings.centerSize = size;
|
|
140588
|
+
if ('centersSize' in comp.settings)
|
|
140589
|
+
comp.settings.centersSize = size;
|
|
140590
|
+
if ('pointSize' in comp.settings)
|
|
140591
|
+
comp.settings.pointSize = size;
|
|
140592
|
+
}
|
|
140593
|
+
if (comp.instance) {
|
|
140594
|
+
if ('centerSize' in comp.instance)
|
|
140595
|
+
comp.instance.centerSize = size;
|
|
140596
|
+
if ('centersSize' in comp.instance)
|
|
140597
|
+
comp.instance.centersSize = size;
|
|
140598
|
+
if ('pointSize' in comp.instance)
|
|
140599
|
+
comp.instance.pointSize = size;
|
|
140600
|
+
if (comp.instance.renderOptions) {
|
|
140601
|
+
const ro = comp.instance.renderOptions;
|
|
140602
|
+
if ('centerSize' in ro)
|
|
140603
|
+
ro.centerSize = size;
|
|
140604
|
+
if ('centersSize' in ro)
|
|
140605
|
+
ro.centersSize = size;
|
|
140606
|
+
if ('pointSize' in ro)
|
|
140607
|
+
ro.pointSize = size;
|
|
140608
|
+
}
|
|
140609
|
+
}
|
|
140610
|
+
}
|
|
140611
|
+
// Spherical harmonics bands – prefer integer band count properties
|
|
140612
|
+
if (this._sphericalHarmonicsBands != null) {
|
|
140613
|
+
const bands = this._sphericalHarmonicsBands;
|
|
140614
|
+
if ('shBands' in comp)
|
|
140615
|
+
comp.shBands = bands;
|
|
140616
|
+
if ('shBandCount' in comp)
|
|
140617
|
+
comp.shBandCount = bands;
|
|
140618
|
+
if ('sphericalHarmonicsBands' in comp)
|
|
140619
|
+
comp.sphericalHarmonicsBands = bands;
|
|
140620
|
+
if (comp.settings) {
|
|
140621
|
+
if ('shBands' in comp.settings)
|
|
140622
|
+
comp.settings.shBands = bands;
|
|
140623
|
+
if ('shBandCount' in comp.settings)
|
|
140624
|
+
comp.settings.shBandCount = bands;
|
|
140625
|
+
if ('sphericalHarmonicsBands' in comp.settings)
|
|
140626
|
+
comp.settings.sphericalHarmonicsBands = bands;
|
|
140627
|
+
}
|
|
140628
|
+
if (comp.instance) {
|
|
140629
|
+
if ('shBands' in comp.instance)
|
|
140630
|
+
comp.instance.shBands = bands;
|
|
140631
|
+
if ('shBandCount' in comp.instance)
|
|
140632
|
+
comp.instance.shBandCount = bands;
|
|
140633
|
+
if ('sphericalHarmonicsBands' in comp.instance)
|
|
140634
|
+
comp.instance.sphericalHarmonicsBands = bands;
|
|
140635
|
+
}
|
|
140636
|
+
}
|
|
140637
|
+
}
|
|
140638
|
+
// Helper: iterate over all splat entities managed by this core
|
|
140639
|
+
_forEachSplatEntity(fn) {
|
|
140640
|
+
if (this.entities.splat) {
|
|
140641
|
+
fn(this.entities.splat);
|
|
140642
|
+
}
|
|
140643
|
+
if (this._modelManager) {
|
|
140644
|
+
const models = this._modelManager.getModels();
|
|
140645
|
+
for (const m of models) {
|
|
140646
|
+
if (m.entity) {
|
|
140647
|
+
fn(m.entity);
|
|
140648
|
+
}
|
|
140649
|
+
}
|
|
140650
|
+
}
|
|
140651
|
+
}
|
|
140652
|
+
// ==========================================
|
|
140475
140653
|
// Transform System API
|
|
140476
140654
|
// ==========================================
|
|
140477
140655
|
/**
|
|
@@ -141752,6 +141930,13 @@ class SplatViewerElement extends HTMLElement {
|
|
|
141752
141930
|
this._core.on('background-color-changed', (event) => {
|
|
141753
141931
|
this.dispatchEvent(createCustomEvent('background-color-changed', event.detail));
|
|
141754
141932
|
});
|
|
141933
|
+
// Splat rendering configuration events
|
|
141934
|
+
this._core.on('splat-center-size-changed', (event) => {
|
|
141935
|
+
this.dispatchEvent(createCustomEvent('splat-center-size-changed', event.detail));
|
|
141936
|
+
});
|
|
141937
|
+
this._core.on('spherical-harmonics-bands-changed', (event) => {
|
|
141938
|
+
this.dispatchEvent(createCustomEvent('spherical-harmonics-bands-changed', event.detail));
|
|
141939
|
+
});
|
|
141755
141940
|
// Multi-model management events
|
|
141756
141941
|
this._core.on('model-added', (event) => {
|
|
141757
141942
|
this.dispatchEvent(createCustomEvent('model-added', event.detail));
|
|
@@ -142039,6 +142224,26 @@ class SplatViewerElement extends HTMLElement {
|
|
|
142039
142224
|
}
|
|
142040
142225
|
await this._core.animateCameraFOV(targetFOV, duration);
|
|
142041
142226
|
}
|
|
142227
|
+
/**
|
|
142228
|
+
* Set fly camera base movement speed (convenience over setFlyCameraConfig)
|
|
142229
|
+
* @param speed Units per second (must be > 0)
|
|
142230
|
+
*/
|
|
142231
|
+
setFlyCameraSpeed(speed) {
|
|
142232
|
+
if (!this._core) {
|
|
142233
|
+
throw new Error('SplatViewerElement: Core not initialized. Call connectedCallback first.');
|
|
142234
|
+
}
|
|
142235
|
+
this._core.setFlyCameraSpeed(speed);
|
|
142236
|
+
}
|
|
142237
|
+
/**
|
|
142238
|
+
* Get current fly camera base movement speed
|
|
142239
|
+
* @returns Speed in units per second, or null if fly camera not initialized
|
|
142240
|
+
*/
|
|
142241
|
+
getFlyCameraSpeed() {
|
|
142242
|
+
if (!this._core) {
|
|
142243
|
+
throw new Error('SplatViewerElement: Core not initialized. Call connectedCallback first.');
|
|
142244
|
+
}
|
|
142245
|
+
return this._core.getFlyCameraSpeed();
|
|
142246
|
+
}
|
|
142042
142247
|
setBackgroundColor(color) {
|
|
142043
142248
|
if (!this._core) {
|
|
142044
142249
|
throw new Error('SplatViewerElement: Core not initialized. Call connectedCallback first.');
|
|
@@ -142057,6 +142262,44 @@ class SplatViewerElement extends HTMLElement {
|
|
|
142057
142262
|
}
|
|
142058
142263
|
await this._core.animateBackgroundColor(targetColor, duration);
|
|
142059
142264
|
}
|
|
142265
|
+
/**
|
|
142266
|
+
* Set rendered centers size for all splat models
|
|
142267
|
+
* @param size Positive size value (implementation-specific units)
|
|
142268
|
+
*/
|
|
142269
|
+
setSplatCenterSize(size) {
|
|
142270
|
+
if (!this._core) {
|
|
142271
|
+
throw new Error('SplatViewerElement: Core not initialized. Call connectedCallback first.');
|
|
142272
|
+
}
|
|
142273
|
+
this._core.setSplatCenterSize(size);
|
|
142274
|
+
}
|
|
142275
|
+
/**
|
|
142276
|
+
* Get current centers size value last set via API
|
|
142277
|
+
*/
|
|
142278
|
+
getSplatCenterSize() {
|
|
142279
|
+
if (!this._core) {
|
|
142280
|
+
throw new Error('SplatViewerElement: Core not initialized. Call connectedCallback first.');
|
|
142281
|
+
}
|
|
142282
|
+
return this._core.getSplatCenterSize();
|
|
142283
|
+
}
|
|
142284
|
+
/**
|
|
142285
|
+
* Set spherical harmonics bands for all splat models
|
|
142286
|
+
* @param bands Integer band count (0-3)
|
|
142287
|
+
*/
|
|
142288
|
+
setSphericalHarmonicsBands(bands) {
|
|
142289
|
+
if (!this._core) {
|
|
142290
|
+
throw new Error('SplatViewerElement: Core not initialized. Call connectedCallback first.');
|
|
142291
|
+
}
|
|
142292
|
+
this._core.setSphericalHarmonicsBands(bands);
|
|
142293
|
+
}
|
|
142294
|
+
/**
|
|
142295
|
+
* Get current spherical harmonics bands setting last configured via API
|
|
142296
|
+
*/
|
|
142297
|
+
getSphericalHarmonicsBands() {
|
|
142298
|
+
if (!this._core) {
|
|
142299
|
+
throw new Error('SplatViewerElement: Core not initialized. Call connectedCallback first.');
|
|
142300
|
+
}
|
|
142301
|
+
return this._core.getSphericalHarmonicsBands();
|
|
142302
|
+
}
|
|
142060
142303
|
// ==========================================
|
|
142061
142304
|
// Transform System API
|
|
142062
142305
|
// ==========================================
|