@realsee/five 6.8.4 → 6.8.6

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