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

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/umd/five-react.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/18/2026
5
+ * Version: 6.8.0-alpha.19
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
- */(function(f,S){typeof exports=="object"&&typeof module!="undefined"?S(exports,require("react"),require("three"),require("@realsee/five")):typeof define=="function"&&define.amd?define(["exports","react","three","@realsee/five"],S):(f=typeof globalThis!="undefined"?globalThis:f||self,S(f.FiveSDK_React={},f.React,f.THREE,f.FiveSDK))})(this,(function(f,S,K,V){"use strict";function O(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=O(S),h=O(K);var C=function(e,n){return C=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,r){t.__proto__=r}||function(t,r){for(var a in r)Object.prototype.hasOwnProperty.call(r,a)&&(t[a]=r[a])},C(e,n)};function D(e,n){if(typeof n!="function"&&n!==null)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");C(e,n);function t(){this.constructor=e}e.prototype=n===null?Object.create(n):(t.prototype=n.prototype,new t)}var g=function(){return g=Object.assign||function(n){for(var t,r=1,a=arguments.length;r<a;r++){t=arguments[r];for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&(n[o]=t[o])}return n},g.apply(this,arguments)};function b(e,n,t){if(t||arguments.length===2)for(var r=0,a=n.length,o;r<a;r++)(o||!(r in n))&&(o||(o=Array.prototype.slice.call(n,0,r)),o[r]=n[r]);return e.concat(o||Array.prototype.slice.call(n))}typeof SuppressedError=="function"&&SuppressedError;var E=[],k=[];function Q(e){var n=e===void 0?{}:e,t=n.preserveDrawingBuffer,r=t===void 0?!0:t,a=n.webgl2,o=a===void 0?!1:a;if(typeof window!="undefined"){var i=null;if(o?i=E.shift():i=k.shift(),!i){if(o){var s=document.createElement("canvas"),c=s.getContext("webgl2");c?i=new h.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 h.WebGLRenderer({preserveDrawingBuffer:r,antialias:!1,alpha:!0,stencil:!0}))}else i=new h.WebGLRenderer({preserveDrawingBuffer:r,antialias:!1,alpha:!0,stencil:!0});i.outputEncoding=h.sRGBEncoding}return i.autoClear=!0,i}}function X(e){if(e){var n=e.capabilities.isWebGL2;n?k.indexOf(e)===-1&&k.push(e):E.indexOf(e)===-1&&E.push(e)}}var R=u.createContext(null);function d(){var e=u.useContext(R);if(!e)throw new Error("FiveProvider never found.");return e.five}function W(){var e=u.useContext(R);if(!e)throw new Error("FiveProvider never found.");return e.loadWork}function Y(e,n){var t=Array.isArray(e)?e:[e],r=Array.isArray(n)?n:[n];if(t.length!==r.length)return!1;for(var a=0;a<t.length;a++)if(t[a].workCode!==r[a].workCode)return!1;return!0}function Z(e){return e===void 0&&(e={}),(function(n){D(t,n);function t(r){var a=n.call(this,r)||this;return a.__fiveEventDisposers=[],a.__fiveDisposeTimer=null,a.five=new V.Five(g(g({},e),{renderer:void 0})),a.loadWork=a.loadWork.bind(a),a.state={},a}return t.prototype.loadWork=function(r,a,o,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,a,o,i)},t.prototype.shouldComponentUpdate=function(r){return this.five.renderer&&this.five&&r.work&&!Y(r.work,this.five.works)&&this.five.load(r.work,r.initialState,r.initialOptions),!0},t.prototype.componentDidMount=function(){var r=this,a;clearTimeout(this.__fiveDisposeTimer),this.__fiveDisposeTimer=null;var o;if(typeof window!="undefined"){o=Q({webgl2:e==null?void 0:e.webgl2,preserveDrawingBuffer:e==null?void 0:e.preserveDrawingBuffer});var i=V.getViewportScale(),s=i===1?window.devicePixelRatio:1;o==null||o.setPixelRatio(s)}this.five.renderer=o,this.setState({renderer:o}),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(v,p){r.props.onStateChange&&r.props.onStateChange(v,p)})),this.__fiveEventDisposers.push(this.five.on("currentStateChange",function(v,p){r.props.onCurrentStateChange&&r.props.onCurrentStateChange(v,p)})),this.__fiveEventDisposers.push(this.five.on("error",function(v){r.props.onError?r.props.onError(v):console.warn(v.message)}));var c=this.props.work||this.props.initialWork;c&&this.five.load(c,this.props.initialState,this.props.initialOptions,(a=this.props.initialUserAction)!==null&&a!==void 0?a:!0)},t.prototype.componentWillUnmount=function(){var r=this,a;(a=this.five.controller)===null||a===void 0||a.destroy();var o=this.five.renderer;this.five.renderer=void 0,X(o),this.setState({renderer:void 0}),this.__fiveDisposeTimer=setTimeout(function(){r.__fiveDisposeTimer=null,r.five.dispose()},1e3)},t.prototype.render=function(){var r=this.five,a=this.loadWork,o=this.state.renderer;return u.createElement(R.Provider,{value:{renderer:o,five:r,loadWork:a}},this.props.children)},t})(u.Component)}var ee=typeof window!="undefined"?u.useLayoutEffect:u.useEffect,re={display:"inline-block",overflow:"hidden"},te=function(e){var n=e.width,t=e.height,r=d(),a=u.createRef(),o=g({width:n,height:t},re);return ee(function(){var i=a.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,a.current]),u.createElement("div",{ref:a,style:o})};function ne(){return d()}function M(e,n){var t=d(),r=[t];n!==void 0&&(r=r.concat(n)),u.useLayoutEffect(function(){return e(t.scene)},r)}var ae=M;function oe(){var e=d(),n=W(),t=u.useState(function(){return e.works}),r=t[0],a=t[1];return u.useLayoutEffect(function(){return e.on("load",function(){return a(e.works)})},[e]),[r,n]}function j(e){return g({},e.state)}function ue(){var e=d(),n=u.useState(function(){return j(e)}),t=n[0],r=n[1],a=u.useCallback(function(o,i,s){i===void 0&&(i=!1),s===void 0&&(s=!0);var c=typeof o=="function"?o(e.getCurrentState()):o;e.setState(c,i,s)},[e]);return u.useLayoutEffect(function(){return e.on("stateChange",function(){return r(j(e))})},[e]),[t,a]}function ie(){var e=d(),n=u.useState(function(){return e.getCurrentState()}),t=n[0],r=n[1],a=u.useCallback(function(o,i,s){i===void 0&&(i=!1),s===void 0&&(s=!0);var c=typeof o=="function"?o(e.getCurrentState()):o;e.setState(c,i,s)},[e]);return u.useLayoutEffect(function(){return e.on("currentStateChange",function(){return r(e.getCurrentState())})},[e]),[t,a]}function se(){var e=d(),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 ce(e,n,t){var r=d(),a=[r,e];t!==void 0&&(a=a.concat(t)),u.useLayoutEffect(function(){return r.on(e,n)},a)}function fe(){var e=d(),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]),a=u.useCallback(function(){return e.needsRender=!0},[e]),o=u.useCallback(function(i,s){return e.preloadPano(i,s)},[e]);return{updateCamera:n,getPixels:t,render:r,needsRender:a,preloadPano:o}}function le(){var e=d(),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(a,o){return e.project2d(a,o)},[e]);return r}function U(e){var n=e.camera.getWorldDirection(new h.Vector3),t=new h.Raycaster(e.camera.position,n);return t}function ve(){var e=d(),n=u.useState(function(){return U(e)}),t=n[0],r=n[1];return u.useLayoutEffect(function(){return e.on("cameraUpdate",function(){return r(U(e))})},[e]),t}function T(e){return e.camera.getWorldDirection(new h.Vector3)}function de(){var e=d(),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 pe(){var e=d(),n=u.useCallback(function(t){return e.model.intersectRaycaster(t)},[e]);return n}function N(e){return e.model.empty?"Empty":"Loaded"}function he(){var e=d(),n=u.useState(function(){return N(e)}),t=n[0],r=n[1];return u.useLayoutEffect(function(){return e.on("modelLoaded",function(){return r(N(e))})},[e]),t}function ge(){var e=d(),n=u.useState(e.model.shownFloor),t=n[0],r=n[1],a=u.useState(e.model.floorLength),o=a[0],i=a[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 v;v=c.shift();)v()}},[e]),[t,o,s]}function ye(){var e=d(),n=u.useState(e.helperVisible),t=n[0],r=n[1],a=u.useCallback(function(o){e.helperVisible=o},[e]);return u.useLayoutEffect(function(){return e.on("helpersVisibleChange",function(o){return r(o)})},[e]),[t,a]}var me="$five";function l(e,n){return n.indexOf(e)>=0}function x(e,n){for(var t=0,r=Object.keys(n);t<r.length;t++){var a=r[t];n[a]!==void 0&&(e[a]=n[a])}}function Se(e,n){var t=l("state",n),r=u.useState(Symbol()),a=r[0],o=r[1],i=u.useMemo(function(){if(t)return g({},e.state)},[e,a]);return u.useLayoutEffect(function(){if(t)return e.on("stateChange",function(){return o(Symbol())})},[e]),[i,a]}function we(e,n){var t=l("currentState",n),r=u.useState(Symbol()),a=r[0],o=r[1],i=u.useMemo(function(){if(t)return e.getCurrentState()},[e,a]);return u.useLayoutEffect(function(){if(t)return e.on("currentStateChange",function(){return o(Symbol())})},[e]),[i,a]}function be(e,n){var t=l("currentObserver",n),r=u.useState(Symbol()),a=r[0],o=r[1],i=u.useMemo(function(){if(t)return e.getCurrentState()},[e,a]);u.useLayoutEffect(function(){if(t)return e.on("currentStateChange",function(){return o(Symbol())})},[e]);var s=void 0;return i&&(s=e.works.getObserver(i)),[s,a]}function Fe(e,n){var t=l("unsafe__fiveInstance",n);return[t?e:void 0]}function Ce(e,n){var t=l("works",n),r=u.useState(Symbol()),a=r[0],o=r[1],i=u.useMemo(function(){if(t)return e.works},[e,a]);return u.useLayoutEffect(function(){if(t)return e.on("load",function(){return o(Symbol())})},[e]),[i,a]}function Ee(e,n){var t=l("model",n),r=u.useState(Symbol()),a=r[0],o=r[1],i=u.useMemo(function(){if(t)return e.model},[e,a]);return u.useLayoutEffect(function(){if(t)return e.on("modelLoaded",function(){return o(Symbol())})},[e]),[i,a]}function ke(e,n){var t=l("scene",n);return[t?e.scene:void 0]}function Re(e,n){var t=l("cameraDirection",n),r=u.useState(Symbol()),a=r[0],o=r[1],i=u.useMemo(function(){if(t)return e.camera.getWorldDirection(new h.Vector3)},[e,a]);return u.useLayoutEffect(function(){if(t)return e.on("cameraUpdate",function(){return o(Symbol())})},[e]),[i,a]}function Le(e,n){var t=l("cameraRaycaster",n),r=u.useState(Symbol()),a=r[0],o=r[1],i=u.useMemo(function(){if(t){var s=e.camera.getWorldDirection(new h.Vector3),c=new h.Raycaster(e.camera.position,s);return c}},[e,a]);return u.useLayoutEffect(function(){if(t)return e.on("cameraUpdate",function(){return o(Symbol())})},[e]),[i,a]}function _e(e,n){var t=l("modelReadyState",n),r=u.useState(Symbol()),a=r[0],o=r[1],i=u.useMemo(function(){if(t)return e.model.empty?"Empty":"Loaded"},[e,a]);return u.useLayoutEffect(function(){if(t)return e.on("modelLoaded",function(){return o(Symbol())})},[e]),[i,a]}function Pe(e,n){var t=l("shownFloor",n),r=u.useState(Symbol()),a=r[0],o=r[1],i=u.useMemo(function(){if(t)return e.model.shownFloor},[e,a]);return u.useLayoutEffect(function(){if(t)return e.on("modelShownFloorChange",function(){return o(Symbol())})},[e]),[i,a]}function Ve(e,n){var t=l("helperVisible",n),r=u.useState(Symbol()),a=r[0],o=r[1],i=u.useMemo(function(){if(t)return e.helperVisible},[e,a]);return u.useLayoutEffect(function(){if(t)return e.on("helpersVisibleChange",function(){return o(Symbol())})},[e]),[i,a]}function Oe(e,n){if(l("loadWork",n))return e}function De(e,n){if(l("setState",n))return function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return e.setState.apply(e,t)}}function We(e,n){if(l("on",n))return function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return e.on.apply(e,t)}}function Me(e,n){if(l("on",n))return function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return e.once.apply(e,t)}}function je(e,n){if(l("off",n))return function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return e.off.apply(e,t)}}function Ue(e,n){if(l("intersectRaycaster",n))return function(){for(var t,r=[],a=0;a<arguments.length;a++)r[a]=arguments[a];return(t=e.model).intersectRaycaster.apply(t,r)}}function Te(e,n){if(l("project2d",n))return function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return e.project2d.apply(e,t)}}function Ne(e,n){if(l("updateCamera",n))return function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return e.updateCamera.apply(e,t)}}function xe(e,n){if(l("getPixels",n))return e.getPixels.bind(e)}function $e(e,n){if(l("render",n))return function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return e.render.apply(e,t)}}function He(e,n){if(l("needsRender",n))return function(){e.needsRender=!0}}function Be(e,n){if(l("preloadPano",n))return function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return e.preloadPano.apply(e,t)}}function Ie(e,n){if(l("showFloor",n))return function(t){typeof t=="number"?e.model.show(t):e.model.show()}}function Ge(e,n){if(l("toggleHelperVisible",n))return function(t){e.helperVisible=t}}function qe(e){return function(n){return u.forwardRef(function(t,r){var a=d(),o=W(),i=Fe(a,e)[0],s=Se(a,e),c=s[0],v=s[1],p=we(a,e),m=p[0],y=p[1],F=be(a,e),_=F[0],P=F[1],H=Ce(a,e),Qe=H[0],Xe=H[1],B=Ee(a,e),Ye=B[0],Ze=B[1],er=ke(a,e)[0],I=Re(a,e),rr=I[0],tr=I[1],G=Le(a,e),nr=G[0],ar=G[1],q=_e(a,e),or=q[0],ur=q[1],A=Pe(a,e),ir=A[0],sr=A[1],z=Ve(a,e),cr=z[0],fr=z[1],J=u.useMemo(function(){var w={};return x(w,{setState:De(a,e),loadWork:Oe(o,e),on:We(a,e),once:Me(a,e),off:je(a,e),intersectRaycaster:Ue(a,e),project2d:Te(a,e),updateCamera:Ne(a,e),getPixels:xe(a,e),render:$e(a,e),needsRender:He(a,e),preloadPano:Be(a,e),showFloor:Ie(a,e),toggleHelperVisible:Ge(a,e)}),w},[a,o]),lr=u.useMemo(function(){var w=g({},J);return x(w,{unsafe__fiveInstance:i,state:c,currentState:m,currentObserver:_,work:Qe,model:Ye,scene:er,cameraDirection:rr,cameraRaycaster:nr,modelReadyState:or,shownFloor:ir,helperVisible:cr}),w},[a,J,v,y,P,Xe,Ze,tr,ar,ur,sr,fr]);return u.createElement(n,g({ref:r,$five:lr},t))})}}function Ae(){for(var e=[],n=0;n<arguments.length;n++)e[n]=arguments[n];return e}function L(e,n){for(var t={},r=n.length,a=-1;++a<r;){var o=n[a];o in e&&(t[o]=e[o])}return t}function ze(e,n){return typeof e=="number"&&typeof n=="number"&&isNaN(e)&&isNaN(n)?!0:e===n}function Je(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 $=(function(){function e(n,t){this.values=n,this.listeners=[],this.onValuesChange=t}return e.prototype.on=function(n,t){var r=this,a=[n,t];return this.listeners.push(a),function(){var o=r.listeners.indexOf(a);o>=0&&r.listeners.splice(o,1)}},e.prototype.getValues=function(n){return L(this.values,n)},e.prototype.setValues=function(n,t){var r=[];for(var a in t)n.indexOf(a)>=0&&!ze(t[a],this.values[a])&&r.push(a);if(r.length!==0){for(var o=g({},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,o);for(var v=0,p=this.listeners;v<p.length;v++){var m=p[v],y=m[0],F=m[1];if(Je(y,r)){var _=L(o,y),P=L(this.values,y);F(P,_)}}}},e})();function Ke(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 a=u.useRef(!0),o=u.useState(r.getValues(t)),i=o[0],s=o[1],c=b([r],t,!0);u.useLayoutEffect(function(){return a.current?a.current=!1:s(r.getValues(t)),r.on(t,function(p){return s(p)})},c);var v=u.useCallback(function(p){return r.setValues(t,p)},c);return[i,v]},useStoreSetter:function(t){var r=u.useContext(n);if(r===null)throw new Error("StoreProvider never found.");var a=u.useCallback(function(o){return r.setValues(t,o)},b([r],t,!0));return a},watchStore:function(t,r,a){var o=u.useContext(n);if(o===null)throw new Error("StoreProvider never found.");var i=b([o],t,!0);a!==void 0&&(i=i.concat(a)),u.useLayoutEffect(function(){return o.on(t,r)},i)},useStoreAction:function(t){var r=u.useContext(n);if(r===null)throw new Error("StoreProvider never found.");var a=u.useCallback(function(){for(var o=[],i=0;i<arguments.length;i++)o[i]=arguments[i];var s=e[t],c=s[0],v=s.slice(1),p=function(){return r.getValues(v)},m=function(y){return r.setValues(v,y)};return c.apply(void 0,b([p,m],o,!1))},[]);return a},StoreProvider:(function(t){D(r,t);function r(a){var o=t.call(this,a)||this;return o.store=new $(a.initialValue,function(){for(var i,s=[],c=0;c<arguments.length;c++)s[c]=arguments[c];o.props.onValuesChange&&(i=o.props).onValuesChange.apply(i,s)}),o}return r.prototype.shouldComponentUpdate=function(a){return a.children!==this.props.children},r.prototype.render=function(){return u.createElement(n.Provider,{value:this.store},this.props.children)},r})(u.Component)}}f.FiveCanvas=te,f.INJECTION_PROPNAME=me,f.Store=$,f.createFiveFeature=Ae,f.createFiveProvider=Z,f.createStore=Ke,f.unsafe__useFiveInstance=ne,f.useFiveAction=fe,f.useFiveCameraDirection=de,f.useFiveCameraRaycaster=ve,f.useFiveCurrentObserver=se,f.useFiveCurrentState=ie,f.useFiveEventCallback=ce,f.useFiveFloor=ge,f.useFiveHelper=ye,f.useFiveModelIntersectRaycaster=pe,f.useFiveModelReadyState=he,f.useFiveProject2d=le,f.useFiveScene=ae,f.useFiveSceneEffect=M,f.useFiveState=ue,f.useFiveWork=oe,f.withFive=qe,Object.defineProperty(f,Symbol.toStringTag,{value:"Module"})}));
255
+ */(function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports,require(`react`),require(`three`),require(`@realsee/five`)):typeof define==`function`&&define.amd?define([`exports`,`react`,`three`,`@realsee/five`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e.FiveSDK_React={},e.React,e.THREE,e.FiveSDK))})(this,function(e,t,n,r){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});var i=Object.create,a=Object.defineProperty,o=Object.getOwnPropertyDescriptor,s=Object.getOwnPropertyNames,c=Object.getPrototypeOf,l=Object.prototype.hasOwnProperty,u=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(var i=s(t),c=0,u=i.length,d;c<u;c++)d=i[c],!l.call(e,d)&&d!==n&&a(e,d,{get:(e=>t[e]).bind(null,d),enumerable:!(r=o(t,d))||r.enumerable});return e},d=(e,t,n)=>(n=e==null?{}:i(c(e)),u(t||!e||!e.__esModule?a(n,`default`,{value:e,enumerable:!0}):n,e));t=d(t),n=d(n);var f=[],p=[];function m({preserveDrawingBuffer:e=!0,webgl2:t=!1}={}){if(typeof window>`u`)return;let r=null;if(r=t?f.shift():p.shift(),!r){if(t){let t=document.createElement(`canvas`),i=t.getContext(`webgl2`);i?r=new n.WebGLRenderer({preserveDrawingBuffer:e,antialias:!0,alpha:!0,stencil:!0,canvas:t,context:i}):(console.error(`error occurred when getting webgl2 canvas context, mybe webgl2 not support, fallback to webgl.`),r=new n.WebGLRenderer({preserveDrawingBuffer:e,antialias:!1,alpha:!0,stencil:!0}))}else r=new n.WebGLRenderer({preserveDrawingBuffer:e,antialias:!1,alpha:!0,stencil:!0});r.outputEncoding=n.sRGBEncoding}return r.autoClear=!0,r}function h(e){e&&(e.capabilities.isWebGL2?p.indexOf(e)===-1&&p.push(e):f.indexOf(e)===-1&&f.push(e))}var g=t.createContext(null);function _(){let e=t.useContext(g);if(!e)throw Error(`FiveProvider never found.`);return e.five}function v(){let e=t.useContext(g);if(!e)throw Error(`FiveProvider never found.`);return e.loadWork}function y(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 b(e={}){return class extends t.Component{constructor(t){super(t),this.__fiveEventDisposers=[],this.__fiveDisposeTimer=null,this.five=new r.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&&!y(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=m({webgl2:e==null?void 0:e.webgl2,preserveDrawingBuffer:e==null?void 0:e.preserveDrawingBuffer});let t=(0,r.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 i=this.props.work||this.props.initialWork;i&&this.five.load(i,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,h(t),this.setState({renderer:void 0}),this.__fiveDisposeTimer=setTimeout(()=>{this.__fiveDisposeTimer=null,this.five.dispose()},1e3)}render(){let e=this.five,n=this.loadWork,r=this.state.renderer;return t.createElement(g.Provider,{value:{renderer:r,five:e,loadWork:n}},this.props.children)}}}var x=typeof window<`u`?t.useLayoutEffect:t.useEffect,S={display:`inline-block`,overflow:`hidden`},C=({width:e,height:n})=>{let r=_(),i=t.createRef(),a=Object.assign({width:e,height:n},S);return x(()=>{let t=i.current;if(!t||!r.renderer)return;let a=r.renderer.domElement;if(a.parentNode!==null&&a.parentNode!==t)throw Error(`There are more than 2 fiveCanvas in this context.`);return a.parentNode!==t&&t.appendChild(a),r.camera.aspect=e/n,r.camera.updateProjectionMatrix(),r.renderer.setSize(e,n),r.refresh({width:e,height:n}),r.needsRender=!0,()=>{a.parentNode===t&&t.removeChild(a)}},[r,r.renderer,e,n,i.current]),t.createElement(`div`,{ref:i,style:a})};function w(){return _()}function T(e,n){let r=_(),i=[r];n!==void 0&&(i=i.concat(n)),t.useLayoutEffect(()=>e(r.scene),i)}var E=T;function D(){let e=_(),n=v(),[r,i]=t.useState(()=>e.works);return t.useLayoutEffect(()=>e.on(`load`,()=>i(e.works)),[e]),[r,n]}function O(e){return Object.assign({},e.state)}function k(){let e=_(),[n,r]=t.useState(()=>O(e)),i=t.useCallback((t,n=!1,r=!0)=>{let i=typeof t==`function`?t(e.getCurrentState()):t;e.setState(i,n,r)},[e]);return t.useLayoutEffect(()=>e.on(`stateChange`,()=>r(O(e))),[e]),[n,i]}function A(){let e=_(),[n,r]=t.useState(()=>e.getCurrentState()),i=t.useCallback((t,n=!1,r=!0)=>{let i=typeof t==`function`?t(e.getCurrentState()):t;e.setState(i,n,r)},[e]);return t.useLayoutEffect(()=>e.on(`currentStateChange`,()=>r(e.getCurrentState())),[e]),[n,i]}function j(){let e=_(),[n,r]=t.useState(()=>e.getCurrentState());return t.useLayoutEffect(()=>e.on(`currentStateChange`,()=>r(e.getCurrentState())),[e]),e.works.getObserver(n)}function M(e,n,r){let i=_(),a=[i,e];r!==void 0&&(a=a.concat(r)),t.useLayoutEffect(()=>i.on(e,n),a)}function ee(){let e=_();return{updateCamera:t.useCallback((t,n)=>e.updateCamera(t,n),[e]),getPixels:t.useCallback(e.getPixels.bind(e),[e]),render:t.useCallback(t=>e.render(t),[e]),needsRender:t.useCallback(()=>e.needsRender=!0,[e]),preloadPano:t.useCallback((t,n)=>e.preloadPano(t,n),[e])}}function N(){let e=_(),[n,r]=t.useState(()=>Symbol());return t.useLayoutEffect(()=>e.on(`cameraUpdate`,()=>r(Symbol())),[e]),t.useCallback((t,n)=>e.project2d(t,n),[e])}function P(e){let t=e.camera.getWorldDirection(new n.Vector3);return new n.Raycaster(e.camera.position,t)}function F(){let e=_(),[n,r]=t.useState(()=>P(e));return t.useLayoutEffect(()=>e.on(`cameraUpdate`,()=>r(P(e))),[e]),n}function I(e){return e.camera.getWorldDirection(new n.Vector3)}function te(){let e=_(),[n,r]=t.useState(()=>I(e));return t.useLayoutEffect(()=>e.on(`cameraUpdate`,()=>r(I(e))),[e]),n}function ne(){let e=_();return t.useCallback(t=>e.model.intersectRaycaster(t),[e])}function L(e){return e.model.empty?`Empty`:`Loaded`}function re(){let e=_(),[n,r]=t.useState(()=>L(e));return t.useLayoutEffect(()=>e.on(`modelLoaded`,()=>r(L(e))),[e]),n}function R(){let e=_(),[n,r]=t.useState(e.model.shownFloor),[i,a]=t.useState(e.model.floorLength),o=t.useCallback(t=>{typeof t==`number`?e.model.show(t):e.model.show()},[e]);return t.useLayoutEffect(()=>{let t=[];return t.push(e.on(`modelShownFloorChange`,()=>r(e.model.shownFloor))),t.push(e.on(`modelLoaded`,()=>a(e.model.floorLength))),()=>{let e;for(;e=t.shift();)e()}},[e]),[n,i,o]}function z(){let e=_(),[n,r]=t.useState(e.helperVisible),i=t.useCallback(t=>{e.helperVisible=t},[e]);return t.useLayoutEffect(()=>e.on(`helpersVisibleChange`,e=>r(e)),[e]),[n,i]}var B=`$five`;function V(e,t){return t.indexOf(e)>=0}function H(e,t){for(let n of Object.keys(t))t[n]!==void 0&&(e[n]=t[n])}function U(e,n){let r=V(`state`,n),[i,a]=t.useState(Symbol()),o=t.useMemo(()=>{if(r)return Object.assign({},e.state)},[e,i]);return t.useLayoutEffect(()=>{if(r)return e.on(`stateChange`,()=>a(Symbol()))},[e]),[o,i]}function W(e,n){let r=V(`currentState`,n),[i,a]=t.useState(Symbol()),o=t.useMemo(()=>{if(r)return e.getCurrentState()},[e,i]);return t.useLayoutEffect(()=>{if(r)return e.on(`currentStateChange`,()=>a(Symbol()))},[e]),[o,i]}function G(e,n){let r=V(`currentObserver`,n),[i,a]=t.useState(Symbol()),o=t.useMemo(()=>{if(r)return e.getCurrentState()},[e,i]);t.useLayoutEffect(()=>{if(r)return e.on(`currentStateChange`,()=>a(Symbol()))},[e]);let s;return o&&(s=e.works.getObserver(o)),[s,i]}function K(e,t){return[V(`unsafe__fiveInstance`,t)?e:void 0]}function q(e,n){let r=V(`works`,n),[i,a]=t.useState(Symbol()),o=t.useMemo(()=>{if(r)return e.works},[e,i]);return t.useLayoutEffect(()=>{if(r)return e.on(`load`,()=>a(Symbol()))},[e]),[o,i]}function J(e,n){let r=V(`model`,n),[i,a]=t.useState(Symbol()),o=t.useMemo(()=>{if(r)return e.model},[e,i]);return t.useLayoutEffect(()=>{if(r)return e.on(`modelLoaded`,()=>a(Symbol()))},[e]),[o,i]}function Y(e,t){return[V(`scene`,t)?e.scene:void 0]}function X(e,r){let i=V(`cameraDirection`,r),[a,o]=t.useState(Symbol()),s=t.useMemo(()=>{if(i)return e.camera.getWorldDirection(new n.Vector3)},[e,a]);return t.useLayoutEffect(()=>{if(i)return e.on(`cameraUpdate`,()=>o(Symbol()))},[e]),[s,a]}function ie(e,r){let i=V(`cameraRaycaster`,r),[a,o]=t.useState(Symbol()),s=t.useMemo(()=>{if(i){let t=e.camera.getWorldDirection(new n.Vector3);return new n.Raycaster(e.camera.position,t)}},[e,a]);return t.useLayoutEffect(()=>{if(i)return e.on(`cameraUpdate`,()=>o(Symbol()))},[e]),[s,a]}function ae(e,n){let r=V(`modelReadyState`,n),[i,a]=t.useState(Symbol()),o=t.useMemo(()=>{if(r)return e.model.empty?`Empty`:`Loaded`},[e,i]);return t.useLayoutEffect(()=>{if(r)return e.on(`modelLoaded`,()=>a(Symbol()))},[e]),[o,i]}function oe(e,n){let r=V(`shownFloor`,n),[i,a]=t.useState(Symbol()),o=t.useMemo(()=>{if(r)return e.model.shownFloor},[e,i]);return t.useLayoutEffect(()=>{if(r)return e.on(`modelShownFloorChange`,()=>a(Symbol()))},[e]),[o,i]}function se(e,n){let r=V(`helperVisible`,n),[i,a]=t.useState(Symbol()),o=t.useMemo(()=>{if(r)return e.helperVisible},[e,i]);return t.useLayoutEffect(()=>{if(r)return e.on(`helpersVisibleChange`,()=>a(Symbol()))},[e]),[o,i]}function ce(e,t){if(V(`loadWork`,t))return e}function le(e,t){if(V(`setState`,t))return(...t)=>e.setState(...t)}function ue(e,t){if(V(`on`,t))return(...t)=>e.on(...t)}function de(e,t){if(V(`on`,t))return(...t)=>e.once(...t)}function fe(e,t){if(V(`off`,t))return(...t)=>e.off(...t)}function pe(e,t){if(V(`intersectRaycaster`,t))return(...t)=>e.model.intersectRaycaster(...t)}function me(e,t){if(V(`project2d`,t))return(...t)=>e.project2d(...t)}function he(e,t){if(V(`updateCamera`,t))return(...t)=>e.updateCamera(...t)}function ge(e,t){if(V(`getPixels`,t))return e.getPixels.bind(e)}function _e(e,t){if(V(`render`,t))return(...t)=>e.render(...t)}function ve(e,t){if(V(`needsRender`,t))return()=>{e.needsRender=!0}}function ye(e,t){if(V(`preloadPano`,t))return(...t)=>e.preloadPano(...t)}function be(e,t){if(V(`showFloor`,t))return t=>{typeof t==`number`?e.model.show(t):e.model.show()}}function xe(e,t){if(V(`toggleHelperVisible`,t))return t=>{e.helperVisible=t}}function Se(e){return function(n){return t.forwardRef((r,i)=>{let a=_(),o=v(),[s]=K(a,e),[c,l]=U(a,e),[u,d]=W(a,e),[f,p]=G(a,e),[m,h]=q(a,e),[g,y]=J(a,e),[b]=Y(a,e),[x,S]=X(a,e),[C,w]=ie(a,e),[T,E]=ae(a,e),[D,O]=oe(a,e),[k,A]=se(a,e),j=t.useMemo(()=>{let t={};return H(t,{setState:le(a,e),loadWork:ce(o,e),on:ue(a,e),once:de(a,e),off:fe(a,e),intersectRaycaster:pe(a,e),project2d:me(a,e),updateCamera:he(a,e),getPixels:ge(a,e),render:_e(a,e),needsRender:ve(a,e),preloadPano:ye(a,e),showFloor:be(a,e),toggleHelperVisible:xe(a,e)}),t},[a,o]),M=t.useMemo(()=>{let e=Object.assign({},j);return H(e,{unsafe__fiveInstance:s,state:c,currentState:u,currentObserver:f,work:m,model:g,scene:b,cameraDirection:x,cameraRaycaster:C,modelReadyState:T,shownFloor:D,helperVisible:k}),e},[a,j,l,d,p,h,y,S,w,E,O,A]);return t.createElement(n,Object.assign({ref:i,$five:M},r))})}}function Z(...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 Ce(e,t){return typeof e==`number`&&typeof t==`number`&&isNaN(e)&&isNaN(t)?!0:e===t}function we(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&&!Ce(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(!we(e,n))continue;let i=Q(r,e);t(Q(this.values,e),i)}}};function Te(e){let n=t.createContext(null);return{useStore(e){let r=t.useContext(n);if(r===null)throw Error(`StoreProvider never found.`);let i=t.useRef(!0),[a,o]=t.useState(r.getValues(e)),s=[r,...e];return t.useLayoutEffect(()=>(i.current?i.current=!1:o(r.getValues(e)),r.on(e,e=>o(e))),s),[a,t.useCallback(t=>r.setValues(e,t),s)]},useStoreSetter(e){let r=t.useContext(n);if(r===null)throw Error(`StoreProvider never found.`);return t.useCallback(t=>r.setValues(e,t),[r,...e])},watchStore(e,r,i){let a=t.useContext(n);if(a===null)throw Error(`StoreProvider never found.`);let o=[a,...e];i!==void 0&&(o=o.concat(i)),t.useLayoutEffect(()=>a.on(e,r),o)},useStoreAction(r){let i=t.useContext(n);if(i===null)throw Error(`StoreProvider never found.`);return t.useCallback((...t)=>{let[n,...a]=e[r];return n(()=>i.getValues(a),e=>i.setValues(a,e),...t)},[])},StoreProvider:class extends t.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 t.createElement(n.Provider,{value:this.store},this.props.children)}}}}e.FiveCanvas=C,e.INJECTION_PROPNAME=B,e.Store=$,e.createFiveFeature=Z,e.createFiveProvider=b,e.createStore=Te,e.unsafe__useFiveInstance=w,e.useFiveAction=ee,e.useFiveCameraDirection=te,e.useFiveCameraRaycaster=F,e.useFiveCurrentObserver=j,e.useFiveCurrentState=A,e.useFiveEventCallback=M,e.useFiveFloor=R,e.useFiveHelper=z,e.useFiveModelIntersectRaycaster=ne,e.useFiveModelReadyState=re,e.useFiveProject2d=N,e.useFiveScene=E,e.useFiveSceneEffect=T,e.useFiveState=k,e.useFiveWork=D,e.withFive=Se});
@@ -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/18/2026
5
+ * Version: 6.8.0-alpha.19
6
6
  * Terms:
7
7
  * Realsee SDK License Agreement
8
8
  * Update: July 28, 2021
@@ -252,7 +252,7 @@
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
- */(function(y,E){typeof exports=="object"&&typeof module!="undefined"?E(exports,require("@realsee/five"),require("three")):typeof define=="function"&&define.amd?define(["exports","@realsee/five","three"],E):(y=typeof globalThis!="undefined"?globalThis:y||self,E(y.FiveSDK_ShaderLib={},y.FiveSDK,y.THREE))})(this,(function(y,E,R){"use strict";function V(a){const n=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(a){for(const e in a)if(e!=="default"){const o=Object.getOwnPropertyDescriptor(a,e);Object.defineProperty(n,e,o.get?o:{enumerable:!0,get:()=>a[e]})}}return n.default=a,Object.freeze(n)}const l=V(R);var M=function(a,n){return M=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,o){e.__proto__=o}||function(e,o){for(var t in o)Object.prototype.hasOwnProperty.call(o,t)&&(e[t]=o[t])},M(a,n)};function _(a,n){if(typeof n!="function"&&n!==null)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");M(a,n);function e(){this.constructor=a}a.prototype=n===null?Object.create(n):(e.prototype=n.prototype,new e)}function L(a,n,e,o){function t(r){return r instanceof e?r:new e(function(s){s(r)})}return new(e||(e=Promise))(function(r,s){function f(u){try{i(o.next(u))}catch(d){s(d)}}function c(u){try{i(o.throw(u))}catch(d){s(d)}}function i(u){u.done?r(u.value):t(u.value).then(f,c)}i((o=o.apply(a,n||[])).next())})}function W(a,n){var e={label:0,sent:function(){if(r[0]&1)throw r[1];return r[1]},trys:[],ops:[]},o,t,r,s=Object.create((typeof Iterator=="function"?Iterator:Object).prototype);return s.next=f(0),s.throw=f(1),s.return=f(2),typeof Symbol=="function"&&(s[Symbol.iterator]=function(){return this}),s;function f(i){return function(u){return c([i,u])}}function c(i){if(o)throw new TypeError("Generator is already executing.");for(;s&&(s=0,i[0]&&(e=0)),e;)try{if(o=1,t&&(r=i[0]&2?t.return:i[0]?t.throw||((r=t.return)&&r.call(t),0):t.next)&&!(r=r.call(t,i[1])).done)return r;switch(t=0,r&&(i=[i[0]&2,r.value]),i[0]){case 0:case 1:r=i;break;case 4:return e.label++,{value:i[1],done:!1};case 5:e.label++,t=i[1],i=[0];continue;case 7:i=e.ops.pop(),e.trys.pop();continue;default:if(r=e.trys,!(r=r.length>0&&r[r.length-1])&&(i[0]===6||i[0]===2)){e=0;continue}if(i[0]===3&&(!r||i[1]>r[0]&&i[1]<r[3])){e.label=i[1];break}if(i[0]===6&&e.label<r[1]){e.label=r[1],r=i;break}if(r&&e.label<r[2]){e.label=r[2],e.ops.push(i);break}r[2]&&e.ops.pop(),e.trys.pop();continue}i=n.call(a,e)}catch(u){i=[6,u],t=0}finally{o=r=0}if(i[0]&5)throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}}function O(a,n,e){if(e||arguments.length===2)for(var o=0,t=n.length,r;o<t;o++)(r||!(o in n))&&(r||(r=Array.prototype.slice.call(n,0,o)),r[o]=n[o]);return a.concat(r||Array.prototype.slice.call(n))}typeof SuppressedError=="function"&&SuppressedError;var j=`
255
+ */(function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports,require(`@realsee/five`),require(`three`)):typeof define==`function`&&define.amd?define([`exports`,`@realsee/five`,`three`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e.FiveSDK_ShaderLib={},e.FiveSDK,e.THREE))})(this,function(e,t,n){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});var r=Object.create,i=Object.defineProperty,a=Object.getOwnPropertyDescriptor,o=Object.getOwnPropertyNames,s=Object.getPrototypeOf,c=Object.prototype.hasOwnProperty,l=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(var s=o(t),l=0,u=s.length,d;l<u;l++)d=s[l],!c.call(e,d)&&d!==n&&i(e,d,{get:(e=>t[e]).bind(null,d),enumerable:!(r=a(t,d))||r.enumerable});return e};n=((e,t,n)=>(n=e==null?{}:r(s(e)),l(t||!e||!e.__esModule?i(n,`default`,{value:e,enumerable:!0}):n,e)))(n);var u={type:[`pointcloud`],fragment:{mainBefore:`
256
256
  #if defined(USE_PLANE_DISTANCE)
257
257
  struct Plane {
258
258
  vec3 normal;
@@ -263,7 +263,7 @@
263
263
  uniform float evennessPlaneConstant;
264
264
  uniform float evennessPlaneDepth;
265
265
  #endif
266
- `,J=`
266
+ `,mainStart:``,mainEnd:`
267
267
  #if defined(USE_PLANE_DISTANCE)
268
268
 
269
269
  bool inside = true;
@@ -283,7 +283,7 @@
283
283
  }
284
284
  }
285
285
  #endif
286
- `,H="",q={type:["pointcloud"],fragment:{mainBefore:j,mainStart:H,mainEnd:J},uniforms:{evennessPlaneNormal:new l.Uniform(new l.Vector3),evennessPlaneConstant:new l.Uniform(0),evennessPlanes:new l.Uniform([]),evennessPlaneDepth:new l.Uniform(0)},defines:{USE_PLANE_DISTANCE:!1}},G=(function(a){_(n,a);function n(){var e=a.call(this,q)||this;return Object.defineProperties(e,{evennessPlane:{get:function(){return{depth:this.uniforms.evennessPlaneDepth.value,points:this.uniforms.evennessPoints.value}},set:function(o){var t=o.points,r=o.depth,s=!1;if(t.length!==0&&t.length%4===0){s=!0;var f=t[0],c=t[1],i=t[2],u=t[3],d=new l.Vector3().subVectors(c,f),h=new l.Vector3().subVectors(i,f),m=new l.Vector3().crossVectors(d,h).normalize(),P=-m.dot(f),p=r,g=f.clone().add(m.clone().negate().multiplyScalar(p)),v=f.clone().add(m.clone().multiplyScalar(p)),x=c.clone().add(m.clone().negate().multiplyScalar(p)),w=c.clone().add(m.clone().multiplyScalar(p)),C=i.clone().add(m.clone().negate().multiplyScalar(p)),S=i.clone().add(m.clone().multiplyScalar(p)),z=u.clone().add(m.clone().negate().multiplyScalar(p)),F=u.clone().add(m.clone().multiplyScalar(p)),b=new l.Plane().setFromCoplanarPoints(v,w,S),B=new l.Plane().setFromCoplanarPoints(C,x,g),I=new l.Plane().setFromCoplanarPoints(w,v,g),U=new l.Plane().setFromCoplanarPoints(z,F,S),A=new l.Plane().setFromCoplanarPoints(S,w,x),k=new l.Plane().setFromCoplanarPoints(g,v,F);this.uniforms.evennessPlanes.value=[{normal:b.normal,constant:b.constant},{normal:B.normal,constant:B.constant},{normal:I.normal,constant:I.constant},{normal:U.normal,constant:U.constant},{normal:A.normal,constant:A.constant},{normal:k.normal,constant:k.constant}],this.uniforms.evennessPlaneDepth.value=r,this.uniforms.evennessPlaneNormal.value=m,this.uniforms.evennessPlaneConstant.value=P}this.defines.USE_PLANE_DISTANCE=s,this.needsUpdate=!0}}}),e.evennessPlane={depth:0,points:[]},e}return n})(E.CustomShader),$=`
286
+ `},uniforms:{evennessPlaneNormal:new n.Uniform(new n.Vector3),evennessPlaneConstant:new n.Uniform(0),evennessPlanes:new n.Uniform([]),evennessPlaneDepth:new n.Uniform(0)},defines:{USE_PLANE_DISTANCE:!1}},d=class extends t.CustomShader{constructor(){super(u),Object.defineProperties(this,{evennessPlane:{get(){return{depth:this.uniforms.evennessPlaneDepth.value,points:this.uniforms.evennessPoints.value}},set(e){let{points:t,depth:r}=e,i=!1;if(t.length!==0&&t.length%4==0){i=!0;let e=t[0],a=t[1],o=t[2],s=t[3],c=new n.Vector3().subVectors(a,e),l=new n.Vector3().subVectors(o,e),u=new n.Vector3().crossVectors(c,l).normalize(),d=-u.dot(e),f=r,p=e.clone().add(u.clone().negate().multiplyScalar(f)),m=e.clone().add(u.clone().multiplyScalar(f)),h=a.clone().add(u.clone().negate().multiplyScalar(f)),g=a.clone().add(u.clone().multiplyScalar(f)),_=o.clone().add(u.clone().negate().multiplyScalar(f)),v=o.clone().add(u.clone().multiplyScalar(f)),y=s.clone().add(u.clone().negate().multiplyScalar(f)),b=s.clone().add(u.clone().multiplyScalar(f)),x=new n.Plane().setFromCoplanarPoints(m,g,v),S=new n.Plane().setFromCoplanarPoints(_,h,p),C=new n.Plane().setFromCoplanarPoints(g,m,p),w=new n.Plane().setFromCoplanarPoints(y,b,v),T=new n.Plane().setFromCoplanarPoints(v,g,h),E=new n.Plane().setFromCoplanarPoints(p,m,b);this.uniforms.evennessPlanes.value=[{normal:x.normal,constant:x.constant},{normal:S.normal,constant:S.constant},{normal:C.normal,constant:C.constant},{normal:w.normal,constant:w.constant},{normal:T.normal,constant:T.constant},{normal:E.normal,constant:E.constant}],this.uniforms.evennessPlaneDepth.value=r,this.uniforms.evennessPlaneNormal.value=u,this.uniforms.evennessPlaneConstant.value=d}this.defines.USE_PLANE_DISTANCE=i,this.needsUpdate=!0}}}),this.evennessPlane={depth:0,points:[]}}},f=`
287
287
  #if NUM_SWEEP_OBJECTS > 0
288
288
  uniform float sweepProgress;
289
289
  uniform float sweepRange;
@@ -296,7 +296,7 @@
296
296
  };
297
297
  uniform SWEEP_OBJECT sweepBoxs[NUM_SWEEP_OBJECTS];
298
298
  #endif
299
- `,K=`
299
+ `,p=`
300
300
 
301
301
  #if NUM_SWEEP_OBJECTS > 0
302
302
  #pragma unroll_loop_start
@@ -329,7 +329,7 @@
329
329
  }
330
330
  #pragma unroll_loop_end
331
331
  #endif
332
- `,Y="",Q=(function(a){_(n,a);function n(){var e=a.call(this,{type:["basic","phong","pointcloud"],fragment:{mainBefore:$,mainStart:Y,mainEnd:K},uniforms:{sweepProgress:new l.Uniform(0),sweepRange:new l.Uniform(0),sweepBoxs:new l.Uniform([]),interval:new l.Uniform(.04),threshold:new l.Uniform(.002)},defines:{NUM_SWEEP_OBJECTS:0}})||this;return Object.defineProperties(e,{sweepBoxs:{get:function(){return this.uniforms.sweepBoxs.value},set:function(o){var t=o.length;t>0&&(this.defines.NUM_SWEEP_OBJECTS=t,this.needsUpdate=!0,this.uniforms.sweepBoxs.value=o)}}}),e.sweepBoxs=[],e}return n.prototype.onBeforeCompile=function(e,o){var t=String(this.sweepBoxs.length);e.vertexShader=e.vertexShader.replace(/NUM_SWEEP_OBJECTS/g,t),e.fragmentShader=e.fragmentShader.replace(/NUM_SWEEP_OBJECTS/g,t)},n})(E.CustomShader),Z=`
332
+ `,m=``,h=class extends t.CustomShader{constructor(){super({type:[`basic`,`phong`,`pointcloud`],fragment:{mainBefore:f,mainStart:m,mainEnd:p},uniforms:{sweepProgress:new n.Uniform(0),sweepRange:new n.Uniform(0),sweepBoxs:new n.Uniform([]),interval:new n.Uniform(.04),threshold:new n.Uniform(.002)},defines:{NUM_SWEEP_OBJECTS:0}}),Object.defineProperties(this,{sweepBoxs:{get(){return this.uniforms.sweepBoxs.value},set(e){let t=e.length;t>0&&(this.defines.NUM_SWEEP_OBJECTS=t,this.needsUpdate=!0,this.uniforms.sweepBoxs.value=e)}}}),this.sweepBoxs=[]}onBeforeCompile(e,t){let n=String(this.sweepBoxs.length);e.vertexShader=e.vertexShader.replace(/NUM_SWEEP_OBJECTS/g,n),e.fragmentShader=e.fragmentShader.replace(/NUM_SWEEP_OBJECTS/g,n)}},g=`
333
333
  uniform float pointCloudExpand_progress;
334
334
 
335
335
  vec4 pointCloudExpand_permute(vec4 x) { return mod(((x * 34.0) + 1.0) * x, 289.0); }
@@ -402,7 +402,7 @@ float pointCloudExpand_gln_simplex(vec3 v) {
402
402
  m = m * m;
403
403
  return 42.0 * dot(m * m, vec4(dot(p0, x0), dot(p1, x1), dot(p2, x2), dot(p3, x3)));
404
404
  }
405
- `,X=`
405
+ `,_=`
406
406
  float pointCloudExpand_sizeScale = 1.0;
407
407
  float pointCloudExpand_sizeBasis = 0.0;
408
408
  vec4 pointCloudExpand_basis = vec4((modelBoundingMax + modelBoundingMin) / 2.0, 1.0);
@@ -416,8 +416,7 @@ float pointCloudExpand_progress2 = step(pointCloudExpand_progress, 1.0 - pointCl
416
416
  pointCloudExpand_sizeBasis = mix(0.1 * step(abs(pointCloudExpand_noise), 0.5 / pointCloudExpand_boundingRadius), pointCloudExpand_sizeBasis, pointCloudExpand_progress2);
417
417
  gl_PointSize = gl_PointSize * pointCloudExpand_sizeScale + pointCloudExpand_sizeBasis;
418
418
  vPointSize = gl_PointSize;
419
- `,ee=(function(a){_(n,a);function n(){return a.call(this,{type:["pointcloud"],vertex:{mainBefore:Z,mainEnd:X},uniforms:{pointCloudExpand_progress:new l.Uniform(0)}})||this}return Object.defineProperty(n.prototype,"progress",{get:function(){return this.uniforms.pointCloudExpand_progress.value},set:function(e){this.uniforms.pointCloudExpand_progress.value=e},enumerable:!1,configurable:!0}),n})(E.CustomShader);const N=`(function(){"use strict";function P(n){onmessage=function(a){Promise.resolve(a.data).then(function(t){return n(t)}).then(function(t){var v=t.output,r=t.transfer;return postMessage(v,r)}).catch(function(t){return postMessage({$$error:t})})}}function y(n,a,t){var v=new OffscreenCanvas(a,t),r=v.getContext("2d");if(!r)throw new Error("Failed to get canvas context");r.clearRect(0,0,a,t),r.fillStyle="rgba(0,0,0,1.0)",r.beginPath();var o=n[0][0],i=n[0][0],u=n[0][1],m=n[0][1];n.forEach(function(e){var f=e[0],s=e[1];o=Math.min(o,f),i=Math.max(i,f),u=Math.min(u,s),m=Math.max(m,s)});var g=i-o,c=m-u,h=g>=c?a/g:a/c,x=n.map(function(e){var f=e[0]-o,s=e[1]-u;return[f,s]}),l=x.map(function(e){return[e[0]*h,e[1]*h]});return l.forEach(function(e,f){var s=e[0],D=e[1];f===0?r.moveTo(s,D):r.lineTo(s,D)}),r.closePath(),r.fill(),r.getImageData(0,0,a,t)}function M(n,a,t){for(var v=new ImageData(a,t),r=n.map(function(s){return y(s.polygon,s.width,s.height)}),o=0;o<a;o++)for(var i=0;i<t;i++){for(var u=0,m=0,g=0,c=0;c<r.length;c++){var h=r[c].data,x=(o+i*a)*4;if(h[x+3]===255){var l=c%8,e=Math.floor(c/8);e===0?u=u|1<<l:e===1?m=m|1<<l:e===2&&(g=g|1<<l)}}var f=(o+i*a)*4;v.data[f]=u,v.data[f+1]=m,v.data[f+2]=g,v.data[f+3]=255}return v}P(function(n){return Promise.resolve(n).then(function(a){var t=a.canvasDataList,v=a.width,r=a.height,o=M(t,v,r);return{output:{imageData:o},transfer:[o.data.buffer]}})})})();
420
- `,D=typeof self!="undefined"&&self.Blob&&new Blob(["(self.URL || self.webkitURL).revokeObjectURL(self.location.href);",N],{type:"text/javascript;charset=utf-8"});function ne(a){let n;try{if(n=D&&(self.URL||self.webkitURL).createObjectURL(D),!n)throw"";const e=new Worker(n,{name:a==null?void 0:a.name});return e.addEventListener("error",()=>{(self.URL||self.webkitURL).revokeObjectURL(n)}),e}catch(e){return new Worker("data:text/javascript;charset=utf-8,"+encodeURIComponent(N),{name:a==null?void 0:a.name})}}var oe=(function(){function a(n,e){this.disposed=!1,this.pool=e,this.workerCreator=n,this.queue=[],this.workers=[],this.workerResolvers=[],this.workerStatus=0}return a.prototype.setWorkerCreator=function(n){this.workerCreator=n},a.prototype.initWorker=function(n){if(!this.workerCreator)throw new Error("workerCreator is not defined");if(!this.workers[n]){var e=this.workerCreator(n);e.addEventListener("message",this.onMessage.bind(this,n)),this.workers[n]=e}},a.prototype.getIdleWorker=function(){for(var n=0;n<this.pool;n++)if(!(this.workerStatus&1<<n))return n;return-1},a.prototype.onMessage=function(n,e){var o=this.workerResolvers[n];if(e.data&&"$$error"in e.data?o==null||o.reject(e.data.$$error):o==null||o.resolve(e.data),this.workerResolvers[n]=void 0,this.queue.length){var t=this.queue.shift(),r=t.resolve,s=t.reject,f=t.input,c=t.transfer;this.workerResolvers[n]={resolve:r,reject:s},this.workers[n].postMessage(f,c)}else this.workerStatus^=1<<n},a.prototype.postMessage=function(n,e){var o=this;return e===void 0&&(e=[]),new Promise(function(t,r){if(o.disposed){r(new Error("disposed"));return}var s=o.getIdleWorker();s!==-1?(o.initWorker(s),o.workerStatus|=1<<s,o.workerResolvers[s]={resolve:t,reject:r},o.workers[s].postMessage(n,e)):o.queue.push({resolve:t,reject:r,input:n,transfer:e})})},a.prototype.dispose=function(){this.disposed=!0,this.workers.forEach(function(n){n.terminate()}),this.workers.length=0,this.workerResolvers.forEach(function(n){n==null||n.reject(new Error("disposed"))}),this.workerResolvers.length=0,this.queue.forEach(function(n){n.reject(new Error("disposed"))}),this.queue.length=0,this.workerStatus=0},a})();function te(a){if(a.length<3)throw new Error("At least 3 points are required to compute alignment matrix");var n=a[0],e=a[1],o=a[2],t=new l.Vector3().subVectors(e,n),r=new l.Vector3().subVectors(o,n),s=new l.Vector3().crossVectors(t,r);if(s.lengthSq()<1e-4)for(var f=3;f<a.length&&(o=a[f],r=new l.Vector3().subVectors(o,n),s=new l.Vector3().crossVectors(t,r),!(s.lengthSq()>=1e-4));f++);if(s.lengthSq()<1e-4)throw new Error("All points are collinear, cannot compute normal");s.normalize();var c=new l.Vector3;a.forEach(function(C){return c.add(C)}),c.divideScalar(a.length);var i=new l.Vector3(0,1,0),u=new l.Quaternion,d=s.dot(i);if(!(Math.abs(d-1)<1e-4))if(Math.abs(d+1)<1e-4){var h=new l.Vector3(1,0,0);u.setFromAxisAngle(h,Math.PI)}else{var h=new l.Vector3().crossVectors(s,i).normalize(),m=Math.acos(d);u.setFromAxisAngle(h,m)}var P=new l.Matrix4().makeTranslation(-c.x,-c.y,-c.z),p=new l.Matrix4().makeRotationFromQuaternion(u),g=new l.Matrix4;g.multiplyMatrices(p,P);var v=a.map(function(C){var S=C.clone().applyMatrix4(g);return[S.x,S.z]});if(v.length>0){var x=v[0],w=v[v.length-1];(x[0]!==w[0]||x[1]!==w[1])&&v.push([x[0],x[1]])}return{transformMatrix:g,points2D:v}}var re=`
419
+ `,v=class extends t.CustomShader{constructor(){super({type:[`pointcloud`],vertex:{mainBefore:g,mainEnd:_},uniforms:{pointCloudExpand_progress:new n.Uniform(0)}})}get progress(){return this.uniforms.pointCloudExpand_progress.value}set progress(e){this.uniforms.pointCloudExpand_progress.value=e}};function y(e,t,n,r){function i(e){return e instanceof n?e:new n(function(t){t(e)})}return new(n||(n=Promise))(function(n,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function s(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){e.done?n(e.value):i(e.value).then(o,s)}c((r=r.apply(e,t||[])).next())})}var b="(function(){function e(e){onmessage=t=>{Promise.resolve(t.data).then(t=>e(t)).then(({output:e,transfer:t})=>postMessage(e,t)).catch(e=>postMessage({$$error:e}))}}function t(e,t,n){let r=new OffscreenCanvas(t,n).getContext(`2d`);if(!r)throw Error(`Failed to get canvas context`);r.clearRect(0,0,t,n),r.fillStyle=`rgba(0,0,0,1.0)`,r.beginPath();let i=e[0][0],a=e[0][0],o=e[0][1],s=e[0][1];e.forEach(e=>{let t=e[0],n=e[1];i=Math.min(i,t),a=Math.max(a,t),o=Math.min(o,n),s=Math.max(s,n)});let c=a-i,l=s-o,u=c>=l?t/c:t/l;return e.map(e=>[e[0]-i,e[1]-o]).map(e=>[e[0]*u,e[1]*u]).forEach((e,t)=>{let[n,i]=e;t===0?r.moveTo(n,i):r.lineTo(n,i)}),r.closePath(),r.fill(),r.getImageData(0,0,t,n)}function n(e,n,r){let i=new ImageData(n,r),a=e.map(e=>t(e.polygon,e.width,e.height));for(let e=0;e<n;e++)for(let t=0;t<r;t++){let r=0,o=0,s=0;for(let i=0;i<a.length;i++)if(a[i].data[(e+t*n)*4+3]===255){let e=i%8,t=Math.floor(i/8);t===0?r|=1<<e:t===1?o|=1<<e:t===2&&(s|=1<<e)}let c=(e+t*n)*4;i.data[c]=r,i.data[c+1]=o,i.data[c+2]=s,i.data[c+3]=255}return i}e(e=>Promise.resolve(e).then(({canvasDataList:e,width:t,height:r})=>{let i=n(e,t,r);return{output:{imageData:i},transfer:[i.data.buffer]}}))})();",x=typeof self<`u`&&self.Blob&&new Blob([`(self.URL || self.webkitURL).revokeObjectURL(self.location.href);`,b],{type:`text/javascript;charset=utf-8`});function S(e){let t;try{if(t=x&&(self.URL||self.webkitURL).createObjectURL(x),!t)throw``;let n=new Worker(t,{name:e==null?void 0:e.name});return n.addEventListener(`error`,()=>{(self.URL||self.webkitURL).revokeObjectURL(t)}),n}catch(t){return new Worker(`data:text/javascript;charset=utf-8,`+encodeURIComponent(b),{name:e==null?void 0:e.name})}}var C=class{constructor(e,t){this.disposed=!1,this.pool=t,this.workerCreator=e,this.queue=[],this.workers=[],this.workerResolvers=[],this.workerStatus=0}setWorkerCreator(e){this.workerCreator=e}initWorker(e){if(!this.workerCreator)throw Error(`workerCreator is not defined`);if(!this.workers[e]){let t=this.workerCreator(e);t.addEventListener(`message`,this.onMessage.bind(this,e)),this.workers[e]=t}}getIdleWorker(){for(let e=0;e<this.pool;e++)if(!(this.workerStatus&1<<e))return e;return-1}onMessage(e,t){let n=this.workerResolvers[e];if(t.data&&`$$error`in t.data?n==null||n.reject(t.data.$$error):n==null||n.resolve(t.data),this.workerResolvers[e]=void 0,this.queue.length){let{resolve:t,reject:n,input:r,transfer:i}=this.queue.shift();this.workerResolvers[e]={resolve:t,reject:n},this.workers[e].postMessage(r,i)}else this.workerStatus^=1<<e}postMessage(e,t=[]){return new Promise((n,r)=>{if(this.disposed){r(Error(`disposed`));return}let i=this.getIdleWorker();i===-1?this.queue.push({resolve:n,reject:r,input:e,transfer:t}):(this.initWorker(i),this.workerStatus|=1<<i,this.workerResolvers[i]={resolve:n,reject:r},this.workers[i].postMessage(e,t))})}dispose(){this.disposed=!0,this.workers.forEach(e=>{e.terminate()}),this.workers.length=0,this.workerResolvers.forEach(e=>{e==null||e.reject(Error(`disposed`))}),this.workerResolvers.length=0,this.queue.forEach(e=>{e.reject(Error(`disposed`))}),this.queue.length=0,this.workerStatus=0}};function w(e){if(e.length<3)throw Error(`At least 3 points are required to compute alignment matrix`);let t=e[0],r=e[1],i=e[2],a=new n.Vector3().subVectors(r,t),o=new n.Vector3().subVectors(i,t),s=new n.Vector3().crossVectors(a,o);if(s.lengthSq()<1e-4)for(let r=3;r<e.length&&(i=e[r],o=new n.Vector3().subVectors(i,t),s=new n.Vector3().crossVectors(a,o),!(s.lengthSq()>=1e-4));r++);if(s.lengthSq()<1e-4)throw Error(`All points are collinear, cannot compute normal`);s.normalize();let c=new n.Vector3;e.forEach(e=>c.add(e)),c.divideScalar(e.length);let l=new n.Vector3(0,1,0),u=new n.Quaternion,d=s.dot(l);if(!(Math.abs(d-1)<1e-4))if(Math.abs(d+1)<1e-4){let e=new n.Vector3(1,0,0);u.setFromAxisAngle(e,Math.PI)}else{let e=new n.Vector3().crossVectors(s,l).normalize(),t=Math.acos(d);u.setFromAxisAngle(e,t)}let f=new n.Matrix4().makeTranslation(-c.x,-c.y,-c.z),p=new n.Matrix4().makeRotationFromQuaternion(u),m=new n.Matrix4;m.multiplyMatrices(p,f);let h=e.map(e=>{let t=e.clone().applyMatrix4(m);return[t.x,t.z]});if(h.length>0){let e=h[0],t=h[h.length-1];(e[0]!==t[0]||e[1]!==t[1])&&h.push([e[0],e[1]])}return{transformMatrix:m,points2D:h}}var T=`
421
420
  uniform sampler2D polygonTexture;
422
421
 
423
422
  struct PolygonClipper {
@@ -432,7 +431,7 @@ vPointSize = gl_PointSize;
432
431
  #if NUM_POLYGON_CLIPPER > 0
433
432
  uniform PolygonClipper polygonClippers[NUM_POLYGON_CLIPPER];
434
433
  #endif
435
- `,ae=`
434
+ `,E=`
436
435
 
437
436
  for(int i = 0; i < NUM_POLYGON_CLIPPER; i++){
438
437
  PolygonClipper polygonClipper = polygonClippers[i];
@@ -509,7 +508,7 @@ vPointSize = gl_PointSize;
509
508
  }
510
509
  }
511
510
 
512
- `,T=(function(){function a(){this.canvasCache=new Map,this.canvas=document.createElement("canvas"),this.canvas.width=512,this.canvas.height=512,this.polygonTexture=new l.CanvasTexture(this.canvas),this.polygonCount=0}return a.prototype.setSize=function(n){this.canvas.width=n,this.canvas.height=n},a.prototype.generatePolygonCanvas=function(n){var e=JSON.stringify(n);if(this.canvasCache.has(e))return this.canvasCache.get(e);var o=document.createElement("canvas");o.width=this.canvas.width,o.height=this.canvas.height;var t=o.getContext("2d");if(!t)throw new Error("Failed to get canvas context");if(this.polygonCount>=24)throw new Error("polygon count exceed 24, please clear the canvas");t.clearRect(0,0,this.canvas.width,this.canvas.height),t.fillStyle="rgba(0,0,0,1.0)",t.beginPath();var r=n[0][0],s=n[0][0],f=n[0][1],c=n[0][1];n.forEach(function(p){var g=p[0],v=p[1];r=Math.min(r,g),s=Math.max(s,g),f=Math.min(f,v),c=Math.max(c,v)});var i=s-r,u=c-f,d=this.canvas.width,h=i>=u?d/i:d/u,m=n.map(function(p){var g=p[0]-r,v=p[1]-f;return[g,v]}),P=m.map(function(p){return[p[0]*h,p[1]*h]});return P.forEach(function(p,g){var v=p[0],x=p[1];g===0?t.moveTo(v,x):t.lineTo(v,x)}),t.closePath(),t.fill(),this.polygonCount++,this.canvasCache.set(e,o),o},a.generatePolygonGeometry=function(n,e){for(var o=new l.BufferGeometry,t=n.slice(0,-1),r=t.map(function(h){return[h[0],0,h[1]]}),s=t.map(function(h){return[h[0],e,h[1]]}),f=O(O([],r,!0),s,!0),c=t.length,i=[],u=1;u<c-1;u++)i.push(0,u,u+1);for(var u=1;u<c-1;u++)i.push(c,c+u,c+u+1);for(var u=0;u<c;u++){var d=(u+1)%c;i.push(u,d,c+u),i.push(d,c+d,c+u)}return o.setAttribute("position",new l.Float32BufferAttribute(f.flat(),3)),o.setIndex(i),o.computeVertexNormals(),o},a.prototype.generatePolygonTexture=function(n){var e=this.canvas.getContext("2d",{willReadFrequently:!0});if(!e)throw new Error("Failed to get canvas context");for(var o=e.createImageData(this.canvas.width,this.canvas.height),t=0;t<this.canvas.width;t++)for(var r=0;r<this.canvas.height;r++){for(var s=0,f=0,c=0,i=0;i<n.length;i++){var u=n[i].getContext("2d",{willReadFrequently:!0});if(!u)throw new Error("Failed to get canvas context");var d=u.getImageData(t,r,1,1).data;if(d[3]===255){var h=i%8,m=Math.floor(i/8);m===0?s=s|1<<h:m===1?f=f|1<<h:m===2&&(c=c|1<<h)}}var P=(t+r*this.canvas.width)*4;o.data[P]=s,o.data[P+1]=f,o.data[P+2]=c,o.data[P+3]=255}return e.putImageData(o,0,0),new l.CanvasTexture(this.canvas)},a})(),ie=(function(a){_(n,a);function n(e){e===void 0&&(e=512);var o=a.call(this,{type:["basic","phong","pointcloud"],fragment:{mainBefore:re,mainEnd:ae},uniforms:{polygonClippers:new l.Uniform([]),polygonTexture:new l.Uniform(null)}})||this;return o._polygonClippers=[],o.polygonGenerater=new T,o._radio=512,o.radio=e,o.workerPool=new oe(function(){return new ne},1),o}return n.prototype.setPolygonClippersAsync=function(e){return L(this,void 0,void 0,function(){var o,t,r,s,f,c,i=this;return W(this,function(u){switch(u.label){case 0:return this._polygonClippers=e,o=this.uniforms,o.polygonClippers.value=e.map(function(d){var h=new l.Matrix4().getInverse(d.polygonTransform),m=d.polygonHeight,P=d.cutOutSide,p=d.polygon,g=d.floorIndex!==void 0?d.floorIndex:-1,v=p[0][0],x=p[0][0],w=p[0][1],C=p[0][1];p.forEach(function(F){var b=F[0],B=F[1];v=Math.min(v,b),x=Math.max(x,b),w=Math.min(w,B),C=Math.max(C,B)});var S=new l.Vector2(v,w),z=x-v>=C-w?x-v:C-w;return{polygonTransformInverse:h,polygonHeight:m,minPos:S,polygonScale:z,cutOutSide:P,floorIndex:g}}),t=e.map(function(d){return{polygon:d.polygon,width:i.polygonGenerater.canvas.width,height:i.polygonGenerater.canvas.height}}),[4,this.workerPool.postMessage({canvasDataList:t,width:this.polygonGenerater.canvas.width,height:this.polygonGenerater.canvas.height})];case 1:return r=u.sent(),s=document.createElement("canvas"),s.width=this.polygonGenerater.canvas.width,s.height=this.polygonGenerater.canvas.height,f=s.getContext("2d"),f&&(f.putImageData(r.imageData,0,0),c=new l.CanvasTexture(s),c.minFilter=l.NearestFilter,c.magFilter=l.NearestFilter,this.uniforms.polygonTexture.value=c,this.needsUpdate=!0),[2]}})})},Object.defineProperty(n.prototype,"polygonClippers",{get:function(){return this._polygonClippers},set:function(e){this._polygonClippers=e},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"radio",{get:function(){return this._radio},set:function(e){this._radio=e,this.polygonGenerater.setSize(e)},enumerable:!1,configurable:!0}),n.prototype.dispose=function(){this.workerPool.dispose()},n.prototype.onBeforeCompile=function(e,o){var t=String(this.polygonClippers.length);e.vertexShader=e.vertexShader.replace(/NUM_POLYGON_CLIPPER/g,t),e.fragmentShader=e.fragmentShader.replace(/NUM_POLYGON_CLIPPER/g,t)},n})(E.CustomShader),se=`
511
+ `,D=class{constructor(){this.canvasCache=new Map,this.canvas=document.createElement(`canvas`),this.canvas.width=512,this.canvas.height=512,this.polygonTexture=new n.CanvasTexture(this.canvas),this.polygonCount=0}setSize(e){this.canvas.width=e,this.canvas.height=e}generatePolygonCanvas(e){let t=JSON.stringify(e);if(this.canvasCache.has(t))return this.canvasCache.get(t);{let n=document.createElement(`canvas`);n.width=this.canvas.width,n.height=this.canvas.height;let r=n.getContext(`2d`);if(!r)throw Error(`Failed to get canvas context`);if(this.polygonCount>=24)throw Error(`polygon count exceed 24, please clear the canvas`);r.clearRect(0,0,this.canvas.width,this.canvas.height),r.fillStyle=`rgba(0,0,0,1.0)`,r.beginPath();let i=e[0][0],a=e[0][0],o=e[0][1],s=e[0][1];e.forEach(e=>{let t=e[0],n=e[1];i=Math.min(i,t),a=Math.max(a,t),o=Math.min(o,n),s=Math.max(s,n)});let c=a-i,l=s-o,u=this.canvas.width,d=c>=l?u/c:u/l;return e.map(e=>[e[0]-i,e[1]-o]).map(e=>[e[0]*d,e[1]*d]).forEach((e,t)=>{let[n,i]=e;t===0?r.moveTo(n,i):r.lineTo(n,i)}),r.closePath(),r.fill(),this.polygonCount++,this.canvasCache.set(t,n),n}}static generatePolygonGeometry(e,t){let r=new n.BufferGeometry,i=e.slice(0,-1),a=i.map(e=>[e[0],0,e[1]]),o=i.map(e=>[e[0],t,e[1]]),s=[...a,...o],c=i.length,l=[];for(let e=1;e<c-1;e++)l.push(0,e,e+1);for(let e=1;e<c-1;e++)l.push(c,c+e,c+e+1);for(let e=0;e<c;e++){let t=(e+1)%c;l.push(e,t,c+e),l.push(t,c+t,c+e)}return r.setAttribute(`position`,new n.Float32BufferAttribute(s.flat(),3)),r.setIndex(l),r.computeVertexNormals(),r}generatePolygonTexture(e){let t=this.canvas.getContext(`2d`,{willReadFrequently:!0});if(!t)throw Error(`Failed to get canvas context`);let r=t.createImageData(this.canvas.width,this.canvas.height);for(let t=0;t<this.canvas.width;t++)for(let n=0;n<this.canvas.height;n++){let i=0,a=0,o=0;for(let r=0;r<e.length;r++){let s=e[r].getContext(`2d`,{willReadFrequently:!0});if(!s)throw Error(`Failed to get canvas context`);if(s.getImageData(t,n,1,1).data[3]===255){let e=r%8,t=Math.floor(r/8);t===0?i|=1<<e:t===1?a|=1<<e:t===2&&(o|=1<<e)}}let s=(t+n*this.canvas.width)*4;r.data[s]=i,r.data[s+1]=a,r.data[s+2]=o,r.data[s+3]=255}return t.putImageData(r,0,0),new n.CanvasTexture(this.canvas)}},O=class extends t.CustomShader{constructor(e=512){super({type:[`basic`,`phong`,`pointcloud`],fragment:{mainBefore:T,mainEnd:E},uniforms:{polygonClippers:new n.Uniform([]),polygonTexture:new n.Uniform(null)}}),this._polygonClippers=[],this.polygonGenerater=new D,this._radio=512,this.radio=e,this.workerPool=new C(()=>new S,1)}setPolygonClippersAsync(e){return y(this,void 0,void 0,function*(){this._polygonClippers=e;let t=this.uniforms;t.polygonClippers.value=e.map(e=>{let t=new n.Matrix4().getInverse(e.polygonTransform),r=e.polygonHeight,i=e.cutOutSide,a=e.polygon,o=e.floorIndex===void 0?-1:e.floorIndex,s=a[0][0],c=a[0][0],l=a[0][1],u=a[0][1];return a.forEach(e=>{let t=e[0],n=e[1];s=Math.min(s,t),c=Math.max(c,t),l=Math.min(l,n),u=Math.max(u,n)}),{polygonTransformInverse:t,polygonHeight:r,minPos:new n.Vector2(s,l),polygonScale:c-s>=u-l?c-s:u-l,cutOutSide:i,floorIndex:o}});let r=e.map(e=>({polygon:e.polygon,width:this.polygonGenerater.canvas.width,height:this.polygonGenerater.canvas.height})),i=yield this.workerPool.postMessage({canvasDataList:r,width:this.polygonGenerater.canvas.width,height:this.polygonGenerater.canvas.height}),a=document.createElement(`canvas`);a.width=this.polygonGenerater.canvas.width,a.height=this.polygonGenerater.canvas.height;let o=a.getContext(`2d`);if(o){o.putImageData(i.imageData,0,0);let e=new n.CanvasTexture(a);e.minFilter=n.NearestFilter,e.magFilter=n.NearestFilter,this.uniforms.polygonTexture.value=e,this.needsUpdate=!0}})}get polygonClippers(){return this._polygonClippers}set polygonClippers(e){this._polygonClippers=e}get radio(){return this._radio}set radio(e){this._radio=e,this.polygonGenerater.setSize(e)}dispose(){this.workerPool.dispose()}onBeforeCompile(e,t){let n=String(this.polygonClippers.length);e.vertexShader=e.vertexShader.replace(/NUM_POLYGON_CLIPPER/g,n),e.fragmentShader=e.fragmentShader.replace(/NUM_POLYGON_CLIPPER/g,n)}},k=`
513
512
  #if NUM_SHINE_OBJECTS > 0
514
513
  uniform float shineProgress;
515
514
  struct SHINE_OBJECT {
@@ -518,7 +517,7 @@ vPointSize = gl_PointSize;
518
517
  };
519
518
  uniform SHINE_OBJECT shineBoxes[NUM_SHINE_OBJECTS];
520
519
  #endif
521
- `,le=`
520
+ `,A=`
522
521
  #if NUM_SHINE_OBJECTS > 0
523
522
  #pragma unroll_loop_start
524
523
  for ( int i = 0; i < NUM_SHINE_OBJECTS; i ++ ) {
@@ -534,4 +533,4 @@ vPointSize = gl_PointSize;
534
533
  }
535
534
  #pragma unroll_loop_end
536
535
  #endif
537
- `,ue="",ce=(function(a){_(n,a);function n(){var e=a.call(this,{type:["basic","phong","none"],fragment:{mainBefore:se,mainStart:ue,mainEnd:le},uniforms:{shineProgress:new l.Uniform(0),shineBoxes:new l.Uniform([])},defines:{NUM_SHINE_OBJECTS:0}})||this;return Object.defineProperties(e,{shineBoxes:{get:function(){return this.uniforms.shineBoxes.value},set:function(o){var t=o.length;t>0&&(this.defines.NUM_SHINE_OBJECTS=t,this.uniforms.shineBoxes.value=o)}}}),e.shineBoxes=[],e}return n.prototype.onBeforeCompile=function(e,o){var t=String(this.shineBoxes.length);e.vertexShader=e.vertexShader.replace(/NUM_SHINE_OBJECTS/g,t),e.fragmentShader=e.fragmentShader.replace(/NUM_SHINE_OBJECTS/g,t)},n})(E.CustomShader);y.EvenessPlaneShader=G,y.PointCloudExpandShader=ee,y.PolygonCuterShader=ie,y.PolygonGenerater=T,y.ShineModelShader=ce,y.SweepModelShader=Q,y.computeAlignmentMatrix=te,Object.defineProperty(y,Symbol.toStringTag,{value:"Module"})}));
536
+ `,j=``,M=class extends t.CustomShader{constructor(){super({type:[`basic`,`phong`,`none`],fragment:{mainBefore:k,mainStart:j,mainEnd:A},uniforms:{shineProgress:new n.Uniform(0),shineBoxes:new n.Uniform([])},defines:{NUM_SHINE_OBJECTS:0}}),Object.defineProperties(this,{shineBoxes:{get(){return this.uniforms.shineBoxes.value},set(e){let t=e.length;t>0&&(this.defines.NUM_SHINE_OBJECTS=t,this.uniforms.shineBoxes.value=e)}}}),this.shineBoxes=[]}onBeforeCompile(e,t){let n=String(this.shineBoxes.length);e.vertexShader=e.vertexShader.replace(/NUM_SHINE_OBJECTS/g,n),e.fragmentShader=e.fragmentShader.replace(/NUM_SHINE_OBJECTS/g,n)}};e.EvenessPlaneShader=d,e.PointCloudExpandShader=v,e.PolygonCuterShader=O,e.PolygonGenerater=D,e.ShineModelShader=M,e.SweepModelShader=h,e.computeAlignmentMatrix=w});
@@ -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/18/2026
5
+ * Version: 6.8.0-alpha.19
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
- */(function(s,u){typeof exports=="object"&&typeof module!="undefined"?u(exports,require("three")):typeof define=="function"&&define.amd?define(["exports","three"],u):(s=typeof globalThis!="undefined"?globalThis:s||self,u(s.FiveSDK_Sticker={},s.THREE))})(this,(function(s,u){"use strict";function w(t){const n=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const e in t)if(e!=="default"){const r=Object.getOwnPropertyDescriptor(t,e);Object.defineProperty(n,e,r.get?r:{enumerable:!0,get:()=>t[e]})}}return n.default=t,Object.freeze(n)}const o=w(u);var m=function(t,n){return m=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,r){e.__proto__=r}||function(e,r){for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&(e[i]=r[i])},m(t,n)};function T(t,n){if(typeof n!="function"&&n!==null)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");m(t,n);function e(){this.constructor=t}t.prototype=n===null?Object.create(n):(e.prototype=n.prototype,new e)}typeof SuppressedError=="function"&&SuppressedError;var E=new Float32Array([-.5,-.5,0,.5,-.5,0,-.5,.5,0,.5,.5,0]),_=new Float32Array([0,0,1,0,0,1,1,1]),R=new Uint8Array([0,1,2,1,3,2]),c=new o.BufferGeometry;c.setAttribute("position",new o.BufferAttribute(E,3)),c.setAttribute("uv",new o.BufferAttribute(_,2)),c.setIndex(new o.BufferAttribute(R,1));var l=window,g=l.requestAnimationFrame||l.mozRequestAnimationFrame||l.webkitRequestAnimationFrame||l.msRequestAnimationFrame||(function(t){return setTimeout(t,16)}),S=typeof performance!="undefined"&&typeof performance.timing!="undefined"?performance.timing.navigationStart:Date.now(),v=typeof performance!="undefined"?(function(){return S+performance.now()}):(function(){return Date.now()});function A(t,n){t.naturalWidth>0&&g(function(){return n()});var e=function(){return n()};return t.addEventListener("load",e,!1),function(){return t.removeEventListener("load",e,!1)}}function b(t,n){var e=v(),r=!1,i=function(){r=!0,n();var f=v();f-e<3e3?g(i):r=!1},a=function(){e=v(),r===!1&&i()};return t.addEventListener("timeupdate",a,!1),function(){t.removeEventListener("timeupdate",a,!1),r=!1}}function h(t,n){var e=t.dispose;t.dispose=function(){n(),e.call(t)}}var O=(function(t){T(n,t);function n(e,r,i){var a=this,f=new o.MeshBasicMaterial;if(a=t.call(this,c,f)||this,a._needsRender=!1,a.scale.set(e,r,1),typeof i=="string"){f.transparent=/\.png$/.test(i);var y=new Image;y.src=i,y.crossOrigin="",i=y}if(i instanceof HTMLImageElement){var p=f.map=new o.Texture;p.wrapS=o.ClampToEdgeWrapping,p.wrapT=o.ClampToEdgeWrapping,p.minFilter=o.LinearFilter,p.encoding=o.sRGBEncoding,h(p,A(i,function(){p.image=i,p.needsUpdate=!0,a._needsRender=!0}))}else if(i instanceof HTMLCanvasElement)f.map=new o.CanvasTexture(i);else if(i instanceof HTMLVideoElement){var d=f.map=new o.VideoTexture(i);d.wrapS=o.ClampToEdgeWrapping,d.wrapT=o.ClampToEdgeWrapping,d.minFilter=o.LinearFilter,d.encoding=o.sRGBEncoding,h(d,b(i,function(){a._needsRender=!0}))}return a}return Object.defineProperty(n,"version",{get:function(){return"6.8.0-alpha.17"},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"needsRender",{get:function(){return this._needsRender},set:function(e){this._needsRender=e,e===!0&&this.material.map&&(this.material.map.needsUpdate=!0)},enumerable:!1,configurable:!0}),n.prototype.setSize=function(e,r){this.scale.set(e,r,1),this._needsRender=!0},n.prototype.setTransparent=function(e){this.material.transparent=e,this._needsRender=!0},n.prototype.locationWithIntersection=function(e,r){r===void 0&&(r=.005);var i=e.point,a=e.face;this.position.copy(i),a&&(this.position.add(a.normal.clone().setLength(r)),this.lookAt(i.clone().add(a.normal))),this._needsRender=!0},n.prototype.dispose=function(){var e;(e=this.material.map)===null||e===void 0||e.dispose(),this.material.dispose()},n})(o.Mesh);s.Sticker=O,Object.defineProperty(s,Symbol.toStringTag,{value:"Module"})}));
255
+ */(function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports,require(`three`)):typeof define==`function`&&define.amd?define([`exports`,`three`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e.FiveSDK_Sticker={},e.THREE))})(this,function(e,t){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});var n=Object.create,r=Object.defineProperty,i=Object.getOwnPropertyDescriptor,a=Object.getOwnPropertyNames,o=Object.getPrototypeOf,s=Object.prototype.hasOwnProperty,c=(e,t,n,o)=>{if(t&&typeof t==`object`||typeof t==`function`)for(var c=a(t),l=0,u=c.length,d;l<u;l++)d=c[l],!s.call(e,d)&&d!==n&&r(e,d,{get:(e=>t[e]).bind(null,d),enumerable:!(o=i(t,d))||o.enumerable});return e};t=((e,t,i)=>(i=e==null?{}:n(o(e)),c(t||!e||!e.__esModule?r(i,`default`,{value:e,enumerable:!0}):i,e)))(t);var l=new Float32Array([-.5,-.5,0,.5,-.5,0,-.5,.5,0,.5,.5,0]),u=new Float32Array([0,0,1,0,0,1,1,1]),d=new Uint8Array([0,1,2,1,3,2]),f=new t.BufferGeometry;f.setAttribute(`position`,new t.BufferAttribute(l,3)),f.setAttribute(`uv`,new t.BufferAttribute(u,2)),f.setIndex(new t.BufferAttribute(d,1));var p=window,m=p.requestAnimationFrame||p.mozRequestAnimationFrame||p.webkitRequestAnimationFrame||p.msRequestAnimationFrame||(e=>setTimeout(e,16)),h=typeof performance<`u`&&performance.timing!==void 0?performance.timing.navigationStart:Date.now(),g=typeof performance<`u`?(()=>h+performance.now()):(()=>Date.now());function _(e,t){e.naturalWidth>0&&m(()=>t());let n=()=>t();return e.addEventListener(`load`,n,!1),()=>e.removeEventListener(`load`,n,!1)}function v(e,t){let n=g(),r=!1,i=()=>{r=!0,t(),g()-n<3e3?m(i):r=!1},a=()=>{n=g(),r===!1&&i()};return e.addEventListener(`timeupdate`,a,!1),()=>{e.removeEventListener(`timeupdate`,a,!1),r=!1}}function y(e,t){let n=e.dispose;e.dispose=()=>{t(),n.call(e)}}e.Sticker=class extends t.Mesh{static get version(){return`6.8.0-alpha.19`}constructor(e,n,r){let i=new t.MeshBasicMaterial;if(super(f,i),this._needsRender=!1,this.scale.set(e,n,1),typeof r==`string`){i.transparent=/\.png$/.test(r);let e=new Image;e.src=r,e.crossOrigin=``,r=e}if(r instanceof HTMLImageElement){let e=i.map=new t.Texture;e.wrapS=t.ClampToEdgeWrapping,e.wrapT=t.ClampToEdgeWrapping,e.minFilter=t.LinearFilter,e.encoding=t.sRGBEncoding,y(e,_(r,()=>{e.image=r,e.needsUpdate=!0,this._needsRender=!0}))}else if(r instanceof HTMLCanvasElement)i.map=new t.CanvasTexture(r);else if(r instanceof HTMLVideoElement){let e=i.map=new t.VideoTexture(r);e.wrapS=t.ClampToEdgeWrapping,e.wrapT=t.ClampToEdgeWrapping,e.minFilter=t.LinearFilter,e.encoding=t.sRGBEncoding,y(e,v(r,()=>{this._needsRender=!0}))}}get needsRender(){return this._needsRender}set needsRender(e){this._needsRender=e,e===!0&&this.material.map&&(this.material.map.needsUpdate=!0)}setSize(e,t){this.scale.set(e,t,1),this._needsRender=!0}setTransparent(e){this.material.transparent=e,this._needsRender=!0}locationWithIntersection(e,t=.005){let{point:n,face:r}=e;this.position.copy(n),r&&(this.position.add(r.normal.clone().setLength(t)),this.lookAt(n.clone().add(r.normal))),this._needsRender=!0}dispose(){var e;(e=this.material.map)==null||e.dispose(),this.material.dispose()}}});