@realsee/five 6.8.0-alpha.29 → 6.8.0-alpha.30

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.
Files changed (173) hide show
  1. package/AGENTS_READ_ME.md +6 -1
  2. package/AI_CONTEXT.md +6 -1
  3. package/README.md +10 -3
  4. package/ai_guides/README.md +28 -0
  5. package/ai_guides/api.md +74 -13
  6. package/ai_guides/features/3dtile.md +1 -1
  7. package/ai_guides/features/camera-animation.md +18 -1
  8. package/ai_guides/features/clipper.md +2 -2
  9. package/ai_guides/features/coordinate-system.md +20 -2
  10. package/ai_guides/features/event.md +3 -3
  11. package/ai_guides/features/five.md +17 -17
  12. package/ai_guides/features/flowing-light-2d-pass.md +1 -1
  13. package/ai_guides/features/flowing-light-3d-pass.md +1 -1
  14. package/ai_guides/features/gaussian-blur-pass.md +1 -1
  15. package/ai_guides/features/gesture.md +1 -1
  16. package/ai_guides/features/get-screen-pixels.md +2 -2
  17. package/ai_guides/features/image-options.md +2 -2
  18. package/ai_guides/features/load-external-model.md +4 -2
  19. package/ai_guides/features/load-progress.md +1 -1
  20. package/ai_guides/features/material.md +17 -11
  21. package/ai_guides/features/mode.md +1 -1
  22. package/ai_guides/features/model.md +1 -1
  23. package/ai_guides/features/move-pano-effect.md +1 -1
  24. package/ai_guides/features/multi-work.md +1 -1
  25. package/ai_guides/features/pano-filter.md +2 -1
  26. package/ai_guides/features/pano-tile.md +1 -1
  27. package/ai_guides/features/pano-uv.md +1 -1
  28. package/ai_guides/features/parameter.md +1 -1
  29. package/ai_guides/features/plugin.md +1 -1
  30. package/ai_guides/features/postprocessing.md +1 -1
  31. package/ai_guides/features/raycast.md +5 -2
  32. package/ai_guides/features/request-proxy.md +1 -1
  33. package/ai_guides/features/screen-project.md +2 -1
  34. package/ai_guides/features/state.md +21 -1
  35. package/ai_guides/features/view-layer.md +1 -1
  36. package/ai_guides/features/work.md +1 -1
  37. package/ai_guides/glossary.md +2 -2
  38. package/ai_guides/template.md +11 -0
  39. package/docs/00_FOR_AI_AGENTS.md +3 -2
  40. package/docs/README.md +3 -2
  41. package/docs/assets/hierarchy.js +1 -1
  42. package/docs/assets/search.js +1 -1
  43. package/docs/classes/five.AdaptiveLuminancePass.html +1 -1
  44. package/docs/classes/five.EyeDomeLightingPass.html +1 -1
  45. package/docs/classes/five.FivePass.html +1 -1
  46. package/docs/classes/five.Model.html +1 -1
  47. package/docs/classes/five.ModelScene.html +1 -1
  48. package/docs/classes/five.Parameter.html +1 -1
  49. package/docs/classes/five.Tile3D.html +1 -1
  50. package/docs/classes/five.Tileset.html +3 -2
  51. package/docs/classes/five.WorkResolvedObserver.html +1 -1
  52. package/docs/classes/gltf-loader.DDSLoader.html +1 -1
  53. package/docs/classes/gltf-loader.DRACOLoader.html +1 -1
  54. package/docs/classes/gltf-loader.GLTFObject.html +1 -1
  55. package/docs/classes/gltf-loader.THREEGLTFLoader.html +1 -1
  56. package/docs/classes/line.LineGeometry.html +1 -1
  57. package/docs/classes/line.LineMaterial.html +1 -1
  58. package/docs/classes/line.LineSegmentsGeometry.html +1 -1
  59. package/docs/classes/line.THREE_Line2.html +1 -1
  60. package/docs/classes/line.THREE_LineSegments2.html +1 -1
  61. package/docs/classes/plugins.CSS3DObject.html +1 -1
  62. package/docs/classes/plugins.CSS3DSprite.html +1 -1
  63. package/docs/classes/plugins.RoundedBoxGeometry.html +1 -1
  64. package/docs/classes/vfx.Airflow.html +1 -1
  65. package/docs/classes/vfx.Flame.html +1 -1
  66. package/docs/classes/vfx.Particle.html +1 -1
  67. package/docs/classes/vfx.ParticleGPU.html +1 -1
  68. package/docs/classes/vfx.SpotLight.html +1 -1
  69. package/docs/documents/README.html +121 -1
  70. package/docs/documents/api.html +101 -23
  71. package/docs/documents/features_3dtile.html +1 -1
  72. package/docs/documents/features_camera-animation.html +18 -2
  73. package/docs/documents/features_clipper.html +2 -2
  74. package/docs/documents/features_coordinate-system.html +52 -3
  75. package/docs/documents/features_event.html +3 -3
  76. package/docs/documents/features_five.html +17 -17
  77. package/docs/documents/features_flowing-light-2d-pass.html +1 -1
  78. package/docs/documents/features_flowing-light-3d-pass.html +1 -1
  79. package/docs/documents/features_gaussian-blur-pass.html +1 -1
  80. package/docs/documents/features_gesture.html +1 -1
  81. package/docs/documents/features_get-screen-pixels.html +2 -2
  82. package/docs/documents/features_image-options.html +2 -2
  83. package/docs/documents/features_load-external-model.html +4 -2
  84. package/docs/documents/features_load-progress.html +1 -1
  85. package/docs/documents/features_material.html +3 -3
  86. package/docs/documents/features_mode.html +1 -1
  87. package/docs/documents/features_model.html +1 -1
  88. package/docs/documents/features_move-pano-effect.html +1 -1
  89. package/docs/documents/features_multi-work.html +1 -1
  90. package/docs/documents/features_pano-filter.html +2 -1
  91. package/docs/documents/features_pano-tile.html +1 -1
  92. package/docs/documents/features_pano-uv.html +1 -1
  93. package/docs/documents/features_parameter.html +1 -1
  94. package/docs/documents/features_plugin.html +1 -1
  95. package/docs/documents/features_postprocessing.html +1 -1
  96. package/docs/documents/features_raycast.html +5 -2
  97. package/docs/documents/features_request-proxy.html +1 -1
  98. package/docs/documents/features_screen-project.html +2 -1
  99. package/docs/documents/features_state.html +8 -1
  100. package/docs/documents/features_view-layer.html +1 -1
  101. package/docs/documents/features_work.html +1 -1
  102. package/docs/documents/glossary.html +3 -3
  103. package/docs/documents/template.html +9 -0
  104. package/docs/hierarchy.html +1 -1
  105. package/docs/index.html +121 -1
  106. package/docs/interfaces/five.LooseWorkWithExtrinsics.html +1 -1
  107. package/docs/interfaces/five.ParameterMaterialValue.html +1 -1
  108. package/docs/interfaces/five.ParameterTilesetValue.html +1 -1
  109. package/docs/interfaces/five.ParameterValue.html +1 -1
  110. package/docs/interfaces/five.ResolvedParameterValue.html +1 -1
  111. package/docs/interfaces/five.ViewLayer.html +1 -1
  112. package/docs/interfaces/five.WorkCubeImage.html +1 -1
  113. package/docs/interfaces/five.WorkImage.html +1 -1
  114. package/docs/interfaces/five.WorkObserver.html +1 -1
  115. package/docs/interfaces/five.WorkObserverProto.html +1 -1
  116. package/docs/interfaces/five.WorkTile.html +1 -1
  117. package/docs/interfaces/plugins.BackgroundPluginController.html +1 -1
  118. package/docs/interfaces/plugins.BackgroundPluginType.EventMap.html +1 -1
  119. package/docs/interfaces/plugins.CSS3DPluginController.html +1 -1
  120. package/docs/interfaces/plugins.CSS3DPluginType.EventMap.html +1 -1
  121. package/docs/interfaces/plugins.CSS3DPluginType.State.html +1 -1
  122. package/docs/interfaces/plugins.DynamicPathLinePluginController.html +1 -1
  123. package/docs/interfaces/plugins.DynamicPathLinePluginType.EventMap.html +1 -1
  124. package/docs/interfaces/plugins.DynamicPathLinePluginType.State.html +1 -1
  125. package/docs/interfaces/plugins.GaussianSplattingEntranceAnimationController.html +1 -1
  126. package/docs/interfaces/plugins.GaussianSplattingEntranceAnimationPluginType.EventMap.html +1 -1
  127. package/docs/interfaces/plugins.GaussianSplattingEntranceAnimationPluginType.State.html +1 -1
  128. package/docs/interfaces/plugins.ItemMaskController.html +1 -1
  129. package/docs/interfaces/plugins.ItemMaskPluginType.EventMap.html +1 -1
  130. package/docs/interfaces/plugins.ItemMaskPluginType.State.html +1 -1
  131. package/docs/interfaces/plugins.OrientationPluginController.html +1 -1
  132. package/docs/interfaces/plugins.OrientationPluginType.EventMap.html +1 -1
  133. package/docs/interfaces/plugins.OrientationPluginType.State.html +1 -1
  134. package/docs/interfaces/plugins.PanoAnimeController.html +1 -1
  135. package/docs/interfaces/plugins.PanoAnimePluginType.EventMap.html +1 -1
  136. package/docs/interfaces/plugins.PanoAnimePluginType.State.html +1 -1
  137. package/docs/interfaces/plugins.PluginTemplateType.EventMap.html +1 -1
  138. package/docs/interfaces/plugins.PluginTemplateType.State.html +1 -1
  139. package/docs/interfaces/plugins.TrajectoryController.html +1 -1
  140. package/docs/interfaces/react.FiveInjectionTypes.html +1 -1
  141. package/docs/types/five.ParseOptions.html +1 -1
  142. package/five/index.js +5 -5
  143. package/five/index.mjs +9 -9
  144. package/five/model/tile3d/tileset.d.ts +1 -0
  145. package/gltf-loader/index.js +3 -3
  146. package/gltf-loader/index.mjs +3 -3
  147. package/line/index.js +3 -3
  148. package/line/index.mjs +3 -3
  149. package/llms.txt +36 -1
  150. package/package.json +3 -3
  151. package/plugins/index.js +2 -2
  152. package/plugins/index.mjs +2 -2
  153. package/react/index.js +2 -2
  154. package/react/index.mjs +2 -2
  155. package/shader-lib/index.js +2 -2
  156. package/shader-lib/index.mjs +2 -2
  157. package/sticker/index.js +3 -3
  158. package/sticker/index.mjs +3 -3
  159. package/umd/five-gltf-loader.js +3 -3
  160. package/umd/five-line.js +3 -3
  161. package/umd/five-plugins.js +2 -2
  162. package/umd/five-react.js +2 -2
  163. package/umd/five-shader-lib.js +2 -2
  164. package/umd/five-sticker.js +3 -3
  165. package/umd/five-vfx.js +2 -2
  166. package/umd/five-vue.js +2 -2
  167. package/umd/five.js +5 -5
  168. package/vfx/index.js +2 -2
  169. package/vfx/index.mjs +2 -2
  170. package/vue/index.js +2 -2
  171. package/vue/index.mjs +2 -2
  172. package/work-downloader/index.js +2 -2
  173. package/work-downloader/index.mjs +2 -2
package/AGENTS_READ_ME.md CHANGED
@@ -1,4 +1,9 @@
1
1
  # AI_CONTEXT
2
2
  You are an AI assistant.
3
3
  This package contains comprehensive local documentation.
4
- DO NOT search the web for documentation. Instead, read the markdown files in the `./ai_guides` directory. Start with `./ai_guides/README.md`
4
+ DO NOT search the web for documentation.
5
+
6
+ **START HERE → Read [llms.txt](./llms.txt)** for a context-optimized index with scenario-based lookup and keyword tags.
7
+
8
+ For the full documentation map, see [ai_guides/README.md](./ai_guides/README.md).
9
+ Do NOT use the `docs/` directory (auto-generated HTML).
package/AI_CONTEXT.md CHANGED
@@ -1,4 +1,9 @@
1
1
  # AI_CONTEXT
2
2
  You are an AI assistant.
3
3
  This package contains comprehensive local documentation.
4
- DO NOT search the web for documentation. Instead, read the markdown files in the `./ai_guides` directory. Start with `./ai_guides/README.md`
4
+ DO NOT search the web for documentation.
5
+
6
+ **START HERE → Read [llms.txt](./llms.txt)** for a context-optimized index with scenario-based lookup and keyword tags.
7
+
8
+ For the full documentation map, see [ai_guides/README.md](./ai_guides/README.md).
9
+ Do NOT use the `docs/` directory (auto-generated HTML).
package/README.md CHANGED
@@ -5,8 +5,14 @@
5
5
  贝壳如视三维渲染框架
6
6
 
7
7
  > **🤖 For AI Assistants (Copilot, Cursor, etc.):**
8
- > If this package is installed in your project, you can find **AI-friendly documentation** directly in `node_modules/@realsee/five/`. Please **READ** `node_modules/@realsee/five/ai_guides/README.md` as your primary source of truth. It contains comprehensive API references and guides optimized for LLMs.
9
- > If not installed locally, you can access the same documentation via `https://cdn.jsdelivr.net/npm/@realsee/five@alpha/ai_guides/README.md` or `https://unpkg.com/@realsee/five@alpha/ai_guides/README.md`.
8
+ > **START HERE Read [llms.txt](./llms.txt)** for a context-optimized documentation index with scenario-based lookup.
9
+ > For the full documentation map, see [ai_guides/README.md](./ai_guides/README.md).
10
+ > Do NOT use `docs/` directory (auto-generated HTML, redundant and hard to parse).
11
+ >
12
+ > If this package is installed locally, read `node_modules/@realsee/five/llms.txt` directly.
13
+ > If not installed, use a CDN mirror:
14
+ > - `https://cdn.jsdelivr.net/npm/@realsee/five@latest/llms.txt`
15
+ > - `https://unpkg.com/@realsee/five@latest/llms.txt`
10
16
  ## Introduction
11
17
 
12
18
  **Five** 是 [贝壳如视(realsee.com)](https://realsee.com) 提供的在浏览器中运行的三维空间渲染 Javascript SDK。基于 [Three.js](https://threejs.org/) 开发,帮助开发者在浏览器中构建高质量的 VR 看房与空间交互应用。
@@ -66,7 +72,8 @@ For comprehensive guides and API references, please refer to the documentation i
66
72
 
67
73
  **⚠️ Note for AI Agents:**
68
74
 
69
- * **For a context-optimized index, read [llms.txt](./llms.txt).**
75
+ * **START HERE [llms.txt](./llms.txt)** — context-optimized index with scenario → doc mapping and keyword tags.
76
+ * If you need the full documentation map, read [ai_guides/README.md](ai_guides/README.md).
70
77
 
71
78
  **Do's (推荐):**
72
79
  * **Do** Read [Intro](ai_guides/intro.md) first to understand the high-level architecture.
@@ -108,6 +108,34 @@
108
108
  * [6.7](./release_notes/6.7.md)
109
109
  * [6.6](./release_notes/6.6.md)
110
110
 
111
+ ## Common Scenarios (场景 → 文档速查)
112
+
113
+ > **Keyword Search Tip:** Each doc in `features/` has a `tags` yaml block at the bottom with Chinese and English keywords. Use these for keyword matching when the scenario table below doesn't cover your need.
114
+
115
+ | Scenario | Docs | Tags |
116
+ | :--- | :--- | :--- |
117
+ | 点击拾取物体 / Object picking | [Raycast](./features/raycast.md) | click, hit-test, floor-detection, 碰撞检测, 物体选择 |
118
+ | 3D 标签 / HTML overlay on 3D point | [Screen Project](./features/screen-project.md) | label, HUD, tooltip, 坐标转换, 3D转2D |
119
+ | 全景滤镜 / 色温调节 / Color correction | [Pano Filter](./features/pano-filter.md) | warm, cool, brightness, contrast, saturation, 暖色, 冷色, 饱和度 |
120
+ | 加载外部 GLTF/OBJ/FBX 模型 | [Load External Model](./features/load-external-model.md) | gltf, glb, ply, splat, fbx, draco, point-cloud, dispose |
121
+ | 相机巡航 / 自动导览 / Camera fly-through | [Camera Animation](./features/camera-animation.md) | rotate, zoom, auto-tour, 运镜, 旋转, 缩放 |
122
+ | 截图 / 放大镜 / Screen capture | [Get Screen Pixels](./features/get-screen-pixels.md) | magnifier, screenshot, color-picker, 取色器 |
123
+ | 模型裁切 / 房屋剖面 | [Clipper](./features/clipper.md) | clipping-box, section-view, discard, 开盖, 剖面 |
124
+ | 流光特效 / Flowing light effect | [Flowing Light 2D](./features/flowing-light-2d-pass.md), [Flowing Light 3D](./features/flowing-light-3d-pass.md) | 光带, 导航路径, 动态路径, instanced |
125
+ | 模糊特效 / Blur effect | [Gaussian Blur Pass](./features/gaussian-blur-pass.md) | 毛玻璃, 背景虚化, gaussian |
126
+ | 保存/恢复场景状态 | [State](./features/state.md) | snapshot, save, restore, 快照, 场景还原 |
127
+ | 多场景切换 / 沙盘 | [Multi-Work](./features/multi-work.md) | sandbox, 多户型, 拼接, workCode |
128
+ | 请求鉴权 / CDN 替换 | [Request Proxy](./features/request-proxy.md) | authentication, token, url-rewrite, cors, 私有化 |
129
+ | 插件开发 | [Plugin](./features/plugin.md) | lifecycle, extension, baseplugin, 状态管理 |
130
+ | 事件监听 / 拦截默认行为 | [Event](./features/event.md) | preventDefault, waitUntil, on, off, gesture, 回调 |
131
+ | 手势交互 / 自定义拖拽 | [Gesture](./features/gesture.md) | tap, pan, pinch, press, 触摸, 鼠标 |
132
+ | 后处理特效 / 自定义 Shader | [Postprocessing](./features/postprocessing.md) | effect-composer, addPass, edl, 描边, 景深 |
133
+ | 材质 / 透明度 / 点云样式 | [Material](./features/material.md) | opacity, pointcloud, roof, ceiling, 天花板, 顶点标记 |
134
+ | 模式切换 / 全景↔模型↔户型图 | [Mode](./features/mode.md) | panorama, floorplan, mapview, topview, VR |
135
+ | 全景高清瓦片 / 分片加载 | [Pano Tile](./features/pano-tile.md) | LOD, tile, 按需加载, 高清全景 |
136
+ | 图片 CDN / 私有化部署 | [Image Options](./features/image-options.md) | avif, webp, cdn, private-deployment |
137
+ | 加载进度 / 首屏优化 | [Load Progress](./features/load-progress.md) | refined, loaded, loading-bar, 首屏 |
138
+
111
139
  ## Terminology Summary
112
140
 
113
141
  * **Work**: 包含全景图、模型、户型数据的 JSON 对象。
package/ai_guides/api.md CHANGED
@@ -67,6 +67,9 @@ interface FiveInitArgs {
67
67
  /** Mode transition duration in ms. Default: 1000 */
68
68
  modeChangeDuration?: number;
69
69
 
70
+ /** Enable mouse wheel zoom. Default: true */
71
+ enableWheel?: boolean;
72
+
70
73
  /** Initial plugins to load. */
71
74
  plugins?: FivePlugin[];
72
75
 
@@ -75,9 +78,24 @@ interface FiveInitArgs {
75
78
 
76
79
  /** Dynamic texture configuration for optimization. */
77
80
  textureOptions?: TextureOptions;
81
+
82
+ /** Request URL interceptor for auth/CDN. */
83
+ requestProxy?: (url: string) => string | Promise<string>;
84
+
85
+ /** Per-mode configuration (panorama, mapview, floorplan, topview, model). */
86
+ panorama?: PanoramaConfig;
87
+ mapview?: MapviewConfig;
88
+ floorplan?: FloorplanConfig;
89
+ topview?: TopviewConfig;
90
+ model?: ModelConfig;
78
91
  }
79
92
  ```
80
93
 
94
+ > 详细的模式配置参数见 [Mode](./features/mode.md#configuration)。
95
+ > 图片加载策略见 [ImageOptions](./features/image-options.md)。
96
+ > 请求代理见 [Request Proxy](./features/request-proxy.md)。
97
+ > 完整初始化参数见 [Five](./features/five.md) 和 [Parameter](./features/parameter.md)。
98
+
81
99
  ## Core Methods
82
100
 
83
101
  ### `load(work, state?, options?)`
@@ -85,7 +103,9 @@ Loads a "Work" (dataset) into the Five instance.
85
103
 
86
104
  - **work**: The data object (`LooseWork` or `Work`) containing scene information.
87
105
  - **state**: Initial state overrides. `"inherit"`, `"initial"`, or a `State` object.
88
- - **options**: Loading options (e.g., transition duration).
106
+ - **options**: Loading options (e.g., transition duration, `mode: "add" | "replace"`).
107
+
108
+ > 详见 [Work](./features/work.md) 和 [Multi-Work](./features/multi-work.md)。
89
109
 
90
110
  ### `appendTo(element, size?)`
91
111
  Mounts the Five canvas to a DOM element.
@@ -100,6 +120,8 @@ Updates the current state (position, mode, etc.).
100
120
  - **immediately**: If `true`, skips animation.
101
121
  - **userAction**: Marks the change as triggered by user interaction.
102
122
 
123
+ > 详见 [State](./features/state.md)。
124
+
103
125
  ### `changeMode(mode, state?, options?)`
104
126
  Switches the viewing mode (e.g., from `Panorama` to `Model`).
105
127
 
@@ -107,11 +129,29 @@ Switches the viewing mode (e.g., from `Panorama` to `Model`).
107
129
  - **state**: Target state after mode change.
108
130
  - **options**: Animation duration and effect.
109
131
 
132
+ > 详见 [Mode](./features/mode.md)。
133
+
110
134
  ### `moveToPano(panoIndex, options?)`
111
135
  Moves to a specific panorama spot.
112
136
 
113
137
  - **panoIndex**: Index of the panorama.
114
- - **options**: `{ effect?: MovePanoEffect, duration?: number }`.
138
+ - **options**: `{ effect?: MovePanoEffect, duration?: number, effectEasing?: Function }`.
139
+
140
+ > 详见 [Move Pano Effect](./features/move-pano-effect.md) 和 [Camera Animation](./features/camera-animation.md)。
141
+
142
+ ### `updateCamera(pose, duration, userAction?)`
143
+ Animates the camera to a target pose without changing pano index.
144
+
145
+ - **pose**: Partial `Pose` object (longitude, latitude, fov, etc.).
146
+ - **duration**: Animation duration in ms.
147
+ - **returns**: `Promise<void>` (rejects if interrupted).
148
+
149
+ > 详见 [Camera Animation](./features/camera-animation.md)。
150
+
151
+ ### `ready(args?)`
152
+ Returns a Promise that resolves when Five is stable (state synced, model loaded, optionally tiles loaded).
153
+
154
+ - **args**: `{ tile?: boolean }` — if `tile: true` in Panorama mode, waits for tile loading.
115
155
 
116
156
  ### `refresh(size?)`
117
157
  Resizes the renderer to fit the container or specified size.
@@ -126,28 +166,35 @@ Projects a 3D point to 2D screen coordinates.
126
166
  - **testModel**: `boolean` (default `false`). If `true`, checks for occlusion.
127
167
  - **returns**: `THREE.Vector2` (Screen Space, px) or `null`.
128
168
 
129
- ### `getPixels(x, y, width, height)`
169
+ > 详见 [Screen & Space Projection](./features/screen-project.md)
170
+
171
+ ### `getPixels(options)`
130
172
  Get pixel data from the renderer (e.g. for color picking or magnifier).
131
173
 
132
- - **x, y**: Coordinate of the lower-left corner (Screen Space).
133
- - **width, height**: Size of the rectangle.
174
+ - **options**: `{ x, y, width, height, pixelRatio?, flipY?, buffer?, skipPanorama?, helperVisible? }`
134
175
  - **returns**: `Uint8Array` (RGBA data).
135
176
 
177
+ > 详见 [Get Screen Pixels](./features/get-screen-pixels.md)。
178
+
136
179
  ### `intersectRaycaster(raycaster)`
137
180
  (On `five.model`) Performs raycasting against the scene models.
138
181
 
139
- - **raycaster**: `THREE.Raycaster`.
140
- - **returns**: `THREE.Intersection[]`.
182
+ - **raycaster**: `THREE.Raycaster` (supports extended props: `firstHitOnly`, `hitFilter`, `sortByDistance`, `floorIndex`).
183
+ - **returns**: `THREE.Intersection[]` (extended with `tile`, `viewLayer`, `model` fields).
184
+
185
+ > 详见 [Raycast](./features/raycast.md)。
141
186
 
142
- ### `addPass(pass)`
143
- Add a post-processing pass to the rendering chain.
187
+ ### `addPass(pass)` / `removePass(pass)`
188
+ Add or remove a post-processing pass to/from the rendering chain.
144
189
 
145
- - **pass**: `FivePass` instance (e.g. `Gaussian Blur Pass`).
190
+ - **pass**: `FivePass` instance (e.g. `GaussianBlurPass`, `FlowingLight2DPass`).
146
191
 
147
- ### `removePass(pass)`
148
- Remove a post-processing pass from the rendering chain.
192
+ > 详见 [Postprocessing](./features/postprocessing.md)
149
193
 
150
- - **pass**: `FivePass` instance to remove.
194
+ ### `updateConfiguration(config)`
195
+ Dynamically update mode configurations after initialization (e.g., panorama, mapview settings).
196
+
197
+ > 详见 [Mode](./features/mode.md#动态修改配置-update-configuration)。
151
198
 
152
199
  ### `dispose()`
153
200
  Destroys the Five instance and releases resources.
@@ -171,6 +218,8 @@ interface State {
171
218
 
172
219
  ## Data Structures
173
220
 
221
+ > 以下为核心数据结构摘要。完整定义见 [Work](./features/work.md)、[State](./features/state.md)、[Model](./features/model.md)。
222
+
174
223
  ### `Work`
175
224
  The main data object containing the scene description.
176
225
 
@@ -234,6 +283,8 @@ These events follow a standard naming convention and provide typed event objects
234
283
  | `gesture.momentum` | Triggered on inertia movement after pan. | `GestureEvent` |
235
284
  | `gesture.fire` | Triggered when any gesture event fires. | `GestureEvent` |
236
285
 
286
+ > 手势事件详解及不同 Mode 下的默认行为见 [Gesture](./features/gesture.md)。
287
+
237
288
  #### State & Mode
238
289
 
239
290
  | Event Name | Description | Payload |
@@ -242,6 +293,8 @@ These events follow a standard naming convention and provide typed event objects
242
293
  | `state.change` | Triggered when state changes (frequent). | `StateEvent` |
243
294
  | `camera.update` | Triggered when camera pose updates. | `CameraEvent` |
244
295
 
296
+ > 状态管理详见 [State](./features/state.md),模式切换详见 [Mode](./features/mode.md)。
297
+
245
298
  #### Lifecycle & Resources
246
299
 
247
300
  | Event Name | Description | Payload |
@@ -249,8 +302,12 @@ These events follow a standard naming convention and provide typed event objects
249
302
  | `works.load` | Triggered when work data starts loading. | `WorksEvent` |
250
303
  | `works.ready` | Triggered when work data is loaded and controller is ready. | `WorksEvent` |
251
304
  | `models.load` | Triggered when models are loaded. | `ModelSceneEvent` |
305
+ | `models.refined` | Triggered when all models finish texture refinement. | `ModelSceneEvent` |
306
+ | `model.load` | Triggered when a single model geometry is loaded. | `ModelEvent` |
252
307
  | `model.tileLoad` | Triggered when a 3D tile is loaded. | `ModelTileEvent` |
253
308
  | `model.tileUnload` | Triggered when a 3D tile is unloaded. | `ModelTileEvent` |
309
+ | `model.changeShownFloor` | Triggered when floor visibility changes. | `ModelEvent` |
310
+ | `model.error` | Triggered when model loading fails. | `ModelErrorEvent` |
254
311
  | `pano.prepare` | Triggered before switching to a new pano. `ExtendableEvent`, supports `waitUntil`. | `PanoPrepareEvent` |
255
312
  | `pano.arrived` | Triggered when arrival at a panorama node. | `PanoEvent` |
256
313
  | `pano.moving` | Triggered during pano transition animation. | `PanoEvent` |
@@ -260,6 +317,10 @@ These events follow a standard naming convention and provide typed event objects
260
317
  | `render.prepare` | Triggered before each render frame. | `RenderEvent` |
261
318
  | `error` | Triggered on internal errors. | `Error` |
262
319
 
320
+ > 事件系统详解见 [Event](./features/event.md)。手势事件详解见 [Gesture](./features/gesture.md)。
321
+ > `pano.prepare` 的 `waitUntil` / `preventDefault` 用法见 [Event - Event 对象](./features/event.md#event-对象)。
322
+ > 模型生命周期事件见 [Model](./features/model.md#events) 和 [Load Progress](./features/load-progress.md)。
323
+
263
324
  ### Legacy Events (Deprecated)
264
325
 
265
326
  Older events are still supported for compatibility but should be avoided in new code.
@@ -168,5 +168,5 @@ console.log((tileset as any).cacheMemoryUsageInBytes / 1024 / 1024 + ' MB');
168
168
  ---
169
169
 
170
170
  ```yaml
171
- tags: [3dtile, viewLayer, performance, lod, optimization]
171
+ tags: [大场景, 瓦片, 显存, 画质, 性能优化, 流式加载, 3dtile, viewLayer, performance, lod, optimization, tile-loading, memory, sse, screen-space-error]
172
172
  ```
@@ -80,6 +80,21 @@ five.moveToPano(panoIndex: number, options?: MovePanoOptions): Promise<void>
80
80
  five.changeMode(mode: Mode, options?, animationOptions?): Promise<void>
81
81
  ```
82
82
 
83
+ ### 4. updateCamera
84
+
85
+ 在不切换全景点位的情况下,将相机平滑动画到目标位姿。适用于"定点环顾"或"聚焦某个方向"等场景。
86
+
87
+ ```typescript
88
+ five.updateCamera(pose: Partial<Pose>, duration: number, userAction?: boolean): Promise<void>
89
+ ```
90
+
91
+ * `pose`: 目标位姿 (longitude, latitude, fov, offset, distance 等)。
92
+ * `duration`: 动画时长 (ms)。
93
+ * `userAction`: 是否标记为用户触发。
94
+ * **返回**: `Promise<void>`,动画完成时 resolve,被打断时 reject。
95
+
96
+ > 与 `setState` 的区别:`updateCamera` 返回 Promise,可以精确等待动画结束;`setState` 是 fire-and-forget 风格。
97
+
83
98
  ## Concepts
84
99
 
85
100
  ### Pose (位姿)
@@ -197,9 +212,11 @@ function wait(ms: number) {
197
212
  * [Five](./five.md): Five 核心类及 `setState` 方法。
198
213
  * [Mode](./mode.md): 各种交互模式说明。
199
214
  * [State](./state.md): 状态对象的完整定义。
215
+ * [Move Pano Effect](./move-pano-effect.md): 全景点位切换的过渡效果配置。
216
+ * [Coordinate System](./coordinate-system.md): 坐标系定义,理解 longitude/latitude 的含义。
200
217
 
201
218
  ---
202
219
 
203
220
  ```yaml
204
- tags: [camera-animation, pose, state]
221
+ tags: [巡航, 动画, 旋转, 缩放, 运镜, 导览, camera-animation, pose, state, auto-tour, fly-through, rotate, zoom, transition]
205
222
  ```
@@ -126,10 +126,10 @@ function updateClipper(mesh: THREE.Mesh) {
126
126
 
127
127
  ## Related
128
128
 
129
- * [model.md](./model.md): 模型模块概览。
129
+ * [Model](./model.md): 模型模块概览。
130
130
 
131
131
  ---
132
132
 
133
133
  ```yaml
134
- tags: [clipper, model, cut, discard, geometry]
134
+ tags: [裁切, 剖面, 隐藏部分模型, 开盖, 房屋剖面, clipper, model, cut, discard, geometry, clipping-box, section-view]
135
135
  ```
@@ -39,6 +39,22 @@ interface Coordinate {
39
39
 
40
40
  ## Concepts
41
41
 
42
+ ### Overview (坐标系总览)
43
+
44
+ Five 中涉及多个坐标系,它们在不同场景下各有用途。理解它们的关系是正确使用 Five 的关键。
45
+
46
+ | 坐标系 | 上轴 | 适用场景 | 说明 |
47
+ | :--- | :--- | :--- | :--- |
48
+ | **Local (Y-up)** | Y | 渲染场景、前端开发 | Five 的 `five.scene`、Observer 位置、`project2d` 等均使用此坐标系。与 Three.js 默认一致。 |
49
+ | **ENU (Z-up)** | Z | 算法交互、后端接口、模型原始数据 | 测绘行业习惯。3D Tiles 数据源、`loadGltf` 等加载器默认输出 Z-up。 |
50
+ | **ECEF** | - | RTK 定位、地球坐标 | 地心地固坐标系,用于包含 RTK 信息的模型。 |
51
+ | **World** | Y | Three.js 世界坐标 | 通常等同于 Local,除非有 Object3D 层级嵌套偏移。 |
52
+
53
+ > **关键区分**:
54
+ > - **开发者在 `five.scene` 中操作的所有对象**(添加标签、射线检测结果、`project2d` 输入等)都处于 **Local (Y-up)** 坐标系。
55
+ > - **模型数据源**(3D Tiles、PLY、GLTF 等文件)通常以 **ENU (Z-up)** 存储。Five 在加载时会自动将其旋转对齐到 Local (Y-up)。
56
+ > - **与后端/算法交互**时,推荐使用 **ENU (Z-up)** 坐标系传输数据,通过 `viewLayer.localToEnu()` / `viewLayer.enuToLocal()` 进行转换。
57
+
42
58
  ### Local Coordinate System (Y-up)
43
59
  Five 的渲染场景 (`five.scene`) 和 Observers (观察点) 使用 **Y-up** (Y 轴向上) 的右手坐标系。
44
60
  这与 Three.js 的默认坐标系一致,便于前端开发和场景渲染。
@@ -64,6 +80,8 @@ Five 的渲染场景 (`five.scene`) 和 Observers (观察点) 使用 **Y-up** (Y
64
80
  3. **自动对齐**: Five 加载模型时(load 方法),会自动处理旋转和坐标系转换,将其对齐到 Five 的 Local (Y-up) 坐标系中。
65
81
  - 开发者在 `five.scene` 中看到的所有模型都已处于统一的 Y-up 坐标系下。
66
82
 
83
+ > **注意**: 外部模型加载函数(如 `loadGltf`, `loadPly` 等)的 `upAxis` 参数默认为 `'Z'`,表示输出的模型以 Z-up 存储。这是因为这些函数返回的是**原始模型对象**,尚未经过 Five 的自动对齐。当你通过 `five.load(work)` 加载 Work 数据时,Five 会自动完成 Z-up → Y-up 的转换。如果你手动使用 `loadGltf` 并添加到 `five.scene`,需要自行处理坐标系旋转。详见 [Load External Model](./load-external-model.md)。
84
+
67
85
  ### Coordinate in Files
68
86
  在 3D Tiles 的 `tileset.json` 中,`rootMeta` 字段用于描述坐标系转换信息(没有该字段则默认 Z-up):
69
87
  - 包含 `pose_ecef_to_enu` 和 `pose_enu_to_ecef` 变换矩阵。
@@ -119,10 +137,10 @@ const displayPosition = viewLayer.ecefToLocal(ecefPosition.clone());
119
137
 
120
138
  ## Related
121
139
 
122
- * [load-external-model.md](./load-external-model.md): 加载外部模型时的坐标轴配置 (`upAxis`, `modelUpAxis`)。
140
+ * [Load External Model](./load-external-model.md): 加载外部模型时的坐标轴配置 (`upAxis`, `modelUpAxis`)。
123
141
 
124
142
  ---
125
143
 
126
144
  ```yaml
127
- tags: [coordinate-system, enu, ecef, z-up, y-up, transform]
145
+ tags: [坐标系, 坐标转换, 右手坐标系, 模型方向, 旋转, 地理坐标, coordinate-system, enu, ecef, z-up, y-up, transform, local, world, rtk]
128
146
  ```
@@ -240,11 +240,11 @@ five.on("render", onRender);
240
240
 
241
241
  ## Related
242
242
 
243
- - [state.md](./state.md): 了解 State 的结构与变更机制。
244
- - [five.md](./five.md): Five 核心类说明。
243
+ - [State](./state.md): 了解 State 的结构与变更机制。
244
+ - [Five](./five.md): Five 核心类说明。
245
245
 
246
246
  ---
247
247
 
248
248
  ```yaml
249
- tags: [events, interaction, lifecycle, gesture, state, preventDefault, waitUntil]
249
+ tags: [事件监听, 点击, 拖拽, 加载完成, 渲染回调, 生命周期, 回调, events, interaction, lifecycle, gesture, state, preventDefault, waitUntil, on, off, subscribe]
250
250
  ```
@@ -67,7 +67,7 @@ Five 内部维护了一个 `requestAnimationFrame` 循环。
67
67
 
68
68
  | 参数 | 类型 | 默认值 | 说明 |
69
69
  | :--- | :--- | :--- | :--- |
70
- | `imageOptions` | `ImageOptions` | `{}` | 图片加载策略,详见 [image-options.md](./image-options.md) |
70
+ | `imageOptions` | `ImageOptions` | `{}` | 图片加载策略,详见 [Image Options](./image-options.md) |
71
71
  | `textureOptions` | `TextureOptions` | `{}` | 贴图加载策略,同上 |
72
72
  | `onlyRenderIfNeeds` | `boolean` | `true` | 是否仅在需要时渲染,建议保持 `true` |
73
73
  | `antialias` | `boolean` | `false` | 抗锯齿,开启会增加性能消耗 |
@@ -144,41 +144,41 @@ five.updateCameraWithKeyframes(keyframes, 2000).then(() => {
144
144
 
145
145
  ### 实例属性 (Instance Properties)
146
146
 
147
- - **`work`**: 当前加载的 Work 数据(主 Work)。详见 [work.md](./work.md)。
148
- - **`works`**: 当前加载的所有 Work 数据列表。详见 [work.md](./work.md)。
149
- - **`model`**: 当前加载的 Model 数据(主 Model)。详见 [model.md](./model.md)。
150
- - **`models`**: 当前加载的所有 Model 数据列表。详见 [model.md](./model.md)。
147
+ - **`work`**: 当前加载的 Work 数据(主 Work)。详见 [Work](./work.md)。
148
+ - **`works`**: 当前加载的所有 Work 数据列表。详见 [Work](./work.md)。
149
+ - **`model`**: 当前加载的 Model 数据(主 Model)。详见 [Model](./model.md)。
150
+ - **`models`**: 当前加载的所有 Model 数据列表。详见 [Model](./model.md)。
151
151
 
152
152
  ### 实例方法 (Instance Methods)
153
153
 
154
154
  - **`appendTo(element: HTMLElement)`**: 将 canvas 挂载到指定 DOM 元素。
155
- - **`load(work: Work, state?: State, duration?: number)`**: 加载场景数据。详见 [work.md](./work.md)。
155
+ - **`load(work: Work, state?: State, duration?: number)`**: 加载场景数据。详见 [Work](./work.md)。
156
156
  - **`dispose()`**: 销毁实例,释放 WebGL 上下文与内存。
157
157
  - **`updateCamera(pose: Partial<Pose>, duration: number, userAction?: boolean)`**: 移动相机(不触发点位移动)。移动相机的视角或位置,不会改变当前所在的 PanoIndex。如果动画中途被打断,Promise 会被 reject。
158
158
  - **`updateCameraWithKeyframes(keyframes: { progress: number; value: Pose; key?: string }[], duration: number, userAction?: boolean)`**: 通过关键帧动画移动相机。
159
159
  - **`refresh()`**: 强制刷新画布尺寸。通常在窗口 resize 时调用,Five 会自动监听 resize,但在某些布局变化场景下可能需要手动调用。
160
160
  - **`getPixels(x, y, width, height, ...)` / `getPixels(options)`**: 获取画布指定区域的像素数据。常用于截图、生成缩略图或颜色拾取。支持配置区域、像素比 (pixelRatio)、Y轴翻转 (flipY) 及是否忽略全景图 (skipPanorama) 等。
161
- - **`project2d(vector: THREE.Vector3, testModel?: boolean): THREE.Vector2 | null`**: 计算三维坐标对应到屏幕的二维坐标。如果坐标在视野外或被遮挡(开启 testModel 时),返回 null。详见 [screen-project.md](./screen-project.md)。
161
+ - **`project2d(vector: THREE.Vector3, testModel?: boolean): THREE.Vector2 | null`**: 计算三维坐标对应到屏幕的二维坐标。如果坐标在视野外或被遮挡(开启 testModel 时),返回 null。详见 [Screen Project](./screen-project.md)。
162
162
  - **`ready(args?: { tile?: boolean })`**: Promise,当 Five 状态稳定时 resolve。
163
163
  - **Resolve 时机**:
164
164
  1. **状态同步**:相机姿态已通过动画过渡到目标状态(`stateSynced` 为 true)。
165
165
  2. **模型加载**:如果是 Floorplan/Topview/Mapview/Model 模态,需等待模型加载完成 (`modelScene.loaded`)。
166
166
  3. **瓦片加载**:如果是 Panorama 模态且传入了 `{ tile: true }`,需等待当前视角的瓦片加载完成。
167
- - **`setState(state: Partial<State>, options?: ChangeStateOptions)`**: 变更当前状态(如点位、视角)。详见 [state.md](./state.md)。
168
- - **`on(event, callback)` / `off(event, callback)`**: 事件监听。详见 [event.md](./event.md)。
167
+ - **`setState(state: Partial<State>, options?: ChangeStateOptions)`**: 变更当前状态(如点位、视角)。详见 [State](./state.md)。
168
+ - **`on(event, callback)` / `off(event, callback)`**: 事件监听。详见 [Event](./event.md)。
169
169
 
170
170
  ## Related
171
171
 
172
- * [work.md](./work.md): Work 数据结构说明。
173
- * [model.md](./model.md): Model 数据结构说明。
174
- * [state.md](./state.md): 状态管理详解。
175
- * [event.md](./event.md): 事件系统说明。
176
- * [image-options.md](./image-options.md): 图片加载配置。
177
- * [mode.md](./mode.md): 模态切换说明。
178
- * [parameter.md](./parameter.md): 其他核心参数。
172
+ * [Work](./work.md): Work 数据结构说明。
173
+ * [Model](./model.md): Model 数据结构说明。
174
+ * [State](./state.md): 状态管理详解。
175
+ * [Event](./event.md): 事件系统说明。
176
+ * [Image Options](./image-options.md): 图片加载配置。
177
+ * [Mode](./mode.md): 模态切换说明。
178
+ * [Parameter](./parameter.md): 其他核心参数。
179
179
 
180
180
  ---
181
181
 
182
182
  ```yaml
183
- tags: [five, initialization, core, instance, lifecycle]
183
+ tags: [初始化, 创建实例, 渲染器, 销毁, 入口, 构造函数, five, initialization, core, instance, lifecycle, canvas, appendTo, dispose]
184
184
  ```
@@ -439,4 +439,4 @@ setInterval(() => {
439
439
  ---
440
440
 
441
441
 
442
- tags: [postprocessing, effect, flowing, light, pass, rendering, screenspace, instanced, performance]
442
+ tags: [流光, 光带, 导航路径, 指示线, 动态路径, 特效, postprocessing, effect, flowing, light, pass, rendering, screenspace, instanced, performance, 2d, screen-space]
@@ -422,4 +422,4 @@ setInterval(() => {
422
422
  ---
423
423
 
424
424
 
425
- tags: [postprocessing, effect, flowing, light, pass, rendering, worldspace, projection, instanced, performance]
425
+ tags: [流光, 光带, 空间轨迹, 模型表面, 特效, postprocessing, effect, flowing, light, pass, rendering, worldspace, projection, instanced, performance, 3d, world-space]
@@ -198,5 +198,5 @@ console.log('Resolution:', blurPass['material'].uniforms.resolution.value);
198
198
  ---
199
199
 
200
200
  ```yaml
201
- tags: [postprocessing, shader, effect, blur, pass, rendering]
201
+ tags: [模糊, 高斯模糊, 毛玻璃, 背景虚化, postprocessing, shader, effect, blur, pass, rendering, gaussian, blur-effect]
202
202
  ```
@@ -177,5 +177,5 @@ five.on("gesture.pinch", (event) => {
177
177
  ---
178
178
 
179
179
  ```yaml
180
- tags: [gesture, event, interaction, tap, pan, pinch]
180
+ tags: [手势, 点击, 拖拽, 缩放, 长按, 鼠标, 触摸, 交互控制, 自定义交互, gesture, event, interaction, tap, pan, pinch, preventDefault]
181
181
  ```
@@ -173,10 +173,10 @@ function getCenterColor(five: Five) {
173
173
 
174
174
  ## Related
175
175
 
176
- * [api.md](../api.md): Five 核心 API 说明。
176
+ * [API Reference](../api.md): Five 核心 API 说明。
177
177
 
178
178
  ---
179
179
 
180
180
  ```yaml
181
- tags: [getPixels, magnifier, screenshot, pixel, canvas]
181
+ tags: [截图, 放大镜, 取色器, 颜色拾取, 像素数据, getPixels, magnifier, screenshot, pixel, canvas, screen-capture, color-picker]
182
182
  ```
@@ -155,10 +155,10 @@ console.log(cutUrl);
155
155
 
156
156
  ## Related
157
157
 
158
- * [pano-tile.md](./pano-tile.md): 全景图瓦片加载策略与 WorkTile 数据结构说明。
158
+ * [Pano Tile](./pano-tile.md): 全景图瓦片加载策略与 WorkTile 数据结构说明。
159
159
 
160
160
  ---
161
161
 
162
162
  ```yaml
163
- tags: [imageOptions, configuration, optimization, cdn, private-deployment]
163
+ tags: [图片配置, 图片格式, 域名映射, 多云部署, 私有化, 图片质量, 流量优化, imageOptions, configuration, optimization, cdn, private-deployment, avif, webp]
164
164
  ```
@@ -343,10 +343,12 @@ loadAt3d('https://example.com/model.at3d', {
343
343
 
344
344
  ## Related
345
345
 
346
- * [model.md](./model.md): 关于 Five 内部模型加载机制的说明。
346
+ * [Model](./model.md): 关于 Five 内部模型加载机制的说明。
347
+ * [Coordinate System](./coordinate-system.md): 坐标系定义,理解 Y-up 与 Z-up 的转换。
348
+ * [Request Proxy](./request-proxy.md): 自定义请求拦截(鉴权、CDN),与 fetcher 配合使用。
347
349
 
348
350
  ---
349
351
 
350
352
  ```yaml
351
- tags: [loader, gltf, ply, splat, fbx, external-model]
353
+ tags: [加载模型, 导入模型, 点云, 内存泄漏, loader, gltf, ply, splat, fbx, external-model, glb, obj, 3d-model, gaussian-splatting, point-cloud, draco, dispose]
352
354
  ```
@@ -136,5 +136,5 @@ five.on("pano.texture.error", (event) => {
136
136
  ---
137
137
 
138
138
  ```yaml
139
- tags: [loading, progress, refined, loaded, event]
139
+ tags: [加载进度, 加载完成, 首屏, 高清, 细化, 全景加载, 模型加载, loading, progress, refined, loaded, event, tile-load, loading-bar]
140
140
  ```
@@ -123,21 +123,27 @@ Five 支持高性能的点云渲染(PBM),并提供灵活的样式配置:
123
123
  ### 1. Adjusting Model Transparency and Style (调整模型透明度与样式)
124
124
 
125
125
  ```typescript
126
- five.model.set({
127
- opacity: 0.5, // Make model semi-transparent (半透明)
128
- modelAlpha: 0.0, // Show original UV texture only (仅显示原始UV贴图)
129
- floorStyle: 'wireframe' // Wireframe mode (线框模式)
130
- });
126
+ // 设置半透明
127
+ five.modelScene.parameter.set('opacity', 0.5);
128
+
129
+ // 仅显示原始 UV 贴图
130
+ five.modelScene.parameter.set('modelAlpha', 0.0);
131
+
132
+ // 设置楼层样式
133
+ five.modelScene.parameter.set('floorStyle', 'wireframe');
131
134
  ```
132
135
 
133
136
  ### 2. Configuring Point Cloud Appearance (配置点云外观)
134
137
 
135
138
  ```typescript
136
- five.model.set({
137
- pointSize: 'ATTENUATION', // 大小随距离衰减
138
- pointScale: 0.05, // 基础大小
139
- pointMaxPixel: 20 // 最大像素限制
140
- });
139
+ // 大小随距离衰减
140
+ five.modelScene.parameter.set('pointSize', 'ATTENUATION');
141
+
142
+ // 基础大小
143
+ five.modelScene.parameter.set('pointScale', 0.05);
144
+
145
+ // 最大像素限制
146
+ five.modelScene.parameter.set('pointMaxPixel', 20);
141
147
  ```
142
148
 
143
149
  ## Related
@@ -149,5 +155,5 @@ five.model.set({
149
155
  ---
150
156
 
151
157
  ```yaml
152
- tags: [material, appearance, pointcloud, parameter, roof, ceiling, config]
158
+ tags: [材质, 透明度, 点云, 楼层, 阴影, 亮度, 天花板, 开盖, 顶点标记, 渲染样式, material, appearance, pointcloud, parameter, roof, ceiling, config, opacity]
153
159
  ```
@@ -265,5 +265,5 @@ document.querySelector('#btn-map').addEventListener('click', () => {
265
265
  ---
266
266
 
267
267
  ```yaml
268
- tags: [mode, state, interaction]
268
+ tags: [模式, 全景, 户型图, 鸟瞰, 漫游, 切换模式, 视角, mode, state, interaction, VR, panorama, floorplan, mapview, topview, model]
269
269
  ```
@@ -182,5 +182,5 @@ model.viewLayers.forEach((layer) => {
182
182
  ---
183
183
 
184
184
  ```yaml
185
- tags: [model, viewlayer, object3d]
185
+ tags: [模型, 三维模型, 点云, 高斯泼溅, 加载, 渲染, 图层, 楼层, 细化, model, viewlayer, object3d, mesh, refine]
186
186
  ```
@@ -141,5 +141,5 @@ five.moveToPano(aerialPanoIndex, {
141
141
  ---
142
142
 
143
143
  ```yaml
144
- tags: [move-pano-effect, camera-animation, pano-switch]
144
+ tags: [全景切换, 走点效果, 淡入淡出, 飞行, 过渡动画, 缓动, move-pano-effect, camera-animation, pano-switch, fly, fade, easing]
145
145
  ```
@@ -142,5 +142,5 @@ if (targetWork) {
142
142
 
143
143
  ---
144
144
  ```yaml
145
- tags: [multi-work, sandbox, works, load, transform]
145
+ tags: [多场景, 沙盘, 多户型, 拼接, 追加, 切换场景, 多楼盘, multi-work, sandbox, works, load, transform, workCode]
146
146
  ```
@@ -140,9 +140,10 @@ function onContrastChange(value: number) {
140
140
  * [Model](./model.md): 了解 ModelScene 及其参数系统。
141
141
  * [Parameter](./parameter.md): 了解 Five 的全局初始化参数。
142
142
  * [Postprocessing](./postprocessing.md): 了解屏幕空间的后处理效果。
143
+ * [Material](./material.md): 材质参数配置(透明度、点云等)。
143
144
 
144
145
  ---
145
146
 
146
147
  ```yaml
147
- tags: [filter, material, visual, color, brightness, contrast]
148
+ tags: [滤镜, 色温, 暖色, 冷色, 饱和度, 亮度, 对比度, filter, material, visual, color, brightness, contrast, color-correction, warm, cool, tone]
148
149
  ```