@realsee/five-webgpu 1.0.0-alpha.13 → 1.0.0-alpha.14
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/_virtual/_rolldown/runtime.js +3 -3
- package/docs/assets/hierarchy.js +1 -1
- package/docs/assets/navigation.js +1 -1
- package/docs/assets/search.js +1 -1
- package/docs/classes/index.AdaptiveLuminancePass.html +1 -1
- package/docs/classes/index.BoundingMesh.html +1 -1
- package/docs/classes/index.Camera.html +1 -1
- package/docs/classes/index.EyeDomeLightingPass.html +1 -1
- package/docs/classes/index.Five.html +65 -64
- package/docs/classes/index.FivePass.html +1 -1
- package/docs/classes/index.FiveRenderer.html +4 -4
- package/docs/classes/index.FlowingFireworks3DPass.html +1 -1
- package/docs/classes/index.FlowingLight2DPass.html +1 -1
- package/docs/classes/index.FlowingLight3DPass.html +1 -1
- package/docs/classes/index.GaussianBlurPass.html +1 -1
- package/docs/classes/index.InternalWebGPURenderer.html +4 -4
- package/docs/classes/index.Model.html +1 -1
- package/docs/classes/index.ModelScene.html +1 -1
- package/docs/classes/index.NetworkSubscribe.html +1 -1
- package/docs/classes/index.PBMCustomNode.html +1 -1
- package/docs/classes/index.PBMGaussianSplattingNodeMaterial.html +1 -1
- package/docs/classes/index.PBMGaussianSplattingObject.html +1 -1
- package/docs/classes/index.PBMGaussianSplattingRenderMesh.html +1 -1
- package/docs/classes/index.PBMGroup.html +1 -1
- package/docs/classes/index.PBMMesh.html +1 -1
- package/docs/classes/index.PBMMeshBasicMaterial.html +1 -1
- package/docs/classes/index.PBMMeshBasicNodeMaterial.html +1 -1
- package/docs/classes/index.PBMMeshPanoOnlyMaterial.html +1 -1
- package/docs/classes/index.PBMMeshPanoOnlyNodeMaterial.html +1 -1
- package/docs/classes/index.PBMMeshPhongMaterial.html +1 -1
- package/docs/classes/index.PBMMeshPhongNodeMaterial.html +1 -1
- package/docs/classes/index.PBMMeshPhysicalMaterial.html +1 -1
- package/docs/classes/index.PBMMeshPhysicalNodeMaterial.html +1 -1
- package/docs/classes/index.PBMPanoFilter.html +1 -1
- package/docs/classes/index.PBMPointCloud.html +1 -1
- package/docs/classes/index.PBMPointCloudMaterial.html +1 -1
- package/docs/classes/index.PBMSkinnedMesh.html +1 -1
- package/docs/classes/index.PBMUpdateable.html +1 -1
- package/docs/classes/index.PanoCircleMesh.html +1 -1
- package/docs/classes/index.PanoCircleMeshCustom.html +1 -1
- package/docs/classes/index.PanoCircleMeshSolid.html +1 -1
- package/docs/classes/index.Parameter.html +1 -1
- package/docs/classes/index.Scene.html +1 -1
- package/docs/classes/index.Subscribe.html +1 -1
- package/docs/classes/index.Tile3D.html +1 -1
- package/docs/classes/index.TileNode.html +1 -1
- package/docs/classes/index.TrajectoryNode.html +1 -1
- package/docs/classes/index.Work.html +15 -22
- package/docs/classes/index.WorkResolvedObserver.html +22 -22
- package/docs/functions/index.createWorks.html +1 -1
- package/docs/functions/index.parseWork.html +1 -1
- package/docs/hierarchy.html +1 -1
- package/docs/interfaces/index.AddableObject.html +1 -1
- package/docs/interfaces/index.AjaxOptions.html +1 -1
- package/docs/interfaces/index.BaseEvent.html +1 -1
- package/docs/interfaces/index.Clock.html +1 -1
- package/docs/interfaces/index.EventCallback.html +3 -3
- package/docs/interfaces/index.GestureEvent.html +1 -1
- package/docs/interfaces/index.IPBMMaterial.html +1 -1
- package/docs/interfaces/index.ImageOptions.html +1 -1
- package/docs/interfaces/index.IntersectEvent.html +1 -1
- package/docs/interfaces/index.IntersectMesh.html +1 -1
- package/docs/interfaces/index.IntersectMeshInterface.html +1 -1
- package/docs/interfaces/index.Intersection.html +1 -1
- package/docs/interfaces/index.LooseWorkWithExtrinsics.html +8 -8
- package/docs/interfaces/index.ModeChangeEvent.html +1 -1
- package/docs/interfaces/index.ModelControllerCustomInitArgs.html +1 -1
- package/docs/interfaces/index.ModelEvent.html +1 -1
- package/docs/interfaces/index.ModelSceneEvent.html +1 -1
- package/docs/interfaces/index.ModelTileEvent.html +1 -1
- package/docs/interfaces/index.MovePanoOptions.html +1 -1
- package/docs/interfaces/index.NetworkAbortError.html +1 -1
- package/docs/interfaces/index.NetworkFirbiddenError.html +1 -1
- package/docs/interfaces/index.NetworkOptions.html +1 -1
- package/docs/interfaces/index.NetworkProxyError.html +1 -1
- package/docs/interfaces/index.NetworkResourceEvent.html +1 -1
- package/docs/interfaces/index.NetworkResponseError.html +1 -1
- package/docs/interfaces/index.NetworkTimeoutError.html +1 -1
- package/docs/interfaces/index.ObjectEvent.html +1 -1
- package/docs/interfaces/index.PanoCircleMeshInterface.html +1 -1
- package/docs/interfaces/index.PanoEvent.html +1 -1
- package/docs/interfaces/index.PanoPrepareEvent.html +1 -1
- package/docs/interfaces/index.PanoTextureEvent.html +1 -1
- package/docs/interfaces/index.PanoramaControllerCustomInitArgs.html +1 -1
- package/docs/interfaces/index.PanoramaLikeControllerCustomInitArgs.html +1 -1
- package/docs/interfaces/index.ParameterMaterialValue.html +1 -1
- package/docs/interfaces/index.ParameterTilesetValue.html +1 -1
- package/docs/interfaces/index.ParameterValue.html +1 -1
- package/docs/interfaces/index.Pose.html +1 -1
- package/docs/interfaces/index.RenderEvent.html +1 -1
- package/docs/interfaces/index.ResolvedParameterValue.html +1 -1
- package/docs/interfaces/index.State.html +1 -1
- package/docs/interfaces/index.StateEvent.html +1 -1
- package/docs/interfaces/index.TextureOptions.html +1 -1
- package/docs/interfaces/index.TopviewControllerCustomInitArgs.html +1 -1
- package/docs/interfaces/index.VRPanoramaControllerCustomInitArgs.html +1 -1
- package/docs/interfaces/index.ViewLayer.html +1 -1
- package/docs/interfaces/index.WorkCubeHdrGainmapImage.html +2 -2
- package/docs/interfaces/index.WorkCubeImage.html +2 -2
- package/docs/interfaces/index.WorkImage.html +5 -5
- package/docs/interfaces/index.WorkInitial.html +8 -8
- package/docs/interfaces/index.WorkInitialJson.html +2 -2
- package/docs/interfaces/index.WorkJson.html +2 -4
- package/docs/interfaces/index.WorkModel.html +8 -8
- package/docs/interfaces/index.WorkModelJson.html +2 -2
- package/docs/interfaces/index.WorkModelLayer.html +6 -6
- package/docs/interfaces/index.WorkModelLayerJson.html +2 -2
- package/docs/interfaces/index.WorkObserver.html +23 -23
- package/docs/interfaces/index.WorkObserverJson.html +2 -2
- package/docs/interfaces/index.WorkPanoramaJson.html +2 -2
- package/docs/interfaces/index.WorkPanoramasJson.html +2 -2
- package/docs/interfaces/index.WorkTile.html +5 -5
- package/docs/interfaces/index.WorkVideo.html +4 -4
- package/docs/interfaces/index.WorksEvent.html +1 -1
- package/docs/interfaces/index.XRControllerEvent.html +1 -1
- package/docs/interfaces/index.XRGestureEvent.html +2 -2
- package/docs/interfaces/index.XRPanoramaControllerCustomInitArgs.html +1 -1
- package/docs/interfaces/index.XRSessionEvent.html +1 -1
- package/docs/modules/index.html +1 -1
- package/docs/types/index.LegacyEventType.html +3 -3
- package/docs/types/index.OutputTextureDataType.html +1 -1
- package/docs/types/index.ParseOptions.html +8 -8
- package/docs/types/index.PointCloudTransparencyMode.html +2 -0
- package/docs/types/index.Works.html +1 -1
- package/docs/variables/index.loadAt3d.html +2 -0
- package/docs/variables/index.loadDome.html +2 -0
- package/docs/variables/index.loadDomez.html +2 -0
- package/docs/variables/index.loadGltf.html +2 -0
- package/docs/variables/index.loadPbm.html +2 -0
- package/docs/variables/index.loadPly.html +2 -0
- package/five/application/five.d.ts +3 -2
- package/five/chunks/at3d.js +338 -0
- package/five/chunks/at3d.mjs +338 -0
- package/five/chunks/dome.js +338 -0
- package/five/chunks/dome.mjs +338 -0
- package/five/chunks/domez.js +338 -0
- package/five/chunks/domez.mjs +338 -0
- package/five/chunks/fbx.js +338 -0
- package/five/chunks/fbx.mjs +338 -0
- package/five/chunks/fflate.js +338 -0
- package/five/chunks/fflate.mjs +338 -0
- package/five/chunks/glTF-helpers.js +804 -0
- package/five/chunks/glTF-helpers.mjs +804 -0
- package/five/chunks/gltf.js +338 -0
- package/five/chunks/gltf.mjs +338 -0
- package/five/chunks/imageBitmap.js +338 -0
- package/five/chunks/imageBitmap.mjs +338 -0
- package/five/chunks/imageSupport.js +338 -0
- package/five/chunks/imageSupport.mjs +338 -0
- package/five/chunks/lzma.js +383 -0
- package/five/chunks/lzma.mjs +383 -0
- package/five/chunks/memoryUsage.js +339 -0
- package/five/chunks/memoryUsage.mjs +339 -0
- package/five/chunks/minimal.js +338 -0
- package/five/chunks/minimal.mjs +338 -0
- package/five/chunks/pbm.js +338 -0
- package/five/chunks/pbm.mjs +338 -0
- package/five/chunks/pbmGaussianSplattingObject.js +338 -0
- package/five/chunks/pbmGaussianSplattingObject.mjs +338 -0
- package/five/chunks/pbmMeshMaterial.js +338 -0
- package/five/chunks/pbmMeshMaterial.mjs +338 -0
- package/five/chunks/pick.js +338 -0
- package/five/chunks/pick.mjs +338 -0
- package/five/chunks/ply.js +339 -0
- package/five/chunks/ply.mjs +339 -0
- package/five/chunks/spz.js +364 -0
- package/five/chunks/spz.mjs +364 -0
- package/five/core/webglBlendEquationFix.d.ts +41 -0
- package/five/index.d.ts +0 -1
- package/five/index.js +49 -626
- package/five/index.mjs +229 -32052
- package/five/model/index.d.ts +18 -6
- package/five/model/loaders/glTF-helpers/extensions/KHR_gaussian_splatting_compression_spz.d.ts +1 -1
- package/five/model/loaders/glTF-helpers/extensions/KHR_gaussian_splatting_compression_spz_2.d.ts +1 -1
- package/five/model/loaders/spz.d.ts +1 -2
- package/five/model/loaders/spz.worker.d.ts +37 -0
- package/five/renderer/five-renderer.d.ts +1 -1
- package/five/renderer/index.d.ts +1 -1
- package/five/renderer/postprocessing/passes/pass.js +3 -3
- package/five/renderer/postprocessing/passes/pass.mjs +3 -3
- package/five/renderer/tools/full-screen-quad.js +3 -3
- package/five/renderer/tools/full-screen-quad.mjs +3 -3
- package/five/texture/videoTextureBridge.d.ts +124 -15
- package/five/thirdparty/sha256.d.ts +149 -0
- package/five/utils/calculateThreeMouse.js +3 -3
- package/five/utils/calculateThreeMouse.mjs +3 -3
- package/five/utils/distance.js +3 -3
- package/five/utils/distance.mjs +3 -3
- package/five/utils/isNil.js +3 -3
- package/five/utils/isNil.mjs +3 -3
- package/five/utils/memoryUsage.d.ts +1 -1
- package/five/utils/uuid.js +3 -3
- package/five/utils/uuid.mjs +3 -3
- package/five/work/work.d.ts +0 -7
- package/five/work/workJsonType.d.ts +0 -2
- package/gltf-loader/index.js +3 -3
- package/gltf-loader/index.mjs +3 -50
- package/line/index.js +3 -3
- package/line/index.mjs +3 -88
- package/package.json +1 -1
- package/plugins/BackgroundPlugin/Controller.js +4 -4
- package/plugins/BackgroundPlugin/Controller.mjs +4 -4
- package/plugins/BackgroundPlugin/index.js +3 -3
- package/plugins/BackgroundPlugin/index.mjs +3 -3
- package/plugins/BasePlugin/index.js +3 -3
- package/plugins/BasePlugin/index.mjs +3 -3
- package/plugins/CSS2DPlugin/Controller.js +3 -3
- package/plugins/CSS2DPlugin/Controller.mjs +3 -3
- package/plugins/CSS2DPlugin/index.js +3 -3
- package/plugins/CSS2DPlugin/index.mjs +3 -3
- package/plugins/CSS2DPlugin/style.css_raw.js +4 -4
- package/plugins/CSS2DPlugin/style.css_raw.mjs +4 -4
- package/plugins/CSS3DPlugin/Controller.js +3 -3
- package/plugins/CSS3DPlugin/Controller.mjs +3 -3
- package/plugins/CSS3DPlugin/index.js +3 -3
- package/plugins/CSS3DPlugin/index.mjs +3 -3
- package/plugins/CSS3DPlugin/style.css_raw.js +4 -4
- package/plugins/CSS3DPlugin/style.css_raw.mjs +4 -4
- package/plugins/FloorplanPlugin/Controller.js +3 -3
- package/plugins/FloorplanPlugin/Controller.mjs +3 -3
- package/plugins/FloorplanPlugin/index.js +3 -3
- package/plugins/FloorplanPlugin/index.mjs +3 -3
- package/plugins/FloorplanPlugin/render/assets.js +3 -3
- package/plugins/FloorplanPlugin/render/assets.mjs +3 -3
- package/plugins/FloorplanPlugin/render/index.js +3 -3
- package/plugins/FloorplanPlugin/render/index.mjs +3 -3
- package/plugins/FloorplanPlugin/render/isPointInPolygon.js +3 -3
- package/plugins/FloorplanPlugin/render/isPointInPolygon.mjs +3 -3
- package/plugins/FloorplanPlugin/render/renderFloor.js +3 -3
- package/plugins/FloorplanPlugin/render/renderFloor.mjs +3 -3
- package/plugins/FloorplanPlugin/render/roomLabelVisibility.js +3 -3
- package/plugins/FloorplanPlugin/render/roomLabelVisibility.mjs +3 -3
- package/plugins/FloorplanPlugin/render/style.css_raw.js +4 -4
- package/plugins/FloorplanPlugin/render/style.css_raw.mjs +4 -4
- package/plugins/FloorplanPlugin/utils/changeMode.js +3 -3
- package/plugins/FloorplanPlugin/utils/changeMode.mjs +3 -3
- package/plugins/FloorplanPlugin/utils/changeModelCanvasOpacity.js +3 -3
- package/plugins/FloorplanPlugin/utils/changeModelCanvasOpacity.mjs +3 -3
- package/plugins/FloorplanPlugin/utils/correctFiveState.js +3 -3
- package/plugins/FloorplanPlugin/utils/correctFiveState.mjs +3 -3
- package/plugins/FloorplanPlugin/utils/equal.js +3 -3
- package/plugins/FloorplanPlugin/utils/equal.mjs +3 -3
- package/plugins/FloorplanPlugin/utils/filter.js +3 -3
- package/plugins/FloorplanPlugin/utils/filter.mjs +3 -3
- package/plugins/FloorplanPlugin/utils/fiveModelLoad.js +3 -3
- package/plugins/FloorplanPlugin/utils/fiveModelLoad.mjs +3 -3
- package/plugins/FloorplanPlugin/utils/formatData.js +3 -3
- package/plugins/FloorplanPlugin/utils/formatData.mjs +3 -3
- package/plugins/FloorplanPlugin/utils/formatFloorplanJson.js +3 -3
- package/plugins/FloorplanPlugin/utils/formatFloorplanJson.mjs +3 -3
- package/plugins/FloorplanPlugin/utils/formatPosition.js +3 -3
- package/plugins/FloorplanPlugin/utils/formatPosition.mjs +3 -3
- package/plugins/FloorplanPlugin/utils/getDistanceFromModel.js +3 -3
- package/plugins/FloorplanPlugin/utils/getDistanceFromModel.mjs +3 -3
- package/plugins/FloorplanPlugin/utils/getPxmm.js +3 -3
- package/plugins/FloorplanPlugin/utils/getPxmm.mjs +3 -3
- package/plugins/FloorplanPlugin/utils/isTruelyObject.js +3 -3
- package/plugins/FloorplanPlugin/utils/isTruelyObject.mjs +3 -3
- package/plugins/FloorplanPlugin/utils/nearlyEqual.js +3 -3
- package/plugins/FloorplanPlugin/utils/nearlyEqual.mjs +3 -3
- package/plugins/FloorplanPlugin/utils/polylabel.js +3 -3
- package/plugins/FloorplanPlugin/utils/polylabel.mjs +3 -3
- package/plugins/FloorplanPlugin/utils/to.js +3 -3
- package/plugins/FloorplanPlugin/utils/to.mjs +3 -3
- package/plugins/GaussianSplattingEntranceAnimationPlugin/Controller.js +3 -3
- package/plugins/GaussianSplattingEntranceAnimationPlugin/Controller.mjs +3 -3
- package/plugins/GaussianSplattingEntranceAnimationPlugin/index.js +3 -3
- package/plugins/GaussianSplattingEntranceAnimationPlugin/index.mjs +3 -3
- package/plugins/Object3DHelperPlugin/Controller.js +3 -3
- package/plugins/Object3DHelperPlugin/Controller.mjs +3 -3
- package/plugins/Object3DHelperPlugin/Controllers/BaseController.js +3 -3
- package/plugins/Object3DHelperPlugin/Controllers/BaseController.mjs +3 -3
- package/plugins/Object3DHelperPlugin/Controllers/BoundingBoxController.js +3 -3
- package/plugins/Object3DHelperPlugin/Controllers/BoundingBoxController.mjs +3 -3
- package/plugins/Object3DHelperPlugin/Controllers/MoveController.js +3 -3
- package/plugins/Object3DHelperPlugin/Controllers/MoveController.mjs +3 -3
- package/plugins/Object3DHelperPlugin/Controllers/RotateController.js +3 -3
- package/plugins/Object3DHelperPlugin/Controllers/RotateController.mjs +3 -3
- package/plugins/Object3DHelperPlugin/FiveControllerWrapper.js +3 -3
- package/plugins/Object3DHelperPlugin/FiveControllerWrapper.mjs +3 -3
- package/plugins/Object3DHelperPlugin/Helper/BaseHelper.js +3 -3
- package/plugins/Object3DHelperPlugin/Helper/BaseHelper.mjs +3 -3
- package/plugins/Object3DHelperPlugin/Helper/BoundingBoxHelper.js +3 -3
- package/plugins/Object3DHelperPlugin/Helper/BoundingBoxHelper.mjs +3 -3
- package/plugins/Object3DHelperPlugin/Helper/MoveHelper.js +3 -3
- package/plugins/Object3DHelperPlugin/Helper/MoveHelper.mjs +3 -3
- package/plugins/Object3DHelperPlugin/Helper/RotateHelper.js +3 -3
- package/plugins/Object3DHelperPlugin/Helper/RotateHelper.mjs +3 -3
- package/plugins/Object3DHelperPlugin/constant.js +3 -3
- package/plugins/Object3DHelperPlugin/constant.mjs +3 -3
- package/plugins/Object3DHelperPlugin/index.js +3 -3
- package/plugins/Object3DHelperPlugin/index.mjs +3 -3
- package/plugins/Object3DHelperPlugin/utils/ArrowGroup.js +3 -3
- package/plugins/Object3DHelperPlugin/utils/ArrowGroup.mjs +3 -3
- package/plugins/Object3DHelperPlugin/utils/CenterHandle.js +3 -3
- package/plugins/Object3DHelperPlugin/utils/CenterHandle.mjs +3 -3
- package/plugins/Object3DHelperPlugin/utils/PlaneHandle.js +3 -3
- package/plugins/Object3DHelperPlugin/utils/PlaneHandle.mjs +3 -3
- package/plugins/Object3DHelperPlugin/utils/calculateScaleByCamera.js +3 -3
- package/plugins/Object3DHelperPlugin/utils/calculateScaleByCamera.mjs +3 -3
- package/plugins/Object3DHelperPlugin/utils/cameraHooks.js +3 -3
- package/plugins/Object3DHelperPlugin/utils/cameraHooks.mjs +3 -3
- package/plugins/Object3DHelperPlugin/utils/direction.js +3 -3
- package/plugins/Object3DHelperPlugin/utils/direction.mjs +3 -3
- package/plugins/Object3DHelperPlugin/utils/getMouseRaycaster.js +3 -3
- package/plugins/Object3DHelperPlugin/utils/getMouseRaycaster.mjs +3 -3
- package/plugins/Object3DHelperPlugin/utils/getOrthographicCameraDirection.js +3 -3
- package/plugins/Object3DHelperPlugin/utils/getOrthographicCameraDirection.mjs +3 -3
- package/plugins/Object3DHelperPlugin/utils/setObjectQuaternion.js +3 -3
- package/plugins/Object3DHelperPlugin/utils/setObjectQuaternion.mjs +3 -3
- package/plugins/Object3DHelperPlugin/utils/solidGuide.js +3 -3
- package/plugins/Object3DHelperPlugin/utils/solidGuide.mjs +3 -3
- package/plugins/Object3DHelperPlugin/utils/tipsDom.js +3 -3
- package/plugins/Object3DHelperPlugin/utils/tipsDom.mjs +3 -3
- package/plugins/PanoAnimePlugin/Controller.js +3 -3
- package/plugins/PanoAnimePlugin/Controller.mjs +3 -3
- package/plugins/PanoAnimePlugin/index.js +3 -3
- package/plugins/PanoAnimePlugin/index.mjs +3 -3
- package/plugins/WordPassPlugin/Controller.js +3 -3
- package/plugins/WordPassPlugin/Controller.mjs +3 -3
- package/plugins/WordPassPlugin/hersheyFont.js +3 -3
- package/plugins/WordPassPlugin/hersheyFont.mjs +3 -3
- package/plugins/WordPassPlugin/index.js +3 -3
- package/plugins/WordPassPlugin/index.mjs +3 -3
- package/plugins/WordPassPlugin/textToStrokeOrderStrokes.js +4 -4
- package/plugins/WordPassPlugin/textToStrokeOrderStrokes.mjs +4 -4
- package/plugins/WordPassPlugin/word-pass.js +3 -3
- package/plugins/WordPassPlugin/word-pass.mjs +3 -3
- package/plugins/index.js +3 -3
- package/plugins/index.mjs +3 -3
- package/plugins/thirdParty/CSS2DRenderer.js +3 -3
- package/plugins/thirdParty/CSS2DRenderer.mjs +3 -3
- package/plugins/thirdParty/CSS3DRenderer.js +3 -3
- package/plugins/thirdParty/CSS3DRenderer.mjs +3 -3
- package/plugins/thirdParty/doctorstrange-model.js +75 -75
- package/plugins/thirdParty/doctorstrange-model.mjs +75 -75
- package/plugins/thirdParty/domevents.js +3 -3
- package/plugins/thirdParty/domevents.mjs +3 -3
- package/plugins/utils/absoluteUrl.js +3 -3
- package/plugins/utils/absoluteUrl.mjs +3 -3
- package/plugins/utils/calculatePath.js +3 -3
- package/plugins/utils/calculatePath.mjs +3 -3
- package/plugins/utils/clamp.js +3 -3
- package/plugins/utils/clamp.mjs +3 -3
- package/plugins/utils/uuid.js +3 -3
- package/plugins/utils/uuid.mjs +3 -3
- package/react/hooks/useFiveModelReadyState.d.ts +1 -1
- package/react/index.js +3 -3
- package/react/index.mjs +3 -644
- package/sticker/index.js +13 -4
- package/sticker/index.mjs +43 -260
- package/umd/five-gltf-loader.js +3 -3
- package/umd/five-line.js +3 -3
- package/umd/five-plugins.js +2 -2
- package/umd/five-react.js +2 -2
- package/umd/five-sticker.js +13 -4
- package/umd/five-vfx.js +2 -2
- package/umd/five.js +154 -192
- package/vfx/index.js +3 -3
- package/vfx/index.mjs +3 -486
- package/work-downloader/index.js +3 -3
- package/work-downloader/index.mjs +3 -315
- package/docs/functions/index.loadAt3d.html +0 -1
- package/docs/functions/index.loadDome.html +0 -1
- package/docs/functions/index.loadDomez.html +0 -1
- package/docs/functions/index.loadGltf.html +0 -1
- package/docs/functions/index.loadPbm.html +0 -1
- package/docs/functions/index.loadPly.html +0 -10
- package/five/certificates/hardware.d.ts +0 -1
- package/five/thirdparty/jsrsasign.d.ts +0 -753
- package/five/work/_ALLOW_HOST.d.ts +0 -2
- package/five/work/keychain.d.ts +0 -5
- package/five/work/verify.d.ts +0 -7
- package/five/work/workVerify.d.ts +0 -2
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @license
|
|
3
3
|
* @realsee/five-webgpu
|
|
4
|
-
* Generated: 2026/
|
|
5
|
-
* Version: 1.0.0-alpha.
|
|
4
|
+
* Generated: 2026/11/3
|
|
5
|
+
* Version: 1.0.0-alpha.14
|
|
6
6
|
* License:
|
|
7
7
|
* Realsee SDK License Agreement
|
|
8
8
|
|
|
@@ -335,4 +335,4 @@
|
|
|
335
335
|
* writing and signed by Realsee. You and Realsee hereto confirm that this
|
|
336
336
|
* Agreement and all related documents shall be drafted in English.
|
|
337
337
|
|
|
338
|
-
*/const e=require("../../_virtual/_rolldown/runtime.js");let t=require("three/webgpu");t=e.__toESM(t,1);function n(e,n){this._camera=e||null,this._domElement=n||document,this._raycaster=new t.Raycaster,this._selected=null,this._boundObjs={};var r=this;this._$onClick=function(){r._onClick.apply(r,arguments)},this._$onDblClick=function(){r._onDblClick.apply(r,arguments)},this._$onMouseMove=function(){r._onMouseMove.apply(r,arguments)},this._$onMouseDown=function(){r._onMouseDown.apply(r,arguments)},this._$onMouseUp=function(){r._onMouseUp.apply(r,arguments)},this._$onTouchMove=function(){r._onTouchMove.apply(r,arguments)},this._$onTouchStart=function(){r._onTouchStart.apply(r,arguments)},this._$onTouchEnd=function(){r._onTouchEnd.apply(r,arguments)},this._$onContextmenu=function(){r._onContextmenu.apply(r,arguments)},this._domElement.addEventListener(`click`,this._$onClick,!1),this._domElement.addEventListener(`dblclick`,this._$onDblClick,!1),this._domElement.addEventListener(`mousemove`,this._$onMouseMove,!1),this._domElement.addEventListener(`mousedown`,this._$onMouseDown,!1),this._domElement.addEventListener(`mouseup`,this._$onMouseUp,!1),this._domElement.addEventListener(`touchmove`,this._$onTouchMove,!1),this._domElement.addEventListener(`touchstart`,this._$onTouchStart,!1),this._domElement.addEventListener(`touchend`,this._$onTouchEnd,!1),this._domElement.addEventListener(`contextmenu`,this._$onContextmenu,!1)}n.prototype.destroy=function(){this._domElement.removeEventListener(`click`,this._$onClick,!1),this._domElement.removeEventListener(`dblclick`,this._$onDblClick,!1),this._domElement.removeEventListener(`mousemove`,this._$onMouseMove,!1),this._domElement.removeEventListener(`mousedown`,this._$onMouseDown,!1),this._domElement.removeEventListener(`mouseup`,this._$onMouseUp,!1),this._domElement.removeEventListener(`touchmove`,this._$onTouchMove,!1),this._domElement.removeEventListener(`touchstart`,this._$onTouchStart,!1),this._domElement.removeEventListener(`touchend`,this._$onTouchEnd,!1),this._domElement.removeEventListener(`contextmenu`,this._$onContextmenu,!1)},n.eventNames=[`click`,`dblclick`,`mouseover`,`mouseout`,`mousemove`,`mousedown`,`mouseup`,`contextmenu`,`touchstart`,`touchend`],n.prototype._getRelativeMouseXY=function(e){var t=e.target||e.srcElement;t.nodeType===3&&(t=t.parentNode);var n={x:0,y:0},r=t,i=getComputedStyle(r,null);n.y+=parseInt(i.getPropertyValue(`padding-top`),10),n.x+=parseInt(i.getPropertyValue(`padding-left`),10);do n.x+=r.offsetLeft,n.y+=r.offsetTop,i=getComputedStyle(r,null),n.x+=parseInt(i.getPropertyValue(`border-left-width`),10),n.y+=parseInt(i.getPropertyValue(`border-top-width`),10);while(r=r.offsetParent);var a={width:t===window?window.innerWidth:t.offsetWidth,height:t===window?window.innerHeight:t.offsetHeight};return{x:Number((e.pageX-n.x)/a.width)*2-1,y:-((e.pageY-n.y)/a.height)*2+1}},n.prototype._objectCtxInit=function(e){e._3xDomEvent={}},n.prototype._objectCtxDeinit=function(e){delete e._3xDomEvent},n.prototype._objectCtxIsInit=function(e){return!!e._3xDomEvent},n.prototype._objectCtxGet=function(e){return e._3xDomEvent},n.prototype.camera=function(e){return e&&(this._camera=e),this._camera},n.prototype.bind=function(e,t,r,i){console.assert(n.eventNames.indexOf(t)!==-1,`not available events:`+t),this._objectCtxIsInit(e)||this._objectCtxInit(e);var a=this._objectCtxGet(e);a[t+`Handlers`]||(a[t+`Handlers`]=[]),a[t+`Handlers`].push({callback:r,useCapture:i}),this._boundObjs[t]===void 0&&(this._boundObjs[t]=[]),this._boundObjs[t].push(e)},n.prototype.addEventListener=n.prototype.bind,n.prototype.unbind=function(e,t,r,i){console.assert(n.eventNames.indexOf(t)!==-1,`not available events:`+t),this._objectCtxIsInit(e)||this._objectCtxInit(e);var a=this._objectCtxGet(e);a[t+`Handlers`]||(a[t+`Handlers`]=[]);for(var o=a[t+`Handlers`],s=0;s<o.length;s++){var c=o[s];if(r==c.callback&&i==c.useCapture){o.splice(s,1);break}}var l=this._boundObjs[t].indexOf(e);this._boundObjs[t].splice(l,1)},n.prototype.removeEventListener=n.prototype.unbind,n.prototype._bound=function(e,t){var n=this._objectCtxGet(t);return n?!!n[e+`Handlers`]:!1},n.prototype._isObjectVisible=function(e){for(var t=e;t;){if(t.visible===!1)return!1;t=t.parent}return!0},n.prototype._filterVisibleObjects=function(e){var t=this;return e.filter(function(e){return t._isObjectVisible(e)})},n.prototype._onMove=function(e,n,r,i){var a=this._boundObjs[e];if(!(a===void 0||a.length===0)){var o=this._filterVisibleObjects(a);if(o.length!==0){var s=new t.Vector2;s.set(n,r),this._raycaster.setFromCamera(s,this._camera);var c=this._raycaster.intersectObjects(o),l=this;c=c.filter(function(e){return l._isObjectVisible(e.object)}),c.sort(function(e,t){var n=e.object.renderOrder||0,r=t.object.renderOrder||0;return n===r?e.distance-t.distance:r-n});var u=this._selected;if(c.length>0){var d,f,p,m=c[0],h=m.object;this._selected=h,p=this._bound(`mousemove`,h),u!=h&&(d=this._bound(`mouseover`,h),f=u&&this._bound(`mouseout`,u))}else f=u&&this._bound(`mouseout`,u),this._selected=null;p&&this._notify(`mousemove`,h,i,m),d&&this._notify(`mouseover`,h,i,m),f&&this._notify(`mouseout`,u,i,m)}}},n.prototype._onEvent=function(e,n,r,i){var a=this._boundObjs[e];if(!(a===void 0||a.length===0)){var o=this._filterVisibleObjects(a);if(o.length!==0){var s=new t.Vector2;s.set(n,r),this._raycaster.setFromCamera(s,this._camera);var c=this._raycaster.intersectObjects(o,!0),l=this;if(c=c.filter(function(e){return l._isObjectVisible(e.object)}),c.sort(function(e,t){var n=e.object.renderOrder||0,r=t.object.renderOrder||0;return n===r?e.distance-t.distance:r-n}),c.length!==0){for(var u=c[0],d=u.object,f=this._objectCtxGet(d),p=d.parent;f===void 0&&p;)f=this._objectCtxGet(p),p=p.parent;f&&this._notify(e,d,i,u)}}}},n.prototype._notify=function(e,t,n,r){var i=this._objectCtxGet(t),a=i?i[e+`Handlers`]:null;if(!i||!a||a.length===0){t.parent&&this._notify(e,t.parent,n,r);return}for(var a=i[e+`Handlers`],o=0;o<a.length;o++){var s=a[o],c=!0;s.callback({type:e,target:t,origDomEvent:n,intersect:r,stopPropagation:function(){c=!1}}),c&&s.useCapture===!1&&t.parent&&this._notify(e,t.parent,n,r)}},n.prototype._onMouseDown=function(e){return this._onMouseEvent(`mousedown`,e)},n.prototype._onMouseUp=function(e){return this._onMouseEvent(`mouseup`,e)},n.prototype._onMouseEvent=function(e,t){var n=this._getRelativeMouseXY(t);this._onEvent(e,n.x,n.y,t)},n.prototype._onMouseMove=function(e){var t=this._getRelativeMouseXY(e);this._onMove(`mousemove`,t.x,t.y,e),this._onMove(`mouseover`,t.x,t.y,e),this._onMove(`mouseout`,t.x,t.y,e)},n.prototype._onClick=function(e){this._onMouseEvent(`click`,e)},n.prototype._onDblClick=function(e){this._onMouseEvent(`dblclick`,e)},n.prototype._onContextmenu=function(e){this._onMouseEvent(`contextmenu`,e)},n.prototype._onTouchStart=function(e){return this._onTouchEvent(`touchstart`,e)},n.prototype._onTouchEnd=function(e){return this._onTouchEvent(`touchend`,e)},n.prototype._onTouchMove=function(e){if(e.touches.length==1){var t=Number(e.touches[0].pageX/window.innerWidth)*2-1,n=-(e.touches[0].pageY/window.innerHeight)*2+1;this._onMove(`mousemove`,t,n,e),this._onMove(`mouseover`,t,n,e),this._onMove(`mouseout`,t,n,e)}},n.prototype._onTouchEvent=function(e,t){var n=t.touches;if(n.length==0&&(n=t.changedTouches),n.length==1){var r=Number(n[0].pageX/window.innerWidth)*2-1,i=-(n[0].pageY/window.innerHeight)*2+1;this._onEvent(e,r,i,t)}},exports.default=n;
|
|
338
|
+
*/const require_runtime=require("../../_virtual/_rolldown/runtime.js");let three_webgpu=require("three/webgpu");three_webgpu=require_runtime.__toESM(three_webgpu,1);function DomEvents(camera,domElement){this._camera=camera||null,this._domElement=domElement||document,this._raycaster=new three_webgpu.Raycaster,this._selected=null,this._boundObjs={};var _this=this;this._$onClick=function(){_this._onClick.apply(_this,arguments)},this._$onDblClick=function(){_this._onDblClick.apply(_this,arguments)},this._$onMouseMove=function(){_this._onMouseMove.apply(_this,arguments)},this._$onMouseDown=function(){_this._onMouseDown.apply(_this,arguments)},this._$onMouseUp=function(){_this._onMouseUp.apply(_this,arguments)},this._$onTouchMove=function(){_this._onTouchMove.apply(_this,arguments)},this._$onTouchStart=function(){_this._onTouchStart.apply(_this,arguments)},this._$onTouchEnd=function(){_this._onTouchEnd.apply(_this,arguments)},this._$onContextmenu=function(){_this._onContextmenu.apply(_this,arguments)},this._domElement.addEventListener(`click`,this._$onClick,!1),this._domElement.addEventListener(`dblclick`,this._$onDblClick,!1),this._domElement.addEventListener(`mousemove`,this._$onMouseMove,!1),this._domElement.addEventListener(`mousedown`,this._$onMouseDown,!1),this._domElement.addEventListener(`mouseup`,this._$onMouseUp,!1),this._domElement.addEventListener(`touchmove`,this._$onTouchMove,!1),this._domElement.addEventListener(`touchstart`,this._$onTouchStart,!1),this._domElement.addEventListener(`touchend`,this._$onTouchEnd,!1),this._domElement.addEventListener(`contextmenu`,this._$onContextmenu,!1)}DomEvents.prototype.destroy=function(){this._domElement.removeEventListener(`click`,this._$onClick,!1),this._domElement.removeEventListener(`dblclick`,this._$onDblClick,!1),this._domElement.removeEventListener(`mousemove`,this._$onMouseMove,!1),this._domElement.removeEventListener(`mousedown`,this._$onMouseDown,!1),this._domElement.removeEventListener(`mouseup`,this._$onMouseUp,!1),this._domElement.removeEventListener(`touchmove`,this._$onTouchMove,!1),this._domElement.removeEventListener(`touchstart`,this._$onTouchStart,!1),this._domElement.removeEventListener(`touchend`,this._$onTouchEnd,!1),this._domElement.removeEventListener(`contextmenu`,this._$onContextmenu,!1)},DomEvents.eventNames=[`click`,`dblclick`,`mouseover`,`mouseout`,`mousemove`,`mousedown`,`mouseup`,`contextmenu`,`touchstart`,`touchend`],DomEvents.prototype._getRelativeMouseXY=function(domEvent){var element=domEvent.target||domEvent.srcElement;element.nodeType===3&&(element=element.parentNode);var elPosition={x:0,y:0},tmpElement=element,style=getComputedStyle(tmpElement,null);elPosition.y+=parseInt(style.getPropertyValue(`padding-top`),10),elPosition.x+=parseInt(style.getPropertyValue(`padding-left`),10);do elPosition.x+=tmpElement.offsetLeft,elPosition.y+=tmpElement.offsetTop,style=getComputedStyle(tmpElement,null),elPosition.x+=parseInt(style.getPropertyValue(`border-left-width`),10),elPosition.y+=parseInt(style.getPropertyValue(`border-top-width`),10);while(tmpElement=tmpElement.offsetParent);var elDimension={width:element===window?window.innerWidth:element.offsetWidth,height:element===window?window.innerHeight:element.offsetHeight};return{x:Number((domEvent.pageX-elPosition.x)/elDimension.width)*2-1,y:-((domEvent.pageY-elPosition.y)/elDimension.height)*2+1}},DomEvents.prototype._objectCtxInit=function(object3d){object3d._3xDomEvent={}},DomEvents.prototype._objectCtxDeinit=function(object3d){delete object3d._3xDomEvent},DomEvents.prototype._objectCtxIsInit=function(object3d){return!!object3d._3xDomEvent},DomEvents.prototype._objectCtxGet=function(object3d){return object3d._3xDomEvent},DomEvents.prototype.camera=function(value){return value&&(this._camera=value),this._camera},DomEvents.prototype.bind=function(object3d,eventName,callback,useCapture){console.assert(DomEvents.eventNames.indexOf(eventName)!==-1,`not available events:`+eventName),this._objectCtxIsInit(object3d)||this._objectCtxInit(object3d);var objectCtx=this._objectCtxGet(object3d);objectCtx[eventName+`Handlers`]||(objectCtx[eventName+`Handlers`]=[]),objectCtx[eventName+`Handlers`].push({callback,useCapture}),this._boundObjs[eventName]===void 0&&(this._boundObjs[eventName]=[]),this._boundObjs[eventName].push(object3d)},DomEvents.prototype.addEventListener=DomEvents.prototype.bind,DomEvents.prototype.unbind=function(object3d,eventName,callback,useCapture){console.assert(DomEvents.eventNames.indexOf(eventName)!==-1,`not available events:`+eventName),this._objectCtxIsInit(object3d)||this._objectCtxInit(object3d);var objectCtx=this._objectCtxGet(object3d);objectCtx[eventName+`Handlers`]||(objectCtx[eventName+`Handlers`]=[]);for(var handlers=objectCtx[eventName+`Handlers`],i=0;i<handlers.length;i++){var handler=handlers[i];if(callback==handler.callback&&useCapture==handler.useCapture){handlers.splice(i,1);break}}var index=this._boundObjs[eventName].indexOf(object3d);this._boundObjs[eventName].splice(index,1)},DomEvents.prototype.removeEventListener=DomEvents.prototype.unbind,DomEvents.prototype._bound=function(eventName,object3d){var objectCtx=this._objectCtxGet(object3d);return objectCtx?!!objectCtx[eventName+`Handlers`]:!1},DomEvents.prototype._isObjectVisible=function(object3d){for(var current=object3d;current;){if(current.visible===!1)return!1;current=current.parent}return!0},DomEvents.prototype._filterVisibleObjects=function(objects){var _this=this;return objects.filter(function(obj){return _this._isObjectVisible(obj)})},DomEvents.prototype._onMove=function(eventName,mouseX,mouseY,origDomEvent){var boundObjs=this._boundObjs[eventName];if(!(boundObjs===void 0||boundObjs.length===0)){var visibleBoundObjs=this._filterVisibleObjects(boundObjs);if(visibleBoundObjs.length!==0){var vector=new three_webgpu.Vector2;vector.set(mouseX,mouseY),this._raycaster.setFromCamera(vector,this._camera);var intersects=this._raycaster.intersectObjects(visibleBoundObjs),_this=this;intersects=intersects.filter(function(intersect){return _this._isObjectVisible(intersect.object)}),intersects.sort(function(a,b){var aRenderOrder=a.object.renderOrder||0,bRenderOrder=b.object.renderOrder||0;return aRenderOrder===bRenderOrder?a.distance-b.distance:bRenderOrder-aRenderOrder});var oldSelected=this._selected;if(intersects.length>0){var notifyOver,notifyOut,notifyMove,intersect=intersects[0],newSelected=intersect.object;this._selected=newSelected,notifyMove=this._bound(`mousemove`,newSelected),oldSelected!=newSelected&&(notifyOver=this._bound(`mouseover`,newSelected),notifyOut=oldSelected&&this._bound(`mouseout`,oldSelected))}else notifyOut=oldSelected&&this._bound(`mouseout`,oldSelected),this._selected=null;notifyMove&&this._notify(`mousemove`,newSelected,origDomEvent,intersect),notifyOver&&this._notify(`mouseover`,newSelected,origDomEvent,intersect),notifyOut&&this._notify(`mouseout`,oldSelected,origDomEvent,intersect)}}},DomEvents.prototype._onEvent=function(eventName,mouseX,mouseY,origDomEvent){var boundObjs=this._boundObjs[eventName];if(!(boundObjs===void 0||boundObjs.length===0)){var visibleBoundObjs=this._filterVisibleObjects(boundObjs);if(visibleBoundObjs.length!==0){var vector=new three_webgpu.Vector2;vector.set(mouseX,mouseY),this._raycaster.setFromCamera(vector,this._camera);var intersects=this._raycaster.intersectObjects(visibleBoundObjs,!0),_this=this;if(intersects=intersects.filter(function(intersect){return _this._isObjectVisible(intersect.object)}),intersects.sort(function(a,b){var aRenderOrder=a.object.renderOrder||0,bRenderOrder=b.object.renderOrder||0;return aRenderOrder===bRenderOrder?a.distance-b.distance:bRenderOrder-aRenderOrder}),intersects.length!==0){for(var intersect=intersects[0],object3d=intersect.object,objectCtx=this._objectCtxGet(object3d),objectParent=object3d.parent;objectCtx===void 0&&objectParent;)objectCtx=this._objectCtxGet(objectParent),objectParent=objectParent.parent;objectCtx&&this._notify(eventName,object3d,origDomEvent,intersect)}}}},DomEvents.prototype._notify=function(eventName,object3d,origDomEvent,intersect){var objectCtx=this._objectCtxGet(object3d),handlers=objectCtx?objectCtx[eventName+`Handlers`]:null;if(!objectCtx||!handlers||handlers.length===0){object3d.parent&&this._notify(eventName,object3d.parent,origDomEvent,intersect);return}for(var handlers=objectCtx[eventName+`Handlers`],i=0;i<handlers.length;i++){var handler=handlers[i],toPropagate=!0;handler.callback({type:eventName,target:object3d,origDomEvent,intersect,stopPropagation:function(){toPropagate=!1}}),toPropagate&&handler.useCapture===!1&&object3d.parent&&this._notify(eventName,object3d.parent,origDomEvent,intersect)}},DomEvents.prototype._onMouseDown=function(event){return this._onMouseEvent(`mousedown`,event)},DomEvents.prototype._onMouseUp=function(event){return this._onMouseEvent(`mouseup`,event)},DomEvents.prototype._onMouseEvent=function(eventName,domEvent){var mouseCoords=this._getRelativeMouseXY(domEvent);this._onEvent(eventName,mouseCoords.x,mouseCoords.y,domEvent)},DomEvents.prototype._onMouseMove=function(domEvent){var mouseCoords=this._getRelativeMouseXY(domEvent);this._onMove(`mousemove`,mouseCoords.x,mouseCoords.y,domEvent),this._onMove(`mouseover`,mouseCoords.x,mouseCoords.y,domEvent),this._onMove(`mouseout`,mouseCoords.x,mouseCoords.y,domEvent)},DomEvents.prototype._onClick=function(event){this._onMouseEvent(`click`,event)},DomEvents.prototype._onDblClick=function(event){this._onMouseEvent(`dblclick`,event)},DomEvents.prototype._onContextmenu=function(event){this._onMouseEvent(`contextmenu`,event)},DomEvents.prototype._onTouchStart=function(event){return this._onTouchEvent(`touchstart`,event)},DomEvents.prototype._onTouchEnd=function(event){return this._onTouchEvent(`touchend`,event)},DomEvents.prototype._onTouchMove=function(domEvent){if(domEvent.touches.length==1){var mouseX=Number(domEvent.touches[0].pageX/window.innerWidth)*2-1,mouseY=-(domEvent.touches[0].pageY/window.innerHeight)*2+1;this._onMove(`mousemove`,mouseX,mouseY,domEvent),this._onMove(`mouseover`,mouseX,mouseY,domEvent),this._onMove(`mouseout`,mouseX,mouseY,domEvent)}},DomEvents.prototype._onTouchEvent=function(eventName,domEvent){var touches=domEvent.touches;if(touches.length==0&&(touches=domEvent.changedTouches),touches.length==1){var mouseX=Number(touches[0].pageX/window.innerWidth)*2-1,mouseY=-(touches[0].pageY/window.innerHeight)*2+1;this._onEvent(eventName,mouseX,mouseY,domEvent)}},exports.default=DomEvents;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @license
|
|
3
3
|
* @realsee/five-webgpu
|
|
4
|
-
* Generated: 2026/
|
|
5
|
-
* Version: 1.0.0-alpha.
|
|
4
|
+
* Generated: 2026/11/3
|
|
5
|
+
* Version: 1.0.0-alpha.14
|
|
6
6
|
* License:
|
|
7
7
|
* Realsee SDK License Agreement
|
|
8
8
|
|
|
@@ -335,4 +335,4 @@
|
|
|
335
335
|
* writing and signed by Realsee. You and Realsee hereto confirm that this
|
|
336
336
|
* Agreement and all related documents shall be drafted in English.
|
|
337
337
|
|
|
338
|
-
*/import*as e from"three/webgpu";function t(t,n){this._camera=t||null,this._domElement=n||document,this._raycaster=new e.Raycaster,this._selected=null,this._boundObjs={};var r=this;this._$onClick=function(){r._onClick.apply(r,arguments)},this._$onDblClick=function(){r._onDblClick.apply(r,arguments)},this._$onMouseMove=function(){r._onMouseMove.apply(r,arguments)},this._$onMouseDown=function(){r._onMouseDown.apply(r,arguments)},this._$onMouseUp=function(){r._onMouseUp.apply(r,arguments)},this._$onTouchMove=function(){r._onTouchMove.apply(r,arguments)},this._$onTouchStart=function(){r._onTouchStart.apply(r,arguments)},this._$onTouchEnd=function(){r._onTouchEnd.apply(r,arguments)},this._$onContextmenu=function(){r._onContextmenu.apply(r,arguments)},this._domElement.addEventListener(`click`,this._$onClick,!1),this._domElement.addEventListener(`dblclick`,this._$onDblClick,!1),this._domElement.addEventListener(`mousemove`,this._$onMouseMove,!1),this._domElement.addEventListener(`mousedown`,this._$onMouseDown,!1),this._domElement.addEventListener(`mouseup`,this._$onMouseUp,!1),this._domElement.addEventListener(`touchmove`,this._$onTouchMove,!1),this._domElement.addEventListener(`touchstart`,this._$onTouchStart,!1),this._domElement.addEventListener(`touchend`,this._$onTouchEnd,!1),this._domElement.addEventListener(`contextmenu`,this._$onContextmenu,!1)}t.prototype.destroy=function(){this._domElement.removeEventListener(`click`,this._$onClick,!1),this._domElement.removeEventListener(`dblclick`,this._$onDblClick,!1),this._domElement.removeEventListener(`mousemove`,this._$onMouseMove,!1),this._domElement.removeEventListener(`mousedown`,this._$onMouseDown,!1),this._domElement.removeEventListener(`mouseup`,this._$onMouseUp,!1),this._domElement.removeEventListener(`touchmove`,this._$onTouchMove,!1),this._domElement.removeEventListener(`touchstart`,this._$onTouchStart,!1),this._domElement.removeEventListener(`touchend`,this._$onTouchEnd,!1),this._domElement.removeEventListener(`contextmenu`,this._$onContextmenu,!1)},t.eventNames=[`click`,`dblclick`,`mouseover`,`mouseout`,`mousemove`,`mousedown`,`mouseup`,`contextmenu`,`touchstart`,`touchend`],t.prototype._getRelativeMouseXY=function(e){var t=e.target||e.srcElement;t.nodeType===3&&(t=t.parentNode);var n={x:0,y:0},r=t,i=getComputedStyle(r,null);n.y+=parseInt(i.getPropertyValue(`padding-top`),10),n.x+=parseInt(i.getPropertyValue(`padding-left`),10);do n.x+=r.offsetLeft,n.y+=r.offsetTop,i=getComputedStyle(r,null),n.x+=parseInt(i.getPropertyValue(`border-left-width`),10),n.y+=parseInt(i.getPropertyValue(`border-top-width`),10);while(r=r.offsetParent);var a={width:t===window?window.innerWidth:t.offsetWidth,height:t===window?window.innerHeight:t.offsetHeight};return{x:Number((e.pageX-n.x)/a.width)*2-1,y:-((e.pageY-n.y)/a.height)*2+1}},t.prototype._objectCtxInit=function(e){e._3xDomEvent={}},t.prototype._objectCtxDeinit=function(e){delete e._3xDomEvent},t.prototype._objectCtxIsInit=function(e){return!!e._3xDomEvent},t.prototype._objectCtxGet=function(e){return e._3xDomEvent},t.prototype.camera=function(e){return e&&(this._camera=e),this._camera},t.prototype.bind=function(e,n,r,i){console.assert(t.eventNames.indexOf(n)!==-1,`not available events:`+n),this._objectCtxIsInit(e)||this._objectCtxInit(e);var a=this._objectCtxGet(e);a[n+`Handlers`]||(a[n+`Handlers`]=[]),a[n+`Handlers`].push({callback:r,useCapture:i}),this._boundObjs[n]===void 0&&(this._boundObjs[n]=[]),this._boundObjs[n].push(e)},t.prototype.addEventListener=t.prototype.bind,t.prototype.unbind=function(e,n,r,i){console.assert(t.eventNames.indexOf(n)!==-1,`not available events:`+n),this._objectCtxIsInit(e)||this._objectCtxInit(e);var a=this._objectCtxGet(e);a[n+`Handlers`]||(a[n+`Handlers`]=[]);for(var o=a[n+`Handlers`],s=0;s<o.length;s++){var c=o[s];if(r==c.callback&&i==c.useCapture){o.splice(s,1);break}}var l=this._boundObjs[n].indexOf(e);this._boundObjs[n].splice(l,1)},t.prototype.removeEventListener=t.prototype.unbind,t.prototype._bound=function(e,t){var n=this._objectCtxGet(t);return n?!!n[e+`Handlers`]:!1},t.prototype._isObjectVisible=function(e){for(var t=e;t;){if(t.visible===!1)return!1;t=t.parent}return!0},t.prototype._filterVisibleObjects=function(e){var t=this;return e.filter(function(e){return t._isObjectVisible(e)})},t.prototype._onMove=function(t,n,r,i){var a=this._boundObjs[t];if(!(a===void 0||a.length===0)){var o=this._filterVisibleObjects(a);if(o.length!==0){var s=new e.Vector2;s.set(n,r),this._raycaster.setFromCamera(s,this._camera);var c=this._raycaster.intersectObjects(o),l=this;c=c.filter(function(e){return l._isObjectVisible(e.object)}),c.sort(function(e,t){var n=e.object.renderOrder||0,r=t.object.renderOrder||0;return n===r?e.distance-t.distance:r-n});var u=this._selected;if(c.length>0){var d,f,p,m=c[0],h=m.object;this._selected=h,p=this._bound(`mousemove`,h),u!=h&&(d=this._bound(`mouseover`,h),f=u&&this._bound(`mouseout`,u))}else f=u&&this._bound(`mouseout`,u),this._selected=null;p&&this._notify(`mousemove`,h,i,m),d&&this._notify(`mouseover`,h,i,m),f&&this._notify(`mouseout`,u,i,m)}}},t.prototype._onEvent=function(t,n,r,i){var a=this._boundObjs[t];if(!(a===void 0||a.length===0)){var o=this._filterVisibleObjects(a);if(o.length!==0){var s=new e.Vector2;s.set(n,r),this._raycaster.setFromCamera(s,this._camera);var c=this._raycaster.intersectObjects(o,!0),l=this;if(c=c.filter(function(e){return l._isObjectVisible(e.object)}),c.sort(function(e,t){var n=e.object.renderOrder||0,r=t.object.renderOrder||0;return n===r?e.distance-t.distance:r-n}),c.length!==0){for(var u=c[0],d=u.object,f=this._objectCtxGet(d),p=d.parent;f===void 0&&p;)f=this._objectCtxGet(p),p=p.parent;f&&this._notify(t,d,i,u)}}}},t.prototype._notify=function(e,t,n,r){var i=this._objectCtxGet(t),a=i?i[e+`Handlers`]:null;if(!i||!a||a.length===0){t.parent&&this._notify(e,t.parent,n,r);return}for(var a=i[e+`Handlers`],o=0;o<a.length;o++){var s=a[o],c=!0;s.callback({type:e,target:t,origDomEvent:n,intersect:r,stopPropagation:function(){c=!1}}),c&&s.useCapture===!1&&t.parent&&this._notify(e,t.parent,n,r)}},t.prototype._onMouseDown=function(e){return this._onMouseEvent(`mousedown`,e)},t.prototype._onMouseUp=function(e){return this._onMouseEvent(`mouseup`,e)},t.prototype._onMouseEvent=function(e,t){var n=this._getRelativeMouseXY(t);this._onEvent(e,n.x,n.y,t)},t.prototype._onMouseMove=function(e){var t=this._getRelativeMouseXY(e);this._onMove(`mousemove`,t.x,t.y,e),this._onMove(`mouseover`,t.x,t.y,e),this._onMove(`mouseout`,t.x,t.y,e)},t.prototype._onClick=function(e){this._onMouseEvent(`click`,e)},t.prototype._onDblClick=function(e){this._onMouseEvent(`dblclick`,e)},t.prototype._onContextmenu=function(e){this._onMouseEvent(`contextmenu`,e)},t.prototype._onTouchStart=function(e){return this._onTouchEvent(`touchstart`,e)},t.prototype._onTouchEnd=function(e){return this._onTouchEvent(`touchend`,e)},t.prototype._onTouchMove=function(e){if(e.touches.length==1){var t=Number(e.touches[0].pageX/window.innerWidth)*2-1,n=-(e.touches[0].pageY/window.innerHeight)*2+1;this._onMove(`mousemove`,t,n,e),this._onMove(`mouseover`,t,n,e),this._onMove(`mouseout`,t,n,e)}},t.prototype._onTouchEvent=function(e,t){var n=t.touches;if(n.length==0&&(n=t.changedTouches),n.length==1){var r=Number(n[0].pageX/window.innerWidth)*2-1,i=-(n[0].pageY/window.innerHeight)*2+1;this._onEvent(e,r,i,t)}};export{t as default};
|
|
338
|
+
*/import*as THREE from"three/webgpu";function DomEvents(camera,domElement){this._camera=camera||null,this._domElement=domElement||document,this._raycaster=new THREE.Raycaster,this._selected=null,this._boundObjs={};var _this=this;this._$onClick=function(){_this._onClick.apply(_this,arguments)},this._$onDblClick=function(){_this._onDblClick.apply(_this,arguments)},this._$onMouseMove=function(){_this._onMouseMove.apply(_this,arguments)},this._$onMouseDown=function(){_this._onMouseDown.apply(_this,arguments)},this._$onMouseUp=function(){_this._onMouseUp.apply(_this,arguments)},this._$onTouchMove=function(){_this._onTouchMove.apply(_this,arguments)},this._$onTouchStart=function(){_this._onTouchStart.apply(_this,arguments)},this._$onTouchEnd=function(){_this._onTouchEnd.apply(_this,arguments)},this._$onContextmenu=function(){_this._onContextmenu.apply(_this,arguments)},this._domElement.addEventListener(`click`,this._$onClick,!1),this._domElement.addEventListener(`dblclick`,this._$onDblClick,!1),this._domElement.addEventListener(`mousemove`,this._$onMouseMove,!1),this._domElement.addEventListener(`mousedown`,this._$onMouseDown,!1),this._domElement.addEventListener(`mouseup`,this._$onMouseUp,!1),this._domElement.addEventListener(`touchmove`,this._$onTouchMove,!1),this._domElement.addEventListener(`touchstart`,this._$onTouchStart,!1),this._domElement.addEventListener(`touchend`,this._$onTouchEnd,!1),this._domElement.addEventListener(`contextmenu`,this._$onContextmenu,!1)}DomEvents.prototype.destroy=function(){this._domElement.removeEventListener(`click`,this._$onClick,!1),this._domElement.removeEventListener(`dblclick`,this._$onDblClick,!1),this._domElement.removeEventListener(`mousemove`,this._$onMouseMove,!1),this._domElement.removeEventListener(`mousedown`,this._$onMouseDown,!1),this._domElement.removeEventListener(`mouseup`,this._$onMouseUp,!1),this._domElement.removeEventListener(`touchmove`,this._$onTouchMove,!1),this._domElement.removeEventListener(`touchstart`,this._$onTouchStart,!1),this._domElement.removeEventListener(`touchend`,this._$onTouchEnd,!1),this._domElement.removeEventListener(`contextmenu`,this._$onContextmenu,!1)},DomEvents.eventNames=[`click`,`dblclick`,`mouseover`,`mouseout`,`mousemove`,`mousedown`,`mouseup`,`contextmenu`,`touchstart`,`touchend`],DomEvents.prototype._getRelativeMouseXY=function(domEvent){var element=domEvent.target||domEvent.srcElement;element.nodeType===3&&(element=element.parentNode);var elPosition={x:0,y:0},tmpElement=element,style=getComputedStyle(tmpElement,null);elPosition.y+=parseInt(style.getPropertyValue(`padding-top`),10),elPosition.x+=parseInt(style.getPropertyValue(`padding-left`),10);do elPosition.x+=tmpElement.offsetLeft,elPosition.y+=tmpElement.offsetTop,style=getComputedStyle(tmpElement,null),elPosition.x+=parseInt(style.getPropertyValue(`border-left-width`),10),elPosition.y+=parseInt(style.getPropertyValue(`border-top-width`),10);while(tmpElement=tmpElement.offsetParent);var elDimension={width:element===window?window.innerWidth:element.offsetWidth,height:element===window?window.innerHeight:element.offsetHeight};return{x:Number((domEvent.pageX-elPosition.x)/elDimension.width)*2-1,y:-((domEvent.pageY-elPosition.y)/elDimension.height)*2+1}},DomEvents.prototype._objectCtxInit=function(object3d){object3d._3xDomEvent={}},DomEvents.prototype._objectCtxDeinit=function(object3d){delete object3d._3xDomEvent},DomEvents.prototype._objectCtxIsInit=function(object3d){return!!object3d._3xDomEvent},DomEvents.prototype._objectCtxGet=function(object3d){return object3d._3xDomEvent},DomEvents.prototype.camera=function(value){return value&&(this._camera=value),this._camera},DomEvents.prototype.bind=function(object3d,eventName,callback,useCapture){console.assert(DomEvents.eventNames.indexOf(eventName)!==-1,`not available events:`+eventName),this._objectCtxIsInit(object3d)||this._objectCtxInit(object3d);var objectCtx=this._objectCtxGet(object3d);objectCtx[eventName+`Handlers`]||(objectCtx[eventName+`Handlers`]=[]),objectCtx[eventName+`Handlers`].push({callback,useCapture}),this._boundObjs[eventName]===void 0&&(this._boundObjs[eventName]=[]),this._boundObjs[eventName].push(object3d)},DomEvents.prototype.addEventListener=DomEvents.prototype.bind,DomEvents.prototype.unbind=function(object3d,eventName,callback,useCapture){console.assert(DomEvents.eventNames.indexOf(eventName)!==-1,`not available events:`+eventName),this._objectCtxIsInit(object3d)||this._objectCtxInit(object3d);var objectCtx=this._objectCtxGet(object3d);objectCtx[eventName+`Handlers`]||(objectCtx[eventName+`Handlers`]=[]);for(var handlers=objectCtx[eventName+`Handlers`],i=0;i<handlers.length;i++){var handler=handlers[i];if(callback==handler.callback&&useCapture==handler.useCapture){handlers.splice(i,1);break}}var index=this._boundObjs[eventName].indexOf(object3d);this._boundObjs[eventName].splice(index,1)},DomEvents.prototype.removeEventListener=DomEvents.prototype.unbind,DomEvents.prototype._bound=function(eventName,object3d){var objectCtx=this._objectCtxGet(object3d);return objectCtx?!!objectCtx[eventName+`Handlers`]:!1},DomEvents.prototype._isObjectVisible=function(object3d){for(var current=object3d;current;){if(current.visible===!1)return!1;current=current.parent}return!0},DomEvents.prototype._filterVisibleObjects=function(objects){var _this=this;return objects.filter(function(obj){return _this._isObjectVisible(obj)})},DomEvents.prototype._onMove=function(eventName,mouseX,mouseY,origDomEvent){var boundObjs=this._boundObjs[eventName];if(!(boundObjs===void 0||boundObjs.length===0)){var visibleBoundObjs=this._filterVisibleObjects(boundObjs);if(visibleBoundObjs.length!==0){var vector=new THREE.Vector2;vector.set(mouseX,mouseY),this._raycaster.setFromCamera(vector,this._camera);var intersects=this._raycaster.intersectObjects(visibleBoundObjs),_this=this;intersects=intersects.filter(function(intersect){return _this._isObjectVisible(intersect.object)}),intersects.sort(function(a,b){var aRenderOrder=a.object.renderOrder||0,bRenderOrder=b.object.renderOrder||0;return aRenderOrder===bRenderOrder?a.distance-b.distance:bRenderOrder-aRenderOrder});var oldSelected=this._selected;if(intersects.length>0){var notifyOver,notifyOut,notifyMove,intersect=intersects[0],newSelected=intersect.object;this._selected=newSelected,notifyMove=this._bound(`mousemove`,newSelected),oldSelected!=newSelected&&(notifyOver=this._bound(`mouseover`,newSelected),notifyOut=oldSelected&&this._bound(`mouseout`,oldSelected))}else notifyOut=oldSelected&&this._bound(`mouseout`,oldSelected),this._selected=null;notifyMove&&this._notify(`mousemove`,newSelected,origDomEvent,intersect),notifyOver&&this._notify(`mouseover`,newSelected,origDomEvent,intersect),notifyOut&&this._notify(`mouseout`,oldSelected,origDomEvent,intersect)}}},DomEvents.prototype._onEvent=function(eventName,mouseX,mouseY,origDomEvent){var boundObjs=this._boundObjs[eventName];if(!(boundObjs===void 0||boundObjs.length===0)){var visibleBoundObjs=this._filterVisibleObjects(boundObjs);if(visibleBoundObjs.length!==0){var vector=new THREE.Vector2;vector.set(mouseX,mouseY),this._raycaster.setFromCamera(vector,this._camera);var intersects=this._raycaster.intersectObjects(visibleBoundObjs,!0),_this=this;if(intersects=intersects.filter(function(intersect){return _this._isObjectVisible(intersect.object)}),intersects.sort(function(a,b){var aRenderOrder=a.object.renderOrder||0,bRenderOrder=b.object.renderOrder||0;return aRenderOrder===bRenderOrder?a.distance-b.distance:bRenderOrder-aRenderOrder}),intersects.length!==0){for(var intersect=intersects[0],object3d=intersect.object,objectCtx=this._objectCtxGet(object3d),objectParent=object3d.parent;objectCtx===void 0&&objectParent;)objectCtx=this._objectCtxGet(objectParent),objectParent=objectParent.parent;objectCtx&&this._notify(eventName,object3d,origDomEvent,intersect)}}}},DomEvents.prototype._notify=function(eventName,object3d,origDomEvent,intersect){var objectCtx=this._objectCtxGet(object3d),handlers=objectCtx?objectCtx[eventName+`Handlers`]:null;if(!objectCtx||!handlers||handlers.length===0){object3d.parent&&this._notify(eventName,object3d.parent,origDomEvent,intersect);return}for(var handlers=objectCtx[eventName+`Handlers`],i=0;i<handlers.length;i++){var handler=handlers[i],toPropagate=!0;handler.callback({type:eventName,target:object3d,origDomEvent,intersect,stopPropagation:function(){toPropagate=!1}}),toPropagate&&handler.useCapture===!1&&object3d.parent&&this._notify(eventName,object3d.parent,origDomEvent,intersect)}},DomEvents.prototype._onMouseDown=function(event){return this._onMouseEvent(`mousedown`,event)},DomEvents.prototype._onMouseUp=function(event){return this._onMouseEvent(`mouseup`,event)},DomEvents.prototype._onMouseEvent=function(eventName,domEvent){var mouseCoords=this._getRelativeMouseXY(domEvent);this._onEvent(eventName,mouseCoords.x,mouseCoords.y,domEvent)},DomEvents.prototype._onMouseMove=function(domEvent){var mouseCoords=this._getRelativeMouseXY(domEvent);this._onMove(`mousemove`,mouseCoords.x,mouseCoords.y,domEvent),this._onMove(`mouseover`,mouseCoords.x,mouseCoords.y,domEvent),this._onMove(`mouseout`,mouseCoords.x,mouseCoords.y,domEvent)},DomEvents.prototype._onClick=function(event){this._onMouseEvent(`click`,event)},DomEvents.prototype._onDblClick=function(event){this._onMouseEvent(`dblclick`,event)},DomEvents.prototype._onContextmenu=function(event){this._onMouseEvent(`contextmenu`,event)},DomEvents.prototype._onTouchStart=function(event){return this._onTouchEvent(`touchstart`,event)},DomEvents.prototype._onTouchEnd=function(event){return this._onTouchEvent(`touchend`,event)},DomEvents.prototype._onTouchMove=function(domEvent){if(domEvent.touches.length==1){var mouseX=Number(domEvent.touches[0].pageX/window.innerWidth)*2-1,mouseY=-(domEvent.touches[0].pageY/window.innerHeight)*2+1;this._onMove(`mousemove`,mouseX,mouseY,domEvent),this._onMove(`mouseover`,mouseX,mouseY,domEvent),this._onMove(`mouseout`,mouseX,mouseY,domEvent)}},DomEvents.prototype._onTouchEvent=function(eventName,domEvent){var touches=domEvent.touches;if(touches.length==0&&(touches=domEvent.changedTouches),touches.length==1){var mouseX=Number(touches[0].pageX/window.innerWidth)*2-1,mouseY=-(touches[0].pageY/window.innerHeight)*2+1;this._onEvent(eventName,mouseX,mouseY,domEvent)}};export{DomEvents as default};
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @license
|
|
3
3
|
* @realsee/five-webgpu
|
|
4
|
-
* Generated: 2026/
|
|
5
|
-
* Version: 1.0.0-alpha.
|
|
4
|
+
* Generated: 2026/11/3
|
|
5
|
+
* Version: 1.0.0-alpha.14
|
|
6
6
|
* License:
|
|
7
7
|
* Realsee SDK License Agreement
|
|
8
8
|
|
|
@@ -335,4 +335,4 @@
|
|
|
335
335
|
* writing and signed by Realsee. You and Realsee hereto confirm that this
|
|
336
336
|
* Agreement and all related documents shall be drafted in English.
|
|
337
337
|
|
|
338
|
-
*/function
|
|
338
|
+
*/function isAbsoluteURL(url){return/^https?:\/\/|^\/\//.test(url)||/^data:/.test(url)}function absoluteUrl(baseUrl,url){return isAbsoluteURL(url)?url:`${baseUrl}${url}`}exports.absoluteUrl=absoluteUrl,exports.isAbsoluteURL=isAbsoluteURL;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @license
|
|
3
3
|
* @realsee/five-webgpu
|
|
4
|
-
* Generated: 2026/
|
|
5
|
-
* Version: 1.0.0-alpha.
|
|
4
|
+
* Generated: 2026/11/3
|
|
5
|
+
* Version: 1.0.0-alpha.14
|
|
6
6
|
* License:
|
|
7
7
|
* Realsee SDK License Agreement
|
|
8
8
|
|
|
@@ -335,4 +335,4 @@
|
|
|
335
335
|
* writing and signed by Realsee. You and Realsee hereto confirm that this
|
|
336
336
|
* Agreement and all related documents shall be drafted in English.
|
|
337
337
|
|
|
338
|
-
*/function
|
|
338
|
+
*/function isAbsoluteURL(url){return/^https?:\/\/|^\/\//.test(url)||/^data:/.test(url)}function absoluteUrl(baseUrl,url){return isAbsoluteURL(url)?url:`${baseUrl}${url}`}export{absoluteUrl,isAbsoluteURL};
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @license
|
|
3
3
|
* @realsee/five-webgpu
|
|
4
|
-
* Generated: 2026/
|
|
5
|
-
* Version: 1.0.0-alpha.
|
|
4
|
+
* Generated: 2026/11/3
|
|
5
|
+
* Version: 1.0.0-alpha.14
|
|
6
6
|
* License:
|
|
7
7
|
* Realsee SDK License Agreement
|
|
8
8
|
|
|
@@ -335,4 +335,4 @@
|
|
|
335
335
|
* writing and signed by Realsee. You and Realsee hereto confirm that this
|
|
336
336
|
* Agreement and all related documents shall be drafted in English.
|
|
337
337
|
|
|
338
|
-
*/function
|
|
338
|
+
*/function calculatePath3DLength(points){let length=0;for(let i=1;i<points.length;i++)length+=points[i].distanceTo(points[i-1]);return length}function calculatePath2DLength(points){let length=0;for(let i=1;i<points.length;i++)length+=points[i].distanceTo(points[i-1]);return length}exports.calculatePath2DLength=calculatePath2DLength,exports.calculatePath3DLength=calculatePath3DLength;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @license
|
|
3
3
|
* @realsee/five-webgpu
|
|
4
|
-
* Generated: 2026/
|
|
5
|
-
* Version: 1.0.0-alpha.
|
|
4
|
+
* Generated: 2026/11/3
|
|
5
|
+
* Version: 1.0.0-alpha.14
|
|
6
6
|
* License:
|
|
7
7
|
* Realsee SDK License Agreement
|
|
8
8
|
|
|
@@ -335,4 +335,4 @@
|
|
|
335
335
|
* writing and signed by Realsee. You and Realsee hereto confirm that this
|
|
336
336
|
* Agreement and all related documents shall be drafted in English.
|
|
337
337
|
|
|
338
|
-
*/function
|
|
338
|
+
*/function calculatePath3DLength(points){let length=0;for(let i=1;i<points.length;i++)length+=points[i].distanceTo(points[i-1]);return length}function calculatePath2DLength(points){let length=0;for(let i=1;i<points.length;i++)length+=points[i].distanceTo(points[i-1]);return length}export{calculatePath2DLength,calculatePath3DLength};
|
package/plugins/utils/clamp.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @license
|
|
3
3
|
* @realsee/five-webgpu
|
|
4
|
-
* Generated: 2026/
|
|
5
|
-
* Version: 1.0.0-alpha.
|
|
4
|
+
* Generated: 2026/11/3
|
|
5
|
+
* Version: 1.0.0-alpha.14
|
|
6
6
|
* License:
|
|
7
7
|
* Realsee SDK License Agreement
|
|
8
8
|
|
|
@@ -335,4 +335,4 @@
|
|
|
335
335
|
* writing and signed by Realsee. You and Realsee hereto confirm that this
|
|
336
336
|
* Agreement and all related documents shall be drafted in English.
|
|
337
337
|
|
|
338
|
-
*/function
|
|
338
|
+
*/function clamp(value,min,max){return value<min?min:value>max?max:value}exports.clamp=clamp;
|
package/plugins/utils/clamp.mjs
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @license
|
|
3
3
|
* @realsee/five-webgpu
|
|
4
|
-
* Generated: 2026/
|
|
5
|
-
* Version: 1.0.0-alpha.
|
|
4
|
+
* Generated: 2026/11/3
|
|
5
|
+
* Version: 1.0.0-alpha.14
|
|
6
6
|
* License:
|
|
7
7
|
* Realsee SDK License Agreement
|
|
8
8
|
|
|
@@ -335,4 +335,4 @@
|
|
|
335
335
|
* writing and signed by Realsee. You and Realsee hereto confirm that this
|
|
336
336
|
* Agreement and all related documents shall be drafted in English.
|
|
337
337
|
|
|
338
|
-
*/function
|
|
338
|
+
*/function clamp(value,min,max){return value<min?min:value>max?max:value}export{clamp};
|
package/plugins/utils/uuid.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @license
|
|
3
3
|
* @realsee/five-webgpu
|
|
4
|
-
* Generated: 2026/
|
|
5
|
-
* Version: 1.0.0-alpha.
|
|
4
|
+
* Generated: 2026/11/3
|
|
5
|
+
* Version: 1.0.0-alpha.14
|
|
6
6
|
* License:
|
|
7
7
|
* Realsee SDK License Agreement
|
|
8
8
|
|
|
@@ -335,4 +335,4 @@
|
|
|
335
335
|
* writing and signed by Realsee. You and Realsee hereto confirm that this
|
|
336
336
|
* Agreement and all related documents shall be drafted in English.
|
|
337
337
|
|
|
338
|
-
*/function
|
|
338
|
+
*/function S4(){return((1+Math.random())*parseInt(`10000`,36)|0).toString(36).substring(1)}function createUuid(){let str=S4()+S4().substr(0,2)+Date.now().toString(36),l=str.length,result=``,mask=Math.floor(Math.random()*Math.pow(2,l));for(let i=0;i<l;i++){let ch=str[i];ch>=`a`&&ch<=`z`&&mask>>i&1&&(ch=ch.toUpperCase()),result+=ch}return`u-`+result}exports.createUuid=createUuid,exports.uuid=createUuid;
|
package/plugins/utils/uuid.mjs
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @license
|
|
3
3
|
* @realsee/five-webgpu
|
|
4
|
-
* Generated: 2026/
|
|
5
|
-
* Version: 1.0.0-alpha.
|
|
4
|
+
* Generated: 2026/11/3
|
|
5
|
+
* Version: 1.0.0-alpha.14
|
|
6
6
|
* License:
|
|
7
7
|
* Realsee SDK License Agreement
|
|
8
8
|
|
|
@@ -335,4 +335,4 @@
|
|
|
335
335
|
* writing and signed by Realsee. You and Realsee hereto confirm that this
|
|
336
336
|
* Agreement and all related documents shall be drafted in English.
|
|
337
337
|
|
|
338
|
-
*/function
|
|
338
|
+
*/function S4(){return((1+Math.random())*parseInt(`10000`,36)|0).toString(36).substring(1)}function createUuid(){let str=S4()+S4().substr(0,2)+Date.now().toString(36),l=str.length,result=``,mask=Math.floor(Math.random()*Math.pow(2,l));for(let i=0;i<l;i++){let ch=str[i];ch>=`a`&&ch<=`z`&&mask>>i&1&&(ch=ch.toUpperCase()),result+=ch}return`u-`+result}export{createUuid,createUuid as uuid};
|
package/react/index.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @license
|
|
3
3
|
* @realsee/five-webgpu
|
|
4
|
-
* Generated: 2026/
|
|
5
|
-
* Version: 1.0.0-alpha.
|
|
4
|
+
* Generated: 2026/11/3
|
|
5
|
+
* Version: 1.0.0-alpha.14
|
|
6
6
|
* License:
|
|
7
7
|
* Realsee SDK License Agreement
|
|
8
8
|
|
|
@@ -335,4 +335,4 @@
|
|
|
335
335
|
* writing and signed by Realsee. You and Realsee hereto confirm that this
|
|
336
336
|
* Agreement and all related documents shall be drafted in English.
|
|
337
337
|
|
|
338
|
-
*/Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},s=(n,r,a)=>(a=n==null?{}:e(i(n)),o(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n));let c=require("react");c=s(c,1);let l=require("@realsee/five-webgpu"),u=require("three/webgpu");u=s(u,1);var d=c.createContext(null);function f(){let e=c.useContext(d);if(!e)throw Error(`FiveProvider never found.`);return e.five}function p(){let e=c.useContext(d);if(!e)throw Error(`FiveProvider never found.`);return e.loadWork}function m(e,t){let n=Array.isArray(e)?e:[e],r=Array.isArray(t)?t:[t];if(n.length!==r.length)return!1;for(let e=0;e<n.length;e++)if(n[e].workCode!==r[e].workCode)return!1;return!0}function h(e={}){return class extends c.Component{constructor(t){super(t),this.__fiveEventDisposers=[],this.__fiveDisposeTimer=null,this.five=new l.Five(Object.assign({},e)),this.loadWork=this.loadWork.bind(this),this.state={renderer:this.five.renderer}}loadWork(e,t,n,r=!0){if(this.props.work)throw Error(`props 'works' is set in fiveProvider, if you need modify work internal, use 'initialWork' instead.`);return this.five.load(e,t,n,r)}shouldComponentUpdate(e){return this.five.renderer&&this.five&&e.work&&!m(e.work,this.five.works)&&this.five.load(e.work,e.initialState,e.initialOptions),!0}componentDidMount(){var e;clearTimeout(this.__fiveDisposeTimer),this.__fiveDisposeTimer=null,this.state.renderer!==this.five.renderer&&this.setState({renderer:this.five.renderer}),this.__fiveEventDisposers.push(this.five.on(`load`,()=>{this.props.onWorksChange&&this.props.onWorksChange(this.five.works)})),this.__fiveEventDisposers.push(this.five.on(`stateChange`,(e,t)=>{this.props.onStateChange&&this.props.onStateChange(e,t)})),this.__fiveEventDisposers.push(this.five.on(`currentStateChange`,(e,t)=>{this.props.onCurrentStateChange&&this.props.onCurrentStateChange(e,t)})),this.__fiveEventDisposers.push(this.five.on(`error`,e=>{this.props.onError?this.props.onError(e):console.warn(e.message)}));let t=this.props.work||this.props.initialWork;t&&this.five.load(t,this.props.initialState,this.props.initialOptions,(e=this.props.initialUserAction)==null?!0:e)}componentWillUnmount(){var e;for(let e of this.__fiveEventDisposers)e();this.__fiveEventDisposers=[],(e=this.five.controller)==null||e.destroy(),this.__fiveDisposeTimer=setTimeout(()=>{this.__fiveDisposeTimer=null,this.five.dispose()},1e3)}render(){let e=this.five,t=this.loadWork,n=this.state.renderer;return c.createElement(d.Provider,{value:{renderer:n,five:e,loadWork:t}},this.props.children)}}}var g=typeof window<`u`?c.useLayoutEffect:c.useEffect,_={display:`inline-block`,overflow:`hidden`},v=({width:e,height:t})=>{let n=f(),r=c.createRef(),i=Object.assign({width:e,height:t},_);return g(()=>{let i=r.current;if(!i||!n.renderer)return;let a=n.renderer.domElement;if(a.parentNode!==null&&a.parentNode!==i)throw Error(`There are more than 2 fiveCanvas in this context.`);return a.parentNode!==i&&i.appendChild(a),n.camera.aspect=e/t,n.camera.updateProjectionMatrix(),n.renderer.setSize(e,t),n.refresh({width:e,height:t}),n.needsRender=!0,()=>{a.parentNode===i&&i.removeChild(a)}},[n,n.renderer,e,t,r.current]),c.createElement(`div`,{ref:r,style:i})},y=({children:e})=>{let t=f(),n=c.useRef(null);return c.useEffect(()=>{let e=n.current;if(!e||!t.renderer)return;let r=t.renderer.domElement;e.appendChild(r);let i=()=>{var n;let{width:r,height:i}=e.getBoundingClientRect();r===0||i===0||(t.camera.aspect=r/i,t.camera.updateProjectionMatrix(),(n=t.renderer)==null||n.setSize(r,i),t.refresh({width:r,height:i}),t.needsRender=!0)},a=new ResizeObserver(i);return a.observe(e),i(),()=>{r.parentNode===e&&e.removeChild(r),a.unobserve(e),a.disconnect()}},[]),c.createElement(`div`,{ref:n,style:{position:`absolute`,top:0,left:0,right:0,bottom:0}},e)},b=({renderChildren:e,load:t,children:n,fallback:r})=>{let i=c.useContext(d),a=i==null?void 0:i.five,[o,s]=c.useState(!!e),[l,u]=c.useState(!1);return c.useEffect(()=>{a&&a.getElement()&&(s(!0),t&&t(a).then(e=>{a.load(...e)}))},[a]),c.useEffect(()=>{if(!a)return;let e=()=>u(!0);return a.on(`works.load`,e),a.works&&a.works.length>0&&u(!0),()=>{a.off(`works.load`,e)}},[a]),!a||!l&&!e||!o?r==null?null:c.createElement(c.Fragment,null,r):c.createElement(c.Fragment,null,n)},x={position:`relative`,width:`100vw`,height:`100vh`,overflow:`hidden`},S={backgroundAlpha:1,backgroundColor:0,imageOptions:{size:512},textureOptions:{autoResize:!1},preserveDrawingBuffer:!0},C=({fiveInitArgs:e=S,renderChildren:t,plugins:n,load:r,children:i,fullscreen:a,autoCanvas:o=!0,fallback:s})=>{let[l]=c.useState(()=>h(Object.assign(Object.assign({},e),{plugins:n}))),u=[];o&&u.push(c.createElement(y,{key:`auto-canvas`})),i&&u.push(i);let d=c.createElement(l,null,c.createElement(b,{load:r,renderChildren:t,fallback:s},...u));return a?c.createElement(`div`,{style:x},d):d};function w(){return f()}function T(e,t){let n=f(),r=[n];t!==void 0&&(r=r.concat(t)),c.useLayoutEffect(()=>e(n.scene),r)}var E=T;function D(){let e=f(),t=p(),[n,r]=c.useState(()=>e.works);return c.useLayoutEffect(()=>e.on(`load`,()=>r(e.works)),[e]),[n,t]}function O(e){return Object.assign({},e.state)}function k(){let e=f(),[t,n]=c.useState(()=>O(e)),r=c.useCallback((t,n=!1,r=!0)=>{let i=typeof t==`function`?t(e.getCurrentState()):t;e.setState(i,n,r)},[e]);return c.useLayoutEffect(()=>e.on(`stateChange`,()=>n(O(e))),[e]),[t,r]}function A(){let e=f(),[t,n]=c.useState(()=>e.getCurrentState()),r=c.useCallback((t,n=!1,r=!0)=>{let i=typeof t==`function`?t(e.getCurrentState()):t;e.setState(i,n,r)},[e]);return c.useLayoutEffect(()=>e.on(`currentStateChange`,()=>n(e.getCurrentState())),[e]),[t,r]}function j(){let e=f(),[t,n]=c.useState(()=>e.getCurrentState());return c.useLayoutEffect(()=>e.on(`currentStateChange`,()=>n(e.getCurrentState())),[e]),e.works.getObserver(t)}function M(e,t,n){let r=f(),i=[r,e];n!==void 0&&(i=i.concat(n)),c.useLayoutEffect(()=>r.on(e,t),i)}function N(){let e=f();return{updateCamera:c.useCallback((t,n)=>e.updateCamera(t,n),[e]),getPixels:c.useCallback(e.getPixels.bind(e),[e]),render:c.useCallback(t=>e.render(t),[e]),needsRender:c.useCallback(()=>e.needsRender=!0,[e]),preloadPano:c.useCallback((t,n)=>e.preloadPano(t,n),[e])}}function ee(){let e=f(),[t,n]=c.useState(()=>Symbol());return c.useLayoutEffect(()=>e.on(`cameraUpdate`,()=>n(Symbol())),[e]),c.useCallback((t,n)=>e.project2d(t,n),[e])}function P(e){let t=e.camera.getWorldDirection(new u.Vector3);return new u.Raycaster(e.camera.position,t)}function te(){let e=f(),[t,n]=c.useState(()=>P(e));return c.useLayoutEffect(()=>e.on(`cameraUpdate`,()=>n(P(e))),[e]),t}function F(e){return e.camera.getWorldDirection(new u.Vector3)}function ne(){let e=f(),[t,n]=c.useState(()=>F(e));return c.useLayoutEffect(()=>e.on(`cameraUpdate`,()=>n(F(e))),[e]),t}function I(){let e=f();return c.useCallback(t=>e.model.intersectRaycaster(t),[e])}function L(e){return e.model.empty?`Empty`:`Loaded`}function R(){let e=f(),[t,n]=c.useState(()=>L(e));return c.useLayoutEffect(()=>e.on(`modelLoaded`,()=>n(L(e))),[e]),t}var z=new Map,B=new Map;function V(e){let t=B.get(e);t&&t.forEach(e=>e())}function re(e,t){return B.has(e)||B.set(e,new Set),B.get(e).add(t),()=>{let n=B.get(e);n&&(n.delete(t),n.size===0&&B.delete(e))}}function H(e,t){return`${e}:${t}`}function U(e,t){var n;return(n=z.get(H(e,t)))==null?void 0:n.plugin}function W(e,t,n){z.set(H(e,t),{plugin:n}),V(e)}function G(e,t){var n,r;let i=f(),a=(r=(n=i.work)==null?void 0:n.workCode)==null?``:r,o=H(a,e),s=(0,c.useRef)(i),[,l]=(0,c.useState)(0);return(0,c.useEffect)(()=>{if(a)return re(a,()=>l(e=>e+1))},[a]),(0,c.useEffect)(()=>{if(s.current===i)return;s.current=i;let n=z.get(o);if(!n)return;let r=n.plugin;if(t!=null&&t.reCreateOnFiveChange&&t.createPlugin){typeof r.dispose==`function`&&r.dispose();let n=t.createPlugin(i);z.set(o,{plugin:n}),i.plugins[e]=n,V(a)}else r&&(typeof r.updateFive==`function`?r.updateFive(i):`five`in r&&(r.five=i))},[i]),(0,c.useCallback)(()=>{let n=z.get(o);if(n)return i.plugins[e]=n.plugin,n.plugin;let r=i.plugins[e];if(r)return z.set(o,{plugin:r}),r;if(t!=null&&t.createPlugin){let n=t.createPlugin(i);return z.set(o,{plugin:n}),i.plugins[e]=n,V(a),n}},[o,i,t==null?void 0:t.createPlugin])()}function K(){let e=f(),[t,n]=c.useState(e.model.shownFloor),[r,i]=c.useState(e.model.floorLength),a=c.useCallback(t=>{typeof t==`number`?e.model.show(t):e.model.show()},[e]);return c.useLayoutEffect(()=>{let t=[];return t.push(e.on(`modelShownFloorChange`,()=>n(e.model.shownFloor))),t.push(e.on(`modelLoaded`,()=>i(e.model.floorLength))),()=>{let e;for(;e=t.shift();)e()}},[e]),[t,r,a]}function q(){let e=f(),[t,n]=c.useState(e.helperVisible),r=c.useCallback(t=>{e.helperVisible=t},[e]);return c.useLayoutEffect(()=>e.on(`helpersVisibleChange`,e=>n(e)),[e]),[t,r]}var J=`$five`;function Y(e,t){return t.indexOf(e)>=0}function X(e,t){for(let n of Object.keys(t))t[n]!==void 0&&(e[n]=t[n])}function ie(e,t){let n=Y(`state`,t),[r,i]=c.useState(Symbol()),a=c.useMemo(()=>{if(n)return Object.assign({},e.state)},[e,r]);return c.useLayoutEffect(()=>{if(n)return e.on(`stateChange`,()=>i(Symbol()))},[e]),[a,r]}function ae(e,t){let n=Y(`currentState`,t),[r,i]=c.useState(Symbol()),a=c.useMemo(()=>{if(n)return e.getCurrentState()},[e,r]);return c.useLayoutEffect(()=>{if(n)return e.on(`currentStateChange`,()=>i(Symbol()))},[e]),[a,r]}function oe(e,t){let n=Y(`currentObserver`,t),[r,i]=c.useState(Symbol()),a=c.useMemo(()=>{if(n)return e.getCurrentState()},[e,r]);c.useLayoutEffect(()=>{if(n)return e.on(`currentStateChange`,()=>i(Symbol()))},[e]);let o;return a&&(o=e.works.getObserver(a)),[o,r]}function se(e,t){return[Y(`unsafe__fiveInstance`,t)?e:void 0]}function ce(e,t){let n=Y(`works`,t),[r,i]=c.useState(Symbol()),a=c.useMemo(()=>{if(n)return e.works},[e,r]);return c.useLayoutEffect(()=>{if(n)return e.on(`load`,()=>i(Symbol()))},[e]),[a,r]}function le(e,t){let n=Y(`model`,t),[r,i]=c.useState(Symbol()),a=c.useMemo(()=>{if(n)return e.model},[e,r]);return c.useLayoutEffect(()=>{if(n)return e.on(`modelLoaded`,()=>i(Symbol()))},[e]),[a,r]}function ue(e,t){return[Y(`scene`,t)?e.scene:void 0]}function de(e,t){let n=Y(`cameraDirection`,t),[r,i]=c.useState(Symbol()),a=c.useMemo(()=>{if(n)return e.camera.getWorldDirection(new u.Vector3)},[e,r]);return c.useLayoutEffect(()=>{if(n)return e.on(`cameraUpdate`,()=>i(Symbol()))},[e]),[a,r]}function fe(e,t){let n=Y(`cameraRaycaster`,t),[r,i]=c.useState(Symbol()),a=c.useMemo(()=>{if(n){let t=e.camera.getWorldDirection(new u.Vector3);return new u.Raycaster(e.camera.position,t)}},[e,r]);return c.useLayoutEffect(()=>{if(n)return e.on(`cameraUpdate`,()=>i(Symbol()))},[e]),[a,r]}function pe(e,t){let n=Y(`modelReadyState`,t),[r,i]=c.useState(Symbol()),a=c.useMemo(()=>{if(n)return e.model.empty?`Empty`:`Loaded`},[e,r]);return c.useLayoutEffect(()=>{if(n)return e.on(`modelLoaded`,()=>i(Symbol()))},[e]),[a,r]}function me(e,t){let n=Y(`shownFloor`,t),[r,i]=c.useState(Symbol()),a=c.useMemo(()=>{if(n)return e.model.shownFloor},[e,r]);return c.useLayoutEffect(()=>{if(n)return e.on(`modelShownFloorChange`,()=>i(Symbol()))},[e]),[a,r]}function he(e,t){let n=Y(`helperVisible`,t),[r,i]=c.useState(Symbol()),a=c.useMemo(()=>{if(n)return e.helperVisible},[e,r]);return c.useLayoutEffect(()=>{if(n)return e.on(`helpersVisibleChange`,()=>i(Symbol()))},[e]),[a,r]}function ge(e,t){if(Y(`loadWork`,t))return e}function _e(e,t){if(Y(`setState`,t))return(...t)=>e.setState(...t)}function ve(e,t){if(Y(`on`,t))return(...t)=>e.on(...t)}function ye(e,t){if(Y(`on`,t))return(...t)=>e.once(...t)}function be(e,t){if(Y(`off`,t))return(...t)=>e.off(...t)}function xe(e,t){if(Y(`intersectRaycaster`,t))return(...t)=>e.model.intersectRaycaster(...t)}function Se(e,t){if(Y(`project2d`,t))return(...t)=>e.project2d(...t)}function Ce(e,t){if(Y(`updateCamera`,t))return(...t)=>e.updateCamera(...t)}function we(e,t){if(Y(`getPixels`,t))return e.getPixels.bind(e)}function Te(e,t){if(Y(`render`,t))return(...t)=>e.render(...t)}function Ee(e,t){if(Y(`needsRender`,t))return()=>{e.needsRender=!0}}function De(e,t){if(Y(`preloadPano`,t))return(...t)=>e.preloadPano(...t)}function Oe(e,t){if(Y(`showFloor`,t))return t=>{typeof t==`number`?e.model.show(t):e.model.show()}}function ke(e,t){if(Y(`toggleHelperVisible`,t))return t=>{e.helperVisible=t}}function Z(e){return function(t){return c.forwardRef((n,r)=>{let i=f(),a=p(),[o]=se(i,e),[s,l]=ie(i,e),[u,d]=ae(i,e),[m,h]=oe(i,e),[g,_]=ce(i,e),[v,y]=le(i,e),[b]=ue(i,e),[x,S]=de(i,e),[C,w]=fe(i,e),[T,E]=pe(i,e),[D,O]=me(i,e),[k,A]=he(i,e),j=c.useMemo(()=>{let t={};return X(t,{setState:_e(i,e),loadWork:ge(a,e),on:ve(i,e),once:ye(i,e),off:be(i,e),intersectRaycaster:xe(i,e),project2d:Se(i,e),updateCamera:Ce(i,e),getPixels:we(i,e),render:Te(i,e),needsRender:Ee(i,e),preloadPano:De(i,e),showFloor:Oe(i,e),toggleHelperVisible:ke(i,e)}),t},[i,a]),M=c.useMemo(()=>{let e=Object.assign({},j);return X(e,{unsafe__fiveInstance:o,state:s,currentState:u,currentObserver:m,work:g,model:v,scene:b,cameraDirection:x,cameraRaycaster:C,modelReadyState:T,shownFloor:D,helperVisible:k}),e},[i,j,l,d,h,_,y,S,w,E,O,A]);return c.createElement(t,Object.assign({ref:r,$five:M},n))})}}function Ae(...e){return e}function Q(e,t){let n={},r=t.length,i=-1;for(;++i<r;){let r=t[i];r in e&&(n[r]=e[r])}return n}function je(e,t){return typeof e==`number`&&typeof t==`number`&&isNaN(e)&&isNaN(t)?!0:e===t}function Me(e,t){for(let n=0;n<e.length;n++)for(let r=0;r<t.length;r++)if(e[n]===t[r])return!0;return!1}var $=class{constructor(e,t){this.values=e,this.listeners=[],this.onValuesChange=t}on(e,t){let n=[e,t];return this.listeners.push(n),()=>{let e=this.listeners.indexOf(n);e>=0&&this.listeners.splice(e,1)}}getValues(e){return Q(this.values,e)}setValues(e,t){let n=[];for(let r in t)e.indexOf(r)>=0&&!je(t[r],this.values[r])&&n.push(r);if(n.length===0)return;let r=Object.assign({},this.values);for(let e of n)this.values[e]=t[e];this.onValuesChange&&this.onValuesChange(this.values,r);for(let[e,t]of this.listeners){if(!Me(e,n))continue;let i=Q(r,e);t(Q(this.values,e),i)}}};function Ne(e){let t=c.createContext(null);return{useStore(e){let n=c.useContext(t);if(n===null)throw Error(`StoreProvider never found.`);let r=c.useRef(!0),[i,a]=c.useState(n.getValues(e)),o=[n,...e];return c.useLayoutEffect(()=>(r.current?r.current=!1:a(n.getValues(e)),n.on(e,e=>a(e))),o),[i,c.useCallback(t=>n.setValues(e,t),o)]},useStoreSetter(e){let n=c.useContext(t);if(n===null)throw Error(`StoreProvider never found.`);return c.useCallback(t=>n.setValues(e,t),[n,...e])},watchStore(e,n,r){let i=c.useContext(t);if(i===null)throw Error(`StoreProvider never found.`);let a=[i,...e];r!==void 0&&(a=a.concat(r)),c.useLayoutEffect(()=>i.on(e,n),a)},useStoreAction(n){let r=c.useContext(t);if(r===null)throw Error(`StoreProvider never found.`);return c.useCallback((...t)=>{let[i,...a]=e[n];return i(()=>r.getValues(a),e=>r.setValues(a,e),...t)},[])},StoreProvider:class extends c.Component{constructor(e){super(e),this.store=new $(e.initialValue,(...e)=>{this.props.onValuesChange&&this.props.onValuesChange(...e)})}shouldComponentUpdate(e){return e.children!==this.props.children}render(){return c.createElement(t.Provider,{value:this.store},this.props.children)}}}}exports.FiveApp=C,exports.FiveAutoCanvas=y,exports.FiveCanvas=v,exports.INJECTION_PROPNAME=J,exports.Store=$,exports.createFiveFeature=Ae,exports.createFiveProvider=h,exports.createStore=Ne,exports.getPlugin=U,exports.setPlugin=W,exports.unsafe__useFiveInstance=w,exports.useFiveAction=N,exports.useFiveCameraDirection=ne,exports.useFiveCameraRaycaster=te,exports.useFiveCurrentObserver=j,exports.useFiveCurrentState=A,exports.useFiveEventCallback=M,exports.useFiveFloor=K,exports.useFiveHelper=q,exports.useFiveModelIntersectRaycaster=I,exports.useFiveModelReadyState=R,exports.useFivePlugin=G,exports.useFiveProject2d=ee,exports.useFiveScene=E,exports.useFiveSceneEffect=T,exports.useFiveState=k,exports.useFiveWork=D,exports.withFive=Z;
|
|
338
|
+
*/Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var __create=Object.create,__defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__getProtoOf=Object.getPrototypeOf,__hasOwnProp=Object.prototype.hasOwnProperty,__copyProps=(to,from,except,desc)=>{if(from&&typeof from==`object`||typeof from==`function`)for(var keys=__getOwnPropNames(from),i=0,n=keys.length,key;i<n;i++)key=keys[i],!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:(k=>from[k]).bind(null,key),enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to},__toESM=(mod,isNodeMode,target)=>(target=mod==null?{}:__create(__getProtoOf(mod)),__copyProps(isNodeMode||!mod||!mod.__esModule?__defProp(target,`default`,{value:mod,enumerable:!0}):target,mod));let react=require("react");react=__toESM(react,1);let _realsee_five_webgpu=require("@realsee/five-webgpu"),three_webgpu=require("three/webgpu");three_webgpu=__toESM(three_webgpu,1);var FiveContext=react.createContext(null);function useFiveInstance(){let context=react.useContext(FiveContext);if(!context)throw Error(`FiveProvider never found.`);return context.five}function useFiveWorkLoader(){let context=react.useContext(FiveContext);if(!context)throw Error(`FiveProvider never found.`);return context.loadWork}function workEqual(work1,work2){let work1Array=Array.isArray(work1)?work1:[work1],work2Array=Array.isArray(work2)?work2:[work2];if(work1Array.length!==work2Array.length)return!1;for(let i=0;i<work1Array.length;i++)if(work1Array[i].workCode!==work2Array[i].workCode)return!1;return!0}function createFiveProvider(fiveInitArgs={}){return class extends react.Component{constructor(props){super(props),this.__fiveEventDisposers=[],this.__fiveDisposeTimer=null,this.five=new _realsee_five_webgpu.Five(Object.assign({},fiveInitArgs)),this.loadWork=this.loadWork.bind(this),this.state={renderer:this.five.renderer}}loadWork(works,state,options,userAction=!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(works,state,options,userAction)}shouldComponentUpdate(nextProps){return this.five.renderer&&this.five&&nextProps.work&&!workEqual(nextProps.work,this.five.works)&&this.five.load(nextProps.work,nextProps.initialState,nextProps.initialOptions),!0}componentDidMount(){var _a;clearTimeout(this.__fiveDisposeTimer),this.__fiveDisposeTimer=null,this.state.renderer!==this.five.renderer&&this.setState({renderer:this.five.renderer}),this.__fiveEventDisposers.push(this.five.on(`load`,()=>{this.props.onWorksChange&&this.props.onWorksChange(this.five.works)})),this.__fiveEventDisposers.push(this.five.on(`stateChange`,(state,userAction)=>{this.props.onStateChange&&this.props.onStateChange(state,userAction)})),this.__fiveEventDisposers.push(this.five.on(`currentStateChange`,(state,userAction)=>{this.props.onCurrentStateChange&&this.props.onCurrentStateChange(state,userAction)})),this.__fiveEventDisposers.push(this.five.on(`error`,error=>{this.props.onError?this.props.onError(error):console.warn(error.message)}));let inputWork=this.props.work||this.props.initialWork;inputWork&&this.five.load(inputWork,this.props.initialState,this.props.initialOptions,(_a=this.props.initialUserAction)==null?!0:_a)}componentWillUnmount(){var _a;for(let dispose of this.__fiveEventDisposers)dispose();this.__fiveEventDisposers=[],(_a=this.five.controller)==null||_a.destroy(),this.__fiveDisposeTimer=setTimeout(()=>{this.__fiveDisposeTimer=null,this.five.dispose()},1e3)}render(){let five=this.five,loadWork=this.loadWork,renderer=this.state.renderer;return react.createElement(FiveContext.Provider,{value:{renderer,five,loadWork}},this.props.children)}}}var useIsomorphicLayoutEffect=typeof window<`u`?react.useLayoutEffect:react.useEffect,baseStyle={display:`inline-block`,overflow:`hidden`},FiveCanvas=({width,height})=>{let five=useFiveInstance(),containerRef=react.createRef(),style=Object.assign({width,height},baseStyle);return useIsomorphicLayoutEffect(()=>{let node=containerRef.current;if(!node||!five.renderer)return;let canvas=five.renderer.domElement;if(canvas.parentNode!==null&&canvas.parentNode!==node)throw Error(`There are more than 2 fiveCanvas in this context.`);return canvas.parentNode!==node&&node.appendChild(canvas),five.camera.aspect=width/height,five.camera.updateProjectionMatrix(),five.renderer.setSize(width,height),five.refresh({width,height}),five.needsRender=!0,()=>{canvas.parentNode===node&&node.removeChild(canvas)}},[five,five.renderer,width,height,containerRef.current]),react.createElement(`div`,{ref:containerRef,style})},FiveAutoCanvas=({children})=>{let five=useFiveInstance(),containerRef=react.useRef(null);return react.useEffect(()=>{let node=containerRef.current;if(!node||!five.renderer)return;let canvas=five.renderer.domElement;node.appendChild(canvas);let onResize=()=>{var _a;let{width,height}=node.getBoundingClientRect();width===0||height===0||(five.camera.aspect=width/height,five.camera.updateProjectionMatrix(),(_a=five.renderer)==null||_a.setSize(width,height),five.refresh({width,height}),five.needsRender=!0)},sizeObserver=new ResizeObserver(onResize);return sizeObserver.observe(node),onResize(),()=>{canvas.parentNode===node&&node.removeChild(canvas),sizeObserver.unobserve(node),sizeObserver.disconnect()}},[]),react.createElement(`div`,{ref:containerRef,style:{position:`absolute`,top:0,left:0,right:0,bottom:0}},children)},FiveInstanceWrapper=({renderChildren,load,children,fallback})=>{let context=react.useContext(FiveContext),five=context==null?void 0:context.five,[ready,setReady]=react.useState(!!renderChildren),[worksLoaded,setWorksLoaded]=react.useState(!1);return react.useEffect(()=>{five&&five.getElement()&&(setReady(!0),load&&load(five).then(loadArgs=>{five.load(...loadArgs)}))},[five]),react.useEffect(()=>{if(!five)return;let onLoad=()=>setWorksLoaded(!0);return five.on(`works.load`,onLoad),five.works&&five.works.length>0&&setWorksLoaded(!0),()=>{five.off(`works.load`,onLoad)}},[five]),!five||!worksLoaded&&!renderChildren||!ready?fallback==null?null:react.createElement(react.Fragment,null,fallback):react.createElement(react.Fragment,null,children)},fullscreenStyle={position:`relative`,width:`100vw`,height:`100vh`,overflow:`hidden`},defaultFiveInitArgs={backgroundAlpha:1,backgroundColor:0,imageOptions:{size:512},textureOptions:{autoResize:!1},preserveDrawingBuffer:!0},FiveApp=({fiveInitArgs=defaultFiveInitArgs,renderChildren,plugins,load,children,fullscreen,autoCanvas=!0,fallback})=>{let[Provider]=react.useState(()=>createFiveProvider(Object.assign(Object.assign({},fiveInitArgs),{plugins}))),innerChildren=[];autoCanvas&&innerChildren.push(react.createElement(FiveAutoCanvas,{key:`auto-canvas`})),children&&innerChildren.push(children);let content=react.createElement(Provider,null,react.createElement(FiveInstanceWrapper,{load,renderChildren,fallback},...innerChildren));return fullscreen?react.createElement(`div`,{style:fullscreenStyle},content):content};function unsafe__useFiveInstance(){return useFiveInstance()}function useFiveSceneEffect(callback,deps){let five=useFiveInstance(),dependencyList=[five];deps!==void 0&&(dependencyList=dependencyList.concat(deps)),react.useLayoutEffect(()=>callback(five.scene),dependencyList)}var useFiveScene=useFiveSceneEffect;function useFiveWork(){let five=useFiveInstance(),loadWork=useFiveWorkLoader(),[works,updateWorks]=react.useState(()=>five.works);return react.useLayoutEffect(()=>five.on(`load`,()=>updateWorks(five.works)),[five]),[works,loadWork]}function getState(five){return Object.assign({},five.state)}function useFiveState(){let five=useFiveInstance(),[state,updateState]=react.useState(()=>getState(five)),setState=react.useCallback((state,immediately=!1,userAction=!0)=>{let nextState=typeof state==`function`?state(five.getCurrentState()):state;five.setState(nextState,immediately,userAction)},[five]);return react.useLayoutEffect(()=>five.on(`stateChange`,()=>updateState(getState(five))),[five]),[state,setState]}function useFiveCurrentState(){let five=useFiveInstance(),[currentState,updateCurrentState]=react.useState(()=>five.getCurrentState()),setState=react.useCallback((state,immediately=!1,userAction=!0)=>{let nextState=typeof state==`function`?state(five.getCurrentState()):state;five.setState(nextState,immediately,userAction)},[five]);return react.useLayoutEffect(()=>five.on(`currentStateChange`,()=>updateCurrentState(five.getCurrentState())),[five]),[currentState,setState]}function useFiveCurrentObserver(){let five=useFiveInstance(),[currentState,updateCurrentState]=react.useState(()=>five.getCurrentState());return react.useLayoutEffect(()=>five.on(`currentStateChange`,()=>updateCurrentState(five.getCurrentState())),[five]),five.works.getObserver(currentState)}function useFiveEventCallback(name,callback,deps){let five=useFiveInstance(),dependencyList=[five,name];deps!==void 0&&(dependencyList=dependencyList.concat(deps)),react.useLayoutEffect(()=>five.on(name,callback),dependencyList)}function useFiveAction(){let five=useFiveInstance();return{updateCamera:react.useCallback((pose,duration)=>five.updateCamera(pose,duration),[five]),getPixels:react.useCallback(five.getPixels.bind(five),[five]),render:react.useCallback(callback=>five.render(callback),[five]),needsRender:react.useCallback(()=>five.needsRender=!0,[five]),preloadPano:react.useCallback((pano,callback)=>five.preloadPano(pano,callback),[five])}}function useFiveProject2d(){let five=useFiveInstance(),[_,upadte]=react.useState(()=>Symbol());return react.useLayoutEffect(()=>five.on(`cameraUpdate`,()=>upadte(Symbol())),[five]),react.useCallback((vector,testModel)=>five.project2d(vector,testModel),[five])}function getRaycaster(five){let direction=five.camera.getWorldDirection(new three_webgpu.Vector3);return new three_webgpu.Raycaster(five.camera.position,direction)}function useFiveCameraRaycaster(){let five=useFiveInstance(),[raycaster,updateRaycaster]=react.useState(()=>getRaycaster(five));return react.useLayoutEffect(()=>five.on(`cameraUpdate`,()=>updateRaycaster(getRaycaster(five))),[five]),raycaster}function getDirection(five){return five.camera.getWorldDirection(new three_webgpu.Vector3)}function useFiveCameraDirection(){let five=useFiveInstance(),[direction,updateDirection]=react.useState(()=>getDirection(five));return react.useLayoutEffect(()=>five.on(`cameraUpdate`,()=>updateDirection(getDirection(five))),[five]),direction}function useFiveModelIntersectRaycaster(){let five=useFiveInstance();return react.useCallback(raycaster=>five.model.intersectRaycaster(raycaster),[five])}function getReadyState(five){return five.model.empty?`Empty`:`Loaded`}function useFiveModelReadyState(){let five=useFiveInstance(),[readyState,updateReadyState]=react.useState(()=>getReadyState(five));return react.useLayoutEffect(()=>five.on(`modelLoaded`,()=>updateReadyState(getReadyState(five))),[five]),readyState}var pluginMap=new Map,listeners=new Map;function notify(workCode){let set=listeners.get(workCode);set&&set.forEach(fn=>fn())}function subscribe(workCode,fn){return listeners.has(workCode)||listeners.set(workCode,new Set),listeners.get(workCode).add(fn),()=>{let set=listeners.get(workCode);set&&(set.delete(fn),set.size===0&&listeners.delete(workCode))}}function getCacheKey(workCode,pluginName){return`${workCode}:${pluginName}`}function getPlugin(workCode,pluginName){var _a;return(_a=pluginMap.get(getCacheKey(workCode,pluginName)))==null?void 0:_a.plugin}function setPlugin(workCode,pluginName,plugin){pluginMap.set(getCacheKey(workCode,pluginName),{plugin}),notify(workCode)}function useFivePlugin(pluginName,options){var _a,_b;let five=useFiveInstance(),workCode=(_b=(_a=five.work)==null?void 0:_a.workCode)==null?``:_b,cacheKey=getCacheKey(workCode,pluginName),prevFiveRef=(0,react.useRef)(five),[,forceUpdate]=(0,react.useState)(0);return(0,react.useEffect)(()=>{if(workCode)return subscribe(workCode,()=>forceUpdate(n=>n+1))},[workCode]),(0,react.useEffect)(()=>{if(prevFiveRef.current===five)return;prevFiveRef.current=five;let cached=pluginMap.get(cacheKey);if(!cached)return;let plugin=cached.plugin;if(options!=null&&options.reCreateOnFiveChange&&options.createPlugin){typeof plugin.dispose==`function`&&plugin.dispose();let newPlugin=options.createPlugin(five);pluginMap.set(cacheKey,{plugin:newPlugin}),five.plugins[pluginName]=newPlugin,notify(workCode)}else plugin&&(typeof plugin.updateFive==`function`?plugin.updateFive(five):`five`in plugin&&(plugin.five=five))},[five]),(0,react.useCallback)(()=>{let cached=pluginMap.get(cacheKey);if(cached)return five.plugins[pluginName]=cached.plugin,cached.plugin;let existing=five.plugins[pluginName];if(existing)return pluginMap.set(cacheKey,{plugin:existing}),existing;if(options!=null&&options.createPlugin){let plugin=options.createPlugin(five);return pluginMap.set(cacheKey,{plugin}),five.plugins[pluginName]=plugin,notify(workCode),plugin}},[cacheKey,five,options==null?void 0:options.createPlugin])()}function useFiveFloor(){let five=useFiveInstance(),[shownFloor,updateShownFloor]=react.useState(five.model.shownFloor),[totalFloorLength,updateTotalFloorLength]=react.useState(five.model.floorLength),showFloor=react.useCallback(floorIndex=>{typeof floorIndex==`number`?five.model.show(floorIndex):five.model.show()},[five]);return react.useLayoutEffect(()=>{let off=[];return off.push(five.on(`modelShownFloorChange`,()=>updateShownFloor(five.model.shownFloor))),off.push(five.on(`modelLoaded`,()=>updateTotalFloorLength(five.model.floorLength))),()=>{let callback;for(;callback=off.shift();)callback()}},[five]),[shownFloor,totalFloorLength,showFloor]}function useFiveHelper(){let five=useFiveInstance(),[helperVisible,updateHelperVisible]=react.useState(five.helperVisible),toggleHelperVisible=react.useCallback(visible=>{five.helperVisible=visible},[five]);return react.useLayoutEffect(()=>five.on(`helpersVisibleChange`,visible=>updateHelperVisible(visible)),[five]),[helperVisible,toggleHelperVisible]}var INJECTION_PROPNAME=`$five`;function hasFeature(feature,features){return features.indexOf(feature)>=0}function injectObject(object,assign){for(let name of Object.keys(assign))assign[name]!==void 0&&(object[name]=assign[name])}function useFiveState$1(five,features){let enable=hasFeature(`state`,features),[updated,update]=react.useState(Symbol()),state=react.useMemo(()=>{if(enable)return Object.assign({},five.state)},[five,updated]);return react.useLayoutEffect(()=>{if(enable)return five.on(`stateChange`,()=>update(Symbol()))},[five]),[state,updated]}function useFiveCurrentState$1(five,features){let enable=hasFeature(`currentState`,features),[updated,update]=react.useState(Symbol()),currentState=react.useMemo(()=>{if(enable)return five.getCurrentState()},[five,updated]);return react.useLayoutEffect(()=>{if(enable)return five.on(`currentStateChange`,()=>update(Symbol()))},[five]),[currentState,updated]}function useFivecurrentObserver(five,features){let enable=hasFeature(`currentObserver`,features),[updated,update]=react.useState(Symbol()),currentState=react.useMemo(()=>{if(enable)return five.getCurrentState()},[five,updated]);react.useLayoutEffect(()=>{if(enable)return five.on(`currentStateChange`,()=>update(Symbol()))},[five]);let observer;return currentState&&(observer=five.works.getObserver(currentState)),[observer,updated]}function useUnsafe__fiveInstance(five,features){return[hasFeature(`unsafe__fiveInstance`,features)?five:void 0]}function useFiveWork$1(five,features){let enable=hasFeature(`works`,features),[updated,update]=react.useState(Symbol()),work=react.useMemo(()=>{if(enable)return five.works},[five,updated]);return react.useLayoutEffect(()=>{if(enable)return five.on(`load`,()=>update(Symbol()))},[five]),[work,updated]}function useFiveModel(five,features){let enable=hasFeature(`model`,features),[updated,update]=react.useState(Symbol()),model=react.useMemo(()=>{if(enable)return five.model},[five,updated]);return react.useLayoutEffect(()=>{if(enable)return five.on(`modelLoaded`,()=>update(Symbol()))},[five]),[model,updated]}function useFiveScene$1(five,features){return[hasFeature(`scene`,features)?five.scene:void 0]}function useFiveCameraDirection$1(five,features){let enable=hasFeature(`cameraDirection`,features),[updated,update]=react.useState(Symbol()),cameraDirection=react.useMemo(()=>{if(enable)return five.camera.getWorldDirection(new three_webgpu.Vector3)},[five,updated]);return react.useLayoutEffect(()=>{if(enable)return five.on(`cameraUpdate`,()=>update(Symbol()))},[five]),[cameraDirection,updated]}function useFiveCameraRaycaster$1(five,features){let enable=hasFeature(`cameraRaycaster`,features),[updated,update]=react.useState(Symbol()),cameraRaycaster=react.useMemo(()=>{if(enable){let direction=five.camera.getWorldDirection(new three_webgpu.Vector3);return new three_webgpu.Raycaster(five.camera.position,direction)}},[five,updated]);return react.useLayoutEffect(()=>{if(enable)return five.on(`cameraUpdate`,()=>update(Symbol()))},[five]),[cameraRaycaster,updated]}function useFiveModelReadyState$1(five,features){let enable=hasFeature(`modelReadyState`,features),[updated,update]=react.useState(Symbol()),modelReadyState=react.useMemo(()=>{if(enable)return five.model.empty?`Empty`:`Loaded`},[five,updated]);return react.useLayoutEffect(()=>{if(enable)return five.on(`modelLoaded`,()=>update(Symbol()))},[five]),[modelReadyState,updated]}function useFiveShownFloor(five,features){let enable=hasFeature(`shownFloor`,features),[updated,update]=react.useState(Symbol()),shownFloor=react.useMemo(()=>{if(enable)return five.model.shownFloor},[five,updated]);return react.useLayoutEffect(()=>{if(enable)return five.on(`modelShownFloorChange`,()=>update(Symbol()))},[five]),[shownFloor,updated]}function useHelperVisible(five,features){let enable=hasFeature(`helperVisible`,features),[updated,update]=react.useState(Symbol()),helperVisible=react.useMemo(()=>{if(enable)return five.helperVisible},[five,updated]);return react.useLayoutEffect(()=>{if(enable)return five.on(`helpersVisibleChange`,()=>update(Symbol()))},[five]),[helperVisible,updated]}function useFiveLoadWork(loadWork,features){if(hasFeature(`loadWork`,features))return loadWork}function useFiveSetState(five,features){if(hasFeature(`setState`,features))return(...args)=>five.setState(...args)}function useFiveOn(five,features){if(hasFeature(`on`,features))return(...args)=>five.on(...args)}function useFiveOnce(five,features){if(hasFeature(`on`,features))return(...args)=>five.once(...args)}function useFiveOff(five,features){if(hasFeature(`off`,features))return(...args)=>five.off(...args)}function useFiveModelIntersectRaycaster$1(five,features){if(hasFeature(`intersectRaycaster`,features))return(...args)=>five.model.intersectRaycaster(...args)}function useFiveProject2d$1(five,features){if(hasFeature(`project2d`,features))return(...args)=>five.project2d(...args)}function useFiveUpdateCamera(five,features){if(hasFeature(`updateCamera`,features))return(...args)=>five.updateCamera(...args)}function useFiveGetPixels(five,features){if(hasFeature(`getPixels`,features))return five.getPixels.bind(five)}function useFiveRender(five,features){if(hasFeature(`render`,features))return(...args)=>five.render(...args)}function useFiveNeedsRender(five,features){if(hasFeature(`needsRender`,features))return()=>{five.needsRender=!0}}function useFivePreloadPano(five,features){if(hasFeature(`preloadPano`,features))return(...args)=>five.preloadPano(...args)}function useFiveShowFloor(five,features){if(hasFeature(`showFloor`,features))return floorIndex=>{typeof floorIndex==`number`?five.model.show(floorIndex):five.model.show()}}function useFiveToggleHelperVisible(five,features){if(hasFeature(`toggleHelperVisible`,features))return visible=>{five.helperVisible=visible}}function withFive(features){return function(Component){return react.forwardRef((props,ref)=>{let five=useFiveInstance(),loadWork=useFiveWorkLoader(),[unsafe__fiveInstance]=useUnsafe__fiveInstance(five,features),[state,stateUpdated]=useFiveState$1(five,features),[currentState,currentStateUpdated]=useFiveCurrentState$1(five,features),[currentObserver,currentObserverUpdated]=useFivecurrentObserver(five,features),[work,workUpdated]=useFiveWork$1(five,features),[model,modelUpdated]=useFiveModel(five,features),[scene]=useFiveScene$1(five,features),[cameraDirection,cameraDirectionUpdated]=useFiveCameraDirection$1(five,features),[cameraRaycaster,cameraRaycasterUpdated]=useFiveCameraRaycaster$1(five,features),[modelReadyState,modelReadyStateUpdated]=useFiveModelReadyState$1(five,features),[shownFloor,shownFloorUpdated]=useFiveShownFloor(five,features),[helperVisible,helperVisibleUpdated]=useHelperVisible(five,features),actions=react.useMemo(()=>{let injection={};return injectObject(injection,{setState:useFiveSetState(five,features),loadWork:useFiveLoadWork(loadWork,features),on:useFiveOn(five,features),once:useFiveOnce(five,features),off:useFiveOff(five,features),intersectRaycaster:useFiveModelIntersectRaycaster$1(five,features),project2d:useFiveProject2d$1(five,features),updateCamera:useFiveUpdateCamera(five,features),getPixels:useFiveGetPixels(five,features),render:useFiveRender(five,features),needsRender:useFiveNeedsRender(five,features),preloadPano:useFivePreloadPano(five,features),showFloor:useFiveShowFloor(five,features),toggleHelperVisible:useFiveToggleHelperVisible(five,features)}),injection},[five,loadWork]),injection=react.useMemo(()=>{let injection=Object.assign({},actions);return injectObject(injection,{unsafe__fiveInstance,state,currentState,currentObserver,work,model,scene,cameraDirection,cameraRaycaster,modelReadyState,shownFloor,helperVisible}),injection},[five,actions,stateUpdated,currentStateUpdated,currentObserverUpdated,workUpdated,modelUpdated,cameraDirectionUpdated,cameraRaycasterUpdated,modelReadyStateUpdated,shownFloorUpdated,helperVisibleUpdated]);return react.createElement(Component,Object.assign({ref,$five:injection},props))})}}function createFiveFeature(...features){return features}function pick(obj,keys){let res={},len=keys.length,idx=-1;for(;++idx<len;){let key=keys[idx];key in obj&&(res[key]=obj[key])}return res}function valueEquals(value1,value2){return typeof value1==`number`&&typeof value2==`number`&&isNaN(value1)&&isNaN(value2)?!0:value1===value2}function hasSameItemInBothStringArray(array1,array2){for(let i=0;i<array1.length;i++)for(let j=0;j<array2.length;j++)if(array1[i]===array2[j])return!0;return!1}var Store=class{constructor(initialValue,onValuesChange){this.values=initialValue,this.listeners=[],this.onValuesChange=onValuesChange}on(names,callback){let listener=[names,callback];return this.listeners.push(listener),()=>{let index=this.listeners.indexOf(listener);index>=0&&this.listeners.splice(index,1)}}getValues(names){return pick(this.values,names)}setValues(names,values){let modifyNames=[];for(let name in values)names.indexOf(name)>=0&&!valueEquals(values[name],this.values[name])&&modifyNames.push(name);if(modifyNames.length===0)return;let prevValue=Object.assign({},this.values);for(let name of modifyNames)this.values[name]=values[name];this.onValuesChange&&this.onValuesChange(this.values,prevValue);for(let[names,callback]of this.listeners){if(!hasSameItemInBothStringArray(names,modifyNames))continue;let prevValue_=pick(prevValue,names);callback(pick(this.values,names),prevValue_)}}};function createStore(actionHandler){let StoreContext=react.createContext(null);return{useStore(names){let store=react.useContext(StoreContext);if(store===null)throw Error(`StoreProvider never found.`);let firstUpdate=react.useRef(!0),[values,setValues_]=react.useState(store.getValues(names)),dependencyList=[store,...names];return react.useLayoutEffect(()=>(firstUpdate.current?firstUpdate.current=!1:setValues_(store.getValues(names)),store.on(names,value=>setValues_(value))),dependencyList),[values,react.useCallback(values=>store.setValues(names,values),dependencyList)]},useStoreSetter(names){let store=react.useContext(StoreContext);if(store===null)throw Error(`StoreProvider never found.`);return react.useCallback(values=>store.setValues(names,values),[store,...names])},watchStore(names,callback,deps){let store=react.useContext(StoreContext);if(store===null)throw Error(`StoreProvider never found.`);let dependencyList=[store,...names];deps!==void 0&&(dependencyList=dependencyList.concat(deps)),react.useLayoutEffect(()=>store.on(names,callback),dependencyList)},useStoreAction(actionName){let store=react.useContext(StoreContext);if(store===null)throw Error(`StoreProvider never found.`);return react.useCallback((...args)=>{let[callback,...deps]=actionHandler[actionName];return callback(()=>store.getValues(deps),values=>store.setValues(deps,values),...args)},[])},StoreProvider:class extends react.Component{constructor(props){super(props),this.store=new Store(props.initialValue,(...args)=>{this.props.onValuesChange&&this.props.onValuesChange(...args)})}shouldComponentUpdate(nextProps){return nextProps.children!==this.props.children}render(){return react.createElement(StoreContext.Provider,{value:this.store},this.props.children)}}}}exports.FiveApp=FiveApp,exports.FiveAutoCanvas=FiveAutoCanvas,exports.FiveCanvas=FiveCanvas,exports.INJECTION_PROPNAME=INJECTION_PROPNAME,exports.Store=Store,exports.createFiveFeature=createFiveFeature,exports.createFiveProvider=createFiveProvider,exports.createStore=createStore,exports.getPlugin=getPlugin,exports.setPlugin=setPlugin,exports.unsafe__useFiveInstance=unsafe__useFiveInstance,exports.useFiveAction=useFiveAction,exports.useFiveCameraDirection=useFiveCameraDirection,exports.useFiveCameraRaycaster=useFiveCameraRaycaster,exports.useFiveCurrentObserver=useFiveCurrentObserver,exports.useFiveCurrentState=useFiveCurrentState,exports.useFiveEventCallback=useFiveEventCallback,exports.useFiveFloor=useFiveFloor,exports.useFiveHelper=useFiveHelper,exports.useFiveModelIntersectRaycaster=useFiveModelIntersectRaycaster,exports.useFiveModelReadyState=useFiveModelReadyState,exports.useFivePlugin=useFivePlugin,exports.useFiveProject2d=useFiveProject2d,exports.useFiveScene=useFiveScene,exports.useFiveSceneEffect=useFiveSceneEffect,exports.useFiveState=useFiveState,exports.useFiveWork=useFiveWork,exports.withFive=withFive;
|