babylonjs-loaders 9.16.2 → 9.17.0

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.
@@ -8522,8 +8522,19 @@ declare namespace BABYLON {
8522
8522
  private _unzipWithFFlateAsync;
8523
8523
  private _parseAsync;
8524
8524
  /**
8525
- * Applies camera limits based on parsed meta data
8525
+ * Extracts the safe-orbit camera limits from parsed splat metadata, or null when the file
8526
+ * carries none. Exposed on the loaded mesh (GaussianSplattingMeshBase.safeOrbitCameraLimits)
8527
+ * so consumers can apply/track them regardless of the active camera type.
8526
8528
  * @param meta parsed splat meta data
8529
+ * @returns the parsed safe-orbit limits, or null
8530
+ */
8531
+ private static _ExtractSafeOrbitLimits;
8532
+ /**
8533
+ * Applies safe-orbit camera limits parsed from the file metadata to the scene's active
8534
+ * ArcRotateCamera. No-op when no limits are present, `disableAutoCameraLimits` is set, or the
8535
+ * active camera is not an ArcRotateCamera — in which case consumers can still read the limits
8536
+ * from the loaded mesh's `safeOrbitCameraLimits` and apply them themselves.
8537
+ * @param limits parsed safe-orbit limits (see _ExtractSafeOrbitLimits)
8527
8538
  * @param scene
8528
8539
  */
8529
8540
  private applyAutoCameraLimits;
@@ -9381,7 +9392,14 @@ declare namespace BABYLON {
9381
9392
  * cheap per-node frustum test every frame so the off-screen LOD bias tracks camera rotation. The LOD
9382
9393
  * re-evaluation is throttled to at most every {@link _lodUpdateInterval} frames once the camera has
9383
9394
  * translated far enough, but also runs immediately whenever a node enters/leaves the frustum (so its
9384
- * detail upgrades/downgrades promptly) or a cap change forces it. Active ranges rebuild on any LOD change.
9395
+ * detail upgrades/downgrades promptly), a node whose cooldown just expired still needs to switch LOD,
9396
+ * or a cap change forces it. Active ranges rebuild on any LOD change.
9397
+ *
9398
+ * The cooldown-expiry trigger lets a node reach its already-computed target level as soon as its
9399
+ * cooldown clears, rather than waiting for the camera to move. This matters right from load: a
9400
+ * node's base-layer decode is itself applied as a switch (from no active level to the base one), so
9401
+ * it starts the same cooldown a later switch would — this trigger is what lets the node progress past
9402
+ * that base level promptly once it expires, even at a fixed camera pose.
9385
9403
  */
9386
9404
  private _onLodFrame;
9387
9405
  /**