@realsee/five 6.8.0-alpha.9 → 6.8.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENTS_READ_ME.md +6 -1
- package/AI_CONTEXT.md +6 -1
- package/README.md +10 -3
- package/ai_guides/README.md +29 -0
- package/ai_guides/api.md +92 -21
- package/ai_guides/features/3dtile.md +1 -1
- package/ai_guides/features/camera-animation.md +18 -1
- package/ai_guides/features/clipper.md +2 -2
- package/ai_guides/features/coordinate-system.md +20 -2
- package/ai_guides/features/event.md +106 -10
- package/ai_guides/features/five.md +17 -17
- package/ai_guides/features/flowing-light-2d-pass.md +75 -17
- package/ai_guides/features/flowing-light-3d-pass.md +76 -17
- package/ai_guides/features/gaussian-blur-pass.md +1 -1
- package/ai_guides/features/gesture.md +2 -1
- package/ai_guides/features/get-screen-pixels.md +2 -2
- package/ai_guides/features/image-options.md +2 -2
- package/ai_guides/features/load-external-model.md +6 -2
- package/ai_guides/features/load-progress.md +1 -1
- package/ai_guides/features/material.md +20 -12
- package/ai_guides/features/mode.md +1 -1
- package/ai_guides/features/model.md +1 -1
- package/ai_guides/features/move-pano-effect.md +1 -1
- package/ai_guides/features/multi-work.md +1 -1
- package/ai_guides/features/pano-filter.md +149 -0
- package/ai_guides/features/pano-tile.md +1 -1
- package/ai_guides/features/pano-uv.md +1 -1
- package/ai_guides/features/parameter.md +26 -2
- package/ai_guides/features/plugin.md +1 -1
- package/ai_guides/features/postprocessing.md +1 -1
- package/ai_guides/features/raycast.md +5 -2
- package/ai_guides/features/request-proxy.md +1 -1
- package/ai_guides/features/screen-project.md +2 -1
- package/ai_guides/features/state.md +23 -3
- package/ai_guides/features/view-layer.md +1 -1
- package/ai_guides/features/work.md +1 -1
- package/ai_guides/glossary.md +4 -4
- package/ai_guides/release_notes/6.8.md +190 -58
- package/ai_guides/template.md +11 -0
- package/docs/00_FOR_AI_AGENTS.md +3 -2
- package/docs/README.md +3 -2
- package/docs/assets/hierarchy.js +1 -1
- package/docs/assets/main.js +1 -1
- package/docs/assets/navigation.js +1 -1
- package/docs/assets/search.js +1 -1
- package/docs/classes/five.AdaptiveLuminancePass.html +7 -6
- package/docs/classes/five.AnimationFrameLoop.html +1 -1
- package/docs/classes/five.BoundingMesh.html +2 -2
- package/docs/classes/five.Camera.html +3 -3
- package/docs/classes/five.EyeDomeLightingPass.html +1 -1
- package/docs/classes/five.Five.html +77 -76
- package/docs/classes/five.FivePass.html +1 -1
- package/docs/classes/five.Histogram.html +19 -0
- package/docs/classes/five.InternalWebGLRenderer.html +1 -1
- package/docs/classes/five.Model.html +8 -8
- package/docs/classes/five.ModelScene.html +1 -1
- package/docs/classes/five.NetworkSubscribe.html +5 -5
- package/docs/classes/five.PBMContainer.html +1 -1
- package/docs/classes/five.PBMCustomShader.html +42 -3
- package/docs/classes/five.PBMGSObject.html +5 -3
- package/docs/classes/five.PBMGroup.html +1 -1
- package/docs/classes/five.PBMMesh.html +1 -1
- package/docs/classes/five.PBMMeshMaterial.html +7 -7
- package/docs/classes/five.PBMPanoFilter.html +61 -0
- package/docs/classes/five.PBMPointCloud.html +1 -1
- package/docs/classes/five.PBMPointCloudMaterial.html +5 -6
- package/docs/classes/five.PBMSkinnedMesh.html +1 -1
- package/docs/classes/five.PBMUpdateable.html +41 -0
- package/docs/classes/five.PanoCircleMesh.html +1 -1
- package/docs/classes/five.PanoCircleMeshCustom.html +1 -1
- package/docs/classes/five.PanoCircleMeshSolid.html +1 -1
- package/docs/classes/five.Parameter.html +57 -55
- package/docs/classes/five.Scene.html +1 -1
- package/docs/classes/five.Subscribe.html +5 -5
- package/docs/classes/five.Tile.html +1 -1
- package/docs/classes/five.Tile3D.html +24 -24
- package/docs/classes/five.TileNode.html +1 -1
- package/docs/classes/five.Tileset.html +3 -2
- package/docs/classes/five.TrajectoryNode.html +1 -1
- package/docs/classes/five.Work.html +16 -16
- package/docs/classes/five.WorkResolvedObserver.html +22 -22
- package/docs/classes/gltf-loader.DDSLoader.html +1 -1
- package/docs/classes/gltf-loader.DRACOLoader.html +1 -1
- package/docs/classes/gltf-loader.GLTFLoader.html +2 -2
- package/docs/classes/gltf-loader.GLTFObject.html +1 -1
- package/docs/classes/gltf-loader.GLTFParser.html +1 -1
- package/docs/classes/gltf-loader.THREEGLTFLoader.html +2 -2
- package/docs/classes/line.Line.html +1 -1
- package/docs/classes/line.LineGeometry.html +1 -1
- package/docs/classes/line.LineMaterial.html +1 -1
- package/docs/classes/line.LineSegmentsGeometry.html +1 -1
- package/docs/classes/line.THREE_Line2.html +1 -1
- package/docs/classes/line.THREE_LineSegments2.html +1 -1
- package/docs/classes/plugins.BasePlugin.Controller.html +1 -1
- package/docs/classes/plugins.CSS2DObject.html +10 -0
- package/docs/classes/plugins.CSS2DRenderer.html +7 -0
- package/docs/classes/plugins.CSS3DObject.html +9 -0
- package/docs/classes/plugins.CSS3DRenderer.html +4 -2
- package/docs/classes/plugins.CSS3DSprite.html +11 -0
- package/docs/classes/plugins.Object3DHelperController.html +43 -0
- package/docs/classes/plugins.RoundedBoxGeometry.html +1 -1
- package/docs/classes/sticker.Sticker.html +1 -1
- package/docs/classes/vfx.Airflow.html +1 -1
- package/docs/classes/vfx.Flame.html +1 -1
- package/docs/classes/vfx.Particle.html +6 -6
- package/docs/classes/vfx.ParticleGPU.html +3 -3
- package/docs/classes/vfx.SpotLight.html +1 -1
- package/docs/documents/README.html +122 -1
- package/docs/documents/api.html +163 -35
- package/docs/documents/features_3dtile.html +1 -1
- package/docs/documents/features_camera-animation.html +18 -2
- package/docs/documents/features_clipper.html +2 -2
- package/docs/documents/features_coordinate-system.html +52 -3
- package/docs/documents/features_event.html +44 -8
- package/docs/documents/features_five.html +17 -17
- package/docs/documents/features_flowing-light-2d-pass.html +41 -125
- package/docs/documents/features_flowing-light-3d-pass.html +43 -132
- package/docs/documents/features_gaussian-blur-pass.html +6 -6
- package/docs/documents/features_gesture.html +2 -1
- package/docs/documents/features_get-screen-pixels.html +2 -2
- package/docs/documents/features_image-options.html +2 -2
- package/docs/documents/features_load-external-model.html +6 -2
- package/docs/documents/features_load-progress.html +1 -1
- package/docs/documents/features_material.html +11 -4
- package/docs/documents/features_mode.html +1 -1
- package/docs/documents/features_model.html +1 -1
- package/docs/documents/features_move-pano-effect.html +1 -1
- package/docs/documents/features_multi-work.html +1 -1
- package/docs/documents/features_pano-filter.html +123 -0
- package/docs/documents/features_pano-tile.html +1 -1
- package/docs/documents/features_pano-uv.html +1 -1
- package/docs/documents/features_parameter.html +11 -3
- package/docs/documents/features_plugin.html +1 -1
- package/docs/documents/features_postprocessing.html +1 -1
- package/docs/documents/features_raycast.html +5 -2
- package/docs/documents/features_request-proxy.html +1 -1
- package/docs/documents/features_screen-project.html +2 -1
- package/docs/documents/features_state.html +9 -2
- package/docs/documents/features_view-layer.html +1 -1
- package/docs/documents/features_work.html +1 -1
- package/docs/documents/glossary.html +5 -5
- package/docs/documents/release_notes_6.8.html +164 -64
- package/docs/documents/template.html +9 -0
- package/docs/functions/five.createDebugBoundingMesh.html +1 -1
- package/docs/functions/five.parseWork.html +1 -1
- package/docs/functions/plugins.CSS2DPlugin.html +1 -0
- package/docs/functions/plugins.CSS3DPlugin.html +1 -0
- package/docs/functions/plugins.GaussianSplattingEntranceAnimationPlugin.html +1 -0
- package/docs/functions/plugins.Object3DHelperPlugin.html +1 -0
- package/docs/functions/react.getPlugin.html +2 -0
- package/docs/functions/react.setPlugin.html +2 -0
- package/docs/functions/react.useFiveCurrentObserver.html +2 -2
- package/docs/functions/react.useFiveFloor.html +2 -2
- package/docs/functions/react.useFivePlugin.html +8 -0
- package/docs/functions/react.useFiveProject2d.html +2 -2
- package/docs/functions/react.withFive.html +1 -1
- package/docs/functions/vue.useFiveCurrentObserver.html +2 -2
- package/docs/functions/vue.useFiveFloor.html +2 -2
- package/docs/functions/vue.useFiveWorks.html +2 -2
- package/docs/hierarchy.html +1 -1
- package/docs/index.html +122 -1
- package/docs/interfaces/five.AddableObject.html +1 -1
- package/docs/interfaces/five.AjaxOptions.html +1 -1
- package/docs/interfaces/five.BaseEvent.html +7 -2
- package/docs/interfaces/five.BaseExtendableEvent.html +11 -0
- package/docs/interfaces/five.EventCallback.html +58 -54
- package/docs/interfaces/five.FiveInitArgs.html +2 -2
- package/docs/interfaces/five.FloorplanControllerCustomInitArgs.html +9 -9
- package/docs/interfaces/five.GestureEvent.html +21 -2
- package/docs/interfaces/five.GesturePointer.html +20 -0
- package/docs/interfaces/five.ImageOptions.html +1 -1
- package/docs/interfaces/five.IntersectEvent.html +10 -2
- package/docs/interfaces/five.IntersectMesh.html +1 -1
- package/docs/interfaces/five.IntersectMeshInterface.html +1 -1
- package/docs/interfaces/five.Intersection.html +1 -1
- package/docs/interfaces/five.LooseWorkObserver.html +2 -2
- package/docs/interfaces/five.LooseWorkPanorama.html +2 -2
- package/docs/interfaces/five.LooseWorkWithExtrinsics.html +6 -6
- package/docs/interfaces/five.MapviewControllerCustomInitArgs.html +10 -10
- package/docs/interfaces/five.ModeChangeEvent.html +9 -2
- package/docs/interfaces/five.ModelControllerCustomInitArgs.html +1 -1
- package/docs/interfaces/five.ModelEvent.html +7 -2
- package/docs/interfaces/five.ModelSceneEvent.html +7 -2
- package/docs/interfaces/five.ModelTileEvent.html +7 -2
- package/docs/interfaces/five.MovePanoOptions.html +8 -8
- package/docs/interfaces/five.NetworkAbortError.html +1 -1
- package/docs/interfaces/five.NetworkFirbiddenError.html +1 -1
- package/docs/interfaces/five.NetworkOptions.html +1 -1
- package/docs/interfaces/five.NetworkProxyError.html +1 -1
- package/docs/interfaces/five.NetworkResourceEvent.html +7 -2
- package/docs/interfaces/five.NetworkResponseError.html +1 -1
- package/docs/interfaces/five.NetworkTimeoutError.html +1 -1
- package/docs/interfaces/five.ObjectEvent.html +7 -2
- package/docs/interfaces/five.PBMClipperParameter.html +2 -2
- package/docs/interfaces/five.PBMCustomShaderInitArgs.html +2 -2
- package/docs/interfaces/five.PBMCustomShaderSlots.html +2 -2
- package/docs/interfaces/five.PBMMaterial.html +1 -1
- package/docs/interfaces/five.PBMMeshMaterialParameters.html +5 -3
- package/docs/interfaces/five.PBMPanoDepth.html +5 -5
- package/docs/interfaces/five.PBMPanoFilterValue.html +6 -0
- package/docs/interfaces/five.PBMPanoPicture.html +8 -6
- package/docs/interfaces/five.PBMPointCloudMaterialParameters.html +2 -3
- package/docs/interfaces/five.PBMRefinedScreen.html +2 -2
- package/docs/interfaces/five.PanoCircleMeshInterface.html +2 -2
- package/docs/interfaces/five.PanoEvent.html +15 -2
- package/docs/interfaces/five.PanoPrepareEvent.html +15 -0
- package/docs/interfaces/five.PanoTextureEvent.html +11 -2
- package/docs/interfaces/five.PanoramaControllerCustomInitArgs.html +1 -1
- package/docs/interfaces/five.PanoramaLikeControllerCustomInitArgs.html +1 -1
- package/docs/interfaces/five.ParameterMaterialValue.html +40 -38
- package/docs/interfaces/five.ParameterTilesetValue.html +15 -15
- package/docs/interfaces/five.ParameterValue.html +54 -52
- package/docs/interfaces/five.Pose.html +1 -1
- package/docs/interfaces/five.RenderEvent.html +7 -2
- package/docs/interfaces/five.ResolvedParameterValue.html +55 -54
- package/docs/interfaces/five.RgbaData.html +7 -0
- package/docs/interfaces/five.SplatData.html +2 -2
- package/docs/interfaces/five.State.html +1 -1
- package/docs/interfaces/five.StateEvent.html +9 -2
- package/docs/interfaces/five.TextureOptions.html +1 -1
- package/docs/interfaces/five.Tile3DOptions.html +2 -2
- package/docs/interfaces/five.TopviewControllerCustomInitArgs.html +7 -7
- package/docs/interfaces/five.VRPanoramaControllerCustomInitArgs.html +1 -1
- package/docs/interfaces/five.ViewLayer.html +24 -24
- package/docs/interfaces/five.WorkCubeImage.html +3 -2
- package/docs/interfaces/five.WorkImage.html +6 -5
- package/docs/interfaces/five.WorkInitial.html +8 -8
- package/docs/interfaces/five.WorkModel.html +8 -8
- package/docs/interfaces/five.WorkModelLayer.html +6 -6
- package/docs/interfaces/five.WorkObserver.html +29 -29
- package/docs/interfaces/five.WorkObserverJson.html +2 -2
- package/docs/interfaces/five.WorkObserverProto.html +26 -0
- package/docs/interfaces/five.WorkPanoramaJson.html +2 -2
- package/docs/interfaces/five.WorkTile.html +6 -5
- package/docs/interfaces/five.WorkVideo.html +4 -4
- package/docs/interfaces/five.WorksEvent.html +7 -2
- package/docs/interfaces/five.XRControllerEvent.html +10 -2
- package/docs/interfaces/five.XRControllerState.html +8 -0
- package/docs/interfaces/five.XRGestureEvent.html +13 -2
- package/docs/interfaces/five.XRPanoramaControllerCustomInitArgs.html +1 -1
- package/docs/interfaces/five.XRSessionEvent.html +9 -2
- package/docs/interfaces/plugins.BackgroundPluginController.html +1 -1
- package/docs/interfaces/plugins.BackgroundPluginType.EventMap.html +1 -1
- package/docs/interfaces/plugins.BasePlugin.State.html +1 -1
- package/docs/interfaces/plugins.CSS2DPluginController.html +49 -0
- package/docs/interfaces/plugins.CSS2DPluginType.Config.html +2 -0
- package/docs/interfaces/plugins.CSS2DPluginType.CreateCSS2DObjectType.html +8 -0
- package/docs/interfaces/plugins.CSS2DPluginType.EventMap.html +10 -0
- package/docs/interfaces/plugins.CSS2DPluginType.Params.html +4 -0
- package/docs/interfaces/plugins.CSS2DPluginType.State.html +8 -0
- package/docs/interfaces/plugins.CSS2DRendererParameters.html +2 -0
- package/docs/interfaces/plugins.CSS3DPluginController.html +52 -0
- package/docs/interfaces/plugins.CSS3DPluginType.Config.html +2 -0
- package/docs/interfaces/plugins.CSS3DPluginType.CreateCSS3DObjectType.html +10 -0
- package/docs/interfaces/plugins.CSS3DPluginType.EventMap.html +10 -0
- package/docs/interfaces/plugins.CSS3DPluginType.Params.html +4 -0
- package/docs/interfaces/plugins.CSS3DPluginType.State.html +8 -0
- package/docs/interfaces/plugins.CSS3DRendererParameters.html +2 -0
- package/docs/interfaces/plugins.DynamicPathLinePluginController.html +3 -3
- package/docs/interfaces/plugins.DynamicPathLinePluginType.EventMap.html +1 -1
- package/docs/interfaces/plugins.DynamicPathLinePluginType.State.html +1 -1
- package/docs/interfaces/plugins.GaussianSplattingEntranceAnimationController.html +44 -0
- package/docs/interfaces/plugins.GaussianSplattingEntranceAnimationPluginType.BoundingAABB2D.html +3 -0
- package/docs/interfaces/plugins.GaussianSplattingEntranceAnimationPluginType.Config.html +8 -0
- package/docs/interfaces/plugins.GaussianSplattingEntranceAnimationPluginType.EventMap.html +10 -0
- package/docs/interfaces/plugins.GaussianSplattingEntranceAnimationPluginType.Keyframe.html +3 -0
- package/docs/interfaces/plugins.GaussianSplattingEntranceAnimationPluginType.State.html +8 -0
- package/docs/interfaces/plugins.ItemMaskController.html +1 -1
- package/docs/interfaces/plugins.ItemMaskPluginType.EventMap.html +1 -1
- package/docs/interfaces/plugins.ItemMaskPluginType.State.html +2 -2
- package/docs/interfaces/plugins.Object3DHelperPluginType.BaseController.html +30 -0
- package/docs/interfaces/plugins.Object3DHelperPluginType.BaseHelper.html +22 -0
- package/docs/interfaces/plugins.Object3DHelperPluginType.BoundingBoxController.html +30 -0
- package/docs/interfaces/plugins.Object3DHelperPluginType.HelperOffset.html +4 -0
- package/docs/interfaces/plugins.Object3DHelperPluginType.MoveController.html +36 -0
- package/docs/interfaces/plugins.Object3DHelperPluginType.MoveHelperAbstract.html +32 -0
- package/docs/interfaces/plugins.Object3DHelperPluginType.Object3DHelper.html +12 -0
- package/docs/interfaces/plugins.Object3DHelperPluginType.Object3DHelperPluginState.html +4 -0
- package/docs/interfaces/plugins.Object3DHelperPluginType.Object3DHelperState.html +4 -0
- package/docs/interfaces/plugins.Object3DHelperPluginType.ObjectHelperControllers.html +4 -0
- package/docs/interfaces/plugins.Object3DHelperPluginType.RotateController.html +36 -0
- package/docs/interfaces/plugins.Object3DHelperPluginType.RotateHelperAbstract.html +28 -0
- package/docs/interfaces/plugins.Object3DHelperPluginType.Scissor.html +5 -0
- package/docs/interfaces/plugins.Object3DHelperPluginType.Vector2Position.html +3 -0
- package/docs/interfaces/plugins.Object3DHelperPluginType.Vector3Position.html +4 -0
- package/docs/interfaces/plugins.OrientationPluginController.html +6 -6
- package/docs/interfaces/plugins.OrientationPluginType.EventMap.html +1 -1
- package/docs/interfaces/plugins.OrientationPluginType.State.html +1 -1
- package/docs/interfaces/plugins.PanoAnimeController.html +1 -1
- package/docs/interfaces/plugins.PanoAnimePluginType.EventMap.html +1 -1
- package/docs/interfaces/plugins.PanoAnimePluginType.State.html +1 -1
- package/docs/interfaces/plugins.PlayingState.html +2 -2
- package/docs/interfaces/plugins.PluginTemplateType.EventMap.html +1 -1
- package/docs/interfaces/plugins.PluginTemplateType.State.html +1 -1
- package/docs/interfaces/plugins.TrajectoryController.html +8 -8
- package/docs/interfaces/react.FiveAppProps.html +11 -0
- package/docs/interfaces/react.FiveInjectionTypes.html +21 -21
- package/docs/interfaces/sticker.IntersectionLike.html +2 -2
- package/docs/interfaces/vfx.ParticleArgs.html +4 -4
- package/docs/interfaces/vue.FiveActionVueCallbacks.html +3 -3
- package/docs/modules/five.html +1 -1
- package/docs/modules/plugins.CSS2DPluginType.html +1 -0
- package/docs/modules/plugins.CSS3DPluginType.html +1 -0
- package/docs/modules/plugins.GaussianSplattingEntranceAnimationPluginType.html +1 -0
- package/docs/modules/plugins.Object3DHelperPluginType.html +1 -0
- package/docs/modules/plugins.html +1 -1
- package/docs/modules/react.html +1 -1
- package/docs/modules.html +1 -1
- package/docs/types/five.ControllerEventTypes.html +30 -26
- package/docs/types/five.EasingFunction.html +1 -0
- package/docs/types/five.EventTypes.html +26 -26
- package/docs/types/five.LegacyEventType.html +7 -7
- package/docs/types/five.PBMAlphaMode.html +1 -1
- package/docs/types/five.PBMColorStyle.html +1 -1
- package/docs/types/five.PBMFloorStyle.html +1 -1
- package/docs/types/five.PBMMeshShaderType.html +1 -1
- package/docs/types/five.PBMPointBack.html +1 -1
- package/docs/types/five.PBMPointCloudShaderType.html +1 -1
- package/docs/types/five.PBMPointShape.html +1 -1
- package/docs/types/five.PBMPointSize.html +1 -1
- package/docs/types/five.PBMTransition.html +1 -1
- package/docs/types/five.ParseOptions.html +6 -6
- package/docs/types/five.Works.html +1 -1
- package/docs/types/plugins.BasePlugin.EventMap.html +1 -1
- package/docs/types/plugins.CSS2DPluginType.PluginData.html +1 -0
- package/docs/types/plugins.CSS2DPluginType.ServerData.html +1 -0
- package/docs/types/plugins.CSS3DPluginType.PluginData.html +1 -0
- package/docs/types/plugins.CSS3DPluginType.ServerData.html +1 -0
- package/docs/types/plugins.Object3DHelperPluginType.AddObject3DHelperConfig.html +13 -0
- package/docs/types/plugins.Object3DHelperPluginType.Circle.html +1 -0
- package/docs/types/plugins.Object3DHelperPluginType.Color.html +1 -0
- package/docs/types/plugins.Object3DHelperPluginType.Direction.html +1 -0
- package/docs/types/plugins.Object3DHelperPluginType.Direction4.html +1 -0
- package/docs/types/plugins.Object3DHelperPluginType.HelperConfig.html +1 -0
- package/docs/types/plugins.Object3DHelperPluginType.HelperEventMap.html +17 -0
- package/docs/types/plugins.Object3DHelperPluginType.InternalHelperEventMap.html +8 -0
- package/docs/types/plugins.Object3DHelperPluginType.Object3DHelperEventMap.html +1 -0
- package/docs/types/plugins.Object3DHelperPluginType.Object3DHelperPluginEventMap.html +7 -0
- package/docs/types/plugins.Object3DHelperPluginType.PositionFrom.html +1 -0
- package/docs/types/plugins.Object3DHelperPluginType.ScaleCallback.html +1 -0
- package/docs/types/plugins.Object3DHelperPluginType.ScalePosition.html +4 -0
- package/docs/types/plugins.Object3DHelperPluginType.UseFaceNormalInterface.html +4 -0
- package/docs/types/plugins.Object3DHelperPluginType.Vector2WithArray.html +1 -0
- package/docs/types/plugins.Object3DHelperPluginType.Vector3WithArray.html +1 -0
- package/docs/variables/five.PROXY_CONTROLLER_EVENT_NAMES.html +1 -1
- package/docs/variables/react.FiveApp.html +3 -0
- package/docs/variables/react.FiveAutoCanvas.html +3 -0
- package/five/application/events.d.ts +1 -1
- package/five/application/five.d.ts +6 -5
- package/five/bvh/bvhObject.d.ts +2 -2
- package/five/controllers/base.d.ts +1 -0
- package/five/controllers/events.d.ts +5 -1
- package/five/controllers/mapview.d.ts +1 -0
- package/five/controllers/model.d.ts +2 -2
- package/five/controllers/panorama.d.ts +3 -2
- package/five/controllers/xrPanorama.d.ts +1 -1
- package/five/core/camera.d.ts +1 -1
- package/five/gaussian-splatting/util/renderData.d.ts +66 -0
- package/five/index.d.ts +4 -1
- package/five/index.js +272 -782
- package/five/index.mjs +26894 -32056
- package/five/meshes/boundingMesh.d.ts +1 -0
- package/five/model/index.d.ts +2 -2
- package/five/model/loaders/glTF-helpers/extensions/KHR_binary_glTF.d.ts +1 -1
- package/five/model/loaders/glTF-helpers/extensions/KHR_gaussian_splatting.d.ts +26 -0
- package/five/model/loaders/glTF-helpers/extensions/KHR_gaussian_splatting_compression_spz.d.ts +7 -5
- package/five/model/loaders/glTF-helpers/extensions/KHR_gaussian_splatting_compression_spz_2.d.ts +13 -0
- package/five/model/loaders/glTF-helpers/extensions/base.d.ts +2 -1
- package/five/model/loaders/glTF-helpers/index.d.ts +4 -0
- package/five/model/loaders/glTF-helpers/parser.d.ts +2 -1
- package/five/model/loaders/spz.d.ts +2 -2
- package/five/model/materials/pbmMaterial.d.ts +54 -4
- package/five/model/materials/pbmMeshMaterial.d.ts +5 -3
- package/five/model/materials/pbmPointCloudMaterial.d.ts +0 -2
- package/five/model/objects/{pbmGSObject.d.ts → pbmGaussianSplattingObject.d.ts} +4 -1
- package/five/model/objects/pbmGaussianSplattingRenderMesh.d.ts +59 -0
- package/five/model/objects/pbmGaussianSplattingTestMesh.d.ts +7 -0
- package/five/model/parameter.d.ts +11 -6
- package/five/model/tile3d/index.d.ts +5 -3
- package/five/model/tile3d/tile-node.d.ts +2 -2
- package/five/model/tile3d/tileset.d.ts +1 -0
- package/five/renderer/postprocessing/passes/adaptive-luminance-pass.d.ts +9 -7
- package/five/renderer/postprocessing/passes/flowing-light-2d-pass.d.ts +6 -1
- package/five/renderer/postprocessing/passes/flowing-light-3d-pass.d.ts +3 -1
- package/five/renderer/tools/render-cube-to-equirectangular.d.ts +7 -0
- package/five/renderer/tools/render-full-screen.d.ts +1 -1
- package/five/texture/histogram.d.ts +54 -0
- package/five/texture/loader.d.ts +1 -1
- package/five/texture/textureData.d.ts +11 -0
- package/five/thirdparty/hammer.d.ts +371 -255
- package/five/thirdparty/jsrsasign.d.ts +5 -20
- package/five/types/movePanoOptions.d.ts +4 -3
- package/five/utils/error.d.ts +1 -0
- package/five/utils/event.d.ts +98 -37
- package/five/utils/imageURL.d.ts +1 -1
- package/five/utils/memoryUsage.d.ts +2 -2
- package/five/utils/subscribe.d.ts +2 -2
- package/five/webxr/motionHelper.d.ts +1 -1
- package/five/work/index.d.ts +1 -0
- package/five/work/looseWorkType.d.ts +2 -2
- package/five/work/work.d.ts +5 -35
- package/five/work/workJsonType.d.ts +2 -2
- package/five/work/workObserverProto.d.ts +39 -0
- package/gltf-loader/index.js +9 -9
- package/gltf-loader/index.mjs +1351 -1451
- package/line/index.js +4 -4
- package/line/index.mjs +334 -513
- package/llms.txt +37 -1
- package/package.json +4 -4
- package/plugins/CSS2DPlugin/Controller.d.ts +59 -0
- package/plugins/CSS2DPlugin/index.d.ts +5 -0
- package/plugins/CSS2DPlugin/typing.d.ts +30 -0
- package/plugins/CSS3DPlugin/Controller.d.ts +64 -0
- package/plugins/CSS3DPlugin/index.d.ts +5 -0
- package/plugins/CSS3DPlugin/typing.d.ts +32 -0
- package/plugins/GaussianSplattingEntranceAnimationPlugin/Controller.d.ts +30 -0
- package/plugins/GaussianSplattingEntranceAnimationPlugin/index.d.ts +5 -0
- package/plugins/GaussianSplattingEntranceAnimationPlugin/typing.d.ts +28 -0
- package/plugins/Object3DHelperPlugin/Controller.d.ts +99 -0
- package/plugins/Object3DHelperPlugin/Controllers/BaseController.d.ts +142 -0
- package/plugins/Object3DHelperPlugin/Controllers/BoundingBoxController.d.ts +16 -0
- package/plugins/Object3DHelperPlugin/Controllers/MoveController.d.ts +66 -0
- package/plugins/Object3DHelperPlugin/Controllers/RotateController.d.ts +61 -0
- package/plugins/Object3DHelperPlugin/FiveControllerWrapper.d.ts +17 -0
- package/plugins/Object3DHelperPlugin/Helper/BaseHelper.d.ts +97 -0
- package/plugins/Object3DHelperPlugin/Helper/BoundingBoxHelper.d.ts +16 -0
- package/plugins/Object3DHelperPlugin/Helper/MoveHelper.d.ts +37 -0
- package/plugins/Object3DHelperPlugin/Helper/RotateHelper.d.ts +93 -0
- package/plugins/Object3DHelperPlugin/constant.d.ts +27 -0
- package/plugins/Object3DHelperPlugin/index.d.ts +6 -0
- package/plugins/Object3DHelperPlugin/typing.d.ts +143 -0
- package/plugins/Object3DHelperPlugin/utils/ArrowGroup.d.ts +22 -0
- package/plugins/Object3DHelperPlugin/utils/CenterHandle.d.ts +23 -0
- package/plugins/Object3DHelperPlugin/utils/PlaneHandle.d.ts +19 -0
- package/plugins/Object3DHelperPlugin/utils/calculateScaleByCamera.d.ts +5 -0
- package/plugins/Object3DHelperPlugin/utils/cameraHooks.d.ts +2 -0
- package/plugins/Object3DHelperPlugin/utils/direction.d.ts +14 -0
- package/plugins/Object3DHelperPlugin/utils/getMouseRaycaster.d.ts +5 -0
- package/plugins/Object3DHelperPlugin/utils/getOrthographicCameraDirection.d.ts +8 -0
- package/plugins/Object3DHelperPlugin/utils/setObjectQuaternion.d.ts +8 -0
- package/plugins/Object3DHelperPlugin/utils/solidGuide.d.ts +27 -0
- package/plugins/Object3DHelperPlugin/utils/tipsDom.d.ts +8 -0
- package/plugins/TrajectoryPlugin/Controller.d.ts +1 -1
- package/plugins/index.d.ts +6 -1
- package/plugins/index.js +55 -21
- package/plugins/index.mjs +5582 -4238
- package/plugins/thirdParty/CSS2DRenderer.d.ts +37 -0
- package/plugins/thirdParty/CSS3DRenderer.d.ts +16 -3
- package/plugins/thirdParty/domevents.d.ts +36 -0
- package/plugins/utils/uuid.d.ts +1 -4
- package/react/autoCanvas.d.ts +9 -0
- package/react/context.d.ts +3 -2
- package/react/createProvider.d.ts +4 -4
- package/react/createStore.d.ts +3 -3
- package/react/fiveApp.d.ts +22 -0
- package/react/hooks/useFivePlugin.d.ts +26 -0
- package/react/hooks/useFiveProject2d.d.ts +1 -1
- package/react/index.d.ts +4 -0
- package/react/index.js +3 -3
- package/react/index.mjs +687 -782
- package/react/rendererPool.d.ts +2 -2
- package/react/withFive.d.ts +1 -1
- package/shader-lib/index.js +13 -14
- package/shader-lib/index.mjs +424 -824
- package/sticker/index.js +3 -3
- package/sticker/index.mjs +102 -142
- package/umd/five-gltf-loader.js +9 -9
- package/umd/five-line.js +4 -4
- package/umd/five-plugins.js +55 -21
- package/umd/five-react.js +3 -3
- package/umd/five-shader-lib.js +13 -14
- package/umd/five-sticker.js +3 -3
- package/umd/five-vfx.js +21 -21
- package/umd/five-vue.js +3 -3
- package/umd/five.js +267 -777
- package/vfx/index.js +21 -21
- package/vfx/index.mjs +454 -910
- package/vue/index.js +3 -3
- package/vue/index.mjs +309 -301
- package/vue/rendererPool.d.ts +5 -5
- package/work-downloader/index.js +3 -3
- package/work-downloader/index.mjs +339 -556
- package/five/gs/util/renderData.d.ts +0 -32
- package/five/model/objects/pbmGSRenderMesh.d.ts +0 -29
- package/five/work/workObserverUtils.d.ts +0 -36
- /package/five/assets/{realsee-pmg-data-url.d.ts → realsee-png-data-url.d.ts} +0 -0
- /package/five/{gs → gaussian-splatting}/wasm/data.d.ts +0 -0
- /package/five/{gs → gaussian-splatting}/wasm/sort.d.ts +0 -0
- /package/five/{gs → gaussian-splatting}/worker/dataWorker.d.ts +0 -0
- /package/five/{gs → gaussian-splatting}/worker/sortWorker.d.ts +0 -0
|
@@ -24,7 +24,7 @@ type Line = {
|
|
|
24
24
|
color: THREE.Color; // 光带颜色
|
|
25
25
|
opacity?: number; // 光带不透明度(0-1)
|
|
26
26
|
duration?: number; // 动画时长(毫秒)
|
|
27
|
-
|
|
27
|
+
startTime?: number; // 线条开始时间(毫秒),默认使用当前内部时间
|
|
28
28
|
lineWidth?: number; // 线宽(归一化单位)
|
|
29
29
|
tailLengthRatio?: number; // 尾巴长度比例(0-1),默认 0.2
|
|
30
30
|
};
|
|
@@ -32,10 +32,16 @@ type Line = {
|
|
|
32
32
|
export class FlowingLight2DPass extends FivePass {
|
|
33
33
|
constructor(camera: Camera);
|
|
34
34
|
|
|
35
|
-
//
|
|
35
|
+
// 批量设置路径列表(替换所有现有线条)
|
|
36
36
|
public setLines(lines: Line[]): void;
|
|
37
37
|
|
|
38
|
-
//
|
|
38
|
+
// 追加一条或多条线,返回生成的 id 数组
|
|
39
|
+
public addLine(...lines: Line[]): string[];
|
|
40
|
+
|
|
41
|
+
// 按 id 移除一条或多条线,返回实际移除的数量
|
|
42
|
+
public removeLine(...ids: string[]): number;
|
|
43
|
+
|
|
44
|
+
// 修改单条线的参数(通过 id),支持部分更新
|
|
39
45
|
public setLine(params: { id: string } & Partial<Omit<Line, 'id'>>): void;
|
|
40
46
|
|
|
41
47
|
public render(
|
|
@@ -92,7 +98,7 @@ export class FlowingLight2DPass extends FivePass {
|
|
|
92
98
|
| `color` | `THREE.Color` | ✓ | - | 光带颜色(RGB)。 |
|
|
93
99
|
| `opacity` | `number` | | `1.0` | 光带不透明度(0-1)。控制与背景的混合强度。 |
|
|
94
100
|
| `duration` | `number` | | `1000` | 动画周期(毫秒)。光头从路径起点完成一个周期的时长。 |
|
|
95
|
-
| `
|
|
101
|
+
| `startTime` | `number` | | 当前内部时间 | 线条开始时间(毫秒)。控制线条动画从何时开始播放,可用于多条线错开起始时间。 |
|
|
96
102
|
| `lineWidth` | `number` | | `0.01` | 线宽(归一化单位)。控制光带在屏幕上的宽度。 |
|
|
97
103
|
| `tailLengthRatio` | `number` | | `0.2` | 尾巴长度比例(0-1)。控制流光尾巴相对于路径总长的比例。 |
|
|
98
104
|
|
|
@@ -104,9 +110,10 @@ export class FlowingLight2DPass extends FivePass {
|
|
|
104
110
|
初始化 Pass,需传入相机以获取屏幕分辨率。
|
|
105
111
|
|
|
106
112
|
### `setLines(lines: Line[])`
|
|
107
|
-
|
|
113
|
+
批量设置路径列表,替换所有现有线条。可随时调用以修改或新增路径。
|
|
108
114
|
|
|
109
115
|
**自动生成 ID**: 如果 line 没有提供 `id`,会自动生成 UUID。
|
|
116
|
+
**自动设置 startTime**: 如果 line 没有提供 `startTime`,会使用当前内部时间。
|
|
110
117
|
|
|
111
118
|
**示例**:
|
|
112
119
|
```ts
|
|
@@ -121,16 +128,63 @@ const pathLine: Line = {
|
|
|
121
128
|
color: new THREE.Color(0x00c2ff),
|
|
122
129
|
opacity: 0.8,
|
|
123
130
|
duration: 2000,
|
|
124
|
-
|
|
131
|
+
startTime: 500,
|
|
125
132
|
lineWidth: 0.01,
|
|
126
133
|
};
|
|
127
134
|
pass.setLines([pathLine]);
|
|
128
135
|
```
|
|
129
136
|
|
|
137
|
+
### `addLine(...lines: Line[]): string[]`
|
|
138
|
+
追加一条或多条线到现有列表中,不影响已有线条。返回新增线条的 id 数组。
|
|
139
|
+
|
|
140
|
+
**示例**:
|
|
141
|
+
```ts
|
|
142
|
+
// 追加单条线
|
|
143
|
+
const [id1] = pass.addLine({
|
|
144
|
+
points: [
|
|
145
|
+
new THREE.Vector2(0.1, 0.1),
|
|
146
|
+
new THREE.Vector2(0.9, 0.9),
|
|
147
|
+
],
|
|
148
|
+
totalLength: 1.13,
|
|
149
|
+
color: new THREE.Color(0xff0000),
|
|
150
|
+
duration: 2000,
|
|
151
|
+
});
|
|
152
|
+
|
|
153
|
+
// 追加多条线
|
|
154
|
+
const ids = pass.addLine(
|
|
155
|
+
{
|
|
156
|
+
points: [...],
|
|
157
|
+
totalLength: 0.8,
|
|
158
|
+
color: new THREE.Color(0x00ff00),
|
|
159
|
+
duration: 1500,
|
|
160
|
+
},
|
|
161
|
+
{
|
|
162
|
+
points: [...],
|
|
163
|
+
totalLength: 1.2,
|
|
164
|
+
color: new THREE.Color(0x0000ff),
|
|
165
|
+
duration: 1800,
|
|
166
|
+
},
|
|
167
|
+
);
|
|
168
|
+
// ids = ['uuid-1', 'uuid-2']
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
### `removeLine(...ids: string[]): number`
|
|
172
|
+
按 id 移除一条或多条线,返回实际移除的数量。如果 id 不存在,会在控制台输出警告。
|
|
173
|
+
|
|
174
|
+
**示例**:
|
|
175
|
+
```ts
|
|
176
|
+
// 移除单条线
|
|
177
|
+
pass.removeLine(id1);
|
|
178
|
+
|
|
179
|
+
// 移除多条线
|
|
180
|
+
const removedCount = pass.removeLine(id1, id2, id3);
|
|
181
|
+
console.log(`移除了 ${removedCount} 条线`);
|
|
182
|
+
```
|
|
183
|
+
|
|
130
184
|
### `setLine(params: { id: string } & Partial<Omit<Line, 'id'>>)`
|
|
131
185
|
通过 `id` 修改单条线的参数。支持部分更新,只更新传入的字段。
|
|
132
186
|
|
|
133
|
-
**性能优化**:
|
|
187
|
+
**性能优化**:
|
|
134
188
|
- 如果 `points` 数量不变,只更新 GPU 的 instance attributes,性能极高
|
|
135
189
|
- 如果 `points` 数量改变,会重建整个 mesh,性能开销较大
|
|
136
190
|
|
|
@@ -187,7 +241,7 @@ pass.setLine({
|
|
|
187
241
|
|
|
188
242
|
### 快速上手 (Quick Example)
|
|
189
243
|
|
|
190
|
-
|
|
244
|
+
```typescript
|
|
191
245
|
import { Five } from '@realsee/five';
|
|
192
246
|
import { FlowingLight2DPass } from '../../lib/five/renderer/postprocessing';
|
|
193
247
|
import * as THREE from 'three';
|
|
@@ -221,11 +275,12 @@ function animate() {
|
|
|
221
275
|
five.render();
|
|
222
276
|
}
|
|
223
277
|
animate();
|
|
278
|
+
```
|
|
224
279
|
|
|
225
280
|
|
|
226
281
|
### 多条路径 & 动态更新
|
|
227
282
|
|
|
228
|
-
|
|
283
|
+
```typescript
|
|
229
284
|
const pass = new FlowingLight2DPass(five.camera);
|
|
230
285
|
|
|
231
286
|
// 初始路径集合
|
|
@@ -249,7 +304,7 @@ const paths = [
|
|
|
249
304
|
color: new THREE.Color(0x0066ff),
|
|
250
305
|
opacity: 0.7,
|
|
251
306
|
duration: 2000,
|
|
252
|
-
|
|
307
|
+
startTime: 500,
|
|
253
308
|
lineWidth: 0.015,
|
|
254
309
|
},
|
|
255
310
|
];
|
|
@@ -262,7 +317,7 @@ document.addEventListener('click', (e) => {
|
|
|
262
317
|
const rect = five.canvas.getBoundingClientRect();
|
|
263
318
|
const x = (e.clientX - rect.left) / rect.width;
|
|
264
319
|
const y = (e.clientY - rect.top) / rect.height; // 左上角为原点,无需翻转
|
|
265
|
-
|
|
320
|
+
|
|
266
321
|
const newPath = {
|
|
267
322
|
points: [
|
|
268
323
|
new THREE.Vector2(0.5, 0.5),
|
|
@@ -275,11 +330,12 @@ document.addEventListener('click', (e) => {
|
|
|
275
330
|
};
|
|
276
331
|
pass.setLines([...paths, newPath]);
|
|
277
332
|
});
|
|
333
|
+
```
|
|
278
334
|
|
|
279
335
|
|
|
280
336
|
### 计算路径总长度
|
|
281
337
|
|
|
282
|
-
|
|
338
|
+
```typescript
|
|
283
339
|
function calculatePathLength(points: THREE.Vector2[]): number {
|
|
284
340
|
let length = 0;
|
|
285
341
|
for (let i = 1; i < points.length; i++) {
|
|
@@ -303,6 +359,7 @@ const pathLine = {
|
|
|
303
359
|
duration: 2000,
|
|
304
360
|
lineWidth: 0.01,
|
|
305
361
|
};
|
|
362
|
+
```
|
|
306
363
|
|
|
307
364
|
|
|
308
365
|
### 矩形路径示例
|
|
@@ -323,7 +380,7 @@ const rectPath = {
|
|
|
323
380
|
color: new THREE.Color(1.0, 1.0, 1.0),
|
|
324
381
|
opacity: 1.0,
|
|
325
382
|
duration: 4000,
|
|
326
|
-
|
|
383
|
+
startTime: 2000,
|
|
327
384
|
lineWidth: 0.01,
|
|
328
385
|
};
|
|
329
386
|
|
|
@@ -332,7 +389,7 @@ pass.setLines([rectPath]);
|
|
|
332
389
|
|
|
333
390
|
### 高 DPR 场景优化
|
|
334
391
|
|
|
335
|
-
|
|
392
|
+
```typescript
|
|
336
393
|
// InstancedMesh 实现自动优化高 DPR 性能
|
|
337
394
|
// 在 DPR=2 的 Retina 屏幕上,性能显著优于全屏着色器方案
|
|
338
395
|
|
|
@@ -347,11 +404,12 @@ const paths = Array.from({ length: 10 }, (_, i) => ({
|
|
|
347
404
|
totalLength: 0.8,
|
|
348
405
|
color: new THREE.Color(Math.random() * 0xffffff),
|
|
349
406
|
duration: 2000 + i * 100,
|
|
350
|
-
|
|
407
|
+
startTime: i * 200,
|
|
351
408
|
lineWidth: 0.01,
|
|
352
409
|
}));
|
|
353
410
|
|
|
354
411
|
pass.setLines(paths);
|
|
412
|
+
```
|
|
355
413
|
|
|
356
414
|
|
|
357
415
|
## Debugging
|
|
@@ -374,7 +432,7 @@ pass.setLines(paths);
|
|
|
374
432
|
| 修改类型 | 性能 | 说明 |
|
|
375
433
|
|---------|------|------|
|
|
376
434
|
| 只修改颜色/透明度 | ⚡️ 极快 (~100x) | 只更新 instanceColor attribute |
|
|
377
|
-
| 只修改 duration/
|
|
435
|
+
| 只修改 duration/startTime | ⚡️ 极快 (~100x) | 只更新 instanceMeta attribute |
|
|
378
436
|
| 只修改 lineWidth | ⚡️ 极快 (~100x) | 只更新 instanceData attribute |
|
|
379
437
|
| 修改 points (相同数量) | ⚡️ 快 (~50x) | 只更新 instanceStart/End attributes |
|
|
380
438
|
| 修改 points (不同数量) | ⚠️ 慢 | 重建整个 mesh |
|
|
@@ -435,4 +493,4 @@ setInterval(() => {
|
|
|
435
493
|
---
|
|
436
494
|
|
|
437
495
|
|
|
438
|
-
tags: [postprocessing, effect, flowing, light, pass, rendering, screenspace, instanced, performance]
|
|
496
|
+
tags: [流光, 光带, 导航路径, 指示线, 动态路径, 特效, postprocessing, effect, flowing, light, pass, rendering, screenspace, instanced, performance, 2d, screen-space]
|
|
@@ -24,7 +24,7 @@ type Line = {
|
|
|
24
24
|
color: THREE.Color; // 光带颜色
|
|
25
25
|
opacity?: number; // 光带不透明度(0-1)
|
|
26
26
|
duration?: number; // 动画周期(毫秒)
|
|
27
|
-
|
|
27
|
+
startTime?: number; // 线条开始时间(毫秒),默认使用当前内部时间
|
|
28
28
|
lineWidth?: number; // 线宽(像素)
|
|
29
29
|
tailLengthRatio?: number; // 尾巴长度比例(0-1),默认 0.2
|
|
30
30
|
};
|
|
@@ -32,10 +32,16 @@ type Line = {
|
|
|
32
32
|
export class FlowingLight3DPass extends FivePass {
|
|
33
33
|
constructor(camera: Camera);
|
|
34
34
|
|
|
35
|
-
//
|
|
35
|
+
// 批量设置路径列表(替换所有现有线条)
|
|
36
36
|
public setLines(lines: Line[]): void;
|
|
37
37
|
|
|
38
|
-
//
|
|
38
|
+
// 追加一条或多条线,返回生成的 id 数组
|
|
39
|
+
public addLine(...lines: Line[]): string[];
|
|
40
|
+
|
|
41
|
+
// 按 id 移除一条或多条线,返回实际移除的数量
|
|
42
|
+
public removeLine(...ids: string[]): number;
|
|
43
|
+
|
|
44
|
+
// 修改单条线的参数(通过 id),支持部分更新
|
|
39
45
|
public setLine(params: { id: string } & Partial<Omit<Line, 'id'>>): void;
|
|
40
46
|
|
|
41
47
|
public render(
|
|
@@ -84,7 +90,7 @@ Pass 自动同步相机的投影矩阵和视图矩阵,无需手动管理。支
|
|
|
84
90
|
| `color` | `THREE.Color` | ✓ | - | 光带颜色(RGB)。 |
|
|
85
91
|
| `opacity` | `number` | | `1.0` | 光带不透明度(0-1)。控制与背景的混合强度。 |
|
|
86
92
|
| `duration` | `number` | | `1000` | 动画周期(毫秒)。光头完成一个循环所需时长。 |
|
|
87
|
-
| `
|
|
93
|
+
| `startTime` | `number` | | 当前内部时间 | 线条开始时间(毫秒)。控制线条动画从何时开始播放,可用于多条线错开起始时间。 |
|
|
88
94
|
| `lineWidth` | `number` | | `3.0` | 线宽(像素)。控制光带在屏幕上的宽度。 |
|
|
89
95
|
| `tailLengthRatio` | `number` | | `0.2` | 尾巴长度比例(0-1)。控制流光尾巴相对于路径总长的比例。 |
|
|
90
96
|
|
|
@@ -96,9 +102,10 @@ Pass 自动同步相机的投影矩阵和视图矩阵,无需手动管理。支
|
|
|
96
102
|
初始化 Pass,需传入相机以获取投影矩阵和视图矩阵。
|
|
97
103
|
|
|
98
104
|
### `setLines(lines: Line[])`
|
|
99
|
-
|
|
105
|
+
批量设置路径列表,替换所有现有线条。支持运行时动态更改。
|
|
100
106
|
|
|
101
107
|
**自动生成 ID**: 如果 line 没有提供 `id`,会自动生成 UUID。
|
|
108
|
+
**自动设置 startTime**: 如果 line 没有提供 `startTime`,会使用当前内部时间。
|
|
102
109
|
|
|
103
110
|
**示例**:
|
|
104
111
|
```ts
|
|
@@ -113,16 +120,63 @@ const pathLine: Line = {
|
|
|
113
120
|
color: new THREE.Color(0xff6600),
|
|
114
121
|
opacity: 0.85,
|
|
115
122
|
duration: 3000,
|
|
116
|
-
|
|
123
|
+
startTime: 500,
|
|
117
124
|
lineWidth: 4.0,
|
|
118
125
|
};
|
|
119
126
|
pass.setLines([pathLine]);
|
|
120
127
|
```
|
|
121
128
|
|
|
129
|
+
### `addLine(...lines: Line[]): string[]`
|
|
130
|
+
追加一条或多条线到现有列表中,不影响已有线条。返回新增线条的 id 数组。
|
|
131
|
+
|
|
132
|
+
**示例**:
|
|
133
|
+
```ts
|
|
134
|
+
// 追加单条线
|
|
135
|
+
const [id1] = pass.addLine({
|
|
136
|
+
points: [
|
|
137
|
+
new THREE.Vector3(0, 0, 0),
|
|
138
|
+
new THREE.Vector3(10, 5, 5),
|
|
139
|
+
],
|
|
140
|
+
totalLength: 12,
|
|
141
|
+
color: new THREE.Color(0xff0000),
|
|
142
|
+
duration: 2000,
|
|
143
|
+
});
|
|
144
|
+
|
|
145
|
+
// 追加多条线
|
|
146
|
+
const ids = pass.addLine(
|
|
147
|
+
{
|
|
148
|
+
points: [...],
|
|
149
|
+
totalLength: 8,
|
|
150
|
+
color: new THREE.Color(0x00ff00),
|
|
151
|
+
duration: 1500,
|
|
152
|
+
},
|
|
153
|
+
{
|
|
154
|
+
points: [...],
|
|
155
|
+
totalLength: 15,
|
|
156
|
+
color: new THREE.Color(0x0000ff),
|
|
157
|
+
duration: 1800,
|
|
158
|
+
},
|
|
159
|
+
);
|
|
160
|
+
// ids = ['uuid-1', 'uuid-2']
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
### `removeLine(...ids: string[]): number`
|
|
164
|
+
按 id 移除一条或多条线,返回实际移除的数量。如果 id 不存在,会在控制台输出警告。
|
|
165
|
+
|
|
166
|
+
**示例**:
|
|
167
|
+
```ts
|
|
168
|
+
// 移除单条线
|
|
169
|
+
pass.removeLine(id1);
|
|
170
|
+
|
|
171
|
+
// 移除多条线
|
|
172
|
+
const removedCount = pass.removeLine(id1, id2, id3);
|
|
173
|
+
console.log(`移除了 ${removedCount} 条线`);
|
|
174
|
+
```
|
|
175
|
+
|
|
122
176
|
### `setLine(params: { id: string } & Partial<Omit<Line, 'id'>>)`
|
|
123
177
|
通过 `id` 修改单条线的参数。支持部分更新,只更新传入的字段。
|
|
124
178
|
|
|
125
|
-
**性能优化**:
|
|
179
|
+
**性能优化**:
|
|
126
180
|
- 如果 `points` 数量不变,只更新 GPU 的 instance attributes,性能极高
|
|
127
181
|
- 如果 `points` 数量改变,会重建整个 mesh,性能开销较大
|
|
128
182
|
|
|
@@ -180,7 +234,7 @@ pass.setLine({
|
|
|
180
234
|
|
|
181
235
|
### 快速上手 (Quick Example)
|
|
182
236
|
|
|
183
|
-
|
|
237
|
+
```typescript
|
|
184
238
|
import { Five } from '@realsee/five';
|
|
185
239
|
import { FlowingLight3DPass } from '../../lib/five/renderer/postprocessing';
|
|
186
240
|
import * as THREE from 'three';
|
|
@@ -215,11 +269,12 @@ function animate() {
|
|
|
215
269
|
five.render();
|
|
216
270
|
}
|
|
217
271
|
animate();
|
|
272
|
+
```
|
|
218
273
|
|
|
219
274
|
|
|
220
275
|
### 多条 3D 路径
|
|
221
276
|
|
|
222
|
-
|
|
277
|
+
```typescript
|
|
223
278
|
const pass = new FlowingLight3DPass(camera);
|
|
224
279
|
|
|
225
280
|
const paths = [
|
|
@@ -241,7 +296,7 @@ const paths = [
|
|
|
241
296
|
totalLength: 12,
|
|
242
297
|
color: new THREE.Color(0x00ff00),
|
|
243
298
|
duration: 2500,
|
|
244
|
-
|
|
299
|
+
startTime: 500,
|
|
245
300
|
lineWidth: 4.0,
|
|
246
301
|
},
|
|
247
302
|
{
|
|
@@ -252,17 +307,18 @@ const paths = [
|
|
|
252
307
|
totalLength: 11,
|
|
253
308
|
color: new THREE.Color(0x0000ff),
|
|
254
309
|
duration: 2200,
|
|
255
|
-
|
|
310
|
+
startTime: 1000,
|
|
256
311
|
lineWidth: 2.5,
|
|
257
312
|
},
|
|
258
313
|
];
|
|
259
314
|
|
|
260
315
|
pass.setLines(paths);
|
|
316
|
+
```
|
|
261
317
|
|
|
262
318
|
|
|
263
319
|
### 计算 3D 路径长度
|
|
264
320
|
|
|
265
|
-
|
|
321
|
+
```typescript
|
|
266
322
|
function calculatePath3DLength(points: THREE.Vector3[]): number {
|
|
267
323
|
let length = 0;
|
|
268
324
|
for (let i = 1; i < points.length; i++) {
|
|
@@ -284,11 +340,12 @@ const pathLine = {
|
|
|
284
340
|
duration: 3000,
|
|
285
341
|
lineWidth: 3.0,
|
|
286
342
|
};
|
|
343
|
+
```
|
|
287
344
|
|
|
288
345
|
|
|
289
346
|
### 结合相机动画
|
|
290
347
|
|
|
291
|
-
|
|
348
|
+
```typescript
|
|
292
349
|
// 光带路径随相机移动自动投影
|
|
293
350
|
const pass = new FlowingLight3DPass(camera);
|
|
294
351
|
|
|
@@ -309,11 +366,12 @@ five.setState({
|
|
|
309
366
|
mode: Five.Mode.Model,
|
|
310
367
|
// ... 其他参数
|
|
311
368
|
});
|
|
369
|
+
```
|
|
312
370
|
|
|
313
371
|
|
|
314
372
|
### 高 DPR 场景优化
|
|
315
373
|
|
|
316
|
-
|
|
374
|
+
```typescript
|
|
317
375
|
// InstancedMesh 实现自动优化高 DPR 性能
|
|
318
376
|
// 在 DPR=2 的 Retina 屏幕上,性能显著优于全屏着色器方案
|
|
319
377
|
|
|
@@ -328,11 +386,12 @@ const paths = Array.from({ length: 10 }, (_, i) => ({
|
|
|
328
386
|
totalLength: 7,
|
|
329
387
|
color: new THREE.Color(Math.random() * 0xffffff),
|
|
330
388
|
duration: 2000 + i * 100,
|
|
331
|
-
|
|
389
|
+
startTime: i * 200,
|
|
332
390
|
lineWidth: 3.0,
|
|
333
391
|
}));
|
|
334
392
|
|
|
335
393
|
pass.setLines(paths);
|
|
394
|
+
```
|
|
336
395
|
|
|
337
396
|
|
|
338
397
|
## Debugging
|
|
@@ -356,7 +415,7 @@ pass.setLines(paths);
|
|
|
356
415
|
| 修改类型 | 性能 | 说明 |
|
|
357
416
|
|---------|------|------|
|
|
358
417
|
| 只修改颜色/透明度 | ⚡️ 极快 (~100x) | 只更新 instanceColor attribute |
|
|
359
|
-
| 只修改 duration/
|
|
418
|
+
| 只修改 duration/startTime | ⚡️ 极快 (~100x) | 只更新 instanceMeta attribute |
|
|
360
419
|
| 只修改 lineWidth | ⚡️ 极快 (~100x) | 只更新 instanceData attribute |
|
|
361
420
|
| 修改 points (相同数量) | ⚡️ 快 (~50x) | 只更新 instanceStart/End attributes |
|
|
362
421
|
| 修改 points (不同数量) | ⚠️ 慢 | 重建整个 mesh |
|
|
@@ -417,4 +476,4 @@ setInterval(() => {
|
|
|
417
476
|
---
|
|
418
477
|
|
|
419
478
|
|
|
420
|
-
tags: [postprocessing, effect, flowing, light, pass, rendering, worldspace, projection, instanced, performance]
|
|
479
|
+
tags: [流光, 光带, 空间轨迹, 模型表面, 特效, postprocessing, effect, flowing, light, pass, rendering, worldspace, projection, instanced, performance, 3d, world-space]
|
|
@@ -198,5 +198,5 @@ console.log('Resolution:', blurPass['material'].uniforms.resolution.value);
|
|
|
198
198
|
---
|
|
199
199
|
|
|
200
200
|
```yaml
|
|
201
|
-
tags: [postprocessing, shader, effect, blur, pass, rendering]
|
|
201
|
+
tags: [模糊, 高斯模糊, 毛玻璃, 背景虚化, postprocessing, shader, effect, blur, pass, rendering, gaussian, blur-effect]
|
|
202
202
|
```
|
|
@@ -44,6 +44,7 @@ interface GestureEvent {
|
|
|
44
44
|
|
|
45
45
|
Five 的手势系统基于 Hammer.js 封装,主要包含以下几种手势:
|
|
46
46
|
|
|
47
|
+
* **gesture.fire**: 任意事件被触发。
|
|
47
48
|
* **gesture.pan**: 拖拽/平移。
|
|
48
49
|
* **gesture.pinch**: 双指缩放。
|
|
49
50
|
* **gesture.tap**: 点击。
|
|
@@ -176,5 +177,5 @@ five.on("gesture.pinch", (event) => {
|
|
|
176
177
|
---
|
|
177
178
|
|
|
178
179
|
```yaml
|
|
179
|
-
tags: [gesture, event, interaction, tap, pan, pinch]
|
|
180
|
+
tags: [手势, 点击, 拖拽, 缩放, 长按, 鼠标, 触摸, 交互控制, 自定义交互, gesture, event, interaction, tap, pan, pinch, preventDefault]
|
|
180
181
|
```
|
|
@@ -173,10 +173,10 @@ function getCenterColor(five: Five) {
|
|
|
173
173
|
|
|
174
174
|
## Related
|
|
175
175
|
|
|
176
|
-
* [
|
|
176
|
+
* [API Reference](../api.md): Five 核心 API 说明。
|
|
177
177
|
|
|
178
178
|
---
|
|
179
179
|
|
|
180
180
|
```yaml
|
|
181
|
-
tags: [getPixels, magnifier, screenshot, pixel, canvas]
|
|
181
|
+
tags: [截图, 放大镜, 取色器, 颜色拾取, 像素数据, getPixels, magnifier, screenshot, pixel, canvas, screen-capture, color-picker]
|
|
182
182
|
```
|
|
@@ -155,10 +155,10 @@ console.log(cutUrl);
|
|
|
155
155
|
|
|
156
156
|
## Related
|
|
157
157
|
|
|
158
|
-
* [
|
|
158
|
+
* [Pano Tile](./pano-tile.md): 全景图瓦片加载策略与 WorkTile 数据结构说明。
|
|
159
159
|
|
|
160
160
|
---
|
|
161
161
|
|
|
162
162
|
```yaml
|
|
163
|
-
tags: [imageOptions, configuration, optimization, cdn, private-deployment]
|
|
163
|
+
tags: [图片配置, 图片格式, 域名映射, 多云部署, 私有化, 图片质量, 流量优化, imageOptions, configuration, optimization, cdn, private-deployment, avif, webp]
|
|
164
164
|
```
|
|
@@ -78,7 +78,9 @@ Five 使用 **Z-up** (Z 轴向上) 的右手坐标系。
|
|
|
78
78
|
* `EXT_texture_webp`
|
|
79
79
|
* `CESIUM_RTC`
|
|
80
80
|
* `REALSEE_materials_lightmap`
|
|
81
|
+
* `KHR_gaussian_splatting`
|
|
81
82
|
* `KHR_gaussian_splatting_compression_spz`
|
|
83
|
+
* `KHR_gaussian_splatting_compression_spz_2`
|
|
82
84
|
|
|
83
85
|
| 参数 | 类型 | 默认值 | 说明 |
|
|
84
86
|
| --- | --- | --- | --- |
|
|
@@ -341,10 +343,12 @@ loadAt3d('https://example.com/model.at3d', {
|
|
|
341
343
|
|
|
342
344
|
## Related
|
|
343
345
|
|
|
344
|
-
* [
|
|
346
|
+
* [Model](./model.md): 关于 Five 内部模型加载机制的说明。
|
|
347
|
+
* [Coordinate System](./coordinate-system.md): 坐标系定义,理解 Y-up 与 Z-up 的转换。
|
|
348
|
+
* [Request Proxy](./request-proxy.md): 自定义请求拦截(鉴权、CDN),与 fetcher 配合使用。
|
|
345
349
|
|
|
346
350
|
---
|
|
347
351
|
|
|
348
352
|
```yaml
|
|
349
|
-
tags: [loader, gltf, ply, splat, fbx, external-model]
|
|
353
|
+
tags: [加载模型, 导入模型, 点云, 内存泄漏, loader, gltf, ply, splat, fbx, external-model, glb, obj, 3d-model, gaussian-splatting, point-cloud, draco, dispose]
|
|
350
354
|
```
|
|
@@ -82,6 +82,7 @@ Five 支持高性能的点云渲染(PBM),并提供灵活的样式配置:
|
|
|
82
82
|
| `receiveShadow` | `boolean` | `false` | 模型是否接收阴影。 |
|
|
83
83
|
| `useAddBlend` | `boolean` | `false` | 是否使用半透明叠加渲染。 |
|
|
84
84
|
| `customShaders` | `PBMCustomShader[]` | `[]` | 自定义 Shader 配置。 |
|
|
85
|
+
| `panoFilter` | `PBMPanoFilter` | `null` | 全景图滤镜 (亮度、对比度、色温等)。详情见 [Pano Filter](./pano-filter.md)。 |
|
|
85
86
|
| `clippers` | `PBMClipperParameter[]` | `[]` | 模型裁切参数。 |
|
|
86
87
|
| `boundingBox` | `THREE.Box3` | `Infinity` | 模型包围盒。 |
|
|
87
88
|
|
|
@@ -97,7 +98,7 @@ Five 支持高性能的点云渲染(PBM),并提供灵活的样式配置:
|
|
|
97
98
|
| `constantColor` | `THREE.Vector3` | `(0.6, 0.6, 0.6)` | 模型纯色模式下的颜色值。 |
|
|
98
99
|
| `outlineGain` | `number` | `0.0` | 轮廓线增益。 |
|
|
99
100
|
| `distanceGain` | `number` | `0.0` | 距离增益。 |
|
|
100
|
-
| `
|
|
101
|
+
| `gaussianSplattingSHDegree` | `number` | `0` | 3D Gaussian Splatting 的球谐阶数。 |
|
|
101
102
|
|
|
102
103
|
### Internal & Low-Level (内部与底层配置)
|
|
103
104
|
|
|
@@ -122,30 +123,37 @@ Five 支持高性能的点云渲染(PBM),并提供灵活的样式配置:
|
|
|
122
123
|
### 1. Adjusting Model Transparency and Style (调整模型透明度与样式)
|
|
123
124
|
|
|
124
125
|
```typescript
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
126
|
+
// 设置半透明
|
|
127
|
+
five.modelScene.parameter.set('opacity', 0.5);
|
|
128
|
+
|
|
129
|
+
// 仅显示原始 UV 贴图
|
|
130
|
+
five.modelScene.parameter.set('modelAlpha', 0.0);
|
|
131
|
+
|
|
132
|
+
// 设置楼层样式
|
|
133
|
+
five.modelScene.parameter.set('floorStyle', 'wireframe');
|
|
130
134
|
```
|
|
131
135
|
|
|
132
136
|
### 2. Configuring Point Cloud Appearance (配置点云外观)
|
|
133
137
|
|
|
134
138
|
```typescript
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
139
|
+
// 大小随距离衰减
|
|
140
|
+
five.modelScene.parameter.set('pointSize', 'ATTENUATION');
|
|
141
|
+
|
|
142
|
+
// 基础大小
|
|
143
|
+
five.modelScene.parameter.set('pointScale', 0.05);
|
|
144
|
+
|
|
145
|
+
// 最大像素限制
|
|
146
|
+
five.modelScene.parameter.set('pointMaxPixel', 20);
|
|
140
147
|
```
|
|
141
148
|
|
|
142
149
|
## Related
|
|
143
150
|
|
|
144
151
|
* [Parameter](./parameter.md): 配置系统入口与继承逻辑。
|
|
152
|
+
* [Pano Filter](./pano-filter.md): 了解全景图滤镜的详细用法。
|
|
145
153
|
* [3DTile Params](./3dtile.md): 性能与加载相关参数。
|
|
146
154
|
|
|
147
155
|
---
|
|
148
156
|
|
|
149
157
|
```yaml
|
|
150
|
-
tags: [material, appearance, pointcloud, parameter, roof, ceiling, config]
|
|
158
|
+
tags: [材质, 透明度, 点云, 楼层, 阴影, 亮度, 天花板, 开盖, 顶点标记, 渲染样式, material, appearance, pointcloud, parameter, roof, ceiling, config, opacity]
|
|
151
159
|
```
|