@realsee/five 6.8.0-alpha.0 → 6.8.0-alpha.10
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 +4 -0
- package/AI_CONTEXT.md +4 -0
- package/README.md +50 -389
- package/ai_guides/README.md +122 -0
- package/ai_guides/ai-doc-guidelines.md +102 -0
- package/ai_guides/api.md +274 -0
- package/ai_guides/features/3dtile.md +172 -0
- package/ai_guides/features/camera-animation.md +205 -0
- package/ai_guides/features/clipper.md +135 -0
- package/ai_guides/features/coordinate-system.md +128 -0
- package/ai_guides/features/event.md +154 -0
- package/ai_guides/features/five.md +184 -0
- package/ai_guides/features/flowing-light-2d-pass.md +438 -0
- package/ai_guides/features/flowing-light-3d-pass.md +420 -0
- package/ai_guides/features/gaussian-blur-pass.md +202 -0
- package/ai_guides/features/gesture.md +180 -0
- package/ai_guides/features/get-screen-pixels.md +182 -0
- package/ai_guides/features/image-options.md +164 -0
- package/ai_guides/features/load-external-model.md +350 -0
- package/ai_guides/features/load-progress.md +140 -0
- package/ai_guides/features/material.md +151 -0
- package/ai_guides/features/mode.md +269 -0
- package/ai_guides/features/model.md +186 -0
- package/ai_guides/features/move-pano-effect.md +145 -0
- package/ai_guides/features/multi-work.md +146 -0
- package/ai_guides/features/pano-tile.md +132 -0
- package/ai_guides/features/pano-uv.md +131 -0
- package/ai_guides/features/parameter.md +153 -0
- package/ai_guides/features/plugin.md +210 -0
- package/ai_guides/features/postprocessing.md +259 -0
- package/ai_guides/features/raycast.md +175 -0
- package/ai_guides/features/request-proxy.md +112 -0
- package/ai_guides/features/screen-project.md +165 -0
- package/ai_guides/features/state.md +101 -0
- package/ai_guides/features/view-layer.md +187 -0
- package/ai_guides/features/work.md +303 -0
- package/ai_guides/glossary.md +93 -0
- package/ai_guides/intro.md +23 -0
- package/ai_guides/quick-start.md +69 -0
- package/ai_guides/release_notes/6.6.md +86 -0
- package/ai_guides/release_notes/6.7.md +401 -0
- package/ai_guides/release_notes/6.8.md +90 -0
- package/ai_guides/support.md +23 -0
- package/ai_guides/template.md +70 -0
- package/docs/00_FOR_AI_AGENTS.md +11 -0
- package/docs/README.md +11 -0
- package/docs/assets/hierarchy.js +1 -1
- package/docs/assets/highlight.css +29 -29
- package/docs/assets/icons.js +1 -1
- package/docs/assets/icons.svg +1 -1
- package/docs/assets/main.js +2 -2
- package/docs/assets/navigation.js +1 -1
- package/docs/assets/search.js +1 -1
- package/docs/assets/style.css +3 -3
- package/docs/classes/five.AdaptiveLuminancePass.html +2 -2
- package/docs/classes/five.AnimationFrameLoop.html +5 -5
- package/docs/classes/five.BoundingMesh.html +1 -1
- package/docs/classes/five.Camera.html +5 -5
- package/docs/classes/five.EffectComposer.html +1 -1
- package/docs/classes/five.EyeDomeLightingPass.html +2 -2
- package/docs/classes/five.Five.html +134 -134
- package/docs/classes/five.FivePass.html +2 -2
- package/docs/classes/five.FullScreenQuad.html +2 -2
- package/docs/classes/five.InternalWebGLRenderer.html +1 -1
- package/docs/classes/five.Model.html +36 -36
- package/docs/classes/five.ModelScene.html +12 -12
- package/docs/classes/five.Motion.html +1 -1
- package/docs/classes/five.NetworkSubscribe.html +23 -23
- package/docs/classes/five.PBMContainer.html +3 -3
- package/docs/classes/five.PBMGSObject.html +24 -0
- package/docs/classes/five.PBMGroup.html +1 -1
- package/docs/classes/five.PBMMesh.html +1 -1
- package/docs/classes/five.PBMMeshMaterial.html +15 -6
- package/docs/classes/five.PBMPointCloud.html +1 -1
- package/docs/classes/five.PBMPointCloudMaterial.html +3 -3
- package/docs/classes/five.PBMSkinnedMesh.html +1 -1
- package/docs/classes/five.PanoCircleMesh.html +4 -4
- package/docs/classes/five.PanoCircleMeshCustom.html +4 -4
- package/docs/classes/five.PanoCircleMeshSolid.html +4 -4
- package/docs/classes/five.Parameter.html +55 -51
- package/docs/classes/five.Scene.html +3 -3
- package/docs/classes/five.Subscribe.html +26 -25
- package/docs/classes/five.Tile.html +1 -1
- package/docs/classes/five.Tile3D.html +30 -26
- package/docs/classes/five.TileNode.html +2 -2
- package/docs/classes/five.Tileset.html +11 -11
- package/docs/classes/five.Trajectory.html +1 -1
- package/docs/classes/five.TrajectoryNode.html +1 -1
- package/docs/classes/five.Work.html +19 -19
- package/docs/classes/five.WorkResolvedObserver.html +41 -16
- 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 +6 -6
- package/docs/classes/gltf-loader.GLTFObject.html +1 -1
- package/docs/classes/gltf-loader.THREEGLTFLoader.html +1 -1
- package/docs/classes/line.Line.html +1 -1
- package/docs/classes/line.LineGeometry.html +4 -4
- package/docs/classes/line.LineMaterial.html +1 -1
- package/docs/classes/line.LineSegmentsGeometry.html +4 -4
- 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 +16 -16
- package/docs/classes/plugins.RoundedBoxGeometry.html +1 -1
- package/docs/classes/react.Store.html +12 -11
- package/docs/classes/sticker.Sticker.html +11 -11
- package/docs/classes/vfx.Airflow.html +1 -1
- package/docs/classes/vfx.Flame.html +1 -1
- package/docs/classes/vfx.Particle.html +31 -31
- package/docs/classes/vfx.ParticleGPU.html +7 -7
- package/docs/classes/vfx.SpotLight.html +1 -1
- package/docs/documents/README.html +138 -0
- package/docs/documents/ai-doc-guidelines.html +117 -0
- package/docs/documents/api.html +337 -0
- package/docs/documents/features_3dtile.html +216 -0
- package/docs/documents/features_camera-animation.html +157 -0
- package/docs/documents/features_clipper.html +80 -0
- package/docs/documents/features_coordinate-system.html +127 -0
- package/docs/documents/features_event.html +104 -0
- package/docs/documents/features_five.html +147 -0
- package/docs/documents/features_flowing-light-2d-pass.html +356 -0
- package/docs/documents/features_flowing-light-3d-pass.html +351 -0
- package/docs/documents/features_gaussian-blur-pass.html +182 -0
- package/docs/documents/features_gesture.html +120 -0
- package/docs/documents/features_get-screen-pixels.html +88 -0
- package/docs/documents/features_image-options.html +108 -0
- package/docs/documents/features_load-external-model.html +600 -0
- package/docs/documents/features_load-progress.html +110 -0
- package/docs/documents/features_material.html +334 -0
- package/docs/documents/features_mode.html +114 -0
- package/docs/documents/features_model.html +141 -0
- package/docs/documents/features_move-pano-effect.html +110 -0
- package/docs/documents/features_multi-work.html +97 -0
- package/docs/documents/features_pano-tile.html +100 -0
- package/docs/documents/features_pano-uv.html +82 -0
- package/docs/documents/features_parameter.html +101 -0
- package/docs/documents/features_plugin.html +105 -0
- package/docs/documents/features_postprocessing.html +109 -0
- package/docs/documents/features_raycast.html +98 -0
- package/docs/documents/features_request-proxy.html +78 -0
- package/docs/documents/features_screen-project.html +112 -0
- package/docs/documents/features_state.html +71 -0
- package/docs/documents/features_view-layer.html +158 -0
- package/docs/documents/features_work.html +129 -0
- package/docs/documents/glossary.html +94 -0
- package/docs/documents/intro.html +24 -0
- package/docs/documents/quick-start.html +32 -0
- package/docs/documents/release_notes_6.6.html +79 -0
- package/docs/documents/release_notes_6.7.html +209 -0
- package/docs/documents/release_notes_6.8.html +103 -0
- package/docs/documents/support.html +49 -0
- package/docs/documents/template.html +80 -0
- package/docs/functions/five.coordinatesToVector.html +1 -1
- package/docs/functions/five.defaultImageURLTransform.html +3 -3
- package/docs/functions/five.headingToLongitude.html +1 -1
- package/docs/functions/five.loadAt3d.html +1 -1
- package/docs/functions/five.loadB3dm.html +1 -1
- package/docs/functions/five.loadDome.html +1 -1
- package/docs/functions/five.loadDomez.html +1 -1
- package/docs/functions/five.loadFbx.html +1 -1
- package/docs/functions/five.loadGltf.html +1 -1
- package/docs/functions/five.loadPbm.html +1 -1
- package/docs/functions/five.loadPly.html +1 -1
- package/docs/functions/five.loadPnts.html +1 -1
- package/docs/functions/five.loadSplat.html +1 -0
- package/docs/functions/five.loadSpz.html +1 -0
- package/docs/functions/five.loadX3p.html +1 -1
- package/docs/functions/five.longitudeToHeading.html +1 -1
- package/docs/functions/five.parseWork.html +3 -3
- package/docs/functions/five.vectorToCoordinates.html +1 -1
- package/docs/functions/react.createFiveProvider.html +2 -2
- package/docs/functions/react.createStore.html +8 -8
- package/docs/functions/react.useFiveAction.html +6 -6
- package/docs/functions/react.useFiveCameraDirection.html +1 -1
- package/docs/functions/react.useFiveCameraRaycaster.html +1 -1
- package/docs/functions/react.useFiveCurrentObserver.html +1 -1
- package/docs/functions/react.useFiveCurrentState.html +1 -1
- package/docs/functions/react.useFiveEventCallback.html +1 -1
- package/docs/functions/react.useFiveFloor.html +1 -1
- package/docs/functions/react.useFiveHelper.html +1 -1
- package/docs/functions/react.useFiveModelIntersectRaycaster.html +2 -2
- package/docs/functions/react.useFiveModelReadyState.html +1 -1
- package/docs/functions/react.useFiveProject2d.html +2 -2
- package/docs/functions/react.useFiveSceneEffect.html +1 -1
- package/docs/functions/react.useFiveWork.html +2 -2
- package/docs/functions/vue.useFiveAction.html +8 -8
- package/docs/functions/vue.useFiveCameraDirection.html +1 -1
- package/docs/functions/vue.useFiveCameraRaycaster.html +1 -1
- package/docs/functions/vue.useFiveCurrentObserver.html +1 -1
- package/docs/functions/vue.useFiveCurrentState.html +1 -1
- package/docs/functions/vue.useFiveEventCallback.html +1 -1
- package/docs/functions/vue.useFiveFloor.html +1 -1
- package/docs/functions/vue.useFiveHelper.html +1 -1
- package/docs/functions/vue.useFiveModel.html +1 -1
- package/docs/functions/vue.useFiveModelBounding.html +1 -1
- package/docs/functions/vue.useFiveModelIntersectRaycaster.html +2 -2
- package/docs/functions/vue.useFiveModelReadyState.html +1 -1
- package/docs/functions/vue.useFiveProject2d.html +2 -2
- package/docs/functions/vue.useFiveScene.html +1 -1
- package/docs/functions/vue.useFiveState.html +1 -1
- package/docs/functions/vue.useFiveWorks.html +4 -4
- package/docs/hierarchy.html +1 -1
- package/docs/index.html +115 -187
- package/docs/interfaces/five.AddableObject.html +5 -5
- package/docs/interfaces/five.AjaxOptions.html +5 -5
- package/docs/interfaces/five.BaseEvent.html +2 -2
- package/docs/interfaces/five.EventCallback.html +198 -194
- package/docs/interfaces/five.FiveInitArgs.html +18 -18
- package/docs/interfaces/five.FiveLoadOptions.html +3 -3
- package/docs/interfaces/five.FloorplanControllerCustomInitArgs.html +8 -8
- package/docs/interfaces/five.GestureEvent.html +2 -2
- package/docs/interfaces/five.ImageOptions.html +11 -11
- package/docs/interfaces/five.ImageURLOptions.html +8 -8
- package/docs/interfaces/five.IntersectEvent.html +2 -2
- package/docs/interfaces/five.IntersectMesh.html +1 -1
- package/docs/interfaces/five.IntersectMeshInterface.html +1 -1
- package/docs/interfaces/five.Intersection.html +4 -3
- package/docs/interfaces/five.LooseWorkWithExtrinsics.html +7 -7
- package/docs/interfaces/five.MapviewControllerCustomInitArgs.html +8 -8
- package/docs/interfaces/five.ModeChangeEvent.html +2 -2
- package/docs/interfaces/five.ModelControllerCustomInitArgs.html +9 -9
- package/docs/interfaces/five.ModelEvent.html +2 -2
- package/docs/interfaces/five.ModelOptions.html +3 -3
- package/docs/interfaces/five.ModelSceneEvent.html +2 -2
- package/docs/interfaces/five.ModelTileEvent.html +8 -0
- package/docs/interfaces/five.MovePanoOptions.html +10 -10
- package/docs/interfaces/five.NetworkAbortError.html +1 -1
- package/docs/interfaces/five.NetworkFirbiddenError.html +1 -1
- package/docs/interfaces/five.NetworkOptions.html +4 -4
- package/docs/interfaces/five.NetworkProxyError.html +1 -1
- package/docs/interfaces/five.NetworkResourceEvent.html +2 -2
- package/docs/interfaces/five.NetworkResponseError.html +1 -1
- package/docs/interfaces/five.NetworkTimeoutError.html +1 -1
- package/docs/interfaces/five.ObjectEvent.html +2 -2
- package/docs/interfaces/five.PBMMaterial.html +1 -1
- package/docs/interfaces/five.PBMMeshMaterialParameters.html +1 -1
- package/docs/interfaces/five.PBMPanoDepth.html +4 -4
- package/docs/interfaces/five.PBMPanoPicture.html +5 -5
- package/docs/interfaces/five.PBMPointCloudMaterialParameters.html +1 -1
- package/docs/interfaces/five.PanoCircleMeshInterface.html +4 -4
- package/docs/interfaces/five.PanoEvent.html +2 -2
- package/docs/interfaces/five.PanoTextureEvent.html +2 -2
- package/docs/interfaces/five.PanoramaControllerCustomInitArgs.html +15 -15
- package/docs/interfaces/five.PanoramaLikeControllerCustomInitArgs.html +9 -9
- package/docs/interfaces/five.ParameterMaterialValue.html +40 -36
- package/docs/interfaces/five.ParameterTilesetValue.html +15 -15
- package/docs/interfaces/five.ParameterValue.html +54 -50
- package/docs/interfaces/five.Pass.html +1 -1
- package/docs/interfaces/five.Pose.html +6 -7
- package/docs/interfaces/five.RenderEvent.html +2 -2
- package/docs/interfaces/five.ResolvedParameterValue.html +54 -50
- package/docs/interfaces/five.SplatData.html +10 -0
- package/docs/interfaces/five.State.html +9 -9
- package/docs/interfaces/five.StateEvent.html +2 -2
- package/docs/interfaces/five.TextureOptions.html +12 -12
- package/docs/interfaces/five.Tile3DOptions.html +2 -2
- package/docs/interfaces/five.TileCoordinateSystem.html +2 -2
- package/docs/interfaces/five.TilesetHeader.html +12 -12
- package/docs/interfaces/five.TopviewControllerCustomInitArgs.html +7 -7
- package/docs/interfaces/five.VRPanoramaControllerCustomInitArgs.html +13 -13
- package/docs/interfaces/five.ViewLayer.html +30 -26
- package/docs/interfaces/five.Viewport.html +4 -4
- package/docs/interfaces/five.WorkCubeImage.html +1 -1
- package/docs/interfaces/five.WorkImage.html +4 -4
- 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 +41 -16
- package/docs/interfaces/five.WorkTile.html +4 -4
- package/docs/interfaces/five.WorkVideo.html +4 -4
- package/docs/interfaces/five.WorksEvent.html +2 -2
- package/docs/interfaces/five.XRControllerEvent.html +2 -2
- package/docs/interfaces/five.XRGestureEvent.html +2 -2
- package/docs/interfaces/five.XRPanoramaControllerCustomInitArgs.html +13 -13
- package/docs/interfaces/five.XRSessionEvent.html +2 -2
- package/docs/interfaces/plugins.BackgroundPluginController.html +11 -11
- package/docs/interfaces/plugins.BackgroundPluginType.EventMap.html +8 -8
- package/docs/interfaces/plugins.BasePlugin.BaseOptions.html +1 -1
- package/docs/interfaces/plugins.BasePlugin.Config.html +2 -2
- package/docs/interfaces/plugins.BasePlugin.State.html +4 -4
- package/docs/interfaces/plugins.BasePlugin.StateChangeParams.html +3 -3
- package/docs/interfaces/plugins.DynamicPathLinePluginController.html +45 -45
- package/docs/interfaces/plugins.DynamicPathLinePluginType.Config.html +18 -18
- package/docs/interfaces/plugins.DynamicPathLinePluginType.EventMap.html +13 -13
- package/docs/interfaces/plugins.DynamicPathLinePluginType.Params.html +2 -2
- package/docs/interfaces/plugins.DynamicPathLinePluginType.PathConfig.html +14 -14
- package/docs/interfaces/plugins.DynamicPathLinePluginType.State.html +5 -5
- package/docs/interfaces/plugins.ItemMaskController.html +12 -12
- package/docs/interfaces/plugins.ItemMaskPluginType.Config.html +1 -1
- package/docs/interfaces/plugins.ItemMaskPluginType.EventMap.html +5 -5
- package/docs/interfaces/plugins.ItemMaskPluginType.Params.html +1 -1
- package/docs/interfaces/plugins.ItemMaskPluginType.State.html +7 -7
- package/docs/interfaces/plugins.OrientationPluginController.html +12 -12
- package/docs/interfaces/plugins.OrientationPluginType.Config.html +1 -1
- package/docs/interfaces/plugins.OrientationPluginType.EventMap.html +5 -5
- package/docs/interfaces/plugins.OrientationPluginType.Params.html +1 -1
- package/docs/interfaces/plugins.OrientationPluginType.State.html +5 -5
- package/docs/interfaces/plugins.PanoAnimeController.html +14 -14
- package/docs/interfaces/plugins.PanoAnimePluginType.Config.html +1 -1
- package/docs/interfaces/plugins.PanoAnimePluginType.ConfigChangeEvent.html +3 -3
- package/docs/interfaces/plugins.PanoAnimePluginType.EventMap.html +6 -6
- package/docs/interfaces/plugins.PanoAnimePluginType.Params.html +1 -1
- package/docs/interfaces/plugins.PanoAnimePluginType.State.html +4 -4
- package/docs/interfaces/plugins.PluginTemplateType.Config.html +1 -1
- package/docs/interfaces/plugins.PluginTemplateType.EventMap.html +5 -5
- package/docs/interfaces/plugins.PluginTemplateType.Params.html +1 -1
- package/docs/interfaces/plugins.PluginTemplateType.State.html +4 -4
- package/docs/interfaces/plugins.TrajectoryController.html +30 -15
- package/docs/interfaces/react.FiveActionReactCallbacks.html +23 -23
- package/docs/interfaces/react.FiveCanvasProps.html +2 -2
- package/docs/interfaces/react.FiveInjectionTypes.html +76 -76
- package/docs/interfaces/sticker.IntersectionLike.html +2 -2
- package/docs/interfaces/vfx.ParticleArgs.html +26 -26
- package/docs/interfaces/vfx.ParticleGPUArgs.html +30 -30
- package/docs/interfaces/vue.FiveActionVueCallbacks.html +23 -23
- package/docs/modules/five.html +1 -1
- package/docs/modules.html +1 -1
- package/docs/types/five.ControllerEventTypes.html +32 -32
- package/docs/types/five.EventTypes.html +26 -24
- package/docs/types/five.FivePlugin.html +2 -2
- package/docs/types/five.FivePluginInit.html +1 -1
- package/docs/types/five.FivePluginInstance.html +1 -1
- package/docs/types/five.LegacyEventType.html +142 -142
- package/docs/types/five.LoadResultType.html +2 -2
- package/docs/types/five.Mode.html +1 -1
- package/docs/types/five.MotionCircle.html +1 -1
- package/docs/types/five.NetworkProgressCallback.html +1 -1
- package/docs/types/five.ParseOptions.html +6 -6
- package/docs/types/plugins.BasePlugin.EventMap.html +5 -5
- package/docs/types/plugins.DynamicPathLinePluginType.PluginData.html +1 -1
- package/docs/types/plugins.DynamicPathLinePluginType.ServerData.html +1 -1
- package/docs/variables/react.FiveCanvas.html +1 -1
- package/docs/variables/react.useFiveScene.html +1 -1
- package/docs/variables/vue.FiveCanvas.html +1 -1
- package/docs/variables/vue.FiveProvider.html +1 -1
- package/five/application/analysis.d.ts +40 -0
- package/five/application/controllers.d.ts +41 -0
- package/five/application/events-legacy.d.ts +454 -0
- package/five/application/events.d.ts +69 -0
- package/five/application/five.d.ts +518 -0
- package/five/application/fiveInitArgs.d.ts +176 -0
- package/five/application/fiveLoadOptions.d.ts +21 -0
- package/five/application/generateDefaultVideoElement.d.ts +2 -0
- package/five/application/getViewportScale.d.ts +2 -0
- package/five/application/initLights.d.ts +3 -0
- package/five/application/mode.d.ts +28 -0
- package/five/application/renderPoweredByRealsee.d.ts +3 -0
- package/five/assets/cardboard-png-data-url.d.ts +2 -0
- package/five/assets/gradient-png-data-url.d.ts +2 -0
- package/five/assets/loading-png-data-url.d.ts +2 -0
- package/five/assets/phone-png-data-url.d.ts +2 -0
- package/five/assets/realsee-pmg-data-url.d.ts +2 -0
- package/five/bvh/bvhMath.d.ts +33 -0
- package/five/bvh/bvhMesh.d.ts +7 -0
- package/five/bvh/bvhNode.d.ts +29 -0
- package/five/bvh/bvhObject.d.ts +18 -0
- package/five/bvh/bvhPoints.d.ts +6 -0
- package/five/bvh/index.d.ts +10 -0
- package/five/bvh/worker.d.ts +35 -0
- 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/certificates/hardware.d.ts +1 -0
- package/five/controllers/base.d.ts +166 -0
- package/five/controllers/events.d.ts +69 -0
- package/five/controllers/floorplan.d.ts +119 -0
- package/five/controllers/mapview.d.ts +138 -0
- package/five/controllers/model.d.ts +57 -0
- package/five/controllers/panorama.d.ts +143 -0
- package/five/controllers/panoramaLike.d.ts +87 -0
- package/five/controllers/topview.d.ts +42 -0
- package/five/controllers/vrPanorama.d.ts +56 -0
- package/five/controllers/xrPanorama.d.ts +81 -0
- package/five/core/camera.d.ts +65 -0
- package/five/core/internalWebGLRenderer.d.ts +14 -0
- package/five/core/panoVideo.d.ts +18 -0
- package/five/core/scene.d.ts +10 -0
- package/five/core/tiling.d.ts +43 -0
- package/five/declare.d.ts +2 -1
- package/five/gs/util/renderData.d.ts +32 -0
- package/five/gs/wasm/data.d.ts +20 -0
- package/five/gs/wasm/sort.d.ts +18 -0
- package/five/gs/worker/dataWorker.d.ts +1 -0
- package/five/gs/worker/sortWorker.d.ts +1 -0
- package/five/index.d.ts +57 -4582
- package/five/index.js +605 -92
- package/five/index.mjs +9661 -7537
- package/five/meshes/boundingMesh.d.ts +12 -0
- package/five/meshes/intersectMesh.d.ts +8 -0
- package/five/meshes/panoCircleMesh.d.ts +35 -0
- package/five/meshes/panoCircleMeshCustom.d.ts +40 -0
- package/five/meshes/panoCircleMeshSolid.d.ts +34 -0
- package/five/meshes/panoSphereMesh.d.ts +27 -0
- package/five/model/helpers/coordinate-transform.d.ts +3 -0
- package/five/model/helpers/ellipsoid-coordinates.d.ts +14 -0
- package/five/model/helpers/get-edges-by-sphere.d.ts +8 -0
- package/five/model/helpers/get-recommend-tile3d-parameters.d.ts +8 -0
- package/five/model/index.d.ts +70 -0
- package/five/model/intersection.d.ts +18 -0
- package/five/model/loaders/at3d.d.ts +12 -0
- package/five/model/loaders/b3dm.d.ts +9 -0
- package/five/model/loaders/dome.d.ts +22 -0
- package/five/model/loaders/domez.d.ts +11 -0
- package/five/model/loaders/fbx.d.ts +8 -0
- package/five/model/loaders/glTF-helpers/extensions/CESIUM_RTC.d.ts +9 -0
- package/five/model/loaders/glTF-helpers/extensions/EXT_meshopt_compression.d.ts +8 -0
- package/five/model/loaders/glTF-helpers/extensions/EXT_texture_webp.d.ts +11 -0
- package/five/model/loaders/glTF-helpers/extensions/KHR_animation_pointer.d.ts +6 -0
- package/five/model/loaders/glTF-helpers/extensions/KHR_binary_glTF.d.ts +25 -0
- package/five/model/loaders/glTF-helpers/extensions/KHR_draco_mesh_compression.d.ts +11 -0
- package/five/model/loaders/glTF-helpers/extensions/KHR_gaussian_splatting_compression_spz.d.ts +9 -0
- package/five/model/loaders/glTF-helpers/extensions/KHR_materials_clearcoat.d.ts +10 -0
- package/five/model/loaders/glTF-helpers/extensions/KHR_materials_emissive_strength.d.ts +10 -0
- package/five/model/loaders/glTF-helpers/extensions/KHR_materials_sheen.d.ts +10 -0
- package/five/model/loaders/glTF-helpers/extensions/KHR_materials_transmission.d.ts +10 -0
- package/five/model/loaders/glTF-helpers/extensions/KHR_materials_unlit.d.ts +10 -0
- package/five/model/loaders/glTF-helpers/extensions/KHR_mesh_quantization.d.ts +6 -0
- package/five/model/loaders/glTF-helpers/extensions/KHR_node_visibility.d.ts +10 -0
- package/five/model/loaders/glTF-helpers/extensions/KHR_texture_basisu.d.ts +9 -0
- package/five/model/loaders/glTF-helpers/extensions/KHR_texture_transform.d.ts +10 -0
- package/five/model/loaders/glTF-helpers/extensions/REALSEE_materials_lightmap.d.ts +7 -0
- package/five/model/loaders/glTF-helpers/extensions/base.d.ts +24 -0
- package/five/model/loaders/glTF-helpers/glTF.d.ts +713 -0
- package/five/model/loaders/glTF-helpers/index.d.ts +47 -0
- package/five/model/loaders/glTF-helpers/parser.d.ts +114 -0
- package/five/model/loaders/glTF-helpers/type.d.ts +14 -0
- package/five/model/loaders/gltf.d.ts +10 -0
- package/five/model/loaders/obj.d.ts +9 -0
- package/five/model/loaders/pbm.d.ts +26 -0
- package/five/model/loaders/ply.d.ts +24 -0
- package/five/model/loaders/pnts.d.ts +8 -0
- package/five/model/loaders/protobuf/dome.d.ts +540 -0
- package/five/model/loaders/protobuf/pbm.d.ts +203 -0
- package/five/model/loaders/shared.d.ts +16 -0
- package/five/model/loaders/splat.d.ts +8 -0
- package/five/model/loaders/spz.d.ts +14 -0
- package/five/model/loaders/tile3d-helpers/feature-table.d.ts +15 -0
- package/five/model/loaders/tile3d-helpers/gl-type.d.ts +20 -0
- package/five/model/loaders/tile3d-helpers/parse-gltf-array-buffer.d.ts +2 -0
- package/five/model/loaders/tile3d-helpers/parse-header.d.ts +2 -0
- package/five/model/loaders/tile3d-helpers/parse-point-cloud-attributes.d.ts +2 -0
- package/five/model/loaders/tile3d-helpers/parse-point-cloud-attributes.worker.d.ts +6 -0
- package/five/model/loaders/tile3d-helpers/parse-table.d.ts +3 -0
- package/five/model/loaders/tile3d-helpers/tile3d-type.d.ts +35 -0
- package/five/model/loaders/x3p.d.ts +22 -0
- package/five/model/materials/pbmMaterial.d.ts +87 -0
- package/five/model/materials/pbmMeshMaterial.d.ts +124 -0
- package/five/model/materials/pbmPointCloudMaterial.d.ts +72 -0
- package/five/model/model-scene.d.ts +172 -0
- package/five/model/model.d.ts +209 -0
- package/five/model/objects/pbmContainer.d.ts +28 -0
- package/five/model/objects/pbmGSObject.d.ts +40 -0
- package/five/model/objects/pbmGSRenderMesh.d.ts +32 -0
- package/five/model/objects/pbmGroup.d.ts +8 -0
- package/five/model/objects/pbmMesh.d.ts +10 -0
- package/five/model/objects/pbmPointCloud.d.ts +7 -0
- package/five/model/parameter.d.ts +136 -0
- package/five/model/shaders/pbm_gaussian_splatting/fragment.d.ts +2 -0
- package/five/model/shaders/pbm_gaussian_splatting/vertex.d.ts +2 -0
- package/five/model/shaders/pbm_mesh_basic/fragment.d.ts +2 -0
- package/five/model/shaders/pbm_mesh_basic/vertex.d.ts +2 -0
- package/five/model/shaders/pbm_mesh_none/fragment.d.ts +2 -0
- package/five/model/shaders/pbm_mesh_none/vertex.d.ts +2 -0
- package/five/model/shaders/pbm_mesh_phong/fragment.d.ts +2 -0
- package/five/model/shaders/pbm_mesh_phong/vertex.d.ts +2 -0
- package/five/model/shaders/pbm_mesh_standard/fragment.d.ts +2 -0
- package/five/model/shaders/pbm_mesh_standard/vertex.d.ts +2 -0
- package/five/model/shaders/pbm_pointcloud/fragment.d.ts +2 -0
- package/five/model/shaders/pbm_pointcloud/vertex.d.ts +2 -0
- package/five/model/tile3d/header.d.ts +88 -0
- package/five/model/tile3d/index.d.ts +214 -0
- package/five/model/tile3d/tile-cache.d.ts +18 -0
- package/five/model/tile3d/tile-content.d.ts +10 -0
- package/five/model/tile3d/tile-node.d.ts +24 -0
- package/five/model/tile3d/tile-request-scheduler.d.ts +17 -0
- package/five/model/tile3d/tile.d.ts +79 -0
- package/five/model/tile3d/tileset-base-traverser.d.ts +59 -0
- package/five/model/tile3d/tileset-most-detail-traverser.d.ts +14 -0
- package/five/model/tile3d/tileset-normal-traverser.d.ts +15 -0
- package/five/model/tile3d/tileset-skip-traverser.d.ts +60 -0
- package/five/model/tile3d/tileset.d.ts +69 -0
- package/five/model/tile3d/trajectory-content.d.ts +9 -0
- package/five/model/tile3d/trajectory-node.d.ts +15 -0
- package/five/model/tile3d/trajectory.d.ts +30 -0
- package/five/model/tile3d/types.d.ts +33 -0
- package/five/model/view-layer.d.ts +20 -0
- package/five/renderer/five-renderer.d.ts +17 -0
- package/five/renderer/index.d.ts +3 -0
- package/five/renderer/postprocessing/composer.d.ts +37 -0
- package/five/renderer/postprocessing/index.d.ts +7 -0
- package/five/renderer/postprocessing/passes/adaptive-luminance-pass.d.ts +15 -0
- package/five/renderer/postprocessing/passes/eye-dome-lighting-pass.d.ts +14 -0
- package/five/renderer/postprocessing/passes/flowing-light-2d-pass.d.ts +36 -0
- package/five/renderer/postprocessing/passes/flowing-light-3d-pass.d.ts +36 -0
- package/five/renderer/postprocessing/passes/gaussian-blur-pass.d.ts +12 -0
- package/five/renderer/postprocessing/passes/pass.d.ts +38 -0
- package/five/renderer/scene-renderers/point-cloud-high-quality-scene-renderer.d.ts +11 -0
- package/five/renderer/scene-renderers/scene-renderer.d.ts +9 -0
- package/five/renderer/scene-renderers/ssaa-scene-renderer.d.ts +15 -0
- package/five/renderer/tools/full-screen-quad.d.ts +15 -0
- package/five/renderer/tools/render-full-screen-depth.d.ts +2 -0
- package/five/renderer/tools/render-full-screen.d.ts +2 -0
- package/five/texture/imageBitmap.d.ts +13 -0
- package/five/texture/initTexture.d.ts +3 -0
- package/five/texture/loader.d.ts +39 -0
- package/five/thirdparty/fflate.d.ts +1407 -0
- package/five/thirdparty/hammer.d.ts +259 -0
- package/five/thirdparty/jsrsasign.d.ts +768 -0
- package/five/thirdparty/meshopt_decoder.d.ts +15 -0
- package/five/three-version-check.d.ts +1 -0
- package/five/types/addableObject.d.ts +12 -0
- package/five/types/cube.d.ts +1 -0
- package/five/types/gestureInput.d.ts +24 -0
- package/five/types/imageOptions.d.ts +20 -0
- package/five/types/intersectMeshInterface.d.ts +8 -0
- package/five/types/movePanoEffect.d.ts +13 -0
- package/five/types/movePanoOptions.d.ts +35 -0
- package/five/types/panoCircleMeshInterface.d.ts +34 -0
- package/five/types/plugin.d.ts +25 -0
- package/five/types/pose.d.ts +17 -0
- package/five/types/state.d.ts +20 -0
- package/five/types/viewport.d.ts +22 -0
- package/five/utils/ajax.d.ts +66 -0
- package/five/utils/animationFrameLoop.d.ts +45 -0
- package/five/utils/array.d.ts +31 -0
- package/five/utils/asyncTaskQueue.d.ts +8 -0
- package/five/utils/bufferGeometry.d.ts +33 -0
- package/five/utils/calculateProgress.d.ts +39 -0
- package/five/utils/calculateThreeMouse.d.ts +13 -0
- package/five/utils/canplayVideo.d.ts +2 -0
- package/five/utils/clamp.d.ts +2 -0
- package/five/utils/clock.d.ts +17 -0
- package/five/utils/createSymbol.d.ts +5 -0
- package/five/utils/decodeText.d.ts +2 -0
- package/five/utils/deepEqual.d.ts +2 -0
- package/five/utils/deepFreeze.d.ts +2 -0
- package/five/utils/defineProperty.d.ts +9 -0
- package/five/utils/detector.d.ts +14 -0
- package/five/utils/distance.d.ts +10 -0
- package/five/utils/draco.d.ts +26 -0
- package/five/utils/easing.d.ts +63 -0
- package/five/utils/event.d.ts +149 -0
- package/five/utils/formatRad.d.ts +7 -0
- package/five/utils/imageSupport.d.ts +6 -0
- package/five/utils/imageURL.d.ts +42 -0
- package/five/utils/isEmptyObject.d.ts +2 -0
- package/five/utils/isNil.d.ts +6 -0
- package/five/utils/isNumber.d.ts +2 -0
- package/five/utils/isPowerOfTwo.d.ts +2 -0
- package/five/utils/isPromise.d.ts +2 -0
- package/five/utils/isSimilar.d.ts +6 -0
- package/five/utils/json.d.ts +7 -0
- package/five/utils/ktx2.d.ts +30 -0
- package/five/utils/lzma/index.d.ts +2 -0
- package/five/utils/lzma/lzma.d.ts +3 -0
- package/five/utils/lzma/lzmaWASM.d.ts +2 -0
- package/five/utils/lzma/lzmaWorker.d.ts +14 -0
- package/five/utils/memoryUsage.d.ts +29 -0
- package/five/utils/motion.d.ts +38 -0
- package/five/utils/noop.d.ts +6 -0
- package/five/utils/now.d.ts +7 -0
- package/five/utils/pano.d.ts +9 -0
- package/five/utils/pick.d.ts +3 -0
- package/five/utils/poseUtils.d.ts +5 -0
- package/five/utils/renderCubeTextureToCubeRenderTarget.d.ts +3 -0
- package/five/utils/renderDepth.d.ts +2 -0
- package/five/utils/renderTexturesToCubeRenderTarget.d.ts +10 -0
- package/five/utils/requestPermission.d.ts +3 -0
- package/five/utils/shaderContentFix.d.ts +7 -0
- package/five/utils/shaderMaterial.d.ts +20 -0
- package/five/utils/stateUtils.d.ts +5 -0
- package/five/utils/string-pattern.d.ts +8 -0
- package/five/utils/subscribe.d.ts +67 -0
- package/five/utils/tileCube.d.ts +19 -0
- package/five/utils/toFastProperties.d.ts +1 -0
- package/five/utils/typedCache.d.ts +10 -0
- package/five/utils/uniform.d.ts +15 -0
- package/five/utils/url.d.ts +35 -0
- package/five/utils/uuid.d.ts +5 -0
- package/five/utils/values.d.ts +2 -0
- package/five/utils/vectorCoordinates.d.ts +29 -0
- package/five/utils/volume.d.ts +111 -0
- package/five/utils/webglError.d.ts +7 -0
- package/five/utils/worker.d.ts +26 -0
- package/five/webxr/XRControllerModelFactory.d.ts +28 -0
- package/five/webxr/motionHelper.d.ts +68 -0
- package/five/webxr/xrButton.d.ts +4 -0
- package/five/webxr/xrController.d.ts +24 -0
- package/five/webxr/xrManager.d.ts +84 -0
- package/five/work/_ALLOW_HOST.d.ts +2 -0
- package/five/work/index.d.ts +6 -0
- package/five/work/keychain.d.ts +5 -0
- package/five/work/looseWorkType.d.ts +121 -0
- package/five/work/verify.d.ts +7 -0
- package/five/work/work.d.ts +236 -0
- package/five/work/workFetcher.d.ts +4 -0
- package/five/work/workJson.d.ts +3 -0
- package/five/work/workJsonType.d.ts +73 -0
- package/five/work/workObserverUtils.d.ts +36 -0
- package/five/work/workParser.d.ts +6 -0
- package/five/work/workResolvedObserver.d.ts +12 -0
- package/five/work/workVerify.d.ts +2 -0
- package/five/work/works.d.ts +10 -0
- package/gltf-loader/gltf-object.d.ts +17 -0
- package/gltf-loader/index.d.ts +60 -160
- package/gltf-loader/index.js +3 -3
- package/gltf-loader/index.mjs +3 -3
- package/gltf-loader/thirdparty/DDSLoader.d.ts +23 -0
- package/gltf-loader/thirdparty/DRACOLoader.d.ts +18 -0
- package/gltf-loader/thirdparty/GLTFLoader.d.ts +59 -0
- package/line/circle_png.d.ts +1 -0
- package/line/index.d.ts +19 -69
- package/line/index.js +3 -3
- package/line/index.mjs +3 -3
- package/line/utils/Line2.d.ts +7 -0
- package/line/utils/LineGeometry.d.ts +10 -0
- package/line/utils/LineMaterial.d.ts +20 -0
- package/line/utils/LineSegments2.d.ts +11 -0
- package/line/utils/LineSegmentsGeometry.d.ts +15 -0
- package/llms.txt +65 -0
- package/package.json +10 -1
- package/plugins/BackgroundPlugin/Controller.d.ts +20 -0
- package/plugins/BackgroundPlugin/index.d.ts +5 -0
- package/plugins/BackgroundPlugin/typings.d.ts +44 -0
- package/plugins/BasePlugin/index.d.ts +119 -0
- package/plugins/DynamicPathLinePlugin/Controller.d.ts +167 -0
- package/plugins/DynamicPathLinePlugin/index.d.ts +5 -0
- package/plugins/DynamicPathLinePlugin/line2/Line2.d.ts +7 -0
- package/plugins/DynamicPathLinePlugin/line2/LineGeometry.d.ts +10 -0
- package/plugins/DynamicPathLinePlugin/line2/LineMaterial.d.ts +17 -0
- package/plugins/DynamicPathLinePlugin/line2/LineSegments2.d.ts +11 -0
- package/plugins/DynamicPathLinePlugin/line2/LineSegmentsGeometry.d.ts +15 -0
- package/plugins/DynamicPathLinePlugin/typing.d.ts +129 -0
- package/plugins/DynamicPathLinePlugin/typings.d.ts +72 -0
- package/plugins/ItemMaskPlugin/Controller.d.ts +48 -0
- package/plugins/ItemMaskPlugin/index.d.ts +5 -0
- package/plugins/ItemMaskPlugin/typing.d.ts +58 -0
- package/plugins/OrientationPlugin/Controller.d.ts +82 -0
- package/plugins/OrientationPlugin/RoundedBoxGeometry.d.ts +11 -0
- package/plugins/OrientationPlugin/index.d.ts +6 -0
- package/plugins/OrientationPlugin/typing.d.ts +25 -0
- package/plugins/PanoAnimePlugin/Controller.d.ts +46 -0
- package/plugins/PanoAnimePlugin/index.d.ts +5 -0
- package/plugins/PanoAnimePlugin/typing.d.ts +37 -0
- package/plugins/PluginTemplate/Controller.d.ts +27 -0
- package/plugins/PluginTemplate/index.d.ts +5 -0
- package/plugins/PluginTemplate/typing.d.ts +21 -0
- package/plugins/TrajectoryPlugin/Controller.d.ts +85 -0
- package/plugins/TrajectoryPlugin/index.d.ts +6 -0
- package/plugins/TrajectoryPlugin/typing.d.ts +25 -0
- package/plugins/index.d.ts +9 -1078
- package/plugins/index.js +17 -17
- package/plugins/index.mjs +1518 -1370
- package/plugins/thirdParty/CSS3DRenderer.d.ts +32 -0
- package/plugins/thirdParty/OrbitControls.d.ts +78 -0
- package/plugins/utils/absoluteUrl.d.ts +5 -0
- package/plugins/utils/clamp.d.ts +2 -0
- package/plugins/utils/loadImage.d.ts +1 -0
- package/plugins/utils/motion.d.ts +38 -0
- package/plugins/utils/now.d.ts +6 -0
- package/plugins/utils/uuid.d.ts +5 -0
- package/react/canvas.d.ts +19 -0
- package/react/context.d.ts +11 -0
- package/react/createProvider.d.ts +95 -0
- package/react/createStore.d.ts +144 -0
- package/react/hooks/unsafe__useFiveInstance.d.ts +9 -0
- package/react/hooks/useFiveAction.d.ts +147 -0
- package/react/hooks/useFiveCameraDirection.d.ts +7 -0
- package/react/hooks/useFiveCameraRaycaster.d.ts +7 -0
- package/react/hooks/useFiveCurrentObserver.d.ts +11 -0
- package/react/hooks/useFiveCurrentState.d.ts +15 -0
- package/react/hooks/useFiveEventCallback.d.ts +12 -0
- package/react/hooks/useFiveFloor.d.ts +15 -0
- package/react/hooks/useFiveHelper.d.ts +14 -0
- package/react/hooks/useFiveModelBounding.d.ts +5 -0
- package/react/hooks/useFiveModelEffect.d.ts +14 -0
- package/react/hooks/useFiveModelIntersectRaycaster.d.ts +22 -0
- package/react/hooks/useFiveModelReadyState.d.ts +8 -0
- package/react/hooks/useFiveProject2d.d.ts +20 -0
- package/react/hooks/useFiveSceneEffect.d.ts +21 -0
- package/react/hooks/useFiveState.d.ts +6 -0
- package/react/hooks/useFiveWork.d.ts +29 -0
- package/react/index.d.ts +24 -830
- package/react/index.js +2 -2
- package/react/index.mjs +2 -2
- package/react/rendererPool.d.ts +7 -0
- package/react/withFive.d.ts +213 -0
- package/shader-lib/EvenessPlane/index.d.ts +10 -0
- package/shader-lib/PointCloudExpand/index.d.ts +59 -0
- package/shader-lib/PolygonCuter/index.d.ts +52 -0
- package/shader-lib/PolygonCuter/worker.d.ts +14 -0
- package/shader-lib/ShineModel/index.d.ts +7 -0
- package/shader-lib/SweepModel/index.d.ts +7 -0
- package/shader-lib/index.d.ts +5 -86
- package/shader-lib/index.js +2 -2
- package/shader-lib/index.mjs +2 -2
- package/sticker/geometry.d.ts +3 -0
- package/sticker/index.d.ts +68 -71
- package/sticker/index.js +3 -3
- package/sticker/index.mjs +3 -3
- package/umd/five-gltf-loader.js +3 -3
- package/umd/five-line.js +3 -3
- package/umd/five-plugins.js +16 -16
- package/umd/five-react.js +2 -2
- package/umd/five-shader-lib.js +2 -2
- package/umd/five-sticker.js +3 -3
- package/umd/five-vfx.js +2 -2
- package/umd/five-vue.js +2 -2
- package/umd/five.js +605 -92
- package/vfx/airflow/airflow.d.ts +18 -0
- package/vfx/airflow/fragment-shader.d.ts +2 -0
- package/vfx/airflow/vertex-shader.d.ts +2 -0
- package/vfx/common/scale-shader.d.ts +2 -0
- package/vfx/common/simplex-noise-shader.d.ts +2 -0
- package/vfx/frame/fragment-shader.d.ts +2 -0
- package/vfx/frame/frame.d.ts +22 -0
- package/vfx/frame/vertex-shader.d.ts +2 -0
- package/vfx/index.d.ts +7 -363
- package/vfx/index.js +2 -2
- package/vfx/index.mjs +2 -2
- package/vfx/particle/fragment-shader.d.ts +2 -0
- package/vfx/particle/instance.d.ts +36 -0
- package/vfx/particle/particle.d.ts +205 -0
- package/vfx/particle/utils.d.ts +11 -0
- package/vfx/particle/vertex-shader.d.ts +2 -0
- package/vfx/particle-gpu/fragment-shader.d.ts +2 -0
- package/vfx/particle-gpu/instance.d.ts +36 -0
- package/vfx/particle-gpu/particle.d.ts +95 -0
- package/vfx/particle-gpu/utils.d.ts +11 -0
- package/vfx/particle-gpu/vertex-shader.d.ts +2 -0
- package/vfx/spotLight/fragment-shader.d.ts +2 -0
- package/vfx/spotLight/spotLight.d.ts +15 -0
- package/vfx/spotLight/vertex-shader.d.ts +2 -0
- package/vue/context.d.ts +7 -0
- package/vue/hooks/FiveCanvas.d.ts +36 -0
- package/vue/hooks/FiveProvider.d.ts +35 -0
- package/vue/hooks/unsafe__useFiveInject.d.ts +9 -0
- package/vue/hooks/useFiveAction.d.ts +178 -0
- package/vue/hooks/useFiveCameraDirection.d.ts +8 -0
- package/vue/hooks/useFiveCameraRaycaster.d.ts +8 -0
- package/vue/hooks/useFiveCurrentObserver.d.ts +12 -0
- package/vue/hooks/useFiveCurrentState.d.ts +16 -0
- package/vue/hooks/useFiveEventCallback.d.ts +11 -0
- package/vue/hooks/useFiveFloor.d.ts +16 -0
- package/vue/hooks/useFiveHelper.d.ts +15 -0
- package/vue/hooks/useFiveModel.d.ts +7 -0
- package/vue/hooks/useFiveModelBounding.d.ts +7 -0
- package/vue/hooks/useFiveModelIntersectRaycaster.d.ts +23 -0
- package/vue/hooks/useFiveModelReadyState.d.ts +9 -0
- package/vue/hooks/useFiveProject2d.d.ts +26 -0
- package/vue/hooks/useFiveScene.d.ts +6 -0
- package/vue/hooks/useFiveState.d.ts +16 -0
- package/vue/hooks/useFiveWork.d.ts +30 -0
- package/vue/index.d.ts +23 -467
- package/vue/index.js +2 -2
- package/vue/index.mjs +2 -2
- package/vue/rendererPool.d.ts +10 -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 +7 -0
- package/work-downloader/download.d.ts +16 -0
- package/work-downloader/index.d.ts +2 -33
- package/work-downloader/index.js +2 -2
- package/work-downloader/index.mjs +2 -2
- 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/documents/coordinate.html +0 -9
- package/docs/documents/five.FivePlugin.plugins.html +0 -77
- package/docs/documents/five.Pose.coordinate.html +0 -9
- package/docs/documents/plugins.html +0 -77
- package/docs/documents/react-component.html +0 -32
- package/docs/media/coordinate.jpg +0 -0
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
<!DOCTYPE html><html class="default" lang="en" data-base="../"><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>features/work | 如视 Five SDK</title><meta name="description" content="Documentation for 如视 Five SDK"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script><script async src="../assets/hierarchy.js" id="tsd-hierarchy-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => window.app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><a href="../index.html" class="title">如视 Five SDK</a><div id="tsd-toolbar-links"></div><button id="tsd-search-trigger" class="tsd-widget" aria-label="Search"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-search"></use></svg></button><dialog id="tsd-search" aria-label="Search"><input role="combobox" id="tsd-search-input" aria-controls="tsd-search-results" aria-autocomplete="list" aria-expanded="true" autocapitalize="off" autocomplete="off" placeholder="Search the docs" maxLength="100"/><ul role="listbox" id="tsd-search-results"></ul><div id="tsd-search-status" aria-live="polite" aria-atomic="true"><div>Preparing search index...</div></div></dialog><a href="#" class="tsd-widget menu" id="tsd-toolbar-menu-trigger" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb" aria-label="Breadcrumb"><li><a href="" aria-current="page">features/work</a></li></ul></div><div class="tsd-panel tsd-typography"><h1 id="work-vr-数据实体" class="tsd-anchor-link">Work (VR 数据实体)<a href="#work-vr-数据实体" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h1>
|
|
2
|
+
<ul>
|
|
3
|
+
<li><strong>Summary</strong>: Work 是 Five 中最核心的数据实体,代表一个完整的 VR 项目,包含渲染场景所需的所有资源与配置。</li>
|
|
4
|
+
<li><strong>Schema</strong>: 包含 Observer, Model, Initial 等核心数据的接口。</li>
|
|
5
|
+
<li><strong>Concepts</strong>: Work Entity, Observer, WorkCode, Parsing。</li>
|
|
6
|
+
<li><strong>Examples</strong>: 数据加载、访问与多 Work 管理。</li>
|
|
7
|
+
</ul>
|
|
8
|
+
<h2 id="schema" class="tsd-anchor-link">Schema<a href="#schema" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h2>
|
|
9
|
+
<blockquote>
|
|
10
|
+
<p><strong>Definition</strong>: <a href="../../five/work/work.d.ts">Work</a>, <a href="../../five/work/looseWorkType.d.ts">LooseWork</a>, <a href="../../five/work/workJsonType.d.ts">WorkJson</a></p>
|
|
11
|
+
</blockquote>
|
|
12
|
+
<p><code>Work</code> 及其相关核心接口定义如下:</p>
|
|
13
|
+
<pre><code class="ts"><span class="hl-10">import</span><span class="hl-1"> </span><span class="hl-3">*</span><span class="hl-1"> </span><span class="hl-10">as</span><span class="hl-1"> </span><span class="hl-6">THREE</span><span class="hl-1"> </span><span class="hl-10">from</span><span class="hl-1"> </span><span class="hl-9">"three"</span><span class="hl-1">;</span><br/><span class="hl-10">import</span><span class="hl-1"> </span><span class="hl-10">type</span><span class="hl-1"> { </span><span class="hl-6">Mode</span><span class="hl-1"> } </span><span class="hl-10">from</span><span class="hl-1"> </span><span class="hl-9">"@realsee/five"</span><span class="hl-1">;</span><br/><br/><span class="hl-3">type</span><span class="hl-1"> </span><span class="hl-7">CubeFace</span><span class="hl-1"> = </span><span class="hl-9">'up'</span><span class="hl-1"> | </span><span class="hl-9">'down'</span><span class="hl-1"> | </span><span class="hl-9">'left'</span><span class="hl-1"> | </span><span class="hl-9">'right'</span><span class="hl-1"> | </span><span class="hl-9">'front'</span><span class="hl-1"> | </span><span class="hl-9">'back'</span><span class="hl-1">;</span><br/><br/><span class="hl-8">/** Work 实体:VR 项目的根对象 */</span><br/><span class="hl-10">export</span><span class="hl-1"> </span><span class="hl-3">interface</span><span class="hl-1"> </span><span class="hl-7">Work</span><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-8">/** 唯一标识 (Work ID) */</span><br/><span class="hl-1"> </span><span class="hl-6">workCode</span><span class="hl-1">: </span><span class="hl-7">string</span><span class="hl-1">;</span><br/><span class="hl-1"> </span><span class="hl-8">/** 项目名称 */</span><br/><span class="hl-1"> </span><span class="hl-6">name</span><span class="hl-1">: </span><span class="hl-7">string</span><span class="hl-1">;</span><br/><span class="hl-1"> </span><span class="hl-8">/** 资源加载的基础路径 (Base URL) */</span><br/><span class="hl-1"> </span><span class="hl-6">baseURL</span><span class="hl-1">: </span><span class="hl-7">string</span><span class="hl-1">;</span><br/><span class="hl-1"> </span><span class="hl-8">/** 数据签发人 */</span><br/><span class="hl-1"> </span><span class="hl-6">issuer</span><span class="hl-1">: </span><span class="hl-7">string</span><span class="hl-1">;</span><br/><span class="hl-1"> </span><span class="hl-8">/** 过期时间 */</span><br/><span class="hl-1"> </span><span class="hl-6">expire</span><span class="hl-1">: </span><span class="hl-7">Date</span><span class="hl-1">;</span><br/><span class="hl-1"> </span><span class="hl-8">/** 允许访问的安全域名列表 */</span><br/><span class="hl-1"> </span><span class="hl-6">allowHosts</span><span class="hl-1">: </span><span class="hl-3">readonly</span><span class="hl-1"> </span><span class="hl-7">string</span><span class="hl-1">[];</span><br/><br/><span class="hl-1"> </span><span class="hl-8">/** 初始化参数 (默认模态、视角等) */</span><br/><span class="hl-1"> </span><span class="hl-6">initial</span><span class="hl-1">: </span><span class="hl-7">WorkInitial</span><span class="hl-1">;</span><br/><span class="hl-1"> </span><span class="hl-8">/** 相对位姿 (用于多 Work 拼接时的坐标变换) */</span><br/><span class="hl-1"> </span><span class="hl-6">transform</span><span class="hl-1">: </span><span class="hl-7">THREE</span><span class="hl-1">.</span><span class="hl-7">Matrix4</span><span class="hl-1">;</span><br/><br/><span class="hl-1"> </span><span class="hl-8">/** 模型参数 (3D 模型资源信息) */</span><br/><span class="hl-1"> </span><span class="hl-6">model</span><span class="hl-1">?: </span><span class="hl-7">WorkModel</span><span class="hl-1">;</span><br/><span class="hl-1"> </span><span class="hl-8">/** 全景点位信息 (所有可观测点位的列表) */</span><br/><span class="hl-1"> </span><span class="hl-6">observers</span><span class="hl-1">: </span><span class="hl-3">readonly</span><span class="hl-1"> </span><span class="hl-7">WorkObserver</span><span class="hl-1">[];</span><br/><span class="hl-1">}</span><br/><br/><span class="hl-8">/** 观察点:空间中可驻足观看的点位 */</span><br/><span class="hl-10">export</span><span class="hl-1"> </span><span class="hl-3">interface</span><span class="hl-1"> </span><span class="hl-7">WorkObserver</span><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-8">/** 所属 Work 引用 */</span><br/><span class="hl-1"> </span><span class="hl-6">work</span><span class="hl-1">: </span><span class="hl-7">Work</span><span class="hl-1">;</span><br/><span class="hl-1"> </span><span class="hl-8">/** 在 observers 数组中的索引 */</span><br/><span class="hl-1"> </span><span class="hl-6">index</span><span class="hl-1">: </span><span class="hl-7">number</span><span class="hl-1">;</span><br/><span class="hl-1"> </span><span class="hl-8">/** 点位序号 (通常与 index 相同) */</span><br/><span class="hl-1"> </span><span class="hl-6">panoIndex</span><span class="hl-1">: </span><span class="hl-7">number</span><span class="hl-1">;</span><br/><span class="hl-1"> </span><span class="hl-8">/** 点位唯一 ID (通常格式为 `${workCode}[${panoIndex}]`) */</span><br/><span class="hl-1"> </span><span class="hl-6">panoId</span><span class="hl-1">: </span><span class="hl-7">string</span><span class="hl-1">;</span><br/><br/><span class="hl-1"> </span><span class="hl-8">/** 点位是否激活可用 */</span><br/><span class="hl-1"> </span><span class="hl-6">active</span><span class="hl-1">: </span><span class="hl-7">boolean</span><span class="hl-1">;</span><br/><span class="hl-1"> </span><span class="hl-8">/** 点位是否可加载 */</span><br/><span class="hl-1"> </span><span class="hl-6">loadable</span><span class="hl-1">: </span><span class="hl-7">boolean</span><span class="hl-1">;</span><br/><br/><span class="hl-1"> </span><span class="hl-8">/** 点位所在楼层索引 */</span><br/><span class="hl-1"> </span><span class="hl-6">floorIndex</span><span class="hl-1">: </span><span class="hl-7">number</span><span class="hl-1">;</span><br/><br/><span class="hl-1"> </span><span class="hl-8">/** 点位在模型坐标系下的观察位置 (用于渲染相机位置) */</span><br/><span class="hl-1"> </span><span class="hl-6">position</span><span class="hl-1">: </span><span class="hl-7">THREE</span><span class="hl-1">.</span><span class="hl-7">Vector3</span><span class="hl-1">;</span><br/><span class="hl-1"> </span><span class="hl-8">/** 点位在模型坐标系下的地面位置 (用于导航和 UI 定位) */</span><br/><span class="hl-1"> </span><span class="hl-6">standingPosition</span><span class="hl-1">: </span><span class="hl-7">THREE</span><span class="hl-1">.</span><span class="hl-7">Vector3</span><span class="hl-1">;</span><br/><span class="hl-1"> </span><span class="hl-8">/** 点位和模型的旋转对齐四元数 */</span><br/><span class="hl-1"> </span><span class="hl-6">quaternion</span><span class="hl-1">: </span><span class="hl-7">THREE</span><span class="hl-1">.</span><span class="hl-7">Quaternion</span><span class="hl-1">;</span><br/><span class="hl-1"> </span><span class="hl-8">/** 点位和模型的旋转对齐矩阵 */</span><br/><span class="hl-1"> </span><span class="hl-6">matrix</span><span class="hl-1">: </span><span class="hl-7">THREE</span><span class="hl-1">.</span><span class="hl-7">Matrix4</span><span class="hl-1">;</span><br/><br/><span class="hl-1"> </span><span class="hl-8">/** 可连通的相关点位序号 (用于全景游走) */</span><br/><span class="hl-1"> </span><span class="hl-6">accessibleNodes</span><span class="hl-1">: </span><span class="hl-3">readonly</span><span class="hl-1"> </span><span class="hl-7">number</span><span class="hl-1">[];</span><br/><br/><span class="hl-1"> </span><span class="hl-8">/** 点位全景图资源信息 */</span><br/><span class="hl-1"> </span><span class="hl-6">images</span><span class="hl-1">: </span><span class="hl-7">WorkImage</span><span class="hl-1">;</span><br/><br/><span class="hl-1"> </span><span class="hl-8">/** 获取点位的全局坐标 */</span><br/><span class="hl-1"> </span><span class="hl-5">getWorldPosition</span><span class="hl-1">(</span><span class="hl-3">this</span><span class="hl-1">: </span><span class="hl-7">WorkObserver</span><span class="hl-1">): </span><span class="hl-7">THREE</span><span class="hl-1">.</span><span class="hl-7">Vector3</span><span class="hl-1">;</span><br/><br/><span class="hl-1"> </span><span class="hl-8">/** 获取点位的全局地面坐标 */</span><br/><span class="hl-1"> </span><span class="hl-5">getWorldStandingPosition</span><span class="hl-1">(</span><span class="hl-3">this</span><span class="hl-1">: </span><span class="hl-7">WorkObserver</span><span class="hl-1">): </span><span class="hl-7">THREE</span><span class="hl-1">.</span><span class="hl-7">Vector3</span><span class="hl-1">;</span><br/><br/><span class="hl-1"> </span><span class="hl-8">/** 将方向向量转化为全景图 uv */</span><br/><span class="hl-1"> </span><span class="hl-5">vectorToEquirectangularUv</span><span class="hl-1">(</span><span class="hl-6">vector</span><span class="hl-1">: </span><span class="hl-7">THREE</span><span class="hl-1">.</span><span class="hl-7">Vector3</span><span class="hl-1">, </span><span class="hl-6">uvOrigin</span><span class="hl-1">?: </span><span class="hl-9">'top-left'</span><span class="hl-1"> | </span><span class="hl-9">'bottom-left'</span><span class="hl-1">): </span><span class="hl-7">THREE</span><span class="hl-1">.</span><span class="hl-7">Vector2</span><span class="hl-1">;</span><br/><span class="hl-1"> </span><span class="hl-8">/** 将全景图 uv 转化为方向向量 */</span><br/><span class="hl-1"> </span><span class="hl-5">equirectangularUvToVector</span><span class="hl-1">(</span><span class="hl-6">uv</span><span class="hl-1">: </span><span class="hl-7">THREE</span><span class="hl-1">.</span><span class="hl-7">Vector2</span><span class="hl-1">, </span><span class="hl-6">uvOrigin</span><span class="hl-1">?: </span><span class="hl-9">'top-left'</span><span class="hl-1"> | </span><span class="hl-9">'bottom-left'</span><span class="hl-1">): </span><span class="hl-7">THREE</span><span class="hl-1">.</span><span class="hl-7">Vector3</span><span class="hl-1">;</span><br/><span class="hl-1"> </span><span class="hl-8">/** 将方向向量转化为获六视图 uv */</span><br/><span class="hl-1"> </span><span class="hl-5">vectorToCubemapUv</span><span class="hl-1">(</span><span class="hl-6">vector</span><span class="hl-1">: </span><span class="hl-7">THREE</span><span class="hl-1">.</span><span class="hl-7">Vector3</span><span class="hl-1">, </span><span class="hl-6">uvOrigin</span><span class="hl-1">?: </span><span class="hl-9">'top-left'</span><span class="hl-1"> | </span><span class="hl-9">'bottom-left'</span><span class="hl-1">): [</span><span class="hl-13">cubeFace</span><span class="hl-1">: </span><span class="hl-7">CubeFace</span><span class="hl-1">, </span><span class="hl-13">cubemapUv</span><span class="hl-1">: </span><span class="hl-7">THREE</span><span class="hl-1">.</span><span class="hl-7">Vector2</span><span class="hl-1">];</span><br/><span class="hl-1"> </span><span class="hl-8">/** 将六视图 uv 转化为方向向量 */</span><br/><span class="hl-1"> </span><span class="hl-5">cubemapUvToVector</span><span class="hl-1">(</span><span class="hl-6">cubeFace</span><span class="hl-1">: </span><span class="hl-7">CubeFace</span><span class="hl-1">, </span><span class="hl-6">uv</span><span class="hl-1">: </span><span class="hl-7">THREE</span><span class="hl-1">.</span><span class="hl-7">Vector2</span><span class="hl-1">, </span><span class="hl-6">uvOrigin</span><span class="hl-1">?: </span><span class="hl-9">'top-left'</span><span class="hl-1"> | </span><span class="hl-9">'bottom-left'</span><span class="hl-1">): </span><span class="hl-7">THREE</span><span class="hl-1">.</span><span class="hl-7">Vector3</span><span class="hl-1">;</span><br/><span class="hl-1">}</span><br/><br/><span class="hl-8">/** 初始化位姿参数 */</span><br/><span class="hl-10">export</span><span class="hl-1"> </span><span class="hl-3">interface</span><span class="hl-1"> </span><span class="hl-7">WorkInitial</span><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-6">work</span><span class="hl-1">: </span><span class="hl-7">Work</span><span class="hl-1">;</span><br/><span class="hl-1"> </span><span class="hl-8">/** 模态 */</span><br/><span class="hl-1"> </span><span class="hl-6">mode</span><span class="hl-1">?: </span><span class="hl-7">Mode</span><span class="hl-1">;</span><br/><span class="hl-1"> </span><span class="hl-8">/** 点位序号 */</span><br/><span class="hl-1"> </span><span class="hl-6">panoIndex</span><span class="hl-1">?: </span><span class="hl-7">number</span><span class="hl-1">;</span><br/><span class="hl-1"> </span><span class="hl-8">/** 相机水平角 */</span><br/><span class="hl-1"> </span><span class="hl-6">longitude</span><span class="hl-1">?: </span><span class="hl-7">number</span><span class="hl-1">;</span><br/><span class="hl-1"> </span><span class="hl-8">/** 相机俯仰角 */</span><br/><span class="hl-1"> </span><span class="hl-6">latitude</span><span class="hl-1">?: </span><span class="hl-7">number</span><span class="hl-1">;</span><br/><span class="hl-1"> </span><span class="hl-8">/** 相机可视角度(垂直)*/</span><br/><span class="hl-1"> </span><span class="hl-6">fov</span><span class="hl-1">?: </span><span class="hl-7">number</span><span class="hl-1">;</span><br/><span class="hl-1"> </span><span class="hl-8">/** 相机观察点位置 [x, y, z] */</span><br/><span class="hl-1"> </span><span class="hl-6">offset</span><span class="hl-1">?: </span><span class="hl-7">THREE</span><span class="hl-1">.</span><span class="hl-7">Vector3</span><span class="hl-1">;</span><br/><span class="hl-1"> </span><span class="hl-8">/** 相机距离观察点距离 */</span><br/><span class="hl-1"> </span><span class="hl-6">distance</span><span class="hl-1">?: </span><span class="hl-7">number</span><span class="hl-1">;</span><br/><span class="hl-1">}</span><br/><br/><span class="hl-8">/** 模型数据 */</span><br/><span class="hl-10">export</span><span class="hl-1"> </span><span class="hl-3">interface</span><span class="hl-1"> </span><span class="hl-7">WorkModel</span><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-8">/** work */</span><br/><span class="hl-1"> </span><span class="hl-6">work</span><span class="hl-1">: </span><span class="hl-7">Work</span><span class="hl-1">;</span><br/><span class="hl-1"> </span><span class="hl-8">/** 模型文件地址 at3d / domez */</span><br/><span class="hl-1"> </span><span class="hl-6">file</span><span class="hl-1">?: </span><span class="hl-7">string</span><span class="hl-1">;</span><br/><span class="hl-1"> </span><span class="hl-8">/** 模型贴图文件地址 */</span><br/><span class="hl-1"> </span><span class="hl-6">textures</span><span class="hl-1">?: </span><span class="hl-3">readonly</span><span class="hl-1"> </span><span class="hl-7">string</span><span class="hl-1">[];</span><br/><span class="hl-1"> </span><span class="hl-8">/** 模型贴图文件地址的父目录 */</span><br/><span class="hl-1"> </span><span class="hl-6">textureBase</span><span class="hl-1">?: </span><span class="hl-7">string</span><span class="hl-1">;</span><br/><span class="hl-1"> </span><span class="hl-8">/** 指定上方向,对于 obj, ply 等定义不明确的需要指定上方向 */</span><br/><span class="hl-1"> </span><span class="hl-6">upAxis</span><span class="hl-1">?: </span><span class="hl-7">string</span><span class="hl-1">;</span><br/><span class="hl-1"> </span><span class="hl-8">/** 3d tile */</span><br/><span class="hl-1"> </span><span class="hl-6">layers</span><span class="hl-1">: </span><span class="hl-3">readonly</span><span class="hl-1"> </span><span class="hl-7">WorkModelLayer</span><span class="hl-1">[];</span><br/><span class="hl-1">}</span><br/><br/><span class="hl-8">/** 模型图层信息 */</span><br/><span class="hl-10">export</span><span class="hl-1"> </span><span class="hl-3">interface</span><span class="hl-1"> </span><span class="hl-7">WorkModelLayer</span><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-8">/** work */</span><br/><span class="hl-1"> </span><span class="hl-6">work</span><span class="hl-1">: </span><span class="hl-7">Work</span><span class="hl-1">;</span><br/><span class="hl-1"> </span><span class="hl-8">/** 模型类型 point_cloud mesh gaussian_splatting */</span><br/><span class="hl-1"> </span><span class="hl-6">type</span><span class="hl-1">: </span><span class="hl-9">'point_cloud'</span><span class="hl-1"> | </span><span class="hl-9">'mesh'</span><span class="hl-1"> | </span><span class="hl-9">'gaussian_splatting'</span><span class="hl-1">;</span><br/><span class="hl-1"> </span><span class="hl-8">/** 模型名称 */</span><br/><span class="hl-1"> </span><span class="hl-6">name</span><span class="hl-1">: </span><span class="hl-7">string</span><span class="hl-1">;</span><br/><span class="hl-1"> </span><span class="hl-8">/** 指定上方向 */</span><br/><span class="hl-1"> </span><span class="hl-6">upAxis</span><span class="hl-1">: </span><span class="hl-7">string</span><span class="hl-1">;</span><br/><span class="hl-1"> </span><span class="hl-8">/** tileset.json 地址 */</span><br/><span class="hl-1"> </span><span class="hl-6">tileset</span><span class="hl-1">: </span><span class="hl-7">string</span><span class="hl-1">;</span><br/><span class="hl-1">}</span><br/><br/><span class="hl-8">/** 全景图资源信息 */</span><br/><span class="hl-10">export</span><span class="hl-1"> </span><span class="hl-3">interface</span><span class="hl-1"> </span><span class="hl-7">WorkImage</span><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-6">work</span><span class="hl-1">: </span><span class="hl-7">Work</span><span class="hl-1">;</span><br/><span class="hl-1"> </span><span class="hl-8">/** 分辨率表 */</span><br/><span class="hl-1"> </span><span class="hl-6">sizeList</span><span class="hl-1">: </span><span class="hl-3">readonly</span><span class="hl-1"> </span><span class="hl-7">number</span><span class="hl-1">[];</span><br/><span class="hl-1"> </span><span class="hl-8">/** 瓦片信息 */</span><br/><span class="hl-1"> </span><span class="hl-6">tiles</span><span class="hl-1">: </span><span class="hl-3">readonly</span><span class="hl-1"> </span><span class="hl-7">WorkTile</span><span class="hl-1">[];</span><br/><span class="hl-1"> </span><span class="hl-8">/** 缩略图/预览图等 */</span><br/><span class="hl-1"> [</span><span class="hl-6">key</span><span class="hl-1">: </span><span class="hl-7">string</span><span class="hl-1">]: </span><span class="hl-7">any</span><span class="hl-1">;</span><br/><span class="hl-1">}</span>
|
|
14
|
+
</code><button type="button">Copy</button></pre>
|
|
15
|
+
|
|
16
|
+
<h2 id="concepts" class="tsd-anchor-link">Concepts<a href="#concepts" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h2>
|
|
17
|
+
<h3 id="work-entity-项目实体" class="tsd-anchor-link">Work Entity (项目实体)<a href="#work-entity-项目实体" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
|
|
18
|
+
<p>Work 是 Five 渲染内容的基石。它不仅包含资源地址,还包含空间结构数据。由于数据通常带有数字签名(防止篡改),开发者<strong>不应手动修改</strong> Work 对象中的属性,尤其是资源路径和坐标数据。</p>
|
|
19
|
+
<h3 id="data-types-数据类型" class="tsd-anchor-link">Data Types (数据类型)<a href="#data-types-数据类型" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
|
|
20
|
+
<p>Five 中有三种与 Work 相关的类型,它们分别对应不同的使用场景:</p>
|
|
21
|
+
<ul>
|
|
22
|
+
<li><strong>LooseWork (宽泛数据)</strong>:
|
|
23
|
+
<ul>
|
|
24
|
+
<li><strong>来源</strong>: 通常是服务端下发的原始 JSON 数据。</li>
|
|
25
|
+
<li><strong>特点</strong>: 结构宽松,允许缺省值(如使用默认模态)、简写(如 URL 模板)和非标准类型(如数组表示向量)。</li>
|
|
26
|
+
<li><strong>用途</strong>: 作为 <code>parseWork(json)</code> 的输入。</li>
|
|
27
|
+
</ul>
|
|
28
|
+
</li>
|
|
29
|
+
<li><strong>Work (运行时实体)</strong>:
|
|
30
|
+
<ul>
|
|
31
|
+
<li><strong>来源</strong>: 由 <code>parseWork</code> 解析生成。</li>
|
|
32
|
+
<li><strong>特点</strong>: 结构严谨,数据已标准化(如 URL 已补全,向量转为 <code>THREE.Vector3</code>),且被冻结(不可变)。</li>
|
|
33
|
+
<li><strong>用途</strong>: Five 内部渲染使用的核心对象,传给 <code>five.load(work)</code>。</li>
|
|
34
|
+
</ul>
|
|
35
|
+
</li>
|
|
36
|
+
<li><strong>WorkJson (标准序列化)</strong>:
|
|
37
|
+
<ul>
|
|
38
|
+
<li><strong>来源</strong>: 由 <code>workToJson(work)</code> 生成。</li>
|
|
39
|
+
<li><strong>特点</strong>: 纯 JSON 结构,去除了运行时对象(如 THREE.Vector3),但保留了标准化的数据结构。</li>
|
|
40
|
+
<li><strong>用途</strong>: 用于数据持久化存储或跨端传输。</li>
|
|
41
|
+
</ul>
|
|
42
|
+
</li>
|
|
43
|
+
</ul>
|
|
44
|
+
<h3 id="layers-vs-file-数据源关系" class="tsd-anchor-link">Layers vs File (数据源关系)<a href="#layers-vs-file-数据源关系" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
|
|
45
|
+
<p><code>WorkModel</code> 提供了两种定义模型数据的方式,其中 <code>layers</code> 是现代标准,<code>file</code> 主要用于兼容旧数据或简单场景。</p>
|
|
46
|
+
<ul>
|
|
47
|
+
<li><strong><code>layers</code></strong>: (推荐) 数组结构,用于定义多层级、多类型的模型资源。
|
|
48
|
+
<ul>
|
|
49
|
+
<li>支持 <strong>3DTiles</strong> 格式的分块加载。</li>
|
|
50
|
+
<li>支持多种类型混合:<code>mesh</code> (模型), <code>point_cloud</code> (点云), <code>gaussian_splatting</code> (高斯泼溅)。</li>
|
|
51
|
+
<li><strong>默认行为</strong>: 列表中的所有图层默认都会被加载并显示。</li>
|
|
52
|
+
</ul>
|
|
53
|
+
</li>
|
|
54
|
+
<li><strong><code>file</code></strong>: (兼容) 字符串路径,用于定义单文件的 Mesh 模型。
|
|
55
|
+
<ul>
|
|
56
|
+
<li>仅支持部分格式(如 <code>.at3d</code>, <code>.obj</code>, <code>.glb</code>)。</li>
|
|
57
|
+
<li>不支持点云或高斯泼溅。</li>
|
|
58
|
+
</ul>
|
|
59
|
+
</li>
|
|
60
|
+
</ul>
|
|
61
|
+
<p><strong>加载优先级与兼容逻辑 (Fallback)</strong>:</p>
|
|
62
|
+
<p>Five 在运行时会将 <code>file</code> 视为一个虚拟的 <code>mesh</code> 图层。加载逻辑如下:</p>
|
|
63
|
+
<ol>
|
|
64
|
+
<li>
|
|
65
|
+
<p><strong>优先加载 Layers</strong>:
|
|
66
|
+
Five 会遍历 <code>work.model.layers</code> 并加载其中定义的所有图层(包括 Mesh, PointCloud, GaussianSplatting 等)。</p>
|
|
67
|
+
</li>
|
|
68
|
+
<li>
|
|
69
|
+
<p><strong>File 的条件加载</strong>:
|
|
70
|
+
检查当前已加载的图层中是否存在 <code>type: 'mesh'</code> 的图层。</p>
|
|
71
|
+
<ul>
|
|
72
|
+
<li><strong>存在 Mesh 层</strong>: 忽略 <code>work.model.file</code> 字段(认为 <code>layers</code> 已经提供了更高精度的模型)。</li>
|
|
73
|
+
<li><strong>不存在 Mesh 层</strong>: 如果 <code>work.model.file</code> 有值,Five 会自动创建一个临时的 Mesh ViewLayer 来加载该文件。</li>
|
|
74
|
+
</ul>
|
|
75
|
+
</li>
|
|
76
|
+
</ol>
|
|
77
|
+
<h3 id="observer-观察点" class="tsd-anchor-link">Observer (观察点)<a href="#observer-观察点" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
|
|
78
|
+
<p>Observer 是 VR 空间中预设的观察位置。在 <strong>Panorama (全景)</strong> 模式下,相机必须停留在某个 Observer 上。</p>
|
|
79
|
+
<ul>
|
|
80
|
+
<li><strong>position</strong>: 相机镜头的物理位置。</li>
|
|
81
|
+
<li><strong>standingPosition</strong>: 对应的地面位置(脚底)。通常用于下绘制点位图标,或计算点位间的导航距离。</li>
|
|
82
|
+
<li><strong>accessibleNodes</strong>: 定义了该点位可以“走到”哪些相邻点位,构成了全景游走的图结构。</li>
|
|
83
|
+
</ul>
|
|
84
|
+
<h3 id="workcode-唯一标识" class="tsd-anchor-link">WorkCode (唯一标识)<a href="#workcode-唯一标识" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
|
|
85
|
+
<p><code>workCode</code> 是 Work 的全局唯一标识符。</p>
|
|
86
|
+
<ul>
|
|
87
|
+
<li><strong>单 Work 场景</strong>: 通常不需要显式关注。</li>
|
|
88
|
+
<li><strong>多 Work 场景</strong>: 当 Five 同时加载多个 Work(如拼接的大型空间)时,必须通过 <code>workCode</code> 来区分不同 Work 下的同名属性(如 <code>panoIndex</code>)。</li>
|
|
89
|
+
</ul>
|
|
90
|
+
<h3 id="parsing-数据解析" class="tsd-anchor-link">Parsing (数据解析)<a href="#parsing-数据解析" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
|
|
91
|
+
<p>从服务端获取的原始 JSON 数据(LooseWork)可能包含相对路径或简写。<code>parseWork</code> 函数负责将其标准化为严格的 <code>Work</code> 对象,处理 URL 拼接、默认值填充和数据校验。</p>
|
|
92
|
+
<h2 id="examples" class="tsd-anchor-link">Examples<a href="#examples" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h2>
|
|
93
|
+
<h3 id="1-解析与加载-work" class="tsd-anchor-link">1. 解析与加载 Work<a href="#1-解析与加载-work" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
|
|
94
|
+
<p>最基础的用法是从 API 获取数据并加载。</p>
|
|
95
|
+
<pre><code class="ts"><span class="hl-10">import</span><span class="hl-1"> { </span><span class="hl-6">Five</span><span class="hl-1">, </span><span class="hl-6">parseWork</span><span class="hl-1"> } </span><span class="hl-10">from</span><span class="hl-1"> </span><span class="hl-9">"@realsee/five"</span><span class="hl-1">;</span><br/><br/><span class="hl-3">const</span><span class="hl-1"> </span><span class="hl-4">five</span><span class="hl-1"> = </span><span class="hl-3">new</span><span class="hl-1"> </span><span class="hl-5">Five</span><span class="hl-1">();</span><br/><span class="hl-6">five</span><span class="hl-1">.</span><span class="hl-5">appendTo</span><span class="hl-1">(</span><span class="hl-6">document</span><span class="hl-1">.</span><span class="hl-5">getElementById</span><span class="hl-1">(</span><span class="hl-9">"app"</span><span class="hl-1">));</span><br/><br/><span class="hl-8">// 1. 获取数据</span><br/><span class="hl-5">fetch</span><span class="hl-1">(</span><span class="hl-9">"https://vrlab-public.ljcdn.com/release/web/work.json"</span><span class="hl-1">)</span><br/><span class="hl-1"> .</span><span class="hl-5">then</span><span class="hl-1">(</span><span class="hl-6">res</span><span class="hl-1"> </span><span class="hl-3">=></span><span class="hl-1"> </span><span class="hl-6">res</span><span class="hl-1">.</span><span class="hl-5">json</span><span class="hl-1">())</span><br/><span class="hl-1"> .</span><span class="hl-5">then</span><span class="hl-1">(</span><span class="hl-6">json</span><span class="hl-1"> </span><span class="hl-3">=></span><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-8">// 2. 解析数据</span><br/><span class="hl-1"> </span><span class="hl-3">const</span><span class="hl-1"> </span><span class="hl-4">work</span><span class="hl-1"> = </span><span class="hl-5">parseWork</span><span class="hl-1">(</span><span class="hl-6">json</span><span class="hl-1">);</span><br/><span class="hl-1"> </span><span class="hl-8">// 3. 加载到 Five</span><br/><span class="hl-1"> </span><span class="hl-6">five</span><span class="hl-1">.</span><span class="hl-5">load</span><span class="hl-1">(</span><span class="hl-6">work</span><span class="hl-1">);</span><br/><span class="hl-1"> });</span>
|
|
96
|
+
</code><button type="button">Copy</button></pre>
|
|
97
|
+
|
|
98
|
+
<h3 id="2-访问-work-数据" class="tsd-anchor-link">2. 访问 Work 数据<a href="#2-访问-work-数据" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
|
|
99
|
+
<p>加载完成后,可以通过 <code>five.work</code> 访问当前数据。</p>
|
|
100
|
+
<pre><code class="ts"><span class="hl-8">// 获取所有观察点</span><br/><span class="hl-3">const</span><span class="hl-1"> </span><span class="hl-4">observers</span><span class="hl-1"> = </span><span class="hl-6">five</span><span class="hl-1">.</span><span class="hl-6">work</span><span class="hl-1">.</span><span class="hl-6">observers</span><span class="hl-1">;</span><br/><br/><span class="hl-8">// 获取当前所在的观察点</span><br/><span class="hl-3">const</span><span class="hl-1"> </span><span class="hl-4">currentPanoIndex</span><span class="hl-1"> = </span><span class="hl-6">five</span><span class="hl-1">.</span><span class="hl-6">state</span><span class="hl-1">.</span><span class="hl-6">panoIndex</span><span class="hl-1">;</span><br/><span class="hl-3">const</span><span class="hl-1"> </span><span class="hl-4">currentObserver</span><span class="hl-1"> = </span><span class="hl-6">observers</span><span class="hl-1">[</span><span class="hl-6">currentPanoIndex</span><span class="hl-1">];</span><br/><br/><span class="hl-6">console</span><span class="hl-1">.</span><span class="hl-5">log</span><span class="hl-1">(</span><span class="hl-9">"当前点位坐标:"</span><span class="hl-1">, </span><span class="hl-6">currentObserver</span><span class="hl-1">.</span><span class="hl-6">position</span><span class="hl-1">);</span><br/><span class="hl-6">console</span><span class="hl-1">.</span><span class="hl-5">log</span><span class="hl-1">(</span><span class="hl-9">"可通往的点位:"</span><span class="hl-1">, </span><span class="hl-6">currentObserver</span><span class="hl-1">.</span><span class="hl-6">accessibleNodes</span><span class="hl-1">);</span>
|
|
101
|
+
</code><button type="button">Copy</button></pre>
|
|
102
|
+
|
|
103
|
+
<h3 id="3-多-work-加载与管理" class="tsd-anchor-link">3. 多 Work 加载与管理<a href="#3-多-work-加载与管理" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
|
|
104
|
+
<p>Five 支持同时加载多个 Work,常用于楼盘小区的多个样板间拼接,或大型商业空间的区域拼接。</p>
|
|
105
|
+
<pre><code class="ts"><span class="hl-3">const</span><span class="hl-1"> </span><span class="hl-4">work1</span><span class="hl-1"> = </span><span class="hl-5">parseWork</span><span class="hl-1">(</span><span class="hl-6">json1</span><span class="hl-1">);</span><br/><span class="hl-3">const</span><span class="hl-1"> </span><span class="hl-4">work2</span><span class="hl-1"> = </span><span class="hl-5">parseWork</span><span class="hl-1">(</span><span class="hl-6">json2</span><span class="hl-1">);</span><br/><br/><span class="hl-8">// 同时加载两个 Work</span><br/><span class="hl-6">five</span><span class="hl-1">.</span><span class="hl-5">load</span><span class="hl-1">([</span><span class="hl-6">work1</span><span class="hl-1">, </span><span class="hl-6">work2</span><span class="hl-1">]);</span><br/><br/><span class="hl-8">// 切换到指定 Work 的指定点位</span><br/><span class="hl-6">five</span><span class="hl-1">.</span><span class="hl-5">setState</span><span class="hl-1">({</span><br/><span class="hl-1"> </span><span class="hl-6">mode:</span><span class="hl-1"> </span><span class="hl-9">"Panorama"</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-6">workCode:</span><span class="hl-1"> </span><span class="hl-6">work2</span><span class="hl-1">.</span><span class="hl-6">workCode</span><span class="hl-1">, </span><span class="hl-8">// 必须指定 workCode</span><br/><span class="hl-1"> </span><span class="hl-6">panoIndex:</span><span class="hl-1"> </span><span class="hl-11">0</span><br/><span class="hl-1">});</span>
|
|
106
|
+
</code><button type="button">Copy</button></pre>
|
|
107
|
+
|
|
108
|
+
<h3 id="4-追加与替换-work" class="tsd-anchor-link">4. 追加与替换 Work<a href="#4-追加与替换-work" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
|
|
109
|
+
<p>可以使用 <code>load</code> 方法的参数来控制是替换当前场景还是追加到当前场景。</p>
|
|
110
|
+
<pre><code class="ts"><span class="hl-3">const</span><span class="hl-1"> </span><span class="hl-4">work3</span><span class="hl-1"> = </span><span class="hl-5">parseWork</span><span class="hl-1">(</span><span class="hl-6">json3</span><span class="hl-1">);</span><br/><br/><span class="hl-8">// 追加 Work (保留原有场景)</span><br/><span class="hl-8">// 第二个参数 "inherit" 表示保持当前相机视角和模态不变,不重置为新 Work 的初始视角</span><br/><span class="hl-6">five</span><span class="hl-1">.</span><span class="hl-5">load</span><span class="hl-1">(</span><span class="hl-6">work3</span><span class="hl-1">, </span><span class="hl-9">"inherit"</span><span class="hl-1">, { </span><span class="hl-6">mode:</span><span class="hl-1"> </span><span class="hl-9">"add"</span><span class="hl-1"> });</span><br/><br/><span class="hl-8">// 替换 Work (清空原有场景) - 默认行为</span><br/><span class="hl-6">five</span><span class="hl-1">.</span><span class="hl-5">load</span><span class="hl-1">(</span><span class="hl-6">work3</span><span class="hl-1">, </span><span class="hl-9">"inherit"</span><span class="hl-1">, { </span><span class="hl-6">mode:</span><span class="hl-1"> </span><span class="hl-9">"replace"</span><span class="hl-1"> });</span>
|
|
111
|
+
</code><button type="button">Copy</button></pre>
|
|
112
|
+
|
|
113
|
+
<h2 id="common-pitfalls" class="tsd-anchor-link">Common Pitfalls<a href="#common-pitfalls" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h2>
|
|
114
|
+
<ul>
|
|
115
|
+
<li><strong>数据不可变性</strong>: Work 数据包含签名信息,直接修改 <code>work.observers[0].position.x = 100</code> 虽不会报错,但可能导致渲染异常或签名验证失败。请视 Work 为只读对象。</li>
|
|
116
|
+
<li><strong>坐标系</strong>: Five 使用 <strong>Y-Up 右手坐标系</strong>,单位为<strong>米</strong>。与 Three.js 默认坐标系一致。</li>
|
|
117
|
+
<li><strong>跨域问题 (CORS)</strong>: <code>baseURL</code> 指向的资源服务器必须配置正确的 CORS 头,否则 WebGL 无法加载纹理。</li>
|
|
118
|
+
<li><strong>parseWork 必选</strong>: 永远不要尝试手动构造 <code>Work</code> 对象,总是使用 <code>parseWork</code>。服务端数据结构可能会升级,<code>parseWork</code> 会处理兼容性。</li>
|
|
119
|
+
</ul>
|
|
120
|
+
<h2 id="related" class="tsd-anchor-link">Related<a href="#related" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h2>
|
|
121
|
+
<ul>
|
|
122
|
+
<li><a href="features_state.html">State</a>: 了解如何通过 State 切换点位。</li>
|
|
123
|
+
<li><a href="features_mode.html">Mode</a>: 了解不同模态下 Work 数据的表现。</li>
|
|
124
|
+
</ul>
|
|
125
|
+
<hr>
|
|
126
|
+
<pre><code class="yaml"><span class="hl-0">tags</span><span class="hl-1">: [</span><span class="hl-2">work</span><span class="hl-1">, </span><span class="hl-2">core</span><span class="hl-1">, </span><span class="hl-2">entity</span><span class="hl-1">, </span><span class="hl-2">observer</span><span class="hl-1">]</span>
|
|
127
|
+
</code><button type="button">Copy</button></pre>
|
|
128
|
+
|
|
129
|
+
</div></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg><h3>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div><details open class="tsd-accordion tsd-page-navigation"><summary class="tsd-accordion-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg><h3>On This Page</h3></summary><div class="tsd-accordion-details"><a href="#work-vr-数据实体"><span>Work (<wbr/>VR 数据实体)</span></a><ul><li><a href="#schema"><span>Schema</span></a></li><li><a href="#concepts"><span>Concepts</span></a></li><li><ul><li><a href="#work-entity-项目实体"><span>Work <wbr/>Entity (项目实体)</span></a></li><li><a href="#data-types-数据类型"><span>Data <wbr/>Types (数据类型)</span></a></li><li><a href="#layers-vs-file-数据源关系"><span>Layers vs <wbr/>File (数据源关系)</span></a></li><li><a href="#observer-观察点"><span>Observer (观察点)</span></a></li><li><a href="#workcode-唯一标识"><span>Work<wbr/>Code (唯一标识)</span></a></li><li><a href="#parsing-数据解析"><span>Parsing (数据解析)</span></a></li></ul></li><li><a href="#examples"><span>Examples</span></a></li><li><ul><li><a href="#1-解析与加载-work"><span>1. 解析与加载 <wbr/>Work</span></a></li><li><a href="#2-访问-work-数据"><span>2. 访问 <wbr/>Work 数据</span></a></li><li><a href="#3-多-work-加载与管理"><span>3. 多 <wbr/>Work 加载与管理</span></a></li><li><a href="#4-追加与替换-work"><span>4. 追加与替换 <wbr/>Work</span></a></li></ul></li><li><a href="#common-pitfalls"><span>Common <wbr/>Pitfalls</span></a></li><li><a href="#related"><span>Related</span></a></li></ul></div></details></div><div class="site-menu"><nav class="tsd-navigation"><a href="../modules.html">如视 Five SDK</a><ul class="tsd-small-nested-navigation" id="tsd-nav-container"><li>Loading...</li></ul></nav></div></div></div><footer><p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer><div class="overlay"></div></body></html>
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
<!DOCTYPE html><html class="default" lang="en" data-base="../"><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>glossary | 如视 Five SDK</title><meta name="description" content="Documentation for 如视 Five SDK"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script><script async src="../assets/hierarchy.js" id="tsd-hierarchy-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => window.app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><a href="../index.html" class="title">如视 Five SDK</a><div id="tsd-toolbar-links"></div><button id="tsd-search-trigger" class="tsd-widget" aria-label="Search"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-search"></use></svg></button><dialog id="tsd-search" aria-label="Search"><input role="combobox" id="tsd-search-input" aria-controls="tsd-search-results" aria-autocomplete="list" aria-expanded="true" autocapitalize="off" autocomplete="off" placeholder="Search the docs" maxLength="100"/><ul role="listbox" id="tsd-search-results"></ul><div id="tsd-search-status" aria-live="polite" aria-atomic="true"><div>Preparing search index...</div></div></dialog><a href="#" class="tsd-widget menu" id="tsd-toolbar-menu-trigger" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb" aria-label="Breadcrumb"><li><a href="" aria-current="page">glossary</a></li></ul></div><div class="tsd-panel tsd-typography"><h1 id="glossary-术语表" class="tsd-anchor-link">Glossary (术语表)<a href="#glossary-术语表" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h1>
|
|
2
|
+
<ul>
|
|
3
|
+
<li><strong>Summary</strong>: Five SDK 中的核心术语定义与解释。</li>
|
|
4
|
+
<li><strong>Audience</strong>: 开发者、AI 助手。</li>
|
|
5
|
+
</ul>
|
|
6
|
+
<h2 id="core-entities-核心实体" class="tsd-anchor-link">Core Entities (核心实体)<a href="#core-entities-核心实体" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h2>
|
|
7
|
+
<h3 id="five" class="tsd-anchor-link">Five<a href="#five" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
|
|
8
|
+
<p>SDK 的核心入口类。一个 <code>Five</code> 实例对应一个 <code><canvas></code> 渲染上下文,负责管理场景生命周期、渲染循环、用户交互和状态更新。</p>
|
|
9
|
+
<h3 id="work" class="tsd-anchor-link">Work<a href="#work" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
|
|
10
|
+
<p>VR 看房的<strong>运行时实体</strong>。通常指经过 <code>parseWork</code> 解析后生成的标准化数据对象。</p>
|
|
11
|
+
<ul>
|
|
12
|
+
<li><strong>LooseWork</strong>: 服务端下发的原始 JSON 数据,结构较宽松。</li>
|
|
13
|
+
<li><strong>WorkJson</strong>: <code>workToJson</code> 生成的标准序列化数据,用于存储。</li>
|
|
14
|
+
<li><strong>包含内容</strong>: Observers, Panorama, Model, Plan 等。</li>
|
|
15
|
+
</ul>
|
|
16
|
+
<h3 id="vertex-marks-顶点标记" class="tsd-anchor-link">Vertex Marks (顶点标记)<a href="#vertex-marks-顶点标记" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
|
|
17
|
+
<p>在模型顶点上通过 <code>_feature_id_rsmask</code> 属性进行的标记。</p>
|
|
18
|
+
<ul>
|
|
19
|
+
<li>用于在特定视角(如俯视)下控制 Mesh 的显隐(例如隐藏天花板)。</li>
|
|
20
|
+
<li>属于材质配置的一部分。</li>
|
|
21
|
+
</ul>
|
|
22
|
+
<h3 id="observer" class="tsd-anchor-link">Observer<a href="#observer" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
|
|
23
|
+
<p><strong>观察点</strong>。对应现实空间中拍摄全景图的一个物理位置。</p>
|
|
24
|
+
<ul>
|
|
25
|
+
<li>属性包含:位置 (position)、旋转 (quaternion)、关联的全景图信息。</li>
|
|
26
|
+
<li>用户在“全景模式”下,实际上是在不同的 Observer 之间跳转。</li>
|
|
27
|
+
</ul>
|
|
28
|
+
<h2 id="state-coordinates-状态与坐标" class="tsd-anchor-link">State & Coordinates (状态与坐标)<a href="#state-coordinates-状态与坐标" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h2>
|
|
29
|
+
<h3 id="mode-模式" class="tsd-anchor-link">Mode (模式)<a href="#mode-模式" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
|
|
30
|
+
<p>Five 定义的五种浏览状态:</p>
|
|
31
|
+
<ol>
|
|
32
|
+
<li><strong>Panorama (全景)</strong>: 第一人称视角,固定在某个点位观察 360° 景象。</li>
|
|
33
|
+
<li><strong>Floorplan (户型图)</strong>: 2D 顶视视角,查看房屋平面结构。</li>
|
|
34
|
+
<li><strong>Topview (顶视)</strong>: 3D 俯视视角,可自由旋转查看房屋立体结构。</li>
|
|
35
|
+
<li><strong>Model (模型)</strong>: 自由漫游视角,可像游戏一样在模型中自由行走(脱离全景点位)。</li>
|
|
36
|
+
<li><strong>Map (地图)</strong>: 类似 Google Earth 的操作方式,用于大场景鸟瞰。</li>
|
|
37
|
+
</ol>
|
|
38
|
+
<h3 id="pose-位姿" class="tsd-anchor-link">Pose (位姿)<a href="#pose-位姿" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
|
|
39
|
+
<p>描述相机状态的数据结构。</p>
|
|
40
|
+
<ul>
|
|
41
|
+
<li><strong>Panorama 模式下</strong>: 使用球面坐标 <code>(Longitude, Latitude)</code> + <code>Fov</code>。</li>
|
|
42
|
+
<li><strong>其他模式下</strong>: 使用 <code>(x, y, z)</code> 坐标或变换矩阵。</li>
|
|
43
|
+
</ul>
|
|
44
|
+
<h3 id="panoindex" class="tsd-anchor-link">PanoIndex<a href="#panoindex" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
|
|
45
|
+
<p><strong>全景索引</strong>。当前所在的 Observer 在 <code>work.observers</code> 数组中的下标 (从 0 开始)。</p>
|
|
46
|
+
<h3 id="fov-field-of-view" class="tsd-anchor-link">Fov (Field of View)<a href="#fov-field-of-view" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
|
|
47
|
+
<p><strong>视场角</strong>。决定了视野的宽窄。</p>
|
|
48
|
+
<ul>
|
|
49
|
+
<li>数值越大,视野越广(广角)。</li>
|
|
50
|
+
<li>数值越小,视野越窄(长焦/放大)。</li>
|
|
51
|
+
</ul>
|
|
52
|
+
<h2 id="rendering-渲染" class="tsd-anchor-link">Rendering (渲染)<a href="#rendering-渲染" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h2>
|
|
53
|
+
<h3 id="pano-tile-全景瓦片" class="tsd-anchor-link">Pano Tile (全景瓦片)<a href="#pano-tile-全景瓦片" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
|
|
54
|
+
<p>为了在移动端快速加载高分辨率全景图(如 8K/16K),将全景图切分为多个小块(瓦片)。Five 会根据当前视角按需加载可见区域的瓦片。</p>
|
|
55
|
+
<h3 id="quasi-mesh" class="tsd-anchor-link">Quasi / Mesh<a href="#quasi-mesh" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
|
|
56
|
+
<p><strong>三维模型</strong>。通过激光扫描或视觉算法重建的空间几何结构。在 Five 中,全景图贴在几何模型上,从而实现“从全景中看出立体感”的效果。</p>
|
|
57
|
+
<h3 id="g-buffer-geometry-buffer" class="tsd-anchor-link">G-Buffer / Geometry Buffer<a href="#g-buffer-geometry-buffer" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
|
|
58
|
+
<p>用于后处理的几何缓冲区,包含深度 (Depth)、法线 (Normal)、ID 等信息,用于实现高级特效(如轮廓线、SSAO)。</p>
|
|
59
|
+
<h3 id="viewlayer" class="tsd-anchor-link">ViewLayer<a href="#viewlayer" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
|
|
60
|
+
<p>管理 <code>Model</code> 内部特定 3D 资源(如 Mesh、PointCloud、Gaussian Splatting)的图层。</p>
|
|
61
|
+
<ul>
|
|
62
|
+
<li>继承自 <code>Tile3D</code>。</li>
|
|
63
|
+
<li>拥有独立的 <code>Parameter</code> 配置(覆盖上层配置)。</li>
|
|
64
|
+
<li>支持可见性控制 (<code>visible</code>) 和优先级加载。</li>
|
|
65
|
+
</ul>
|
|
66
|
+
<h3 id="gaussian-splatting-3dgs" class="tsd-anchor-link">Gaussian Splatting (3DGS)<a href="#gaussian-splatting-3dgs" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
|
|
67
|
+
<p>一种基于点的 3D 渲染技术,通过各向异性高斯球(Splat)来表示场景。</p>
|
|
68
|
+
<ul>
|
|
69
|
+
<li>相比传统 Mesh,能更真实地还原复杂光照和细节。</li>
|
|
70
|
+
<li>Five 支持 <code>.spz</code> 和 <code>.splat</code> 格式的 3DGS 渲染。</li>
|
|
71
|
+
</ul>
|
|
72
|
+
<h3 id="3d-tiles-refinement-细化" class="tsd-anchor-link">3D Tiles Refinement (细化)<a href="#3d-tiles-refinement-细化" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
|
|
73
|
+
<p>3D Tiles 加载过程中的状态概念:</p>
|
|
74
|
+
<ul>
|
|
75
|
+
<li><strong>Loaded (已加载)</strong>: 瓦片的基本数据已下载并解析,满足最低显示要求 (<code>minLevelOfDetail</code>)。</li>
|
|
76
|
+
<li><strong>Refined (已细化)</strong>: 瓦片已加载最高质量数据,满足当前视角的屏幕空间误差要求 (<code>maxScreenSpaceError</code>)。</li>
|
|
77
|
+
<li><code>five.model.refineProgress</code> 可用于监控当前视角的细化进度。</li>
|
|
78
|
+
</ul>
|
|
79
|
+
<h2 id="interaction-交互" class="tsd-anchor-link">Interaction (交互)<a href="#interaction-交互" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h2>
|
|
80
|
+
<h3 id="raycast-射线检测" class="tsd-anchor-link">Raycast (射线检测)<a href="#raycast-射线检测" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
|
|
81
|
+
<p>将屏幕上的 2D 点击坐标转换为 3D 空间中的射线,用于检测用户点击了哪个物体(如点击地面移动、点击标签)。</p>
|
|
82
|
+
<h3 id="tap-press--pan--pinch" class="tsd-anchor-link">Tap / Press / Pan / Pinch<a href="#tap-press--pan--pinch" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
|
|
83
|
+
<p>Five 封装的手势事件:</p>
|
|
84
|
+
<ul>
|
|
85
|
+
<li><strong>Tap</strong>: 轻触。</li>
|
|
86
|
+
<li><strong>Press</strong>: 长按。</li>
|
|
87
|
+
<li><strong>Pan</strong>: 拖拽/平移。</li>
|
|
88
|
+
<li><strong>Pinch</strong>: 双指缩放。</li>
|
|
89
|
+
</ul>
|
|
90
|
+
<hr>
|
|
91
|
+
<pre><code class="yaml"><span class="hl-0">tags</span><span class="hl-1">: [</span><span class="hl-2">glossary</span><span class="hl-1">, </span><span class="hl-2">terminology</span><span class="hl-1">, </span><span class="hl-2">definitions</span><span class="hl-1">]</span>
|
|
92
|
+
</code><button type="button">Copy</button></pre>
|
|
93
|
+
|
|
94
|
+
</div></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg><h3>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div><details open class="tsd-accordion tsd-page-navigation"><summary class="tsd-accordion-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg><h3>On This Page</h3></summary><div class="tsd-accordion-details"><a href="#glossary-术语表"><span>Glossary (术语表)</span></a><ul><li><a href="#core-entities-核心实体"><span>Core <wbr/>Entities (核心实体)</span></a></li><li><ul><li><a href="#five"><span>Five</span></a></li><li><a href="#work"><span>Work</span></a></li><li><a href="#vertex-marks-顶点标记"><span>Vertex <wbr/>Marks (顶点标记)</span></a></li><li><a href="#observer"><span>Observer</span></a></li></ul></li><li><a href="#state-coordinates-状态与坐标"><span>State & <wbr/>Coordinates (状态与坐标)</span></a></li><li><ul><li><a href="#mode-模式"><span>Mode (模式)</span></a></li><li><a href="#pose-位姿"><span>Pose (位姿)</span></a></li><li><a href="#panoindex"><span>Pano<wbr/>Index</span></a></li><li><a href="#fov-field-of-view"><span>Fov (<wbr/>Field of <wbr/>View)</span></a></li></ul></li><li><a href="#rendering-渲染"><span>Rendering (渲染)</span></a></li><li><ul><li><a href="#pano-tile-全景瓦片"><span>Pano <wbr/>Tile (全景瓦片)</span></a></li><li><a href="#quasi-mesh"><span>Quasi / <wbr/>Mesh</span></a></li><li><a href="#g-buffer-geometry-buffer"><span>G-<wbr/>Buffer / <wbr/>Geometry <wbr/>Buffer</span></a></li><li><a href="#viewlayer"><span>View<wbr/>Layer</span></a></li><li><a href="#gaussian-splatting-3dgs"><span>Gaussian <wbr/>Splatting (3<wbr/>DGS)</span></a></li><li><a href="#3d-tiles-refinement-细化"><span>3<wbr/>D <wbr/>Tiles <wbr/>Refinement (细化)</span></a></li></ul></li><li><a href="#interaction-交互"><span>Interaction (交互)</span></a></li><li><ul><li><a href="#raycast-射线检测"><span>Raycast (射线检测)</span></a></li><li><a href="#tap-press--pan--pinch"><span>Tap / <wbr/>Press / <wbr/>Pan / <wbr/>Pinch</span></a></li></ul></li></ul></div></details></div><div class="site-menu"><nav class="tsd-navigation"><a href="../modules.html">如视 Five SDK</a><ul class="tsd-small-nested-navigation" id="tsd-nav-container"><li>Loading...</li></ul></nav></div></div></div><footer><p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer><div class="overlay"></div></body></html>
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
<!DOCTYPE html><html class="default" lang="en" data-base="../"><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>intro | 如视 Five SDK</title><meta name="description" content="Documentation for 如视 Five SDK"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script><script async src="../assets/hierarchy.js" id="tsd-hierarchy-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => window.app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><a href="../index.html" class="title">如视 Five SDK</a><div id="tsd-toolbar-links"></div><button id="tsd-search-trigger" class="tsd-widget" aria-label="Search"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-search"></use></svg></button><dialog id="tsd-search" aria-label="Search"><input role="combobox" id="tsd-search-input" aria-controls="tsd-search-results" aria-autocomplete="list" aria-expanded="true" autocapitalize="off" autocomplete="off" placeholder="Search the docs" maxLength="100"/><ul role="listbox" id="tsd-search-results"></ul><div id="tsd-search-status" aria-live="polite" aria-atomic="true"><div>Preparing search index...</div></div></dialog><a href="#" class="tsd-widget menu" id="tsd-toolbar-menu-trigger" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb" aria-label="Breadcrumb"><li><a href="" aria-current="page">intro</a></li></ul></div><div class="tsd-panel tsd-typography"><h1 id="introduction-介绍" class="tsd-anchor-link">Introduction (介绍)<a href="#introduction-介绍" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h1>
|
|
2
|
+
<ul>
|
|
3
|
+
<li><strong>Summary</strong>: Five 是贝壳如视提供的三维空间渲染 SDK,基于 Three.js 开发,帮助开发者在浏览器中构建高质量的 VR 看房与空间交互应用。</li>
|
|
4
|
+
</ul>
|
|
5
|
+
<h2 id="overview" class="tsd-anchor-link">Overview<a href="#overview" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h2>
|
|
6
|
+
<p><strong>Five</strong> 提供了丰富的三维空间展示与交互能力,核心功能模块如下:</p>
|
|
7
|
+
<ul>
|
|
8
|
+
<li><strong>全景浏览</strong>: 支持高分辨率全景图的高效加载与平滑浏览。详见 <a href="features_pano-tile.html">Pano Tile</a>。</li>
|
|
9
|
+
<li><strong>空间漫游</strong>: 支持在三维模型中自由行走、跳转。详见 <a href="features_mode.html">Mode</a>。</li>
|
|
10
|
+
<li><strong>模型渲染</strong>: 内置高效的模型加载策略 (3DTile) 与灵活的材质配置。详见 <a href="features_model.html">Model</a> 与 <a href="features_material.html">Material</a>。</li>
|
|
11
|
+
<li><strong>交互事件</strong>: 完善的事件系统,支持手势、射线检测等。详见 <a href="features_event.html">Event</a> 与 <a href="features_raycast.html">Raycast</a>。</li>
|
|
12
|
+
<li><strong>状态管理</strong>: 统一的 State 设计,便于状态保存与还原。详见 <a href="features_state.html">State</a>。</li>
|
|
13
|
+
</ul>
|
|
14
|
+
<h2 id="resources" class="tsd-anchor-link">Resources<a href="#resources" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h2>
|
|
15
|
+
<ul>
|
|
16
|
+
<li><a href="https://realsee.com">官方网站</a></li>
|
|
17
|
+
<li><a href="https://open-platform.realsee.com/">开发者中心</a></li>
|
|
18
|
+
</ul>
|
|
19
|
+
<h2 id="related" class="tsd-anchor-link">Related<a href="#related" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h2>
|
|
20
|
+
<ul>
|
|
21
|
+
<li><a href="quick-start.html">Quick Start</a>: 快速开始指南。</li>
|
|
22
|
+
<li><a href="support.html">Browser Support</a>: 浏览器兼容性说明。</li>
|
|
23
|
+
</ul>
|
|
24
|
+
</div></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg><h3>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div><details open class="tsd-accordion tsd-page-navigation"><summary class="tsd-accordion-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg><h3>On This Page</h3></summary><div class="tsd-accordion-details"><a href="#introduction-介绍"><span>Introduction (介绍)</span></a><ul><li><a href="#overview"><span>Overview</span></a></li><li><a href="#resources"><span>Resources</span></a></li><li><a href="#related"><span>Related</span></a></li></ul></div></details></div><div class="site-menu"><nav class="tsd-navigation"><a href="../modules.html">如视 Five SDK</a><ul class="tsd-small-nested-navigation" id="tsd-nav-container"><li>Loading...</li></ul></nav></div></div></div><footer><p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer><div class="overlay"></div></body></html>
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
<!DOCTYPE html><html class="default" lang="en" data-base="../"><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>quick-start | 如视 Five SDK</title><meta name="description" content="Documentation for 如视 Five SDK"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script><script async src="../assets/hierarchy.js" id="tsd-hierarchy-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => window.app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><a href="../index.html" class="title">如视 Five SDK</a><div id="tsd-toolbar-links"></div><button id="tsd-search-trigger" class="tsd-widget" aria-label="Search"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-search"></use></svg></button><dialog id="tsd-search" aria-label="Search"><input role="combobox" id="tsd-search-input" aria-controls="tsd-search-results" aria-autocomplete="list" aria-expanded="true" autocapitalize="off" autocomplete="off" placeholder="Search the docs" maxLength="100"/><ul role="listbox" id="tsd-search-results"></ul><div id="tsd-search-status" aria-live="polite" aria-atomic="true"><div>Preparing search index...</div></div></dialog><a href="#" class="tsd-widget menu" id="tsd-toolbar-menu-trigger" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb" aria-label="Breadcrumb"><li><a href="" aria-current="page">quick-start</a></li></ul></div><div class="tsd-panel tsd-typography"><h1 id="quick-start-快速开始" class="tsd-anchor-link">Quick Start (快速开始)<a href="#quick-start-快速开始" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h1>
|
|
2
|
+
<ul>
|
|
3
|
+
<li><strong>Summary</strong>: 本指南介绍如何安装 Five 并加载一个基础 VR 场景。</li>
|
|
4
|
+
</ul>
|
|
5
|
+
<h2 id="installation" class="tsd-anchor-link">Installation<a href="#installation" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h2>
|
|
6
|
+
<p>通过 npm 或 yarn 安装:</p>
|
|
7
|
+
<pre><code class="bash"><span class="hl-5">npm</span><span class="hl-1"> </span><span class="hl-9">install</span><span class="hl-1"> </span><span class="hl-9">three@^0.117.1</span><span class="hl-1"> </span><span class="hl-9">@realsee/five</span><br/><span class="hl-8"># or</span><br/><span class="hl-5">yarn</span><span class="hl-1"> </span><span class="hl-9">add</span><span class="hl-1"> </span><span class="hl-9">three@^0.117.1</span><span class="hl-1"> </span><span class="hl-9">@realsee/five</span>
|
|
8
|
+
</code><button type="button">Copy</button></pre>
|
|
9
|
+
|
|
10
|
+
<blockquote>
|
|
11
|
+
<p><strong>注意</strong>: Five 依赖 <code>three</code>,请确保安装了兼容的版本。</p>
|
|
12
|
+
</blockquote>
|
|
13
|
+
<h2 id="basic-usage" class="tsd-anchor-link">Basic Usage<a href="#basic-usage" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h2>
|
|
14
|
+
<p>初始化 Five 实例并加载 Work 数据:</p>
|
|
15
|
+
<pre><code class="typescript"><span class="hl-10">import</span><span class="hl-1"> { </span><span class="hl-6">Five</span><span class="hl-1">, </span><span class="hl-6">parseWork</span><span class="hl-1"> } </span><span class="hl-10">from</span><span class="hl-1"> </span><span class="hl-9">"@realsee/five"</span><span class="hl-1">;</span><br/><br/><span class="hl-8">// 1. 创建 Five 实例</span><br/><span class="hl-3">const</span><span class="hl-1"> </span><span class="hl-4">five</span><span class="hl-1"> = </span><span class="hl-3">new</span><span class="hl-1"> </span><span class="hl-5">Five</span><span class="hl-1">();</span><br/><br/><span class="hl-8">// 2. 挂载到 DOM</span><br/><span class="hl-3">const</span><span class="hl-1"> </span><span class="hl-4">app</span><span class="hl-1"> = </span><span class="hl-6">document</span><span class="hl-1">.</span><span class="hl-5">getElementById</span><span class="hl-1">(</span><span class="hl-9">'app'</span><span class="hl-1">);</span><br/><span class="hl-10">if</span><span class="hl-1"> (</span><span class="hl-6">app</span><span class="hl-1">) {</span><br/><span class="hl-1"> </span><span class="hl-8">// 设置容器全屏</span><br/><span class="hl-1"> </span><span class="hl-6">app</span><span class="hl-1">.</span><span class="hl-6">style</span><span class="hl-1">.</span><span class="hl-6">width</span><span class="hl-1"> = </span><span class="hl-9">'100vw'</span><span class="hl-1">;</span><br/><span class="hl-1"> </span><span class="hl-6">app</span><span class="hl-1">.</span><span class="hl-6">style</span><span class="hl-1">.</span><span class="hl-6">height</span><span class="hl-1"> = </span><span class="hl-9">'100vh'</span><span class="hl-1">;</span><br/><span class="hl-1"> </span><span class="hl-6">five</span><span class="hl-1">.</span><span class="hl-5">appendTo</span><span class="hl-1">(</span><span class="hl-6">app</span><span class="hl-1">);</span><br/><br/><span class="hl-1"> </span><span class="hl-8">// 监听窗口大小变化</span><br/><span class="hl-1"> </span><span class="hl-6">window</span><span class="hl-1">.</span><span class="hl-5">addEventListener</span><span class="hl-1">(</span><span class="hl-9">'resize'</span><span class="hl-1">, () </span><span class="hl-3">=></span><span class="hl-1"> </span><span class="hl-6">five</span><span class="hl-1">.</span><span class="hl-5">refresh</span><span class="hl-1">());</span><br/><span class="hl-1">}</span><br/><br/><span class="hl-8">// 3. 加载数据 (Work)</span><br/><span class="hl-8">// 这是一个公开测试数据</span><br/><span class="hl-3">const</span><span class="hl-1"> </span><span class="hl-4">workURL</span><span class="hl-1"> = </span><span class="hl-9">'https://raw.githubusercontent.com/realsee-developer/dnalogel/main/open-works/real/80o024DE2xyva3j5BE/work.json'</span><span class="hl-1">;</span><br/><br/><span class="hl-5">fetch</span><span class="hl-1">(</span><span class="hl-6">workURL</span><span class="hl-1">)</span><br/><span class="hl-1"> .</span><span class="hl-5">then</span><span class="hl-1">(</span><span class="hl-6">res</span><span class="hl-1"> </span><span class="hl-3">=></span><span class="hl-1"> </span><span class="hl-6">res</span><span class="hl-1">.</span><span class="hl-5">json</span><span class="hl-1">())</span><br/><span class="hl-1"> .</span><span class="hl-5">then</span><span class="hl-1">(</span><span class="hl-6">json</span><span class="hl-1"> </span><span class="hl-3">=></span><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-8">// 解析并加载</span><br/><span class="hl-1"> </span><span class="hl-3">const</span><span class="hl-1"> </span><span class="hl-4">work</span><span class="hl-1"> = </span><span class="hl-5">parseWork</span><span class="hl-1">(</span><span class="hl-6">json</span><span class="hl-1">);</span><br/><span class="hl-1"> </span><span class="hl-10">return</span><span class="hl-1"> </span><span class="hl-6">five</span><span class="hl-1">.</span><span class="hl-5">load</span><span class="hl-1">(</span><span class="hl-6">work</span><span class="hl-1">);</span><br/><span class="hl-1"> })</span><br/><span class="hl-1"> .</span><span class="hl-5">then</span><span class="hl-1">(() </span><span class="hl-3">=></span><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-6">console</span><span class="hl-1">.</span><span class="hl-5">log</span><span class="hl-1">(</span><span class="hl-9">"模型加载完成"</span><span class="hl-1">);</span><br/><span class="hl-1"> })</span><br/><span class="hl-1"> .</span><span class="hl-5">catch</span><span class="hl-1">(</span><span class="hl-6">err</span><span class="hl-1"> </span><span class="hl-3">=></span><span class="hl-1"> </span><span class="hl-6">console</span><span class="hl-1">.</span><span class="hl-5">error</span><span class="hl-1">(</span><span class="hl-6">err</span><span class="hl-1">));</span>
|
|
16
|
+
</code><button type="button">Copy</button></pre>
|
|
17
|
+
|
|
18
|
+
<h2 id="next-steps" class="tsd-anchor-link">Next Steps<a href="#next-steps" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h2>
|
|
19
|
+
<p>掌握基础用法后,您可以探索更多核心功能:</p>
|
|
20
|
+
<ul>
|
|
21
|
+
<li><strong>控制视角与移动</strong>: 了解如何通过代码控制相机。 -> <a href="features_five.html">Five.updateCamera</a> / <a href="features_state.html">State</a></li>
|
|
22
|
+
<li><strong>切换模态</strong>: 在全景、模型、平面图之间切换。 -> <a href="features_mode.html">Mode</a></li>
|
|
23
|
+
<li><strong>监听事件</strong>: 响应用户的点击和交互。 -> <a href="features_event.html">Event</a></li>
|
|
24
|
+
<li><strong>视觉调整</strong>: 修改材质参数或开启后处理效果。 -> <a href="features_material.html">Material</a> / <a href="features_postprocessing.html">Postprocessing</a></li>
|
|
25
|
+
<li><strong>自定义配置</strong>: 修改图片加载参数或渲染效果。 -> <a href="features_image-options.html">ImageOptions</a></li>
|
|
26
|
+
</ul>
|
|
27
|
+
<h2 id="related" class="tsd-anchor-link">Related<a href="#related" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h2>
|
|
28
|
+
<ul>
|
|
29
|
+
<li><a href="features_five.html">Five</a>: Five 类完整 API 说明。</li>
|
|
30
|
+
<li><a href="features_work.html">Work</a>: 了解 Work 数据结构。</li>
|
|
31
|
+
</ul>
|
|
32
|
+
</div></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg><h3>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div><details open class="tsd-accordion tsd-page-navigation"><summary class="tsd-accordion-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg><h3>On This Page</h3></summary><div class="tsd-accordion-details"><a href="#quick-start-快速开始"><span>Quick <wbr/>Start (快速开始)</span></a><ul><li><a href="#installation"><span>Installation</span></a></li><li><a href="#basic-usage"><span>Basic <wbr/>Usage</span></a></li><li><a href="#next-steps"><span>Next <wbr/>Steps</span></a></li><li><a href="#related"><span>Related</span></a></li></ul></div></details></div><div class="site-menu"><nav class="tsd-navigation"><a href="../modules.html">如视 Five SDK</a><ul class="tsd-small-nested-navigation" id="tsd-nav-container"><li>Loading...</li></ul></nav></div></div></div><footer><p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer><div class="overlay"></div></body></html>
|