@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
|
@@ -26,6 +26,7 @@ declare class PanoCircleMeshCustom extends THREE.Object3D implements PanoCircleM
|
|
|
26
26
|
loading: boolean;
|
|
27
27
|
disabled: boolean;
|
|
28
28
|
private panoMesh;
|
|
29
|
+
private panoU;
|
|
29
30
|
constructor(options?: PanoCircleMeshCustomOptions);
|
|
30
31
|
setProgress(progress: number): void;
|
|
31
32
|
setOpacity(opacity: number): void;
|
package/five/model/index.d.ts
CHANGED
|
@@ -4,8 +4,9 @@ export { PBMGaussianSplattingObject, type SplatData, } from "./objects/pbmGaussi
|
|
|
4
4
|
export { PBMGaussianSplattingObject as PBMGSObject, } from "./objects/pbmGaussianSplattingObject";
|
|
5
5
|
export { PBMPointCloud, type PointCloudData, } from "./objects/pbmPointCloud";
|
|
6
6
|
export { PBMGaussianSplattingRenderMesh, } from "./objects/pbmGaussianSplattingRenderMesh";
|
|
7
|
-
export { PBMGaussianSplattingNodeMaterial, } from "./materials/pbmGaussianSplattingNodeMaterial";
|
|
8
|
-
export {
|
|
7
|
+
export { PBMGaussianSplattingNodeMaterial, type PBMGaussianSplattingNodeMaterialOptions, } from "./materials/pbmGaussianSplattingNodeMaterial";
|
|
8
|
+
export { PBMPointCloudMaterial, } from "./materials/pbmPointCloudMaterial";
|
|
9
|
+
export { PBMUpdateable, PBMPanoFilter, PBMCustomNode, PBMVertexMarkFlag, customNodesCacheKey, type IPBMMaterial, type PBMPanoFilterValue, type PBMAlphaMode, type PBMClipperParameter, type PBMColorStyle, type PBMFloorStyle, type PBMRoofStyle, type PBMPanoPicture, type PBMPanoGainmap, type PBMPanoDepth, type PBMPointBack, type PBMPointCloudShaderType, type PBMPointShape, type PBMPointSize, type PBMRefinedScreen, type PBMTransition, type PBMCustomNodeSlots, type PBMCustomNodeTargetType, type PBMCustomNodeOptions, type PBMCustomNodeContext, type PBMCustomNodePanoContext, } from "./materials/pbmMaterial";
|
|
9
10
|
export { type PBMMeshMaterial, PBMMeshBasicMaterial, PBMMeshPhongMaterial, PBMMeshPhysicalMaterial, PBMMeshPanoOnlyMaterial } from './materials/pbmMeshMaterial';
|
|
10
11
|
export { registerPBMMaterials, } from './materials/pbmMaterialRegister';
|
|
11
12
|
export { PBMMeshBasicNodeMaterial, } from './materials/nodes/pbmMeshBasicNodeMaterial';
|
|
@@ -1,8 +1,40 @@
|
|
|
1
1
|
import { Fetcher } from "../../utils/ajax";
|
|
2
|
-
import { PBMGaussianSplattingObject } from '../objects/pbmGaussianSplattingObject';
|
|
2
|
+
import type { PBMGaussianSplattingObject } from '../objects/pbmGaussianSplattingObject';
|
|
3
3
|
import { LoadResultType } from './shared';
|
|
4
4
|
/**
|
|
5
|
-
*
|
|
5
|
+
* SPZ 纯解码的输出:仅包含原始属性数组(无 THREE / DOM 依赖),
|
|
6
|
+
* 因此可在 Worker 中安全运行。`packedData` 预留给后续在 Worker 内
|
|
7
|
+
* 用 WASM pack 后回填(见 Task 1.2)。
|
|
8
|
+
*/
|
|
9
|
+
export interface DecodedSpz {
|
|
10
|
+
numPoints: number;
|
|
11
|
+
shDegree: number;
|
|
12
|
+
positions: Float32Array;
|
|
13
|
+
colors: Uint8Array;
|
|
14
|
+
scales: Float32Array;
|
|
15
|
+
rotations: Float32Array;
|
|
16
|
+
sh1?: Float32Array;
|
|
17
|
+
sh2?: Float32Array;
|
|
18
|
+
sh3?: Float32Array;
|
|
19
|
+
/** Worker 内 WASM pack 好的 8 uint32/splat GPU 数据(Task 1.2 填入)。 */
|
|
20
|
+
packedData?: Uint32Array;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* 纯解码函数:把 SPZ 字节流(gzip)解码为原始属性数组。
|
|
24
|
+
*
|
|
25
|
+
* - 不触碰主线程 / DOM,仅使用 `DecompressionStream`、`DataView`、TypedArray,
|
|
26
|
+
* 因此可在 Worker 内直接运行。
|
|
27
|
+
* - 保留 magic / version 校验(非法魔数或不支持的版本会 reject)。
|
|
28
|
+
* - 数据不足(读越界)时由 `GunzipReader` 抛出 `Unexpected EOF` 而 reject。
|
|
29
|
+
*/
|
|
30
|
+
export declare function decodeSpz(fileBytes: Uint8Array | ArrayBuffer): Promise<DecodedSpz>;
|
|
31
|
+
/**
|
|
32
|
+
* 解析 spz 格式数据为 `PBMGaussianSplattingObject`。
|
|
33
|
+
*
|
|
34
|
+
* - 解码 + WASM pack 全部在 `SPZ_Decode_Worker` 内完成,主线程不阻塞、
|
|
35
|
+
* 不重复 decode/pack(多路复用调度见文件末尾第 3 节)。
|
|
36
|
+
* - 仅在主线程动态 import 并构造 `PBMGaussianSplattingObject`(THREE 依赖),
|
|
37
|
+
* 避免把 THREE 打进 worker 包。
|
|
6
38
|
* @returns Promise<PBMGaussianSplattingObject>
|
|
7
39
|
*/
|
|
8
40
|
export declare function parseSpz(fileBytes: Uint8Array | ArrayBuffer): Promise<PBMGaussianSplattingObject>;
|
|
@@ -12,3 +44,19 @@ export declare function loadSpz(url: string, options?: {
|
|
|
12
44
|
fetcher?: Fetcher;
|
|
13
45
|
onDownloadProgress?: (percent: number, loaded?: number, total?: number) => void;
|
|
14
46
|
}): Promise<LoadResultType>;
|
|
47
|
+
/** SPZ_Decode_Worker 的解码请求。 */
|
|
48
|
+
export interface SpzDecodeRequest {
|
|
49
|
+
requestId: number;
|
|
50
|
+
fileBytes: ArrayBuffer;
|
|
51
|
+
}
|
|
52
|
+
/** SPZ_Decode_Worker 的解码响应(成功回传 decoded,失败回传 error)。 */
|
|
53
|
+
export interface SpzDecodeResponse {
|
|
54
|
+
requestId: number;
|
|
55
|
+
decoded?: DecodedSpz;
|
|
56
|
+
error?: string;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* 构造一个 SPZ_Decode_Worker 实例(自引用 inline worker)。
|
|
60
|
+
* 主线程的多路复用调度基于该入口创建共享 Worker。
|
|
61
|
+
*/
|
|
62
|
+
export declare function createSpzDecodeWorker(): Worker;
|
|
@@ -9,6 +9,8 @@ export declare class PBMMeshBasicNodeMaterial extends THREE.MeshBasicNodeMateria
|
|
|
9
9
|
static get type(): string;
|
|
10
10
|
readonly isPBMMeshBasicNodeMaterial = true;
|
|
11
11
|
constructor(parameters?: THREE.MeshBasicNodeMaterialParameters);
|
|
12
|
+
customProgramCacheKey(): string;
|
|
13
|
+
setupVertex(builder: THREE.NodeBuilder): THREE.Node;
|
|
12
14
|
setup(builder: THREE.NodeBuilder): void;
|
|
13
15
|
setupObserver(builder: THREE.NodeBuilder): THREE.NodeMaterialObserver;
|
|
14
16
|
}
|
|
@@ -9,6 +9,8 @@ export declare class PBMMeshPanoOnlyNodeMaterial extends THREE.MeshBasicNodeMate
|
|
|
9
9
|
static get type(): string;
|
|
10
10
|
readonly isPBMPanoOnlyNodeMaterial = true;
|
|
11
11
|
constructor(parameters?: THREE.MeshBasicNodeMaterialParameters);
|
|
12
|
+
customProgramCacheKey(): string;
|
|
13
|
+
setupVertex(builder: THREE.NodeBuilder): THREE.Node;
|
|
12
14
|
setup(builder: THREE.NodeBuilder): void;
|
|
13
15
|
setupObserver(builder: THREE.NodeBuilder): THREE.NodeMaterialObserver;
|
|
14
16
|
}
|
|
@@ -9,6 +9,8 @@ export declare class PBMMeshPhongNodeMaterial extends THREE.MeshPhongNodeMateria
|
|
|
9
9
|
static get type(): string;
|
|
10
10
|
readonly isPBMMeshPhongNodeMaterial = true;
|
|
11
11
|
constructor(parameters?: THREE.MeshPhongNodeMaterialParameters);
|
|
12
|
+
customProgramCacheKey(): string;
|
|
13
|
+
setupVertex(builder: THREE.NodeBuilder): THREE.Node;
|
|
12
14
|
setup(builder: THREE.NodeBuilder): void;
|
|
13
15
|
setupObserver(builder: THREE.NodeBuilder): THREE.NodeMaterialObserver;
|
|
14
16
|
}
|
|
@@ -9,6 +9,8 @@ export declare class PBMMeshPhysicalNodeMaterial extends THREE.MeshPhysicalNodeM
|
|
|
9
9
|
static get type(): string;
|
|
10
10
|
readonly isPBMMeshPhysicalNodeMaterial = true;
|
|
11
11
|
constructor(parameters?: THREE.MeshPhysicalNodeMaterialParameters);
|
|
12
|
+
customProgramCacheKey(): string;
|
|
13
|
+
setupVertex(builder: THREE.NodeBuilder): THREE.Node;
|
|
12
14
|
setup(builder: THREE.NodeBuilder): void;
|
|
13
15
|
setupObserver(builder: THREE.NodeBuilder): THREE.NodeMaterialObserver;
|
|
14
16
|
}
|
|
@@ -8,11 +8,13 @@
|
|
|
8
8
|
* - 2D 椭圆:求 Σ' 特征值 / 特征向量 → 主轴 √(8λ)
|
|
9
9
|
* - 片元透明度:exp(-0.5‖δ‖²) (δ 为贴切空间单位化坐标)
|
|
10
10
|
*
|
|
11
|
-
* 数据通过 DataTexture
|
|
12
|
-
* -
|
|
11
|
+
* 数据通过 DataTexture / 大数据纹理上传(阶段 E / 8 uint32 布局,2 texel/splat):
|
|
12
|
+
* - splatIndex 实例属性(float) — 第 i 实例要绘制的全局点索引 P(CPU reorder 紧凑写入)
|
|
13
|
+
* useOrderTexture 开启时改由 orderTexture(R32UI,宽 2048)按 instanceIndex 取 P
|
|
14
|
+
* - dataTexture RGBA32UI (2048 宽) — 每 splat 2 texel:
|
|
15
|
+
* texel0: [posX/Y/Z 的 float32 位模式(bitcast), RGBA(uint8×4) 颜色]
|
|
16
|
+
* texel1: [cov00|cov01, cov02|cov11, cov12|cov22 的 half(unpack2x16float), transformIndex<<16|layerIndex]
|
|
13
17
|
* - u_transforms RGBA32F (9 宽) — 每对象 36 float = matrixWorld16 + selected4 + inverse(matrixWorld)16
|
|
14
|
-
* - u_transformIndices R32UI (1024 宽) — 每 splat 的对象索引
|
|
15
|
-
* - u_layerIndices R32UI (1024 宽) — 每 splat 的 viewlayer 索引
|
|
16
18
|
* - u_shTexture RGBA32F — SH 系数(degree 1/2/3 线性展开)
|
|
17
19
|
*/
|
|
18
20
|
import * as THREE from 'three/webgpu';
|
|
@@ -23,11 +25,14 @@ export interface PBMGaussianSplattingNodeMaterialOptions {
|
|
|
23
25
|
}
|
|
24
26
|
export declare class PBMGaussianSplattingNodeMaterial extends THREE.NodeMaterial {
|
|
25
27
|
readonly isPBMGaussianSplattingMaterial: true;
|
|
26
|
-
dataTexture: THREE.
|
|
28
|
+
dataTexture: THREE.Texture | null;
|
|
27
29
|
transformsTexture: THREE.DataTexture | null;
|
|
28
30
|
transformIndicesTexture: THREE.DataTexture | null;
|
|
29
31
|
layerIndicesTexture: THREE.DataTexture | null;
|
|
30
32
|
shTexture: THREE.DataTexture | null;
|
|
33
|
+
numPoints: number;
|
|
34
|
+
useOrderTexture: boolean;
|
|
35
|
+
orderTexture: THREE.Texture | null;
|
|
31
36
|
shTextureSize: THREE.Vector2;
|
|
32
37
|
aggregationEnabled: boolean;
|
|
33
38
|
aggregationProgress: number;
|
|
@@ -40,6 +45,8 @@ export declare class PBMGaussianSplattingNodeMaterial extends THREE.NodeMaterial
|
|
|
40
45
|
layerClipperRanges: THREE.Vector2[];
|
|
41
46
|
clipperMatricesInverse: THREE.Matrix4[];
|
|
42
47
|
private _uDataTex;
|
|
48
|
+
private _uOrderTex;
|
|
49
|
+
private _uNumPoints;
|
|
43
50
|
private _uTransformsTex;
|
|
44
51
|
private _uTransformIndicesTex;
|
|
45
52
|
private _uLayerIndicesTex;
|
|
@@ -1,20 +1,282 @@
|
|
|
1
1
|
import * as THREE from "three/webgpu";
|
|
2
2
|
import { Subscribe } from '../../utils/subscribe';
|
|
3
3
|
import type { PanoId } from '../../utils/pano';
|
|
4
|
-
import type
|
|
4
|
+
import { type GainmapCfgData } from '../../utils/gainmap-data';
|
|
5
5
|
import type { ParameterValue } from '../parameter';
|
|
6
6
|
export type PBMPointCloudShaderType = 'pointcloud';
|
|
7
7
|
export type PBMAlphaMode = 'OPAQUE' | 'MASK' | 'BLEND';
|
|
8
8
|
export type PBMTransition = 'BLACK' | 'SPREAD' | 'FADE';
|
|
9
9
|
export type PBMFloorStyle = 'VISIBILITY' | 'OPACITY';
|
|
10
|
+
/**
|
|
11
|
+
* 屋顶样式(仅在 vertexMarks 为 true、即模型带屋顶标记时生效)
|
|
12
|
+
* - AUTO: 根据相机俯仰角渐进裁切屋顶(默认,原有行为)
|
|
13
|
+
* - HIDE: 始终隐藏屋顶,与视角无关
|
|
14
|
+
*/
|
|
15
|
+
export type PBMRoofStyle = 'AUTO' | 'HIDE';
|
|
10
16
|
export type PBMColorStyle = 'RGB' | 'ALTITUDE' | 'CONSTANT';
|
|
11
17
|
export type PBMPointShape = 'SQUARE' | 'CIRCLE';
|
|
12
18
|
export type PBMPointSize = 'FIXED' | 'ATTENUATION';
|
|
13
19
|
export type PBMPointBack = 'VISIBLE' | 'HIDDEN' | 'DARK';
|
|
20
|
+
/**
|
|
21
|
+
* 顶点标注档位(按位掩码)。
|
|
22
|
+
* 每一类标注对应一位,可按位独立启用;新增档位时在此追加一位即可。
|
|
23
|
+
*/
|
|
24
|
+
export declare const PBMVertexMarkFlag: {
|
|
25
|
+
readonly none: 0;
|
|
26
|
+
readonly roof: 2;
|
|
27
|
+
readonly hidden: 4;
|
|
28
|
+
/** 全开,默认包含未来新增的所有标注档位 */
|
|
29
|
+
readonly all: 255;
|
|
30
|
+
};
|
|
14
31
|
export declare class PBMUpdateable extends Subscribe<{
|
|
15
32
|
"update": () => void;
|
|
16
33
|
}> {
|
|
17
34
|
}
|
|
35
|
+
/** PBMCustomNode 生效的材质类型 */
|
|
36
|
+
export type PBMCustomNodeTargetType = 'basic' | 'phong' | 'standard' | 'panoOnly' | 'pointcloud';
|
|
37
|
+
/**
|
|
38
|
+
* 全景分支中可供自定义节点使用的节点上下文。
|
|
39
|
+
* 这些字段是稳定的 PBM API,业务方不需要直接依赖内部 defines.ts 路径。
|
|
40
|
+
*/
|
|
41
|
+
export interface PBMCustomNodePanoContext {
|
|
42
|
+
/** 全景点位在世界空间中的原点(pano 矩阵的平移列) */
|
|
43
|
+
origin: THREE.Node<'vec3'>;
|
|
44
|
+
/** 当前片元对应的全景采样方向(已含 zoom 校正),可直接用于采样该 slot 的 cube 贴图 */
|
|
45
|
+
sampleDirection: THREE.Node<'vec3'>;
|
|
46
|
+
/**
|
|
47
|
+
* 该 slot 的 SDR 全景颜色(cube 贴图采样结果)
|
|
48
|
+
* @description 仅在该 slot 有贴图时可用:未加载 pano 数据(`pano0Map` / `pano1Map` 为 null)时引用会抛
|
|
49
|
+
* `THREE.TSL: texture( value ) expects a valid instance of THREE.Texture()`,
|
|
50
|
+
* 需要业务侧先在 slot 里判空(例如 `if (material.pano0Map == null) return color;`)再引用
|
|
51
|
+
*/
|
|
52
|
+
sdrColor: THREE.Node<'vec3'>;
|
|
53
|
+
/**
|
|
54
|
+
* HDR 处理后的全景颜色
|
|
55
|
+
* @description 该 slot 未启用 HDR 时(无 gainmap 数据,或 `parameter.useHDR` 关闭)回退为
|
|
56
|
+
* {@link sdrColor},业务无需判断「HDR 数据是否存在」即可安全引用;
|
|
57
|
+
* 注意回退目标本身依赖贴图存在,该 slot 无贴图时同样会抛错(见 {@link sdrColor})
|
|
58
|
+
*/
|
|
59
|
+
hdrColor: THREE.Node<'vec3'>;
|
|
60
|
+
/**
|
|
61
|
+
* 全景深度可信度
|
|
62
|
+
* @description 该 slot 无深度贴图(或深度剔除未启用)时为常量 0,即不做深度剔除
|
|
63
|
+
*/
|
|
64
|
+
depthTrust: THREE.Node<'float'>;
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* PBMCustomNode callback 可访问的内置 TSL 节点。
|
|
68
|
+
*
|
|
69
|
+
* 注意:
|
|
70
|
+
* - 这里暴露的是节点表达式,不是 CPU 侧的实时数值;它们会被编译进当前材质的 shader,
|
|
71
|
+
* 因此分支判断要用 TSL 逻辑节点(`.and()` / `.or()` / `mix()` / `If()` …),不能用 JS 的 `if` / 三元。
|
|
72
|
+
* - 引用即参与编译:slot 里用到的字段(及其依赖的 attribute / varying / uniform / 贴图)才会进入 program,
|
|
73
|
+
* 未引用的字段不产生开销;反过来,比如引用 {@link isHiddenCut} 会顺带把 `_feature_id_rsmask` 属性与
|
|
74
|
+
* `v_hiddenMark` varying 编进当前材质,即使该材质的 `vertexMarks` 为 false。
|
|
75
|
+
* - 各字段的实际可用性取决于当前材质配置(是否点云、是否启用 HDR 等),见各字段说明;
|
|
76
|
+
* 各 slot 的调用时机见 {@link PBMCustomNodeSlots}。
|
|
77
|
+
*/
|
|
78
|
+
export interface PBMCustomNodeContext {
|
|
79
|
+
/**
|
|
80
|
+
* 当前片元的世界空间位置
|
|
81
|
+
* @description 已包含 instance / skinning / morph 变换与自定义 `vertexPosition` 的偏移;
|
|
82
|
+
* 点云材质中为点中心(billboard quad 展开前)的位置
|
|
83
|
+
*/
|
|
84
|
+
positionWorld: THREE.Node<'vec3'>;
|
|
85
|
+
/**
|
|
86
|
+
* 当前片元的视图空间(相机空间)位置
|
|
87
|
+
* @description 口径同 {@link positionWorld};点云材质中为点中心位置
|
|
88
|
+
*/
|
|
89
|
+
positionView: THREE.Node<'vec3'>;
|
|
90
|
+
/**
|
|
91
|
+
* 相机朝向(世界空间单位向量,由 viewMatrix 推导并作为 varying 传入)
|
|
92
|
+
* @description 与相机位置无关的纯朝向;内置屋顶 AUTO 裁切用 `-cameraDirection.y` 表示「向下看」的程度
|
|
93
|
+
*/
|
|
94
|
+
cameraDirection: THREE.Node<'vec3'>;
|
|
95
|
+
/**
|
|
96
|
+
* 当前渲染分辨率(CSS 像素)
|
|
97
|
+
* @description 取自 `camera.resolution` 或 renderer viewport;换算成物理像素需乘 {@link pixelRatio}
|
|
98
|
+
* (如 SPREAD 过渡用它计算屏幕中心)
|
|
99
|
+
*/
|
|
100
|
+
resolution: THREE.Node<'vec2'>;
|
|
101
|
+
/** 当前像素比(`camera.pixelRatio` / `renderer.getPixelRatio()`) */
|
|
102
|
+
pixelRatio: THREE.Node<'float'>;
|
|
103
|
+
/** 模型/全景渲染参数 */
|
|
104
|
+
/** 起始点位 → 结束点位的过渡进度 [0, 1] */
|
|
105
|
+
progress: THREE.Node<'float'>;
|
|
106
|
+
/**
|
|
107
|
+
* 显示端增益上限(`parameter.maxDisplayBoost`)
|
|
108
|
+
* @description 与 gainmap 的 capacity 上下限一起决定 HDR 提亮权重;未启用 HDR 时无意义
|
|
109
|
+
*/
|
|
110
|
+
maxDisplayBoost: THREE.Node<'float'>;
|
|
111
|
+
/**
|
|
112
|
+
* 模型显隐进度 [0, 1]:0 = 仅显示全景(模型不可见),1 = 完全显示模型
|
|
113
|
+
* @description 同时驱动 roof / hidden 裁切进度(`pow(modelAlpha, 5)`)与 panoOnly 材质的不透明度
|
|
114
|
+
*/
|
|
115
|
+
modelAlpha: THREE.Node<'float'>;
|
|
116
|
+
/** 模型颜色透明度系数(与 {@link floorOpacity} 一起乘入输出 alpha) */
|
|
117
|
+
colorAlpha: THREE.Node<'float'>;
|
|
118
|
+
/**
|
|
119
|
+
* 场景亮度倍数(`parameter.brightness`)
|
|
120
|
+
* @description 注意:当前 TSL 输出管线未把它乘入 alpha(GLSL 版 mesh 为
|
|
121
|
+
* `alpha * floorOpacity * brightness`),内置渲染下暂不生效,仅自定义节点引用时才会进入 shader
|
|
122
|
+
*/
|
|
123
|
+
brightness: THREE.Node<'float'>;
|
|
124
|
+
/**
|
|
125
|
+
* HSV 饱和度偏移(`parameter.colorSaturation`,正值提饱和)
|
|
126
|
+
* @description 点云材质的内置颜色管线已应用;mesh 材质未应用,供自定义节点自行使用
|
|
127
|
+
*/
|
|
128
|
+
colorSaturation: THREE.Node<'float'>;
|
|
129
|
+
/** HSV 亮度偏移(`parameter.colorBrightness`,正值提亮),口径同 {@link colorSaturation} */
|
|
130
|
+
colorBrightness: THREE.Node<'float'>;
|
|
131
|
+
/** 常量颜色(`colorStyle === 'CONSTANT'` 时作为模型基础色) */
|
|
132
|
+
constantColor: THREE.Node<'vec3'>;
|
|
133
|
+
/** 楼层、屋顶与隐藏标记状态 */
|
|
134
|
+
/** 当前渲染对象所属楼层索引(由模型/瓦片数据写入;bounding mesh 等不归属楼层的对象为 `-1`) */
|
|
135
|
+
floorIndex: THREE.Node<'float'>;
|
|
136
|
+
/** 用户指定高亮显示的楼层索引;`-1` 表示所有楼层都算「当前楼层」 */
|
|
137
|
+
shownFloorIndex: THREE.Node<'float'>;
|
|
138
|
+
/** 是否属于当前显示楼层(`shownFloorIndex < 0` 时恒为 true) */
|
|
139
|
+
isCurrentFloor: THREE.Node<'bool'>;
|
|
140
|
+
/** 非当前楼层的淡出系数(随相机俯仰推导),当前楼层为 1 */
|
|
141
|
+
floorOpacity: THREE.Node<'float'>;
|
|
142
|
+
/**
|
|
143
|
+
* 是否命中屋顶标记档位(`_feature_id_rsmask = 1`)
|
|
144
|
+
* @description 与 {@link isHidden} 一样直接由顶点属性推导,不受 `material.vertexMarks` 开关影响
|
|
145
|
+
*/
|
|
146
|
+
isRoof: THREE.Node<'bool'>;
|
|
147
|
+
/** 屋顶裁切判定(`roofStyle = 'AUTO'`):命中屋顶标记、且高度超过按相机俯仰角计算的阈值 */
|
|
148
|
+
isRoofCameraCut: THREE.Node<'bool'>;
|
|
149
|
+
/** 屋顶裁切判定(`roofStyle = 'HIDE'`):命中屋顶标记、且高度超过按 `modelAlpha` 计算的阈值 */
|
|
150
|
+
isRoofModelAlphaCut: THREE.Node<'bool'>;
|
|
151
|
+
/**
|
|
152
|
+
* 是否命中隐藏标记档位(`_feature_id_rsmask = 2`)
|
|
153
|
+
* @description 直接由顶点属性推导(几何体无该属性时回退 0,恒为 false),
|
|
154
|
+
* 与 {@link isRoof} 一致,**不受** `material.vertexMarks` 开关影响;
|
|
155
|
+
* 管线内置的自动隐藏裁切才受该开关门禁
|
|
156
|
+
*/
|
|
157
|
+
isHidden: THREE.Node<'bool'>;
|
|
158
|
+
/**
|
|
159
|
+
* 隐藏裁切判定:命中隐藏标记档位、且世界高度超过由 `modelAlpha` 驱动的高度阈值
|
|
160
|
+
* @description Mesh 材质在 `vertexMarks` 开启时已按此判定 discard,自定义节点可直接复用它做额外处理
|
|
161
|
+
*/
|
|
162
|
+
isHiddenCut: THREE.Node<'bool'>;
|
|
163
|
+
/** 模型包围盒最小角(与 {@link positionWorld} 同空间,用于高度裁切与高度色) */
|
|
164
|
+
modelBoundingMin: THREE.Node<'vec3'>;
|
|
165
|
+
/** 模型包围盒最大角,口径同 {@link modelBoundingMin} */
|
|
166
|
+
modelBoundingMax: THREE.Node<'vec3'>;
|
|
167
|
+
/**
|
|
168
|
+
* 起始点位的全景采样结果
|
|
169
|
+
* @description 字段含义、以及「无数据时的回退行为」见 {@link PBMCustomNodePanoContext}
|
|
170
|
+
*/
|
|
171
|
+
pano0: PBMCustomNodePanoContext;
|
|
172
|
+
/** 结束点位的全景采样结果,口径同 {@link pano0} */
|
|
173
|
+
pano1: PBMCustomNodePanoContext;
|
|
174
|
+
/** 点云相关参数 */
|
|
175
|
+
/** 点大小基数(ATTENUATION 模式下与分辨率、视图距离一起换算为像素大小) */
|
|
176
|
+
pointScale: THREE.Node<'float'>;
|
|
177
|
+
/** 点大小下限(CSS 像素,实际约束时会乘 {@link pixelRatio}) */
|
|
178
|
+
pointMinPixel: THREE.Node<'float'>;
|
|
179
|
+
/** 点大小上限(CSS 像素,实际约束时会乘 {@link pixelRatio}) */
|
|
180
|
+
pointMaxPixel: THREE.Node<'float'>;
|
|
181
|
+
}
|
|
182
|
+
/**
|
|
183
|
+
* 节点插槽定义
|
|
184
|
+
*
|
|
185
|
+
* 每个插槽是一个函数,接收当前管线中的节点,返回修改后的节点。
|
|
186
|
+
* 用户在函数中可自由使用 TSL API(uniform、attribute、Fn、数学运算等)。
|
|
187
|
+
*/
|
|
188
|
+
export interface PBMCustomNodeSlots {
|
|
189
|
+
/**
|
|
190
|
+
* 模型基础颜色修改(在全景混合之前)
|
|
191
|
+
* - Mesh 材质:在 colorMode 处理之后、pano 混合之前调用
|
|
192
|
+
* - PointCloud 材质:在实例颜色读取 + HSV 调整之后调用
|
|
193
|
+
*
|
|
194
|
+
* @param color - 当前模型颜色 (vec3, linear working space)
|
|
195
|
+
* @returns 修改后的颜色 (vec3)
|
|
196
|
+
*/
|
|
197
|
+
modelColor?: (color: THREE.Node<'vec3'>, context: PBMCustomNodeContext) => THREE.Node<'vec3'>;
|
|
198
|
+
/**
|
|
199
|
+
* 全景颜色修改(在全景采样 + HDR + filter 之后,与模型混合之前)
|
|
200
|
+
* 仅在启用全景贴图时生效。
|
|
201
|
+
*
|
|
202
|
+
* @param panoColor - 当前全景采样颜色 (vec3)
|
|
203
|
+
* @returns 修改后的全景颜色 (vec3)
|
|
204
|
+
*/
|
|
205
|
+
panoColor?: (panoColor: THREE.Node<'vec3'>, context: PBMCustomNodeContext) => THREE.Node<'vec3'>;
|
|
206
|
+
/**
|
|
207
|
+
* 最终输出颜色修改(在全部管线处理完成后、return 之前)
|
|
208
|
+
*
|
|
209
|
+
* @param color - 当前最终颜色 (vec4, 含 alpha)
|
|
210
|
+
* @returns 修改后的最终颜色 (vec4)
|
|
211
|
+
*/
|
|
212
|
+
outputColor?: (color: THREE.Node<'vec4'>, context: PBMCustomNodeContext) => THREE.Node<'vec4'>;
|
|
213
|
+
/**
|
|
214
|
+
* 自定义 discard 逻辑(在管线 discard 判断之后额外追加)
|
|
215
|
+
* 返回的 bool 节点为 true 时丢弃该片元。
|
|
216
|
+
*
|
|
217
|
+
* @returns 是否丢弃 (bool node)
|
|
218
|
+
*/
|
|
219
|
+
discard?: (context: PBMCustomNodeContext) => THREE.Node<'bool'>;
|
|
220
|
+
/**
|
|
221
|
+
* 顶点位置偏移(世界空间)
|
|
222
|
+
* 在标准顶点变换之后、投影之前应用。
|
|
223
|
+
* 注意:PointCloud 材质中此插槽作用于 instancePosition 展开后的 view 空间。
|
|
224
|
+
*
|
|
225
|
+
* @param position - 当前世界空间位置 (vec3)
|
|
226
|
+
* @returns 修改后的世界空间位置 (vec3)
|
|
227
|
+
*/
|
|
228
|
+
vertexPosition?: (position: THREE.Node<'vec3'>, context: PBMCustomNodeContext) => THREE.Node<'vec3'>;
|
|
229
|
+
}
|
|
230
|
+
export interface PBMCustomNodeOptions {
|
|
231
|
+
/** 生效的材质类型 */
|
|
232
|
+
type: readonly PBMCustomNodeTargetType[];
|
|
233
|
+
/** 节点插槽 */
|
|
234
|
+
slots: PBMCustomNodeSlots;
|
|
235
|
+
/**
|
|
236
|
+
* 自定义标量 uniforms(可选)。
|
|
237
|
+
* 登记在这里的 uniform,写其 `.value` 时会自动触发所属材质刷新(见 watchUniforms)。
|
|
238
|
+
* 注意:uniformArray 的数据在 `.array`/元素上,`.value` setter 捕获不到,
|
|
239
|
+
* 不要放进这里;这类改动请在原地修改后显式调用 {@link PBMCustomNode.markNeedsUpdate}。
|
|
240
|
+
*/
|
|
241
|
+
uniforms?: Record<string, THREE.UniformNode<any, any>>;
|
|
242
|
+
}
|
|
243
|
+
export declare class PBMCustomNode extends PBMUpdateable {
|
|
244
|
+
readonly id: string;
|
|
245
|
+
/** 生效的材质类型 */
|
|
246
|
+
readonly type: readonly PBMCustomNodeTargetType[];
|
|
247
|
+
/** TSL Node 插槽 */
|
|
248
|
+
readonly slots: PBMCustomNodeSlots;
|
|
249
|
+
/**
|
|
250
|
+
* 登记的标量 uniforms(仅 UniformNode)。写其 `.value` 会自动触发材质刷新。
|
|
251
|
+
* uniformArray 请勿放这里(.value setter 捕获不到),改用 markNeedsUpdate()。
|
|
252
|
+
*/
|
|
253
|
+
readonly uniforms: Record<string, THREE.UniformNode<any, any>>;
|
|
254
|
+
constructor(options: PBMCustomNodeOptions);
|
|
255
|
+
/**
|
|
256
|
+
* 包装登记的 uniforms:写 `.value` 时自动 emit('update'),触发所属材质刷新
|
|
257
|
+
* (配合 Parameter 对 customNodes 的监听 + customNodesVersion 被监视属性)。
|
|
258
|
+
*/
|
|
259
|
+
private watchUniforms;
|
|
260
|
+
/**
|
|
261
|
+
* 手动标记 uniform 已变化、需要把最新值刷新到所有相关材质。
|
|
262
|
+
* 用于原地修改 uniformArray / Vector 等 `.value` setter 捕获不到的场景。
|
|
263
|
+
*/
|
|
264
|
+
markNeedsUpdate(): void;
|
|
265
|
+
/**
|
|
266
|
+
* 判断此 CustomNode 是否对指定材质类型生效
|
|
267
|
+
*/
|
|
268
|
+
appliesTo(materialType: PBMCustomNodeTargetType): boolean;
|
|
269
|
+
/**
|
|
270
|
+
* 生成用于 customProgramCacheKey 的标识字符串
|
|
271
|
+
* 包含 id + 目标材质类型 + 启用的 slot 名称。
|
|
272
|
+
*/
|
|
273
|
+
get cacheKey(): string;
|
|
274
|
+
}
|
|
275
|
+
/**
|
|
276
|
+
* 生成 customNodes 数组的 customProgramCacheKey 片段。
|
|
277
|
+
* 在 NodeMaterial 的 customProgramCacheKey() 中调用。
|
|
278
|
+
*/
|
|
279
|
+
export declare function customNodesCacheKey(customNodes: readonly PBMCustomNode[] | undefined): string;
|
|
18
280
|
export interface PBMPanoFilterValue {
|
|
19
281
|
saturationSaturationBias: number;
|
|
20
282
|
contrastContrastBias: number;
|
|
@@ -74,10 +336,15 @@ export interface PBMPanoPicture {
|
|
|
74
336
|
matrix: THREE.Matrix4;
|
|
75
337
|
/** 缩放 */
|
|
76
338
|
zoom: number;
|
|
77
|
-
|
|
339
|
+
/** HDR gainmap(无 HDR 时不存在) */
|
|
340
|
+
gainmap?: PBMPanoGainmap;
|
|
78
341
|
}
|
|
79
|
-
|
|
342
|
+
/** pano 的 HDR gainmap:增益图六视图 cube 贴图 + 增益图配置 */
|
|
343
|
+
export interface PBMPanoGainmap {
|
|
344
|
+
/** 增益图六视图贴图 */
|
|
80
345
|
map: THREE.CubeTexture;
|
|
346
|
+
/** 增益图配置 */
|
|
347
|
+
cfg: GainmapCfgData;
|
|
81
348
|
}
|
|
82
349
|
export interface PBMPanoDepth {
|
|
83
350
|
/** 点位 Id */
|
|
@@ -104,12 +371,14 @@ export interface IPBMMaterial {
|
|
|
104
371
|
pano0Histogram: THREE.Vector4;
|
|
105
372
|
pano0Matrix: THREE.Matrix4;
|
|
106
373
|
pano0Zoom: number;
|
|
107
|
-
|
|
374
|
+
pano0Gainmap: THREE.CubeTexture | null;
|
|
108
375
|
pano0HdrMaxContentBoost: number;
|
|
109
376
|
pano0HdrMinContentBoost: number;
|
|
110
377
|
pano0HdrCapacityMin: number;
|
|
111
378
|
pano0HdrCapacityMax: number;
|
|
112
379
|
pano0HdrGamma: number;
|
|
380
|
+
pano0HdrOffsetSdr: number;
|
|
381
|
+
pano0HdrOffsetHdr: number;
|
|
113
382
|
pano0DepthMap: THREE.CubeTexture | null;
|
|
114
383
|
pano0DepthMaxDepth: number;
|
|
115
384
|
pano1Map: THREE.CubeTexture | null;
|
|
@@ -117,12 +386,14 @@ export interface IPBMMaterial {
|
|
|
117
386
|
pano1Histogram: THREE.Vector4;
|
|
118
387
|
pano1Matrix: THREE.Matrix4;
|
|
119
388
|
pano1Zoom: number;
|
|
120
|
-
|
|
389
|
+
pano1Gainmap: THREE.CubeTexture | null;
|
|
121
390
|
pano1HdrMaxContentBoost: number;
|
|
122
391
|
pano1HdrMinContentBoost: number;
|
|
123
392
|
pano1HdrCapacityMin: number;
|
|
124
393
|
pano1HdrCapacityMax: number;
|
|
125
394
|
pano1HdrGamma: number;
|
|
395
|
+
pano1HdrOffsetSdr: number;
|
|
396
|
+
pano1HdrOffsetHdr: number;
|
|
126
397
|
pano1DepthMap: THREE.CubeTexture | null;
|
|
127
398
|
pano1DepthMaxDepth: number;
|
|
128
399
|
panoFilterSaturationBias: number;
|
|
@@ -141,7 +412,8 @@ export interface IPBMMaterial {
|
|
|
141
412
|
pointScale: number;
|
|
142
413
|
pointMinPixel: number;
|
|
143
414
|
pointMaxPixel: number;
|
|
144
|
-
|
|
415
|
+
useVertexMarkRoof: boolean;
|
|
416
|
+
useVertexMarkHidden: boolean;
|
|
145
417
|
colorAlpha: number;
|
|
146
418
|
alphaMode: string;
|
|
147
419
|
modelAlpha: number;
|
|
@@ -152,6 +424,7 @@ export interface IPBMMaterial {
|
|
|
152
424
|
floorIndex: number;
|
|
153
425
|
shownFloorIndex: number;
|
|
154
426
|
floorStyle: string;
|
|
427
|
+
roofStyle: PBMRoofStyle;
|
|
155
428
|
brightness: number;
|
|
156
429
|
colorSaturation: number;
|
|
157
430
|
colorBrightness: number;
|
|
@@ -160,6 +433,15 @@ export interface IPBMMaterial {
|
|
|
160
433
|
maxDisplayBoost: number;
|
|
161
434
|
modelBoundingMin: THREE.Vector3;
|
|
162
435
|
modelBoundingMax: THREE.Vector3;
|
|
436
|
+
/** 自定义节点列表(TSL Node 级别的材质扩展) */
|
|
437
|
+
customNodes: readonly PBMCustomNode[];
|
|
438
|
+
/**
|
|
439
|
+
* 自定义节点 uniform 的“脏计数器”。
|
|
440
|
+
* 被 NodeMaterialObserver 监视(见 pbmProperties):任一 customNode 的 uniform 变化时,
|
|
441
|
+
* Parameter 会 ++ 此值,从而让 observer 判定材质需要刷新、把最新 uniform 上传到所有材质。
|
|
442
|
+
* 该值不进入 shader,仅作刷新触发用。
|
|
443
|
+
*/
|
|
444
|
+
customNodesVersion: number;
|
|
163
445
|
}
|
|
164
446
|
export type PBMPropertyKey = keyof Omit<IPBMMaterial, 'isPBMMaterial'>;
|
|
165
447
|
export declare const pbmProperties: PBMPropertyKey[];
|
|
@@ -46,12 +46,3 @@ export type PBMMeshMaterial = PBMMeshBasicMaterial | PBMMeshPhongMaterial | PBMM
|
|
|
46
46
|
export declare function createPBMMeshMaterial(shaderType?: PBMMeshShaderType | {
|
|
47
47
|
shaderType?: PBMMeshShaderType;
|
|
48
48
|
}): PBMMeshMaterial;
|
|
49
|
-
export interface PBMPointCloudMaterial extends THREE.Material, IPBMMaterial {
|
|
50
|
-
}
|
|
51
|
-
export declare class PBMPointCloudMaterial extends THREE.Material implements IPBMMaterial {
|
|
52
|
-
readonly isPBMMaterial: true;
|
|
53
|
-
readonly shaderType = "standard";
|
|
54
|
-
constructor();
|
|
55
|
-
copy(source: PBMPointCloudMaterial): this;
|
|
56
|
-
}
|
|
57
|
-
export declare function createPBMPointCloudMaterial(): PBMPointCloudMaterial;
|
|
@@ -16,7 +16,7 @@ export declare class PBMPointCloudNodeMaterial extends THREE.NodeMaterial {
|
|
|
16
16
|
pointBack: PBMPointBack;
|
|
17
17
|
colorStyle: PBMColorStyle;
|
|
18
18
|
floorStyle: PBMFloorStyle;
|
|
19
|
-
vertexMarks: boolean;
|
|
19
|
+
vertexMarks: boolean | number;
|
|
20
20
|
pointScale: number;
|
|
21
21
|
pointMinPixel: number;
|
|
22
22
|
pointMaxPixel: number;
|
|
@@ -3,7 +3,6 @@ export declare const TRANSPARENT: THREE.ConstNode<"vec4", THREE.Vector4>;
|
|
|
3
3
|
export declare const resolution: THREE.UniformNode<"vec2", THREE.Vector2>;
|
|
4
4
|
export declare const pixelRatio: THREE.UniformNode<"float", number>;
|
|
5
5
|
export declare const vCameraDirection: THREE.VaryingNode<"vec3">;
|
|
6
|
-
export declare const vRoofMark: THREE.VaryingNode<"float">;
|
|
7
6
|
export declare const progress: THREE.Node<"float">;
|
|
8
7
|
export declare const maxDisplayBoost: THREE.Node<"float">;
|
|
9
8
|
export declare const modelAlpha: THREE.Node<"float">;
|
|
@@ -15,6 +14,8 @@ export declare const pano0HdrMinContentBoost: THREE.Node<"float">;
|
|
|
15
14
|
export declare const pano0HdrCapacityMin: THREE.Node<"float">;
|
|
16
15
|
export declare const pano0HdrCapacityMax: THREE.Node<"float">;
|
|
17
16
|
export declare const pano0HdrGamma: THREE.Node<"float">;
|
|
17
|
+
export declare const pano0HdrOffsetSdr: THREE.Node<"float">;
|
|
18
|
+
export declare const pano0HdrOffsetHdr: THREE.Node<"float">;
|
|
18
19
|
export declare const pano0DepthMaxDepth: THREE.Node<"float">;
|
|
19
20
|
export declare const pano1Matrix: THREE.Node<"mat4">;
|
|
20
21
|
export declare const pano1Zoom: THREE.Node<"float">;
|
|
@@ -24,6 +25,8 @@ export declare const pano1HdrMinContentBoost: THREE.Node<"float">;
|
|
|
24
25
|
export declare const pano1HdrCapacityMin: THREE.Node<"float">;
|
|
25
26
|
export declare const pano1HdrCapacityMax: THREE.Node<"float">;
|
|
26
27
|
export declare const pano1HdrGamma: THREE.Node<"float">;
|
|
28
|
+
export declare const pano1HdrOffsetSdr: THREE.Node<"float">;
|
|
29
|
+
export declare const pano1HdrOffsetHdr: THREE.Node<"float">;
|
|
27
30
|
export declare const pano1DepthMaxDepth: THREE.Node<"float">;
|
|
28
31
|
export declare const panoFilterSaturationBias: THREE.Node<"float">;
|
|
29
32
|
export declare const panoFilterContrastBias: THREE.Node<"float">;
|
|
@@ -47,7 +50,10 @@ export declare const colorSaturation: THREE.Node<"float">;
|
|
|
47
50
|
export declare const colorBrightness: THREE.Node<"float">;
|
|
48
51
|
export declare const isCurrentFloor: THREE.VarNode<"bool">;
|
|
49
52
|
export declare const isRoof: THREE.VarNode<"bool">;
|
|
50
|
-
export declare const
|
|
53
|
+
export declare const isRoofCameraCut: THREE.VarNode<"bool">;
|
|
54
|
+
export declare const isRoofModelAlphaCut: THREE.VarNode<"bool">;
|
|
55
|
+
export declare const isHidden: THREE.VarNode<"bool">;
|
|
56
|
+
export declare const isHiddenCut: THREE.VarNode<"bool">;
|
|
51
57
|
export declare const pano0Origin: THREE.VarNode<"vec3">;
|
|
52
58
|
export declare const pano0SampleDirection: THREE.VarNode<"vec3">;
|
|
53
59
|
export declare const pano1Origin: THREE.VarNode<"vec3">;
|
|
@@ -7,20 +7,13 @@
|
|
|
7
7
|
* 通用工具函数(rgb2hsv, hsv2rgb, resolutionUniform, pixelRatioUniform)在 utils.ts 中。
|
|
8
8
|
*/
|
|
9
9
|
import * as THREE from 'three/webgpu';
|
|
10
|
-
import type {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
usePanoDepth: boolean;
|
|
19
|
-
useHDR: boolean;
|
|
20
|
-
colorMode: PBMColorStyle;
|
|
21
|
-
transition: PBMTransition;
|
|
22
|
-
}
|
|
23
|
-
export declare function setupMeshOutput(material: THREE.NodeMaterial & IPBMMaterial, builder: THREE.NodeBuilder): void;
|
|
24
|
-
export declare function setupMeshPanoOnlyOutput(material: THREE.NodeMaterial & IPBMMaterial, builder: THREE.NodeBuilder): void;
|
|
10
|
+
import type { PBMCustomNodeTargetType, IPBMMaterial } from '../pbmMaterial';
|
|
11
|
+
export declare function setupMeshOutput(material: THREE.NodeMaterial & IPBMMaterial, builder: THREE.NodeBuilder, materialType: PBMCustomNodeTargetType): void;
|
|
12
|
+
/**
|
|
13
|
+
* 在 NodeMaterial 已完成 morph/skinning/instance 等标准顶点处理后,
|
|
14
|
+
* 对世界空间位置应用 custom vertexPosition,再转换回裁剪空间。
|
|
15
|
+
*/
|
|
16
|
+
export declare function setupMeshVertex(material: THREE.NodeMaterial & IPBMMaterial, materialType: PBMCustomNodeTargetType, baseVertex: THREE.Node): THREE.Node;
|
|
17
|
+
export declare function setupMeshPanoOnlyOutput(material: THREE.NodeMaterial & IPBMMaterial, builder: THREE.NodeBuilder, materialType: PBMCustomNodeTargetType): void;
|
|
25
18
|
export declare function setupPointCloudVertex(material: THREE.NodeMaterial & THREE.Material & IPBMMaterial, builder: THREE.NodeBuilder): THREE.Node;
|
|
26
19
|
export declare function setupPointCloudOutput(material: THREE.NodeMaterial & IPBMMaterial, builder: THREE.NodeBuilder): void;
|
|
@@ -12,6 +12,12 @@ export declare function panoColor(options: {
|
|
|
12
12
|
transition: PBMTransition;
|
|
13
13
|
usePanoFilter: boolean;
|
|
14
14
|
useRefinedScreen: boolean;
|
|
15
|
-
|
|
16
|
-
|
|
15
|
+
/** pano0 的 HDR 分支开关 */
|
|
16
|
+
usePano0HDR: boolean;
|
|
17
|
+
/** pano1 的 HDR 分支开关 */
|
|
18
|
+
usePano1HDR: boolean;
|
|
19
|
+
/** pano0 的深度剔除开关 */
|
|
20
|
+
usePano0Depth: boolean;
|
|
21
|
+
/** pano1 的深度剔除开关 */
|
|
22
|
+
usePano1Depth: boolean;
|
|
17
23
|
}): THREE.TSL.FnNode<[number | THREE.Node], THREE.VarNode<"vec3">>;
|