@realsee/five 6.8.3 → 6.8.5

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/react/index.mjs CHANGED
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * @license
3
3
  * @realsee/five
4
- * Generated: 2026/5/11
5
- * Version: 6.8.3
4
+ * Generated: 2026/5/22
5
+ * Version: 6.8.5
6
6
  * Terms:
7
7
  * Realsee SDK License Agreement
8
8
  * Update: July 28, 2021
@@ -255,63 +255,73 @@
255
255
  */import * as e from "react";
256
256
  import { useCallback as t, useEffect as n, useRef as r, useState as i } from "react";
257
257
  import * as a from "three";
258
- import { Five as o, getViewportScale as s } from "@realsee/five";
258
+ import { Five as o, InternalWebGLRenderer as s, getViewportScale as c } from "@realsee/five";
259
259
  //#region build/react/rendererPool.js
260
- var c = [], l = [];
261
- function u({ preserveDrawingBuffer: e = !0, webgl2: t = !1 } = {}) {
260
+ var l = [], u = [], d = null, f = 3e3;
261
+ function p({ preserveDrawingBuffer: e = !0, premultipliedAlpha: t = !0, stencil: n = !0, antialias: r = !1, webgl2: i = !1, logarithmicDepthBuffer: a, precision: o, powerPreference: c, backgroundColor: f = 1579548, backgroundAlpha: p = 1, pixelRatio: m } = {}) {
262
262
  if (typeof window > "u") return;
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({
268
- preserveDrawingBuffer: e,
269
- antialias: !0,
270
- alpha: !0,
271
- stencil: !0,
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({
275
- preserveDrawingBuffer: e,
276
- antialias: !1,
277
- alpha: !0,
278
- stencil: !0
279
- }));
280
- } else n = new a.WebGLRenderer({
281
- preserveDrawingBuffer: e,
282
- antialias: !1,
283
- alpha: !0,
284
- stencil: !0
285
- });
286
- n.outputEncoding = a.sRGBEncoding;
287
- }
288
- return n.autoClear = !0, n;
289
- }
290
- function d(e) {
291
- e && (e.capabilities.isWebGL2 ? l.indexOf(e) === -1 && l.push(e) : c.indexOf(e) === -1 && c.push(e));
263
+ d && (clearTimeout(d), d = null);
264
+ let h;
265
+ return h = i ? u.shift() : l.shift(), h || (h = new s({
266
+ preserveDrawingBuffer: e,
267
+ premultipliedAlpha: t,
268
+ stencil: n,
269
+ antialias: r,
270
+ webgl2: i,
271
+ logarithmicDepthBuffer: a,
272
+ precision: o,
273
+ powerPreference: c
274
+ })), m !== void 0 && h.setPixelRatio(m), h.setClearColor(f, p), h.autoClear = !0, h;
275
+ }
276
+ function m(e) {
277
+ e && (e.capabilities.isWebGL2 ? u.indexOf(e) === -1 && u.push(e) : l.indexOf(e) === -1 && l.push(e), h());
278
+ }
279
+ function h(e = f) {
280
+ d && clearTimeout(d), d = setTimeout(() => {
281
+ d = null, g();
282
+ }, e);
283
+ }
284
+ function g() {
285
+ for (let e of l) e.dispose();
286
+ for (let e of u) e.dispose();
287
+ l.length = 0, u.length = 0;
292
288
  }
293
289
  //#endregion
294
290
  //#region build/react/context.js
295
- var f = e.createContext(null);
296
- function p() {
297
- let t = e.useContext(f);
291
+ var _ = e.createContext(null);
292
+ function v() {
293
+ let t = e.useContext(_);
298
294
  if (!t) throw Error("FiveProvider never found.");
299
295
  return t.five;
300
296
  }
301
- function m() {
302
- let t = e.useContext(f);
297
+ function y() {
298
+ let t = e.useContext(_);
303
299
  if (!t) throw Error("FiveProvider never found.");
304
300
  return t.loadWork;
305
301
  }
306
302
  //#endregion
307
303
  //#region build/react/createProvider.js
308
- function h(e, t) {
304
+ function b(e, t) {
309
305
  let n = Array.isArray(e) ? e : [e], r = Array.isArray(t) ? t : [t];
310
306
  if (n.length !== r.length) return !1;
311
307
  for (let e = 0; e < n.length; e++) if (n[e].workCode !== r[e].workCode) return !1;
312
308
  return !0;
313
309
  }
314
- function g(t = {}) {
310
+ function x(e = {}) {
311
+ let t = c() === 1 ? window.devicePixelRatio : 1, n = e.backgroundColor;
312
+ return {
313
+ webgl2: e.webgl2,
314
+ preserveDrawingBuffer: e.preserveDrawingBuffer,
315
+ antialias: e.antialias,
316
+ logarithmicDepthBuffer: e.logarithmicDepthBuffer,
317
+ precision: e.precision,
318
+ powerPreference: e.powerPreference,
319
+ backgroundColor: (n instanceof a.Color, n),
320
+ backgroundAlpha: e.backgroundAlpha,
321
+ pixelRatio: t
322
+ };
323
+ }
324
+ function S(t = {}) {
315
325
  return class extends e.Component {
316
326
  constructor(e) {
317
327
  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 = {};
@@ -321,21 +331,13 @@ function g(t = {}) {
321
331
  return this.five.load(e, t, n, r);
322
332
  }
323
333
  shouldComponentUpdate(e) {
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;
334
+ return this.five.renderer && this.five && e.work && !b(e.work, this.five.works) && this.five.load(e.work, e.initialState, e.initialOptions), !0;
325
335
  }
326
336
  componentDidMount() {
327
337
  var e;
328
338
  clearTimeout(this.__fiveDisposeTimer), this.__fiveDisposeTimer = null;
329
339
  let n;
330
- if (typeof window < "u") {
331
- n = u({
332
- webgl2: t == null ? void 0 : t.webgl2,
333
- preserveDrawingBuffer: t == null ? void 0 : t.preserveDrawingBuffer
334
- });
335
- let e = s() === 1 ? window.devicePixelRatio : 1;
336
- n == null || n.setPixelRatio(e);
337
- }
338
- this.five.renderer = n, this.setState({ renderer: n }), this.__fiveEventDisposers.push(this.five.on("load", () => {
340
+ typeof window < "u" && (n = p(x(t))), this.five.renderer = n, this.setState({ renderer: n }), this.__fiveEventDisposers.push(this.five.on("load", () => {
339
341
  this.props.onWorksChange && this.props.onWorksChange(this.five.works);
340
342
  })), this.__fiveEventDisposers.push(this.five.on("stateChange", (e, t) => {
341
343
  this.props.onStateChange && this.props.onStateChange(e, t);
@@ -351,13 +353,13 @@ function g(t = {}) {
351
353
  var e;
352
354
  (e = this.five.controller) == null || e.destroy();
353
355
  let t = this.five.renderer;
354
- this.five.renderer = void 0, d(t), this.setState({ renderer: void 0 }), this.__fiveDisposeTimer = setTimeout(() => {
356
+ this.five.renderer = void 0, m(t), this.setState({ renderer: void 0 }), this.__fiveDisposeTimer = setTimeout(() => {
355
357
  this.__fiveDisposeTimer = null, this.five.dispose();
356
358
  }, 1e3);
357
359
  }
358
360
  render() {
359
361
  let t = this.five, n = this.loadWork, r = this.state.renderer;
360
- return e.createElement(f.Provider, { value: {
362
+ return e.createElement(_.Provider, { value: {
361
363
  renderer: r,
362
364
  five: t,
363
365
  loadWork: n
@@ -367,15 +369,15 @@ function g(t = {}) {
367
369
  }
368
370
  //#endregion
369
371
  //#region build/react/canvas.js
370
- var _ = typeof window < "u" ? e.useLayoutEffect : e.useEffect, v = {
372
+ var C = typeof window < "u" ? e.useLayoutEffect : e.useEffect, w = {
371
373
  display: "inline-block",
372
374
  overflow: "hidden"
373
- }, y = ({ width: t, height: n }) => {
374
- let r = p(), i = e.createRef(), a = Object.assign({
375
+ }, T = ({ width: t, height: n }) => {
376
+ let r = v(), i = e.createRef(), a = Object.assign({
375
377
  width: t,
376
378
  height: n
377
- }, v);
378
- return _(() => {
379
+ }, w);
380
+ return C(() => {
379
381
  let e = i.current;
380
382
  if (!e || !r.renderer) return;
381
383
  let a = r.renderer.domElement;
@@ -396,8 +398,8 @@ var _ = typeof window < "u" ? e.useLayoutEffect : e.useEffect, v = {
396
398
  ref: i,
397
399
  style: a
398
400
  });
399
- }, b = ({ children: t }) => {
400
- let n = p(), r = e.useRef(null);
401
+ }, E = ({ children: t }) => {
402
+ let n = v(), r = e.useRef(null);
401
403
  return e.useEffect(() => {
402
404
  let e = r.current;
403
405
  if (!e || !n.renderer) return;
@@ -424,8 +426,8 @@ var _ = typeof window < "u" ? e.useLayoutEffect : e.useEffect, v = {
424
426
  bottom: 0
425
427
  }
426
428
  }, 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
+ }, D = ({ renderChildren: t, load: n, children: r, fallback: i }) => {
430
+ let a = e.useContext(_), o = a == null ? void 0 : a.five, [s, c] = e.useState(!!t), [l, u] = e.useState(!1);
429
431
  return e.useEffect(() => {
430
432
  o && o.getElement() && (c(!0), n && n(o).then((e) => {
431
433
  o.load(...e);
@@ -437,62 +439,62 @@ var _ = typeof window < "u" ? e.useLayoutEffect : e.useEffect, v = {
437
439
  o.off("works.load", e);
438
440
  };
439
441
  }, [o]), !o || !l && !t || !s ? i == null ? null : e.createElement(e.Fragment, null, i) : e.createElement(e.Fragment, null, r);
440
- }, S = {
442
+ }, O = {
441
443
  position: "relative",
442
444
  width: "100vw",
443
445
  height: "100vh",
444
446
  overflow: "hidden"
445
- }, C = {
447
+ }, k = {
446
448
  backgroundAlpha: 1,
447
449
  backgroundColor: 0,
448
450
  imageOptions: { size: 512 },
449
451
  textureOptions: { autoResize: !1 },
450
452
  preserveDrawingBuffer: !0,
451
453
  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, {
454
+ }, A = ({ fiveInitArgs: t = k, renderChildren: n, plugins: r, load: i, children: a, fullscreen: o, autoCanvas: s = !0, fallback: c }) => {
455
+ let [l] = e.useState(() => S(Object.assign(Object.assign({}, t), { plugins: r }))), u = [];
456
+ s && u.push(e.createElement(E, { key: "auto-canvas" })), a && u.push(a);
457
+ let d = e.createElement(l, null, e.createElement(D, {
456
458
  load: i,
457
459
  renderChildren: n,
458
460
  fallback: c
459
461
  }, ...u));
460
- return o ? e.createElement("div", { style: S }, d) : d;
462
+ return o ? e.createElement("div", { style: O }, d) : d;
461
463
  };
462
464
  //#endregion
463
465
  //#region build/react/hooks/unsafe__useFiveInstance.js
464
- function T() {
465
- return p();
466
+ function j() {
467
+ return v();
466
468
  }
467
469
  //#endregion
468
470
  //#region build/react/hooks/useFiveSceneEffect.js
469
- function E(t, n) {
470
- let r = p(), i = [r];
471
+ function M(t, n) {
472
+ let r = v(), i = [r];
471
473
  n !== void 0 && (i = i.concat(n)), e.useLayoutEffect(() => t(r.scene), i);
472
474
  }
473
- var D = E;
475
+ var ee = M;
474
476
  //#endregion
475
477
  //#region build/react/hooks/useFiveWork.js
476
- function O() {
477
- let t = p(), n = m(), [r, i] = e.useState(() => t.works);
478
+ function te() {
479
+ let t = v(), n = y(), [r, i] = e.useState(() => t.works);
478
480
  return e.useLayoutEffect(() => t.on("load", () => i(t.works)), [t]), [r, n];
479
481
  }
480
482
  //#endregion
481
483
  //#region build/react/hooks/useFiveState.js
482
- function k(e) {
484
+ function N(e) {
483
485
  return Object.assign({}, e.state);
484
486
  }
485
- function A() {
486
- let t = p(), [n, r] = e.useState(() => k(t)), i = e.useCallback((e, n = !1, r = !0) => {
487
+ function P() {
488
+ let t = v(), [n, r] = e.useState(() => N(t)), i = e.useCallback((e, n = !1, r = !0) => {
487
489
  let i = typeof e == "function" ? e(t.getCurrentState()) : e;
488
490
  t.setState(i, n, r);
489
491
  }, [t]);
490
- return e.useLayoutEffect(() => t.on("stateChange", () => r(k(t))), [t]), [n, i];
492
+ return e.useLayoutEffect(() => t.on("stateChange", () => r(N(t))), [t]), [n, i];
491
493
  }
492
494
  //#endregion
493
495
  //#region build/react/hooks/useFiveCurrentState.js
494
- function j() {
495
- let t = p(), [n, r] = e.useState(() => t.getCurrentState()), i = e.useCallback((e, n = !1, r = !0) => {
496
+ function F() {
497
+ let t = v(), [n, r] = e.useState(() => t.getCurrentState()), i = e.useCallback((e, n = !1, r = !0) => {
496
498
  let i = typeof e == "function" ? e(t.getCurrentState()) : e;
497
499
  t.setState(i, n, r);
498
500
  }, [t]);
@@ -500,20 +502,20 @@ function j() {
500
502
  }
501
503
  //#endregion
502
504
  //#region build/react/hooks/useFiveCurrentObserver.js
503
- function M() {
504
- let t = p(), [n, r] = e.useState(() => t.getCurrentState());
505
+ function I() {
506
+ let t = v(), [n, r] = e.useState(() => t.getCurrentState());
505
507
  return e.useLayoutEffect(() => t.on("currentStateChange", () => r(t.getCurrentState())), [t]), t.works.getObserver(n);
506
508
  }
507
509
  //#endregion
508
510
  //#region build/react/hooks/useFiveEventCallback.js
509
- function ee(t, n, r) {
510
- let i = p(), a = [i, t];
511
+ function L(t, n, r) {
512
+ let i = v(), a = [i, t];
511
513
  r !== void 0 && (a = a.concat(r)), e.useLayoutEffect(() => i.on(t, n), a);
512
514
  }
513
515
  //#endregion
514
516
  //#region build/react/hooks/useFiveAction.js
515
- function te() {
516
- let t = p();
517
+ function R() {
518
+ let t = v();
517
519
  return {
518
520
  updateCamera: e.useCallback((e, n) => t.updateCamera(e, n), [t]),
519
521
  getPixels: e.useCallback(t.getPixels.bind(t), [t]),
@@ -525,90 +527,90 @@ function te() {
525
527
  //#endregion
526
528
  //#region build/react/hooks/useFiveProject2d.js
527
529
  function ne() {
528
- let t = p(), [n, r] = e.useState(() => Symbol());
530
+ let t = v(), [n, r] = e.useState(() => Symbol());
529
531
  return e.useLayoutEffect(() => t.on("cameraUpdate", () => r(Symbol())), [t]), e.useCallback((e, n) => t.project2d(e, n), [t]);
530
532
  }
531
533
  //#endregion
532
534
  //#region build/react/hooks/useFiveCameraRaycaster.js
533
- function N(e) {
535
+ function z(e) {
534
536
  let t = e.camera.getWorldDirection(new a.Vector3());
535
537
  return new a.Raycaster(e.camera.position, t);
536
538
  }
537
539
  function re() {
538
- let t = p(), [n, r] = e.useState(() => N(t));
539
- return e.useLayoutEffect(() => t.on("cameraUpdate", () => r(N(t))), [t]), n;
540
+ let t = v(), [n, r] = e.useState(() => z(t));
541
+ return e.useLayoutEffect(() => t.on("cameraUpdate", () => r(z(t))), [t]), n;
540
542
  }
541
543
  //#endregion
542
544
  //#region build/react/hooks/useFiveCameraDirection.js
543
- function P(e) {
545
+ function B(e) {
544
546
  return e.camera.getWorldDirection(new a.Vector3());
545
547
  }
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;
548
+ function ie() {
549
+ let t = v(), [n, r] = e.useState(() => B(t));
550
+ return e.useLayoutEffect(() => t.on("cameraUpdate", () => r(B(t))), [t]), n;
549
551
  }
550
552
  //#endregion
551
553
  //#region build/react/hooks/useFiveModelIntersectRaycaster.js
552
- function I() {
553
- let t = p();
554
+ function ae() {
555
+ let t = v();
554
556
  return e.useCallback((e) => t.model.intersectRaycaster(e), [t]);
555
557
  }
556
558
  //#endregion
557
559
  //#region build/react/hooks/useFiveModelReadyState.js
558
- function L(e) {
560
+ function V(e) {
559
561
  return e.model.empty ? "Empty" : "Loaded";
560
562
  }
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;
563
+ function H() {
564
+ let t = v(), [n, r] = e.useState(() => V(t));
565
+ return e.useLayoutEffect(() => t.on("modelLoaded", () => r(V(t))), [t]), n;
564
566
  }
565
567
  //#endregion
566
568
  //#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);
569
+ var U = /* @__PURE__ */ new Map(), W = /* @__PURE__ */ new Map();
570
+ function G(e) {
571
+ let t = W.get(e);
570
572
  t && t.forEach((e) => e());
571
573
  }
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));
574
+ function K(e, t) {
575
+ return W.has(e) || W.set(e, /* @__PURE__ */ new Set()), W.get(e).add(t), () => {
576
+ let n = W.get(e);
577
+ n && (n.delete(t), n.size === 0 && W.delete(e));
576
578
  };
577
579
  }
578
- function H(e, t) {
580
+ function q(e, t) {
579
581
  return `${e}:${t}`;
580
582
  }
581
- function U(e, t) {
583
+ function J(e, t) {
582
584
  var n;
583
- return (n = R.get(H(e, t))) == null ? void 0 : n.plugin;
585
+ return (n = U.get(q(e, t))) == null ? void 0 : n.plugin;
584
586
  }
585
- function W(e, t, n) {
586
- R.set(H(e, t), { plugin: n }), B(e);
587
+ function oe(e, t, n) {
588
+ U.set(q(e, t), { plugin: n }), G(e);
587
589
  }
588
- function G(e, a) {
590
+ function se(e, a) {
589
591
  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);
592
+ let c = v(), l = (s = (o = c.work) == null ? void 0 : o.workCode) == null ? "" : s, u = q(l, e), d = r(c), [, f] = i(0);
591
593
  return n(() => {
592
- if (l) return V(l, () => f((e) => e + 1));
594
+ if (l) return K(l, () => f((e) => e + 1));
593
595
  }, [l]), n(() => {
594
596
  if (d.current === c) return;
595
597
  d.current = c;
596
- let t = R.get(u);
598
+ let t = U.get(u);
597
599
  if (!t) return;
598
600
  let n = t.plugin;
599
601
  if (a != null && a.reCreateOnFiveChange && a.createPlugin) {
600
602
  typeof n.dispose == "function" && n.dispose();
601
603
  let t = a.createPlugin(c);
602
- R.set(u, { plugin: t }), c.plugins[e] = t, B(l);
604
+ U.set(u, { plugin: t }), c.plugins[e] = t, G(l);
603
605
  } else n && (typeof n.updateFive == "function" ? n.updateFive(c) : "five" in n && (n.five = c));
604
606
  }, [c]), t(() => {
605
- let t = R.get(u);
607
+ let t = U.get(u);
606
608
  if (t) return c.plugins[e] = t.plugin, t.plugin;
607
609
  let n = c.plugins[e];
608
- if (n) return R.set(u, { plugin: n }), n;
610
+ if (n) return U.set(u, { plugin: n }), n;
609
611
  if (a != null && a.createPlugin) {
610
612
  let t = a.createPlugin(c);
611
- return R.set(u, { plugin: t }), c.plugins[e] = t, B(l), t;
613
+ return U.set(u, { plugin: t }), c.plugins[e] = t, G(l), t;
612
614
  }
613
615
  }, [
614
616
  u,
@@ -618,8 +620,8 @@ function G(e, a) {
618
620
  }
619
621
  //#endregion
620
622
  //#region build/react/hooks/useFiveFloor.js
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) => {
623
+ function ce() {
624
+ let t = v(), [n, r] = e.useState(t.model.shownFloor), [i, a] = e.useState(t.model.floorLength), o = e.useCallback((e) => {
623
625
  typeof e == "number" ? t.model.show(e) : t.model.show();
624
626
  }, [t]);
625
627
  return e.useLayoutEffect(() => {
@@ -636,22 +638,22 @@ function K() {
636
638
  }
637
639
  //#endregion
638
640
  //#region build/react/hooks/useFiveHelper.js
639
- function q() {
640
- let t = p(), [n, r] = e.useState(t.helperVisible), i = e.useCallback((e) => {
641
+ function le() {
642
+ let t = v(), [n, r] = e.useState(t.helperVisible), i = e.useCallback((e) => {
641
643
  t.helperVisible = e;
642
644
  }, [t]);
643
645
  return e.useLayoutEffect(() => t.on("helpersVisibleChange", (e) => r(e)), [t]), [n, i];
644
646
  }
645
647
  //#endregion
646
648
  //#region build/react/withFive.js
647
- var J = "$five";
649
+ var ue = "$five";
648
650
  function Y(e, t) {
649
651
  return t.indexOf(e) >= 0;
650
652
  }
651
653
  function X(e, t) {
652
654
  for (let n of Object.keys(t)) t[n] !== void 0 && (e[n] = t[n]);
653
655
  }
654
- function ae(t, n) {
656
+ function de(t, n) {
655
657
  let r = Y("state", n), [i, a] = e.useState(Symbol()), o = e.useMemo(() => {
656
658
  if (r) return Object.assign({}, t.state);
657
659
  }, [t, i]);
@@ -659,7 +661,7 @@ function ae(t, n) {
659
661
  if (r) return t.on("stateChange", () => a(Symbol()));
660
662
  }, [t]), [o, i];
661
663
  }
662
- function oe(t, n) {
664
+ function fe(t, n) {
663
665
  let r = Y("currentState", n), [i, a] = e.useState(Symbol()), o = e.useMemo(() => {
664
666
  if (r) return t.getCurrentState();
665
667
  }, [t, i]);
@@ -667,7 +669,7 @@ function oe(t, n) {
667
669
  if (r) return t.on("currentStateChange", () => a(Symbol()));
668
670
  }, [t]), [o, i];
669
671
  }
670
- function se(t, n) {
672
+ function pe(t, n) {
671
673
  let r = Y("currentObserver", n), [i, a] = e.useState(Symbol()), o = e.useMemo(() => {
672
674
  if (r) return t.getCurrentState();
673
675
  }, [t, i]);
@@ -677,10 +679,10 @@ function se(t, n) {
677
679
  let s;
678
680
  return o && (s = t.works.getObserver(o)), [s, i];
679
681
  }
680
- function ce(e, t) {
682
+ function me(e, t) {
681
683
  return [Y("unsafe__fiveInstance", t) ? e : void 0];
682
684
  }
683
- function le(t, n) {
685
+ function he(t, n) {
684
686
  let r = Y("works", n), [i, a] = e.useState(Symbol()), o = e.useMemo(() => {
685
687
  if (r) return t.works;
686
688
  }, [t, i]);
@@ -688,7 +690,7 @@ function le(t, n) {
688
690
  if (r) return t.on("load", () => a(Symbol()));
689
691
  }, [t]), [o, i];
690
692
  }
691
- function ue(t, n) {
693
+ function ge(t, n) {
692
694
  let r = Y("model", n), [i, a] = e.useState(Symbol()), o = e.useMemo(() => {
693
695
  if (r) return t.model;
694
696
  }, [t, i]);
@@ -696,10 +698,10 @@ function ue(t, n) {
696
698
  if (r) return t.on("modelLoaded", () => a(Symbol()));
697
699
  }, [t]), [o, i];
698
700
  }
699
- function de(e, t) {
701
+ function Z(e, t) {
700
702
  return [Y("scene", t) ? e.scene : void 0];
701
703
  }
702
- function fe(t, n) {
704
+ function _e(t, n) {
703
705
  let r = Y("cameraDirection", n), [i, o] = e.useState(Symbol()), s = e.useMemo(() => {
704
706
  if (r) return t.camera.getWorldDirection(new a.Vector3());
705
707
  }, [t, i]);
@@ -707,7 +709,7 @@ function fe(t, n) {
707
709
  if (r) return t.on("cameraUpdate", () => o(Symbol()));
708
710
  }, [t]), [s, i];
709
711
  }
710
- function pe(t, n) {
712
+ function ve(t, n) {
711
713
  let r = Y("cameraRaycaster", n), [i, o] = e.useState(Symbol()), s = e.useMemo(() => {
712
714
  if (r) {
713
715
  let e = t.camera.getWorldDirection(new a.Vector3());
@@ -718,7 +720,7 @@ function pe(t, n) {
718
720
  if (r) return t.on("cameraUpdate", () => o(Symbol()));
719
721
  }, [t]), [s, i];
720
722
  }
721
- function me(t, n) {
723
+ function ye(t, n) {
722
724
  let r = Y("modelReadyState", n), [i, a] = e.useState(Symbol()), o = e.useMemo(() => {
723
725
  if (r) return t.model.empty ? "Empty" : "Loaded";
724
726
  }, [t, i]);
@@ -726,7 +728,7 @@ function me(t, n) {
726
728
  if (r) return t.on("modelLoaded", () => a(Symbol()));
727
729
  }, [t]), [o, i];
728
730
  }
729
- function he(t, n) {
731
+ function be(t, n) {
730
732
  let r = Y("shownFloor", n), [i, a] = e.useState(Symbol()), o = e.useMemo(() => {
731
733
  if (r) return t.model.shownFloor;
732
734
  }, [t, i]);
@@ -734,7 +736,7 @@ function he(t, n) {
734
736
  if (r) return t.on("modelShownFloorChange", () => a(Symbol()));
735
737
  }, [t]), [o, i];
736
738
  }
737
- function ge(t, n) {
739
+ function xe(t, n) {
738
740
  let r = Y("helperVisible", n), [i, a] = e.useState(Symbol()), o = e.useMemo(() => {
739
741
  if (r) return t.helperVisible;
740
742
  }, [t, i]);
@@ -742,74 +744,74 @@ function ge(t, n) {
742
744
  if (r) return t.on("helpersVisibleChange", () => a(Symbol()));
743
745
  }, [t]), [o, i];
744
746
  }
745
- function _e(e, t) {
747
+ function Se(e, t) {
746
748
  if (Y("loadWork", t)) return e;
747
749
  }
748
- function ve(e, t) {
750
+ function Ce(e, t) {
749
751
  if (Y("setState", t)) return (...t) => e.setState(...t);
750
752
  }
751
- function ye(e, t) {
753
+ function we(e, t) {
752
754
  if (Y("on", t)) return (...t) => e.on(...t);
753
755
  }
754
- function be(e, t) {
756
+ function Te(e, t) {
755
757
  if (Y("on", t)) return (...t) => e.once(...t);
756
758
  }
757
- function xe(e, t) {
759
+ function Ee(e, t) {
758
760
  if (Y("off", t)) return (...t) => e.off(...t);
759
761
  }
760
- function Se(e, t) {
762
+ function De(e, t) {
761
763
  if (Y("intersectRaycaster", t)) return (...t) => e.model.intersectRaycaster(...t);
762
764
  }
763
- function Ce(e, t) {
765
+ function Oe(e, t) {
764
766
  if (Y("project2d", t)) return (...t) => e.project2d(...t);
765
767
  }
766
- function we(e, t) {
768
+ function ke(e, t) {
767
769
  if (Y("updateCamera", t)) return (...t) => e.updateCamera(...t);
768
770
  }
769
- function Te(e, t) {
771
+ function Ae(e, t) {
770
772
  if (Y("getPixels", t)) return e.getPixels.bind(e);
771
773
  }
772
- function Ee(e, t) {
774
+ function je(e, t) {
773
775
  if (Y("render", t)) return (...t) => e.render(...t);
774
776
  }
775
- function De(e, t) {
777
+ function Me(e, t) {
776
778
  if (Y("needsRender", t)) return () => {
777
779
  e.needsRender = !0;
778
780
  };
779
781
  }
780
- function Oe(e, t) {
782
+ function Ne(e, t) {
781
783
  if (Y("preloadPano", t)) return (...t) => e.preloadPano(...t);
782
784
  }
783
- function ke(e, t) {
785
+ function Pe(e, t) {
784
786
  if (Y("showFloor", t)) return (t) => {
785
787
  typeof t == "number" ? e.model.show(t) : e.model.show();
786
788
  };
787
789
  }
788
- function Z(e, t) {
790
+ function Fe(e, t) {
789
791
  if (Y("toggleHelperVisible", t)) return (t) => {
790
792
  e.helperVisible = t;
791
793
  };
792
794
  }
793
- function Ae(t) {
795
+ function Ie(t) {
794
796
  return function(n) {
795
797
  return e.forwardRef((r, i) => {
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(() => {
798
+ let a = v(), o = y(), [s] = me(a, t), [c, l] = de(a, t), [u, d] = fe(a, t), [f, p] = pe(a, t), [m, h] = he(a, t), [g, _] = ge(a, t), [b] = Z(a, t), [x, S] = _e(a, t), [C, w] = ve(a, t), [T, E] = ye(a, t), [D, O] = be(a, t), [k, A] = xe(a, t), j = e.useMemo(() => {
797
799
  let e = {};
798
800
  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)
801
+ setState: Ce(a, t),
802
+ loadWork: Se(o, t),
803
+ on: we(a, t),
804
+ once: Te(a, t),
805
+ off: Ee(a, t),
806
+ intersectRaycaster: De(a, t),
807
+ project2d: Oe(a, t),
808
+ updateCamera: ke(a, t),
809
+ getPixels: Ae(a, t),
810
+ render: je(a, t),
811
+ needsRender: Me(a, t),
812
+ preloadPano: Ne(a, t),
813
+ showFloor: Pe(a, t),
814
+ toggleHelperVisible: Fe(a, t)
813
815
  }), e;
814
816
  }, [a, o]), M = e.useMemo(() => {
815
817
  let e = Object.assign({}, j);
@@ -818,8 +820,8 @@ function Ae(t) {
818
820
  state: c,
819
821
  currentState: u,
820
822
  currentObserver: f,
821
- work: g,
822
- model: v,
823
+ work: m,
824
+ model: g,
823
825
  scene: b,
824
826
  cameraDirection: x,
825
827
  cameraRaycaster: C,
@@ -832,9 +834,9 @@ function Ae(t) {
832
834
  j,
833
835
  l,
834
836
  d,
837
+ p,
835
838
  h,
836
839
  _,
837
- y,
838
840
  S,
839
841
  w,
840
842
  E,
@@ -848,7 +850,7 @@ function Ae(t) {
848
850
  });
849
851
  };
850
852
  }
851
- function je(...e) {
853
+ function Le(...e) {
852
854
  return e;
853
855
  }
854
856
  //#endregion
@@ -861,10 +863,10 @@ function Q(e, t) {
861
863
  }
862
864
  return n;
863
865
  }
864
- function Me(e, t) {
866
+ function Re(e, t) {
865
867
  return typeof e == "number" && typeof t == "number" && isNaN(e) && isNaN(t) ? !0 : e === t;
866
868
  }
867
- function Ne(e, t) {
869
+ function ze(e, t) {
868
870
  for (let n = 0; n < e.length; n++) for (let r = 0; r < t.length; r++) if (e[n] === t[r]) return !0;
869
871
  return !1;
870
872
  }
@@ -884,19 +886,19 @@ var $ = class {
884
886
  }
885
887
  setValues(e, t) {
886
888
  let n = [];
887
- for (let r in t) e.indexOf(r) >= 0 && !Me(t[r], this.values[r]) && n.push(r);
889
+ for (let r in t) e.indexOf(r) >= 0 && !Re(t[r], this.values[r]) && n.push(r);
888
890
  if (n.length === 0) return;
889
891
  let r = Object.assign({}, this.values);
890
892
  for (let e of n) this.values[e] = t[e];
891
893
  this.onValuesChange && this.onValuesChange(this.values, r);
892
894
  for (let [e, t] of this.listeners) {
893
- if (!Ne(e, n)) continue;
895
+ if (!ze(e, n)) continue;
894
896
  let i = Q(r, e);
895
897
  t(Q(this.values, e), i);
896
898
  }
897
899
  }
898
900
  };
899
- function Pe(t) {
901
+ function Be(t) {
900
902
  let n = e.createContext(null);
901
903
  return {
902
904
  useStore(t) {
@@ -940,4 +942,4 @@ function Pe(t) {
940
942
  };
941
943
  }
942
944
  //#endregion
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 };
945
+ export { A as FiveApp, E as FiveAutoCanvas, T as FiveCanvas, ue as INJECTION_PROPNAME, $ as Store, Le as createFiveFeature, S as createFiveProvider, Be as createStore, J as getPlugin, oe as setPlugin, j as unsafe__useFiveInstance, R as useFiveAction, ie as useFiveCameraDirection, re as useFiveCameraRaycaster, I as useFiveCurrentObserver, F as useFiveCurrentState, L as useFiveEventCallback, ce as useFiveFloor, le as useFiveHelper, ae as useFiveModelIntersectRaycaster, H as useFiveModelReadyState, se as useFivePlugin, ne as useFiveProject2d, ee as useFiveScene, M as useFiveSceneEffect, P as useFiveState, te as useFiveWork, Ie as withFive };