@realsee/five 6.8.0 → 6.8.1
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/ai_guides/features/flowing-light-2d-pass.md +64 -10
- package/ai_guides/features/flowing-light-3d-pass.md +64 -10
- package/docs/assets/hierarchy.js +1 -1
- package/docs/assets/navigation.js +1 -1
- package/docs/assets/search.js +1 -1
- package/docs/classes/five.AdaptiveLuminancePass.html +1 -1
- package/docs/classes/five.BoundingMesh.html +1 -1
- package/docs/classes/five.Camera.html +1 -1
- package/docs/classes/five.EyeDomeLightingPass.html +1 -1
- package/docs/classes/five.Five.html +1 -1
- package/docs/classes/five.FivePass.html +1 -1
- package/docs/classes/five.InternalWebGLRenderer.html +1 -1
- package/docs/classes/five.Model.html +1 -1
- package/docs/classes/five.ModelScene.html +1 -1
- package/docs/classes/five.NetworkSubscribe.html +1 -1
- package/docs/classes/five.PBMContainer.html +1 -1
- package/docs/classes/five.PBMCustomShader.html +1 -1
- package/docs/classes/five.PBMGSObject.html +1 -1
- package/docs/classes/five.PBMGroup.html +1 -1
- package/docs/classes/five.PBMMesh.html +1 -1
- package/docs/classes/five.PBMMeshMaterial.html +1 -1
- package/docs/classes/five.PBMPanoFilter.html +1 -1
- package/docs/classes/five.PBMPointCloud.html +1 -1
- package/docs/classes/five.PBMPointCloudMaterial.html +1 -1
- package/docs/classes/five.PBMSkinnedMesh.html +1 -1
- package/docs/classes/five.PBMUpdateable.html +1 -1
- package/docs/classes/five.PanoCircleMesh.html +1 -1
- package/docs/classes/five.PanoCircleMeshCustom.html +1 -1
- package/docs/classes/five.PanoCircleMeshSolid.html +1 -1
- package/docs/classes/five.Parameter.html +1 -1
- package/docs/classes/five.Scene.html +1 -1
- package/docs/classes/five.Subscribe.html +1 -1
- package/docs/classes/five.Tile3D.html +1 -1
- package/docs/classes/five.TileNode.html +1 -1
- package/docs/classes/five.TrajectoryNode.html +1 -1
- package/docs/classes/five.WorkResolvedObserver.html +1 -1
- package/docs/classes/gltf-loader.DDSLoader.html +1 -1
- package/docs/classes/gltf-loader.DRACOLoader.html +1 -1
- package/docs/classes/gltf-loader.GLTFLoader.html +1 -1
- package/docs/classes/gltf-loader.GLTFObject.html +1 -1
- package/docs/classes/gltf-loader.THREEGLTFLoader.html +1 -1
- package/docs/classes/line.Line.html +1 -1
- package/docs/classes/line.LineGeometry.html +1 -1
- package/docs/classes/line.LineMaterial.html +1 -1
- package/docs/classes/line.LineSegmentsGeometry.html +1 -1
- package/docs/classes/line.THREE_Line2.html +1 -1
- package/docs/classes/line.THREE_LineSegments2.html +1 -1
- package/docs/classes/plugins.BasePlugin.Controller.html +1 -1
- package/docs/classes/plugins.CSS2DObject.html +10 -0
- package/docs/classes/plugins.CSS2DRenderer.html +7 -0
- package/docs/classes/plugins.CSS3DObject.html +1 -1
- package/docs/classes/plugins.CSS3DSprite.html +1 -1
- package/docs/classes/plugins.Object3DHelperController.html +1 -1
- package/docs/classes/plugins.RoundedBoxGeometry.html +1 -1
- package/docs/classes/sticker.Sticker.html +1 -1
- package/docs/classes/vfx.Airflow.html +1 -1
- package/docs/classes/vfx.Flame.html +1 -1
- package/docs/classes/vfx.Particle.html +1 -1
- package/docs/classes/vfx.ParticleGPU.html +1 -1
- package/docs/classes/vfx.SpotLight.html +1 -1
- package/docs/documents/features_flowing-light-2d-pass.html +28 -15
- package/docs/documents/features_flowing-light-3d-pass.html +27 -14
- package/docs/functions/plugins.CSS2DPlugin.html +1 -0
- package/docs/functions/react.getPlugin.html +2 -0
- package/docs/functions/react.setPlugin.html +2 -0
- package/docs/functions/react.useFivePlugin.html +8 -0
- package/docs/functions/react.withFive.html +1 -1
- package/docs/hierarchy.html +1 -1
- package/docs/interfaces/five.AddableObject.html +1 -1
- package/docs/interfaces/five.AjaxOptions.html +1 -1
- package/docs/interfaces/five.BaseEvent.html +1 -1
- package/docs/interfaces/five.BaseExtendableEvent.html +1 -1
- package/docs/interfaces/five.EventCallback.html +1 -1
- package/docs/interfaces/five.GestureEvent.html +1 -1
- package/docs/interfaces/five.ImageOptions.html +1 -1
- package/docs/interfaces/five.IntersectEvent.html +1 -1
- package/docs/interfaces/five.IntersectMesh.html +1 -1
- package/docs/interfaces/five.IntersectMeshInterface.html +1 -1
- package/docs/interfaces/five.Intersection.html +1 -1
- package/docs/interfaces/five.LooseWorkWithExtrinsics.html +1 -1
- package/docs/interfaces/five.ModeChangeEvent.html +1 -1
- package/docs/interfaces/five.ModelControllerCustomInitArgs.html +1 -1
- package/docs/interfaces/five.ModelEvent.html +1 -1
- package/docs/interfaces/five.ModelSceneEvent.html +1 -1
- package/docs/interfaces/five.ModelTileEvent.html +1 -1
- package/docs/interfaces/five.MovePanoOptions.html +1 -1
- package/docs/interfaces/five.NetworkAbortError.html +1 -1
- package/docs/interfaces/five.NetworkFirbiddenError.html +1 -1
- package/docs/interfaces/five.NetworkOptions.html +1 -1
- package/docs/interfaces/five.NetworkProxyError.html +1 -1
- package/docs/interfaces/five.NetworkResourceEvent.html +1 -1
- package/docs/interfaces/five.NetworkResponseError.html +1 -1
- package/docs/interfaces/five.NetworkTimeoutError.html +1 -1
- package/docs/interfaces/five.ObjectEvent.html +1 -1
- package/docs/interfaces/five.PBMMaterial.html +1 -1
- package/docs/interfaces/five.PBMMeshMaterialParameters.html +1 -1
- package/docs/interfaces/five.PBMPointCloudMaterialParameters.html +1 -1
- package/docs/interfaces/five.PanoCircleMeshInterface.html +1 -1
- package/docs/interfaces/five.PanoEvent.html +1 -1
- package/docs/interfaces/five.PanoPrepareEvent.html +1 -1
- package/docs/interfaces/five.PanoTextureEvent.html +1 -1
- package/docs/interfaces/five.PanoramaControllerCustomInitArgs.html +1 -1
- package/docs/interfaces/five.PanoramaLikeControllerCustomInitArgs.html +1 -1
- package/docs/interfaces/five.ParameterMaterialValue.html +1 -1
- package/docs/interfaces/five.ParameterTilesetValue.html +1 -1
- package/docs/interfaces/five.ParameterValue.html +1 -1
- package/docs/interfaces/five.Pose.html +1 -1
- package/docs/interfaces/five.RenderEvent.html +1 -1
- package/docs/interfaces/five.ResolvedParameterValue.html +1 -1
- package/docs/interfaces/five.State.html +1 -1
- package/docs/interfaces/five.StateEvent.html +1 -1
- package/docs/interfaces/five.TextureOptions.html +1 -1
- package/docs/interfaces/five.TopviewControllerCustomInitArgs.html +1 -1
- package/docs/interfaces/five.VRPanoramaControllerCustomInitArgs.html +1 -1
- package/docs/interfaces/five.ViewLayer.html +1 -1
- package/docs/interfaces/five.WorkCubeImage.html +1 -1
- package/docs/interfaces/five.WorkImage.html +1 -1
- package/docs/interfaces/five.WorkObserver.html +1 -1
- package/docs/interfaces/five.WorkObserverProto.html +1 -1
- package/docs/interfaces/five.WorkTile.html +1 -1
- package/docs/interfaces/five.WorksEvent.html +1 -1
- package/docs/interfaces/five.XRControllerEvent.html +1 -1
- package/docs/interfaces/five.XRGestureEvent.html +1 -1
- package/docs/interfaces/five.XRPanoramaControllerCustomInitArgs.html +1 -1
- package/docs/interfaces/five.XRSessionEvent.html +1 -1
- package/docs/interfaces/plugins.BackgroundPluginController.html +1 -1
- package/docs/interfaces/plugins.BackgroundPluginType.EventMap.html +1 -1
- package/docs/interfaces/plugins.BasePlugin.State.html +1 -1
- package/docs/interfaces/plugins.CSS2DPluginController.html +49 -0
- package/docs/interfaces/plugins.CSS2DPluginType.Config.html +2 -0
- package/docs/interfaces/plugins.CSS2DPluginType.CreateCSS2DObjectType.html +8 -0
- package/docs/interfaces/plugins.CSS2DPluginType.EventMap.html +10 -0
- package/docs/interfaces/plugins.CSS2DPluginType.Params.html +4 -0
- package/docs/interfaces/plugins.CSS2DPluginType.State.html +8 -0
- package/docs/interfaces/plugins.CSS2DRendererParameters.html +2 -0
- package/docs/interfaces/plugins.CSS3DPluginController.html +12 -12
- package/docs/interfaces/plugins.CSS3DPluginType.EventMap.html +1 -1
- package/docs/interfaces/plugins.CSS3DPluginType.State.html +1 -1
- package/docs/interfaces/plugins.DynamicPathLinePluginController.html +1 -1
- package/docs/interfaces/plugins.DynamicPathLinePluginType.EventMap.html +1 -1
- package/docs/interfaces/plugins.DynamicPathLinePluginType.State.html +1 -1
- package/docs/interfaces/plugins.GaussianSplattingEntranceAnimationController.html +1 -1
- package/docs/interfaces/plugins.GaussianSplattingEntranceAnimationPluginType.EventMap.html +1 -1
- package/docs/interfaces/plugins.GaussianSplattingEntranceAnimationPluginType.State.html +1 -1
- package/docs/interfaces/plugins.ItemMaskController.html +1 -1
- package/docs/interfaces/plugins.ItemMaskPluginType.EventMap.html +1 -1
- package/docs/interfaces/plugins.ItemMaskPluginType.State.html +1 -1
- package/docs/interfaces/plugins.Object3DHelperPluginType.BaseController.html +1 -1
- package/docs/interfaces/plugins.Object3DHelperPluginType.BaseHelper.html +1 -1
- package/docs/interfaces/plugins.Object3DHelperPluginType.BoundingBoxController.html +1 -1
- package/docs/interfaces/plugins.Object3DHelperPluginType.MoveController.html +1 -1
- package/docs/interfaces/plugins.Object3DHelperPluginType.MoveHelperAbstract.html +1 -1
- package/docs/interfaces/plugins.Object3DHelperPluginType.RotateController.html +1 -1
- package/docs/interfaces/plugins.Object3DHelperPluginType.RotateHelperAbstract.html +1 -1
- package/docs/interfaces/plugins.OrientationPluginController.html +1 -1
- package/docs/interfaces/plugins.OrientationPluginType.EventMap.html +1 -1
- package/docs/interfaces/plugins.OrientationPluginType.State.html +1 -1
- package/docs/interfaces/plugins.PanoAnimeController.html +1 -1
- package/docs/interfaces/plugins.PanoAnimePluginType.EventMap.html +1 -1
- package/docs/interfaces/plugins.PanoAnimePluginType.State.html +1 -1
- package/docs/interfaces/plugins.PluginTemplateType.EventMap.html +1 -1
- package/docs/interfaces/plugins.PluginTemplateType.State.html +1 -1
- package/docs/interfaces/plugins.TrajectoryController.html +1 -1
- package/docs/interfaces/react.FiveAppProps.html +11 -0
- package/docs/interfaces/react.FiveInjectionTypes.html +1 -1
- package/docs/modules/plugins.CSS2DPluginType.html +1 -0
- package/docs/modules/plugins.html +1 -1
- package/docs/modules/react.html +1 -1
- package/docs/types/five.ParseOptions.html +1 -1
- package/docs/types/plugins.BasePlugin.EventMap.html +1 -1
- package/docs/types/plugins.CSS2DPluginType.PluginData.html +1 -0
- package/docs/types/plugins.CSS2DPluginType.ServerData.html +1 -0
- package/docs/variables/react.FiveApp.html +3 -0
- package/docs/variables/react.FiveAutoCanvas.html +3 -0
- package/five/index.js +5 -5
- package/five/index.mjs +65 -65
- package/five/renderer/postprocessing/passes/flowing-light-2d-pass.d.ts +6 -1
- package/five/renderer/postprocessing/passes/flowing-light-3d-pass.d.ts +3 -1
- package/gltf-loader/index.js +3 -3
- package/gltf-loader/index.mjs +3 -3
- package/line/index.js +3 -3
- package/line/index.mjs +3 -3
- package/package.json +1 -1
- package/plugins/CSS2DPlugin/Controller.d.ts +59 -0
- package/plugins/CSS2DPlugin/index.d.ts +5 -0
- package/plugins/CSS2DPlugin/typing.d.ts +30 -0
- package/plugins/index.d.ts +2 -0
- package/plugins/index.js +24 -4
- package/plugins/index.mjs +557 -393
- package/plugins/thirdParty/CSS2DRenderer.d.ts +37 -0
- package/react/autoCanvas.d.ts +9 -0
- package/react/fiveApp.d.ts +22 -0
- package/react/hooks/useFivePlugin.d.ts +26 -0
- package/react/index.d.ts +4 -0
- package/react/index.js +3 -3
- package/react/index.mjs +291 -175
- package/react/withFive.d.ts +1 -1
- package/shader-lib/index.js +2 -2
- package/shader-lib/index.mjs +2 -2
- package/sticker/index.js +3 -3
- package/sticker/index.mjs +3 -3
- package/umd/five-gltf-loader.js +3 -3
- package/umd/five-line.js +3 -3
- package/umd/five-plugins.js +24 -4
- package/umd/five-react.js +3 -3
- package/umd/five-shader-lib.js +2 -2
- package/umd/five-sticker.js +3 -3
- package/umd/five-vfx.js +2 -2
- package/umd/five-vue.js +2 -2
- package/umd/five.js +5 -5
- package/vfx/index.js +2 -2
- package/vfx/index.mjs +2 -2
- package/vue/index.js +2 -2
- package/vue/index.mjs +2 -2
- package/work-downloader/index.js +2 -2
- package/work-downloader/index.mjs +2 -2
package/umd/five-react.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @license
|
|
3
3
|
* @realsee/five
|
|
4
|
-
* Generated: 4/
|
|
5
|
-
* Version: 6.8.
|
|
4
|
+
* Generated: 2026/4/28
|
|
5
|
+
* Version: 6.8.1
|
|
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(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});
|
|
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})},w=({children:e})=>{let n=_(),r=t.useRef(null);return t.useEffect(()=>{let e=r.current;if(!e||!n.renderer)return;let t=n.renderer.domElement;e.appendChild(t);let i=()=>{var t;let{width:r,height:i}=e.getBoundingClientRect();r===0||i===0||(n.camera.aspect=r/i,n.camera.updateProjectionMatrix(),(t=n.renderer)==null||t.setSize(r,i),n.refresh({width:r,height:i}),n.needsRender=!0)},a=new ResizeObserver(i);return a.observe(e),i(),()=>{t.parentNode===e&&e.removeChild(t),a.unobserve(e),a.disconnect()}},[]),t.createElement(`div`,{ref:r,style:{position:`absolute`,top:0,left:0,right:0,bottom:0}},e)},T=({renderChildren:e,load:n,children:r,fallback:i})=>{let a=_(),[o,s]=t.useState(!!e),[c,l]=t.useState(!1);return t.useEffect(()=>{a.getElement()&&(s(!0),n&&n(a).then(e=>{a.load(...e)}))},[a]),t.useEffect(()=>{let e=()=>l(!0);return a.on(`works.load`,e),a.works&&a.works.length>0&&l(!0),()=>{a.off(`works.load`,e)}},[a]),!c&&!e||!o?i==null?null:t.createElement(t.Fragment,null,i):t.createElement(t.Fragment,null,r)},E={position:`relative`,width:`100vw`,height:`100vh`,overflow:`hidden`},D={backgroundAlpha:1,backgroundColor:0,imageOptions:{size:512},textureOptions:{autoResize:!1},preserveDrawingBuffer:!0,webgl2:!0},O=({fiveInitArgs:e=D,renderChildren:n,plugins:r,load:i,children:a,fullscreen:o,autoCanvas:s=!0,fallback:c})=>{let[l]=t.useState(()=>b(Object.assign(Object.assign({},e),{plugins:r}))),u=[];s&&u.push(t.createElement(w,{key:`auto-canvas`})),a&&u.push(a);let d=t.createElement(l,null,t.createElement(T,{load:i,renderChildren:n,fallback:c},...u));return o?t.createElement(`div`,{style:E},d):d};function k(){return _()}function A(e,n){let r=_(),i=[r];n!==void 0&&(i=i.concat(n)),t.useLayoutEffect(()=>e(r.scene),i)}var j=A;function M(){let e=_(),n=v(),[r,i]=t.useState(()=>e.works);return t.useLayoutEffect(()=>e.on(`load`,()=>i(e.works)),[e]),[r,n]}function N(e){return Object.assign({},e.state)}function P(){let e=_(),[n,r]=t.useState(()=>N(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(N(e))),[e]),[n,i]}function ee(){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 te(){let e=_(),[n,r]=t.useState(()=>e.getCurrentState());return t.useLayoutEffect(()=>e.on(`currentStateChange`,()=>r(e.getCurrentState())),[e]),e.works.getObserver(n)}function F(e,n,r){let i=_(),a=[i,e];r!==void 0&&(a=a.concat(r)),t.useLayoutEffect(()=>i.on(e,n),a)}function I(){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 L(){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 R(e){let t=e.camera.getWorldDirection(new n.Vector3);return new n.Raycaster(e.camera.position,t)}function ne(){let e=_(),[n,r]=t.useState(()=>R(e));return t.useLayoutEffect(()=>e.on(`cameraUpdate`,()=>r(R(e))),[e]),n}function z(e){return e.camera.getWorldDirection(new n.Vector3)}function re(){let e=_(),[n,r]=t.useState(()=>z(e));return t.useLayoutEffect(()=>e.on(`cameraUpdate`,()=>r(z(e))),[e]),n}function ie(){let e=_();return t.useCallback(t=>e.model.intersectRaycaster(t),[e])}function B(e){return e.model.empty?`Empty`:`Loaded`}function ae(){let e=_(),[n,r]=t.useState(()=>B(e));return t.useLayoutEffect(()=>e.on(`modelLoaded`,()=>r(B(e))),[e]),n}var V=new Map,H=new Map;function U(e){let t=H.get(e);t&&t.forEach(e=>e())}function W(e,t){return H.has(e)||H.set(e,new Set),H.get(e).add(t),()=>{let n=H.get(e);n&&(n.delete(t),n.size===0&&H.delete(e))}}function G(e,t){return`${e}:${t}`}function K(e,t){var n;return(n=V.get(G(e,t)))==null?void 0:n.plugin}function q(e,t,n){V.set(G(e,t),{plugin:n}),U(e)}function J(e,n){var r,i;let a=_(),o=(i=(r=a.work)==null?void 0:r.workCode)==null?``:i,s=G(o,e),c=(0,t.useRef)(a),[,l]=(0,t.useState)(0);return(0,t.useEffect)(()=>{if(o)return W(o,()=>l(e=>e+1))},[o]),(0,t.useEffect)(()=>{if(c.current===a)return;c.current=a;let t=V.get(s);if(!t)return;let r=t.plugin;if(n!=null&&n.reCreateOnFiveChange&&n.createPlugin){typeof r.dispose==`function`&&r.dispose();let t=n.createPlugin(a);V.set(s,{plugin:t}),a.plugins[e]=t,U(o)}else r&&(typeof r.updateFive==`function`?r.updateFive(a):`five`in r&&(r.five=a))},[a]),(0,t.useCallback)(()=>{let t=V.get(s);if(t)return a.plugins[e]=t.plugin,t.plugin;let r=a.plugins[e];if(r)return V.set(s,{plugin:r}),r;if(n!=null&&n.createPlugin){let t=n.createPlugin(a);return V.set(s,{plugin:t}),a.plugins[e]=t,U(o),t}},[s,a,n==null?void 0:n.createPlugin])()}function oe(){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 se(){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 ce=`$five`;function Y(e,t){return t.indexOf(e)>=0}function X(e,t){for(let n of Object.keys(t))t[n]!==void 0&&(e[n]=t[n])}function le(e,n){let r=Y(`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 ue(e,n){let r=Y(`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 de(e,n){let r=Y(`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 fe(e,t){return[Y(`unsafe__fiveInstance`,t)?e:void 0]}function pe(e,n){let r=Y(`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 me(e,n){let r=Y(`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 he(e,t){return[Y(`scene`,t)?e.scene:void 0]}function ge(e,r){let i=Y(`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 _e(e,r){let i=Y(`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 ve(e,n){let r=Y(`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 ye(e,n){let r=Y(`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 be(e,n){let r=Y(`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 xe(e,t){if(Y(`loadWork`,t))return e}function Se(e,t){if(Y(`setState`,t))return(...t)=>e.setState(...t)}function Ce(e,t){if(Y(`on`,t))return(...t)=>e.on(...t)}function we(e,t){if(Y(`on`,t))return(...t)=>e.once(...t)}function Te(e,t){if(Y(`off`,t))return(...t)=>e.off(...t)}function Ee(e,t){if(Y(`intersectRaycaster`,t))return(...t)=>e.model.intersectRaycaster(...t)}function De(e,t){if(Y(`project2d`,t))return(...t)=>e.project2d(...t)}function Oe(e,t){if(Y(`updateCamera`,t))return(...t)=>e.updateCamera(...t)}function ke(e,t){if(Y(`getPixels`,t))return e.getPixels.bind(e)}function Ae(e,t){if(Y(`render`,t))return(...t)=>e.render(...t)}function je(e,t){if(Y(`needsRender`,t))return()=>{e.needsRender=!0}}function Me(e,t){if(Y(`preloadPano`,t))return(...t)=>e.preloadPano(...t)}function Ne(e,t){if(Y(`showFloor`,t))return t=>{typeof t==`number`?e.model.show(t):e.model.show()}}function Pe(e,t){if(Y(`toggleHelperVisible`,t))return t=>{e.helperVisible=t}}function Fe(e){return function(n){return t.forwardRef((r,i)=>{let a=_(),o=v(),[s]=fe(a,e),[c,l]=le(a,e),[u,d]=ue(a,e),[f,p]=de(a,e),[m,h]=pe(a,e),[g,y]=me(a,e),[b]=he(a,e),[x,S]=ge(a,e),[C,w]=_e(a,e),[T,E]=ve(a,e),[D,O]=ye(a,e),[k,A]=be(a,e),j=t.useMemo(()=>{let t={};return X(t,{setState:Se(a,e),loadWork:xe(o,e),on:Ce(a,e),once:we(a,e),off:Te(a,e),intersectRaycaster:Ee(a,e),project2d:De(a,e),updateCamera:Oe(a,e),getPixels:ke(a,e),render:Ae(a,e),needsRender:je(a,e),preloadPano:Me(a,e),showFloor:Ne(a,e),toggleHelperVisible:Pe(a,e)}),t},[a,o]),M=t.useMemo(()=>{let e=Object.assign({},j);return X(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 Ie(e,t){return typeof e==`number`&&typeof t==`number`&&isNaN(e)&&isNaN(t)?!0:e===t}function Le(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&&!Ie(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(!Le(e,n))continue;let i=Q(r,e);t(Q(this.values,e),i)}}};function Re(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.FiveApp=O,e.FiveAutoCanvas=w,e.FiveCanvas=C,e.INJECTION_PROPNAME=ce,e.Store=$,e.createFiveFeature=Z,e.createFiveProvider=b,e.createStore=Re,e.getPlugin=K,e.setPlugin=q,e.unsafe__useFiveInstance=k,e.useFiveAction=I,e.useFiveCameraDirection=re,e.useFiveCameraRaycaster=ne,e.useFiveCurrentObserver=te,e.useFiveCurrentState=ee,e.useFiveEventCallback=F,e.useFiveFloor=oe,e.useFiveHelper=se,e.useFiveModelIntersectRaycaster=ie,e.useFiveModelReadyState=ae,e.useFivePlugin=J,e.useFiveProject2d=L,e.useFiveScene=j,e.useFiveSceneEffect=A,e.useFiveState=P,e.useFiveWork=M,e.withFive=Fe});
|
package/umd/five-shader-lib.js
CHANGED
package/umd/five-sticker.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @license
|
|
3
3
|
* @realsee/five
|
|
4
|
-
* Generated: 4/
|
|
5
|
-
* Version: 6.8.
|
|
4
|
+
* Generated: 2026/4/28
|
|
5
|
+
* Version: 6.8.1
|
|
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(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.
|
|
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.1`}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()}}});
|
package/umd/five-vfx.js
CHANGED