@realsee/five-webgpu 1.0.0-alpha.1 → 1.0.0-alpha.3

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.
Files changed (126) hide show
  1. package/README.md +9 -9
  2. package/ai_guides/README.md +2 -2
  3. package/ai_guides/features/clipper.md +1 -1
  4. package/ai_guides/features/coordinate-system.md +1 -1
  5. package/ai_guides/features/event.md +1 -1
  6. package/ai_guides/features/five.md +3 -3
  7. package/ai_guides/features/gesture.md +2 -2
  8. package/ai_guides/features/get-screen-pixels.md +1 -1
  9. package/ai_guides/features/image-options.md +3 -3
  10. package/ai_guides/features/load-external-model.md +9 -9
  11. package/ai_guides/features/mode.md +2 -2
  12. package/ai_guides/features/pano-filter.md +3 -3
  13. package/ai_guides/features/pano-tile.md +2 -2
  14. package/ai_guides/features/raycast.md +1 -1
  15. package/ai_guides/features/screen-project.md +1 -1
  16. package/ai_guides/features/state.md +1 -1
  17. package/ai_guides/features/work.md +2 -2
  18. package/ai_guides/quick-start.md +3 -3
  19. package/ai_guides/release_notes/6.6.md +2 -2
  20. package/ai_guides/release_notes/6.7.md +1 -1
  21. package/ai_guides/release_notes/6.8.md +1 -1
  22. package/docs/assets/hierarchy.js +1 -1
  23. package/docs/assets/search.js +1 -1
  24. package/docs/classes/index.AdaptiveLuminancePass.html +1 -1
  25. package/docs/classes/index.EyeDomeLightingPass.html +1 -1
  26. package/docs/classes/index.FivePass.html +1 -1
  27. package/docs/classes/index.FlowingFireworks3DPass.html +1 -1
  28. package/docs/classes/index.FlowingLight2DPass.html +1 -1
  29. package/docs/classes/index.FlowingLight3DPass.html +1 -1
  30. package/docs/classes/index.GaussianBlurPass.html +1 -1
  31. package/docs/classes/index.Model.html +1 -1
  32. package/docs/classes/index.ModelScene.html +1 -1
  33. package/docs/classes/index.PBMGaussianSplattingNodeMaterial.html +7 -6
  34. package/docs/classes/index.PBMGaussianSplattingObject.html +12 -4
  35. package/docs/classes/index.PBMGaussianSplattingRenderMesh.html +31 -12
  36. package/docs/classes/index.PBMMeshBasicMaterial.html +1 -1
  37. package/docs/classes/index.PBMMeshBasicNodeMaterial.html +1 -1
  38. package/docs/classes/index.PBMMeshPanoOnlyMaterial.html +1 -1
  39. package/docs/classes/index.PBMMeshPanoOnlyNodeMaterial.html +1 -1
  40. package/docs/classes/index.PBMMeshPhongMaterial.html +1 -1
  41. package/docs/classes/index.PBMMeshPhongNodeMaterial.html +1 -1
  42. package/docs/classes/index.PBMMeshPhysicalMaterial.html +1 -1
  43. package/docs/classes/index.PBMMeshPhysicalNodeMaterial.html +1 -1
  44. package/docs/classes/index.PBMPanoFilter.html +1 -1
  45. package/docs/classes/index.PBMPointCloud.html +1 -1
  46. package/docs/classes/index.PBMUpdateable.html +1 -1
  47. package/docs/classes/index.Parameter.html +1 -1
  48. package/docs/classes/index.Tile3D.html +1 -1
  49. package/docs/classes/index.TileNode.html +1 -1
  50. package/docs/classes/index.TrajectoryNode.html +1 -1
  51. package/docs/classes/index.WorkResolvedObserver.html +1 -1
  52. package/docs/documents/README.html +2 -2
  53. package/docs/documents/features_clipper.html +1 -1
  54. package/docs/documents/features_coordinate-system.html +1 -1
  55. package/docs/documents/features_event.html +1 -1
  56. package/docs/documents/features_five.html +3 -3
  57. package/docs/documents/features_gesture.html +2 -2
  58. package/docs/documents/features_get-screen-pixels.html +1 -1
  59. package/docs/documents/features_image-options.html +3 -3
  60. package/docs/documents/features_load-external-model.html +8 -8
  61. package/docs/documents/features_mode.html +2 -2
  62. package/docs/documents/features_pano-filter.html +3 -3
  63. package/docs/documents/features_pano-tile.html +2 -2
  64. package/docs/documents/features_raycast.html +1 -1
  65. package/docs/documents/features_screen-project.html +1 -1
  66. package/docs/documents/features_state.html +1 -1
  67. package/docs/documents/features_work.html +2 -2
  68. package/docs/documents/quick-start.html +2 -2
  69. package/docs/documents/release_notes_6.6.html +2 -2
  70. package/docs/documents/release_notes_6.7.html +1 -1
  71. package/docs/documents/release_notes_6.8.html +1 -1
  72. package/docs/hierarchy.html +1 -1
  73. package/docs/index.html +2 -2
  74. package/docs/interfaces/index.IPBMMaterial.html +1 -1
  75. package/docs/interfaces/index.LooseWorkWithExtrinsics.html +1 -1
  76. package/docs/interfaces/index.PBMHDRConfig.html +1 -1
  77. package/docs/interfaces/index.ParameterMaterialValue.html +1 -1
  78. package/docs/interfaces/index.ParameterTilesetValue.html +1 -1
  79. package/docs/interfaces/index.ParameterValue.html +1 -1
  80. package/docs/interfaces/index.ResolvedParameterValue.html +1 -1
  81. package/docs/interfaces/index.SplatData.html +10 -5
  82. package/docs/interfaces/index.ViewLayer.html +1 -1
  83. package/docs/interfaces/index.WorkCubeImage.html +1 -1
  84. package/docs/interfaces/index.WorkImage.html +1 -1
  85. package/docs/interfaces/index.WorkObserver.html +1 -1
  86. package/docs/interfaces/index.WorkTile.html +1 -1
  87. package/docs/types/index.ParseOptions.html +1 -1
  88. package/five/gaussian-splatting/layerRegistry.d.ts +17 -0
  89. package/five/gaussian-splatting/shStore.d.ts +22 -0
  90. package/five/gaussian-splatting/splatAssembler.d.ts +69 -0
  91. package/five/gaussian-splatting/transformStore.d.ts +37 -0
  92. package/five/gaussian-splatting/wasm/sort.d.ts +4 -3
  93. package/five/index.js +86 -103
  94. package/five/index.mjs +3923 -3856
  95. package/five/model/loaders/spz.d.ts +50 -2
  96. package/five/model/materials/pbmGaussianSplattingNodeMaterial.d.ts +8 -5
  97. package/five/model/objects/pbmGaussianSplattingObject.d.ts +21 -4
  98. package/five/model/objects/pbmGaussianSplattingRenderMesh.d.ts +142 -43
  99. package/llms.txt +1 -1
  100. package/package.json +1 -1
  101. package/plugins/BasePlugin/index.d.ts +1 -1
  102. package/plugins/GaussianSplattingEntranceAnimationPlugin/Controller.d.ts +1 -1
  103. package/plugins/GaussianSplattingEntranceAnimationPlugin/index.d.ts +1 -1
  104. package/plugins/index.js +3 -3
  105. package/plugins/index.mjs +3 -3
  106. package/react/context.d.ts +1 -1
  107. package/react/createProvider.d.ts +1 -1
  108. package/react/fiveApp.d.ts +1 -1
  109. package/react/hooks/unsafe__useFiveInstance.d.ts +1 -1
  110. package/react/hooks/useFiveAction.d.ts +1 -1
  111. package/react/hooks/useFiveCurrentObserver.d.ts +1 -1
  112. package/react/hooks/useFiveCurrentState.d.ts +1 -1
  113. package/react/hooks/useFiveEventCallback.d.ts +1 -1
  114. package/react/hooks/useFiveModelEffect.d.ts +1 -1
  115. package/react/hooks/useFiveModelIntersectRaycaster.d.ts +1 -1
  116. package/react/hooks/useFivePlugin.d.ts +1 -1
  117. package/react/hooks/useFiveSceneEffect.d.ts +1 -1
  118. package/react/hooks/useFiveState.d.ts +1 -1
  119. package/react/hooks/useFiveWork.d.ts +1 -1
  120. package/react/index.js +3 -3
  121. package/react/index.mjs +3 -3
  122. package/react/withFive.d.ts +1 -1
  123. package/umd/five-plugins.js +3 -3
  124. package/umd/five-react.js +3 -3
  125. package/umd/five.js +117 -134
  126. package/five/gaussian-splatting/util/renderData.d.ts +0 -66
package/react/index.js CHANGED
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * @license
3
3
  * @realsee/five-webgpu
4
- * Generated: 2026/7/14
5
- * Version: 1.0.0-alpha.1
4
+ * Generated: 2026/8/11
5
+ * Version: 1.0.0-alpha.3
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
- */Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},s=(n,r,a)=>(a=n==null?{}:e(i(n)),o(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n));let c=require("react");c=s(c,1);let l=require("@realsee/five"),u=require("three/webgpu");u=s(u,1);var d=c.createContext(null);function f(){let e=c.useContext(d);if(!e)throw Error(`FiveProvider never found.`);return e.five}function p(){let e=c.useContext(d);if(!e)throw Error(`FiveProvider never found.`);return e.loadWork}function m(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 h(e={}){return class extends c.Component{constructor(t){super(t),this.__fiveEventDisposers=[],this.__fiveDisposeTimer=null,this.five=new l.Five(Object.assign({},e)),this.loadWork=this.loadWork.bind(this),this.state={renderer:this.five.renderer}}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&&!m(e.work,this.five.works)&&this.five.load(e.work,e.initialState,e.initialOptions),!0}componentDidMount(){var e;clearTimeout(this.__fiveDisposeTimer),this.__fiveDisposeTimer=null,this.state.renderer!==this.five.renderer&&this.setState({renderer:this.five.renderer}),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 t=this.props.work||this.props.initialWork;t&&this.five.load(t,this.props.initialState,this.props.initialOptions,(e=this.props.initialUserAction)==null?!0:e)}componentWillUnmount(){var e;for(let e of this.__fiveEventDisposers)e();this.__fiveEventDisposers=[],(e=this.five.controller)==null||e.destroy(),this.__fiveDisposeTimer=setTimeout(()=>{this.__fiveDisposeTimer=null,this.five.dispose()},1e3)}render(){let e=this.five,t=this.loadWork,n=this.state.renderer;return c.createElement(d.Provider,{value:{renderer:n,five:e,loadWork:t}},this.props.children)}}}var g=typeof window<`u`?c.useLayoutEffect:c.useEffect,_={display:`inline-block`,overflow:`hidden`},v=({width:e,height:t})=>{let n=f(),r=c.createRef(),i=Object.assign({width:e,height:t},_);return g(()=>{let i=r.current;if(!i||!n.renderer)return;let a=n.renderer.domElement;if(a.parentNode!==null&&a.parentNode!==i)throw Error(`There are more than 2 fiveCanvas in this context.`);return a.parentNode!==i&&i.appendChild(a),n.camera.aspect=e/t,n.camera.updateProjectionMatrix(),n.renderer.setSize(e,t),n.refresh({width:e,height:t}),n.needsRender=!0,()=>{a.parentNode===i&&i.removeChild(a)}},[n,n.renderer,e,t,r.current]),c.createElement(`div`,{ref:r,style:i})},y=({children:e})=>{let t=f(),n=c.useRef(null);return c.useEffect(()=>{let e=n.current;if(!e||!t.renderer)return;let r=t.renderer.domElement;e.appendChild(r);let i=()=>{var n;let{width:r,height:i}=e.getBoundingClientRect();r===0||i===0||(t.camera.aspect=r/i,t.camera.updateProjectionMatrix(),(n=t.renderer)==null||n.setSize(r,i),t.refresh({width:r,height:i}),t.needsRender=!0)},a=new ResizeObserver(i);return a.observe(e),i(),()=>{r.parentNode===e&&e.removeChild(r),a.unobserve(e),a.disconnect()}},[]),c.createElement(`div`,{ref:n,style:{position:`absolute`,top:0,left:0,right:0,bottom:0}},e)},b=({renderChildren:e,load:t,children:n,fallback:r})=>{let i=c.useContext(d),a=i==null?void 0:i.five,[o,s]=c.useState(!!e),[l,u]=c.useState(!1);return c.useEffect(()=>{a&&a.getElement()&&(s(!0),t&&t(a).then(e=>{a.load(...e)}))},[a]),c.useEffect(()=>{if(!a)return;let e=()=>u(!0);return a.on(`works.load`,e),a.works&&a.works.length>0&&u(!0),()=>{a.off(`works.load`,e)}},[a]),!a||!l&&!e||!o?r==null?null:c.createElement(c.Fragment,null,r):c.createElement(c.Fragment,null,n)},x={position:`relative`,width:`100vw`,height:`100vh`,overflow:`hidden`},S={backgroundAlpha:1,backgroundColor:0,imageOptions:{size:512},textureOptions:{autoResize:!1},preserveDrawingBuffer:!0},C=({fiveInitArgs:e=S,renderChildren:t,plugins:n,load:r,children:i,fullscreen:a,autoCanvas:o=!0,fallback:s})=>{let[l]=c.useState(()=>h(Object.assign(Object.assign({},e),{plugins:n}))),u=[];o&&u.push(c.createElement(y,{key:`auto-canvas`})),i&&u.push(i);let d=c.createElement(l,null,c.createElement(b,{load:r,renderChildren:t,fallback:s},...u));return a?c.createElement(`div`,{style:x},d):d};function w(){return f()}function T(e,t){let n=f(),r=[n];t!==void 0&&(r=r.concat(t)),c.useLayoutEffect(()=>e(n.scene),r)}var E=T;function D(){let e=f(),t=p(),[n,r]=c.useState(()=>e.works);return c.useLayoutEffect(()=>e.on(`load`,()=>r(e.works)),[e]),[n,t]}function O(e){return Object.assign({},e.state)}function k(){let e=f(),[t,n]=c.useState(()=>O(e)),r=c.useCallback((t,n=!1,r=!0)=>{let i=typeof t==`function`?t(e.getCurrentState()):t;e.setState(i,n,r)},[e]);return c.useLayoutEffect(()=>e.on(`stateChange`,()=>n(O(e))),[e]),[t,r]}function A(){let e=f(),[t,n]=c.useState(()=>e.getCurrentState()),r=c.useCallback((t,n=!1,r=!0)=>{let i=typeof t==`function`?t(e.getCurrentState()):t;e.setState(i,n,r)},[e]);return c.useLayoutEffect(()=>e.on(`currentStateChange`,()=>n(e.getCurrentState())),[e]),[t,r]}function j(){let e=f(),[t,n]=c.useState(()=>e.getCurrentState());return c.useLayoutEffect(()=>e.on(`currentStateChange`,()=>n(e.getCurrentState())),[e]),e.works.getObserver(t)}function M(e,t,n){let r=f(),i=[r,e];n!==void 0&&(i=i.concat(n)),c.useLayoutEffect(()=>r.on(e,t),i)}function N(){let e=f();return{updateCamera:c.useCallback((t,n)=>e.updateCamera(t,n),[e]),getPixels:c.useCallback(e.getPixels.bind(e),[e]),render:c.useCallback(t=>e.render(t),[e]),needsRender:c.useCallback(()=>e.needsRender=!0,[e]),preloadPano:c.useCallback((t,n)=>e.preloadPano(t,n),[e])}}function ee(){let e=f(),[t,n]=c.useState(()=>Symbol());return c.useLayoutEffect(()=>e.on(`cameraUpdate`,()=>n(Symbol())),[e]),c.useCallback((t,n)=>e.project2d(t,n),[e])}function P(e){let t=e.camera.getWorldDirection(new u.Vector3);return new u.Raycaster(e.camera.position,t)}function te(){let e=f(),[t,n]=c.useState(()=>P(e));return c.useLayoutEffect(()=>e.on(`cameraUpdate`,()=>n(P(e))),[e]),t}function F(e){return e.camera.getWorldDirection(new u.Vector3)}function ne(){let e=f(),[t,n]=c.useState(()=>F(e));return c.useLayoutEffect(()=>e.on(`cameraUpdate`,()=>n(F(e))),[e]),t}function I(){let e=f();return c.useCallback(t=>e.model.intersectRaycaster(t),[e])}function L(e){return e.model.empty?`Empty`:`Loaded`}function R(){let e=f(),[t,n]=c.useState(()=>L(e));return c.useLayoutEffect(()=>e.on(`modelLoaded`,()=>n(L(e))),[e]),t}var z=new Map,B=new Map;function V(e){let t=B.get(e);t&&t.forEach(e=>e())}function re(e,t){return B.has(e)||B.set(e,new Set),B.get(e).add(t),()=>{let n=B.get(e);n&&(n.delete(t),n.size===0&&B.delete(e))}}function H(e,t){return`${e}:${t}`}function U(e,t){var n;return(n=z.get(H(e,t)))==null?void 0:n.plugin}function W(e,t,n){z.set(H(e,t),{plugin:n}),V(e)}function G(e,t){var n,r;let i=f(),a=(r=(n=i.work)==null?void 0:n.workCode)==null?``:r,o=H(a,e),s=(0,c.useRef)(i),[,l]=(0,c.useState)(0);return(0,c.useEffect)(()=>{if(a)return re(a,()=>l(e=>e+1))},[a]),(0,c.useEffect)(()=>{if(s.current===i)return;s.current=i;let n=z.get(o);if(!n)return;let r=n.plugin;if(t!=null&&t.reCreateOnFiveChange&&t.createPlugin){typeof r.dispose==`function`&&r.dispose();let n=t.createPlugin(i);z.set(o,{plugin:n}),i.plugins[e]=n,V(a)}else r&&(typeof r.updateFive==`function`?r.updateFive(i):`five`in r&&(r.five=i))},[i]),(0,c.useCallback)(()=>{let n=z.get(o);if(n)return i.plugins[e]=n.plugin,n.plugin;let r=i.plugins[e];if(r)return z.set(o,{plugin:r}),r;if(t!=null&&t.createPlugin){let n=t.createPlugin(i);return z.set(o,{plugin:n}),i.plugins[e]=n,V(a),n}},[o,i,t==null?void 0:t.createPlugin])()}function K(){let e=f(),[t,n]=c.useState(e.model.shownFloor),[r,i]=c.useState(e.model.floorLength),a=c.useCallback(t=>{typeof t==`number`?e.model.show(t):e.model.show()},[e]);return c.useLayoutEffect(()=>{let t=[];return t.push(e.on(`modelShownFloorChange`,()=>n(e.model.shownFloor))),t.push(e.on(`modelLoaded`,()=>i(e.model.floorLength))),()=>{let e;for(;e=t.shift();)e()}},[e]),[t,r,a]}function q(){let e=f(),[t,n]=c.useState(e.helperVisible),r=c.useCallback(t=>{e.helperVisible=t},[e]);return c.useLayoutEffect(()=>e.on(`helpersVisibleChange`,e=>n(e)),[e]),[t,r]}var J=`$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 ie(e,t){let n=Y(`state`,t),[r,i]=c.useState(Symbol()),a=c.useMemo(()=>{if(n)return Object.assign({},e.state)},[e,r]);return c.useLayoutEffect(()=>{if(n)return e.on(`stateChange`,()=>i(Symbol()))},[e]),[a,r]}function ae(e,t){let n=Y(`currentState`,t),[r,i]=c.useState(Symbol()),a=c.useMemo(()=>{if(n)return e.getCurrentState()},[e,r]);return c.useLayoutEffect(()=>{if(n)return e.on(`currentStateChange`,()=>i(Symbol()))},[e]),[a,r]}function oe(e,t){let n=Y(`currentObserver`,t),[r,i]=c.useState(Symbol()),a=c.useMemo(()=>{if(n)return e.getCurrentState()},[e,r]);c.useLayoutEffect(()=>{if(n)return e.on(`currentStateChange`,()=>i(Symbol()))},[e]);let o;return a&&(o=e.works.getObserver(a)),[o,r]}function se(e,t){return[Y(`unsafe__fiveInstance`,t)?e:void 0]}function ce(e,t){let n=Y(`works`,t),[r,i]=c.useState(Symbol()),a=c.useMemo(()=>{if(n)return e.works},[e,r]);return c.useLayoutEffect(()=>{if(n)return e.on(`load`,()=>i(Symbol()))},[e]),[a,r]}function le(e,t){let n=Y(`model`,t),[r,i]=c.useState(Symbol()),a=c.useMemo(()=>{if(n)return e.model},[e,r]);return c.useLayoutEffect(()=>{if(n)return e.on(`modelLoaded`,()=>i(Symbol()))},[e]),[a,r]}function ue(e,t){return[Y(`scene`,t)?e.scene:void 0]}function de(e,t){let n=Y(`cameraDirection`,t),[r,i]=c.useState(Symbol()),a=c.useMemo(()=>{if(n)return e.camera.getWorldDirection(new u.Vector3)},[e,r]);return c.useLayoutEffect(()=>{if(n)return e.on(`cameraUpdate`,()=>i(Symbol()))},[e]),[a,r]}function fe(e,t){let n=Y(`cameraRaycaster`,t),[r,i]=c.useState(Symbol()),a=c.useMemo(()=>{if(n){let t=e.camera.getWorldDirection(new u.Vector3);return new u.Raycaster(e.camera.position,t)}},[e,r]);return c.useLayoutEffect(()=>{if(n)return e.on(`cameraUpdate`,()=>i(Symbol()))},[e]),[a,r]}function pe(e,t){let n=Y(`modelReadyState`,t),[r,i]=c.useState(Symbol()),a=c.useMemo(()=>{if(n)return e.model.empty?`Empty`:`Loaded`},[e,r]);return c.useLayoutEffect(()=>{if(n)return e.on(`modelLoaded`,()=>i(Symbol()))},[e]),[a,r]}function me(e,t){let n=Y(`shownFloor`,t),[r,i]=c.useState(Symbol()),a=c.useMemo(()=>{if(n)return e.model.shownFloor},[e,r]);return c.useLayoutEffect(()=>{if(n)return e.on(`modelShownFloorChange`,()=>i(Symbol()))},[e]),[a,r]}function he(e,t){let n=Y(`helperVisible`,t),[r,i]=c.useState(Symbol()),a=c.useMemo(()=>{if(n)return e.helperVisible},[e,r]);return c.useLayoutEffect(()=>{if(n)return e.on(`helpersVisibleChange`,()=>i(Symbol()))},[e]),[a,r]}function ge(e,t){if(Y(`loadWork`,t))return e}function _e(e,t){if(Y(`setState`,t))return(...t)=>e.setState(...t)}function ve(e,t){if(Y(`on`,t))return(...t)=>e.on(...t)}function ye(e,t){if(Y(`on`,t))return(...t)=>e.once(...t)}function be(e,t){if(Y(`off`,t))return(...t)=>e.off(...t)}function xe(e,t){if(Y(`intersectRaycaster`,t))return(...t)=>e.model.intersectRaycaster(...t)}function Se(e,t){if(Y(`project2d`,t))return(...t)=>e.project2d(...t)}function Ce(e,t){if(Y(`updateCamera`,t))return(...t)=>e.updateCamera(...t)}function we(e,t){if(Y(`getPixels`,t))return e.getPixels.bind(e)}function Te(e,t){if(Y(`render`,t))return(...t)=>e.render(...t)}function Ee(e,t){if(Y(`needsRender`,t))return()=>{e.needsRender=!0}}function De(e,t){if(Y(`preloadPano`,t))return(...t)=>e.preloadPano(...t)}function Oe(e,t){if(Y(`showFloor`,t))return t=>{typeof t==`number`?e.model.show(t):e.model.show()}}function ke(e,t){if(Y(`toggleHelperVisible`,t))return t=>{e.helperVisible=t}}function Z(e){return function(t){return c.forwardRef((n,r)=>{let i=f(),a=p(),[o]=se(i,e),[s,l]=ie(i,e),[u,d]=ae(i,e),[m,h]=oe(i,e),[g,_]=ce(i,e),[v,y]=le(i,e),[b]=ue(i,e),[x,S]=de(i,e),[C,w]=fe(i,e),[T,E]=pe(i,e),[D,O]=me(i,e),[k,A]=he(i,e),j=c.useMemo(()=>{let t={};return X(t,{setState:_e(i,e),loadWork:ge(a,e),on:ve(i,e),once:ye(i,e),off:be(i,e),intersectRaycaster:xe(i,e),project2d:Se(i,e),updateCamera:Ce(i,e),getPixels:we(i,e),render:Te(i,e),needsRender:Ee(i,e),preloadPano:De(i,e),showFloor:Oe(i,e),toggleHelperVisible:ke(i,e)}),t},[i,a]),M=c.useMemo(()=>{let e=Object.assign({},j);return X(e,{unsafe__fiveInstance:o,state:s,currentState:u,currentObserver:m,work:g,model:v,scene:b,cameraDirection:x,cameraRaycaster:C,modelReadyState:T,shownFloor:D,helperVisible:k}),e},[i,j,l,d,h,_,y,S,w,E,O,A]);return c.createElement(t,Object.assign({ref:r,$five:M},n))})}}function Ae(...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 je(e,t){return typeof e==`number`&&typeof t==`number`&&isNaN(e)&&isNaN(t)?!0:e===t}function Me(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&&!je(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(!Me(e,n))continue;let i=Q(r,e);t(Q(this.values,e),i)}}};function Ne(e){let t=c.createContext(null);return{useStore(e){let n=c.useContext(t);if(n===null)throw Error(`StoreProvider never found.`);let r=c.useRef(!0),[i,a]=c.useState(n.getValues(e)),o=[n,...e];return c.useLayoutEffect(()=>(r.current?r.current=!1:a(n.getValues(e)),n.on(e,e=>a(e))),o),[i,c.useCallback(t=>n.setValues(e,t),o)]},useStoreSetter(e){let n=c.useContext(t);if(n===null)throw Error(`StoreProvider never found.`);return c.useCallback(t=>n.setValues(e,t),[n,...e])},watchStore(e,n,r){let i=c.useContext(t);if(i===null)throw Error(`StoreProvider never found.`);let a=[i,...e];r!==void 0&&(a=a.concat(r)),c.useLayoutEffect(()=>i.on(e,n),a)},useStoreAction(n){let r=c.useContext(t);if(r===null)throw Error(`StoreProvider never found.`);return c.useCallback((...t)=>{let[i,...a]=e[n];return i(()=>r.getValues(a),e=>r.setValues(a,e),...t)},[])},StoreProvider:class extends c.Component{constructor(e){super(e),this.store=new $(e.initialValue,(...e)=>{this.props.onValuesChange&&this.props.onValuesChange(...e)})}shouldComponentUpdate(e){return e.children!==this.props.children}render(){return c.createElement(t.Provider,{value:this.store},this.props.children)}}}}exports.FiveApp=C,exports.FiveAutoCanvas=y,exports.FiveCanvas=v,exports.INJECTION_PROPNAME=J,exports.Store=$,exports.createFiveFeature=Ae,exports.createFiveProvider=h,exports.createStore=Ne,exports.getPlugin=U,exports.setPlugin=W,exports.unsafe__useFiveInstance=w,exports.useFiveAction=N,exports.useFiveCameraDirection=ne,exports.useFiveCameraRaycaster=te,exports.useFiveCurrentObserver=j,exports.useFiveCurrentState=A,exports.useFiveEventCallback=M,exports.useFiveFloor=K,exports.useFiveHelper=q,exports.useFiveModelIntersectRaycaster=I,exports.useFiveModelReadyState=R,exports.useFivePlugin=G,exports.useFiveProject2d=ee,exports.useFiveScene=E,exports.useFiveSceneEffect=T,exports.useFiveState=k,exports.useFiveWork=D,exports.withFive=Z;
255
+ */Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},s=(n,r,a)=>(a=n==null?{}:e(i(n)),o(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n));let c=require("react");c=s(c,1);let l=require("@realsee/five-webgpu"),u=require("three/webgpu");u=s(u,1);var d=c.createContext(null);function f(){let e=c.useContext(d);if(!e)throw Error(`FiveProvider never found.`);return e.five}function p(){let e=c.useContext(d);if(!e)throw Error(`FiveProvider never found.`);return e.loadWork}function m(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 h(e={}){return class extends c.Component{constructor(t){super(t),this.__fiveEventDisposers=[],this.__fiveDisposeTimer=null,this.five=new l.Five(Object.assign({},e)),this.loadWork=this.loadWork.bind(this),this.state={renderer:this.five.renderer}}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&&!m(e.work,this.five.works)&&this.five.load(e.work,e.initialState,e.initialOptions),!0}componentDidMount(){var e;clearTimeout(this.__fiveDisposeTimer),this.__fiveDisposeTimer=null,this.state.renderer!==this.five.renderer&&this.setState({renderer:this.five.renderer}),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 t=this.props.work||this.props.initialWork;t&&this.five.load(t,this.props.initialState,this.props.initialOptions,(e=this.props.initialUserAction)==null?!0:e)}componentWillUnmount(){var e;for(let e of this.__fiveEventDisposers)e();this.__fiveEventDisposers=[],(e=this.five.controller)==null||e.destroy(),this.__fiveDisposeTimer=setTimeout(()=>{this.__fiveDisposeTimer=null,this.five.dispose()},1e3)}render(){let e=this.five,t=this.loadWork,n=this.state.renderer;return c.createElement(d.Provider,{value:{renderer:n,five:e,loadWork:t}},this.props.children)}}}var g=typeof window<`u`?c.useLayoutEffect:c.useEffect,_={display:`inline-block`,overflow:`hidden`},v=({width:e,height:t})=>{let n=f(),r=c.createRef(),i=Object.assign({width:e,height:t},_);return g(()=>{let i=r.current;if(!i||!n.renderer)return;let a=n.renderer.domElement;if(a.parentNode!==null&&a.parentNode!==i)throw Error(`There are more than 2 fiveCanvas in this context.`);return a.parentNode!==i&&i.appendChild(a),n.camera.aspect=e/t,n.camera.updateProjectionMatrix(),n.renderer.setSize(e,t),n.refresh({width:e,height:t}),n.needsRender=!0,()=>{a.parentNode===i&&i.removeChild(a)}},[n,n.renderer,e,t,r.current]),c.createElement(`div`,{ref:r,style:i})},y=({children:e})=>{let t=f(),n=c.useRef(null);return c.useEffect(()=>{let e=n.current;if(!e||!t.renderer)return;let r=t.renderer.domElement;e.appendChild(r);let i=()=>{var n;let{width:r,height:i}=e.getBoundingClientRect();r===0||i===0||(t.camera.aspect=r/i,t.camera.updateProjectionMatrix(),(n=t.renderer)==null||n.setSize(r,i),t.refresh({width:r,height:i}),t.needsRender=!0)},a=new ResizeObserver(i);return a.observe(e),i(),()=>{r.parentNode===e&&e.removeChild(r),a.unobserve(e),a.disconnect()}},[]),c.createElement(`div`,{ref:n,style:{position:`absolute`,top:0,left:0,right:0,bottom:0}},e)},b=({renderChildren:e,load:t,children:n,fallback:r})=>{let i=c.useContext(d),a=i==null?void 0:i.five,[o,s]=c.useState(!!e),[l,u]=c.useState(!1);return c.useEffect(()=>{a&&a.getElement()&&(s(!0),t&&t(a).then(e=>{a.load(...e)}))},[a]),c.useEffect(()=>{if(!a)return;let e=()=>u(!0);return a.on(`works.load`,e),a.works&&a.works.length>0&&u(!0),()=>{a.off(`works.load`,e)}},[a]),!a||!l&&!e||!o?r==null?null:c.createElement(c.Fragment,null,r):c.createElement(c.Fragment,null,n)},x={position:`relative`,width:`100vw`,height:`100vh`,overflow:`hidden`},S={backgroundAlpha:1,backgroundColor:0,imageOptions:{size:512},textureOptions:{autoResize:!1},preserveDrawingBuffer:!0},C=({fiveInitArgs:e=S,renderChildren:t,plugins:n,load:r,children:i,fullscreen:a,autoCanvas:o=!0,fallback:s})=>{let[l]=c.useState(()=>h(Object.assign(Object.assign({},e),{plugins:n}))),u=[];o&&u.push(c.createElement(y,{key:`auto-canvas`})),i&&u.push(i);let d=c.createElement(l,null,c.createElement(b,{load:r,renderChildren:t,fallback:s},...u));return a?c.createElement(`div`,{style:x},d):d};function w(){return f()}function T(e,t){let n=f(),r=[n];t!==void 0&&(r=r.concat(t)),c.useLayoutEffect(()=>e(n.scene),r)}var E=T;function D(){let e=f(),t=p(),[n,r]=c.useState(()=>e.works);return c.useLayoutEffect(()=>e.on(`load`,()=>r(e.works)),[e]),[n,t]}function O(e){return Object.assign({},e.state)}function k(){let e=f(),[t,n]=c.useState(()=>O(e)),r=c.useCallback((t,n=!1,r=!0)=>{let i=typeof t==`function`?t(e.getCurrentState()):t;e.setState(i,n,r)},[e]);return c.useLayoutEffect(()=>e.on(`stateChange`,()=>n(O(e))),[e]),[t,r]}function A(){let e=f(),[t,n]=c.useState(()=>e.getCurrentState()),r=c.useCallback((t,n=!1,r=!0)=>{let i=typeof t==`function`?t(e.getCurrentState()):t;e.setState(i,n,r)},[e]);return c.useLayoutEffect(()=>e.on(`currentStateChange`,()=>n(e.getCurrentState())),[e]),[t,r]}function j(){let e=f(),[t,n]=c.useState(()=>e.getCurrentState());return c.useLayoutEffect(()=>e.on(`currentStateChange`,()=>n(e.getCurrentState())),[e]),e.works.getObserver(t)}function M(e,t,n){let r=f(),i=[r,e];n!==void 0&&(i=i.concat(n)),c.useLayoutEffect(()=>r.on(e,t),i)}function N(){let e=f();return{updateCamera:c.useCallback((t,n)=>e.updateCamera(t,n),[e]),getPixels:c.useCallback(e.getPixels.bind(e),[e]),render:c.useCallback(t=>e.render(t),[e]),needsRender:c.useCallback(()=>e.needsRender=!0,[e]),preloadPano:c.useCallback((t,n)=>e.preloadPano(t,n),[e])}}function ee(){let e=f(),[t,n]=c.useState(()=>Symbol());return c.useLayoutEffect(()=>e.on(`cameraUpdate`,()=>n(Symbol())),[e]),c.useCallback((t,n)=>e.project2d(t,n),[e])}function P(e){let t=e.camera.getWorldDirection(new u.Vector3);return new u.Raycaster(e.camera.position,t)}function te(){let e=f(),[t,n]=c.useState(()=>P(e));return c.useLayoutEffect(()=>e.on(`cameraUpdate`,()=>n(P(e))),[e]),t}function F(e){return e.camera.getWorldDirection(new u.Vector3)}function ne(){let e=f(),[t,n]=c.useState(()=>F(e));return c.useLayoutEffect(()=>e.on(`cameraUpdate`,()=>n(F(e))),[e]),t}function I(){let e=f();return c.useCallback(t=>e.model.intersectRaycaster(t),[e])}function L(e){return e.model.empty?`Empty`:`Loaded`}function R(){let e=f(),[t,n]=c.useState(()=>L(e));return c.useLayoutEffect(()=>e.on(`modelLoaded`,()=>n(L(e))),[e]),t}var z=new Map,B=new Map;function V(e){let t=B.get(e);t&&t.forEach(e=>e())}function re(e,t){return B.has(e)||B.set(e,new Set),B.get(e).add(t),()=>{let n=B.get(e);n&&(n.delete(t),n.size===0&&B.delete(e))}}function H(e,t){return`${e}:${t}`}function U(e,t){var n;return(n=z.get(H(e,t)))==null?void 0:n.plugin}function W(e,t,n){z.set(H(e,t),{plugin:n}),V(e)}function G(e,t){var n,r;let i=f(),a=(r=(n=i.work)==null?void 0:n.workCode)==null?``:r,o=H(a,e),s=(0,c.useRef)(i),[,l]=(0,c.useState)(0);return(0,c.useEffect)(()=>{if(a)return re(a,()=>l(e=>e+1))},[a]),(0,c.useEffect)(()=>{if(s.current===i)return;s.current=i;let n=z.get(o);if(!n)return;let r=n.plugin;if(t!=null&&t.reCreateOnFiveChange&&t.createPlugin){typeof r.dispose==`function`&&r.dispose();let n=t.createPlugin(i);z.set(o,{plugin:n}),i.plugins[e]=n,V(a)}else r&&(typeof r.updateFive==`function`?r.updateFive(i):`five`in r&&(r.five=i))},[i]),(0,c.useCallback)(()=>{let n=z.get(o);if(n)return i.plugins[e]=n.plugin,n.plugin;let r=i.plugins[e];if(r)return z.set(o,{plugin:r}),r;if(t!=null&&t.createPlugin){let n=t.createPlugin(i);return z.set(o,{plugin:n}),i.plugins[e]=n,V(a),n}},[o,i,t==null?void 0:t.createPlugin])()}function K(){let e=f(),[t,n]=c.useState(e.model.shownFloor),[r,i]=c.useState(e.model.floorLength),a=c.useCallback(t=>{typeof t==`number`?e.model.show(t):e.model.show()},[e]);return c.useLayoutEffect(()=>{let t=[];return t.push(e.on(`modelShownFloorChange`,()=>n(e.model.shownFloor))),t.push(e.on(`modelLoaded`,()=>i(e.model.floorLength))),()=>{let e;for(;e=t.shift();)e()}},[e]),[t,r,a]}function q(){let e=f(),[t,n]=c.useState(e.helperVisible),r=c.useCallback(t=>{e.helperVisible=t},[e]);return c.useLayoutEffect(()=>e.on(`helpersVisibleChange`,e=>n(e)),[e]),[t,r]}var J=`$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 ie(e,t){let n=Y(`state`,t),[r,i]=c.useState(Symbol()),a=c.useMemo(()=>{if(n)return Object.assign({},e.state)},[e,r]);return c.useLayoutEffect(()=>{if(n)return e.on(`stateChange`,()=>i(Symbol()))},[e]),[a,r]}function ae(e,t){let n=Y(`currentState`,t),[r,i]=c.useState(Symbol()),a=c.useMemo(()=>{if(n)return e.getCurrentState()},[e,r]);return c.useLayoutEffect(()=>{if(n)return e.on(`currentStateChange`,()=>i(Symbol()))},[e]),[a,r]}function oe(e,t){let n=Y(`currentObserver`,t),[r,i]=c.useState(Symbol()),a=c.useMemo(()=>{if(n)return e.getCurrentState()},[e,r]);c.useLayoutEffect(()=>{if(n)return e.on(`currentStateChange`,()=>i(Symbol()))},[e]);let o;return a&&(o=e.works.getObserver(a)),[o,r]}function se(e,t){return[Y(`unsafe__fiveInstance`,t)?e:void 0]}function ce(e,t){let n=Y(`works`,t),[r,i]=c.useState(Symbol()),a=c.useMemo(()=>{if(n)return e.works},[e,r]);return c.useLayoutEffect(()=>{if(n)return e.on(`load`,()=>i(Symbol()))},[e]),[a,r]}function le(e,t){let n=Y(`model`,t),[r,i]=c.useState(Symbol()),a=c.useMemo(()=>{if(n)return e.model},[e,r]);return c.useLayoutEffect(()=>{if(n)return e.on(`modelLoaded`,()=>i(Symbol()))},[e]),[a,r]}function ue(e,t){return[Y(`scene`,t)?e.scene:void 0]}function de(e,t){let n=Y(`cameraDirection`,t),[r,i]=c.useState(Symbol()),a=c.useMemo(()=>{if(n)return e.camera.getWorldDirection(new u.Vector3)},[e,r]);return c.useLayoutEffect(()=>{if(n)return e.on(`cameraUpdate`,()=>i(Symbol()))},[e]),[a,r]}function fe(e,t){let n=Y(`cameraRaycaster`,t),[r,i]=c.useState(Symbol()),a=c.useMemo(()=>{if(n){let t=e.camera.getWorldDirection(new u.Vector3);return new u.Raycaster(e.camera.position,t)}},[e,r]);return c.useLayoutEffect(()=>{if(n)return e.on(`cameraUpdate`,()=>i(Symbol()))},[e]),[a,r]}function pe(e,t){let n=Y(`modelReadyState`,t),[r,i]=c.useState(Symbol()),a=c.useMemo(()=>{if(n)return e.model.empty?`Empty`:`Loaded`},[e,r]);return c.useLayoutEffect(()=>{if(n)return e.on(`modelLoaded`,()=>i(Symbol()))},[e]),[a,r]}function me(e,t){let n=Y(`shownFloor`,t),[r,i]=c.useState(Symbol()),a=c.useMemo(()=>{if(n)return e.model.shownFloor},[e,r]);return c.useLayoutEffect(()=>{if(n)return e.on(`modelShownFloorChange`,()=>i(Symbol()))},[e]),[a,r]}function he(e,t){let n=Y(`helperVisible`,t),[r,i]=c.useState(Symbol()),a=c.useMemo(()=>{if(n)return e.helperVisible},[e,r]);return c.useLayoutEffect(()=>{if(n)return e.on(`helpersVisibleChange`,()=>i(Symbol()))},[e]),[a,r]}function ge(e,t){if(Y(`loadWork`,t))return e}function _e(e,t){if(Y(`setState`,t))return(...t)=>e.setState(...t)}function ve(e,t){if(Y(`on`,t))return(...t)=>e.on(...t)}function ye(e,t){if(Y(`on`,t))return(...t)=>e.once(...t)}function be(e,t){if(Y(`off`,t))return(...t)=>e.off(...t)}function xe(e,t){if(Y(`intersectRaycaster`,t))return(...t)=>e.model.intersectRaycaster(...t)}function Se(e,t){if(Y(`project2d`,t))return(...t)=>e.project2d(...t)}function Ce(e,t){if(Y(`updateCamera`,t))return(...t)=>e.updateCamera(...t)}function we(e,t){if(Y(`getPixels`,t))return e.getPixels.bind(e)}function Te(e,t){if(Y(`render`,t))return(...t)=>e.render(...t)}function Ee(e,t){if(Y(`needsRender`,t))return()=>{e.needsRender=!0}}function De(e,t){if(Y(`preloadPano`,t))return(...t)=>e.preloadPano(...t)}function Oe(e,t){if(Y(`showFloor`,t))return t=>{typeof t==`number`?e.model.show(t):e.model.show()}}function ke(e,t){if(Y(`toggleHelperVisible`,t))return t=>{e.helperVisible=t}}function Z(e){return function(t){return c.forwardRef((n,r)=>{let i=f(),a=p(),[o]=se(i,e),[s,l]=ie(i,e),[u,d]=ae(i,e),[m,h]=oe(i,e),[g,_]=ce(i,e),[v,y]=le(i,e),[b]=ue(i,e),[x,S]=de(i,e),[C,w]=fe(i,e),[T,E]=pe(i,e),[D,O]=me(i,e),[k,A]=he(i,e),j=c.useMemo(()=>{let t={};return X(t,{setState:_e(i,e),loadWork:ge(a,e),on:ve(i,e),once:ye(i,e),off:be(i,e),intersectRaycaster:xe(i,e),project2d:Se(i,e),updateCamera:Ce(i,e),getPixels:we(i,e),render:Te(i,e),needsRender:Ee(i,e),preloadPano:De(i,e),showFloor:Oe(i,e),toggleHelperVisible:ke(i,e)}),t},[i,a]),M=c.useMemo(()=>{let e=Object.assign({},j);return X(e,{unsafe__fiveInstance:o,state:s,currentState:u,currentObserver:m,work:g,model:v,scene:b,cameraDirection:x,cameraRaycaster:C,modelReadyState:T,shownFloor:D,helperVisible:k}),e},[i,j,l,d,h,_,y,S,w,E,O,A]);return c.createElement(t,Object.assign({ref:r,$five:M},n))})}}function Ae(...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 je(e,t){return typeof e==`number`&&typeof t==`number`&&isNaN(e)&&isNaN(t)?!0:e===t}function Me(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&&!je(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(!Me(e,n))continue;let i=Q(r,e);t(Q(this.values,e),i)}}};function Ne(e){let t=c.createContext(null);return{useStore(e){let n=c.useContext(t);if(n===null)throw Error(`StoreProvider never found.`);let r=c.useRef(!0),[i,a]=c.useState(n.getValues(e)),o=[n,...e];return c.useLayoutEffect(()=>(r.current?r.current=!1:a(n.getValues(e)),n.on(e,e=>a(e))),o),[i,c.useCallback(t=>n.setValues(e,t),o)]},useStoreSetter(e){let n=c.useContext(t);if(n===null)throw Error(`StoreProvider never found.`);return c.useCallback(t=>n.setValues(e,t),[n,...e])},watchStore(e,n,r){let i=c.useContext(t);if(i===null)throw Error(`StoreProvider never found.`);let a=[i,...e];r!==void 0&&(a=a.concat(r)),c.useLayoutEffect(()=>i.on(e,n),a)},useStoreAction(n){let r=c.useContext(t);if(r===null)throw Error(`StoreProvider never found.`);return c.useCallback((...t)=>{let[i,...a]=e[n];return i(()=>r.getValues(a),e=>r.setValues(a,e),...t)},[])},StoreProvider:class extends c.Component{constructor(e){super(e),this.store=new $(e.initialValue,(...e)=>{this.props.onValuesChange&&this.props.onValuesChange(...e)})}shouldComponentUpdate(e){return e.children!==this.props.children}render(){return c.createElement(t.Provider,{value:this.store},this.props.children)}}}}exports.FiveApp=C,exports.FiveAutoCanvas=y,exports.FiveCanvas=v,exports.INJECTION_PROPNAME=J,exports.Store=$,exports.createFiveFeature=Ae,exports.createFiveProvider=h,exports.createStore=Ne,exports.getPlugin=U,exports.setPlugin=W,exports.unsafe__useFiveInstance=w,exports.useFiveAction=N,exports.useFiveCameraDirection=ne,exports.useFiveCameraRaycaster=te,exports.useFiveCurrentObserver=j,exports.useFiveCurrentState=A,exports.useFiveEventCallback=M,exports.useFiveFloor=K,exports.useFiveHelper=q,exports.useFiveModelIntersectRaycaster=I,exports.useFiveModelReadyState=R,exports.useFivePlugin=G,exports.useFiveProject2d=ee,exports.useFiveScene=E,exports.useFiveSceneEffect=T,exports.useFiveState=k,exports.useFiveWork=D,exports.withFive=Z;
package/react/index.mjs CHANGED
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * @license
3
3
  * @realsee/five-webgpu
4
- * Generated: 2026/7/14
5
- * Version: 1.0.0-alpha.1
4
+ * Generated: 2026/8/11
5
+ * Version: 1.0.0-alpha.3
6
6
  * Terms:
7
7
  * Realsee SDK License Agreement
8
8
  * Update: July 28, 2021
@@ -254,7 +254,7 @@
254
254
  * Agreement and all related documents shall be drafted in English.
255
255
  */import * as e from "react";
256
256
  import { useCallback as t, useEffect as n, useRef as r, useState as i } from "react";
257
- import { Five as a } from "@realsee/five";
257
+ import { Five as a } from "@realsee/five-webgpu";
258
258
  import * as o from "three/webgpu";
259
259
  //#region build/react/context.js
260
260
  var s = e.createContext(null);
@@ -1,6 +1,6 @@
1
1
  import * as React from "react";
2
2
  import * as THREE from "three/webgpu";
3
- import { Five, Model, State, WorkObserver, EventTypes, Subscribe } from "@realsee/five";
3
+ import { Five, Model, State, WorkObserver, EventTypes, Subscribe } from "@realsee/five-webgpu";
4
4
  declare const INJECTION_PROPNAME = "$five";
5
5
  type FiveInjectionDataFeature = "unsafe__fiveInstance" | "currentState" | "currentObserver" | "state" | "works" | "model" | "scene" | "cameraDirection" | "cameraRaycaster" | "modelReadyState" | "shownFloor" | "helperVisible";
6
6
  type FiveInjectionActionFeature = "loadWork" | "setState" | "on" | "off" | "intersectRaycaster" | "project2d" | "updateCamera" | "getPixels" | "render" | "needsRender" | "preloadPano" | "showFloor" | "toggleHelperVisible";