@realsee/five 6.0.0-alpha.1 → 6.0.0-alpha.11

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 (172) hide show
  1. package/docs/assets/search.js +1 -1
  2. package/docs/classes/five.AnimationFrameLoop.html +1 -1
  3. package/docs/classes/five.BVH.html +1 -1
  4. package/docs/classes/five.BVHIntersect.html +1 -1
  5. package/docs/classes/five.BVHNode.html +1 -1
  6. package/docs/classes/five.BVHVector3.html +1 -1
  7. package/docs/classes/five.BoxBoundingVolume.html +1 -1
  8. package/docs/classes/five.Camera.html +1 -1
  9. package/docs/classes/five.Clipper.html +1 -1
  10. package/docs/classes/five.CullingVolume.html +1 -1
  11. package/docs/classes/five.Five.html +75 -69
  12. package/docs/classes/five.InternalWebGLRenderer.html +1 -1
  13. package/docs/classes/five.IntersectMesh.html +1 -1
  14. package/docs/classes/five.Model.html +21 -23
  15. package/docs/classes/five.NetworkSubscribe.html +1 -1
  16. package/docs/classes/five.PBMContainer.html +1 -1
  17. package/docs/classes/five.PBMGroup.html +1 -1
  18. package/docs/classes/five.PBMMaterialReferenceCache.html +1 -1
  19. package/docs/classes/five.PBMMesh.html +1 -1
  20. package/docs/classes/five.PBMMeshMaterial.html +15 -11
  21. package/docs/classes/five.PanoCircleMesh.html +1 -1
  22. package/docs/classes/five.PanoCircleMeshCustom.html +1 -1
  23. package/docs/classes/five.PanoCircleMeshSolid.html +1 -1
  24. package/docs/classes/five.RegionBoundingVolume.html +1 -1
  25. package/docs/classes/five.RequestScheduler.html +1 -1
  26. package/docs/classes/five.Scene.html +1 -1
  27. package/docs/classes/five.SphereBoundingVolume.html +1 -1
  28. package/docs/classes/five.Subscribe.html +1 -1
  29. package/docs/classes/five.TextureLoader.html +1 -1
  30. package/docs/classes/five.Tile.html +1 -1
  31. package/docs/classes/five.Tile3DModel.html +1 -1
  32. package/docs/classes/five.TileCubeTextureTarget.html +1 -1
  33. package/docs/classes/five.TileNode.html +1 -1
  34. package/docs/classes/five.Tileset.html +1 -1
  35. package/docs/classes/five.TilesetCache.html +1 -1
  36. package/docs/classes/five.TilesetTraverser.html +1 -1
  37. package/docs/classes/five.Work.html +12 -12
  38. package/docs/classes/five.XRButton.html +1 -1
  39. package/docs/classes/gltf_loader.DDSLoader.html +1 -1
  40. package/docs/classes/gltf_loader.DRACOLoader.html +1 -1
  41. package/docs/classes/gltf_loader.GLTFLoader.html +1 -1
  42. package/docs/classes/gltf_loader.GLTFObject.html +1 -1
  43. package/docs/classes/gltf_loader.GLTFParser.html +1 -1
  44. package/docs/classes/gltf_loader.THREEGLTFLoader.html +1 -1
  45. package/docs/classes/line.Line.html +1 -1
  46. package/docs/classes/line.LineGeometry.html +1 -1
  47. package/docs/classes/line.LineMaterial.html +1 -1
  48. package/docs/classes/line.LineSegmentsGeometry.html +1 -1
  49. package/docs/classes/line.THREE_Line2.html +1 -1
  50. package/docs/classes/line.THREE_LineSegments2.html +1 -1
  51. package/docs/classes/react.Store.html +1 -1
  52. package/docs/classes/sticker.Sticker.html +1 -1
  53. package/docs/classes/vfx.Airflow.html +1 -1
  54. package/docs/classes/vfx.Flame.html +1 -1
  55. package/docs/classes/vfx.Particle.html +1 -1
  56. package/docs/classes/vfx.SpotLight.html +1 -1
  57. package/docs/enums/five.PBMPointColorType.html +1 -1
  58. package/docs/enums/five.PBMPointShapeType.html +1 -1
  59. package/docs/enums/five.PBMPointSizeType.html +1 -1
  60. package/docs/enums/five.VolumePlaneIntersect.html +1 -1
  61. package/docs/index.html +1 -1
  62. package/docs/interfaces/five.AddableObject.html +1 -1
  63. package/docs/interfaces/five.AnimationFrame.html +1 -1
  64. package/docs/interfaces/five.BaseEvent.html +1 -0
  65. package/docs/interfaces/five.BoundingVolume.html +1 -1
  66. package/docs/interfaces/five.CameraPose.html +1 -1
  67. package/docs/interfaces/five.ClipperParameter.html +1 -1
  68. package/docs/interfaces/five.DepthPanoramaControllerCustomInitArgs.html +10 -10
  69. package/docs/interfaces/five.EventCallback.html +199 -93
  70. package/docs/interfaces/five.FiveInitArgs.html +1 -1
  71. package/docs/interfaces/five.FloorplanControllerCustomInitArgs.html +7 -7
  72. package/docs/interfaces/five.GestureEvent.html +1 -0
  73. package/docs/interfaces/five.ImageOptions.html +1 -1
  74. package/docs/interfaces/five.ImageURLMappings.html +1 -1
  75. package/docs/interfaces/five.ImageURLOptions.html +1 -1
  76. package/docs/interfaces/five.IntersectEvent.html +1 -0
  77. package/docs/interfaces/five.IntersectMeshInterface.html +1 -1
  78. package/docs/interfaces/five.Intersection.html +1 -1
  79. package/docs/interfaces/five.MapviewControllerCustomInitArgs.html +5 -5
  80. package/docs/interfaces/five.ModeChangeEvent.html +1 -0
  81. package/docs/interfaces/five.ModelControllerCustomInitArgs.html +8 -8
  82. package/docs/interfaces/five.ModelEvent.html +1 -0
  83. package/docs/interfaces/five.ModelLodOptions.html +1 -1
  84. package/docs/interfaces/five.ModelsEvent.html +1 -0
  85. package/docs/interfaces/five.MotionKeyframe.html +1 -1
  86. package/docs/interfaces/five.MovePanoOptions.html +9 -7
  87. package/docs/interfaces/five.NetworkOptions.html +1 -1
  88. package/docs/interfaces/five.NetworkResourceEvent.html +1 -0
  89. package/docs/interfaces/five.ObjectEvent.html +1 -0
  90. package/docs/interfaces/five.PBMPanoPicture.html +1 -1
  91. package/docs/interfaces/five.PBMParameters.html +15 -11
  92. package/docs/interfaces/five.PanoCircleMeshCustomOptions.html +1 -1
  93. package/docs/interfaces/five.PanoCircleMeshInterface.html +1 -1
  94. package/docs/interfaces/five.PanoCircleMeshOptions.html +1 -1
  95. package/docs/interfaces/five.PanoCircleMeshSolidOptions.html +1 -1
  96. package/docs/interfaces/five.PanoEvent.html +1 -0
  97. package/docs/interfaces/five.PanoTextureEvent.html +1 -0
  98. package/docs/interfaces/five.PanoramaControllerCustomInitArgs.html +10 -10
  99. package/docs/interfaces/five.PanoramaLikeControllerCustomInitArgs.html +8 -8
  100. package/docs/interfaces/five.Pose.html +1 -1
  101. package/docs/interfaces/five.RenderEvent.html +1 -0
  102. package/docs/interfaces/five.Scissor.html +1 -1
  103. package/docs/interfaces/five.State.html +6 -6
  104. package/docs/interfaces/five.StateEvent.html +1 -0
  105. package/docs/interfaces/five.SubscribeMixinType.emit.html +1 -1
  106. package/docs/interfaces/five.SubscribeMixinType.hasListener.html +1 -1
  107. package/docs/interfaces/five.SubscribeMixinType.off.html +1 -1
  108. package/docs/interfaces/five.SubscribeMixinType.on.html +1 -1
  109. package/docs/interfaces/five.SubscribeMixinType.once.html +1 -1
  110. package/docs/interfaces/five.SubscribeMixinType.waitUnitl.html +1 -1
  111. package/docs/interfaces/five.TextureOptions.html +1 -1
  112. package/docs/interfaces/five.Tile3DModelLoaderOptions.html +1 -1
  113. package/docs/interfaces/five.TileCubeNode.html +1 -1
  114. package/docs/interfaces/five.TileCubeTree.html +1 -1
  115. package/docs/interfaces/five.TileHeader.html +1 -1
  116. package/docs/interfaces/five.TilesetHeader.html +1 -1
  117. package/docs/interfaces/five.TilesetOptions.html +1 -1
  118. package/docs/interfaces/five.TopviewControllerCustomInitArgs.html +4 -4
  119. package/docs/interfaces/five.VRPanoramaControllerCustomInitArgs.html +8 -8
  120. package/docs/interfaces/five.WebXRAxesParams.html +1 -0
  121. package/docs/interfaces/five.WebXRControllerParams.html +1 -1
  122. package/docs/interfaces/five.WorkCubeImage.html +6 -6
  123. package/docs/interfaces/five.WorkImage.html +10 -10
  124. package/docs/interfaces/five.WorkInitial.html +9 -9
  125. package/docs/interfaces/five.WorkModel.html +6 -6
  126. package/docs/interfaces/five.WorkObserver.html +24 -16
  127. package/docs/interfaces/five.WorkOptions.html +7 -7
  128. package/docs/interfaces/five.WorkResolvedObserver.html +37 -0
  129. package/docs/interfaces/five.WorkTile.html +1 -1
  130. package/docs/interfaces/five.WorkVideo.html +4 -4
  131. package/docs/interfaces/five.WorksEvent.html +1 -0
  132. package/docs/interfaces/five.XRControllerEvent.html +1 -0
  133. package/docs/interfaces/five.XRGestureEvent.html +1 -0
  134. package/docs/interfaces/five.XRPanoramaControllerCustomInitArgs.html +8 -8
  135. package/docs/interfaces/five.XRSessionEvent.html +1 -0
  136. package/docs/interfaces/gltf_loader.DDS.html +1 -1
  137. package/docs/interfaces/gltf_loader.GLTF.html +1 -1
  138. package/docs/interfaces/gltf_loader.GLTFReference.html +1 -1
  139. package/docs/interfaces/gltf_loader.THREEGLTF.html +1 -1
  140. package/docs/interfaces/react.FiveActionReactCallbacks.html +3 -5
  141. package/docs/interfaces/react.FiveInjectionTypes.html +10 -15
  142. package/docs/interfaces/react.PropTypeOfFiveFeatures.html +1 -1
  143. package/docs/interfaces/sticker.IntersectionLike.html +1 -1
  144. package/docs/interfaces/vfx.ParticleArgs.html +1 -1
  145. package/docs/interfaces/vfx.ParticleTweenKeyframe.html +1 -1
  146. package/docs/interfaces/vue.FiveActionVueCallbacks.html +3 -3
  147. package/docs/modules/five.SubscribeMixinType.html +1 -1
  148. package/docs/modules/five.html +387 -225
  149. package/docs/modules/gltf_loader.html +1 -1
  150. package/docs/modules/line.html +1 -1
  151. package/docs/modules/react.html +1 -1
  152. package/docs/modules/sticker.html +1 -1
  153. package/docs/modules/vfx.html +1 -1
  154. package/docs/modules/vue.html +1 -1
  155. package/docs/modules.html +1 -1
  156. package/five/index.d.ts +947 -618
  157. package/five/index.js +6 -6
  158. package/gltf-loader/index.js +3 -3
  159. package/line/index.js +3 -3
  160. package/package.json +1 -1
  161. package/react/index.d.ts +3 -2
  162. package/react/index.js +3 -3
  163. package/sticker/index.js +3 -3
  164. package/umd/five-gltf-loader.js +1 -1
  165. package/umd/five-line.js +1 -1
  166. package/umd/five-react.js +1 -1
  167. package/umd/five-sticker.js +1 -1
  168. package/umd/five-vue.js +1 -1
  169. package/umd/five.js +1 -1
  170. package/vfx/index.js +2 -2
  171. package/vue/index.d.ts +4 -3
  172. package/vue/index.js +3 -3
package/vfx/index.js CHANGED
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * @realsee/five
3
3
  *
4
- * Generated: 2023-09-13
5
- * Version: 6.0.0-alpha.1
4
+ * Generated: 2023-09-19
5
+ * Version: 6.0.0-alpha.11
6
6
  *
7
7
  * Terms:
8
8
  * Realsee SDK License Agreement
package/vue/index.d.ts CHANGED
@@ -9,6 +9,8 @@ import { Five } from '@realsee/five';
9
9
  import { FiveInitArgs } from '@realsee/five';
10
10
  import { Intersection } from '@realsee/five';
11
11
  import { Model } from '@realsee/five';
12
+ import { Pano } from '@realsee/five';
13
+ import { PanoId } from '@realsee/five';
12
14
  import { Pose } from '@realsee/five';
13
15
  import { PropType } from 'vue';
14
16
  import { Ref } from 'vue';
@@ -21,7 +23,6 @@ import { VNode } from 'vue';
21
23
  import { VNodeProps } from 'vue';
22
24
  import { Work } from '@realsee/five';
23
25
  import { WorkObserver } from '@realsee/five';
24
- import { WorkPanoId } from '@realsee/five';
25
26
  import { Works } from '@realsee/five';
26
27
 
27
28
  /**
@@ -72,11 +73,11 @@ export declare interface FiveActionVueCallbacks {
72
73
  needsRender(): void;
73
74
  /**
74
75
  * 预加载点位图片资源
75
- * @param panoId - 观察点
76
+ * @param pano - 观察点
76
77
  * @param callback - 加载完成回调, 并传递加载用时。
77
78
  * @returns 加载完成的 Promise 参数同 callback
78
79
  */
79
- preloadPano(panoId: WorkPanoId, callback?: (costs: number) => void): Promise<number>;
80
+ preloadPano(pano: Pano | PanoId | number, callback?: (costs: number) => void): Promise<number>;
80
81
  /**
81
82
  * 计算三维空间的点对应到屏幕的二维坐标
82
83
  * @description
package/vue/index.js CHANGED
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * @realsee/five
3
3
  *
4
- * Generated: 2023-09-13
5
- * Version: 6.0.0-alpha.1
4
+ * Generated: 2023-09-19
5
+ * Version: 6.0.0-alpha.11
6
6
  *
7
7
  * Terms:
8
8
  * Realsee SDK License Agreement
@@ -257,4 +257,4 @@
257
257
  * Agreement and all related documents shall be drafted in English.
258
258
  */
259
259
 
260
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("vue"),n=require("@realsee/five");function r(e){if(e&&e.__esModule)return e;var n=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var t=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(n,r,t.get?t:{enumerable:!0,get:function(){return e[r]}})}})),n.default=e,Object.freeze(n)}var t=r(require("three")),o=function(){return o=Object.assign||function(e){for(var n,r=1,t=arguments.length;r<t;r++)for(var o in n=arguments[r])Object.prototype.hasOwnProperty.call(n,o)&&(e[o]=n[o]);return e},o.apply(this,arguments)},i=!1;var u=Symbol();function a(){var n=e.inject(u);if(!n)throw new Error("Inject five error!");return n}var c={display:"inline-block",overflow:"hidden"},f=e.defineComponent({props:{width:{type:Number,required:!0},height:{type:Number,required:!0}},setup:function(n){var r=e.toRef(n,"width"),t=e.toRef(n,"height"),i=a(),u=e.ref(null);return e.watch([r,t,u],(function(){if(i.renderer&&u.value){if(null!==i.renderer.domElement.parentNode&&i.renderer.domElement.parentNode!==u.value)throw new Error("There are more than 2 fiveCanvas in this context.");i.renderer.domElement.parentNode!==u.value&&u.value.appendChild(i.renderer.domElement),i.camera.aspect=r.value/t.value,i.camera.updateProjectionMatrix(),i.renderer.setSize(r.value,t.value),i.needsRender=!0}})),function(){return e.h("div",{id:"five",style:o({width:"".concat(r.value,"px"),height:"".concat(t.value,"px")},c),ref:u})}}}),l=[];var s=e.defineComponent({props:{works:Object,initialWorks:Object,initialState:Object,initialUserAction:Boolean,onWorksChange:Function,onStateChange:Function,onCurrentStateChange:Function,onError:Function,fiveInitArgs:{type:Object,default:function(){return{}}},style:Object},setup:function(r){var a,c,f=e.toRefs(r).works,s=function(e){var n=void 0===e?{}:e,r=n.backgroundColor,o=void 0===r?1579548:r,i=n.backgroundAlpha,u=void 0===i?1:i,a=n.pixelRatio,c=void 0===a?1:a;if("undefined"!=typeof window){var f=l.shift();return f||((f=new t.WebGLRenderer({antialias:!1,alpha:!0})).outputEncoding=t.sRGBEncoding),f.setPixelRatio(c),f.setClearColor(o,u),f.autoClear=!0,f}}({pixelRatio:1===n.getViewportScale()?window.devicePixelRatio:1}),d=new n.Five(o({renderer:s},r.fiveInitArgs)),v=r.works||r.initialWorks;return v&&d.load(v,r.initialState,void 0,null===(a=r.initialUserAction)||void 0===a||a),c=!!r.works,i=c,f&&e.watch(f,(function(e,n){e&&function(e,n){var r=Array.isArray(e)?e:[e],t=Array.isArray(n)?n:[n];if(r.length!==t.length)return!1;for(var o=0;o<r.length;o++)if(r[o]!==t[o])return!1;return!0}(e,d.works)&&d.load(e,r.initialState)})),e.onBeforeUnmount((function(){d&&(d.dispose(),function(e){e&&-1===l.indexOf(e)&&l.push(e)}(d.renderer))})),d.on("load",(function(){r.onWorksChange&&d.works&&r.onWorksChange(null==d?void 0:d.works)})),d.on("stateChange",(function(e,n){r.onStateChange&&r.onStateChange(e,n)})),d.on("currentStateChange",(function(e,n){r.onCurrentStateChange&&r.onCurrentStateChange(e,n)})),d.on("error",(function(e){r.onError?r.onError(e):console.warn(e.message)})),e.provide(u,d),{five:e.shallowReadonly(d)}},render:function(){return e.h("div",{style:this.$props.style},this.$slots)}});function d(n,r){void 0===r&&(r=!1);var t=a(),o=e.ref(Symbol()),i=e.shallowRef(n?t.project2d(e.isRef(n)?n.value:n,r):null),u=t.on("cameraUpdate",(function(){o.value=Symbol()}));return e.onBeforeUnmount((function(){u()})),e.watch([o,n],(function(){i.value=t.project2d(e.isRef(n)?n.value:n,r)})),i}function v(e){var n=e.camera.getWorldDirection(new t.Vector3);return new t.Raycaster(e.camera.position,n)}function p(e){return e.camera.getWorldDirection(new t.Vector3)}function h(n){var r=a(),t=e.shallowRef([]);return e.watch(n,(function(){t.value=r.model.intersectRaycaster(e.isRef(n)?n.value:n)})),t}function m(e){return e.model.empty?"Empty":"Loaded"}function g(e){return e.model.bounding.clone()}exports.FiveCanvas=f,exports.FiveProvider=s,exports.unsafe__useFiveInject=function(){return a()},exports.useFiveAction=function(){var e=a();return{updateCamera:function(n,r){return e.updateCamera(n,r)},getPixels:function(n,r,t,o,i){return e.getPixels(n,r,t,o,i)},render:function(n){return e.render(n)},needsRender:function(){return e.needsRender=!0},preloadPano:function(n,r){return e.preloadPano(n,r)},project2d:function(n,r){return void 0===r&&(r=!1),e.project2d(n,r)}}},exports.useFiveCameraDirection=function(){var n=a(),r=e.shallowRef(p(n)),t=n.on("cameraUpdate",(function(){r.value=p(n)}));return e.onBeforeUnmount((function(){t()})),r},exports.useFiveCameraRaycaster=function(){var n=a(),r=e.shallowRef(v(n)),t=n.on("cameraUpdate",(function(){r.value=v(n)}));return e.onBeforeUnmount((function(){t()})),r},exports.useFiveCurrentObserver=function(){var n=a(),r=e.reactive(n.getCurrentState()),t=e.ref(n.works.getResolvedObserver(n.panoId)),o=n.on("currentStateChange",(function(){Object.assign(r,n.getCurrentState()),t.value=n.works.getResolvedObserver(r.panoId)}));return e.onBeforeUnmount((function(){o()})),t},exports.useFiveCurrentState=function(){var n=a(),r=e.ref(n.getCurrentState()),t=n.on("currentStateChange",(function(){Object.assign(r.value,n.getCurrentState())}));return e.onBeforeUnmount((function(){t()})),[r,function(e,r,t){var o="function"==typeof e?e(n.getCurrentState()):e;n.setState(o,r,t)}]},exports.useFiveEventCallback=function(n,r){var t=a().on(n,r);e.onBeforeUnmount((function(){t()}))},exports.useFiveFloor=function(){var n=a(),r=e.ref(n.model.shownFloor),t=e.ref(n.model.floorLength),o=[];return o.push(n.on("modelShownFloorChange",(function(){r.value=n.model.shownFloor}))),o.push(n.on("modelLoaded",(function(){t.value=n.model.floorLength}))),e.onBeforeUnmount((function(){for(var e;e=o.shift();)e()})),[r,t,function(e){"number"==typeof e?n.model.show(e):n.model.show()}]},exports.useFiveHelper=function(){var n=a(),r=e.ref(n.helperVisible),t=n.on("helpersVisibleChange",(function(e){r.value=e}));return e.onBeforeUnmount((function(){t()})),[r,function(e){n.helperVisible=e}]},exports.useFiveModel=function(){var n=a(),r=e.shallowRef(n.model),t=n.on("modelLoaded",(function(){r.value=n.model}));return e.onBeforeUnmount((function(){t()})),r},exports.useFiveModelBounding=function(){var n=a(),r=e.shallowRef(g(n)),t=n.on("modelLoaded",(function(){r.value=g(n)}));return e.onBeforeUnmount((function(){t()})),r},exports.useFiveModelIntersectRaycaster=function(){return h},exports.useFiveModelReadyState=function(){var n=a(),r=e.ref(m(n)),t=n.on("modelLoaded",(function(){r.value=m(n)}));return e.onBeforeUnmount((function(){t()})),r},exports.useFiveProject2d=function(){return d},exports.useFiveScene=function(){return a().scene},exports.useFiveState=function(){var n=a(),r=e.ref(o({},n.state)),t=n.on("stateChange",(function(e){Object.assign(r.value,o({},e))}));return e.onBeforeUnmount((function(){t()})),[r,function(e,r,t){void 0===r&&(r=!1),void 0===t&&(t=!0);var o="function"==typeof e?e(n.getCurrentState()):e;n.setState(o,r,t)}]},exports.useFiveWorks=function(){var n=a(),r=e.ref(n.works),t=e.readonly(r),o=n.on("load",(function(){r.value=n.works}));return e.onBeforeUnmount((function(){o()})),[t,function(e,r,t,o){if(i)throw new Error("props 'work' is set in fiveProvider, if you need modify work internal, use 'initialWork' instead.");return n.load(e,r,t,o)}]};
260
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("vue"),n=require("@realsee/five");function r(e){if(e&&e.__esModule)return e;var n=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var t=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(n,r,t.get?t:{enumerable:!0,get:function(){return e[r]}})}})),n.default=e,Object.freeze(n)}var t=r(require("three")),o=function(){return o=Object.assign||function(e){for(var n,r=1,t=arguments.length;r<t;r++)for(var o in n=arguments[r])Object.prototype.hasOwnProperty.call(n,o)&&(e[o]=n[o]);return e},o.apply(this,arguments)},i=!1;var u=Symbol();function a(){var n=e.inject(u);if(!n)throw new Error("Inject five error!");return n}var c={display:"inline-block",overflow:"hidden"},f=e.defineComponent({props:{width:{type:Number,required:!0},height:{type:Number,required:!0}},setup:function(n){var r=e.toRef(n,"width"),t=e.toRef(n,"height"),i=a(),u=e.ref(null);return e.watch([r,t,u],(function(){if(i.renderer&&u.value){if(null!==i.renderer.domElement.parentNode&&i.renderer.domElement.parentNode!==u.value)throw new Error("There are more than 2 fiveCanvas in this context.");i.renderer.domElement.parentNode!==u.value&&u.value.appendChild(i.renderer.domElement),i.camera.aspect=r.value/t.value,i.camera.updateProjectionMatrix(),i.renderer.setSize(r.value,t.value),i.needsRender=!0}})),function(){return e.h("div",{id:"five",style:o({width:"".concat(r.value,"px"),height:"".concat(t.value,"px")},c),ref:u})}}}),l=[];var s=e.defineComponent({props:{works:Object,initialWorks:Object,initialState:Object,initialUserAction:Boolean,onWorksChange:Function,onStateChange:Function,onCurrentStateChange:Function,onError:Function,fiveInitArgs:{type:Object,default:function(){return{}}},style:Object},setup:function(r){var a,c,f=e.toRefs(r).works,s=function(e){var n=void 0===e?{}:e,r=n.backgroundColor,o=void 0===r?1579548:r,i=n.backgroundAlpha,u=void 0===i?1:i,a=n.pixelRatio,c=void 0===a?1:a;if("undefined"!=typeof window){var f=l.shift();return f||((f=new t.WebGLRenderer({antialias:!1,alpha:!0})).outputEncoding=t.sRGBEncoding),f.setPixelRatio(c),f.setClearColor(o,u),f.autoClear=!0,f}}({pixelRatio:1===n.getViewportScale()?window.devicePixelRatio:1}),d=new n.Five(o({renderer:s},r.fiveInitArgs)),v=r.works||r.initialWorks;return v&&d.load(v,r.initialState,void 0,null===(a=r.initialUserAction)||void 0===a||a),c=!!r.works,i=c,f&&e.watch(f,(function(e,n){e&&function(e,n){var r=Array.isArray(e)?e:[e],t=Array.isArray(n)?n:[n];if(r.length!==t.length)return!1;for(var o=0;o<r.length;o++)if(r[o]!==t[o])return!1;return!0}(e,d.works)&&d.load(e,r.initialState)})),e.onBeforeUnmount((function(){d&&(d.dispose(),function(e){e&&-1===l.indexOf(e)&&l.push(e)}(d.renderer))})),d.on("load",(function(){r.onWorksChange&&d.works&&r.onWorksChange(null==d?void 0:d.works)})),d.on("stateChange",(function(e,n){r.onStateChange&&r.onStateChange(e,n)})),d.on("currentStateChange",(function(e,n){r.onCurrentStateChange&&r.onCurrentStateChange(e,n)})),d.on("error",(function(e){r.onError?r.onError(e):console.warn(e.message)})),e.provide(u,d),{five:e.shallowReadonly(d)}},render:function(){return e.h("div",{style:this.$props.style},this.$slots)}});function d(n,r){void 0===r&&(r=!1);var t=a(),o=e.ref(Symbol()),i=e.shallowRef(n?t.project2d(e.isRef(n)?n.value:n,r):null),u=t.on("cameraUpdate",(function(){o.value=Symbol()}));return e.onBeforeUnmount((function(){u()})),e.watch([o,n],(function(){i.value=t.project2d(e.isRef(n)?n.value:n,r)})),i}function v(e){var n=e.camera.getWorldDirection(new t.Vector3);return new t.Raycaster(e.camera.position,n)}function p(e){return e.camera.getWorldDirection(new t.Vector3)}function h(n){var r=a(),t=e.shallowRef([]);return e.watch(n,(function(){t.value=r.model.intersectRaycaster(e.isRef(n)?n.value:n)})),t}function m(e){return e.model.empty?"Empty":"Loaded"}function g(e){return e.model.bounding.clone()}exports.FiveCanvas=f,exports.FiveProvider=s,exports.unsafe__useFiveInject=function(){return a()},exports.useFiveAction=function(){var e=a();return{updateCamera:function(n,r){return e.updateCamera(n,r)},getPixels:function(n,r,t,o,i){return e.getPixels(n,r,t,o,i)},render:function(n){return e.render(n)},needsRender:function(){return e.needsRender=!0},preloadPano:function(n,r){return e.preloadPano(n,r)},project2d:function(n,r){return void 0===r&&(r=!1),e.project2d(n,r)}}},exports.useFiveCameraDirection=function(){var n=a(),r=e.shallowRef(p(n)),t=n.on("cameraUpdate",(function(){r.value=p(n)}));return e.onBeforeUnmount((function(){t()})),r},exports.useFiveCameraRaycaster=function(){var n=a(),r=e.shallowRef(v(n)),t=n.on("cameraUpdate",(function(){r.value=v(n)}));return e.onBeforeUnmount((function(){t()})),r},exports.useFiveCurrentObserver=function(){var n=a(),r=e.reactive(n.getCurrentState()),t=e.ref(n.works.getResolvedObserver(n.pano)),o=n.on("currentStateChange",(function(){Object.assign(r,n.getCurrentState()),t.value=n.works.getResolvedObserver({workCode:r.workCode,panoIndex:r.panoIndex})}));return e.onBeforeUnmount((function(){o()})),t},exports.useFiveCurrentState=function(){var n=a(),r=e.ref(n.getCurrentState()),t=n.on("currentStateChange",(function(){Object.assign(r.value,n.getCurrentState())}));return e.onBeforeUnmount((function(){t()})),[r,function(e,r,t){var o="function"==typeof e?e(n.getCurrentState()):e;n.setState(o,r,t)}]},exports.useFiveEventCallback=function(n,r){var t=a().on(n,r);e.onBeforeUnmount((function(){t()}))},exports.useFiveFloor=function(){var n=a(),r=e.ref(n.model.shownFloor),t=e.ref(n.model.floorLength),o=[];return o.push(n.on("modelShownFloorChange",(function(){r.value=n.model.shownFloor}))),o.push(n.on("modelLoaded",(function(){t.value=n.model.floorLength}))),e.onBeforeUnmount((function(){for(var e;e=o.shift();)e()})),[r,t,function(e){"number"==typeof e?n.model.show(e):n.model.show()}]},exports.useFiveHelper=function(){var n=a(),r=e.ref(n.helperVisible),t=n.on("helpersVisibleChange",(function(e){r.value=e}));return e.onBeforeUnmount((function(){t()})),[r,function(e){n.helperVisible=e}]},exports.useFiveModel=function(){var n=a(),r=e.shallowRef(n.model),t=n.on("modelLoaded",(function(){r.value=n.model}));return e.onBeforeUnmount((function(){t()})),r},exports.useFiveModelBounding=function(){var n=a(),r=e.shallowRef(g(n)),t=n.on("modelLoaded",(function(){r.value=g(n)}));return e.onBeforeUnmount((function(){t()})),r},exports.useFiveModelIntersectRaycaster=function(){return h},exports.useFiveModelReadyState=function(){var n=a(),r=e.ref(m(n)),t=n.on("modelLoaded",(function(){r.value=m(n)}));return e.onBeforeUnmount((function(){t()})),r},exports.useFiveProject2d=function(){return d},exports.useFiveScene=function(){return a().scene},exports.useFiveState=function(){var n=a(),r=e.ref(o({},n.state)),t=n.on("stateChange",(function(e){Object.assign(r.value,o({},e))}));return e.onBeforeUnmount((function(){t()})),[r,function(e,r,t){void 0===r&&(r=!1),void 0===t&&(t=!0);var o="function"==typeof e?e(n.getCurrentState()):e;n.setState(o,r,t)}]},exports.useFiveWorks=function(){var n=a(),r=e.ref(n.works),t=e.readonly(r),o=n.on("load",(function(){r.value=n.works}));return e.onBeforeUnmount((function(){o()})),[t,function(e,r,t,o){if(i)throw new Error("props 'work' is set in fiveProvider, if you need modify work internal, use 'initialWork' instead.");return n.load(e,r,t,o)}]};