@realsee/five 6.8.0-alpha.8 → 6.8.0
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/AGENTS_READ_ME.md +6 -1
- package/AI_CONTEXT.md +6 -1
- package/README.md +10 -3
- package/ai_guides/README.md +32 -2
- package/ai_guides/api.md +92 -21
- package/ai_guides/features/3dtile.md +1 -1
- package/ai_guides/features/camera-animation.md +18 -1
- package/ai_guides/features/clipper.md +2 -2
- package/ai_guides/features/coordinate-system.md +20 -2
- package/ai_guides/features/event.md +106 -10
- package/ai_guides/features/five.md +17 -17
- package/ai_guides/features/flowing-light-2d-pass.md +280 -56
- package/ai_guides/features/flowing-light-3d-pass.md +224 -39
- package/ai_guides/features/gaussian-blur-pass.md +1 -1
- package/ai_guides/features/gesture.md +2 -1
- package/ai_guides/features/get-screen-pixels.md +2 -2
- package/ai_guides/features/image-options.md +2 -2
- package/ai_guides/features/load-external-model.md +6 -2
- package/ai_guides/features/load-progress.md +1 -1
- package/ai_guides/features/material.md +20 -12
- package/ai_guides/features/mode.md +1 -1
- package/ai_guides/features/model.md +1 -1
- package/ai_guides/features/move-pano-effect.md +1 -1
- package/ai_guides/features/multi-work.md +1 -1
- package/ai_guides/features/pano-filter.md +149 -0
- package/ai_guides/features/pano-tile.md +1 -1
- package/ai_guides/features/pano-uv.md +1 -1
- package/ai_guides/features/parameter.md +26 -2
- package/ai_guides/features/plugin.md +1 -1
- package/ai_guides/features/postprocessing.md +1 -1
- package/ai_guides/features/raycast.md +5 -2
- package/ai_guides/features/request-proxy.md +1 -1
- package/ai_guides/features/screen-project.md +2 -1
- package/ai_guides/features/state.md +23 -3
- package/ai_guides/features/view-layer.md +1 -1
- package/ai_guides/features/work.md +1 -1
- package/ai_guides/glossary.md +4 -4
- package/ai_guides/release_notes/6.8.md +190 -58
- package/ai_guides/template.md +11 -0
- package/docs/00_FOR_AI_AGENTS.md +3 -2
- package/docs/README.md +3 -2
- package/docs/assets/hierarchy.js +1 -1
- package/docs/assets/main.js +1 -1
- package/docs/assets/navigation.js +1 -1
- package/docs/assets/search.js +1 -1
- package/docs/classes/five.AdaptiveLuminancePass.html +7 -6
- package/docs/classes/five.AnimationFrameLoop.html +1 -1
- package/docs/classes/five.BoundingMesh.html +2 -2
- package/docs/classes/five.Camera.html +3 -3
- package/docs/classes/five.EyeDomeLightingPass.html +1 -1
- package/docs/classes/five.Five.html +77 -76
- package/docs/classes/five.FivePass.html +1 -1
- package/docs/classes/five.Histogram.html +19 -0
- package/docs/classes/five.InternalWebGLRenderer.html +1 -1
- package/docs/classes/five.Model.html +8 -8
- package/docs/classes/five.ModelScene.html +1 -1
- package/docs/classes/five.NetworkSubscribe.html +5 -5
- package/docs/classes/five.PBMContainer.html +1 -1
- package/docs/classes/five.PBMCustomShader.html +42 -3
- package/docs/classes/five.PBMGSObject.html +5 -3
- package/docs/classes/five.PBMGroup.html +1 -1
- package/docs/classes/five.PBMMesh.html +1 -1
- package/docs/classes/five.PBMMeshMaterial.html +7 -7
- package/docs/classes/five.PBMPanoFilter.html +61 -0
- package/docs/classes/five.PBMPointCloud.html +1 -1
- package/docs/classes/five.PBMPointCloudMaterial.html +5 -6
- package/docs/classes/five.PBMSkinnedMesh.html +1 -1
- package/docs/classes/five.PBMUpdateable.html +41 -0
- 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 +57 -55
- package/docs/classes/five.Scene.html +1 -1
- package/docs/classes/five.Subscribe.html +5 -5
- package/docs/classes/five.Tile.html +1 -1
- package/docs/classes/five.Tile3D.html +24 -24
- package/docs/classes/five.TileNode.html +1 -1
- package/docs/classes/five.Tileset.html +3 -2
- package/docs/classes/five.TrajectoryNode.html +1 -1
- package/docs/classes/five.Work.html +16 -16
- package/docs/classes/five.WorkResolvedObserver.html +22 -22
- 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 +2 -2
- package/docs/classes/gltf-loader.GLTFObject.html +1 -1
- package/docs/classes/gltf-loader.GLTFParser.html +1 -1
- package/docs/classes/gltf-loader.THREEGLTFLoader.html +2 -2
- 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.CSS3DObject.html +9 -0
- package/docs/classes/plugins.CSS3DRenderer.html +4 -2
- package/docs/classes/plugins.CSS3DSprite.html +11 -0
- package/docs/classes/plugins.Object3DHelperController.html +43 -0
- 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 +6 -6
- package/docs/classes/vfx.ParticleGPU.html +3 -3
- package/docs/classes/vfx.SpotLight.html +1 -1
- package/docs/documents/README.html +124 -3
- package/docs/documents/api.html +163 -35
- package/docs/documents/features_3dtile.html +1 -1
- package/docs/documents/features_camera-animation.html +18 -2
- package/docs/documents/features_clipper.html +2 -2
- package/docs/documents/features_coordinate-system.html +52 -3
- package/docs/documents/features_event.html +44 -8
- package/docs/documents/features_five.html +17 -17
- package/docs/documents/features_flowing-light-2d-pass.html +176 -41
- package/docs/documents/features_flowing-light-3d-pass.html +160 -40
- package/docs/documents/features_gaussian-blur-pass.html +6 -6
- package/docs/documents/features_gesture.html +2 -1
- package/docs/documents/features_get-screen-pixels.html +2 -2
- package/docs/documents/features_image-options.html +2 -2
- package/docs/documents/features_load-external-model.html +6 -2
- package/docs/documents/features_load-progress.html +1 -1
- package/docs/documents/features_material.html +11 -4
- package/docs/documents/features_mode.html +1 -1
- package/docs/documents/features_model.html +1 -1
- package/docs/documents/features_move-pano-effect.html +1 -1
- package/docs/documents/features_multi-work.html +1 -1
- package/docs/documents/features_pano-filter.html +123 -0
- package/docs/documents/features_pano-tile.html +1 -1
- package/docs/documents/features_pano-uv.html +1 -1
- package/docs/documents/features_parameter.html +11 -3
- package/docs/documents/features_plugin.html +1 -1
- package/docs/documents/features_postprocessing.html +1 -1
- package/docs/documents/features_raycast.html +5 -2
- package/docs/documents/features_request-proxy.html +1 -1
- package/docs/documents/features_screen-project.html +2 -1
- package/docs/documents/features_state.html +9 -2
- package/docs/documents/features_view-layer.html +1 -1
- package/docs/documents/features_work.html +1 -1
- package/docs/documents/glossary.html +5 -5
- package/docs/documents/release_notes_6.8.html +164 -64
- package/docs/documents/template.html +9 -0
- package/docs/functions/five.createDebugBoundingMesh.html +1 -1
- package/docs/functions/five.parseWork.html +1 -1
- package/docs/functions/plugins.CSS3DPlugin.html +1 -0
- package/docs/functions/plugins.GaussianSplattingEntranceAnimationPlugin.html +1 -0
- package/docs/functions/plugins.Object3DHelperPlugin.html +1 -0
- package/docs/functions/react.useFiveCurrentObserver.html +2 -2
- package/docs/functions/react.useFiveFloor.html +2 -2
- package/docs/functions/react.useFiveProject2d.html +2 -2
- package/docs/functions/vue.useFiveCurrentObserver.html +2 -2
- package/docs/functions/vue.useFiveFloor.html +2 -2
- package/docs/functions/vue.useFiveWorks.html +2 -2
- package/docs/hierarchy.html +1 -1
- package/docs/index.html +124 -3
- package/docs/interfaces/five.AddableObject.html +1 -1
- package/docs/interfaces/five.AjaxOptions.html +1 -1
- package/docs/interfaces/five.BaseEvent.html +7 -2
- package/docs/interfaces/five.BaseExtendableEvent.html +11 -0
- package/docs/interfaces/five.EventCallback.html +58 -54
- package/docs/interfaces/five.FiveInitArgs.html +2 -2
- package/docs/interfaces/five.FloorplanControllerCustomInitArgs.html +9 -9
- package/docs/interfaces/five.GestureEvent.html +21 -2
- package/docs/interfaces/five.GesturePointer.html +20 -0
- package/docs/interfaces/five.ImageOptions.html +1 -1
- package/docs/interfaces/five.IntersectEvent.html +10 -2
- 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.LooseWorkObserver.html +2 -2
- package/docs/interfaces/five.LooseWorkPanorama.html +2 -2
- package/docs/interfaces/five.LooseWorkWithExtrinsics.html +6 -6
- package/docs/interfaces/five.MapviewControllerCustomInitArgs.html +10 -10
- package/docs/interfaces/five.ModeChangeEvent.html +9 -2
- package/docs/interfaces/five.ModelControllerCustomInitArgs.html +1 -1
- package/docs/interfaces/five.ModelEvent.html +7 -2
- package/docs/interfaces/five.ModelSceneEvent.html +7 -2
- package/docs/interfaces/five.ModelTileEvent.html +7 -2
- package/docs/interfaces/five.MovePanoOptions.html +8 -8
- 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 +7 -2
- package/docs/interfaces/five.NetworkResponseError.html +1 -1
- package/docs/interfaces/five.NetworkTimeoutError.html +1 -1
- package/docs/interfaces/five.ObjectEvent.html +7 -2
- package/docs/interfaces/five.PBMClipperParameter.html +2 -2
- package/docs/interfaces/five.PBMCustomShaderInitArgs.html +2 -2
- package/docs/interfaces/five.PBMCustomShaderSlots.html +2 -2
- package/docs/interfaces/five.PBMMaterial.html +1 -1
- package/docs/interfaces/five.PBMMeshMaterialParameters.html +5 -3
- package/docs/interfaces/five.PBMPanoDepth.html +5 -5
- package/docs/interfaces/five.PBMPanoFilterValue.html +6 -0
- package/docs/interfaces/five.PBMPanoPicture.html +8 -6
- package/docs/interfaces/five.PBMPointCloudMaterialParameters.html +2 -3
- package/docs/interfaces/five.PBMRefinedScreen.html +2 -2
- package/docs/interfaces/five.PanoCircleMeshInterface.html +2 -2
- package/docs/interfaces/five.PanoEvent.html +15 -2
- package/docs/interfaces/five.PanoPrepareEvent.html +15 -0
- package/docs/interfaces/five.PanoTextureEvent.html +11 -2
- package/docs/interfaces/five.PanoramaControllerCustomInitArgs.html +1 -1
- package/docs/interfaces/five.PanoramaLikeControllerCustomInitArgs.html +1 -1
- package/docs/interfaces/five.ParameterMaterialValue.html +40 -38
- package/docs/interfaces/five.ParameterTilesetValue.html +15 -15
- package/docs/interfaces/five.ParameterValue.html +54 -52
- package/docs/interfaces/five.Pose.html +1 -1
- package/docs/interfaces/five.RenderEvent.html +7 -2
- package/docs/interfaces/five.ResolvedParameterValue.html +55 -54
- package/docs/interfaces/five.RgbaData.html +7 -0
- package/docs/interfaces/five.SplatData.html +2 -2
- package/docs/interfaces/five.State.html +1 -1
- package/docs/interfaces/five.StateEvent.html +9 -2
- package/docs/interfaces/five.TextureOptions.html +1 -1
- package/docs/interfaces/five.Tile3DOptions.html +2 -2
- package/docs/interfaces/five.TopviewControllerCustomInitArgs.html +7 -7
- package/docs/interfaces/five.VRPanoramaControllerCustomInitArgs.html +1 -1
- package/docs/interfaces/five.ViewLayer.html +24 -24
- package/docs/interfaces/five.WorkCubeImage.html +3 -2
- package/docs/interfaces/five.WorkImage.html +6 -5
- package/docs/interfaces/five.WorkInitial.html +8 -8
- package/docs/interfaces/five.WorkModel.html +8 -8
- package/docs/interfaces/five.WorkModelLayer.html +6 -6
- package/docs/interfaces/five.WorkObserver.html +29 -29
- package/docs/interfaces/five.WorkObserverJson.html +2 -2
- package/docs/interfaces/five.WorkObserverProto.html +26 -0
- package/docs/interfaces/five.WorkPanoramaJson.html +2 -2
- package/docs/interfaces/five.WorkTile.html +6 -5
- package/docs/interfaces/five.WorkVideo.html +4 -4
- package/docs/interfaces/five.WorksEvent.html +7 -2
- package/docs/interfaces/five.XRControllerEvent.html +10 -2
- package/docs/interfaces/five.XRControllerState.html +8 -0
- package/docs/interfaces/five.XRGestureEvent.html +13 -2
- package/docs/interfaces/five.XRPanoramaControllerCustomInitArgs.html +1 -1
- package/docs/interfaces/five.XRSessionEvent.html +9 -2
- 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.CSS3DPluginController.html +52 -0
- package/docs/interfaces/plugins.CSS3DPluginType.Config.html +2 -0
- package/docs/interfaces/plugins.CSS3DPluginType.CreateCSS3DObjectType.html +10 -0
- package/docs/interfaces/plugins.CSS3DPluginType.EventMap.html +10 -0
- package/docs/interfaces/plugins.CSS3DPluginType.Params.html +4 -0
- package/docs/interfaces/plugins.CSS3DPluginType.State.html +8 -0
- package/docs/interfaces/plugins.CSS3DRendererParameters.html +2 -0
- package/docs/interfaces/plugins.DynamicPathLinePluginController.html +3 -3
- package/docs/interfaces/plugins.DynamicPathLinePluginType.EventMap.html +1 -1
- package/docs/interfaces/plugins.DynamicPathLinePluginType.State.html +1 -1
- package/docs/interfaces/plugins.GaussianSplattingEntranceAnimationController.html +44 -0
- package/docs/interfaces/plugins.GaussianSplattingEntranceAnimationPluginType.BoundingAABB2D.html +3 -0
- package/docs/interfaces/plugins.GaussianSplattingEntranceAnimationPluginType.Config.html +8 -0
- package/docs/interfaces/plugins.GaussianSplattingEntranceAnimationPluginType.EventMap.html +10 -0
- package/docs/interfaces/plugins.GaussianSplattingEntranceAnimationPluginType.Keyframe.html +3 -0
- package/docs/interfaces/plugins.GaussianSplattingEntranceAnimationPluginType.State.html +8 -0
- package/docs/interfaces/plugins.ItemMaskController.html +1 -1
- package/docs/interfaces/plugins.ItemMaskPluginType.EventMap.html +1 -1
- package/docs/interfaces/plugins.ItemMaskPluginType.State.html +2 -2
- package/docs/interfaces/plugins.Object3DHelperPluginType.BaseController.html +30 -0
- package/docs/interfaces/plugins.Object3DHelperPluginType.BaseHelper.html +22 -0
- package/docs/interfaces/plugins.Object3DHelperPluginType.BoundingBoxController.html +30 -0
- package/docs/interfaces/plugins.Object3DHelperPluginType.HelperOffset.html +4 -0
- package/docs/interfaces/plugins.Object3DHelperPluginType.MoveController.html +36 -0
- package/docs/interfaces/plugins.Object3DHelperPluginType.MoveHelperAbstract.html +32 -0
- package/docs/interfaces/plugins.Object3DHelperPluginType.Object3DHelper.html +12 -0
- package/docs/interfaces/plugins.Object3DHelperPluginType.Object3DHelperPluginState.html +4 -0
- package/docs/interfaces/plugins.Object3DHelperPluginType.Object3DHelperState.html +4 -0
- package/docs/interfaces/plugins.Object3DHelperPluginType.ObjectHelperControllers.html +4 -0
- package/docs/interfaces/plugins.Object3DHelperPluginType.RotateController.html +36 -0
- package/docs/interfaces/plugins.Object3DHelperPluginType.RotateHelperAbstract.html +28 -0
- package/docs/interfaces/plugins.Object3DHelperPluginType.Scissor.html +5 -0
- package/docs/interfaces/plugins.Object3DHelperPluginType.Vector2Position.html +3 -0
- package/docs/interfaces/plugins.Object3DHelperPluginType.Vector3Position.html +4 -0
- package/docs/interfaces/plugins.OrientationPluginController.html +6 -6
- 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.PlayingState.html +2 -2
- package/docs/interfaces/plugins.PluginTemplateType.EventMap.html +1 -1
- package/docs/interfaces/plugins.PluginTemplateType.State.html +1 -1
- package/docs/interfaces/plugins.TrajectoryController.html +8 -8
- package/docs/interfaces/react.FiveInjectionTypes.html +21 -21
- package/docs/interfaces/sticker.IntersectionLike.html +2 -2
- package/docs/interfaces/vfx.ParticleArgs.html +4 -4
- package/docs/interfaces/vue.FiveActionVueCallbacks.html +3 -3
- package/docs/modules/five.html +1 -1
- package/docs/modules/plugins.CSS3DPluginType.html +1 -0
- package/docs/modules/plugins.GaussianSplattingEntranceAnimationPluginType.html +1 -0
- package/docs/modules/plugins.Object3DHelperPluginType.html +1 -0
- package/docs/modules/plugins.html +1 -1
- package/docs/modules.html +1 -1
- package/docs/types/five.ControllerEventTypes.html +30 -26
- package/docs/types/five.EasingFunction.html +1 -0
- package/docs/types/five.EventTypes.html +26 -26
- package/docs/types/five.LegacyEventType.html +7 -7
- package/docs/types/five.PBMAlphaMode.html +1 -1
- package/docs/types/five.PBMColorStyle.html +1 -1
- package/docs/types/five.PBMFloorStyle.html +1 -1
- package/docs/types/five.PBMMeshShaderType.html +1 -1
- package/docs/types/five.PBMPointBack.html +1 -1
- package/docs/types/five.PBMPointCloudShaderType.html +1 -1
- package/docs/types/five.PBMPointShape.html +1 -1
- package/docs/types/five.PBMPointSize.html +1 -1
- package/docs/types/five.PBMTransition.html +1 -1
- package/docs/types/five.ParseOptions.html +6 -6
- package/docs/types/five.Works.html +1 -1
- package/docs/types/plugins.BasePlugin.EventMap.html +1 -1
- package/docs/types/plugins.CSS3DPluginType.PluginData.html +1 -0
- package/docs/types/plugins.CSS3DPluginType.ServerData.html +1 -0
- package/docs/types/plugins.Object3DHelperPluginType.AddObject3DHelperConfig.html +13 -0
- package/docs/types/plugins.Object3DHelperPluginType.Circle.html +1 -0
- package/docs/types/plugins.Object3DHelperPluginType.Color.html +1 -0
- package/docs/types/plugins.Object3DHelperPluginType.Direction.html +1 -0
- package/docs/types/plugins.Object3DHelperPluginType.Direction4.html +1 -0
- package/docs/types/plugins.Object3DHelperPluginType.HelperConfig.html +1 -0
- package/docs/types/plugins.Object3DHelperPluginType.HelperEventMap.html +17 -0
- package/docs/types/plugins.Object3DHelperPluginType.InternalHelperEventMap.html +8 -0
- package/docs/types/plugins.Object3DHelperPluginType.Object3DHelperEventMap.html +1 -0
- package/docs/types/plugins.Object3DHelperPluginType.Object3DHelperPluginEventMap.html +7 -0
- package/docs/types/plugins.Object3DHelperPluginType.PositionFrom.html +1 -0
- package/docs/types/plugins.Object3DHelperPluginType.ScaleCallback.html +1 -0
- package/docs/types/plugins.Object3DHelperPluginType.ScalePosition.html +4 -0
- package/docs/types/plugins.Object3DHelperPluginType.UseFaceNormalInterface.html +4 -0
- package/docs/types/plugins.Object3DHelperPluginType.Vector2WithArray.html +1 -0
- package/docs/types/plugins.Object3DHelperPluginType.Vector3WithArray.html +1 -0
- package/docs/variables/five.PROXY_CONTROLLER_EVENT_NAMES.html +1 -1
- package/five/application/events.d.ts +1 -1
- package/five/application/five.d.ts +6 -5
- package/five/bvh/bvhObject.d.ts +2 -2
- package/five/controllers/base.d.ts +1 -0
- package/five/controllers/events.d.ts +5 -1
- package/five/controllers/mapview.d.ts +1 -0
- package/five/controllers/model.d.ts +2 -2
- package/five/controllers/panorama.d.ts +3 -2
- package/five/controllers/xrPanorama.d.ts +1 -1
- package/five/core/camera.d.ts +1 -1
- package/five/gaussian-splatting/util/renderData.d.ts +66 -0
- package/five/index.d.ts +4 -1
- package/five/index.js +272 -748
- package/five/index.mjs +26894 -32055
- package/five/meshes/boundingMesh.d.ts +1 -0
- package/five/model/index.d.ts +2 -2
- package/five/model/loaders/glTF-helpers/extensions/CESIUM_RTC.d.ts +1 -1
- package/five/model/loaders/glTF-helpers/extensions/EXT_meshopt_compression.d.ts +1 -1
- package/five/model/loaders/glTF-helpers/extensions/EXT_texture_webp.d.ts +1 -1
- package/five/model/loaders/glTF-helpers/extensions/KHR_binary_glTF.d.ts +2 -2
- package/five/model/loaders/glTF-helpers/extensions/KHR_draco_mesh_compression.d.ts +1 -1
- package/five/model/loaders/glTF-helpers/extensions/KHR_gaussian_splatting.d.ts +26 -0
- package/five/model/loaders/glTF-helpers/extensions/KHR_gaussian_splatting_compression_spz.d.ts +8 -6
- package/five/model/loaders/glTF-helpers/extensions/KHR_gaussian_splatting_compression_spz_2.d.ts +13 -0
- package/five/model/loaders/glTF-helpers/extensions/KHR_materials_clearcoat.d.ts +4 -0
- package/five/model/loaders/glTF-helpers/extensions/KHR_materials_emissive_strength.d.ts +4 -0
- package/five/model/loaders/glTF-helpers/extensions/KHR_materials_sheen.d.ts +4 -0
- package/five/model/loaders/glTF-helpers/extensions/KHR_materials_transmission.d.ts +4 -0
- package/five/model/loaders/glTF-helpers/extensions/KHR_materials_unlit.d.ts +4 -0
- package/five/model/loaders/glTF-helpers/extensions/KHR_node_visibility.d.ts +4 -0
- package/five/model/loaders/glTF-helpers/extensions/KHR_texture_basisu.d.ts +1 -1
- package/five/model/loaders/glTF-helpers/extensions/KHR_texture_transform.d.ts +1 -1
- package/five/model/loaders/glTF-helpers/extensions/REALSEE_materials_lightmap.d.ts +1 -1
- package/five/model/loaders/glTF-helpers/extensions/base.d.ts +3 -1
- package/five/model/loaders/glTF-helpers/index.d.ts +4 -2
- package/five/model/loaders/glTF-helpers/parser.d.ts +16 -14
- package/five/model/loaders/spz.d.ts +2 -2
- package/five/model/materials/pbmMaterial.d.ts +54 -4
- package/five/model/materials/pbmMeshMaterial.d.ts +5 -3
- package/five/model/materials/pbmPointCloudMaterial.d.ts +0 -2
- package/five/model/objects/{pbmGSObject.d.ts → pbmGaussianSplattingObject.d.ts} +4 -1
- package/five/model/objects/pbmGaussianSplattingRenderMesh.d.ts +59 -0
- package/five/model/objects/pbmGaussianSplattingTestMesh.d.ts +7 -0
- package/five/model/parameter.d.ts +11 -6
- package/five/model/tile3d/index.d.ts +5 -3
- package/five/model/tile3d/tile-node.d.ts +2 -2
- package/five/model/tile3d/tileset.d.ts +1 -0
- package/five/renderer/postprocessing/passes/adaptive-luminance-pass.d.ts +9 -7
- package/five/renderer/postprocessing/passes/flowing-light-2d-pass.d.ts +16 -2
- package/five/renderer/postprocessing/passes/flowing-light-3d-pass.d.ts +16 -2
- package/five/renderer/postprocessing/passes/gaussian-blur-pass.d.ts +1 -1
- package/five/renderer/tools/render-cube-to-equirectangular.d.ts +7 -0
- package/five/renderer/tools/render-full-screen.d.ts +1 -1
- package/five/texture/histogram.d.ts +54 -0
- package/five/texture/loader.d.ts +1 -1
- package/five/texture/textureData.d.ts +11 -0
- package/five/thirdparty/hammer.d.ts +371 -255
- package/five/thirdparty/jsrsasign.d.ts +5 -20
- package/five/types/movePanoOptions.d.ts +4 -3
- package/five/utils/error.d.ts +1 -0
- package/five/utils/event.d.ts +98 -37
- package/five/utils/imageURL.d.ts +1 -1
- package/five/utils/memoryUsage.d.ts +2 -2
- package/five/utils/subscribe.d.ts +2 -2
- package/five/webxr/motionHelper.d.ts +1 -1
- package/five/work/index.d.ts +1 -0
- package/five/work/looseWorkType.d.ts +2 -2
- package/five/work/work.d.ts +5 -35
- package/five/work/workJsonType.d.ts +2 -2
- package/five/work/workObserverProto.d.ts +39 -0
- package/gltf-loader/index.js +9 -9
- package/gltf-loader/index.mjs +1351 -1451
- package/line/index.js +4 -4
- package/line/index.mjs +334 -513
- package/llms.txt +40 -3
- package/package.json +4 -4
- package/plugins/CSS3DPlugin/Controller.d.ts +64 -0
- package/plugins/CSS3DPlugin/index.d.ts +5 -0
- package/plugins/CSS3DPlugin/typing.d.ts +32 -0
- package/plugins/GaussianSplattingEntranceAnimationPlugin/Controller.d.ts +30 -0
- package/plugins/GaussianSplattingEntranceAnimationPlugin/index.d.ts +5 -0
- package/plugins/GaussianSplattingEntranceAnimationPlugin/typing.d.ts +28 -0
- package/plugins/Object3DHelperPlugin/Controller.d.ts +99 -0
- package/plugins/Object3DHelperPlugin/Controllers/BaseController.d.ts +142 -0
- package/plugins/Object3DHelperPlugin/Controllers/BoundingBoxController.d.ts +16 -0
- package/plugins/Object3DHelperPlugin/Controllers/MoveController.d.ts +66 -0
- package/plugins/Object3DHelperPlugin/Controllers/RotateController.d.ts +61 -0
- package/plugins/Object3DHelperPlugin/FiveControllerWrapper.d.ts +17 -0
- package/plugins/Object3DHelperPlugin/Helper/BaseHelper.d.ts +97 -0
- package/plugins/Object3DHelperPlugin/Helper/BoundingBoxHelper.d.ts +16 -0
- package/plugins/Object3DHelperPlugin/Helper/MoveHelper.d.ts +37 -0
- package/plugins/Object3DHelperPlugin/Helper/RotateHelper.d.ts +93 -0
- package/plugins/Object3DHelperPlugin/constant.d.ts +27 -0
- package/plugins/Object3DHelperPlugin/index.d.ts +6 -0
- package/plugins/Object3DHelperPlugin/typing.d.ts +143 -0
- package/plugins/Object3DHelperPlugin/utils/ArrowGroup.d.ts +22 -0
- package/plugins/Object3DHelperPlugin/utils/CenterHandle.d.ts +23 -0
- package/plugins/Object3DHelperPlugin/utils/PlaneHandle.d.ts +19 -0
- package/plugins/Object3DHelperPlugin/utils/calculateScaleByCamera.d.ts +5 -0
- package/plugins/Object3DHelperPlugin/utils/cameraHooks.d.ts +2 -0
- package/plugins/Object3DHelperPlugin/utils/direction.d.ts +14 -0
- package/plugins/Object3DHelperPlugin/utils/getMouseRaycaster.d.ts +5 -0
- package/plugins/Object3DHelperPlugin/utils/getOrthographicCameraDirection.d.ts +8 -0
- package/plugins/Object3DHelperPlugin/utils/setObjectQuaternion.d.ts +8 -0
- package/plugins/Object3DHelperPlugin/utils/solidGuide.d.ts +27 -0
- package/plugins/Object3DHelperPlugin/utils/tipsDom.d.ts +8 -0
- package/plugins/TrajectoryPlugin/Controller.d.ts +1 -1
- package/plugins/index.d.ts +4 -1
- package/plugins/index.js +35 -21
- package/plugins/index.mjs +5418 -4238
- package/plugins/thirdParty/CSS3DRenderer.d.ts +16 -3
- package/plugins/thirdParty/domevents.d.ts +36 -0
- package/plugins/utils/uuid.d.ts +1 -4
- package/react/context.d.ts +3 -2
- package/react/createProvider.d.ts +4 -4
- package/react/createStore.d.ts +3 -3
- package/react/hooks/useFiveProject2d.d.ts +1 -1
- package/react/index.js +3 -3
- package/react/index.mjs +572 -783
- package/react/rendererPool.d.ts +2 -2
- package/shader-lib/index.js +13 -14
- package/shader-lib/index.mjs +424 -824
- package/sticker/index.js +3 -3
- package/sticker/index.mjs +102 -142
- package/umd/five-gltf-loader.js +9 -9
- package/umd/five-line.js +4 -4
- package/umd/five-plugins.js +35 -21
- package/umd/five-react.js +3 -3
- package/umd/five-shader-lib.js +13 -14
- package/umd/five-sticker.js +3 -3
- package/umd/five-vfx.js +21 -21
- package/umd/five-vue.js +3 -3
- package/umd/five.js +267 -743
- package/vfx/index.js +21 -21
- package/vfx/index.mjs +454 -910
- package/vue/index.js +3 -3
- package/vue/index.mjs +309 -301
- package/vue/rendererPool.d.ts +5 -5
- package/work-downloader/index.js +3 -3
- package/work-downloader/index.mjs +339 -556
- package/five/gs/util/renderData.d.ts +0 -32
- package/five/model/loaders/glTF-helpers/extensions/PBM_mesh.d.ts +0 -11
- package/five/model/objects/pbmGSRenderMesh.d.ts +0 -29
- package/five/work/workObserverUtils.d.ts +0 -36
- /package/five/assets/{realsee-pmg-data-url.d.ts → realsee-png-data-url.d.ts} +0 -0
- /package/five/{gs → gaussian-splatting}/wasm/data.d.ts +0 -0
- /package/five/{gs → gaussian-splatting}/wasm/sort.d.ts +0 -0
- /package/five/{gs → gaussian-splatting}/worker/dataWorker.d.ts +0 -0
- /package/five/{gs → gaussian-splatting}/worker/sortWorker.d.ts +0 -0
|
@@ -6,27 +6,40 @@ import {
|
|
|
6
6
|
|
|
7
7
|
export class CSS3DObject extends Object3D {
|
|
8
8
|
|
|
9
|
-
constructor( element
|
|
9
|
+
constructor( element?: HTMLElement );
|
|
10
|
+
|
|
11
|
+
readonly isCSS3DObject: true;
|
|
10
12
|
element: HTMLElement;
|
|
11
13
|
|
|
12
14
|
onBeforeRender: ( renderer: unknown, scene: Scene, camera: Camera ) => void;
|
|
13
15
|
onAfterRender: ( renderer: unknown, scene: Scene, camera: Camera ) => void;
|
|
14
16
|
|
|
17
|
+
copy( source: CSS3DObject, recursive?: boolean ): this;
|
|
18
|
+
|
|
15
19
|
}
|
|
16
20
|
|
|
17
21
|
export class CSS3DSprite extends CSS3DObject {
|
|
18
22
|
|
|
19
|
-
constructor( element
|
|
23
|
+
constructor( element?: HTMLElement );
|
|
24
|
+
|
|
25
|
+
readonly isCSS3DSprite: true;
|
|
26
|
+
rotation2D: number;
|
|
27
|
+
|
|
28
|
+
}
|
|
20
29
|
|
|
30
|
+
export interface CSS3DRendererParameters {
|
|
31
|
+
element?: HTMLElement;
|
|
21
32
|
}
|
|
22
33
|
|
|
23
34
|
export class CSS3DRenderer {
|
|
24
35
|
|
|
25
|
-
constructor();
|
|
36
|
+
constructor( parameters?: CSS3DRendererParameters );
|
|
26
37
|
domElement: HTMLElement;
|
|
27
38
|
|
|
28
39
|
getSize(): { width: number, height: number };
|
|
29
40
|
setSize( width: number, height: number ): void;
|
|
41
|
+
markDirty(): void;
|
|
42
|
+
updateSpriteSet( scene: Scene ): void;
|
|
30
43
|
render( scene: Scene, camera: Camera ): void;
|
|
31
44
|
|
|
32
45
|
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import type * as THREE from 'three'
|
|
2
|
+
|
|
3
|
+
type EventName =
|
|
4
|
+
| 'click'
|
|
5
|
+
| 'dblclick'
|
|
6
|
+
| 'mouseover'
|
|
7
|
+
| 'mouseout'
|
|
8
|
+
| 'mousemove'
|
|
9
|
+
| 'mousedown'
|
|
10
|
+
| 'mouseup'
|
|
11
|
+
| 'contextmenu'
|
|
12
|
+
| 'touchstart'
|
|
13
|
+
| 'touchend'
|
|
14
|
+
|
|
15
|
+
export interface DomEventInterface<T extends EventName, K extends THREE.Object3D> {
|
|
16
|
+
type: T
|
|
17
|
+
target: K
|
|
18
|
+
origDomEvent: Event
|
|
19
|
+
intersect: THREE.Intersection & { object: K }
|
|
20
|
+
stopPropagation: () => void
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
declare class DomEvents {
|
|
24
|
+
public constructor(camera: THREE.Camera, domElement: HTMLElement)
|
|
25
|
+
|
|
26
|
+
public addEventListener<T extends EventName, K extends THREE.Object3D>(
|
|
27
|
+
object: K,
|
|
28
|
+
eventName: T,
|
|
29
|
+
callback: (params: DomEventInterface<T, K>) => void,
|
|
30
|
+
useCapture?: boolean,
|
|
31
|
+
): void
|
|
32
|
+
|
|
33
|
+
public removeEventListener(object: THREE.Object3D, eventName: EventName, callback: (params: any) => void, useCapture?: boolean): void
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
export default DomEvents
|
package/plugins/utils/uuid.d.ts
CHANGED
package/react/context.d.ts
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import * as THREE from "three";
|
|
2
2
|
import * as React from "react";
|
|
3
3
|
import { Five, Work, State, FiveLoadOptions } from "@realsee/five";
|
|
4
|
-
|
|
4
|
+
type ContextType = null | {
|
|
5
5
|
renderer?: THREE.WebGLRenderer;
|
|
6
6
|
five: Five;
|
|
7
7
|
loadWork: (works: Work | Work[], state?: "inherit" | "initial" | Partial<Omit<State, "offset">>, options?: number | FiveLoadOptions, userAction?: boolean) => Promise<void>;
|
|
8
|
-
}
|
|
8
|
+
};
|
|
9
|
+
declare const FiveContext: React.Context<ContextType>;
|
|
9
10
|
declare function useFiveInstance(): Five;
|
|
10
11
|
declare function useFiveWorkLoader(): (works: Work | Work[], state?: "inherit" | "initial" | Partial<Omit<State, "offset">>, options?: number | FiveLoadOptions, userAction?: boolean) => Promise<void>;
|
|
11
12
|
export { FiveContext, useFiveInstance, useFiveWorkLoader };
|
|
@@ -48,7 +48,7 @@ declare function createFiveProvider(fiveInitArgs?: Omit<FiveInitArgs, "renderer"
|
|
|
48
48
|
renderer?: THREE.WebGLRenderer;
|
|
49
49
|
five: Five;
|
|
50
50
|
loadWork: (works: Work | Work[], state?: "inherit" | "initial" | Partial<Omit<State, "offset">>, options?: number | FiveLoadOptions, userAction?: boolean) => Promise<void>;
|
|
51
|
-
}>>;
|
|
51
|
+
} | null>>;
|
|
52
52
|
context: any;
|
|
53
53
|
setState<K extends "renderer">(state: {
|
|
54
54
|
renderer?: THREE.WebGLRenderer;
|
|
@@ -58,10 +58,10 @@ declare function createFiveProvider(fiveInitArgs?: Omit<FiveInitArgs, "renderer"
|
|
|
58
58
|
renderer?: THREE.WebGLRenderer;
|
|
59
59
|
} | Pick<{
|
|
60
60
|
renderer?: THREE.WebGLRenderer;
|
|
61
|
-
}, K>) | Pick<{
|
|
61
|
+
}, K> | null) | Pick<{
|
|
62
62
|
renderer?: THREE.WebGLRenderer;
|
|
63
|
-
}, K
|
|
64
|
-
forceUpdate(callback?: () => void): void;
|
|
63
|
+
}, K> | null, callback?: (() => void) | undefined): void;
|
|
64
|
+
forceUpdate(callback?: (() => void) | undefined): void;
|
|
65
65
|
readonly props: Readonly<FiveProviderPropTypes> & Readonly<{
|
|
66
66
|
children?: React.ReactNode | undefined;
|
|
67
67
|
}>;
|
package/react/createStore.d.ts
CHANGED
|
@@ -82,14 +82,14 @@ declare function createStore<T extends StoreValueMapType, A extends StoreActionM
|
|
|
82
82
|
onValuesChange?: (value: T, prevValue: T) => void;
|
|
83
83
|
children: React.ReactNode;
|
|
84
84
|
}): boolean;
|
|
85
|
-
render(): React.FunctionComponentElement<React.ProviderProps<Store<T
|
|
85
|
+
render(): React.FunctionComponentElement<React.ProviderProps<Store<T> | null>>;
|
|
86
86
|
context: any;
|
|
87
87
|
setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<{
|
|
88
88
|
initialValue: T;
|
|
89
89
|
onValuesChange?: (value: T, prevValue: T) => void;
|
|
90
90
|
children: React.ReactNode;
|
|
91
|
-
}>) => {} | Pick<{}, K>) | Pick<{}, K
|
|
92
|
-
forceUpdate(callback?: () => void): void;
|
|
91
|
+
}>) => {} | Pick<{}, K> | null) | Pick<{}, K> | null, callback?: (() => void) | undefined): void;
|
|
92
|
+
forceUpdate(callback?: (() => void) | undefined): void;
|
|
93
93
|
readonly props: Readonly<{
|
|
94
94
|
initialValue: T;
|
|
95
95
|
onValuesChange?: (value: T, prevValue: T) => void;
|
|
@@ -16,5 +16,5 @@
|
|
|
16
16
|
* const { x: width, y: height } = preject2d(new THREE.Vector3(0, 0, 0));
|
|
17
17
|
* ```
|
|
18
18
|
*/
|
|
19
|
-
declare function useFiveProject2d(): (vector: THREE.Vector3, testModel: boolean) => import("three").Vector2;
|
|
19
|
+
declare function useFiveProject2d(): (vector: THREE.Vector3, testModel: boolean) => import("three").Vector2 | null;
|
|
20
20
|
export { useFiveProject2d };
|
package/react/index.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @license
|
|
3
3
|
* @realsee/five
|
|
4
|
-
* Generated:
|
|
5
|
-
* Version: 6.8.0
|
|
4
|
+
* Generated: 4/17/2026
|
|
5
|
+
* Version: 6.8.0
|
|
6
6
|
* Terms:
|
|
7
7
|
* Realsee SDK License Agreement
|
|
8
8
|
* Update: July 28, 2021
|
|
@@ -252,4 +252,4 @@
|
|
|
252
252
|
* No amendment to or modification of this Agreement will be binding unless in
|
|
253
253
|
* writing and signed by Realsee. You and Realsee hereto confirm that this
|
|
254
254
|
* Agreement and all related documents shall be drafted in English.
|
|
255
|
-
*/"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const ce=require("react"),fe=require("three"),j=require("@realsee/five");function B(e){const n=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const t in e)if(t!=="default"){const r=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(n,t,r.get?r:{enumerable:!0,get:()=>e[t]})}}return n.default=e,Object.freeze(n)}const u=B(ce),p=B(fe);var E=function(e,n){return E=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,r){t.__proto__=r}||function(t,r){for(var o in r)Object.prototype.hasOwnProperty.call(r,o)&&(t[o]=r[o])},E(e,n)};function I(e,n){if(typeof n!="function"&&n!==null)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");E(e,n);function t(){this.constructor=e}e.prototype=n===null?Object.create(n):(t.prototype=n.prototype,new t)}var h=function(){return h=Object.assign||function(n){for(var t,r=1,o=arguments.length;r<o;r++){t=arguments[r];for(var a in t)Object.prototype.hasOwnProperty.call(t,a)&&(n[a]=t[a])}return n},h.apply(this,arguments)};function w(e,n,t){if(t||arguments.length===2)for(var r=0,o=n.length,a;r<o;r++)(a||!(r in n))&&(a||(a=Array.prototype.slice.call(n,0,r)),a[r]=n[r]);return e.concat(a||Array.prototype.slice.call(n))}var k=[],R=[];function le(e){var n=e===void 0?{}:e,t=n.preserveDrawingBuffer,r=t===void 0?!0:t,o=n.webgl2,a=o===void 0?!1:o;if(typeof window!="undefined"){var i=null;if(a?i=k.shift():i=R.shift(),!i){if(a){var s=document.createElement("canvas"),c=s.getContext("webgl2");c?i=new p.WebGLRenderer({preserveDrawingBuffer:r,antialias:!0,alpha:!0,stencil:!0,canvas:s,context:c}):(console.error("error occurred when getting webgl2 canvas context, mybe webgl2 not support, fallback to webgl."),i=new p.WebGLRenderer({preserveDrawingBuffer:r,antialias:!1,alpha:!0,stencil:!0}))}else i=new p.WebGLRenderer({preserveDrawingBuffer:r,antialias:!1,alpha:!0,stencil:!0});i.outputEncoding=p.sRGBEncoding}return i.autoClear=!0,i}}function ve(e){if(e){var n=e.capabilities.isWebGL2;n?R.indexOf(e)===-1&&R.push(e):k.indexOf(e)===-1&&k.push(e)}}var L=u.createContext(null);function v(){var e=u.useContext(L);if(!e)throw new Error("FiveProvider never found.");return e.five}function G(){var e=u.useContext(L);if(!e)throw new Error("FiveProvider never found.");return e.loadWork}function de(e,n){var t=Array.isArray(e)?e:[e],r=Array.isArray(n)?n:[n];if(t.length!==r.length)return!1;for(var o=0;o<t.length;o++)if(t[o].workCode!==r[o].workCode)return!1;return!0}function pe(e){return e===void 0&&(e={}),(function(n){I(t,n);function t(r){var o=n.call(this,r)||this;return o.__fiveEventDisposers=[],o.__fiveDisposeTimer=null,o.five=new j.Five(h(h({},e),{renderer:void 0})),o.loadWork=o.loadWork.bind(o),o.state={},o}return t.prototype.loadWork=function(r,o,a,i){if(i===void 0&&(i=!0),this.props.work)throw new Error("props 'works' is set in fiveProvider, if you need modify work internal, use 'initialWork' instead.");return this.five.load(r,o,a,i)},t.prototype.shouldComponentUpdate=function(r){return this.five.renderer&&this.five&&r.work&&!de(r.work,this.five.works)&&this.five.load(r.work,r.initialState,r.initialOptions),!0},t.prototype.componentDidMount=function(){var r=this,o;clearTimeout(this.__fiveDisposeTimer),this.__fiveDisposeTimer=null;var a;if(typeof window!="undefined"){a=le({webgl2:e==null?void 0:e.webgl2,preserveDrawingBuffer:e==null?void 0:e.preserveDrawingBuffer});var i=j.getViewportScale(),s=i===1?window.devicePixelRatio:1;a==null||a.setPixelRatio(s)}this.five.renderer=a,this.setState({renderer:a}),this.__fiveEventDisposers.push(this.five.on("load",function(){r.props.onWorksChange&&r.props.onWorksChange(r.five.works)})),this.__fiveEventDisposers.push(this.five.on("stateChange",function(l,d){r.props.onStateChange&&r.props.onStateChange(l,d)})),this.__fiveEventDisposers.push(this.five.on("currentStateChange",function(l,d){r.props.onCurrentStateChange&&r.props.onCurrentStateChange(l,d)})),this.__fiveEventDisposers.push(this.five.on("error",function(l){r.props.onError?r.props.onError(l):console.warn(l.message)}));var c=this.props.work||this.props.initialWork;c&&this.five.load(c,this.props.initialState,this.props.initialOptions,(o=this.props.initialUserAction)!==null&&o!==void 0?o:!0)},t.prototype.componentWillUnmount=function(){var r=this,o;(o=this.five.controller)===null||o===void 0||o.destroy();var a=this.five.renderer;this.five.renderer=void 0,ve(a),this.setState({renderer:void 0}),this.__fiveDisposeTimer=setTimeout(function(){r.__fiveDisposeTimer=null,r.five.dispose()},1e3)},t.prototype.render=function(){var r=this.five,o=this.loadWork,a=this.state.renderer;return u.createElement(L.Provider,{value:{renderer:a,five:r,loadWork:o}},this.props.children)},t})(u.Component)}var he=typeof window!="undefined"?u.useLayoutEffect:u.useEffect,ge={display:"inline-block",overflow:"hidden"},ye=function(e){var n=e.width,t=e.height,r=v(),o=u.createRef(),a=h({width:n,height:t},ge);return he(function(){var i=o.current;if(i&&r.renderer){var s=r.renderer.domElement;if(s.parentNode!==null&&s.parentNode!==i)throw new Error("There are more than 2 fiveCanvas in this context.");return s.parentNode!==i&&i.appendChild(s),r.camera.aspect=n/t,r.camera.updateProjectionMatrix(),r.renderer.setSize(n,t),r.refresh({width:n,height:t}),r.needsRender=!0,function(){s.parentNode===i&&i.removeChild(s)}}},[r,r.renderer,n,t,o.current]),u.createElement("div",{ref:o,style:a})};function me(){return v()}function q(e,n){var t=v(),r=[t];n!==void 0&&(r=r.concat(n)),u.useLayoutEffect(function(){return e(t.scene)},r)}var Se=q;function we(){var e=v(),n=G(),t=u.useState(function(){return e.works}),r=t[0],o=t[1];return u.useLayoutEffect(function(){return e.on("load",function(){return o(e.works)})},[e]),[r,n]}function U(e){return h({},e.state)}function be(){var e=v(),n=u.useState(function(){return U(e)}),t=n[0],r=n[1],o=u.useCallback(function(a,i,s){i===void 0&&(i=!1),s===void 0&&(s=!0);var c=typeof a=="function"?a(e.getCurrentState()):a;e.setState(c,i,s)},[e]);return u.useLayoutEffect(function(){return e.on("stateChange",function(){return r(U(e))})},[e]),[t,o]}function Ce(){var e=v(),n=u.useState(function(){return e.getCurrentState()}),t=n[0],r=n[1],o=u.useCallback(function(a,i,s){i===void 0&&(i=!1),s===void 0&&(s=!0);var c=typeof a=="function"?a(e.getCurrentState()):a;e.setState(c,i,s)},[e]);return u.useLayoutEffect(function(){return e.on("currentStateChange",function(){return r(e.getCurrentState())})},[e]),[t,o]}function Fe(){var e=v(),n=u.useState(function(){return e.getCurrentState()}),t=n[0],r=n[1];return u.useLayoutEffect(function(){return e.on("currentStateChange",function(){return r(e.getCurrentState())})},[e]),e.works.getObserver(t)}function Ee(e,n,t){var r=v(),o=[r,e];t!==void 0&&(o=o.concat(t)),u.useLayoutEffect(function(){return r.on(e,n)},o)}function ke(){var e=v(),n=u.useCallback(function(i,s){return e.updateCamera(i,s)},[e]),t=u.useCallback(e.getPixels.bind(e),[e]),r=u.useCallback(function(i){return e.render(i)},[e]),o=u.useCallback(function(){return e.needsRender=!0},[e]),a=u.useCallback(function(i,s){return e.preloadPano(i,s)},[e]);return{updateCamera:n,getPixels:t,render:r,needsRender:o,preloadPano:a}}function Re(){var e=v(),n=u.useState(function(){return Symbol()});n[0];var t=n[1];u.useLayoutEffect(function(){return e.on("cameraUpdate",function(){return t(Symbol())})},[e]);var r=u.useCallback(function(o,a){return e.project2d(o,a)},[e]);return r}function T(e){var n=e.camera.getWorldDirection(new p.Vector3),t=new p.Raycaster(e.camera.position,n);return t}function Le(){var e=v(),n=u.useState(function(){return T(e)}),t=n[0],r=n[1];return u.useLayoutEffect(function(){return e.on("cameraUpdate",function(){return r(T(e))})},[e]),t}function N(e){return e.camera.getWorldDirection(new p.Vector3)}function _e(){var e=v(),n=u.useState(function(){return N(e)}),t=n[0],r=n[1];return u.useLayoutEffect(function(){return e.on("cameraUpdate",function(){return r(N(e))})},[e]),t}function Pe(){var e=v(),n=u.useCallback(function(t){return e.model.intersectRaycaster(t)},[e]);return n}function $(e){return e.model.empty?"Empty":"Loaded"}function Ve(){var e=v(),n=u.useState(function(){return $(e)}),t=n[0],r=n[1];return u.useLayoutEffect(function(){return e.on("modelLoaded",function(){return r($(e))})},[e]),t}function Oe(){var e=v(),n=u.useState(e.model.shownFloor),t=n[0],r=n[1],o=u.useState(e.model.floorLength),a=o[0],i=o[1],s=u.useCallback(function(c){typeof c=="number"?e.model.show(c):e.model.show()},[e]);return u.useLayoutEffect(function(){var c=[];return c.push(e.on("modelShownFloorChange",function(){return r(e.model.shownFloor)})),c.push(e.on("modelLoaded",function(){return i(e.model.floorLength)})),function(){for(var l;l=c.shift();)l()}},[e]),[t,a,s]}function De(){var e=v(),n=u.useState(e.helperVisible),t=n[0],r=n[1],o=u.useCallback(function(a){e.helperVisible=a},[e]);return u.useLayoutEffect(function(){return e.on("helpersVisibleChange",function(a){return r(a)})},[e]),[t,o]}var xe="$five";function f(e,n){return n.indexOf(e)>=0}function H(e,n){for(var t=0,r=Object.keys(n);t<r.length;t++){var o=r[t];n[o]!==void 0&&(e[o]=n[o])}}function We(e,n){var t=f("state",n),r=u.useState(Symbol()),o=r[0],a=r[1],i=u.useMemo(function(){if(t)return h({},e.state)},[e,o]);return u.useLayoutEffect(function(){if(t)return e.on("stateChange",function(){return a(Symbol())})},[e]),[i,o]}function Me(e,n){var t=f("currentState",n),r=u.useState(Symbol()),o=r[0],a=r[1],i=u.useMemo(function(){if(t)return e.getCurrentState()},[e,o]);return u.useLayoutEffect(function(){if(t)return e.on("currentStateChange",function(){return a(Symbol())})},[e]),[i,o]}function je(e,n){var t=f("currentObserver",n),r=u.useState(Symbol()),o=r[0],a=r[1],i=u.useMemo(function(){if(t)return e.getCurrentState()},[e,o]);u.useLayoutEffect(function(){if(t)return e.on("currentStateChange",function(){return a(Symbol())})},[e]);var s=void 0;return i&&(s=e.works.getObserver(i)),[s,o]}function Ue(e,n){var t=f("unsafe__fiveInstance",n);return[t?e:void 0]}function Te(e,n){var t=f("works",n),r=u.useState(Symbol()),o=r[0],a=r[1],i=u.useMemo(function(){if(t)return e.works},[e,o]);return u.useLayoutEffect(function(){if(t)return e.on("load",function(){return a(Symbol())})},[e]),[i,o]}function Ne(e,n){var t=f("model",n),r=u.useState(Symbol()),o=r[0],a=r[1],i=u.useMemo(function(){if(t)return e.model},[e,o]);return u.useLayoutEffect(function(){if(t)return e.on("modelLoaded",function(){return a(Symbol())})},[e]),[i,o]}function $e(e,n){var t=f("scene",n);return[t?e.scene:void 0]}function He(e,n){var t=f("cameraDirection",n),r=u.useState(Symbol()),o=r[0],a=r[1],i=u.useMemo(function(){if(t)return e.camera.getWorldDirection(new p.Vector3)},[e,o]);return u.useLayoutEffect(function(){if(t)return e.on("cameraUpdate",function(){return a(Symbol())})},[e]),[i,o]}function Be(e,n){var t=f("cameraRaycaster",n),r=u.useState(Symbol()),o=r[0],a=r[1],i=u.useMemo(function(){if(t){var s=e.camera.getWorldDirection(new p.Vector3),c=new p.Raycaster(e.camera.position,s);return c}},[e,o]);return u.useLayoutEffect(function(){if(t)return e.on("cameraUpdate",function(){return a(Symbol())})},[e]),[i,o]}function Ie(e,n){var t=f("modelReadyState",n),r=u.useState(Symbol()),o=r[0],a=r[1],i=u.useMemo(function(){if(t)return e.model.empty?"Empty":"Loaded"},[e,o]);return u.useLayoutEffect(function(){if(t)return e.on("modelLoaded",function(){return a(Symbol())})},[e]),[i,o]}function Ge(e,n){var t=f("shownFloor",n),r=u.useState(Symbol()),o=r[0],a=r[1],i=u.useMemo(function(){if(t)return e.model.shownFloor},[e,o]);return u.useLayoutEffect(function(){if(t)return e.on("modelShownFloorChange",function(){return a(Symbol())})},[e]),[i,o]}function qe(e,n){var t=f("helperVisible",n),r=u.useState(Symbol()),o=r[0],a=r[1],i=u.useMemo(function(){if(t)return e.helperVisible},[e,o]);return u.useLayoutEffect(function(){if(t)return e.on("helpersVisibleChange",function(){return a(Symbol())})},[e]),[i,o]}function Ae(e,n){if(f("loadWork",n))return e}function ze(e,n){if(f("setState",n))return function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return e.setState.apply(e,t)}}function Je(e,n){if(f("on",n))return function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return e.on.apply(e,t)}}function Ke(e,n){if(f("on",n))return function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return e.once.apply(e,t)}}function Qe(e,n){if(f("off",n))return function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return e.off.apply(e,t)}}function Xe(e,n){if(f("intersectRaycaster",n))return function(){for(var t,r=[],o=0;o<arguments.length;o++)r[o]=arguments[o];return(t=e.model).intersectRaycaster.apply(t,r)}}function Ye(e,n){if(f("project2d",n))return function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return e.project2d.apply(e,t)}}function Ze(e,n){if(f("updateCamera",n))return function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return e.updateCamera.apply(e,t)}}function er(e,n){if(f("getPixels",n))return e.getPixels.bind(e)}function rr(e,n){if(f("render",n))return function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return e.render.apply(e,t)}}function tr(e,n){if(f("needsRender",n))return function(){e.needsRender=!0}}function nr(e,n){if(f("preloadPano",n))return function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return e.preloadPano.apply(e,t)}}function or(e,n){if(f("showFloor",n))return function(t){typeof t=="number"?e.model.show(t):e.model.show()}}function ar(e,n){if(f("toggleHelperVisible",n))return function(t){e.helperVisible=t}}function ur(e){return function(n){return u.forwardRef(function(t,r){var o=v(),a=G(),i=Ue(o,e)[0],s=We(o,e),c=s[0],l=s[1],d=Me(o,e),y=d[0],g=d[1],S=je(o,e),b=S[0],C=S[1],_=Te(o,e),z=_[0],J=_[1],P=Ne(o,e),K=P[0],Q=P[1],X=$e(o,e)[0],V=He(o,e),Y=V[0],Z=V[1],O=Be(o,e),ee=O[0],re=O[1],D=Ie(o,e),te=D[0],ne=D[1],x=Ge(o,e),oe=x[0],ae=x[1],W=qe(o,e),ue=W[0],ie=W[1],M=u.useMemo(function(){var m={};return H(m,{setState:ze(o,e),loadWork:Ae(a,e),on:Je(o,e),once:Ke(o,e),off:Qe(o,e),intersectRaycaster:Xe(o,e),project2d:Ye(o,e),updateCamera:Ze(o,e),getPixels:er(o,e),render:rr(o,e),needsRender:tr(o,e),preloadPano:nr(o,e),showFloor:or(o,e),toggleHelperVisible:ar(o,e)}),m},[o,a]),se=u.useMemo(function(){var m=h({},M);return H(m,{unsafe__fiveInstance:i,state:c,currentState:y,currentObserver:b,work:z,model:K,scene:X,cameraDirection:Y,cameraRaycaster:ee,modelReadyState:te,shownFloor:oe,helperVisible:ue}),m},[o,M,l,g,C,J,Q,Z,re,ne,ae,ie]);return u.createElement(n,h({ref:r,$five:se},t))})}}function ir(){for(var e=[],n=0;n<arguments.length;n++)e[n]=arguments[n];return e}function F(e,n){for(var t={},r=n.length,o=-1;++o<r;){var a=n[o];a in e&&(t[a]=e[a])}return t}function sr(e,n){return typeof e=="number"&&typeof n=="number"&&isNaN(e)&&isNaN(n)?!0:e===n}function cr(e,n){for(var t=0;t<e.length;t++)for(var r=0;r<n.length;r++)if(e[t]===n[r])return!0;return!1}var A=(function(){function e(n,t){this.values=n,this.listeners=[],this.onValuesChange=t}return e.prototype.on=function(n,t){var r=this,o=[n,t];return this.listeners.push(o),function(){var a=r.listeners.indexOf(o);a>=0&&r.listeners.splice(a,1)}},e.prototype.getValues=function(n){return F(this.values,n)},e.prototype.setValues=function(n,t){var r=[];for(var o in t)n.indexOf(o)>=0&&!sr(t[o],this.values[o])&&r.push(o);if(r.length!==0){for(var a=h({},this.values),i=0,s=r;i<s.length;i++){var c=s[i];this.values[c]=t[c]}this.onValuesChange&&this.onValuesChange(this.values,a);for(var l=0,d=this.listeners;l<d.length;l++){var y=d[l],g=y[0],S=y[1];if(cr(g,r)){var b=F(a,g),C=F(this.values,g);S(C,b)}}}},e})();function fr(e){var n=u.createContext(null);return{useStore:function(t){var r=u.useContext(n);if(r===null)throw new Error("StoreProvider never found.");var o=u.useRef(!0),a=u.useState(r.getValues(t)),i=a[0],s=a[1],c=w([r],t,!0);u.useLayoutEffect(function(){return o.current?o.current=!1:s(r.getValues(t)),r.on(t,function(d){return s(d)})},c);var l=u.useCallback(function(d){return r.setValues(t,d)},c);return[i,l]},useStoreSetter:function(t){var r=u.useContext(n);if(r===null)throw new Error("StoreProvider never found.");var o=u.useCallback(function(a){return r.setValues(t,a)},w([r],t,!0));return o},watchStore:function(t,r,o){var a=u.useContext(n);if(a===null)throw new Error("StoreProvider never found.");var i=w([a],t,!0);o!==void 0&&(i=i.concat(o)),u.useLayoutEffect(function(){return a.on(t,r)},i)},useStoreAction:function(t){var r=u.useContext(n);if(r===null)throw new Error("StoreProvider never found.");var o=u.useCallback(function(){for(var a=[],i=0;i<arguments.length;i++)a[i]=arguments[i];var s=e[t],c=s[0],l=s.slice(1),d=function(){return r.getValues(l)},y=function(g){return r.setValues(l,g)};return c.apply(void 0,w([d,y],a,!1))},[]);return o},StoreProvider:(function(t){I(r,t);function r(o){var a=t.call(this,o)||this;return a.store=new A(o.initialValue,function(){for(var i,s=[],c=0;c<arguments.length;c++)s[c]=arguments[c];a.props.onValuesChange&&(i=a.props).onValuesChange.apply(i,s)}),a}return r.prototype.shouldComponentUpdate=function(o){return o.children!==this.props.children},r.prototype.render=function(){return u.createElement(n.Provider,{value:this.store},this.props.children)},r})(u.Component)}}exports.FiveCanvas=ye;exports.INJECTION_PROPNAME=xe;exports.Store=A;exports.createFiveFeature=ir;exports.createFiveProvider=pe;exports.createStore=fr;exports.unsafe__useFiveInstance=me;exports.useFiveAction=ke;exports.useFiveCameraDirection=_e;exports.useFiveCameraRaycaster=Le;exports.useFiveCurrentObserver=Fe;exports.useFiveCurrentState=Ce;exports.useFiveEventCallback=Ee;exports.useFiveFloor=Oe;exports.useFiveHelper=De;exports.useFiveModelIntersectRaycaster=Pe;exports.useFiveModelReadyState=Ve;exports.useFiveProject2d=Re;exports.useFiveScene=Se;exports.useFiveSceneEffect=q;exports.useFiveState=be;exports.useFiveWork=we;exports.withFive=ur;
|
|
255
|
+
*/Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},s=(n,r,a)=>(a=n==null?{}:e(i(n)),o(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n));let c=require(`react`);c=s(c);let l=require(`three`);l=s(l);let u=require(`@realsee/five`);var d=[],f=[];function p({preserveDrawingBuffer:e=!0,webgl2:t=!1}={}){if(typeof window>`u`)return;let n=null;if(n=t?d.shift():f.shift(),!n){if(t){let t=document.createElement(`canvas`),r=t.getContext(`webgl2`);r?n=new l.WebGLRenderer({preserveDrawingBuffer:e,antialias:!0,alpha:!0,stencil:!0,canvas:t,context:r}):(console.error(`error occurred when getting webgl2 canvas context, mybe webgl2 not support, fallback to webgl.`),n=new l.WebGLRenderer({preserveDrawingBuffer:e,antialias:!1,alpha:!0,stencil:!0}))}else n=new l.WebGLRenderer({preserveDrawingBuffer:e,antialias:!1,alpha:!0,stencil:!0});n.outputEncoding=l.sRGBEncoding}return n.autoClear=!0,n}function m(e){e&&(e.capabilities.isWebGL2?f.indexOf(e)===-1&&f.push(e):d.indexOf(e)===-1&&d.push(e))}var h=c.createContext(null);function g(){let e=c.useContext(h);if(!e)throw Error(`FiveProvider never found.`);return e.five}function _(){let e=c.useContext(h);if(!e)throw Error(`FiveProvider never found.`);return e.loadWork}function v(e,t){let n=Array.isArray(e)?e:[e],r=Array.isArray(t)?t:[t];if(n.length!==r.length)return!1;for(let e=0;e<n.length;e++)if(n[e].workCode!==r[e].workCode)return!1;return!0}function y(e={}){return class extends c.Component{constructor(t){super(t),this.__fiveEventDisposers=[],this.__fiveDisposeTimer=null,this.five=new u.Five(Object.assign(Object.assign({},e),{renderer:void 0})),this.loadWork=this.loadWork.bind(this),this.state={}}loadWork(e,t,n,r=!0){if(this.props.work)throw Error(`props 'works' is set in fiveProvider, if you need modify work internal, use 'initialWork' instead.`);return this.five.load(e,t,n,r)}shouldComponentUpdate(e){return this.five.renderer&&this.five&&e.work&&!v(e.work,this.five.works)&&this.five.load(e.work,e.initialState,e.initialOptions),!0}componentDidMount(){var t;clearTimeout(this.__fiveDisposeTimer),this.__fiveDisposeTimer=null;let n;if(typeof window<`u`){n=p({webgl2:e==null?void 0:e.webgl2,preserveDrawingBuffer:e==null?void 0:e.preserveDrawingBuffer});let t=(0,u.getViewportScale)()===1?window.devicePixelRatio:1;n==null||n.setPixelRatio(t)}this.five.renderer=n,this.setState({renderer:n}),this.__fiveEventDisposers.push(this.five.on(`load`,()=>{this.props.onWorksChange&&this.props.onWorksChange(this.five.works)})),this.__fiveEventDisposers.push(this.five.on(`stateChange`,(e,t)=>{this.props.onStateChange&&this.props.onStateChange(e,t)})),this.__fiveEventDisposers.push(this.five.on(`currentStateChange`,(e,t)=>{this.props.onCurrentStateChange&&this.props.onCurrentStateChange(e,t)})),this.__fiveEventDisposers.push(this.five.on(`error`,e=>{this.props.onError?this.props.onError(e):console.warn(e.message)}));let r=this.props.work||this.props.initialWork;r&&this.five.load(r,this.props.initialState,this.props.initialOptions,(t=this.props.initialUserAction)==null?!0:t)}componentWillUnmount(){var e;(e=this.five.controller)==null||e.destroy();let t=this.five.renderer;this.five.renderer=void 0,m(t),this.setState({renderer:void 0}),this.__fiveDisposeTimer=setTimeout(()=>{this.__fiveDisposeTimer=null,this.five.dispose()},1e3)}render(){let e=this.five,t=this.loadWork,n=this.state.renderer;return c.createElement(h.Provider,{value:{renderer:n,five:e,loadWork:t}},this.props.children)}}}var b=typeof window<`u`?c.useLayoutEffect:c.useEffect,x={display:`inline-block`,overflow:`hidden`},S=({width:e,height:t})=>{let n=g(),r=c.createRef(),i=Object.assign({width:e,height:t},x);return b(()=>{let i=r.current;if(!i||!n.renderer)return;let a=n.renderer.domElement;if(a.parentNode!==null&&a.parentNode!==i)throw Error(`There are more than 2 fiveCanvas in this context.`);return a.parentNode!==i&&i.appendChild(a),n.camera.aspect=e/t,n.camera.updateProjectionMatrix(),n.renderer.setSize(e,t),n.refresh({width:e,height:t}),n.needsRender=!0,()=>{a.parentNode===i&&i.removeChild(a)}},[n,n.renderer,e,t,r.current]),c.createElement(`div`,{ref:r,style:i})};function C(){return g()}function w(e,t){let n=g(),r=[n];t!==void 0&&(r=r.concat(t)),c.useLayoutEffect(()=>e(n.scene),r)}var T=w;function E(){let e=g(),t=_(),[n,r]=c.useState(()=>e.works);return c.useLayoutEffect(()=>e.on(`load`,()=>r(e.works)),[e]),[n,t]}function D(e){return Object.assign({},e.state)}function O(){let e=g(),[t,n]=c.useState(()=>D(e)),r=c.useCallback((t,n=!1,r=!0)=>{let i=typeof t==`function`?t(e.getCurrentState()):t;e.setState(i,n,r)},[e]);return c.useLayoutEffect(()=>e.on(`stateChange`,()=>n(D(e))),[e]),[t,r]}function k(){let e=g(),[t,n]=c.useState(()=>e.getCurrentState()),r=c.useCallback((t,n=!1,r=!0)=>{let i=typeof t==`function`?t(e.getCurrentState()):t;e.setState(i,n,r)},[e]);return c.useLayoutEffect(()=>e.on(`currentStateChange`,()=>n(e.getCurrentState())),[e]),[t,r]}function A(){let e=g(),[t,n]=c.useState(()=>e.getCurrentState());return c.useLayoutEffect(()=>e.on(`currentStateChange`,()=>n(e.getCurrentState())),[e]),e.works.getObserver(t)}function j(e,t,n){let r=g(),i=[r,e];n!==void 0&&(i=i.concat(n)),c.useLayoutEffect(()=>r.on(e,t),i)}function M(){let e=g();return{updateCamera:c.useCallback((t,n)=>e.updateCamera(t,n),[e]),getPixels:c.useCallback(e.getPixels.bind(e),[e]),render:c.useCallback(t=>e.render(t),[e]),needsRender:c.useCallback(()=>e.needsRender=!0,[e]),preloadPano:c.useCallback((t,n)=>e.preloadPano(t,n),[e])}}function N(){let e=g(),[t,n]=c.useState(()=>Symbol());return c.useLayoutEffect(()=>e.on(`cameraUpdate`,()=>n(Symbol())),[e]),c.useCallback((t,n)=>e.project2d(t,n),[e])}function P(e){let t=e.camera.getWorldDirection(new l.Vector3);return new l.Raycaster(e.camera.position,t)}function ee(){let e=g(),[t,n]=c.useState(()=>P(e));return c.useLayoutEffect(()=>e.on(`cameraUpdate`,()=>n(P(e))),[e]),t}function F(e){return e.camera.getWorldDirection(new l.Vector3)}function I(){let e=g(),[t,n]=c.useState(()=>F(e));return c.useLayoutEffect(()=>e.on(`cameraUpdate`,()=>n(F(e))),[e]),t}function te(){let e=g();return c.useCallback(t=>e.model.intersectRaycaster(t),[e])}function L(e){return e.model.empty?`Empty`:`Loaded`}function ne(){let e=g(),[t,n]=c.useState(()=>L(e));return c.useLayoutEffect(()=>e.on(`modelLoaded`,()=>n(L(e))),[e]),t}function re(){let e=g(),[t,n]=c.useState(e.model.shownFloor),[r,i]=c.useState(e.model.floorLength),a=c.useCallback(t=>{typeof t==`number`?e.model.show(t):e.model.show()},[e]);return c.useLayoutEffect(()=>{let t=[];return t.push(e.on(`modelShownFloorChange`,()=>n(e.model.shownFloor))),t.push(e.on(`modelLoaded`,()=>i(e.model.floorLength))),()=>{let e;for(;e=t.shift();)e()}},[e]),[t,r,a]}function R(){let e=g(),[t,n]=c.useState(e.helperVisible),r=c.useCallback(t=>{e.helperVisible=t},[e]);return c.useLayoutEffect(()=>e.on(`helpersVisibleChange`,e=>n(e)),[e]),[t,r]}var z=`$five`;function B(e,t){return t.indexOf(e)>=0}function V(e,t){for(let n of Object.keys(t))t[n]!==void 0&&(e[n]=t[n])}function H(e,t){let n=B(`state`,t),[r,i]=c.useState(Symbol()),a=c.useMemo(()=>{if(n)return Object.assign({},e.state)},[e,r]);return c.useLayoutEffect(()=>{if(n)return e.on(`stateChange`,()=>i(Symbol()))},[e]),[a,r]}function U(e,t){let n=B(`currentState`,t),[r,i]=c.useState(Symbol()),a=c.useMemo(()=>{if(n)return e.getCurrentState()},[e,r]);return c.useLayoutEffect(()=>{if(n)return e.on(`currentStateChange`,()=>i(Symbol()))},[e]),[a,r]}function W(e,t){let n=B(`currentObserver`,t),[r,i]=c.useState(Symbol()),a=c.useMemo(()=>{if(n)return e.getCurrentState()},[e,r]);c.useLayoutEffect(()=>{if(n)return e.on(`currentStateChange`,()=>i(Symbol()))},[e]);let o;return a&&(o=e.works.getObserver(a)),[o,r]}function G(e,t){return[B(`unsafe__fiveInstance`,t)?e:void 0]}function K(e,t){let n=B(`works`,t),[r,i]=c.useState(Symbol()),a=c.useMemo(()=>{if(n)return e.works},[e,r]);return c.useLayoutEffect(()=>{if(n)return e.on(`load`,()=>i(Symbol()))},[e]),[a,r]}function q(e,t){let n=B(`model`,t),[r,i]=c.useState(Symbol()),a=c.useMemo(()=>{if(n)return e.model},[e,r]);return c.useLayoutEffect(()=>{if(n)return e.on(`modelLoaded`,()=>i(Symbol()))},[e]),[a,r]}function J(e,t){return[B(`scene`,t)?e.scene:void 0]}function Y(e,t){let n=B(`cameraDirection`,t),[r,i]=c.useState(Symbol()),a=c.useMemo(()=>{if(n)return e.camera.getWorldDirection(new l.Vector3)},[e,r]);return c.useLayoutEffect(()=>{if(n)return e.on(`cameraUpdate`,()=>i(Symbol()))},[e]),[a,r]}function X(e,t){let n=B(`cameraRaycaster`,t),[r,i]=c.useState(Symbol()),a=c.useMemo(()=>{if(n){let t=e.camera.getWorldDirection(new l.Vector3);return new l.Raycaster(e.camera.position,t)}},[e,r]);return c.useLayoutEffect(()=>{if(n)return e.on(`cameraUpdate`,()=>i(Symbol()))},[e]),[a,r]}function ie(e,t){let n=B(`modelReadyState`,t),[r,i]=c.useState(Symbol()),a=c.useMemo(()=>{if(n)return e.model.empty?`Empty`:`Loaded`},[e,r]);return c.useLayoutEffect(()=>{if(n)return e.on(`modelLoaded`,()=>i(Symbol()))},[e]),[a,r]}function ae(e,t){let n=B(`shownFloor`,t),[r,i]=c.useState(Symbol()),a=c.useMemo(()=>{if(n)return e.model.shownFloor},[e,r]);return c.useLayoutEffect(()=>{if(n)return e.on(`modelShownFloorChange`,()=>i(Symbol()))},[e]),[a,r]}function oe(e,t){let n=B(`helperVisible`,t),[r,i]=c.useState(Symbol()),a=c.useMemo(()=>{if(n)return e.helperVisible},[e,r]);return c.useLayoutEffect(()=>{if(n)return e.on(`helpersVisibleChange`,()=>i(Symbol()))},[e]),[a,r]}function se(e,t){if(B(`loadWork`,t))return e}function ce(e,t){if(B(`setState`,t))return(...t)=>e.setState(...t)}function le(e,t){if(B(`on`,t))return(...t)=>e.on(...t)}function ue(e,t){if(B(`on`,t))return(...t)=>e.once(...t)}function de(e,t){if(B(`off`,t))return(...t)=>e.off(...t)}function fe(e,t){if(B(`intersectRaycaster`,t))return(...t)=>e.model.intersectRaycaster(...t)}function pe(e,t){if(B(`project2d`,t))return(...t)=>e.project2d(...t)}function me(e,t){if(B(`updateCamera`,t))return(...t)=>e.updateCamera(...t)}function he(e,t){if(B(`getPixels`,t))return e.getPixels.bind(e)}function Z(e,t){if(B(`render`,t))return(...t)=>e.render(...t)}function ge(e,t){if(B(`needsRender`,t))return()=>{e.needsRender=!0}}function _e(e,t){if(B(`preloadPano`,t))return(...t)=>e.preloadPano(...t)}function ve(e,t){if(B(`showFloor`,t))return t=>{typeof t==`number`?e.model.show(t):e.model.show()}}function ye(e,t){if(B(`toggleHelperVisible`,t))return t=>{e.helperVisible=t}}function be(e){return function(t){return c.forwardRef((n,r)=>{let i=g(),a=_(),[o]=G(i,e),[s,l]=H(i,e),[u,d]=U(i,e),[f,p]=W(i,e),[m,h]=K(i,e),[v,y]=q(i,e),[b]=J(i,e),[x,S]=Y(i,e),[C,w]=X(i,e),[T,E]=ie(i,e),[D,O]=ae(i,e),[k,A]=oe(i,e),j=c.useMemo(()=>{let t={};return V(t,{setState:ce(i,e),loadWork:se(a,e),on:le(i,e),once:ue(i,e),off:de(i,e),intersectRaycaster:fe(i,e),project2d:pe(i,e),updateCamera:me(i,e),getPixels:he(i,e),render:Z(i,e),needsRender:ge(i,e),preloadPano:_e(i,e),showFloor:ve(i,e),toggleHelperVisible:ye(i,e)}),t},[i,a]),M=c.useMemo(()=>{let e=Object.assign({},j);return V(e,{unsafe__fiveInstance:o,state:s,currentState:u,currentObserver:f,work:m,model:v,scene:b,cameraDirection:x,cameraRaycaster:C,modelReadyState:T,shownFloor:D,helperVisible:k}),e},[i,j,l,d,p,h,y,S,w,E,O,A]);return c.createElement(t,Object.assign({ref:r,$five:M},n))})}}function xe(...e){return e}function Q(e,t){let n={},r=t.length,i=-1;for(;++i<r;){let r=t[i];r in e&&(n[r]=e[r])}return n}function Se(e,t){return typeof e==`number`&&typeof t==`number`&&isNaN(e)&&isNaN(t)?!0:e===t}function Ce(e,t){for(let n=0;n<e.length;n++)for(let r=0;r<t.length;r++)if(e[n]===t[r])return!0;return!1}var $=class{constructor(e,t){this.values=e,this.listeners=[],this.onValuesChange=t}on(e,t){let n=[e,t];return this.listeners.push(n),()=>{let e=this.listeners.indexOf(n);e>=0&&this.listeners.splice(e,1)}}getValues(e){return Q(this.values,e)}setValues(e,t){let n=[];for(let r in t)e.indexOf(r)>=0&&!Se(t[r],this.values[r])&&n.push(r);if(n.length===0)return;let r=Object.assign({},this.values);for(let e of n)this.values[e]=t[e];this.onValuesChange&&this.onValuesChange(this.values,r);for(let[e,t]of this.listeners){if(!Ce(e,n))continue;let i=Q(r,e);t(Q(this.values,e),i)}}};function we(e){let t=c.createContext(null);return{useStore(e){let n=c.useContext(t);if(n===null)throw Error(`StoreProvider never found.`);let r=c.useRef(!0),[i,a]=c.useState(n.getValues(e)),o=[n,...e];return c.useLayoutEffect(()=>(r.current?r.current=!1:a(n.getValues(e)),n.on(e,e=>a(e))),o),[i,c.useCallback(t=>n.setValues(e,t),o)]},useStoreSetter(e){let n=c.useContext(t);if(n===null)throw Error(`StoreProvider never found.`);return c.useCallback(t=>n.setValues(e,t),[n,...e])},watchStore(e,n,r){let i=c.useContext(t);if(i===null)throw Error(`StoreProvider never found.`);let a=[i,...e];r!==void 0&&(a=a.concat(r)),c.useLayoutEffect(()=>i.on(e,n),a)},useStoreAction(n){let r=c.useContext(t);if(r===null)throw Error(`StoreProvider never found.`);return c.useCallback((...t)=>{let[i,...a]=e[n];return i(()=>r.getValues(a),e=>r.setValues(a,e),...t)},[])},StoreProvider:class extends c.Component{constructor(e){super(e),this.store=new $(e.initialValue,(...e)=>{this.props.onValuesChange&&this.props.onValuesChange(...e)})}shouldComponentUpdate(e){return e.children!==this.props.children}render(){return c.createElement(t.Provider,{value:this.store},this.props.children)}}}}exports.FiveCanvas=S,exports.INJECTION_PROPNAME=z,exports.Store=$,exports.createFiveFeature=xe,exports.createFiveProvider=y,exports.createStore=we,exports.unsafe__useFiveInstance=C,exports.useFiveAction=M,exports.useFiveCameraDirection=I,exports.useFiveCameraRaycaster=ee,exports.useFiveCurrentObserver=A,exports.useFiveCurrentState=k,exports.useFiveEventCallback=j,exports.useFiveFloor=re,exports.useFiveHelper=R,exports.useFiveModelIntersectRaycaster=te,exports.useFiveModelReadyState=ne,exports.useFiveProject2d=N,exports.useFiveScene=T,exports.useFiveSceneEffect=w,exports.useFiveState=O,exports.useFiveWork=E,exports.withFive=be;
|