@realsee/five 6.8.0-alpha.17 → 6.8.0-alpha.18

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.js CHANGED
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * @license
3
3
  * @realsee/five
4
- * Generated: 3/13/2026
5
- * Version: 6.8.0-alpha.17
4
+ * Generated: 3/17/2026
5
+ * Version: 6.8.0-alpha.18
6
6
  * Terms:
7
7
  * Realsee SDK License Agreement
8
8
  * Update: July 28, 2021
@@ -252,4 +252,4 @@
252
252
  * No amendment to or modification of this Agreement will be binding unless in
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
- */"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const ce=require("react"),fe=require("three"),j=require("@realsee/five");function B(e){const n=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const t in e)if(t!=="default"){const r=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(n,t,r.get?r:{enumerable:!0,get:()=>e[t]})}}return n.default=e,Object.freeze(n)}const u=B(ce),p=B(fe);var E=function(e,n){return E=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,r){t.__proto__=r}||function(t,r){for(var o in r)Object.prototype.hasOwnProperty.call(r,o)&&(t[o]=r[o])},E(e,n)};function I(e,n){if(typeof n!="function"&&n!==null)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");E(e,n);function t(){this.constructor=e}e.prototype=n===null?Object.create(n):(t.prototype=n.prototype,new t)}var h=function(){return h=Object.assign||function(n){for(var t,r=1,o=arguments.length;r<o;r++){t=arguments[r];for(var a in t)Object.prototype.hasOwnProperty.call(t,a)&&(n[a]=t[a])}return n},h.apply(this,arguments)};function w(e,n,t){if(t||arguments.length===2)for(var r=0,o=n.length,a;r<o;r++)(a||!(r in n))&&(a||(a=Array.prototype.slice.call(n,0,r)),a[r]=n[r]);return e.concat(a||Array.prototype.slice.call(n))}var k=[],R=[];function le(e){var n=e===void 0?{}:e,t=n.preserveDrawingBuffer,r=t===void 0?!0:t,o=n.webgl2,a=o===void 0?!1:o;if(typeof window!="undefined"){var i=null;if(a?i=k.shift():i=R.shift(),!i){if(a){var s=document.createElement("canvas"),c=s.getContext("webgl2");c?i=new p.WebGLRenderer({preserveDrawingBuffer:r,antialias:!0,alpha:!0,stencil:!0,canvas:s,context:c}):(console.error("error occurred when getting webgl2 canvas context, mybe webgl2 not support, fallback to webgl."),i=new p.WebGLRenderer({preserveDrawingBuffer:r,antialias:!1,alpha:!0,stencil:!0}))}else i=new p.WebGLRenderer({preserveDrawingBuffer:r,antialias:!1,alpha:!0,stencil:!0});i.outputEncoding=p.sRGBEncoding}return i.autoClear=!0,i}}function ve(e){if(e){var n=e.capabilities.isWebGL2;n?R.indexOf(e)===-1&&R.push(e):k.indexOf(e)===-1&&k.push(e)}}var L=u.createContext(null);function v(){var e=u.useContext(L);if(!e)throw new Error("FiveProvider never found.");return e.five}function G(){var e=u.useContext(L);if(!e)throw new Error("FiveProvider never found.");return e.loadWork}function de(e,n){var t=Array.isArray(e)?e:[e],r=Array.isArray(n)?n:[n];if(t.length!==r.length)return!1;for(var o=0;o<t.length;o++)if(t[o].workCode!==r[o].workCode)return!1;return!0}function pe(e){return e===void 0&&(e={}),(function(n){I(t,n);function t(r){var o=n.call(this,r)||this;return o.__fiveEventDisposers=[],o.__fiveDisposeTimer=null,o.five=new j.Five(h(h({},e),{renderer:void 0})),o.loadWork=o.loadWork.bind(o),o.state={},o}return t.prototype.loadWork=function(r,o,a,i){if(i===void 0&&(i=!0),this.props.work)throw new Error("props 'works' is set in fiveProvider, if you need modify work internal, use 'initialWork' instead.");return this.five.load(r,o,a,i)},t.prototype.shouldComponentUpdate=function(r){return this.five.renderer&&this.five&&r.work&&!de(r.work,this.five.works)&&this.five.load(r.work,r.initialState,r.initialOptions),!0},t.prototype.componentDidMount=function(){var r=this,o;clearTimeout(this.__fiveDisposeTimer),this.__fiveDisposeTimer=null;var a;if(typeof window!="undefined"){a=le({webgl2:e==null?void 0:e.webgl2,preserveDrawingBuffer:e==null?void 0:e.preserveDrawingBuffer});var i=j.getViewportScale(),s=i===1?window.devicePixelRatio:1;a==null||a.setPixelRatio(s)}this.five.renderer=a,this.setState({renderer:a}),this.__fiveEventDisposers.push(this.five.on("load",function(){r.props.onWorksChange&&r.props.onWorksChange(r.five.works)})),this.__fiveEventDisposers.push(this.five.on("stateChange",function(l,d){r.props.onStateChange&&r.props.onStateChange(l,d)})),this.__fiveEventDisposers.push(this.five.on("currentStateChange",function(l,d){r.props.onCurrentStateChange&&r.props.onCurrentStateChange(l,d)})),this.__fiveEventDisposers.push(this.five.on("error",function(l){r.props.onError?r.props.onError(l):console.warn(l.message)}));var c=this.props.work||this.props.initialWork;c&&this.five.load(c,this.props.initialState,this.props.initialOptions,(o=this.props.initialUserAction)!==null&&o!==void 0?o:!0)},t.prototype.componentWillUnmount=function(){var r=this,o;(o=this.five.controller)===null||o===void 0||o.destroy();var a=this.five.renderer;this.five.renderer=void 0,ve(a),this.setState({renderer:void 0}),this.__fiveDisposeTimer=setTimeout(function(){r.__fiveDisposeTimer=null,r.five.dispose()},1e3)},t.prototype.render=function(){var r=this.five,o=this.loadWork,a=this.state.renderer;return u.createElement(L.Provider,{value:{renderer:a,five:r,loadWork:o}},this.props.children)},t})(u.Component)}var he=typeof window!="undefined"?u.useLayoutEffect:u.useEffect,ge={display:"inline-block",overflow:"hidden"},ye=function(e){var n=e.width,t=e.height,r=v(),o=u.createRef(),a=h({width:n,height:t},ge);return he(function(){var i=o.current;if(i&&r.renderer){var s=r.renderer.domElement;if(s.parentNode!==null&&s.parentNode!==i)throw new Error("There are more than 2 fiveCanvas in this context.");return s.parentNode!==i&&i.appendChild(s),r.camera.aspect=n/t,r.camera.updateProjectionMatrix(),r.renderer.setSize(n,t),r.refresh({width:n,height:t}),r.needsRender=!0,function(){s.parentNode===i&&i.removeChild(s)}}},[r,r.renderer,n,t,o.current]),u.createElement("div",{ref:o,style:a})};function me(){return v()}function q(e,n){var t=v(),r=[t];n!==void 0&&(r=r.concat(n)),u.useLayoutEffect(function(){return e(t.scene)},r)}var Se=q;function we(){var e=v(),n=G(),t=u.useState(function(){return e.works}),r=t[0],o=t[1];return u.useLayoutEffect(function(){return e.on("load",function(){return o(e.works)})},[e]),[r,n]}function U(e){return h({},e.state)}function be(){var e=v(),n=u.useState(function(){return U(e)}),t=n[0],r=n[1],o=u.useCallback(function(a,i,s){i===void 0&&(i=!1),s===void 0&&(s=!0);var c=typeof a=="function"?a(e.getCurrentState()):a;e.setState(c,i,s)},[e]);return u.useLayoutEffect(function(){return e.on("stateChange",function(){return r(U(e))})},[e]),[t,o]}function Ce(){var e=v(),n=u.useState(function(){return e.getCurrentState()}),t=n[0],r=n[1],o=u.useCallback(function(a,i,s){i===void 0&&(i=!1),s===void 0&&(s=!0);var c=typeof a=="function"?a(e.getCurrentState()):a;e.setState(c,i,s)},[e]);return u.useLayoutEffect(function(){return e.on("currentStateChange",function(){return r(e.getCurrentState())})},[e]),[t,o]}function Fe(){var e=v(),n=u.useState(function(){return e.getCurrentState()}),t=n[0],r=n[1];return u.useLayoutEffect(function(){return e.on("currentStateChange",function(){return r(e.getCurrentState())})},[e]),e.works.getObserver(t)}function Ee(e,n,t){var r=v(),o=[r,e];t!==void 0&&(o=o.concat(t)),u.useLayoutEffect(function(){return r.on(e,n)},o)}function ke(){var e=v(),n=u.useCallback(function(i,s){return e.updateCamera(i,s)},[e]),t=u.useCallback(e.getPixels.bind(e),[e]),r=u.useCallback(function(i){return e.render(i)},[e]),o=u.useCallback(function(){return e.needsRender=!0},[e]),a=u.useCallback(function(i,s){return e.preloadPano(i,s)},[e]);return{updateCamera:n,getPixels:t,render:r,needsRender:o,preloadPano:a}}function Re(){var e=v(),n=u.useState(function(){return Symbol()});n[0];var t=n[1];u.useLayoutEffect(function(){return e.on("cameraUpdate",function(){return t(Symbol())})},[e]);var r=u.useCallback(function(o,a){return e.project2d(o,a)},[e]);return r}function T(e){var n=e.camera.getWorldDirection(new p.Vector3),t=new p.Raycaster(e.camera.position,n);return t}function Le(){var e=v(),n=u.useState(function(){return T(e)}),t=n[0],r=n[1];return u.useLayoutEffect(function(){return e.on("cameraUpdate",function(){return r(T(e))})},[e]),t}function N(e){return e.camera.getWorldDirection(new p.Vector3)}function _e(){var e=v(),n=u.useState(function(){return N(e)}),t=n[0],r=n[1];return u.useLayoutEffect(function(){return e.on("cameraUpdate",function(){return r(N(e))})},[e]),t}function Pe(){var e=v(),n=u.useCallback(function(t){return e.model.intersectRaycaster(t)},[e]);return n}function $(e){return e.model.empty?"Empty":"Loaded"}function Ve(){var e=v(),n=u.useState(function(){return $(e)}),t=n[0],r=n[1];return u.useLayoutEffect(function(){return e.on("modelLoaded",function(){return r($(e))})},[e]),t}function Oe(){var e=v(),n=u.useState(e.model.shownFloor),t=n[0],r=n[1],o=u.useState(e.model.floorLength),a=o[0],i=o[1],s=u.useCallback(function(c){typeof c=="number"?e.model.show(c):e.model.show()},[e]);return u.useLayoutEffect(function(){var c=[];return c.push(e.on("modelShownFloorChange",function(){return r(e.model.shownFloor)})),c.push(e.on("modelLoaded",function(){return i(e.model.floorLength)})),function(){for(var l;l=c.shift();)l()}},[e]),[t,a,s]}function De(){var e=v(),n=u.useState(e.helperVisible),t=n[0],r=n[1],o=u.useCallback(function(a){e.helperVisible=a},[e]);return u.useLayoutEffect(function(){return e.on("helpersVisibleChange",function(a){return r(a)})},[e]),[t,o]}var xe="$five";function f(e,n){return n.indexOf(e)>=0}function H(e,n){for(var t=0,r=Object.keys(n);t<r.length;t++){var o=r[t];n[o]!==void 0&&(e[o]=n[o])}}function We(e,n){var t=f("state",n),r=u.useState(Symbol()),o=r[0],a=r[1],i=u.useMemo(function(){if(t)return h({},e.state)},[e,o]);return u.useLayoutEffect(function(){if(t)return e.on("stateChange",function(){return a(Symbol())})},[e]),[i,o]}function Me(e,n){var t=f("currentState",n),r=u.useState(Symbol()),o=r[0],a=r[1],i=u.useMemo(function(){if(t)return e.getCurrentState()},[e,o]);return u.useLayoutEffect(function(){if(t)return e.on("currentStateChange",function(){return a(Symbol())})},[e]),[i,o]}function je(e,n){var t=f("currentObserver",n),r=u.useState(Symbol()),o=r[0],a=r[1],i=u.useMemo(function(){if(t)return e.getCurrentState()},[e,o]);u.useLayoutEffect(function(){if(t)return e.on("currentStateChange",function(){return a(Symbol())})},[e]);var s=void 0;return i&&(s=e.works.getObserver(i)),[s,o]}function Ue(e,n){var t=f("unsafe__fiveInstance",n);return[t?e:void 0]}function Te(e,n){var t=f("works",n),r=u.useState(Symbol()),o=r[0],a=r[1],i=u.useMemo(function(){if(t)return e.works},[e,o]);return u.useLayoutEffect(function(){if(t)return e.on("load",function(){return a(Symbol())})},[e]),[i,o]}function Ne(e,n){var t=f("model",n),r=u.useState(Symbol()),o=r[0],a=r[1],i=u.useMemo(function(){if(t)return e.model},[e,o]);return u.useLayoutEffect(function(){if(t)return e.on("modelLoaded",function(){return a(Symbol())})},[e]),[i,o]}function $e(e,n){var t=f("scene",n);return[t?e.scene:void 0]}function He(e,n){var t=f("cameraDirection",n),r=u.useState(Symbol()),o=r[0],a=r[1],i=u.useMemo(function(){if(t)return e.camera.getWorldDirection(new p.Vector3)},[e,o]);return u.useLayoutEffect(function(){if(t)return e.on("cameraUpdate",function(){return a(Symbol())})},[e]),[i,o]}function Be(e,n){var t=f("cameraRaycaster",n),r=u.useState(Symbol()),o=r[0],a=r[1],i=u.useMemo(function(){if(t){var s=e.camera.getWorldDirection(new p.Vector3),c=new p.Raycaster(e.camera.position,s);return c}},[e,o]);return u.useLayoutEffect(function(){if(t)return e.on("cameraUpdate",function(){return a(Symbol())})},[e]),[i,o]}function Ie(e,n){var t=f("modelReadyState",n),r=u.useState(Symbol()),o=r[0],a=r[1],i=u.useMemo(function(){if(t)return e.model.empty?"Empty":"Loaded"},[e,o]);return u.useLayoutEffect(function(){if(t)return e.on("modelLoaded",function(){return a(Symbol())})},[e]),[i,o]}function Ge(e,n){var t=f("shownFloor",n),r=u.useState(Symbol()),o=r[0],a=r[1],i=u.useMemo(function(){if(t)return e.model.shownFloor},[e,o]);return u.useLayoutEffect(function(){if(t)return e.on("modelShownFloorChange",function(){return a(Symbol())})},[e]),[i,o]}function qe(e,n){var t=f("helperVisible",n),r=u.useState(Symbol()),o=r[0],a=r[1],i=u.useMemo(function(){if(t)return e.helperVisible},[e,o]);return u.useLayoutEffect(function(){if(t)return e.on("helpersVisibleChange",function(){return a(Symbol())})},[e]),[i,o]}function Ae(e,n){if(f("loadWork",n))return e}function ze(e,n){if(f("setState",n))return function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return e.setState.apply(e,t)}}function Je(e,n){if(f("on",n))return function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return e.on.apply(e,t)}}function Ke(e,n){if(f("on",n))return function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return e.once.apply(e,t)}}function Qe(e,n){if(f("off",n))return function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return e.off.apply(e,t)}}function Xe(e,n){if(f("intersectRaycaster",n))return function(){for(var t,r=[],o=0;o<arguments.length;o++)r[o]=arguments[o];return(t=e.model).intersectRaycaster.apply(t,r)}}function Ye(e,n){if(f("project2d",n))return function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return e.project2d.apply(e,t)}}function Ze(e,n){if(f("updateCamera",n))return function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return e.updateCamera.apply(e,t)}}function er(e,n){if(f("getPixels",n))return e.getPixels.bind(e)}function rr(e,n){if(f("render",n))return function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return e.render.apply(e,t)}}function tr(e,n){if(f("needsRender",n))return function(){e.needsRender=!0}}function nr(e,n){if(f("preloadPano",n))return function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return e.preloadPano.apply(e,t)}}function or(e,n){if(f("showFloor",n))return function(t){typeof t=="number"?e.model.show(t):e.model.show()}}function ar(e,n){if(f("toggleHelperVisible",n))return function(t){e.helperVisible=t}}function ur(e){return function(n){return u.forwardRef(function(t,r){var o=v(),a=G(),i=Ue(o,e)[0],s=We(o,e),c=s[0],l=s[1],d=Me(o,e),y=d[0],g=d[1],S=je(o,e),b=S[0],C=S[1],_=Te(o,e),z=_[0],J=_[1],P=Ne(o,e),K=P[0],Q=P[1],X=$e(o,e)[0],V=He(o,e),Y=V[0],Z=V[1],O=Be(o,e),ee=O[0],re=O[1],D=Ie(o,e),te=D[0],ne=D[1],x=Ge(o,e),oe=x[0],ae=x[1],W=qe(o,e),ue=W[0],ie=W[1],M=u.useMemo(function(){var m={};return H(m,{setState:ze(o,e),loadWork:Ae(a,e),on:Je(o,e),once:Ke(o,e),off:Qe(o,e),intersectRaycaster:Xe(o,e),project2d:Ye(o,e),updateCamera:Ze(o,e),getPixels:er(o,e),render:rr(o,e),needsRender:tr(o,e),preloadPano:nr(o,e),showFloor:or(o,e),toggleHelperVisible:ar(o,e)}),m},[o,a]),se=u.useMemo(function(){var m=h({},M);return H(m,{unsafe__fiveInstance:i,state:c,currentState:y,currentObserver:b,work:z,model:K,scene:X,cameraDirection:Y,cameraRaycaster:ee,modelReadyState:te,shownFloor:oe,helperVisible:ue}),m},[o,M,l,g,C,J,Q,Z,re,ne,ae,ie]);return u.createElement(n,h({ref:r,$five:se},t))})}}function ir(){for(var e=[],n=0;n<arguments.length;n++)e[n]=arguments[n];return e}function F(e,n){for(var t={},r=n.length,o=-1;++o<r;){var a=n[o];a in e&&(t[a]=e[a])}return t}function sr(e,n){return typeof e=="number"&&typeof n=="number"&&isNaN(e)&&isNaN(n)?!0:e===n}function cr(e,n){for(var t=0;t<e.length;t++)for(var r=0;r<n.length;r++)if(e[t]===n[r])return!0;return!1}var A=(function(){function e(n,t){this.values=n,this.listeners=[],this.onValuesChange=t}return e.prototype.on=function(n,t){var r=this,o=[n,t];return this.listeners.push(o),function(){var a=r.listeners.indexOf(o);a>=0&&r.listeners.splice(a,1)}},e.prototype.getValues=function(n){return F(this.values,n)},e.prototype.setValues=function(n,t){var r=[];for(var o in t)n.indexOf(o)>=0&&!sr(t[o],this.values[o])&&r.push(o);if(r.length!==0){for(var a=h({},this.values),i=0,s=r;i<s.length;i++){var c=s[i];this.values[c]=t[c]}this.onValuesChange&&this.onValuesChange(this.values,a);for(var l=0,d=this.listeners;l<d.length;l++){var y=d[l],g=y[0],S=y[1];if(cr(g,r)){var b=F(a,g),C=F(this.values,g);S(C,b)}}}},e})();function fr(e){var n=u.createContext(null);return{useStore:function(t){var r=u.useContext(n);if(r===null)throw new Error("StoreProvider never found.");var o=u.useRef(!0),a=u.useState(r.getValues(t)),i=a[0],s=a[1],c=w([r],t,!0);u.useLayoutEffect(function(){return o.current?o.current=!1:s(r.getValues(t)),r.on(t,function(d){return s(d)})},c);var l=u.useCallback(function(d){return r.setValues(t,d)},c);return[i,l]},useStoreSetter:function(t){var r=u.useContext(n);if(r===null)throw new Error("StoreProvider never found.");var o=u.useCallback(function(a){return r.setValues(t,a)},w([r],t,!0));return o},watchStore:function(t,r,o){var a=u.useContext(n);if(a===null)throw new Error("StoreProvider never found.");var i=w([a],t,!0);o!==void 0&&(i=i.concat(o)),u.useLayoutEffect(function(){return a.on(t,r)},i)},useStoreAction:function(t){var r=u.useContext(n);if(r===null)throw new Error("StoreProvider never found.");var o=u.useCallback(function(){for(var a=[],i=0;i<arguments.length;i++)a[i]=arguments[i];var s=e[t],c=s[0],l=s.slice(1),d=function(){return r.getValues(l)},y=function(g){return r.setValues(l,g)};return c.apply(void 0,w([d,y],a,!1))},[]);return o},StoreProvider:(function(t){I(r,t);function r(o){var a=t.call(this,o)||this;return a.store=new A(o.initialValue,function(){for(var i,s=[],c=0;c<arguments.length;c++)s[c]=arguments[c];a.props.onValuesChange&&(i=a.props).onValuesChange.apply(i,s)}),a}return r.prototype.shouldComponentUpdate=function(o){return o.children!==this.props.children},r.prototype.render=function(){return u.createElement(n.Provider,{value:this.store},this.props.children)},r})(u.Component)}}exports.FiveCanvas=ye;exports.INJECTION_PROPNAME=xe;exports.Store=A;exports.createFiveFeature=ir;exports.createFiveProvider=pe;exports.createStore=fr;exports.unsafe__useFiveInstance=me;exports.useFiveAction=ke;exports.useFiveCameraDirection=_e;exports.useFiveCameraRaycaster=Le;exports.useFiveCurrentObserver=Fe;exports.useFiveCurrentState=Ce;exports.useFiveEventCallback=Ee;exports.useFiveFloor=Oe;exports.useFiveHelper=De;exports.useFiveModelIntersectRaycaster=Pe;exports.useFiveModelReadyState=Ve;exports.useFiveProject2d=Re;exports.useFiveScene=Se;exports.useFiveSceneEffect=q;exports.useFiveState=be;exports.useFiveWork=we;exports.withFive=ur;
255
+ */Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},s=(n,r,a)=>(a=n==null?{}:e(i(n)),o(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n));let c=require(`react`);c=s(c);let l=require(`three`);l=s(l);let u=require(`@realsee/five`);var d=[],f=[];function p({preserveDrawingBuffer:e=!0,webgl2:t=!1}={}){if(typeof window>`u`)return;let n=null;if(n=t?d.shift():f.shift(),!n){if(t){let t=document.createElement(`canvas`),r=t.getContext(`webgl2`);r?n=new l.WebGLRenderer({preserveDrawingBuffer:e,antialias:!0,alpha:!0,stencil:!0,canvas:t,context:r}):(console.error(`error occurred when getting webgl2 canvas context, mybe webgl2 not support, fallback to webgl.`),n=new l.WebGLRenderer({preserveDrawingBuffer:e,antialias:!1,alpha:!0,stencil:!0}))}else n=new l.WebGLRenderer({preserveDrawingBuffer:e,antialias:!1,alpha:!0,stencil:!0});n.outputEncoding=l.sRGBEncoding}return n.autoClear=!0,n}function m(e){e&&(e.capabilities.isWebGL2?f.indexOf(e)===-1&&f.push(e):d.indexOf(e)===-1&&d.push(e))}var h=c.createContext(null);function g(){let e=c.useContext(h);if(!e)throw Error(`FiveProvider never found.`);return e.five}function _(){let e=c.useContext(h);if(!e)throw Error(`FiveProvider never found.`);return e.loadWork}function v(e,t){let n=Array.isArray(e)?e:[e],r=Array.isArray(t)?t:[t];if(n.length!==r.length)return!1;for(let e=0;e<n.length;e++)if(n[e].workCode!==r[e].workCode)return!1;return!0}function y(e={}){return class extends c.Component{constructor(t){super(t),this.__fiveEventDisposers=[],this.__fiveDisposeTimer=null,this.five=new u.Five(Object.assign(Object.assign({},e),{renderer:void 0})),this.loadWork=this.loadWork.bind(this),this.state={}}loadWork(e,t,n,r=!0){if(this.props.work)throw Error(`props 'works' is set in fiveProvider, if you need modify work internal, use 'initialWork' instead.`);return this.five.load(e,t,n,r)}shouldComponentUpdate(e){return this.five.renderer&&this.five&&e.work&&!v(e.work,this.five.works)&&this.five.load(e.work,e.initialState,e.initialOptions),!0}componentDidMount(){var t;clearTimeout(this.__fiveDisposeTimer),this.__fiveDisposeTimer=null;let n;if(typeof window<`u`){n=p({webgl2:e==null?void 0:e.webgl2,preserveDrawingBuffer:e==null?void 0:e.preserveDrawingBuffer});let t=(0,u.getViewportScale)()===1?window.devicePixelRatio:1;n==null||n.setPixelRatio(t)}this.five.renderer=n,this.setState({renderer:n}),this.__fiveEventDisposers.push(this.five.on(`load`,()=>{this.props.onWorksChange&&this.props.onWorksChange(this.five.works)})),this.__fiveEventDisposers.push(this.five.on(`stateChange`,(e,t)=>{this.props.onStateChange&&this.props.onStateChange(e,t)})),this.__fiveEventDisposers.push(this.five.on(`currentStateChange`,(e,t)=>{this.props.onCurrentStateChange&&this.props.onCurrentStateChange(e,t)})),this.__fiveEventDisposers.push(this.five.on(`error`,e=>{this.props.onError?this.props.onError(e):console.warn(e.message)}));let r=this.props.work||this.props.initialWork;r&&this.five.load(r,this.props.initialState,this.props.initialOptions,(t=this.props.initialUserAction)==null?!0:t)}componentWillUnmount(){var e;(e=this.five.controller)==null||e.destroy();let t=this.five.renderer;this.five.renderer=void 0,m(t),this.setState({renderer:void 0}),this.__fiveDisposeTimer=setTimeout(()=>{this.__fiveDisposeTimer=null,this.five.dispose()},1e3)}render(){let e=this.five,t=this.loadWork,n=this.state.renderer;return c.createElement(h.Provider,{value:{renderer:n,five:e,loadWork:t}},this.props.children)}}}var b=typeof window<`u`?c.useLayoutEffect:c.useEffect,x={display:`inline-block`,overflow:`hidden`},S=({width:e,height:t})=>{let n=g(),r=c.createRef(),i=Object.assign({width:e,height:t},x);return b(()=>{let i=r.current;if(!i||!n.renderer)return;let a=n.renderer.domElement;if(a.parentNode!==null&&a.parentNode!==i)throw Error(`There are more than 2 fiveCanvas in this context.`);return a.parentNode!==i&&i.appendChild(a),n.camera.aspect=e/t,n.camera.updateProjectionMatrix(),n.renderer.setSize(e,t),n.refresh({width:e,height:t}),n.needsRender=!0,()=>{a.parentNode===i&&i.removeChild(a)}},[n,n.renderer,e,t,r.current]),c.createElement(`div`,{ref:r,style:i})};function C(){return g()}function w(e,t){let n=g(),r=[n];t!==void 0&&(r=r.concat(t)),c.useLayoutEffect(()=>e(n.scene),r)}var T=w;function E(){let e=g(),t=_(),[n,r]=c.useState(()=>e.works);return c.useLayoutEffect(()=>e.on(`load`,()=>r(e.works)),[e]),[n,t]}function D(e){return Object.assign({},e.state)}function O(){let e=g(),[t,n]=c.useState(()=>D(e)),r=c.useCallback((t,n=!1,r=!0)=>{let i=typeof t==`function`?t(e.getCurrentState()):t;e.setState(i,n,r)},[e]);return c.useLayoutEffect(()=>e.on(`stateChange`,()=>n(D(e))),[e]),[t,r]}function k(){let e=g(),[t,n]=c.useState(()=>e.getCurrentState()),r=c.useCallback((t,n=!1,r=!0)=>{let i=typeof t==`function`?t(e.getCurrentState()):t;e.setState(i,n,r)},[e]);return c.useLayoutEffect(()=>e.on(`currentStateChange`,()=>n(e.getCurrentState())),[e]),[t,r]}function A(){let e=g(),[t,n]=c.useState(()=>e.getCurrentState());return c.useLayoutEffect(()=>e.on(`currentStateChange`,()=>n(e.getCurrentState())),[e]),e.works.getObserver(t)}function j(e,t,n){let r=g(),i=[r,e];n!==void 0&&(i=i.concat(n)),c.useLayoutEffect(()=>r.on(e,t),i)}function M(){let e=g();return{updateCamera:c.useCallback((t,n)=>e.updateCamera(t,n),[e]),getPixels:c.useCallback(e.getPixels.bind(e),[e]),render:c.useCallback(t=>e.render(t),[e]),needsRender:c.useCallback(()=>e.needsRender=!0,[e]),preloadPano:c.useCallback((t,n)=>e.preloadPano(t,n),[e])}}function N(){let e=g(),[t,n]=c.useState(()=>Symbol());return c.useLayoutEffect(()=>e.on(`cameraUpdate`,()=>n(Symbol())),[e]),c.useCallback((t,n)=>e.project2d(t,n),[e])}function P(e){let t=e.camera.getWorldDirection(new l.Vector3);return new l.Raycaster(e.camera.position,t)}function ee(){let e=g(),[t,n]=c.useState(()=>P(e));return c.useLayoutEffect(()=>e.on(`cameraUpdate`,()=>n(P(e))),[e]),t}function F(e){return e.camera.getWorldDirection(new l.Vector3)}function I(){let e=g(),[t,n]=c.useState(()=>F(e));return c.useLayoutEffect(()=>e.on(`cameraUpdate`,()=>n(F(e))),[e]),t}function te(){let e=g();return c.useCallback(t=>e.model.intersectRaycaster(t),[e])}function L(e){return e.model.empty?`Empty`:`Loaded`}function ne(){let e=g(),[t,n]=c.useState(()=>L(e));return c.useLayoutEffect(()=>e.on(`modelLoaded`,()=>n(L(e))),[e]),t}function re(){let e=g(),[t,n]=c.useState(e.model.shownFloor),[r,i]=c.useState(e.model.floorLength),a=c.useCallback(t=>{typeof t==`number`?e.model.show(t):e.model.show()},[e]);return c.useLayoutEffect(()=>{let t=[];return t.push(e.on(`modelShownFloorChange`,()=>n(e.model.shownFloor))),t.push(e.on(`modelLoaded`,()=>i(e.model.floorLength))),()=>{let e;for(;e=t.shift();)e()}},[e]),[t,r,a]}function R(){let e=g(),[t,n]=c.useState(e.helperVisible),r=c.useCallback(t=>{e.helperVisible=t},[e]);return c.useLayoutEffect(()=>e.on(`helpersVisibleChange`,e=>n(e)),[e]),[t,r]}var z=`$five`;function B(e,t){return t.indexOf(e)>=0}function V(e,t){for(let n of Object.keys(t))t[n]!==void 0&&(e[n]=t[n])}function H(e,t){let n=B(`state`,t),[r,i]=c.useState(Symbol()),a=c.useMemo(()=>{if(n)return Object.assign({},e.state)},[e,r]);return c.useLayoutEffect(()=>{if(n)return e.on(`stateChange`,()=>i(Symbol()))},[e]),[a,r]}function U(e,t){let n=B(`currentState`,t),[r,i]=c.useState(Symbol()),a=c.useMemo(()=>{if(n)return e.getCurrentState()},[e,r]);return c.useLayoutEffect(()=>{if(n)return e.on(`currentStateChange`,()=>i(Symbol()))},[e]),[a,r]}function W(e,t){let n=B(`currentObserver`,t),[r,i]=c.useState(Symbol()),a=c.useMemo(()=>{if(n)return e.getCurrentState()},[e,r]);c.useLayoutEffect(()=>{if(n)return e.on(`currentStateChange`,()=>i(Symbol()))},[e]);let o;return a&&(o=e.works.getObserver(a)),[o,r]}function G(e,t){return[B(`unsafe__fiveInstance`,t)?e:void 0]}function K(e,t){let n=B(`works`,t),[r,i]=c.useState(Symbol()),a=c.useMemo(()=>{if(n)return e.works},[e,r]);return c.useLayoutEffect(()=>{if(n)return e.on(`load`,()=>i(Symbol()))},[e]),[a,r]}function q(e,t){let n=B(`model`,t),[r,i]=c.useState(Symbol()),a=c.useMemo(()=>{if(n)return e.model},[e,r]);return c.useLayoutEffect(()=>{if(n)return e.on(`modelLoaded`,()=>i(Symbol()))},[e]),[a,r]}function J(e,t){return[B(`scene`,t)?e.scene:void 0]}function Y(e,t){let n=B(`cameraDirection`,t),[r,i]=c.useState(Symbol()),a=c.useMemo(()=>{if(n)return e.camera.getWorldDirection(new l.Vector3)},[e,r]);return c.useLayoutEffect(()=>{if(n)return e.on(`cameraUpdate`,()=>i(Symbol()))},[e]),[a,r]}function X(e,t){let n=B(`cameraRaycaster`,t),[r,i]=c.useState(Symbol()),a=c.useMemo(()=>{if(n){let t=e.camera.getWorldDirection(new l.Vector3);return new l.Raycaster(e.camera.position,t)}},[e,r]);return c.useLayoutEffect(()=>{if(n)return e.on(`cameraUpdate`,()=>i(Symbol()))},[e]),[a,r]}function ie(e,t){let n=B(`modelReadyState`,t),[r,i]=c.useState(Symbol()),a=c.useMemo(()=>{if(n)return e.model.empty?`Empty`:`Loaded`},[e,r]);return c.useLayoutEffect(()=>{if(n)return e.on(`modelLoaded`,()=>i(Symbol()))},[e]),[a,r]}function ae(e,t){let n=B(`shownFloor`,t),[r,i]=c.useState(Symbol()),a=c.useMemo(()=>{if(n)return e.model.shownFloor},[e,r]);return c.useLayoutEffect(()=>{if(n)return e.on(`modelShownFloorChange`,()=>i(Symbol()))},[e]),[a,r]}function oe(e,t){let n=B(`helperVisible`,t),[r,i]=c.useState(Symbol()),a=c.useMemo(()=>{if(n)return e.helperVisible},[e,r]);return c.useLayoutEffect(()=>{if(n)return e.on(`helpersVisibleChange`,()=>i(Symbol()))},[e]),[a,r]}function se(e,t){if(B(`loadWork`,t))return e}function ce(e,t){if(B(`setState`,t))return(...t)=>e.setState(...t)}function le(e,t){if(B(`on`,t))return(...t)=>e.on(...t)}function ue(e,t){if(B(`on`,t))return(...t)=>e.once(...t)}function de(e,t){if(B(`off`,t))return(...t)=>e.off(...t)}function fe(e,t){if(B(`intersectRaycaster`,t))return(...t)=>e.model.intersectRaycaster(...t)}function pe(e,t){if(B(`project2d`,t))return(...t)=>e.project2d(...t)}function me(e,t){if(B(`updateCamera`,t))return(...t)=>e.updateCamera(...t)}function he(e,t){if(B(`getPixels`,t))return e.getPixels.bind(e)}function Z(e,t){if(B(`render`,t))return(...t)=>e.render(...t)}function ge(e,t){if(B(`needsRender`,t))return()=>{e.needsRender=!0}}function _e(e,t){if(B(`preloadPano`,t))return(...t)=>e.preloadPano(...t)}function ve(e,t){if(B(`showFloor`,t))return t=>{typeof t==`number`?e.model.show(t):e.model.show()}}function ye(e,t){if(B(`toggleHelperVisible`,t))return t=>{e.helperVisible=t}}function be(e){return function(t){return c.forwardRef((n,r)=>{let i=g(),a=_(),[o]=G(i,e),[s,l]=H(i,e),[u,d]=U(i,e),[f,p]=W(i,e),[m,h]=K(i,e),[v,y]=q(i,e),[b]=J(i,e),[x,S]=Y(i,e),[C,w]=X(i,e),[T,E]=ie(i,e),[D,O]=ae(i,e),[k,A]=oe(i,e),j=c.useMemo(()=>{let t={};return V(t,{setState:ce(i,e),loadWork:se(a,e),on:le(i,e),once:ue(i,e),off:de(i,e),intersectRaycaster:fe(i,e),project2d:pe(i,e),updateCamera:me(i,e),getPixels:he(i,e),render:Z(i,e),needsRender:ge(i,e),preloadPano:_e(i,e),showFloor:ve(i,e),toggleHelperVisible:ye(i,e)}),t},[i,a]),M=c.useMemo(()=>{let e=Object.assign({},j);return V(e,{unsafe__fiveInstance:o,state:s,currentState:u,currentObserver:f,work:m,model:v,scene:b,cameraDirection:x,cameraRaycaster:C,modelReadyState:T,shownFloor:D,helperVisible:k}),e},[i,j,l,d,p,h,y,S,w,E,O,A]);return c.createElement(t,Object.assign({ref:r,$five:M},n))})}}function xe(...e){return e}function Q(e,t){let n={},r=t.length,i=-1;for(;++i<r;){let r=t[i];r in e&&(n[r]=e[r])}return n}function Se(e,t){return typeof e==`number`&&typeof t==`number`&&isNaN(e)&&isNaN(t)?!0:e===t}function Ce(e,t){for(let n=0;n<e.length;n++)for(let r=0;r<t.length;r++)if(e[n]===t[r])return!0;return!1}var $=class{constructor(e,t){this.values=e,this.listeners=[],this.onValuesChange=t}on(e,t){let n=[e,t];return this.listeners.push(n),()=>{let e=this.listeners.indexOf(n);e>=0&&this.listeners.splice(e,1)}}getValues(e){return Q(this.values,e)}setValues(e,t){let n=[];for(let r in t)e.indexOf(r)>=0&&!Se(t[r],this.values[r])&&n.push(r);if(n.length===0)return;let r=Object.assign({},this.values);for(let e of n)this.values[e]=t[e];this.onValuesChange&&this.onValuesChange(this.values,r);for(let[e,t]of this.listeners){if(!Ce(e,n))continue;let i=Q(r,e);t(Q(this.values,e),i)}}};function we(e){let t=c.createContext(null);return{useStore(e){let n=c.useContext(t);if(n===null)throw Error(`StoreProvider never found.`);let r=c.useRef(!0),[i,a]=c.useState(n.getValues(e)),o=[n,...e];return c.useLayoutEffect(()=>(r.current?r.current=!1:a(n.getValues(e)),n.on(e,e=>a(e))),o),[i,c.useCallback(t=>n.setValues(e,t),o)]},useStoreSetter(e){let n=c.useContext(t);if(n===null)throw Error(`StoreProvider never found.`);return c.useCallback(t=>n.setValues(e,t),[n,...e])},watchStore(e,n,r){let i=c.useContext(t);if(i===null)throw Error(`StoreProvider never found.`);let a=[i,...e];r!==void 0&&(a=a.concat(r)),c.useLayoutEffect(()=>i.on(e,n),a)},useStoreAction(n){let r=c.useContext(t);if(r===null)throw Error(`StoreProvider never found.`);return c.useCallback((...t)=>{let[i,...a]=e[n];return i(()=>r.getValues(a),e=>r.setValues(a,e),...t)},[])},StoreProvider:class extends c.Component{constructor(e){super(e),this.store=new $(e.initialValue,(...e)=>{this.props.onValuesChange&&this.props.onValuesChange(...e)})}shouldComponentUpdate(e){return e.children!==this.props.children}render(){return c.createElement(t.Provider,{value:this.store},this.props.children)}}}}exports.FiveCanvas=S,exports.INJECTION_PROPNAME=z,exports.Store=$,exports.createFiveFeature=xe,exports.createFiveProvider=y,exports.createStore=we,exports.unsafe__useFiveInstance=C,exports.useFiveAction=M,exports.useFiveCameraDirection=I,exports.useFiveCameraRaycaster=ee,exports.useFiveCurrentObserver=A,exports.useFiveCurrentState=k,exports.useFiveEventCallback=j,exports.useFiveFloor=re,exports.useFiveHelper=R,exports.useFiveModelIntersectRaycaster=te,exports.useFiveModelReadyState=ne,exports.useFiveProject2d=N,exports.useFiveScene=T,exports.useFiveSceneEffect=w,exports.useFiveState=O,exports.useFiveWork=E,exports.withFive=be;