@realsee/five 6.8.0 → 6.8.2

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.
Files changed (229) hide show
  1. package/ai_guides/features/flowing-light-2d-pass.md +64 -10
  2. package/ai_guides/features/flowing-light-3d-pass.md +64 -10
  3. package/docs/assets/hierarchy.js +1 -1
  4. package/docs/assets/navigation.js +1 -1
  5. package/docs/assets/search.js +1 -1
  6. package/docs/classes/five.AdaptiveLuminancePass.html +1 -1
  7. package/docs/classes/five.BoundingMesh.html +1 -1
  8. package/docs/classes/five.Camera.html +1 -1
  9. package/docs/classes/five.EyeDomeLightingPass.html +1 -1
  10. package/docs/classes/five.Five.html +1 -1
  11. package/docs/classes/five.FivePass.html +1 -1
  12. package/docs/classes/five.InternalWebGLRenderer.html +1 -1
  13. package/docs/classes/five.Model.html +1 -1
  14. package/docs/classes/five.ModelScene.html +1 -1
  15. package/docs/classes/five.NetworkSubscribe.html +1 -1
  16. package/docs/classes/five.PBMContainer.html +1 -1
  17. package/docs/classes/five.PBMCustomShader.html +1 -1
  18. package/docs/classes/five.PBMGSObject.html +1 -1
  19. package/docs/classes/five.PBMGroup.html +1 -1
  20. package/docs/classes/five.PBMMesh.html +1 -1
  21. package/docs/classes/five.PBMMeshMaterial.html +1 -1
  22. package/docs/classes/five.PBMPanoFilter.html +1 -1
  23. package/docs/classes/five.PBMPointCloud.html +1 -1
  24. package/docs/classes/five.PBMPointCloudMaterial.html +1 -1
  25. package/docs/classes/five.PBMSkinnedMesh.html +1 -1
  26. package/docs/classes/five.PBMUpdateable.html +1 -1
  27. package/docs/classes/five.PanoCircleMesh.html +1 -1
  28. package/docs/classes/five.PanoCircleMeshCustom.html +1 -1
  29. package/docs/classes/five.PanoCircleMeshSolid.html +1 -1
  30. package/docs/classes/five.Parameter.html +1 -1
  31. package/docs/classes/five.Scene.html +1 -1
  32. package/docs/classes/five.Subscribe.html +1 -1
  33. package/docs/classes/five.Tile3D.html +1 -1
  34. package/docs/classes/five.TileNode.html +1 -1
  35. package/docs/classes/five.TrajectoryNode.html +1 -1
  36. package/docs/classes/five.WorkResolvedObserver.html +1 -1
  37. package/docs/classes/gltf-loader.DDSLoader.html +1 -1
  38. package/docs/classes/gltf-loader.DRACOLoader.html +1 -1
  39. package/docs/classes/gltf-loader.GLTFLoader.html +1 -1
  40. package/docs/classes/gltf-loader.GLTFObject.html +1 -1
  41. package/docs/classes/gltf-loader.THREEGLTFLoader.html +1 -1
  42. package/docs/classes/line.Line.html +1 -1
  43. package/docs/classes/line.LineGeometry.html +1 -1
  44. package/docs/classes/line.LineMaterial.html +1 -1
  45. package/docs/classes/line.LineSegmentsGeometry.html +1 -1
  46. package/docs/classes/line.THREE_Line2.html +1 -1
  47. package/docs/classes/line.THREE_LineSegments2.html +1 -1
  48. package/docs/classes/plugins.BasePlugin.Controller.html +1 -1
  49. package/docs/classes/plugins.CSS2DObject.html +10 -0
  50. package/docs/classes/plugins.CSS2DRenderer.html +7 -0
  51. package/docs/classes/plugins.CSS3DObject.html +1 -1
  52. package/docs/classes/plugins.CSS3DSprite.html +1 -1
  53. package/docs/classes/plugins.InstancedPrefabBufferGeometry.html +18 -0
  54. package/docs/classes/plugins.Object3DHelperController.html +1 -1
  55. package/docs/classes/plugins.PointBufferGeometry.html +12 -0
  56. package/docs/classes/plugins.PrefabBufferGeometry.html +24 -0
  57. package/docs/classes/plugins.RoundedBoxGeometry.html +1 -1
  58. package/docs/classes/sticker.Sticker.html +1 -1
  59. package/docs/classes/vfx.Airflow.html +1 -1
  60. package/docs/classes/vfx.Flame.html +1 -1
  61. package/docs/classes/vfx.Particle.html +1 -1
  62. package/docs/classes/vfx.ParticleGPU.html +1 -1
  63. package/docs/classes/vfx.SpotLight.html +1 -1
  64. package/docs/documents/features_flowing-light-2d-pass.html +28 -15
  65. package/docs/documents/features_flowing-light-3d-pass.html +27 -14
  66. package/docs/functions/plugins.CSS2DPlugin.html +1 -0
  67. package/docs/functions/react.getPlugin.html +2 -0
  68. package/docs/functions/react.setPlugin.html +2 -0
  69. package/docs/functions/react.useFivePlugin.html +9 -0
  70. package/docs/functions/react.withFive.html +1 -1
  71. package/docs/hierarchy.html +1 -1
  72. package/docs/interfaces/five.AddableObject.html +1 -1
  73. package/docs/interfaces/five.AjaxOptions.html +1 -1
  74. package/docs/interfaces/five.BaseEvent.html +1 -1
  75. package/docs/interfaces/five.BaseExtendableEvent.html +1 -1
  76. package/docs/interfaces/five.EventCallback.html +1 -1
  77. package/docs/interfaces/five.GestureEvent.html +13 -13
  78. package/docs/interfaces/five.GesturePointer.html +9 -9
  79. package/docs/interfaces/five.ImageOptions.html +1 -1
  80. package/docs/interfaces/five.IntersectEvent.html +1 -1
  81. package/docs/interfaces/five.IntersectMesh.html +1 -1
  82. package/docs/interfaces/five.IntersectMeshInterface.html +1 -1
  83. package/docs/interfaces/five.Intersection.html +1 -1
  84. package/docs/interfaces/five.LooseWorkWithExtrinsics.html +1 -1
  85. package/docs/interfaces/five.ModeChangeEvent.html +2 -2
  86. package/docs/interfaces/five.ModelControllerCustomInitArgs.html +1 -1
  87. package/docs/interfaces/five.ModelEvent.html +3 -3
  88. package/docs/interfaces/five.ModelSceneEvent.html +2 -2
  89. package/docs/interfaces/five.ModelTileEvent.html +3 -3
  90. package/docs/interfaces/five.MovePanoOptions.html +1 -1
  91. package/docs/interfaces/five.NetworkAbortError.html +1 -1
  92. package/docs/interfaces/five.NetworkFirbiddenError.html +1 -1
  93. package/docs/interfaces/five.NetworkOptions.html +1 -1
  94. package/docs/interfaces/five.NetworkProxyError.html +1 -1
  95. package/docs/interfaces/five.NetworkResourceEvent.html +2 -2
  96. package/docs/interfaces/five.NetworkResponseError.html +1 -1
  97. package/docs/interfaces/five.NetworkTimeoutError.html +1 -1
  98. package/docs/interfaces/five.ObjectEvent.html +2 -2
  99. package/docs/interfaces/five.PBMMaterial.html +1 -1
  100. package/docs/interfaces/five.PBMMeshMaterialParameters.html +1 -1
  101. package/docs/interfaces/five.PBMPointCloudMaterialParameters.html +1 -1
  102. package/docs/interfaces/five.PanoCircleMeshInterface.html +1 -1
  103. package/docs/interfaces/five.PanoEvent.html +1 -1
  104. package/docs/interfaces/five.PanoPrepareEvent.html +8 -4
  105. package/docs/interfaces/five.PanoTextureEvent.html +5 -5
  106. package/docs/interfaces/five.PanoramaControllerCustomInitArgs.html +9 -9
  107. package/docs/interfaces/five.PanoramaLikeControllerCustomInitArgs.html +1 -1
  108. package/docs/interfaces/five.ParameterMaterialValue.html +1 -1
  109. package/docs/interfaces/five.ParameterTilesetValue.html +1 -1
  110. package/docs/interfaces/five.ParameterValue.html +1 -1
  111. package/docs/interfaces/five.Pose.html +1 -1
  112. package/docs/interfaces/five.RenderEvent.html +2 -2
  113. package/docs/interfaces/five.ResolvedParameterValue.html +1 -1
  114. package/docs/interfaces/five.State.html +1 -1
  115. package/docs/interfaces/five.StateEvent.html +1 -1
  116. package/docs/interfaces/five.TextureOptions.html +1 -1
  117. package/docs/interfaces/five.TopviewControllerCustomInitArgs.html +1 -1
  118. package/docs/interfaces/five.VRPanoramaControllerCustomInitArgs.html +9 -9
  119. package/docs/interfaces/five.ViewLayer.html +1 -1
  120. package/docs/interfaces/five.WorkCubeImage.html +1 -1
  121. package/docs/interfaces/five.WorkImage.html +1 -1
  122. package/docs/interfaces/five.WorkObserver.html +1 -1
  123. package/docs/interfaces/five.WorkObserverProto.html +1 -1
  124. package/docs/interfaces/five.WorkTile.html +1 -1
  125. package/docs/interfaces/five.WorksEvent.html +3 -3
  126. package/docs/interfaces/five.XRControllerEvent.html +4 -4
  127. package/docs/interfaces/five.XRControllerState.html +4 -4
  128. package/docs/interfaces/five.XRGestureEvent.html +7 -7
  129. package/docs/interfaces/five.XRPanoramaControllerCustomInitArgs.html +9 -9
  130. package/docs/interfaces/five.XRSessionEvent.html +3 -3
  131. package/docs/interfaces/plugins.BackgroundPluginController.html +1 -1
  132. package/docs/interfaces/plugins.BackgroundPluginType.EventMap.html +1 -1
  133. package/docs/interfaces/plugins.BasePlugin.State.html +1 -1
  134. package/docs/interfaces/plugins.CSS2DPluginController.html +49 -0
  135. package/docs/interfaces/plugins.CSS2DPluginType.Config.html +2 -0
  136. package/docs/interfaces/plugins.CSS2DPluginType.CreateCSS2DObjectType.html +8 -0
  137. package/docs/interfaces/plugins.CSS2DPluginType.EventMap.html +10 -0
  138. package/docs/interfaces/plugins.CSS2DPluginType.Params.html +4 -0
  139. package/docs/interfaces/plugins.CSS2DPluginType.State.html +8 -0
  140. package/docs/interfaces/plugins.CSS2DRendererParameters.html +2 -0
  141. package/docs/interfaces/plugins.CSS3DPluginController.html +12 -12
  142. package/docs/interfaces/plugins.CSS3DPluginType.EventMap.html +1 -1
  143. package/docs/interfaces/plugins.CSS3DPluginType.State.html +1 -1
  144. package/docs/interfaces/plugins.DynamicPathLinePluginController.html +1 -1
  145. package/docs/interfaces/plugins.DynamicPathLinePluginType.EventMap.html +1 -1
  146. package/docs/interfaces/plugins.DynamicPathLinePluginType.State.html +1 -1
  147. package/docs/interfaces/plugins.GaussianSplattingEntranceAnimationController.html +1 -1
  148. package/docs/interfaces/plugins.GaussianSplattingEntranceAnimationPluginType.EventMap.html +1 -1
  149. package/docs/interfaces/plugins.GaussianSplattingEntranceAnimationPluginType.State.html +1 -1
  150. package/docs/interfaces/plugins.ItemMaskController.html +1 -1
  151. package/docs/interfaces/plugins.ItemMaskPluginType.EventMap.html +1 -1
  152. package/docs/interfaces/plugins.ItemMaskPluginType.State.html +1 -1
  153. package/docs/interfaces/plugins.Object3DHelperPluginType.BaseController.html +1 -1
  154. package/docs/interfaces/plugins.Object3DHelperPluginType.BaseHelper.html +1 -1
  155. package/docs/interfaces/plugins.Object3DHelperPluginType.BoundingBoxController.html +1 -1
  156. package/docs/interfaces/plugins.Object3DHelperPluginType.MoveController.html +1 -1
  157. package/docs/interfaces/plugins.Object3DHelperPluginType.MoveHelperAbstract.html +1 -1
  158. package/docs/interfaces/plugins.Object3DHelperPluginType.RotateController.html +1 -1
  159. package/docs/interfaces/plugins.Object3DHelperPluginType.RotateHelperAbstract.html +1 -1
  160. package/docs/interfaces/plugins.OrientationPluginController.html +1 -1
  161. package/docs/interfaces/plugins.OrientationPluginType.EventMap.html +1 -1
  162. package/docs/interfaces/plugins.OrientationPluginType.State.html +1 -1
  163. package/docs/interfaces/plugins.PanoAnimeController.html +1 -1
  164. package/docs/interfaces/plugins.PanoAnimePluginType.EventMap.html +1 -1
  165. package/docs/interfaces/plugins.PanoAnimePluginType.State.html +1 -1
  166. package/docs/interfaces/plugins.PluginTemplateType.EventMap.html +1 -1
  167. package/docs/interfaces/plugins.PluginTemplateType.State.html +1 -1
  168. package/docs/interfaces/plugins.TrajectoryController.html +1 -1
  169. package/docs/interfaces/react.FiveAppProps.html +11 -0
  170. package/docs/interfaces/react.FiveInjectionTypes.html +1 -1
  171. package/docs/interfaces/react.UseFivePluginOptions.html +5 -0
  172. package/docs/interfaces/react.UseFivePluginOptionsWithCreate.html +5 -0
  173. package/docs/modules/plugins.CSS2DPluginType.html +1 -0
  174. package/docs/modules/plugins.html +1 -1
  175. package/docs/modules/react.html +1 -1
  176. package/docs/types/five.ParseOptions.html +1 -1
  177. package/docs/types/plugins.BasePlugin.EventMap.html +1 -1
  178. package/docs/types/plugins.CSS2DPluginType.PluginData.html +1 -0
  179. package/docs/types/plugins.CSS2DPluginType.ServerData.html +1 -0
  180. package/docs/variables/react.FiveApp.html +3 -0
  181. package/docs/variables/react.FiveAutoCanvas.html +3 -0
  182. package/five/controllers/panorama.d.ts +2 -2
  183. package/five/controllers/xrPanorama.d.ts +4 -2
  184. package/five/index.js +23 -23
  185. package/five/index.mjs +563 -549
  186. package/five/renderer/postprocessing/passes/flowing-light-2d-pass.d.ts +6 -1
  187. package/five/renderer/postprocessing/passes/flowing-light-3d-pass.d.ts +3 -1
  188. package/five/utils/event.d.ts +5 -1
  189. package/gltf-loader/index.js +3 -3
  190. package/gltf-loader/index.mjs +3 -3
  191. package/line/index.js +3 -3
  192. package/line/index.mjs +3 -3
  193. package/package.json +1 -1
  194. package/plugins/CSS2DPlugin/Controller.d.ts +59 -0
  195. package/plugins/CSS2DPlugin/index.d.ts +5 -0
  196. package/plugins/CSS2DPlugin/typing.d.ts +30 -0
  197. package/plugins/index.d.ts +5 -0
  198. package/plugins/index.js +24 -4
  199. package/plugins/index.mjs +871 -588
  200. package/plugins/thirdParty/CSS2DRenderer.d.ts +37 -0
  201. package/plugins/thirdParty/instancedPrefabBufferGeometry.d.ts +32 -0
  202. package/plugins/thirdParty/pointBufferGeometry.d.ts +22 -0
  203. package/plugins/thirdParty/prefabBufferGeometry.d.ts +38 -0
  204. package/react/autoCanvas.d.ts +9 -0
  205. package/react/fiveApp.d.ts +22 -0
  206. package/react/hooks/useFivePlugin.d.ts +22 -0
  207. package/react/index.d.ts +4 -0
  208. package/react/index.js +3 -3
  209. package/react/index.mjs +292 -175
  210. package/react/withFive.d.ts +1 -1
  211. package/shader-lib/index.js +2 -2
  212. package/shader-lib/index.mjs +2 -2
  213. package/sticker/index.js +3 -3
  214. package/sticker/index.mjs +3 -3
  215. package/umd/five-gltf-loader.js +3 -3
  216. package/umd/five-line.js +3 -3
  217. package/umd/five-plugins.js +24 -4
  218. package/umd/five-react.js +3 -3
  219. package/umd/five-shader-lib.js +2 -2
  220. package/umd/five-sticker.js +3 -3
  221. package/umd/five-vfx.js +2 -2
  222. package/umd/five-vue.js +2 -2
  223. package/umd/five.js +8 -8
  224. package/vfx/index.js +2 -2
  225. package/vfx/index.mjs +2 -2
  226. package/vue/index.js +2 -2
  227. package/vue/index.mjs +2 -2
  228. package/work-downloader/index.js +2 -2
  229. package/work-downloader/index.mjs +2 -2
package/react/index.mjs CHANGED
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * @license
3
3
  * @realsee/five
4
- * Generated: 4/17/2026
5
- * Version: 6.8.0
4
+ * Generated: 5/8/2026
5
+ * Version: 6.8.2
6
6
  * Terms:
7
7
  * Realsee SDK License Agreement
8
8
  * Update: July 28, 2021
@@ -253,85 +253,86 @@
253
253
  * writing and signed by Realsee. You and Realsee hereto confirm that this
254
254
  * Agreement and all related documents shall be drafted in English.
255
255
  */import * as e from "react";
256
- import * as t from "three";
257
- import { Five as n, getViewportScale as r } from "@realsee/five";
256
+ import { useCallback as t, useEffect as n, useRef as r, useState as i } from "react";
257
+ import * as a from "three";
258
+ import { Five as o, getViewportScale as s } from "@realsee/five";
258
259
  //#region build/react/rendererPool.js
259
- var i = [], a = [];
260
- function o({ preserveDrawingBuffer: e = !0, webgl2: n = !1 } = {}) {
260
+ var c = [], l = [];
261
+ function u({ preserveDrawingBuffer: e = !0, webgl2: t = !1 } = {}) {
261
262
  if (typeof window > "u") return;
262
- let r = null;
263
- if (r = n ? i.shift() : a.shift(), !r) {
264
- if (n) {
265
- let n = document.createElement("canvas"), i = n.getContext("webgl2");
266
- i ? r = new t.WebGLRenderer({
263
+ let n = null;
264
+ if (n = t ? c.shift() : l.shift(), !n) {
265
+ if (t) {
266
+ let t = document.createElement("canvas"), r = t.getContext("webgl2");
267
+ r ? n = new a.WebGLRenderer({
267
268
  preserveDrawingBuffer: e,
268
269
  antialias: !0,
269
270
  alpha: !0,
270
271
  stencil: !0,
271
- canvas: n,
272
- context: i
273
- }) : (console.error("error occurred when getting webgl2 canvas context, mybe webgl2 not support, fallback to webgl."), r = new t.WebGLRenderer({
272
+ canvas: t,
273
+ context: r
274
+ }) : (console.error("error occurred when getting webgl2 canvas context, mybe webgl2 not support, fallback to webgl."), n = new a.WebGLRenderer({
274
275
  preserveDrawingBuffer: e,
275
276
  antialias: !1,
276
277
  alpha: !0,
277
278
  stencil: !0
278
279
  }));
279
- } else r = new t.WebGLRenderer({
280
+ } else n = new a.WebGLRenderer({
280
281
  preserveDrawingBuffer: e,
281
282
  antialias: !1,
282
283
  alpha: !0,
283
284
  stencil: !0
284
285
  });
285
- r.outputEncoding = t.sRGBEncoding;
286
+ n.outputEncoding = a.sRGBEncoding;
286
287
  }
287
- return r.autoClear = !0, r;
288
+ return n.autoClear = !0, n;
288
289
  }
289
- function s(e) {
290
- e && (e.capabilities.isWebGL2 ? a.indexOf(e) === -1 && a.push(e) : i.indexOf(e) === -1 && i.push(e));
290
+ function d(e) {
291
+ e && (e.capabilities.isWebGL2 ? l.indexOf(e) === -1 && l.push(e) : c.indexOf(e) === -1 && c.push(e));
291
292
  }
292
293
  //#endregion
293
294
  //#region build/react/context.js
294
- var c = e.createContext(null);
295
- function l() {
296
- let t = e.useContext(c);
295
+ var f = e.createContext(null);
296
+ function p() {
297
+ let t = e.useContext(f);
297
298
  if (!t) throw Error("FiveProvider never found.");
298
299
  return t.five;
299
300
  }
300
- function u() {
301
- let t = e.useContext(c);
301
+ function m() {
302
+ let t = e.useContext(f);
302
303
  if (!t) throw Error("FiveProvider never found.");
303
304
  return t.loadWork;
304
305
  }
305
306
  //#endregion
306
307
  //#region build/react/createProvider.js
307
- function d(e, t) {
308
+ function h(e, t) {
308
309
  let n = Array.isArray(e) ? e : [e], r = Array.isArray(t) ? t : [t];
309
310
  if (n.length !== r.length) return !1;
310
311
  for (let e = 0; e < n.length; e++) if (n[e].workCode !== r[e].workCode) return !1;
311
312
  return !0;
312
313
  }
313
- function f(t = {}) {
314
+ function g(t = {}) {
314
315
  return class extends e.Component {
315
316
  constructor(e) {
316
- super(e), this.__fiveEventDisposers = [], this.__fiveDisposeTimer = null, this.five = new n(Object.assign(Object.assign({}, t), { renderer: void 0 })), this.loadWork = this.loadWork.bind(this), this.state = {};
317
+ super(e), this.__fiveEventDisposers = [], this.__fiveDisposeTimer = null, this.five = new o(Object.assign(Object.assign({}, t), { renderer: void 0 })), this.loadWork = this.loadWork.bind(this), this.state = {};
317
318
  }
318
319
  loadWork(e, t, n, r = !0) {
319
320
  if (this.props.work) throw Error("props 'works' is set in fiveProvider, if you need modify work internal, use 'initialWork' instead.");
320
321
  return this.five.load(e, t, n, r);
321
322
  }
322
323
  shouldComponentUpdate(e) {
323
- return this.five.renderer && this.five && e.work && !d(e.work, this.five.works) && this.five.load(e.work, e.initialState, e.initialOptions), !0;
324
+ return this.five.renderer && this.five && e.work && !h(e.work, this.five.works) && this.five.load(e.work, e.initialState, e.initialOptions), !0;
324
325
  }
325
326
  componentDidMount() {
326
327
  var e;
327
328
  clearTimeout(this.__fiveDisposeTimer), this.__fiveDisposeTimer = null;
328
329
  let n;
329
330
  if (typeof window < "u") {
330
- n = o({
331
+ n = u({
331
332
  webgl2: t == null ? void 0 : t.webgl2,
332
333
  preserveDrawingBuffer: t == null ? void 0 : t.preserveDrawingBuffer
333
334
  });
334
- let e = r() === 1 ? window.devicePixelRatio : 1;
335
+ let e = s() === 1 ? window.devicePixelRatio : 1;
335
336
  n == null || n.setPixelRatio(e);
336
337
  }
337
338
  this.five.renderer = n, this.setState({ renderer: n }), this.__fiveEventDisposers.push(this.five.on("load", () => {
@@ -343,20 +344,20 @@ function f(t = {}) {
343
344
  })), this.__fiveEventDisposers.push(this.five.on("error", (e) => {
344
345
  this.props.onError ? this.props.onError(e) : console.warn(e.message);
345
346
  }));
346
- let i = this.props.work || this.props.initialWork;
347
- i && this.five.load(i, this.props.initialState, this.props.initialOptions, (e = this.props.initialUserAction) == null ? !0 : e);
347
+ let r = this.props.work || this.props.initialWork;
348
+ r && this.five.load(r, this.props.initialState, this.props.initialOptions, (e = this.props.initialUserAction) == null ? !0 : e);
348
349
  }
349
350
  componentWillUnmount() {
350
351
  var e;
351
352
  (e = this.five.controller) == null || e.destroy();
352
353
  let t = this.five.renderer;
353
- this.five.renderer = void 0, s(t), this.setState({ renderer: void 0 }), this.__fiveDisposeTimer = setTimeout(() => {
354
+ this.five.renderer = void 0, d(t), this.setState({ renderer: void 0 }), this.__fiveDisposeTimer = setTimeout(() => {
354
355
  this.__fiveDisposeTimer = null, this.five.dispose();
355
356
  }, 1e3);
356
357
  }
357
358
  render() {
358
359
  let t = this.five, n = this.loadWork, r = this.state.renderer;
359
- return e.createElement(c.Provider, { value: {
360
+ return e.createElement(f.Provider, { value: {
360
361
  renderer: r,
361
362
  five: t,
362
363
  loadWork: n
@@ -366,15 +367,15 @@ function f(t = {}) {
366
367
  }
367
368
  //#endregion
368
369
  //#region build/react/canvas.js
369
- var p = typeof window < "u" ? e.useLayoutEffect : e.useEffect, m = {
370
+ var _ = typeof window < "u" ? e.useLayoutEffect : e.useEffect, v = {
370
371
  display: "inline-block",
371
372
  overflow: "hidden"
372
- }, h = ({ width: t, height: n }) => {
373
- let r = l(), i = e.createRef(), a = Object.assign({
373
+ }, y = ({ width: t, height: n }) => {
374
+ let r = p(), i = e.createRef(), a = Object.assign({
374
375
  width: t,
375
376
  height: n
376
- }, m);
377
- return p(() => {
377
+ }, v);
378
+ return _(() => {
378
379
  let e = i.current;
379
380
  if (!e || !r.renderer) return;
380
381
  let a = r.renderer.domElement;
@@ -395,41 +396,103 @@ var p = typeof window < "u" ? e.useLayoutEffect : e.useEffect, m = {
395
396
  ref: i,
396
397
  style: a
397
398
  });
399
+ }, b = ({ children: t }) => {
400
+ let n = p(), r = e.useRef(null);
401
+ return e.useEffect(() => {
402
+ let e = r.current;
403
+ if (!e || !n.renderer) return;
404
+ let t = n.renderer.domElement;
405
+ e.appendChild(t);
406
+ let i = () => {
407
+ var t;
408
+ let { width: r, height: i } = e.getBoundingClientRect();
409
+ r === 0 || i === 0 || (n.camera.aspect = r / i, n.camera.updateProjectionMatrix(), (t = n.renderer) == null || t.setSize(r, i), n.refresh({
410
+ width: r,
411
+ height: i
412
+ }), n.needsRender = !0);
413
+ }, a = new ResizeObserver(i);
414
+ return a.observe(e), i(), () => {
415
+ t.parentNode === e && e.removeChild(t), a.unobserve(e), a.disconnect();
416
+ };
417
+ }, []), e.createElement("div", {
418
+ ref: r,
419
+ style: {
420
+ position: "absolute",
421
+ top: 0,
422
+ left: 0,
423
+ right: 0,
424
+ bottom: 0
425
+ }
426
+ }, t);
427
+ }, x = ({ renderChildren: t, load: n, children: r, fallback: i }) => {
428
+ let a = e.useContext(f), o = a == null ? void 0 : a.five, [s, c] = e.useState(!!t), [l, u] = e.useState(!1);
429
+ return e.useEffect(() => {
430
+ o && o.getElement() && (c(!0), n && n(o).then((e) => {
431
+ o.load(...e);
432
+ }));
433
+ }, [o]), e.useEffect(() => {
434
+ if (!o) return;
435
+ let e = () => u(!0);
436
+ return o.on("works.load", e), o.works && o.works.length > 0 && u(!0), () => {
437
+ o.off("works.load", e);
438
+ };
439
+ }, [o]), !o || !l && !t || !s ? i == null ? null : e.createElement(e.Fragment, null, i) : e.createElement(e.Fragment, null, r);
440
+ }, S = {
441
+ position: "relative",
442
+ width: "100vw",
443
+ height: "100vh",
444
+ overflow: "hidden"
445
+ }, C = {
446
+ backgroundAlpha: 1,
447
+ backgroundColor: 0,
448
+ imageOptions: { size: 512 },
449
+ textureOptions: { autoResize: !1 },
450
+ preserveDrawingBuffer: !0,
451
+ webgl2: !0
452
+ }, w = ({ fiveInitArgs: t = C, renderChildren: n, plugins: r, load: i, children: a, fullscreen: o, autoCanvas: s = !0, fallback: c }) => {
453
+ let [l] = e.useState(() => g(Object.assign(Object.assign({}, t), { plugins: r }))), u = [];
454
+ s && u.push(e.createElement(b, { key: "auto-canvas" })), a && u.push(a);
455
+ let d = e.createElement(l, null, e.createElement(x, {
456
+ load: i,
457
+ renderChildren: n,
458
+ fallback: c
459
+ }, ...u));
460
+ return o ? e.createElement("div", { style: S }, d) : d;
398
461
  };
399
462
  //#endregion
400
463
  //#region build/react/hooks/unsafe__useFiveInstance.js
401
- function g() {
402
- return l();
464
+ function T() {
465
+ return p();
403
466
  }
404
467
  //#endregion
405
468
  //#region build/react/hooks/useFiveSceneEffect.js
406
- function _(t, n) {
407
- let r = l(), i = [r];
469
+ function E(t, n) {
470
+ let r = p(), i = [r];
408
471
  n !== void 0 && (i = i.concat(n)), e.useLayoutEffect(() => t(r.scene), i);
409
472
  }
410
- var v = _;
473
+ var D = E;
411
474
  //#endregion
412
475
  //#region build/react/hooks/useFiveWork.js
413
- function y() {
414
- let t = l(), n = u(), [r, i] = e.useState(() => t.works);
476
+ function O() {
477
+ let t = p(), n = m(), [r, i] = e.useState(() => t.works);
415
478
  return e.useLayoutEffect(() => t.on("load", () => i(t.works)), [t]), [r, n];
416
479
  }
417
480
  //#endregion
418
481
  //#region build/react/hooks/useFiveState.js
419
- function b(e) {
482
+ function k(e) {
420
483
  return Object.assign({}, e.state);
421
484
  }
422
- function x() {
423
- let t = l(), [n, r] = e.useState(() => b(t)), i = e.useCallback((e, n = !1, r = !0) => {
485
+ function A() {
486
+ let t = p(), [n, r] = e.useState(() => k(t)), i = e.useCallback((e, n = !1, r = !0) => {
424
487
  let i = typeof e == "function" ? e(t.getCurrentState()) : e;
425
488
  t.setState(i, n, r);
426
489
  }, [t]);
427
- return e.useLayoutEffect(() => t.on("stateChange", () => r(b(t))), [t]), [n, i];
490
+ return e.useLayoutEffect(() => t.on("stateChange", () => r(k(t))), [t]), [n, i];
428
491
  }
429
492
  //#endregion
430
493
  //#region build/react/hooks/useFiveCurrentState.js
431
- function S() {
432
- let t = l(), [n, r] = e.useState(() => t.getCurrentState()), i = e.useCallback((e, n = !1, r = !0) => {
494
+ function j() {
495
+ let t = p(), [n, r] = e.useState(() => t.getCurrentState()), i = e.useCallback((e, n = !1, r = !0) => {
433
496
  let i = typeof e == "function" ? e(t.getCurrentState()) : e;
434
497
  t.setState(i, n, r);
435
498
  }, [t]);
@@ -437,20 +500,20 @@ function S() {
437
500
  }
438
501
  //#endregion
439
502
  //#region build/react/hooks/useFiveCurrentObserver.js
440
- function C() {
441
- let t = l(), [n, r] = e.useState(() => t.getCurrentState());
503
+ function M() {
504
+ let t = p(), [n, r] = e.useState(() => t.getCurrentState());
442
505
  return e.useLayoutEffect(() => t.on("currentStateChange", () => r(t.getCurrentState())), [t]), t.works.getObserver(n);
443
506
  }
444
507
  //#endregion
445
508
  //#region build/react/hooks/useFiveEventCallback.js
446
- function w(t, n, r) {
447
- let i = l(), a = [i, t];
509
+ function ee(t, n, r) {
510
+ let i = p(), a = [i, t];
448
511
  r !== void 0 && (a = a.concat(r)), e.useLayoutEffect(() => i.on(t, n), a);
449
512
  }
450
513
  //#endregion
451
514
  //#region build/react/hooks/useFiveAction.js
452
- function T() {
453
- let t = l();
515
+ function te() {
516
+ let t = p();
454
517
  return {
455
518
  updateCamera: e.useCallback((e, n) => t.updateCamera(e, n), [t]),
456
519
  getPixels: e.useCallback(t.getPixels.bind(t), [t]),
@@ -461,48 +524,102 @@ function T() {
461
524
  }
462
525
  //#endregion
463
526
  //#region build/react/hooks/useFiveProject2d.js
464
- function E() {
465
- let t = l(), [n, r] = e.useState(() => Symbol());
527
+ function ne() {
528
+ let t = p(), [n, r] = e.useState(() => Symbol());
466
529
  return e.useLayoutEffect(() => t.on("cameraUpdate", () => r(Symbol())), [t]), e.useCallback((e, n) => t.project2d(e, n), [t]);
467
530
  }
468
531
  //#endregion
469
532
  //#region build/react/hooks/useFiveCameraRaycaster.js
470
- function D(e) {
471
- let n = e.camera.getWorldDirection(new t.Vector3());
472
- return new t.Raycaster(e.camera.position, n);
533
+ function N(e) {
534
+ let t = e.camera.getWorldDirection(new a.Vector3());
535
+ return new a.Raycaster(e.camera.position, t);
473
536
  }
474
- function O() {
475
- let t = l(), [n, r] = e.useState(() => D(t));
476
- return e.useLayoutEffect(() => t.on("cameraUpdate", () => r(D(t))), [t]), n;
537
+ function re() {
538
+ let t = p(), [n, r] = e.useState(() => N(t));
539
+ return e.useLayoutEffect(() => t.on("cameraUpdate", () => r(N(t))), [t]), n;
477
540
  }
478
541
  //#endregion
479
542
  //#region build/react/hooks/useFiveCameraDirection.js
480
- function k(e) {
481
- return e.camera.getWorldDirection(new t.Vector3());
543
+ function P(e) {
544
+ return e.camera.getWorldDirection(new a.Vector3());
482
545
  }
483
- function A() {
484
- let t = l(), [n, r] = e.useState(() => k(t));
485
- return e.useLayoutEffect(() => t.on("cameraUpdate", () => r(k(t))), [t]), n;
546
+ function F() {
547
+ let t = p(), [n, r] = e.useState(() => P(t));
548
+ return e.useLayoutEffect(() => t.on("cameraUpdate", () => r(P(t))), [t]), n;
486
549
  }
487
550
  //#endregion
488
551
  //#region build/react/hooks/useFiveModelIntersectRaycaster.js
489
- function j() {
490
- let t = l();
552
+ function I() {
553
+ let t = p();
491
554
  return e.useCallback((e) => t.model.intersectRaycaster(e), [t]);
492
555
  }
493
556
  //#endregion
494
557
  //#region build/react/hooks/useFiveModelReadyState.js
495
- function M(e) {
558
+ function L(e) {
496
559
  return e.model.empty ? "Empty" : "Loaded";
497
560
  }
498
- function ee() {
499
- let t = l(), [n, r] = e.useState(() => M(t));
500
- return e.useLayoutEffect(() => t.on("modelLoaded", () => r(M(t))), [t]), n;
561
+ function ie() {
562
+ let t = p(), [n, r] = e.useState(() => L(t));
563
+ return e.useLayoutEffect(() => t.on("modelLoaded", () => r(L(t))), [t]), n;
564
+ }
565
+ //#endregion
566
+ //#region build/react/hooks/useFivePlugin.js
567
+ var R = /* @__PURE__ */ new Map(), z = /* @__PURE__ */ new Map();
568
+ function B(e) {
569
+ let t = z.get(e);
570
+ t && t.forEach((e) => e());
571
+ }
572
+ function V(e, t) {
573
+ return z.has(e) || z.set(e, /* @__PURE__ */ new Set()), z.get(e).add(t), () => {
574
+ let n = z.get(e);
575
+ n && (n.delete(t), n.size === 0 && z.delete(e));
576
+ };
577
+ }
578
+ function H(e, t) {
579
+ return `${e}:${t}`;
580
+ }
581
+ function U(e, t) {
582
+ var n;
583
+ return (n = R.get(H(e, t))) == null ? void 0 : n.plugin;
584
+ }
585
+ function W(e, t, n) {
586
+ R.set(H(e, t), { plugin: n }), B(e);
587
+ }
588
+ function G(e, a) {
589
+ var o, s;
590
+ let c = p(), l = (s = (o = c.work) == null ? void 0 : o.workCode) == null ? "" : s, u = H(l, e), d = r(c), [, f] = i(0);
591
+ return n(() => {
592
+ if (l) return V(l, () => f((e) => e + 1));
593
+ }, [l]), n(() => {
594
+ if (d.current === c) return;
595
+ d.current = c;
596
+ let t = R.get(u);
597
+ if (!t) return;
598
+ let n = t.plugin;
599
+ if (a != null && a.reCreateOnFiveChange && a.createPlugin) {
600
+ typeof n.dispose == "function" && n.dispose();
601
+ let t = a.createPlugin(c);
602
+ R.set(u, { plugin: t }), c.plugins[e] = t, B(l);
603
+ } else n && (typeof n.updateFive == "function" ? n.updateFive(c) : "five" in n && (n.five = c));
604
+ }, [c]), t(() => {
605
+ let t = R.get(u);
606
+ if (t) return c.plugins[e] = t.plugin, t.plugin;
607
+ let n = c.plugins[e];
608
+ if (n) return R.set(u, { plugin: n }), n;
609
+ if (a != null && a.createPlugin) {
610
+ let t = a.createPlugin(c);
611
+ return R.set(u, { plugin: t }), c.plugins[e] = t, B(l), t;
612
+ }
613
+ }, [
614
+ u,
615
+ c,
616
+ a == null ? void 0 : a.createPlugin
617
+ ])();
501
618
  }
502
619
  //#endregion
503
620
  //#region build/react/hooks/useFiveFloor.js
504
- function N() {
505
- let t = l(), [n, r] = e.useState(t.model.shownFloor), [i, a] = e.useState(t.model.floorLength), o = e.useCallback((e) => {
621
+ function K() {
622
+ let t = p(), [n, r] = e.useState(t.model.shownFloor), [i, a] = e.useState(t.model.floorLength), o = e.useCallback((e) => {
506
623
  typeof e == "number" ? t.model.show(e) : t.model.show();
507
624
  }, [t]);
508
625
  return e.useLayoutEffect(() => {
@@ -519,39 +636,39 @@ function N() {
519
636
  }
520
637
  //#endregion
521
638
  //#region build/react/hooks/useFiveHelper.js
522
- function te() {
523
- let t = l(), [n, r] = e.useState(t.helperVisible), i = e.useCallback((e) => {
639
+ function q() {
640
+ let t = p(), [n, r] = e.useState(t.helperVisible), i = e.useCallback((e) => {
524
641
  t.helperVisible = e;
525
642
  }, [t]);
526
643
  return e.useLayoutEffect(() => t.on("helpersVisibleChange", (e) => r(e)), [t]), [n, i];
527
644
  }
528
645
  //#endregion
529
646
  //#region build/react/withFive.js
530
- var ne = "$five";
531
- function P(e, t) {
647
+ var J = "$five";
648
+ function Y(e, t) {
532
649
  return t.indexOf(e) >= 0;
533
650
  }
534
- function F(e, t) {
651
+ function X(e, t) {
535
652
  for (let n of Object.keys(t)) t[n] !== void 0 && (e[n] = t[n]);
536
653
  }
537
- function I(t, n) {
538
- let r = P("state", n), [i, a] = e.useState(Symbol()), o = e.useMemo(() => {
654
+ function ae(t, n) {
655
+ let r = Y("state", n), [i, a] = e.useState(Symbol()), o = e.useMemo(() => {
539
656
  if (r) return Object.assign({}, t.state);
540
657
  }, [t, i]);
541
658
  return e.useLayoutEffect(() => {
542
659
  if (r) return t.on("stateChange", () => a(Symbol()));
543
660
  }, [t]), [o, i];
544
661
  }
545
- function L(t, n) {
546
- let r = P("currentState", n), [i, a] = e.useState(Symbol()), o = e.useMemo(() => {
662
+ function oe(t, n) {
663
+ let r = Y("currentState", n), [i, a] = e.useState(Symbol()), o = e.useMemo(() => {
547
664
  if (r) return t.getCurrentState();
548
665
  }, [t, i]);
549
666
  return e.useLayoutEffect(() => {
550
667
  if (r) return t.on("currentStateChange", () => a(Symbol()));
551
668
  }, [t]), [o, i];
552
669
  }
553
- function R(t, n) {
554
- let r = P("currentObserver", n), [i, a] = e.useState(Symbol()), o = e.useMemo(() => {
670
+ function se(t, n) {
671
+ let r = Y("currentObserver", n), [i, a] = e.useState(Symbol()), o = e.useMemo(() => {
555
672
  if (r) return t.getCurrentState();
556
673
  }, [t, i]);
557
674
  e.useLayoutEffect(() => {
@@ -560,147 +677,147 @@ function R(t, n) {
560
677
  let s;
561
678
  return o && (s = t.works.getObserver(o)), [s, i];
562
679
  }
563
- function z(e, t) {
564
- return [P("unsafe__fiveInstance", t) ? e : void 0];
680
+ function ce(e, t) {
681
+ return [Y("unsafe__fiveInstance", t) ? e : void 0];
565
682
  }
566
- function B(t, n) {
567
- let r = P("works", n), [i, a] = e.useState(Symbol()), o = e.useMemo(() => {
683
+ function le(t, n) {
684
+ let r = Y("works", n), [i, a] = e.useState(Symbol()), o = e.useMemo(() => {
568
685
  if (r) return t.works;
569
686
  }, [t, i]);
570
687
  return e.useLayoutEffect(() => {
571
688
  if (r) return t.on("load", () => a(Symbol()));
572
689
  }, [t]), [o, i];
573
690
  }
574
- function V(t, n) {
575
- let r = P("model", n), [i, a] = e.useState(Symbol()), o = e.useMemo(() => {
691
+ function ue(t, n) {
692
+ let r = Y("model", n), [i, a] = e.useState(Symbol()), o = e.useMemo(() => {
576
693
  if (r) return t.model;
577
694
  }, [t, i]);
578
695
  return e.useLayoutEffect(() => {
579
696
  if (r) return t.on("modelLoaded", () => a(Symbol()));
580
697
  }, [t]), [o, i];
581
698
  }
582
- function H(e, t) {
583
- return [P("scene", t) ? e.scene : void 0];
699
+ function de(e, t) {
700
+ return [Y("scene", t) ? e.scene : void 0];
584
701
  }
585
- function U(n, r) {
586
- let i = P("cameraDirection", r), [a, o] = e.useState(Symbol()), s = e.useMemo(() => {
587
- if (i) return n.camera.getWorldDirection(new t.Vector3());
588
- }, [n, a]);
702
+ function fe(t, n) {
703
+ let r = Y("cameraDirection", n), [i, o] = e.useState(Symbol()), s = e.useMemo(() => {
704
+ if (r) return t.camera.getWorldDirection(new a.Vector3());
705
+ }, [t, i]);
589
706
  return e.useLayoutEffect(() => {
590
- if (i) return n.on("cameraUpdate", () => o(Symbol()));
591
- }, [n]), [s, a];
592
- }
593
- function W(n, r) {
594
- let i = P("cameraRaycaster", r), [a, o] = e.useState(Symbol()), s = e.useMemo(() => {
595
- if (i) {
596
- let e = n.camera.getWorldDirection(new t.Vector3());
597
- return new t.Raycaster(n.camera.position, e);
707
+ if (r) return t.on("cameraUpdate", () => o(Symbol()));
708
+ }, [t]), [s, i];
709
+ }
710
+ function pe(t, n) {
711
+ let r = Y("cameraRaycaster", n), [i, o] = e.useState(Symbol()), s = e.useMemo(() => {
712
+ if (r) {
713
+ let e = t.camera.getWorldDirection(new a.Vector3());
714
+ return new a.Raycaster(t.camera.position, e);
598
715
  }
599
- }, [n, a]);
716
+ }, [t, i]);
600
717
  return e.useLayoutEffect(() => {
601
- if (i) return n.on("cameraUpdate", () => o(Symbol()));
602
- }, [n]), [s, a];
718
+ if (r) return t.on("cameraUpdate", () => o(Symbol()));
719
+ }, [t]), [s, i];
603
720
  }
604
- function G(t, n) {
605
- let r = P("modelReadyState", n), [i, a] = e.useState(Symbol()), o = e.useMemo(() => {
721
+ function me(t, n) {
722
+ let r = Y("modelReadyState", n), [i, a] = e.useState(Symbol()), o = e.useMemo(() => {
606
723
  if (r) return t.model.empty ? "Empty" : "Loaded";
607
724
  }, [t, i]);
608
725
  return e.useLayoutEffect(() => {
609
726
  if (r) return t.on("modelLoaded", () => a(Symbol()));
610
727
  }, [t]), [o, i];
611
728
  }
612
- function K(t, n) {
613
- let r = P("shownFloor", n), [i, a] = e.useState(Symbol()), o = e.useMemo(() => {
729
+ function he(t, n) {
730
+ let r = Y("shownFloor", n), [i, a] = e.useState(Symbol()), o = e.useMemo(() => {
614
731
  if (r) return t.model.shownFloor;
615
732
  }, [t, i]);
616
733
  return e.useLayoutEffect(() => {
617
734
  if (r) return t.on("modelShownFloorChange", () => a(Symbol()));
618
735
  }, [t]), [o, i];
619
736
  }
620
- function q(t, n) {
621
- let r = P("helperVisible", n), [i, a] = e.useState(Symbol()), o = e.useMemo(() => {
737
+ function ge(t, n) {
738
+ let r = Y("helperVisible", n), [i, a] = e.useState(Symbol()), o = e.useMemo(() => {
622
739
  if (r) return t.helperVisible;
623
740
  }, [t, i]);
624
741
  return e.useLayoutEffect(() => {
625
742
  if (r) return t.on("helpersVisibleChange", () => a(Symbol()));
626
743
  }, [t]), [o, i];
627
744
  }
628
- function J(e, t) {
629
- if (P("loadWork", t)) return e;
745
+ function _e(e, t) {
746
+ if (Y("loadWork", t)) return e;
630
747
  }
631
- function Y(e, t) {
632
- if (P("setState", t)) return (...t) => e.setState(...t);
748
+ function ve(e, t) {
749
+ if (Y("setState", t)) return (...t) => e.setState(...t);
633
750
  }
634
- function X(e, t) {
635
- if (P("on", t)) return (...t) => e.on(...t);
751
+ function ye(e, t) {
752
+ if (Y("on", t)) return (...t) => e.on(...t);
636
753
  }
637
- function re(e, t) {
638
- if (P("on", t)) return (...t) => e.once(...t);
754
+ function be(e, t) {
755
+ if (Y("on", t)) return (...t) => e.once(...t);
639
756
  }
640
- function ie(e, t) {
641
- if (P("off", t)) return (...t) => e.off(...t);
757
+ function xe(e, t) {
758
+ if (Y("off", t)) return (...t) => e.off(...t);
642
759
  }
643
- function ae(e, t) {
644
- if (P("intersectRaycaster", t)) return (...t) => e.model.intersectRaycaster(...t);
760
+ function Se(e, t) {
761
+ if (Y("intersectRaycaster", t)) return (...t) => e.model.intersectRaycaster(...t);
645
762
  }
646
- function oe(e, t) {
647
- if (P("project2d", t)) return (...t) => e.project2d(...t);
763
+ function Ce(e, t) {
764
+ if (Y("project2d", t)) return (...t) => e.project2d(...t);
648
765
  }
649
- function se(e, t) {
650
- if (P("updateCamera", t)) return (...t) => e.updateCamera(...t);
766
+ function we(e, t) {
767
+ if (Y("updateCamera", t)) return (...t) => e.updateCamera(...t);
651
768
  }
652
- function ce(e, t) {
653
- if (P("getPixels", t)) return e.getPixels.bind(e);
769
+ function Te(e, t) {
770
+ if (Y("getPixels", t)) return e.getPixels.bind(e);
654
771
  }
655
- function le(e, t) {
656
- if (P("render", t)) return (...t) => e.render(...t);
772
+ function Ee(e, t) {
773
+ if (Y("render", t)) return (...t) => e.render(...t);
657
774
  }
658
- function Z(e, t) {
659
- if (P("needsRender", t)) return () => {
775
+ function De(e, t) {
776
+ if (Y("needsRender", t)) return () => {
660
777
  e.needsRender = !0;
661
778
  };
662
779
  }
663
- function ue(e, t) {
664
- if (P("preloadPano", t)) return (...t) => e.preloadPano(...t);
780
+ function Oe(e, t) {
781
+ if (Y("preloadPano", t)) return (...t) => e.preloadPano(...t);
665
782
  }
666
- function de(e, t) {
667
- if (P("showFloor", t)) return (t) => {
783
+ function ke(e, t) {
784
+ if (Y("showFloor", t)) return (t) => {
668
785
  typeof t == "number" ? e.model.show(t) : e.model.show();
669
786
  };
670
787
  }
671
- function fe(e, t) {
672
- if (P("toggleHelperVisible", t)) return (t) => {
788
+ function Z(e, t) {
789
+ if (Y("toggleHelperVisible", t)) return (t) => {
673
790
  e.helperVisible = t;
674
791
  };
675
792
  }
676
- function pe(t) {
793
+ function Ae(t) {
677
794
  return function(n) {
678
795
  return e.forwardRef((r, i) => {
679
- let a = l(), o = u(), [s] = z(a, t), [c, d] = I(a, t), [f, p] = L(a, t), [m, h] = R(a, t), [g, _] = B(a, t), [v, y] = V(a, t), [b] = H(a, t), [x, S] = U(a, t), [C, w] = W(a, t), [T, E] = G(a, t), [D, O] = K(a, t), [k, A] = q(a, t), j = e.useMemo(() => {
796
+ let a = p(), o = m(), [s] = ce(a, t), [c, l] = ae(a, t), [u, d] = oe(a, t), [f, h] = se(a, t), [g, _] = le(a, t), [v, y] = ue(a, t), [b] = de(a, t), [x, S] = fe(a, t), [C, w] = pe(a, t), [T, E] = me(a, t), [D, O] = he(a, t), [k, A] = ge(a, t), j = e.useMemo(() => {
680
797
  let e = {};
681
- return F(e, {
682
- setState: Y(a, t),
683
- loadWork: J(o, t),
684
- on: X(a, t),
685
- once: re(a, t),
686
- off: ie(a, t),
687
- intersectRaycaster: ae(a, t),
688
- project2d: oe(a, t),
689
- updateCamera: se(a, t),
690
- getPixels: ce(a, t),
691
- render: le(a, t),
692
- needsRender: Z(a, t),
693
- preloadPano: ue(a, t),
694
- showFloor: de(a, t),
695
- toggleHelperVisible: fe(a, t)
798
+ return X(e, {
799
+ setState: ve(a, t),
800
+ loadWork: _e(o, t),
801
+ on: ye(a, t),
802
+ once: be(a, t),
803
+ off: xe(a, t),
804
+ intersectRaycaster: Se(a, t),
805
+ project2d: Ce(a, t),
806
+ updateCamera: we(a, t),
807
+ getPixels: Te(a, t),
808
+ render: Ee(a, t),
809
+ needsRender: De(a, t),
810
+ preloadPano: Oe(a, t),
811
+ showFloor: ke(a, t),
812
+ toggleHelperVisible: Z(a, t)
696
813
  }), e;
697
814
  }, [a, o]), M = e.useMemo(() => {
698
815
  let e = Object.assign({}, j);
699
- return F(e, {
816
+ return X(e, {
700
817
  unsafe__fiveInstance: s,
701
818
  state: c,
702
- currentState: f,
703
- currentObserver: m,
819
+ currentState: u,
820
+ currentObserver: f,
704
821
  work: g,
705
822
  model: v,
706
823
  scene: b,
@@ -713,8 +830,8 @@ function pe(t) {
713
830
  }, [
714
831
  a,
715
832
  j,
833
+ l,
716
834
  d,
717
- p,
718
835
  h,
719
836
  _,
720
837
  y,
@@ -731,7 +848,7 @@ function pe(t) {
731
848
  });
732
849
  };
733
850
  }
734
- function me(...e) {
851
+ function je(...e) {
735
852
  return e;
736
853
  }
737
854
  //#endregion
@@ -744,10 +861,10 @@ function Q(e, t) {
744
861
  }
745
862
  return n;
746
863
  }
747
- function he(e, t) {
864
+ function Me(e, t) {
748
865
  return typeof e == "number" && typeof t == "number" && isNaN(e) && isNaN(t) ? !0 : e === t;
749
866
  }
750
- function ge(e, t) {
867
+ function Ne(e, t) {
751
868
  for (let n = 0; n < e.length; n++) for (let r = 0; r < t.length; r++) if (e[n] === t[r]) return !0;
752
869
  return !1;
753
870
  }
@@ -767,19 +884,19 @@ var $ = class {
767
884
  }
768
885
  setValues(e, t) {
769
886
  let n = [];
770
- for (let r in t) e.indexOf(r) >= 0 && !he(t[r], this.values[r]) && n.push(r);
887
+ for (let r in t) e.indexOf(r) >= 0 && !Me(t[r], this.values[r]) && n.push(r);
771
888
  if (n.length === 0) return;
772
889
  let r = Object.assign({}, this.values);
773
890
  for (let e of n) this.values[e] = t[e];
774
891
  this.onValuesChange && this.onValuesChange(this.values, r);
775
892
  for (let [e, t] of this.listeners) {
776
- if (!ge(e, n)) continue;
893
+ if (!Ne(e, n)) continue;
777
894
  let i = Q(r, e);
778
895
  t(Q(this.values, e), i);
779
896
  }
780
897
  }
781
898
  };
782
- function _e(t) {
899
+ function Pe(t) {
783
900
  let n = e.createContext(null);
784
901
  return {
785
902
  useStore(t) {
@@ -823,4 +940,4 @@ function _e(t) {
823
940
  };
824
941
  }
825
942
  //#endregion
826
- export { h as FiveCanvas, ne as INJECTION_PROPNAME, $ as Store, me as createFiveFeature, f as createFiveProvider, _e as createStore, g as unsafe__useFiveInstance, T as useFiveAction, A as useFiveCameraDirection, O as useFiveCameraRaycaster, C as useFiveCurrentObserver, S as useFiveCurrentState, w as useFiveEventCallback, N as useFiveFloor, te as useFiveHelper, j as useFiveModelIntersectRaycaster, ee as useFiveModelReadyState, E as useFiveProject2d, v as useFiveScene, _ as useFiveSceneEffect, x as useFiveState, y as useFiveWork, pe as withFive };
943
+ export { w as FiveApp, b as FiveAutoCanvas, y as FiveCanvas, J as INJECTION_PROPNAME, $ as Store, je as createFiveFeature, g as createFiveProvider, Pe as createStore, U as getPlugin, W as setPlugin, T as unsafe__useFiveInstance, te as useFiveAction, F as useFiveCameraDirection, re as useFiveCameraRaycaster, M as useFiveCurrentObserver, j as useFiveCurrentState, ee as useFiveEventCallback, K as useFiveFloor, q as useFiveHelper, I as useFiveModelIntersectRaycaster, ie as useFiveModelReadyState, G as useFivePlugin, ne as useFiveProject2d, D as useFiveScene, E as useFiveSceneEffect, A as useFiveState, O as useFiveWork, Ae as withFive };