@realsee/five-webgpu 1.0.0-alpha.1 → 1.0.0-alpha.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +9 -9
- package/_virtual/_rolldown/runtime.js +255 -0
- package/ai_guides/README.md +2 -2
- package/ai_guides/api.md +9 -8
- package/ai_guides/features/camera-animation.md +1 -1
- package/ai_guides/features/clipper.md +1 -1
- package/ai_guides/features/coordinate-system.md +1 -1
- package/ai_guides/features/event.md +1 -2
- package/ai_guides/features/five.md +81 -12
- package/ai_guides/features/gesture.md +3 -3
- package/ai_guides/features/get-screen-pixels.md +1 -1
- package/ai_guides/features/image-options.md +3 -3
- package/ai_guides/features/load-external-model.md +15 -15
- package/ai_guides/features/load-progress.md +2 -2
- package/ai_guides/features/material.md +35 -8
- package/ai_guides/features/mode.md +28 -31
- package/ai_guides/features/model.md +1 -1
- package/ai_guides/features/pano-filter.md +3 -3
- package/ai_guides/features/pano-tile.md +2 -2
- package/ai_guides/features/raycast.md +1 -1
- package/ai_guides/features/screen-project.md +1 -1
- package/ai_guides/features/state.md +3 -3
- package/ai_guides/features/ultra-hdr.md +41 -32
- package/ai_guides/features/work.md +2 -2
- package/ai_guides/quick-start.md +3 -3
- package/ai_guides/release_notes/6.6.md +2 -2
- package/ai_guides/release_notes/6.7.md +1 -1
- package/ai_guides/release_notes/6.8.md +3 -3
- package/ai_guides/support.md +0 -4
- 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.EffectComposer.html +1 -1
- package/docs/classes/index.EyeDomeLightingPass.html +1 -1
- package/docs/classes/index.Five.html +77 -68
- package/docs/classes/index.FivePass.html +1 -1
- package/docs/classes/index.FiveRenderer.html +2 -2
- package/docs/classes/index.FlowingFireworks3DPass.html +7 -3
- package/docs/classes/index.FlowingLight2DPass.html +6 -3
- package/docs/classes/index.FlowingLight3DPass.html +6 -3
- package/docs/classes/index.GaussianBlurPass.html +1 -1
- package/docs/classes/index.InternalWebGPURenderer.html +17 -3
- 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 +57 -0
- package/docs/classes/index.PBMGaussianSplattingNodeMaterial.html +9 -6
- package/docs/classes/index.PBMGaussianSplattingObject.html +18 -4
- package/docs/classes/index.PBMGaussianSplattingRenderMesh.html +41 -11
- package/docs/classes/index.PBMGroup.html +1 -1
- package/docs/classes/index.PBMMesh.html +1 -1
- package/docs/classes/index.PBMMeshBasicMaterial.html +19 -6
- package/docs/classes/index.PBMMeshBasicNodeMaterial.html +31 -8
- package/docs/classes/index.PBMMeshPanoOnlyMaterial.html +19 -6
- package/docs/classes/index.PBMMeshPanoOnlyNodeMaterial.html +31 -8
- package/docs/classes/index.PBMMeshPhongMaterial.html +19 -6
- package/docs/classes/index.PBMMeshPhongNodeMaterial.html +31 -8
- package/docs/classes/index.PBMMeshPhysicalMaterial.html +19 -6
- package/docs/classes/index.PBMMeshPhysicalNodeMaterial.html +31 -8
- package/docs/classes/index.PBMPanoFilter.html +8 -8
- package/docs/classes/index.PBMPointCloud.html +6 -7
- package/docs/classes/index.PBMPointCloudMaterial.html +83 -0
- 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 +5 -5
- package/docs/classes/index.PanoCircleMeshSolid.html +1 -1
- package/docs/classes/index.Parameter.html +61 -53
- package/docs/classes/index.Scene.html +1 -1
- package/docs/classes/index.Subscribe.html +1 -1
- package/docs/classes/index.TextureLoader.html +4 -1
- package/docs/classes/index.Tile3D.html +23 -21
- package/docs/classes/index.TileNode.html +1 -1
- package/docs/classes/index.Tileset.html +4 -4
- package/docs/classes/index.TrajectoryNode.html +3 -3
- package/docs/classes/index.Work.html +20 -18
- package/docs/classes/index.WorkResolvedObserver.html +22 -22
- package/docs/classes/index.XRButton.html +3 -0
- package/docs/documents/README.html +2 -2
- package/docs/documents/api.html +11 -10
- package/docs/documents/features_camera-animation.html +1 -1
- package/docs/documents/features_clipper.html +1 -1
- package/docs/documents/features_coordinate-system.html +1 -1
- package/docs/documents/features_event.html +1 -2
- package/docs/documents/features_five.html +53 -11
- package/docs/documents/features_gesture.html +3 -3
- package/docs/documents/features_get-screen-pixels.html +1 -1
- package/docs/documents/features_image-options.html +3 -3
- package/docs/documents/features_load-external-model.html +13 -13
- package/docs/documents/features_load-progress.html +1 -1
- package/docs/documents/features_material.html +20 -9
- package/docs/documents/features_mode.html +30 -15
- package/docs/documents/features_model.html +1 -1
- package/docs/documents/features_pano-filter.html +3 -3
- package/docs/documents/features_pano-tile.html +2 -2
- package/docs/documents/features_raycast.html +1 -1
- package/docs/documents/features_screen-project.html +1 -1
- package/docs/documents/features_state.html +2 -2
- package/docs/documents/features_ultra-hdr.html +50 -44
- package/docs/documents/features_work.html +2 -2
- package/docs/documents/quick-start.html +2 -2
- package/docs/documents/release_notes_6.6.html +2 -2
- package/docs/documents/release_notes_6.7.html +1 -1
- package/docs/documents/release_notes_6.8.html +3 -3
- package/docs/documents/support.html +1 -3
- package/docs/functions/index.customNodesCacheKey.html +3 -0
- package/docs/functions/index.parseWork.html +1 -1
- package/docs/functions/index.workToJson.html +1 -1
- package/docs/hierarchy.html +1 -1
- package/docs/index.html +2 -2
- package/docs/interfaces/index.AddableObject.html +1 -1
- package/docs/interfaces/index.AjaxOptions.html +1 -1
- package/docs/interfaces/index.BaseEvent.html +2 -2
- package/docs/interfaces/index.Clock.html +24 -0
- package/docs/interfaces/index.DeviceProfile.html +8 -0
- package/docs/interfaces/index.EventCallback.html +49 -47
- package/docs/interfaces/index.FiveInitArgs.html +65 -41
- package/docs/interfaces/index.GainmapCfgData.html +15 -0
- package/docs/interfaces/index.GestureEvent.html +2 -2
- package/docs/interfaces/index.IPBMMaterial.html +18 -5
- package/docs/interfaces/index.ImageOptions.html +1 -1
- package/docs/interfaces/index.IntersectEvent.html +2 -2
- 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.LoosePanoWork.html +2 -2
- package/docs/interfaces/index.LooseWork.html +2 -2
- package/docs/interfaces/index.LooseWorkInitial.html +2 -2
- package/docs/interfaces/index.LooseWorkModel.html +2 -2
- package/docs/interfaces/index.LooseWorkObserver.html +2 -2
- package/docs/interfaces/index.LooseWorkPanorama.html +4 -3
- package/docs/interfaces/index.LooseWorkWithExtrinsics.html +15 -9
- package/docs/interfaces/index.ModeChangeEvent.html +2 -2
- package/docs/interfaces/index.ModelControllerCustomInitArgs.html +1 -1
- package/docs/interfaces/index.ModelEvent.html +2 -2
- package/docs/interfaces/index.ModelSceneEvent.html +2 -2
- package/docs/interfaces/index.ModelTileEvent.html +2 -2
- 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 +2 -2
- package/docs/interfaces/index.NetworkResponseError.html +1 -1
- package/docs/interfaces/index.NetworkTimeoutError.html +1 -1
- package/docs/interfaces/index.ObjectEvent.html +2 -2
- package/docs/interfaces/index.PBMClipperParameter.html +2 -2
- package/docs/interfaces/index.PBMCustomNodeContext.html +87 -0
- package/docs/interfaces/index.PBMCustomNodeOptions.html +10 -0
- package/docs/interfaces/index.PBMCustomNodePanoContext.html +20 -0
- package/docs/interfaces/index.PBMCustomNodeSlots.html +31 -0
- package/docs/interfaces/index.PBMGaussianSplattingNodeMaterialOptions.html +4 -0
- package/docs/interfaces/index.PBMPanoDepth.html +5 -5
- package/docs/interfaces/index.PBMPanoFilterValue.html +2 -2
- package/docs/interfaces/index.PBMPanoGainmap.html +6 -0
- package/docs/interfaces/index.PBMPanoPicture.html +9 -8
- package/docs/interfaces/index.PBMRefinedScreen.html +2 -2
- package/docs/interfaces/index.PanoCircleMeshCustomOptions.html +2 -2
- package/docs/interfaces/index.PanoCircleMeshInterface.html +1 -1
- package/docs/interfaces/index.PanoEvent.html +2 -2
- package/docs/interfaces/index.PanoPrepareEvent.html +15 -0
- package/docs/interfaces/index.PanoTextureEvent.html +2 -2
- package/docs/interfaces/index.PanoramaControllerCustomInitArgs.html +9 -9
- package/docs/interfaces/index.PanoramaLikeControllerCustomInitArgs.html +1 -1
- package/docs/interfaces/index.ParameterMaterialValue.html +46 -38
- package/docs/interfaces/index.ParameterTilesetValue.html +15 -15
- package/docs/interfaces/index.ParameterValue.html +60 -52
- package/docs/interfaces/index.Pose.html +1 -1
- package/docs/interfaces/index.RenderEvent.html +2 -2
- package/docs/interfaces/index.ResolvedParameterValue.html +60 -52
- package/docs/interfaces/index.SplatData.html +10 -5
- package/docs/interfaces/index.State.html +1 -1
- package/docs/interfaces/index.StateEvent.html +2 -2
- package/docs/interfaces/index.TextureOptions.html +1 -1
- package/docs/interfaces/index.TilesetOptions.html +7 -2
- package/docs/interfaces/index.TopviewControllerCustomInitArgs.html +1 -1
- package/docs/interfaces/index.VRPanoramaControllerCustomInitArgs.html +37 -0
- package/docs/interfaces/index.ViewLayer.html +23 -21
- package/docs/interfaces/index.WorkCubeHdrGainmapImage.html +10 -0
- package/docs/interfaces/index.WorkCubeImage.html +5 -9
- package/docs/interfaces/index.WorkImage.html +8 -12
- package/docs/interfaces/index.WorkInitial.html +8 -8
- package/docs/interfaces/index.WorkModel.html +8 -8
- package/docs/interfaces/index.WorkModelLayer.html +6 -6
- package/docs/interfaces/index.WorkObserver.html +23 -23
- package/docs/interfaces/index.WorkPanoramaJson.html +3 -2
- package/docs/interfaces/index.WorkTile.html +8 -12
- package/docs/interfaces/index.WorksEvent.html +2 -2
- package/docs/interfaces/index.XRControllerEvent.html +2 -2
- package/docs/interfaces/index.XRGestureEvent.html +2 -2
- package/docs/interfaces/index.XRPanoramaControllerCustomInitArgs.html +52 -0
- package/docs/interfaces/index.XRSessionEvent.html +2 -2
- package/docs/modules/index.html +1 -1
- package/docs/types/index.ControllerCustomInitTypes.html +4 -2
- package/docs/types/index.ControllerEventTypes.html +25 -23
- package/docs/types/index.DeviceProfileOverride.html +5 -0
- package/docs/types/index.EventTypes.html +26 -26
- package/docs/types/index.FlowingFireworks3DPassLine.html +5 -2
- package/docs/types/index.FlowingLight2DPassLine.html +4 -2
- package/docs/types/index.FlowingLight3DPassLine.html +7 -2
- package/docs/types/index.FlowingLightLineInput.html +12 -0
- package/docs/types/index.Mode.html +6 -3
- package/docs/types/index.OutputTextureDataType.html +1 -1
- package/docs/types/index.PBMColorStyle.html +1 -1
- package/docs/types/index.PBMCustomNodeTargetType.html +2 -0
- package/docs/types/index.PBMPointBack.html +1 -1
- package/docs/types/index.PBMPointShape.html +1 -1
- package/docs/types/index.PBMPointSize.html +1 -1
- package/docs/types/index.PBMRoofStyle.html +6 -0
- package/docs/types/index.ParseOptions.html +14 -8
- package/docs/types/index.XRMachineType.html +7 -0
- package/docs/variables/index.GSPLAT_PIPELINE_AUTO.html +2 -0
- package/docs/variables/index.GSPLAT_PIPELINE_RASTER_CPU_SORT.html +2 -0
- package/docs/variables/index.GSPLAT_PIPELINE_RASTER_GPU_SORT.html +2 -0
- package/docs/variables/index.PBMVertexMarkFlag.html +4 -0
- package/docs/variables/index.PROXY_CONTROLLER_EVENT_NAMES.html +1 -1
- package/docs/variables/index.controllersDefaultInitArgs.html +1 -1
- package/five/application/controllers.d.ts +8 -0
- package/five/application/events.d.ts +1 -1
- package/five/application/five.d.ts +15 -1
- package/five/application/fiveInitArgs.d.ts +32 -1
- package/five/application/mode.d.ts +8 -1
- package/five/cardboard/helper.d.ts +2 -0
- package/five/cardboard/index.d.ts +13 -0
- package/five/cardboard/sensor.d.ts +158 -0
- package/five/controllers/base.d.ts +3 -0
- package/five/controllers/events.d.ts +5 -3
- package/five/controllers/panorama.d.ts +2 -2
- package/five/controllers/vrPanorama.d.ts +56 -0
- package/five/controllers/xrPanorama.d.ts +506 -0
- package/five/core/internalWebGPURenderer.d.ts +23 -1
- package/five/core/panoVideo.d.ts +4 -1
- package/five/core/tiling.d.ts +40 -9
- package/five/core/webglAsyncReadFix.d.ts +25 -0
- package/five/gaussian-splatting/gpu-sort/prefixSumKernel.d.ts +65 -0
- package/five/gaussian-splatting/gpu-sort/radixSortModule.d.ts +128 -0
- package/five/gaussian-splatting/gpu-sort/shaders/radixHistogram.d.ts +2 -0
- package/five/gaussian-splatting/gpu-sort/shaders/radixReorder.d.ts +2 -0
- package/five/gaussian-splatting/gpu-sort/shaders/sortKeygen.d.ts +2 -0
- package/five/gaussian-splatting/gpu-sort/sortAdapter.d.ts +234 -0
- package/five/gaussian-splatting/layerRegistry.d.ts +17 -0
- package/five/gaussian-splatting/pipelines/cpuSortPipeline.d.ts +159 -0
- package/five/gaussian-splatting/pipelines/gpuSortPipeline.d.ts +98 -0
- package/five/gaussian-splatting/pipelines/gsplatPipeline.d.ts +104 -0
- package/five/gaussian-splatting/pipelines/pipelineMode.d.ts +42 -0
- package/five/gaussian-splatting/pipelines/sortThrottle.d.ts +45 -0
- package/five/gaussian-splatting/shStore.d.ts +22 -0
- package/five/gaussian-splatting/splatAssembler.d.ts +69 -0
- package/five/gaussian-splatting/transformStore.d.ts +37 -0
- package/five/gaussian-splatting/wasm/sort.d.ts +4 -3
- package/five/index.d.ts +8 -2
- package/five/index.js +404 -344
- package/five/index.mjs +9472 -4878
- package/five/meshes/panoCircleMeshCustom.d.ts +1 -0
- package/five/model/index.d.ts +3 -2
- package/five/model/loaders/spz.d.ts +50 -2
- package/five/model/materials/nodes/pbmMeshBasicNodeMaterial.d.ts +2 -0
- package/five/model/materials/nodes/pbmMeshPanoOnlyNodeMaterial.d.ts +2 -0
- package/five/model/materials/nodes/pbmMeshPhongNodeMaterial.d.ts +2 -0
- package/five/model/materials/nodes/pbmMeshPhysicalNodeMaterial.d.ts +2 -0
- package/five/model/materials/pbmGaussianSplattingNodeMaterial.d.ts +12 -5
- package/five/model/materials/pbmMaterial.d.ts +288 -6
- package/five/model/materials/pbmMeshMaterial.d.ts +0 -9
- package/five/model/materials/pbmPointCloudNodeMaterial.d.ts +1 -1
- package/five/model/materials/tsl/defines.d.ts +8 -2
- package/five/model/materials/tsl/outputBuilder.d.ts +8 -15
- package/five/model/materials/tsl/panoColor.d.ts +8 -2
- package/five/model/materials/tsl/utils.d.ts +13 -0
- package/five/model/objects/pbmGaussianSplattingObject.d.ts +30 -4
- package/five/model/objects/pbmGaussianSplattingRenderMesh.d.ts +113 -48
- package/five/model/objects/pbmPointCloud.d.ts +0 -1
- package/five/model/objects/pbmPointCloudObject.d.ts +1 -1
- package/five/model/parameter.d.ts +20 -5
- package/five/model/tile3d/index.d.ts +2 -0
- package/five/model/tile3d/tileset.d.ts +5 -0
- package/five/model/tile3d/trajectory-content.d.ts +53 -0
- package/five/renderer/compute-renderers/binned/binned-core.d.ts +46 -0
- package/five/renderer/compute-renderers/binned/binned-pipelines.d.ts +10 -0
- package/five/renderer/compute-renderers/binned/shaders/args-builder.d.ts +2 -0
- package/five/renderer/compute-renderers/binned/shaders/classify.d.ts +2 -0
- package/five/renderer/compute-renderers/binned/shaders/coop.d.ts +2 -0
- package/five/renderer/compute-renderers/pointcloud-compute-renderer.d.ts +14 -38
- package/five/renderer/compute-renderers/shaders/lib/color.d.ts +2 -0
- package/five/renderer/compute-renderers/shaders/lib/cull.d.ts +2 -0
- package/five/renderer/compute-renderers/shaders/lib/encode.d.ts +2 -0
- package/five/renderer/compute-renderers/shaders/lib/point-setup.d.ts +2 -0
- package/five/renderer/compute-renderers/shaders/lib/point-size.d.ts +2 -0
- package/five/renderer/compute-renderers/shaders/lib/raster.d.ts +2 -0
- package/five/renderer/compute-renderers/shaders/lib/size-class.d.ts +2 -0
- package/five/renderer/compute-renderers/shaders/lib/tile-bindings.d.ts +2 -0
- package/five/renderer/compute-renderers/uniform-layout.d.ts +23 -0
- package/five/renderer/five-renderer.d.ts +2 -0
- package/five/renderer/index.d.ts +1 -1
- package/five/renderer/postprocessing/index.d.ts +1 -1
- package/five/renderer/postprocessing/passes/flowing-fireworks-3d-pass.d.ts +23 -0
- package/five/renderer/postprocessing/passes/flowing-light-2d-pass.d.ts +2 -0
- package/five/renderer/postprocessing/passes/flowing-light-3d-pass.d.ts +23 -0
- package/five/renderer/postprocessing/passes/pass.js +255 -0
- package/five/renderer/postprocessing/passes/pass.mjs +255 -0
- package/five/renderer/tools/full-screen-quad.js +255 -0
- package/five/renderer/tools/full-screen-quad.mjs +255 -0
- package/five/texture/loader.d.ts +6 -0
- package/five/types/cube.d.ts +0 -1
- package/five/utils/calculateThreeMouse.js +255 -0
- package/five/utils/calculateThreeMouse.mjs +255 -0
- package/five/utils/detector.d.ts +11 -1
- package/five/utils/distance.js +255 -0
- package/five/utils/distance.mjs +255 -0
- package/five/utils/error.d.ts +1 -0
- package/five/utils/event.d.ts +26 -3
- package/five/utils/gainmap-data.d.ts +23 -0
- package/five/utils/isNil.js +255 -0
- package/five/utils/isNil.mjs +255 -0
- package/five/utils/ktx2.d.ts +3 -3
- package/five/utils/uuid.js +255 -0
- package/five/utils/uuid.mjs +255 -0
- package/five/webxr/XRControllerModelFactory.d.ts +55 -0
- package/five/webxr/buttonStateMachine.d.ts +31 -0
- package/five/webxr/deviceProfile.d.ts +70 -0
- package/five/webxr/inputSourceTracker.d.ts +59 -0
- package/five/webxr/referenceSpace.d.ts +60 -0
- package/five/webxr/renderTargetBridge.d.ts +45 -0
- package/five/webxr/xrButton.d.ts +4 -0
- package/five/webxr/xrManager.d.ts +174 -0
- package/five/work/index.d.ts +1 -1
- package/five/work/looseWorkType.d.ts +2 -1
- package/five/work/work.d.ts +30 -7
- package/five/work/workJsonType.d.ts +2 -1
- package/gltf-loader/gltf-object.d.ts +17 -0
- package/gltf-loader/index.d.ts +45 -0
- package/gltf-loader/index.js +255 -0
- package/gltf-loader/index.mjs +302 -0
- package/line/circle_png.d.ts +1 -0
- package/line/index.d.ts +49 -0
- package/line/index.js +255 -0
- package/line/index.mjs +340 -0
- package/llms.txt +1 -1
- package/package.json +34 -5
- package/plugins/BackgroundPlugin/Controller.d.ts +20 -0
- package/plugins/BackgroundPlugin/Controller.js +276 -0
- package/plugins/BackgroundPlugin/Controller.mjs +276 -0
- package/plugins/BackgroundPlugin/index.d.ts +5 -0
- package/plugins/BackgroundPlugin/index.js +255 -0
- package/plugins/BackgroundPlugin/index.mjs +255 -0
- package/plugins/BackgroundPlugin/typings.d.ts +44 -0
- package/plugins/BasePlugin/index.d.ts +1 -1
- package/plugins/BasePlugin/index.js +255 -0
- package/plugins/BasePlugin/index.mjs +255 -0
- package/plugins/CSS2DPlugin/Controller.d.ts +59 -0
- package/plugins/CSS2DPlugin/Controller.js +255 -0
- package/plugins/CSS2DPlugin/Controller.mjs +255 -0
- package/plugins/CSS2DPlugin/index.d.ts +5 -0
- package/plugins/CSS2DPlugin/index.js +255 -0
- package/plugins/CSS2DPlugin/index.mjs +255 -0
- package/plugins/CSS2DPlugin/style.css_raw.js +275 -0
- package/plugins/CSS2DPlugin/style.css_raw.mjs +275 -0
- package/plugins/CSS2DPlugin/typing.d.ts +31 -0
- package/plugins/CSS3DPlugin/Controller.d.ts +64 -0
- package/plugins/CSS3DPlugin/Controller.js +255 -0
- package/plugins/CSS3DPlugin/Controller.mjs +255 -0
- package/plugins/CSS3DPlugin/index.d.ts +5 -0
- package/plugins/CSS3DPlugin/index.js +255 -0
- package/plugins/CSS3DPlugin/index.mjs +255 -0
- package/plugins/CSS3DPlugin/style.css_raw.js +274 -0
- package/plugins/CSS3DPlugin/style.css_raw.mjs +274 -0
- package/plugins/CSS3DPlugin/typing.d.ts +33 -0
- package/plugins/FloorplanPlugin/Controller.d.ts +100 -0
- package/plugins/FloorplanPlugin/Controller.js +255 -0
- package/plugins/FloorplanPlugin/Controller.mjs +255 -0
- package/plugins/FloorplanPlugin/index.d.ts +6 -0
- package/plugins/FloorplanPlugin/index.js +255 -0
- package/plugins/FloorplanPlugin/index.mjs +255 -0
- package/plugins/FloorplanPlugin/render/assets.d.ts +9 -0
- package/plugins/FloorplanPlugin/render/assets.js +255 -0
- package/plugins/FloorplanPlugin/render/assets.mjs +255 -0
- package/plugins/FloorplanPlugin/render/index.d.ts +35 -0
- package/plugins/FloorplanPlugin/render/index.js +255 -0
- package/plugins/FloorplanPlugin/render/index.mjs +255 -0
- package/plugins/FloorplanPlugin/render/isPointInPolygon.d.ts +5 -0
- package/plugins/FloorplanPlugin/render/isPointInPolygon.js +255 -0
- package/plugins/FloorplanPlugin/render/isPointInPolygon.mjs +255 -0
- package/plugins/FloorplanPlugin/render/renderFloor.d.ts +22 -0
- package/plugins/FloorplanPlugin/render/renderFloor.js +255 -0
- package/plugins/FloorplanPlugin/render/renderFloor.mjs +255 -0
- package/plugins/FloorplanPlugin/render/roomLabelVisibility.d.ts +10 -0
- package/plugins/FloorplanPlugin/render/roomLabelVisibility.js +255 -0
- package/plugins/FloorplanPlugin/render/roomLabelVisibility.mjs +255 -0
- package/plugins/FloorplanPlugin/render/style.css_raw.js +585 -0
- package/plugins/FloorplanPlugin/render/style.css_raw.mjs +585 -0
- package/plugins/FloorplanPlugin/typing.d.ts +156 -0
- package/plugins/FloorplanPlugin/typings/floorplanData.d.ts +112 -0
- package/plugins/FloorplanPlugin/typings/floorplanJson.d.ts +167 -0
- package/plugins/FloorplanPlugin/typings/floorplanServerData.d.ts +78 -0
- package/plugins/FloorplanPlugin/typings/index.d.ts +3 -0
- package/plugins/FloorplanPlugin/utils/changeMode.d.ts +5 -0
- package/plugins/FloorplanPlugin/utils/changeMode.js +255 -0
- package/plugins/FloorplanPlugin/utils/changeMode.mjs +255 -0
- package/plugins/FloorplanPlugin/utils/changeModelCanvasOpacity.d.ts +6 -0
- package/plugins/FloorplanPlugin/utils/changeModelCanvasOpacity.js +255 -0
- package/plugins/FloorplanPlugin/utils/changeModelCanvasOpacity.mjs +255 -0
- package/plugins/FloorplanPlugin/utils/correctFiveState.d.ts +11 -0
- package/plugins/FloorplanPlugin/utils/correctFiveState.js +255 -0
- package/plugins/FloorplanPlugin/utils/correctFiveState.mjs +255 -0
- package/plugins/FloorplanPlugin/utils/equal.d.ts +9 -0
- package/plugins/FloorplanPlugin/utils/equal.js +255 -0
- package/plugins/FloorplanPlugin/utils/equal.mjs +255 -0
- package/plugins/FloorplanPlugin/utils/filter.d.ts +8 -0
- package/plugins/FloorplanPlugin/utils/filter.js +255 -0
- package/plugins/FloorplanPlugin/utils/filter.mjs +255 -0
- package/plugins/FloorplanPlugin/utils/fiveModelLoad.d.ts +6 -0
- package/plugins/FloorplanPlugin/utils/fiveModelLoad.js +255 -0
- package/plugins/FloorplanPlugin/utils/fiveModelLoad.mjs +255 -0
- package/plugins/FloorplanPlugin/utils/formatData.d.ts +6 -0
- package/plugins/FloorplanPlugin/utils/formatData.js +255 -0
- package/plugins/FloorplanPlugin/utils/formatData.mjs +255 -0
- package/plugins/FloorplanPlugin/utils/formatFloorplanJson.d.ts +20 -0
- package/plugins/FloorplanPlugin/utils/formatFloorplanJson.js +255 -0
- package/plugins/FloorplanPlugin/utils/formatFloorplanJson.mjs +255 -0
- package/plugins/FloorplanPlugin/utils/formatPosition.d.ts +33 -0
- package/plugins/FloorplanPlugin/utils/formatPosition.js +255 -0
- package/plugins/FloorplanPlugin/utils/formatPosition.mjs +255 -0
- package/plugins/FloorplanPlugin/utils/getDistanceFromModel.d.ts +6 -0
- package/plugins/FloorplanPlugin/utils/getDistanceFromModel.js +255 -0
- package/plugins/FloorplanPlugin/utils/getDistanceFromModel.mjs +255 -0
- package/plugins/FloorplanPlugin/utils/getPxmm.d.ts +19 -0
- package/plugins/FloorplanPlugin/utils/getPxmm.js +255 -0
- package/plugins/FloorplanPlugin/utils/getPxmm.mjs +255 -0
- package/plugins/FloorplanPlugin/utils/isTruelyObject.d.ts +4 -0
- package/plugins/FloorplanPlugin/utils/isTruelyObject.js +255 -0
- package/plugins/FloorplanPlugin/utils/isTruelyObject.mjs +255 -0
- package/plugins/FloorplanPlugin/utils/nearlyEqual.d.ts +8 -0
- package/plugins/FloorplanPlugin/utils/nearlyEqual.js +255 -0
- package/plugins/FloorplanPlugin/utils/nearlyEqual.mjs +255 -0
- package/plugins/FloorplanPlugin/utils/polylabel.d.ts +8 -0
- package/plugins/FloorplanPlugin/utils/polylabel.js +255 -0
- package/plugins/FloorplanPlugin/utils/polylabel.mjs +255 -0
- package/plugins/FloorplanPlugin/utils/to.d.ts +5 -0
- package/plugins/FloorplanPlugin/utils/to.js +255 -0
- package/plugins/FloorplanPlugin/utils/to.mjs +255 -0
- package/plugins/GaussianSplattingEntranceAnimationPlugin/Controller.d.ts +1 -1
- package/plugins/GaussianSplattingEntranceAnimationPlugin/Controller.js +255 -0
- package/plugins/GaussianSplattingEntranceAnimationPlugin/Controller.mjs +255 -0
- package/plugins/GaussianSplattingEntranceAnimationPlugin/index.d.ts +1 -1
- package/plugins/GaussianSplattingEntranceAnimationPlugin/index.js +255 -0
- package/plugins/GaussianSplattingEntranceAnimationPlugin/index.mjs +255 -0
- package/plugins/Object3DHelperPlugin/Controller.d.ts +99 -0
- package/plugins/Object3DHelperPlugin/Controller.js +255 -0
- package/plugins/Object3DHelperPlugin/Controller.mjs +255 -0
- package/plugins/Object3DHelperPlugin/Controllers/BaseController.d.ts +139 -0
- package/plugins/Object3DHelperPlugin/Controllers/BaseController.js +255 -0
- package/plugins/Object3DHelperPlugin/Controllers/BaseController.mjs +255 -0
- package/plugins/Object3DHelperPlugin/Controllers/BoundingBoxController.d.ts +16 -0
- package/plugins/Object3DHelperPlugin/Controllers/BoundingBoxController.js +255 -0
- package/plugins/Object3DHelperPlugin/Controllers/BoundingBoxController.mjs +255 -0
- package/plugins/Object3DHelperPlugin/Controllers/MoveController.d.ts +66 -0
- package/plugins/Object3DHelperPlugin/Controllers/MoveController.js +255 -0
- package/plugins/Object3DHelperPlugin/Controllers/MoveController.mjs +255 -0
- package/plugins/Object3DHelperPlugin/Controllers/RotateController.d.ts +61 -0
- package/plugins/Object3DHelperPlugin/Controllers/RotateController.js +255 -0
- package/plugins/Object3DHelperPlugin/Controllers/RotateController.mjs +255 -0
- package/plugins/Object3DHelperPlugin/FiveControllerWrapper.d.ts +17 -0
- package/plugins/Object3DHelperPlugin/FiveControllerWrapper.js +255 -0
- package/plugins/Object3DHelperPlugin/FiveControllerWrapper.mjs +255 -0
- package/plugins/Object3DHelperPlugin/Helper/BaseHelper.d.ts +97 -0
- package/plugins/Object3DHelperPlugin/Helper/BaseHelper.js +255 -0
- package/plugins/Object3DHelperPlugin/Helper/BaseHelper.mjs +255 -0
- package/plugins/Object3DHelperPlugin/Helper/BoundingBoxHelper.d.ts +16 -0
- package/plugins/Object3DHelperPlugin/Helper/BoundingBoxHelper.js +255 -0
- package/plugins/Object3DHelperPlugin/Helper/BoundingBoxHelper.mjs +255 -0
- package/plugins/Object3DHelperPlugin/Helper/MoveHelper.d.ts +37 -0
- package/plugins/Object3DHelperPlugin/Helper/MoveHelper.js +255 -0
- package/plugins/Object3DHelperPlugin/Helper/MoveHelper.mjs +255 -0
- package/plugins/Object3DHelperPlugin/Helper/RotateHelper.d.ts +93 -0
- package/plugins/Object3DHelperPlugin/Helper/RotateHelper.js +255 -0
- package/plugins/Object3DHelperPlugin/Helper/RotateHelper.mjs +255 -0
- package/plugins/Object3DHelperPlugin/constant.d.ts +27 -0
- package/plugins/Object3DHelperPlugin/constant.js +255 -0
- package/plugins/Object3DHelperPlugin/constant.mjs +255 -0
- package/plugins/Object3DHelperPlugin/index.d.ts +6 -0
- package/plugins/Object3DHelperPlugin/index.js +255 -0
- package/plugins/Object3DHelperPlugin/index.mjs +255 -0
- package/plugins/Object3DHelperPlugin/typing.d.ts +143 -0
- package/plugins/Object3DHelperPlugin/utils/ArrowGroup.d.ts +22 -0
- package/plugins/Object3DHelperPlugin/utils/ArrowGroup.js +255 -0
- package/plugins/Object3DHelperPlugin/utils/ArrowGroup.mjs +255 -0
- package/plugins/Object3DHelperPlugin/utils/CenterHandle.d.ts +23 -0
- package/plugins/Object3DHelperPlugin/utils/CenterHandle.js +255 -0
- package/plugins/Object3DHelperPlugin/utils/CenterHandle.mjs +255 -0
- package/plugins/Object3DHelperPlugin/utils/PlaneHandle.d.ts +19 -0
- package/plugins/Object3DHelperPlugin/utils/PlaneHandle.js +255 -0
- package/plugins/Object3DHelperPlugin/utils/PlaneHandle.mjs +255 -0
- package/plugins/Object3DHelperPlugin/utils/calculateScaleByCamera.d.ts +5 -0
- package/plugins/Object3DHelperPlugin/utils/calculateScaleByCamera.js +255 -0
- package/plugins/Object3DHelperPlugin/utils/calculateScaleByCamera.mjs +255 -0
- package/plugins/Object3DHelperPlugin/utils/cameraHooks.d.ts +3 -0
- package/plugins/Object3DHelperPlugin/utils/cameraHooks.js +255 -0
- package/plugins/Object3DHelperPlugin/utils/cameraHooks.mjs +255 -0
- package/plugins/Object3DHelperPlugin/utils/direction.d.ts +14 -0
- package/plugins/Object3DHelperPlugin/utils/direction.js +255 -0
- package/plugins/Object3DHelperPlugin/utils/direction.mjs +255 -0
- package/plugins/Object3DHelperPlugin/utils/getMouseRaycaster.d.ts +5 -0
- package/plugins/Object3DHelperPlugin/utils/getMouseRaycaster.js +255 -0
- package/plugins/Object3DHelperPlugin/utils/getMouseRaycaster.mjs +255 -0
- package/plugins/Object3DHelperPlugin/utils/getOrthographicCameraDirection.d.ts +8 -0
- package/plugins/Object3DHelperPlugin/utils/getOrthographicCameraDirection.js +255 -0
- package/plugins/Object3DHelperPlugin/utils/getOrthographicCameraDirection.mjs +255 -0
- package/plugins/Object3DHelperPlugin/utils/setObjectQuaternion.d.ts +8 -0
- package/plugins/Object3DHelperPlugin/utils/setObjectQuaternion.js +255 -0
- package/plugins/Object3DHelperPlugin/utils/setObjectQuaternion.mjs +255 -0
- package/plugins/Object3DHelperPlugin/utils/solidGuide.d.ts +27 -0
- package/plugins/Object3DHelperPlugin/utils/solidGuide.js +255 -0
- package/plugins/Object3DHelperPlugin/utils/solidGuide.mjs +255 -0
- package/plugins/Object3DHelperPlugin/utils/tipsDom.d.ts +8 -0
- package/plugins/Object3DHelperPlugin/utils/tipsDom.js +255 -0
- package/plugins/Object3DHelperPlugin/utils/tipsDom.mjs +255 -0
- package/plugins/PanoAnimePlugin/Controller.d.ts +49 -0
- package/plugins/PanoAnimePlugin/Controller.js +255 -0
- package/plugins/PanoAnimePlugin/Controller.mjs +255 -0
- package/plugins/PanoAnimePlugin/index.d.ts +5 -0
- package/plugins/PanoAnimePlugin/index.js +255 -0
- package/plugins/PanoAnimePlugin/index.mjs +255 -0
- package/plugins/PanoAnimePlugin/typing.d.ts +37 -0
- package/plugins/WordPassPlugin/Controller.d.ts +62 -0
- package/plugins/WordPassPlugin/Controller.js +255 -0
- package/plugins/WordPassPlugin/Controller.mjs +255 -0
- package/plugins/WordPassPlugin/hersheyFont.d.ts +11 -0
- package/plugins/WordPassPlugin/hersheyFont.js +255 -0
- package/plugins/WordPassPlugin/hersheyFont.mjs +255 -0
- package/plugins/WordPassPlugin/index.d.ts +7 -0
- package/plugins/WordPassPlugin/index.js +255 -0
- package/plugins/WordPassPlugin/index.mjs +255 -0
- package/plugins/WordPassPlugin/textToStrokeOrderStrokes.d.ts +82 -0
- package/plugins/WordPassPlugin/textToStrokeOrderStrokes.js +256 -0
- package/plugins/WordPassPlugin/textToStrokeOrderStrokes.mjs +256 -0
- package/plugins/WordPassPlugin/typing.d.ts +109 -0
- package/plugins/WordPassPlugin/word-pass.d.ts +172 -0
- package/plugins/WordPassPlugin/word-pass.js +255 -0
- package/plugins/WordPassPlugin/word-pass.mjs +255 -0
- package/plugins/index.d.ts +8 -0
- package/plugins/index.js +3 -3
- package/plugins/index.mjs +3 -287
- package/plugins/thirdParty/CSS2DRenderer.d.ts +37 -0
- package/plugins/thirdParty/CSS2DRenderer.js +255 -0
- package/plugins/thirdParty/CSS2DRenderer.mjs +255 -0
- package/plugins/thirdParty/CSS3DRenderer.d.ts +45 -0
- package/plugins/thirdParty/CSS3DRenderer.js +255 -0
- package/plugins/thirdParty/CSS3DRenderer.mjs +255 -0
- package/plugins/thirdParty/OrbitControls.d.ts +78 -0
- package/plugins/thirdParty/doctorstrange-model.d.ts +92 -0
- package/plugins/thirdParty/doctorstrange-model.js +610 -0
- package/plugins/thirdParty/doctorstrange-model.mjs +610 -0
- package/plugins/thirdParty/domevents.d.ts +36 -0
- package/plugins/thirdParty/domevents.js +255 -0
- package/plugins/thirdParty/domevents.mjs +255 -0
- package/plugins/utils/absoluteUrl.js +255 -0
- package/plugins/utils/absoluteUrl.mjs +255 -0
- package/plugins/utils/calculatePath.d.ts +3 -0
- package/plugins/utils/calculatePath.js +255 -0
- package/plugins/utils/calculatePath.mjs +255 -0
- package/plugins/utils/clamp.d.ts +2 -0
- package/plugins/utils/clamp.js +255 -0
- package/plugins/utils/clamp.mjs +255 -0
- package/plugins/utils/uuid.d.ts +2 -0
- package/plugins/utils/uuid.js +255 -0
- package/plugins/utils/uuid.mjs +255 -0
- package/react/context.d.ts +1 -1
- package/react/createProvider.d.ts +1 -1
- package/react/fiveApp.d.ts +1 -1
- package/react/hooks/unsafe__useFiveInstance.d.ts +1 -1
- package/react/hooks/useFiveAction.d.ts +1 -1
- package/react/hooks/useFiveCurrentObserver.d.ts +1 -1
- package/react/hooks/useFiveCurrentState.d.ts +1 -1
- package/react/hooks/useFiveEventCallback.d.ts +1 -1
- package/react/hooks/useFiveModelEffect.d.ts +1 -1
- package/react/hooks/useFiveModelIntersectRaycaster.d.ts +1 -1
- package/react/hooks/useFivePlugin.d.ts +1 -1
- package/react/hooks/useFiveSceneEffect.d.ts +1 -1
- package/react/hooks/useFiveState.d.ts +1 -1
- package/react/hooks/useFiveWork.d.ts +1 -1
- package/react/index.js +3 -3
- package/react/index.mjs +3 -3
- package/react/withFive.d.ts +1 -1
- package/sticker/geometry.d.ts +3 -0
- package/sticker/index.d.ts +68 -0
- package/sticker/index.js +255 -0
- package/sticker/index.mjs +358 -0
- package/umd/five-gltf-loader.js +255 -0
- package/umd/five-line.js +322 -0
- package/umd/five-plugins.js +817 -3
- package/umd/five-react.js +3 -3
- package/umd/five-sticker.js +255 -0
- package/umd/five-vfx.js +323 -0
- package/umd/five.js +472 -412
- package/vfx/airflow/airflow.d.ts +18 -0
- package/vfx/common/simplex-noise.d.ts +2 -0
- package/vfx/frame/frame.d.ts +27 -0
- package/vfx/index.d.ts +7 -0
- package/vfx/index.js +255 -0
- package/vfx/index.mjs +738 -0
- package/vfx/particle/instance.d.ts +36 -0
- package/vfx/particle/particle.d.ts +119 -0
- package/vfx/particle/utils.d.ts +11 -0
- package/vfx/particle-gpu/particle.d.ts +75 -0
- package/vfx/particle-gpu/utils.d.ts +11 -0
- package/vfx/spotLight/spotLight.d.ts +15 -0
- package/work-downloader/components/model-3d-tile.d.ts +2 -0
- package/work-downloader/components/model.d.ts +3 -0
- package/work-downloader/components/observer.d.ts +9 -0
- package/work-downloader/download.d.ts +16 -0
- package/work-downloader/index.d.ts +2 -0
- package/work-downloader/index.js +255 -0
- package/work-downloader/index.mjs +567 -0
- package/work-downloader/type.d.ts +28 -0
- package/work-downloader/utils/download-to-file.d.ts +1 -0
- package/work-downloader/utils/image-processing.d.ts +7 -0
- package/work-downloader/utils/join-url.d.ts +2 -0
- package/work-downloader/utils/log.d.ts +1 -0
- package/work-downloader/utils/relative-url.d.ts +1 -0
- package/docs/interfaces/index.PBMHDRConfig.html +0 -12
- package/five/gaussian-splatting/util/renderData.d.ts +0 -66
- package/five/gaussian-splatting/worker/dataWorker.d.ts +0 -1
- package/five/three-version-check.d.ts +0 -1
- package/five/utils/hdr-data.d.ts +0 -13
- package/five/utils/shaderContentFix.d.ts +0 -7
- /package/five/{renderer/compute-renderers/shaders/rasterize.d.ts → gaussian-splatting/gpu-sort/shaders/prefixSum.d.ts} +0 -0
|
@@ -46,6 +46,8 @@ declare class Five extends Subscribe<EventTypes> {
|
|
|
46
46
|
* Model 模型游走模式
|
|
47
47
|
* Floorplan 模型查看模式
|
|
48
48
|
* Topview 户型图模式
|
|
49
|
+
* VRPanorama VR眼镜模式
|
|
50
|
+
* XRPanorama XR 全景模式(WebXR,需 forceWebGL)
|
|
49
51
|
* ```
|
|
50
52
|
*/
|
|
51
53
|
static Mode: {
|
|
@@ -54,6 +56,8 @@ declare class Five extends Subscribe<EventTypes> {
|
|
|
54
56
|
readonly Floorplan: "Floorplan";
|
|
55
57
|
readonly Topview: "Topview";
|
|
56
58
|
readonly Mapview: "Mapview";
|
|
59
|
+
readonly VRPanorama: "VRPanorama";
|
|
60
|
+
readonly XRPanorama: "XRPanorama";
|
|
57
61
|
};
|
|
58
62
|
/**
|
|
59
63
|
* 自动播放状态是否暂停
|
|
@@ -159,6 +163,7 @@ declare class Five extends Subscribe<EventTypes> {
|
|
|
159
163
|
private helperGroup;
|
|
160
164
|
private modeChangeDuration;
|
|
161
165
|
private enableWheel;
|
|
166
|
+
private _enableHDR;
|
|
162
167
|
private controller?;
|
|
163
168
|
private destroyed;
|
|
164
169
|
private stateSynced;
|
|
@@ -212,7 +217,7 @@ declare class Five extends Subscribe<EventTypes> {
|
|
|
212
217
|
*/
|
|
213
218
|
get helperVisible(): boolean;
|
|
214
219
|
set helperVisible(visible: boolean);
|
|
215
|
-
updateConfiguration(args: Pick<FiveInitArgs, "panorama" | "model" | "floorplan" | "topview" | "mapview" | "imageOptions" | "textureOptions">, refresh?: boolean): void;
|
|
220
|
+
updateConfiguration(args: Pick<FiveInitArgs, "panorama" | "model" | "floorplan" | "topview" | "mapview" | "vrPanorama" | "xrPanorama" | "imageOptions" | "textureOptions">, refresh?: boolean): void;
|
|
216
221
|
/**
|
|
217
222
|
* 将显示区域加载到页面 DOM 中
|
|
218
223
|
* @description
|
|
@@ -494,5 +499,14 @@ declare class Five extends Subscribe<EventTypes> {
|
|
|
494
499
|
/** 开启 AdaptiveLuminance */
|
|
495
500
|
get enableAdaptiveLuminance(): boolean;
|
|
496
501
|
set enableAdaptiveLuminance(enable: boolean);
|
|
502
|
+
/**
|
|
503
|
+
* 是否开启了 HDR(只读)。
|
|
504
|
+
* 由构造时的 `enableHDR` 初始化参数决定,并受 `canWebGPU`/`forceWebGL` 影响
|
|
505
|
+
* (forceWebGL 下 XR 的 projection layer 固定 RGBA8,HDR 没有落地路径,两者互斥),
|
|
506
|
+
* 实际生效值可能与传入的初始化参数不同。开启后主渲染管线的 outputType 为
|
|
507
|
+
* `THREE.HalfFloatType`,否则为默认的 `THREE.UnsignedByteType`。
|
|
508
|
+
* 运行时不可切换(涉及渲染目标重建),因此只提供只读 getter,不提供 setter。
|
|
509
|
+
*/
|
|
510
|
+
get enableHDR(): boolean;
|
|
497
511
|
}
|
|
498
512
|
export { Five, FiveInitArgs };
|
|
@@ -52,6 +52,17 @@ interface FiveInitArgs {
|
|
|
52
52
|
* @default `false`
|
|
53
53
|
*/
|
|
54
54
|
antialias?: boolean;
|
|
55
|
+
/**
|
|
56
|
+
* 是否开启 HDR 支持
|
|
57
|
+
* @description
|
|
58
|
+
* 开启后渲染管线会使用 `THREE.HalfFloatType` 作为输出类型,
|
|
59
|
+
* 以支持更高的动态范围,避免高光过曝等问题。
|
|
60
|
+
* 会带来一定的性能与显存开销。
|
|
61
|
+
*
|
|
62
|
+
* 最终是否生效还取决于设备/浏览器能力:仅当同时满足
|
|
63
|
+
* “显示器支持高动态范围(`(dynamic-range: high)`)”与“设备支持 WebGPU”时才会真正开启。
|
|
64
|
+
* @default `false`
|
|
65
|
+
*/
|
|
55
66
|
enableHDR?: boolean;
|
|
56
67
|
/**
|
|
57
68
|
* 屏幕渲染区域
|
|
@@ -121,6 +132,10 @@ interface FiveInitArgs {
|
|
|
121
132
|
topview?: ControllerCustomInitTypes["Topview"];
|
|
122
133
|
/** 地图模式下的特定参数 */
|
|
123
134
|
mapview?: ControllerCustomInitTypes["Mapview"];
|
|
135
|
+
/** VR眼镜模式下的特定参数 */
|
|
136
|
+
vrPanorama?: ControllerCustomInitTypes["VRPanorama"];
|
|
137
|
+
/** XR 全景模式(WebXR)下的特定参数 */
|
|
138
|
+
xrPanorama?: ControllerCustomInitTypes["XRPanorama"];
|
|
124
139
|
/**
|
|
125
140
|
* 模式间切换时的过度动画时间
|
|
126
141
|
* @description
|
|
@@ -155,7 +170,23 @@ interface FiveInitArgs {
|
|
|
155
170
|
*/
|
|
156
171
|
powerPreference?: 'high-performance' | 'low-power' | 'default';
|
|
157
172
|
/**
|
|
158
|
-
*
|
|
173
|
+
* 强制使用 WebGL2 回落后端
|
|
174
|
+
* @description
|
|
175
|
+
* `three` 的 WebGPU 后端目前不支持 WebXR(`THREE.XRManager` 会直接抛错),
|
|
176
|
+
* 因此需要进入 XR(VR 眼镜)时必须传入 `forceWebGL: true`。
|
|
177
|
+
*
|
|
178
|
+
* 该开关只在 renderer 构造期生效,**运行时无法切换后端**。
|
|
179
|
+
* 业务侧的设备检测必须发生在 `new Five()` 之前。
|
|
180
|
+
*
|
|
181
|
+
* 代价:
|
|
182
|
+
* - 点云走 NodeMaterial 路径而非 compute 光栅化
|
|
183
|
+
* - 3DGS 只能走 CPU 排序(`RASTER_CPU_SORT`)
|
|
184
|
+
* - `enableHDR` 不再生效(XR projection layer 固定 RGBA8)
|
|
185
|
+
* - 如果设置了 `renderer` 参数则不生效,请对传入的 renderer 自行设置
|
|
186
|
+
*/
|
|
187
|
+
forceWebGL?: boolean;
|
|
188
|
+
/**
|
|
189
|
+
* @deprecated 在 five-webgpu 中无效(未接线)。需要 WebGL2 后端请使用 `forceWebGL`。
|
|
159
190
|
*/
|
|
160
191
|
webgl2?: boolean;
|
|
161
192
|
/**
|
|
@@ -5,7 +5,8 @@
|
|
|
5
5
|
* - **Floorplan**: 模型查看模式
|
|
6
6
|
* - **Topview**: 户型图模式
|
|
7
7
|
* - **Mapview**: 地图模式
|
|
8
|
-
* - **VRPanorama**: VR
|
|
8
|
+
* - **VRPanorama**: VR眼镜模式(手机 Cardboard 分屏)
|
|
9
|
+
* - **XRPanorama**: VR 硬件(WebXR)模式,需 `forceWebGL`
|
|
9
10
|
*/
|
|
10
11
|
type Mode =
|
|
11
12
|
/** 模型查看模式 */
|
|
@@ -16,6 +17,12 @@ type Mode =
|
|
|
16
17
|
"Mapview" |
|
|
17
18
|
/** 全景图游走模式 */
|
|
18
19
|
"Panorama" |
|
|
20
|
+
/** VR盒子模式 */
|
|
21
|
+
"VRPanorama" |
|
|
22
|
+
/**
|
|
23
|
+
* XR模式
|
|
24
|
+
*/
|
|
25
|
+
"XRPanorama" |
|
|
19
26
|
/** 模型游走模式 */
|
|
20
27
|
"Model";
|
|
21
28
|
declare function isThirdPersonMode(mode: Mode): boolean;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import * as THREE from "three/webgpu";
|
|
2
|
+
import { Sensor } from "./sensor";
|
|
3
|
+
declare class Cardboard {
|
|
4
|
+
renderer: THREE.WebGPURenderer;
|
|
5
|
+
sensor: Sensor;
|
|
6
|
+
scale: number;
|
|
7
|
+
private cameraL;
|
|
8
|
+
private cameraR;
|
|
9
|
+
constructor(renderer: THREE.WebGPURenderer);
|
|
10
|
+
render(scene: THREE.Scene, camera: THREE.Camera): void;
|
|
11
|
+
dispose(): void;
|
|
12
|
+
}
|
|
13
|
+
export { Cardboard };
|
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
import * as THREE from "three/webgpu";
|
|
2
|
+
declare class SensorSample {
|
|
3
|
+
sample: THREE.Vector3;
|
|
4
|
+
timestampS: number;
|
|
5
|
+
constructor(sample?: THREE.Vector3, timestampS?: number);
|
|
6
|
+
set(sample: THREE.Vector3, timestampS: number): void;
|
|
7
|
+
copy(sensorSample: SensorSample): void;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* An implementation of a simple complementary filter, which fuses gyroscope and
|
|
11
|
+
* accelerometer data from the 'devicemotion' event.
|
|
12
|
+
*
|
|
13
|
+
* Accelerometer data is very noisy, but stable over the long term.
|
|
14
|
+
* Gyroscope data is smooth, but tends to drift over the long term.
|
|
15
|
+
*
|
|
16
|
+
* This fusion is relatively simple:
|
|
17
|
+
* 1. Get orientation estimates from accelerometer by applying a low-pass filter
|
|
18
|
+
* on that data.
|
|
19
|
+
* 2. Get orientation estimates from gyroscope by integrating over time.
|
|
20
|
+
* 3. Combine the two estimates, weighing (1) in the long term, but (2) for the
|
|
21
|
+
* short term.
|
|
22
|
+
*/
|
|
23
|
+
declare class ComplementaryFilter {
|
|
24
|
+
kFilter: number;
|
|
25
|
+
isDebug: boolean;
|
|
26
|
+
currentAccelMeasurement: SensorSample;
|
|
27
|
+
currentGyroMeasurement: SensorSample;
|
|
28
|
+
previousGyroMeasurement: SensorSample;
|
|
29
|
+
filterQ: THREE.Quaternion;
|
|
30
|
+
previousFilterQ: THREE.Quaternion;
|
|
31
|
+
accelQ: THREE.Quaternion;
|
|
32
|
+
isOrientationInitialized: boolean;
|
|
33
|
+
estimatedGravity: THREE.Vector3;
|
|
34
|
+
measuredGravity: THREE.Vector3;
|
|
35
|
+
gyroIntegralQ: THREE.Quaternion;
|
|
36
|
+
constructor(kFilter: number, isDebug: boolean);
|
|
37
|
+
addAccelMeasurement(vector: THREE.Vector3, timestampS: number): void;
|
|
38
|
+
addGyroMeasurement(vector: THREE.Vector3, timestampS: number): void;
|
|
39
|
+
getOrientation(): THREE.Quaternion;
|
|
40
|
+
private run_;
|
|
41
|
+
private accelToQuaternion_;
|
|
42
|
+
private gyroToQuaternionDelta_;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Given an orientation and the gyroscope data, predicts the future orientation
|
|
46
|
+
* of the head. This makes rendering appear faster.
|
|
47
|
+
*
|
|
48
|
+
* Also see: http://msl.cs.uiuc.edu/~lavalle/papers/LavYerKatAnt14.pdf
|
|
49
|
+
*
|
|
50
|
+
* @param predictionTimeS - time from head movement to the appearance of
|
|
51
|
+
* the corresponding image.
|
|
52
|
+
*/
|
|
53
|
+
declare class PosePredictor {
|
|
54
|
+
predictionTimeS: number;
|
|
55
|
+
isDebug: boolean;
|
|
56
|
+
previousQ: THREE.Quaternion;
|
|
57
|
+
previousTimestampS: number | null;
|
|
58
|
+
deltaQ: THREE.Quaternion;
|
|
59
|
+
outQ: THREE.Quaternion;
|
|
60
|
+
constructor(predictionTimeS: number, isDebug: boolean);
|
|
61
|
+
getPrediction(currentQ: THREE.Quaternion, gyro: THREE.Vector3, timestampS: number): THREE.Quaternion;
|
|
62
|
+
}
|
|
63
|
+
declare class Pose {
|
|
64
|
+
angularAcceleration: Float32Array | null;
|
|
65
|
+
angularVelocity: Float32Array | null;
|
|
66
|
+
linearAcceleration: Float32Array | null;
|
|
67
|
+
linearVelocity: Float32Array | null;
|
|
68
|
+
orientation: Float32Array | null;
|
|
69
|
+
position: Float32Array | null;
|
|
70
|
+
constructor();
|
|
71
|
+
}
|
|
72
|
+
declare class FrameData {
|
|
73
|
+
leftProjectionMatrix: Float32Array;
|
|
74
|
+
leftViewMatrix: Float32Array;
|
|
75
|
+
pose: Pose;
|
|
76
|
+
rightProjectionMatrix: Float32Array;
|
|
77
|
+
rightViewMatrix: Float32Array;
|
|
78
|
+
timestamp: number;
|
|
79
|
+
constructor();
|
|
80
|
+
}
|
|
81
|
+
declare class FieldOfView {
|
|
82
|
+
leftDegrees: number;
|
|
83
|
+
rightDegrees: number;
|
|
84
|
+
upDegrees: number;
|
|
85
|
+
downDegrees: number;
|
|
86
|
+
constructor();
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* The pose sensor, implemented using DeviceMotion APIs.
|
|
90
|
+
*/
|
|
91
|
+
declare class Sensor {
|
|
92
|
+
viewer: {
|
|
93
|
+
id?: string;
|
|
94
|
+
label?: string;
|
|
95
|
+
fov: number;
|
|
96
|
+
interLensDistance: number;
|
|
97
|
+
baselineLensDistance: number;
|
|
98
|
+
screenLensDistance: number;
|
|
99
|
+
distortionCoefficients: [number, number];
|
|
100
|
+
inverseCoefficients: number[];
|
|
101
|
+
};
|
|
102
|
+
device: {
|
|
103
|
+
widthMeters: number;
|
|
104
|
+
heightMeters: number;
|
|
105
|
+
bevelMeters: number;
|
|
106
|
+
};
|
|
107
|
+
depthNear: number;
|
|
108
|
+
depthFar: number;
|
|
109
|
+
yawOnly: boolean;
|
|
110
|
+
accelerometer: THREE.Vector3;
|
|
111
|
+
gyroscope: THREE.Vector3;
|
|
112
|
+
filter: ComplementaryFilter;
|
|
113
|
+
posePredictor: PosePredictor;
|
|
114
|
+
isFirefoxAndroid: boolean;
|
|
115
|
+
isIOS: boolean;
|
|
116
|
+
isDeviceMotionInRadians: boolean;
|
|
117
|
+
isWithoutDeviceMotion: boolean;
|
|
118
|
+
filterToWorldQ: THREE.Quaternion;
|
|
119
|
+
inverseWorldToScreenQ: THREE.Quaternion;
|
|
120
|
+
worldToScreenQ: THREE.Quaternion;
|
|
121
|
+
originalPoseAdjustQ: THREE.Quaternion;
|
|
122
|
+
resetQ: THREE.Quaternion;
|
|
123
|
+
private previousTimestampS;
|
|
124
|
+
private orientationOut_;
|
|
125
|
+
private _deviceOrientationQ?;
|
|
126
|
+
private deviceOrientationFixQ?;
|
|
127
|
+
private deviceOrientationFilterToWorldQ?;
|
|
128
|
+
constructor(kFilter: number, predictionTime: number, yawOnly: boolean, isDebug: boolean);
|
|
129
|
+
getPosition(): any;
|
|
130
|
+
getOrientation(): Float32Array<ArrayBufferLike>;
|
|
131
|
+
getPose(): Pose;
|
|
132
|
+
resetPose(): void;
|
|
133
|
+
getFrameData(frameData: FrameData): FrameData;
|
|
134
|
+
start(): () => void;
|
|
135
|
+
getEyeOffset(): {
|
|
136
|
+
left: number[];
|
|
137
|
+
right: number[];
|
|
138
|
+
};
|
|
139
|
+
getEyeProjectionMatrix(): {
|
|
140
|
+
left: number[];
|
|
141
|
+
right: number[];
|
|
142
|
+
};
|
|
143
|
+
getEyeFieldOfView(): {
|
|
144
|
+
left: FieldOfView;
|
|
145
|
+
right: FieldOfView;
|
|
146
|
+
};
|
|
147
|
+
private onDeviceOrientation_;
|
|
148
|
+
private onDeviceMotion_;
|
|
149
|
+
private updateDeviceMotion_;
|
|
150
|
+
private onOrientationChange_;
|
|
151
|
+
/**
|
|
152
|
+
* This is only needed if we are in an cross origin iframe on iOS to work around
|
|
153
|
+
* this issue: https://bugs.webkit.org/show_bug.cgi?id=152299.
|
|
154
|
+
*/
|
|
155
|
+
private onMessage_;
|
|
156
|
+
private setScreenTransform_;
|
|
157
|
+
}
|
|
158
|
+
export { Sensor, Pose, FrameData, FieldOfView };
|
|
@@ -30,6 +30,8 @@ interface BaseControllerInitArgs {
|
|
|
30
30
|
extraElements: HTMLElement[];
|
|
31
31
|
imageOptions: ImageOptions;
|
|
32
32
|
enableWheel: boolean;
|
|
33
|
+
/** 是否开启 HDR 支持,详见 {@link FiveInitArgs.enableHDR} */
|
|
34
|
+
enableHDR: boolean;
|
|
33
35
|
videoTexture: THREE.VideoTexture;
|
|
34
36
|
initial: {
|
|
35
37
|
/** 初始化状态 */
|
|
@@ -65,6 +67,7 @@ declare class BaseController extends Subscribe<ControllerEventTypes> implements
|
|
|
65
67
|
videoTexture: THREE.VideoTexture;
|
|
66
68
|
extraElements: HTMLElement[];
|
|
67
69
|
enableWheel: boolean;
|
|
70
|
+
enableHDR: boolean;
|
|
68
71
|
initial: {
|
|
69
72
|
state: Partial<State>;
|
|
70
73
|
currentState: State;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { GestureEvent, BaseEvent, StateEvent, IntersectEvent, PanoEvent, PanoTextureEvent, XRSessionEvent, XRGestureEvent, XRControllerEvent } from "../utils/event";
|
|
1
|
+
import { GestureEvent, BaseEvent, StateEvent, IntersectEvent, PanoEvent, PanoPrepareEvent, PanoTextureEvent, XRSessionEvent, XRGestureEvent, XRControllerEvent } from "../utils/event";
|
|
2
2
|
type ControllerEventTypes = {
|
|
3
3
|
/** 手势 滑动屏幕 */
|
|
4
4
|
"gesture.pan"(event: GestureEvent): void;
|
|
@@ -16,8 +16,8 @@ type ControllerEventTypes = {
|
|
|
16
16
|
"gesture.mousemove"(event: GestureEvent): void;
|
|
17
17
|
/** 手势 惯性 */
|
|
18
18
|
"gesture.momentum"(event: GestureEvent): void;
|
|
19
|
-
/**
|
|
20
|
-
"gesture.
|
|
19
|
+
/** 手势被触发 */
|
|
20
|
+
"gesture.fire"(event: GestureEvent): void;
|
|
21
21
|
/** 模态切换动画 开始 */
|
|
22
22
|
"initAnimation.start"(event: StateEvent): void;
|
|
23
23
|
/** 模态切换动画 结束 */
|
|
@@ -29,6 +29,8 @@ type ControllerEventTypes = {
|
|
|
29
29
|
"pano.select"(event: PanoEvent): void;
|
|
30
30
|
/** 请求点位 */
|
|
31
31
|
"pano.request"(event: PanoEvent): void;
|
|
32
|
+
/** 准备点位 */
|
|
33
|
+
"pano.prepare"(event: PanoPrepareEvent): void;
|
|
32
34
|
/** 运动去点位 */
|
|
33
35
|
"pano.moveTo"(event: PanoEvent): void;
|
|
34
36
|
/** 运动点位过程 */
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as THREE from "three/webgpu";
|
|
2
2
|
import { NetworkResponse, NetWorkMeta } from "../utils/ajax";
|
|
3
|
-
import { ModelScene, PBMPanoPicture } from "../model";
|
|
3
|
+
import { ModelScene, PBMPanoPicture, PBMPanoGainmap } from "../model";
|
|
4
4
|
import { Works, WorkObserver } from "../work";
|
|
5
5
|
import { Pano, PanoId } from "../utils/pano";
|
|
6
6
|
import { TextureLoader } from "../texture/loader";
|
|
@@ -84,7 +84,7 @@ declare class PanoramaController extends PanoramaLikeController implements Requi
|
|
|
84
84
|
protected pendingTextureTask?: {
|
|
85
85
|
panoId: PanoId;
|
|
86
86
|
hash: string;
|
|
87
|
-
onLoad(colorResponse: NetworkResponse<THREE.
|
|
87
|
+
onLoad(colorResponse: NetworkResponse<THREE.CubeTexture, NetWorkMeta[]>, gainmap?: PBMPanoGainmap): void;
|
|
88
88
|
onError(error: Error): void;
|
|
89
89
|
};
|
|
90
90
|
protected panoVideo: PanoVideo;
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { CameraPose } from "../core/camera";
|
|
2
|
+
import { Cardboard } from "../cardboard";
|
|
3
|
+
import { State } from "../types/state";
|
|
4
|
+
import { Pose } from "../types/pose";
|
|
5
|
+
import { BaseControllerInitArgs } from "./base";
|
|
6
|
+
import { PanoramaController, PanoramaControllerCustomInitArgs, PanoramaControllerInitArgs } from "./panorama";
|
|
7
|
+
import { PanoCircleMeshInterface } from "../types/panoCircleMeshInterface";
|
|
8
|
+
interface VRPanoramaControllerCustomInitArgs extends Omit<PanoramaControllerCustomInitArgs, "maxLatitude" | "minLatitude"> {
|
|
9
|
+
}
|
|
10
|
+
declare const defaultVRPanoramaControllerCustomInitArgs: Required<VRPanoramaControllerCustomInitArgs>;
|
|
11
|
+
type VRPanoramaControllerInitArgs = BaseControllerInitArgs & VRPanoramaControllerCustomInitArgs;
|
|
12
|
+
declare class VRPanoramaController extends PanoramaController implements Required<VRPanoramaControllerInitArgs> {
|
|
13
|
+
protected cardboard: Cardboard;
|
|
14
|
+
protected helperElement?: HTMLElement;
|
|
15
|
+
protected activePanoMesh?: PanoCircleMeshInterface;
|
|
16
|
+
protected activeTime?: number;
|
|
17
|
+
static parseArgs(args: VRPanoramaControllerInitArgs): Required<PanoramaControllerInitArgs>;
|
|
18
|
+
static initAnimationEndState(args: VRPanoramaControllerInitArgs): State;
|
|
19
|
+
constructor(args: VRPanoramaControllerInitArgs);
|
|
20
|
+
updateConfiguration(args: VRPanoramaControllerCustomInitArgs): boolean;
|
|
21
|
+
/** 析构函数 */
|
|
22
|
+
destroy(): void;
|
|
23
|
+
/** 是否准备好,即不在用户操作中,并且不再动画中 */
|
|
24
|
+
isReady(): boolean;
|
|
25
|
+
/** 生命周期: 更新屏幕渲染尺寸 */
|
|
26
|
+
updateRenderSize(): void;
|
|
27
|
+
/** 转动摄像头 */
|
|
28
|
+
updateCamera(pose: Partial<Pose>, duration: number, userAction: boolean): Promise<void>;
|
|
29
|
+
/** 通过帧动画转动摄像头 */
|
|
30
|
+
updateCameraWithKeyframes(keyframes: {
|
|
31
|
+
progress: number;
|
|
32
|
+
value: Pose;
|
|
33
|
+
key?: string;
|
|
34
|
+
}[], duration: number, userAction: boolean): Promise<void>;
|
|
35
|
+
/** 时间迭代 */
|
|
36
|
+
updateTime(time: number, deltaTime: number, ...args: any[]): void;
|
|
37
|
+
/** 生命周期 渲染 */
|
|
38
|
+
render(): boolean;
|
|
39
|
+
/**
|
|
40
|
+
* 同步修改相机参数
|
|
41
|
+
* @param cameraPose
|
|
42
|
+
*/
|
|
43
|
+
protected setCamera(cameraPose?: Partial<CameraPose>): void;
|
|
44
|
+
/** 删除提示层 */
|
|
45
|
+
protected destroyHelper(): void;
|
|
46
|
+
/** 设置提示层大小 */
|
|
47
|
+
protected updateHelperElementSize(): void;
|
|
48
|
+
/** 计算看向方向的射线碰撞 */
|
|
49
|
+
protected intersect(time: number): PanoCircleMeshInterface | undefined;
|
|
50
|
+
protected onPanGesture(): void;
|
|
51
|
+
protected onTapGesture(): void;
|
|
52
|
+
protected onPinchGesture(): void;
|
|
53
|
+
protected onMouseMove(): void;
|
|
54
|
+
protected onMouseOut(): void;
|
|
55
|
+
}
|
|
56
|
+
export { VRPanoramaController, VRPanoramaControllerInitArgs, VRPanoramaControllerCustomInitArgs, defaultVRPanoramaControllerCustomInitArgs, };
|