iflow-engine-base 4.0.10 → 4.0.12

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.
@@ -1,7 +1,7 @@
1
- import { J as pe, S as fe } from "./sdk-vendor-CPnf2j9F.js";
2
- import { V as y, E as ye, Q as ve, M as I, a as P, b as x, B as D, F as T, S as we, c as F, m as j, d as xe, P as be, C as k, e as Me, f as Ee, N as Ce, T as ke, L as Y, g as S, h as V, D as W, i as Le, j as G, k as ne, G as R, l as Se, n as Te, A as Pe, o as Ie, O as Ae, p as De, W as Ne, q as Re, r as H, s as ze, I as Ve, R as We } from "./three-vendor-DolVXUca.js";
3
- import { c as Be, a as _e, F as O, C as je, W as oe, L as Ge, E as He, r as Ue } from "./sdk-runtime-DJ9E8kq3.js";
4
- import { r as A } from "./sdk-assets-Cf6dJkM2.js";
1
+ import { J as pe, S as fe } from "./sdk-vendor-DXennwpt.js";
2
+ import { V as y, E as ye, Q as ve, M as I, a as P, b as x, B as D, F as T, S as we, c as F, m as j, d as xe, P as be, C as k, e as Me, f as Ee, N as Ce, T as ke, L as Y, g as S, h as V, D as W, i as Le, j as G, k as ne, G as R, l as Se, n as Te, A as Pe, o as Ie, O as Ae, p as De, W as Ne, q as Re, r as H, s as ze, I as Ve, R as We } from "./three-vendor-DviDCxmZ.js";
3
+ import { c as Be, a as _e, F as O, C as je, W as oe, L as Ge, E as He, r as Ue } from "./sdk-runtime-CJ-_AbdZ.js";
4
+ import { r as A } from "./sdk-assets-Cmg-KxYC.js";
5
5
  class Oe {
6
6
  panel = null;
7
7
  listEl = null;
@@ -1,8 +1,8 @@
1
- import { j as z, I as V, M as N, G as pe, t as it, u as Et, v as Ie, C as xe, w as qs, x as ki, D as re, T as nt, i as We, y as Ks, z as pt, V as d, H as Z, b as W, R as me, J as At, Q as Se, B as ae, s as St, h as oe, L as Ge, o as Lt, n as Li, K as Xt, O as Be, a as F, U as tt, p as Gn, X as js, W as Bi, Y as Ys, Z as zi, _ as Xs, $ as lt, q as qn, E as Xe, a0 as Kn, r as R, a1 as Ri, a2 as jn, f as ri, a3 as ai, a4 as Yn, a5 as Xn, a6 as Qt, a7 as Qs, a8 as $s, a9 as Zs, aa as Yi, ab as Xi, ac as Js, ad as eo, d as Qn, ae as $n, af as Oi, ag as to, ah as Zn, ai as io, aj as no, m as Pt, ak as so, al as Jn, am as oo, an as Qe, ao as $t, ap as Tt, aq as ro, ar as wi, as as ao, at as lo, k as bi, au as co, av as ut, aw as ho, ax as uo, ay as es, az as Zt, F as It, g as Jt, aA as po, aB as Qi, aC as mo, aD as go, aE as $i, aF as fo, aG as yo, l as Mo, aH as vo, aI as xo, aJ as wo, aK as bo, aL as Co, aM as Eo, aN as Ao, aO as ts, c as So, aP as Po, aQ as To, aR as Io, aS as _o, aT as Do, aU as ko, aV as Lo } from "./three-vendor-DolVXUca.js";
2
- import { W as fe, C as Bo, b as Mt, B as Zi, g as Oe, L as zo, E as Ro, r as Oo } from "./sdk-runtime-DJ9E8kq3.js";
3
- import { r as ee, g as Fo } from "./sdk-assets-Cf6dJkM2.js";
4
- import { a as ei, J as Ci, c as No, b as Ho, P as li, q as Vo, k as Uo, n as Ji, E as en, S as Wo } from "./sdk-vendor-CPnf2j9F.js";
5
- import { L as Go } from "./engine-2d-BsdGqViB.js";
1
+ import { j as z, I as V, M as N, G as pe, t as it, u as Et, v as Ie, C as xe, w as qs, x as ki, D as re, T as nt, i as We, y as Ks, z as pt, V as d, H as Z, b as W, R as me, J as At, Q as Se, B as ae, s as St, h as oe, L as Ge, o as Lt, n as Li, K as Xt, O as Be, a as F, U as tt, p as Gn, X as js, W as Bi, Y as Ys, Z as zi, _ as Xs, $ as lt, q as qn, E as Xe, a0 as Kn, r as R, a1 as Ri, a2 as jn, f as ri, a3 as ai, a4 as Yn, a5 as Xn, a6 as Qt, a7 as Qs, a8 as $s, a9 as Zs, aa as Yi, ab as Xi, ac as Js, ad as eo, d as Qn, ae as $n, af as Oi, ag as to, ah as Zn, ai as io, aj as no, m as Pt, ak as so, al as Jn, am as oo, an as Qe, ao as $t, ap as Tt, aq as ro, ar as wi, as as ao, at as lo, k as bi, au as co, av as ut, aw as ho, ax as uo, ay as es, az as Zt, F as It, g as Jt, aA as po, aB as Qi, aC as mo, aD as go, aE as $i, aF as fo, aG as yo, l as Mo, aH as vo, aI as xo, aJ as wo, aK as bo, aL as Co, aM as Eo, aN as Ao, aO as ts, c as So, aP as Po, aQ as To, aR as Io, aS as _o, aT as Do, aU as ko, aV as Lo } from "./three-vendor-DviDCxmZ.js";
2
+ import { W as fe, C as Bo, b as Mt, B as Zi, g as Oe, L as zo, E as Ro, r as Oo } from "./sdk-runtime-CJ-_AbdZ.js";
3
+ import { r as ee, g as Fo } from "./sdk-assets-Cmg-KxYC.js";
4
+ import { a as ei, J as Ci, c as No, b as Ho, P as li, q as Vo, k as Uo, n as Ji, E as en, S as Wo } from "./sdk-vendor-DXennwpt.js";
5
+ import { L as Go } from "./engine-2d-CHAlWyo6.js";
6
6
  var ne = /* @__PURE__ */ ((a) => (a.ModelLoadStart = "model-load-start", a.ModelLoadProgress = "model-load-progress", a.ModelLoaded = "model-loaded", a.ModelError = "model-error", a.SelectionChanged = "selection-changed", a.HoverChanged = "hover-changed", a.Click = "click", a.MouseMove = "mouse-move", a.ModelPlaceSelected = "model-place-selected", a.ModelCalibrationChanged = "model-calibration-changed", a.CameraChanged = "camera-changed", a.CameraIdle = "camera-idle", a.ViewportResize = "viewport-resize", a.EngineFree = "engine-free", a.EngineBusy = "engine-busy", a.MeasureChanged = "measure-changed", a.SectionMove = "section-move", a.LoadingCompleted = "loading_completed", a))(ne || {});
7
7
  class ci extends Error {
8
8
  constructor() {
@@ -1,5 +1,5 @@
1
- import { n as R, az as S, h as E, w as b, j as x, K as A, E as k, Q as F, p as I, W as y, a as v, T as f, i as P, a6 as m, V as p, b as D } from "./three-vendor-DolVXUca.js";
2
- import { C as L, W as w, E as T, c as z, r as _ } from "./sdk-runtime-DJ9E8kq3.js";
1
+ import { n as R, az as S, h as E, w as b, j as x, K as A, E as k, Q as F, p as I, W as y, a as v, T as f, i as P, a6 as m, V as p, b as D } from "./three-vendor-DviDCxmZ.js";
2
+ import { C as L, W as w, E as T, c as z, r as _ } from "./sdk-runtime-CJ-_AbdZ.js";
3
3
  class V {
4
4
  scene;
5
5
  panoramaSphere = null;
@@ -1,5 +1,5 @@
1
- import { n as Js, C as st, K as Zs, V as v, b as N, O as $s, W as en, M as J, Q as ge, a as tn, f as qt, j as be, B as sn, h as ft, r as it, aW as ze, aX as Pt, aY as at, a5 as Bt, aZ as ms, a_ as yn, a$ as xn, b0 as In, b1 as Tn, a4 as wn, b2 as En, b3 as Bn, l as lt, b4 as As, b5 as gs, b6 as vn, k as Cs, b7 as Fn, t as Je, az as Ss, D as Kt, ap as bn, w as ys, q as Dn, $ as We, b8 as qe, aF as xs, s as Mn, b9 as Rn, aj as Pn, ba as On, bb as nn, aN as Is, bc as kn, H as Ln, bd as Ne, be as mt, p as Hn } from "./three-vendor-DolVXUca.js";
2
- import { C as Un, c as zn, E as _n, r as Qn } from "./sdk-runtime-DJ9E8kq3.js";
1
+ import { n as Js, C as st, K as Zs, V as v, b as N, O as $s, W as en, M as J, Q as ge, a as tn, f as qt, j as be, B as sn, h as ft, r as it, aW as ze, aX as Pt, aY as at, a5 as Bt, aZ as ms, a_ as yn, a$ as xn, b0 as In, b1 as Tn, a4 as wn, b2 as En, b3 as Bn, l as lt, b4 as As, b5 as gs, b6 as vn, k as Cs, b7 as Fn, t as Je, az as Ss, D as Kt, ap as bn, w as ys, q as Dn, $ as We, b8 as qe, aF as xs, s as Mn, b9 as Rn, aj as Pn, ba as On, bb as nn, aN as Is, bc as kn, H as Ln, bd as Ne, be as mt, p as Hn } from "./three-vendor-DviDCxmZ.js";
2
+ import { C as Un, c as zn, E as _n, r as Qn } from "./sdk-runtime-CJ-_AbdZ.js";
3
3
  var De = /* @__PURE__ */ ((m) => (m.LoadStart = "gaussian-load-start", m.LoadProgress = "gaussian-load-progress", m.Loaded = "gaussian-loaded", m.LoadError = "gaussian-load-error", m.SceneRemoved = "gaussian-scene-removed", m.FpsUpdated = "gaussian-fps-updated", m.ViewChanged = "gaussian-view-changed", m))(De || {});
4
4
  class Nn {
5
5
  listeners = /* @__PURE__ */ new Map();
@@ -1,6 +1,6 @@
1
- import { g as xX, J as KN } from "./sdk-vendor-CPnf2j9F.js";
2
- import { bf as Ii, bg as TX } from "./three-vendor-DolVXUca.js";
3
- import { l as vX, L as EX, E as CX, d as JN, e as wX, c as $C, a as SX, f as IX, r as DX, h as XC } from "./sdk-runtime-DJ9E8kq3.js";
1
+ import { g as xX, J as KN } from "./sdk-vendor-DXennwpt.js";
2
+ import { bf as Ii, bg as TX } from "./three-vendor-DviDCxmZ.js";
3
+ import { l as vX, L as EX, E as CX, d as JN, e as wX, c as $C, a as SX, f as IX, r as DX, h as XC } from "./sdk-runtime-CJ-_AbdZ.js";
4
4
  var QN = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : {};
5
5
  function Fb(e) {
6
6
  return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e;
@@ -1,6 +1,6 @@
1
- import { s as A, a as G, b as U } from "./sdk-assets-Cf6dJkM2.js";
2
- import "./engine-3d-DouCKYY-.js";
3
- import { bj as v, G as m, M as N, C as B, bk as j, a$ as k, y as W } from "./three-vendor-DolVXUca.js";
1
+ import { s as A, a as G, b as U } from "./sdk-assets-Cmg-KxYC.js";
2
+ import "./engine-3d-DTgYyZJM.js";
3
+ import { bj as v, G as m, M as N, C as B, bk as j, a$ as k, y as W } from "./three-vendor-DviDCxmZ.js";
4
4
  var b = /* @__PURE__ */ ((s) => (s.ModelLoadStart = "model-load-start", s.ModelLoadProgress = "model-load-progress", s.ModelLoaded = "model-loaded", s.ModelError = "model-error", s.SelectionChanged = "selection-changed", s.HoverChanged = "hover-changed", s.Click = "click", s.MouseMove = "mouse-move", s.ModelPlaceSelected = "model-place-selected", s.ModelCalibrationChanged = "model-calibration-changed", s.CameraChanged = "camera-changed", s.CameraIdle = "camera-idle", s.EngineFree = "engine-free", s.EngineBusy = "engine-busy", s.MeasureChanged = "measure-changed", s.MeasureClick = "measure-click", s.SectionMove = "section-move", s.LoadingCompleted = "loading_completed", s))(b || {});
5
5
  function q() {
6
6
  return O(new v());
@@ -821,30 +821,30 @@ async function d(s) {
821
821
  }
822
822
  async function me(s, e) {
823
823
  if (await d(s), (e ?? (typeof navigator < "u" && "gpu" in navigator ? "webgpu" : "webgl")) === "webgpu") {
824
- const { EngineKernelV3: n } = await import("./EngineKernel-Kg-SdrzV.js"), a = new n(s);
824
+ const { EngineKernelV3: n } = await import("./EngineKernel-DfVRD_tr.js"), a = new n(s);
825
825
  return await a.ready, a;
826
826
  }
827
- const { EngineKernelV2: r } = await import("./engine-3d-DouCKYY-.js").then((n) => n.e);
827
+ const { EngineKernelV2: r } = await import("./engine-3d-DTgYyZJM.js").then((n) => n.e);
828
828
  return new r(s);
829
829
  }
830
830
  async function be(s) {
831
831
  await d(s);
832
- const { EngineKernel2d: e } = await import("./engine-2d-BsdGqViB.js").then((t) => t.E);
832
+ const { EngineKernel2d: e } = await import("./engine-2d-CHAlWyo6.js").then((t) => t.E);
833
833
  return new e(s);
834
834
  }
835
835
  async function Me(s) {
836
836
  await d(s);
837
- const { EngineKernel720: e } = await import("./engine-720-DvQtPJ60.js");
837
+ const { EngineKernel720: e } = await import("./engine-720-CCoLj9EZ.js");
838
838
  return new e(s);
839
839
  }
840
840
  async function Ee(s) {
841
841
  await d(s);
842
- const { EngineKernelGaussian: e } = await import("./engine-gaussian-BqR-uPbs.js");
842
+ const { EngineKernelGaussian: e } = await import("./engine-gaussian-CYxsW63V.js");
843
843
  return new e(s);
844
844
  }
845
845
  async function xe(s) {
846
846
  await d(s);
847
- const { EngineKernelGIS: e } = await import("./engine-gis-CgZIsySE.js").then((t) => t.E);
847
+ const { EngineKernelGIS: e } = await import("./engine-gis--fGJSeW4.js").then((t) => t.E);
848
848
  return new e(s);
849
849
  }
850
850
  export {
@@ -1,8 +1,8 @@
1
- import { bh as w } from "./three-vendor-DolVXUca.js";
1
+ import { bh as w } from "./three-vendor-DviDCxmZ.js";
2
2
  const S = "__BIM_ENGINE_SDK_ASSET_BASE__", b = "__BIM_ENGINE_SDK_ASSET_FILE_MAP__", g = "__BIM_ENGINE_SDK_ASSET_FILE_URLS__", A = "__BIM_ENGINE_SDK_ASSET_FILE_SESSION__", j = "https://unpkg.com/iflow-engine-base-3d@3.12.21/dist/", L = "https://__bim_engine_sdk_asset__/", M = ["assets/", "fonts/", "draco/", "basis/", "texture/", "prompt/"];
3
3
  let _ = null;
4
4
  async function R() {
5
- return _ || (_ = import("./sdk-vendor-CPnf2j9F.js").then((t) => t.j).then((t) => t.default ?? t)), _;
5
+ return _ || (_ = import("./sdk-vendor-DXennwpt.js").then((t) => t.j).then((t) => t.default ?? t)), _;
6
6
  }
7
7
  function a() {
8
8
  return typeof globalThis < "u" ? globalThis : null;
@@ -1,5 +1,5 @@
1
- import { R as ve, b as B, V as ce, K as Te, bi as Ce } from "./three-vendor-DolVXUca.js";
2
- import { a as pe, J as ne, p as Ae, l as J } from "./sdk-vendor-CPnf2j9F.js";
1
+ import { R as ve, b as B, V as ce, K as Te, bi as Ce } from "./three-vendor-DviDCxmZ.js";
2
+ import { a as pe, J as ne, p as Ae, l as J } from "./sdk-vendor-DXennwpt.js";
3
3
  class It {
4
4
  /**
5
5
  * 构造函数
@@ -1056,7 +1056,7 @@ class jt {
1056
1056
  e.stopImmediatePropagation();
1057
1057
  };
1058
1058
  }
1059
- const ot = "4.0.10", st = {
1059
+ const ot = "4.0.12", st = {
1060
1060
  version: ot
1061
1061
  }, V = st.version;
1062
1062
  function se() {
@@ -1,4 +1,4 @@
1
- import { c as ja, g as X0, a as f1 } from "./engine-gis-CgZIsySE.js";
1
+ import { c as ja, g as X0, a as f1 } from "./engine-gis--fGJSeW4.js";
2
2
  function d1(t, e) {
3
3
  for (var r = 0; r < e.length; r++) {
4
4
  const i = e[r];
@@ -82031,19 +82031,18 @@ export {
82031
82031
  weA as bK,
82032
82032
  AeA as bL,
82033
82033
  it as bM,
82034
- hi as bN,
82035
- $tA as bO,
82036
- Cg as bP,
82037
- bO as bQ,
82038
- beA as bR,
82039
- YA as bS,
82040
- _s as bT,
82041
- sa as bU,
82042
- wI as bV,
82043
- zC as bW,
82044
- VB as bX,
82045
- LH as bY,
82046
- aeA as bZ,
82034
+ $tA as bN,
82035
+ Cg as bO,
82036
+ bO as bP,
82037
+ beA as bQ,
82038
+ YA as bR,
82039
+ _s as bS,
82040
+ sa as bT,
82041
+ wI as bU,
82042
+ zC as bV,
82043
+ VB as bW,
82044
+ LH as bX,
82045
+ aeA as bY,
82047
82046
  KB as ba,
82048
82047
  bs as bb,
82049
82048
  Wo as bc,
package/dist/index.d.ts CHANGED
@@ -2073,8 +2073,6 @@ declare class ComposerModule_2 {
2073
2073
  get composer(): RenderPipeline | null;
2074
2074
  /** 返回持久化的 WebGPU RenderPipeline。 */
2075
2075
  get renderPipeline(): RenderPipeline | null;
2076
- /** 后期效果之外的背景场景,供天空等无限远背景使用。 */
2077
- get postProcessingBackgroundScene(): Scene;
2078
2076
  /** 后期效果之外的叠加场景,供剖切面和交互辅助对象使用。 */
2079
2077
  get postProcessingOverlayScene(): Scene;
2080
2078
  /** 返回当前 SSGI 节点。 */
@@ -4030,10 +4028,10 @@ export declare interface EngineKernelV3Options {
4030
4028
  meshDistanceCullingEnabled?: boolean;
4031
4029
  /** 是否对 InstancedMesh 开启距离裁剪,默认开启。 */
4032
4030
  instanceDistanceCullingEnabled?: boolean;
4031
+ /** 相机交互期间实例距离裁剪的更新间隔(毫秒);设为 0 可恢复逐帧计算,默认 100。 */
4032
+ instanceDistanceCullingUpdateIntervalMs?: number;
4033
4033
  maxTrianglesPerMesh?: number;
4034
4034
  minProjectedSizePx?: number;
4035
- /** Instance 空间批次最大中心半径与实例直径之比;值越小局部恢复越准确,批次数也越多。 */
4036
- maxInstanceBatchRadiusSizeRatio?: number;
4037
4035
  };
4038
4036
  /** 默认开启批次深度偏移以缓解共面闪烁;确认模型不存在 z-fighting 时可显式关闭。 */
4039
4037
  modelDepthBias?: boolean;
@@ -5814,7 +5812,6 @@ declare class Hdr_2 {
5814
5812
  private currentBackgroundIntensity;
5815
5813
  private currentTexture;
5816
5814
  private currentEnvironmentTexture;
5817
- private skybox;
5818
5815
  private readonly textureCache;
5819
5816
  private previousBackground;
5820
5817
  private previousEnvironment;
@@ -5840,9 +5837,6 @@ declare class Hdr_2 {
5840
5837
  private _loadHdr;
5841
5838
  private _applyTexture;
5842
5839
  private _captureSceneState;
5843
- private _createSkybox;
5844
- private _updateSkyboxIntensity;
5845
- private _removeSkybox;
5846
5840
  private _clearHdr;
5847
5841
  private _getAmbientLightIntensity;
5848
5842
  private _setAmbientLightIntensity;
@@ -7592,6 +7586,8 @@ declare class LoaderModule_2 {
7592
7586
  private engine;
7593
7587
  private unloadedModelUrls;
7594
7588
  private modelLoadVersions;
7589
+ private hasTriggeredInitialHome;
7590
+ private homeBoundingBox;
7595
7591
  constructor(engine: any);
7596
7592
  /**
7597
7593
  * 批量加载模型 URL。
@@ -7617,10 +7613,18 @@ declare class LoaderModule_2 {
7617
7613
  isModelUnloadRequested(url: string): boolean;
7618
7614
  /** 校验异步任务是否仍属于当前 URL 的最新一次加载。 */
7619
7615
  isModelLoadActive(url: string, loadVersion: number): boolean;
7616
+ /** info 已读取并登记模型包围盒后立即判断是否需要回正相机。 */
7617
+ onModelInfoReady(): void;
7620
7618
  /** 清理模型运行状态数组,避免交互继续引用已卸载构件。 */
7621
7619
  private clearEngineStatus;
7622
7620
  /** 删除模型组缓存;对象索引种子保持单调递增,避免复用旧索引。 */
7623
7621
  private removeModelGroupReference;
7622
+ /** 判断当前所有模型的最外层包围盒是否需要触发一次 Home。 */
7623
+ private shouldTriggerHomeForCurrentModels;
7624
+ /** 卸载后重新计算缓存,避免已删除的大模型范围继续阻止后续 Home。 */
7625
+ private refreshHomeBoundingBoxAfterUnload;
7626
+ /** 将 OctreeBox 返回的全场景范围转换为独立 Box3,避免引用后续被修改。 */
7627
+ private getCurrentModelBoundingBox;
7624
7628
  /**
7625
7629
  * 把浏览器 File 列表整理成现有加载器可识别的本地虚拟模型入口。
7626
7630
  */
@@ -13193,9 +13197,13 @@ declare class SkyManager_2 {
13193
13197
  /** 设置天空生成的 IBL 环境光强度。 */
13194
13198
  setIntensity(intensity: number): void;
13195
13199
  getIntensity(): number;
13196
- /** 在渲染前让天空跟随相机,避免大世界坐标精度损失。 */
13200
+ /** 在渲染前让天空球跟随相机,避免大世界坐标精度损失。 */
13197
13201
  update(_time?: number): void;
13198
- private _getBackgroundScene;
13202
+ /**
13203
+ * SkyMesh 默认立方体会让 positionWorld 在面边界产生可见插值差异。
13204
+ * 保留其 WebGPU/TSL 材质,只将几何数据替换为连续球面。
13205
+ */
13206
+ private _createSeamlessSky;
13199
13207
  private _syncSkyToCamera;
13200
13208
  private _isOrthographicCamera;
13201
13209
  private _getEffectiveExposure;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "iflow-engine-base",
3
- "version": "4.0.10",
3
+ "version": "4.0.12",
4
4
  "description": "BIM Engine SDK for Vue2, Vue3, React and HTML",
5
5
  "main": "./dist/bim-engine-sdk.umd.js",
6
6
  "module": "./dist/bim-engine-sdk.es.js",