@realsee/five 6.8.7 → 6.9.0-alpha.0

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 (233) hide show
  1. package/ai_guides/README.md +2 -0
  2. package/ai_guides/features/flowing-fireworks-3d-pass.md +296 -0
  3. package/ai_guides/features/flowing-light-3d-pass.md +1 -0
  4. package/ai_guides/features/postprocessing.md +3 -1
  5. package/docs/assets/hierarchy.js +1 -1
  6. package/docs/assets/navigation.js +1 -1
  7. package/docs/assets/search.js +1 -1
  8. package/docs/classes/five.AdaptiveLuminancePass.html +1 -1
  9. package/docs/classes/five.BoundingMesh.html +1 -1
  10. package/docs/classes/five.Camera.html +1 -1
  11. package/docs/classes/five.EyeDomeLightingPass.html +1 -1
  12. package/docs/classes/five.Five.html +1 -1
  13. package/docs/classes/five.FivePass.html +1 -1
  14. package/docs/classes/five.FlowingLight2DPass.html +2 -2
  15. package/docs/classes/five.FlowingLight3DPass.html +2 -2
  16. package/docs/classes/five.GaussianBlurPass.html +1 -1
  17. package/docs/classes/five.InternalWebGLRenderer.html +1 -1
  18. package/docs/classes/five.Model.html +1 -1
  19. package/docs/classes/five.ModelScene.html +1 -1
  20. package/docs/classes/five.NetworkSubscribe.html +1 -1
  21. package/docs/classes/five.PBMContainer.html +1 -1
  22. package/docs/classes/five.PBMCustomShader.html +1 -1
  23. package/docs/classes/five.PBMGSObject.html +10 -13
  24. package/docs/classes/five.PBMGroup.html +1 -1
  25. package/docs/classes/five.PBMMesh.html +1 -1
  26. package/docs/classes/five.PBMMeshMaterial.html +1 -1
  27. package/docs/classes/five.PBMPanoFilter.html +1 -1
  28. package/docs/classes/five.PBMPointCloud.html +1 -1
  29. package/docs/classes/five.PBMPointCloudMaterial.html +1 -1
  30. package/docs/classes/five.PBMSkinnedMesh.html +1 -1
  31. package/docs/classes/five.PBMUpdateable.html +1 -1
  32. package/docs/classes/five.PanoCircleMesh.html +1 -1
  33. package/docs/classes/five.PanoCircleMeshCustom.html +1 -1
  34. package/docs/classes/five.PanoCircleMeshSolid.html +1 -1
  35. package/docs/classes/five.Parameter.html +1 -1
  36. package/docs/classes/five.Scene.html +1 -1
  37. package/docs/classes/five.Subscribe.html +1 -1
  38. package/docs/classes/five.TextureLoader.html +1 -1
  39. package/docs/classes/five.Tile3D.html +1 -1
  40. package/docs/classes/five.TileNode.html +1 -1
  41. package/docs/classes/five.TrajectoryNode.html +1 -1
  42. package/docs/classes/five.WorkResolvedObserver.html +1 -1
  43. package/docs/classes/gltf-loader.DDSLoader.html +1 -1
  44. package/docs/classes/gltf-loader.DRACOLoader.html +1 -1
  45. package/docs/classes/gltf-loader.GLTFLoader.html +1 -1
  46. package/docs/classes/gltf-loader.GLTFObject.html +1 -1
  47. package/docs/classes/gltf-loader.THREEGLTFLoader.html +1 -1
  48. package/docs/classes/line.Line.html +1 -1
  49. package/docs/classes/line.LineGeometry.html +1 -1
  50. package/docs/classes/line.LineMaterial.html +1 -1
  51. package/docs/classes/line.LineSegmentsGeometry.html +1 -1
  52. package/docs/classes/line.THREE_Line2.html +1 -1
  53. package/docs/classes/line.THREE_LineSegments2.html +1 -1
  54. package/docs/classes/plugins.BasePlugin.Controller.html +1 -1
  55. package/docs/classes/plugins.CSS2DObject.html +1 -1
  56. package/docs/classes/plugins.CSS3DObject.html +1 -1
  57. package/docs/classes/plugins.CSS3DSprite.html +1 -1
  58. package/docs/classes/plugins.InstancedPrefabBufferGeometry.html +1 -1
  59. package/docs/classes/plugins.Object3DHelperController.html +1 -1
  60. package/docs/classes/plugins.PointBufferGeometry.html +1 -1
  61. package/docs/classes/plugins.PrefabBufferGeometry.html +1 -1
  62. package/docs/classes/plugins.RoundedBoxGeometry.html +1 -1
  63. package/docs/classes/sticker.Sticker.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 +6 -0
  70. package/docs/documents/features_flowing-fireworks-3d-pass.html +242 -0
  71. package/docs/documents/features_flowing-light-3d-pass.html +1 -0
  72. package/docs/documents/features_postprocessing.html +3 -1
  73. package/docs/functions/five.loadSpz.html +1 -1
  74. package/docs/functions/plugins.calculatePath2DLength.html +1 -0
  75. package/docs/functions/plugins.calculatePath3DLength.html +1 -0
  76. package/docs/hierarchy.html +1 -1
  77. package/docs/index.html +6 -0
  78. package/docs/interfaces/five.AddableObject.html +1 -1
  79. package/docs/interfaces/five.AjaxOptions.html +1 -1
  80. package/docs/interfaces/five.BaseEvent.html +1 -1
  81. package/docs/interfaces/five.BaseExtendableEvent.html +1 -1
  82. package/docs/interfaces/five.EventCallback.html +1 -1
  83. package/docs/interfaces/five.GestureEvent.html +1 -1
  84. package/docs/interfaces/five.ImageOptions.html +1 -1
  85. package/docs/interfaces/five.IntersectEvent.html +1 -1
  86. package/docs/interfaces/five.IntersectMesh.html +1 -1
  87. package/docs/interfaces/five.IntersectMeshInterface.html +1 -1
  88. package/docs/interfaces/five.Intersection.html +1 -1
  89. package/docs/interfaces/five.LooseWorkWithExtrinsics.html +1 -1
  90. package/docs/interfaces/five.ModeChangeEvent.html +1 -1
  91. package/docs/interfaces/five.ModelControllerCustomInitArgs.html +1 -1
  92. package/docs/interfaces/five.ModelEvent.html +1 -1
  93. package/docs/interfaces/five.ModelSceneEvent.html +1 -1
  94. package/docs/interfaces/five.ModelTileEvent.html +1 -1
  95. package/docs/interfaces/five.MovePanoOptions.html +1 -1
  96. package/docs/interfaces/five.NetworkAbortError.html +1 -1
  97. package/docs/interfaces/five.NetworkFirbiddenError.html +1 -1
  98. package/docs/interfaces/five.NetworkOptions.html +1 -1
  99. package/docs/interfaces/five.NetworkProxyError.html +1 -1
  100. package/docs/interfaces/five.NetworkResourceEvent.html +1 -1
  101. package/docs/interfaces/five.NetworkResponseError.html +1 -1
  102. package/docs/interfaces/five.NetworkTimeoutError.html +1 -1
  103. package/docs/interfaces/five.ObjectEvent.html +1 -1
  104. package/docs/interfaces/five.PBMMaterial.html +1 -1
  105. package/docs/interfaces/five.PBMMeshMaterialParameters.html +1 -1
  106. package/docs/interfaces/five.PBMPointCloudMaterialParameters.html +1 -1
  107. package/docs/interfaces/five.PanoCircleMeshInterface.html +1 -1
  108. package/docs/interfaces/five.PanoEvent.html +1 -1
  109. package/docs/interfaces/five.PanoPrepareEvent.html +1 -1
  110. package/docs/interfaces/five.PanoTextureEvent.html +1 -1
  111. package/docs/interfaces/five.PanoramaControllerCustomInitArgs.html +1 -1
  112. package/docs/interfaces/five.PanoramaLikeControllerCustomInitArgs.html +1 -1
  113. package/docs/interfaces/five.ParameterMaterialValue.html +1 -1
  114. package/docs/interfaces/five.ParameterTilesetValue.html +1 -1
  115. package/docs/interfaces/five.ParameterValue.html +1 -1
  116. package/docs/interfaces/five.Pose.html +1 -1
  117. package/docs/interfaces/five.RenderEvent.html +1 -1
  118. package/docs/interfaces/five.ResolvedParameterValue.html +1 -1
  119. package/docs/interfaces/five.SplatData.html +3 -6
  120. package/docs/interfaces/five.State.html +1 -1
  121. package/docs/interfaces/five.StateEvent.html +1 -1
  122. package/docs/interfaces/five.TextureOptions.html +1 -1
  123. package/docs/interfaces/five.TopviewControllerCustomInitArgs.html +1 -1
  124. package/docs/interfaces/five.VRPanoramaControllerCustomInitArgs.html +1 -1
  125. package/docs/interfaces/five.ViewLayer.html +1 -1
  126. package/docs/interfaces/five.WorkCubeImage.html +1 -1
  127. package/docs/interfaces/five.WorkImage.html +1 -1
  128. package/docs/interfaces/five.WorkObserver.html +1 -1
  129. package/docs/interfaces/five.WorkObserverProto.html +1 -1
  130. package/docs/interfaces/five.WorkTile.html +1 -1
  131. package/docs/interfaces/five.WorksEvent.html +1 -1
  132. package/docs/interfaces/five.XRControllerEvent.html +1 -1
  133. package/docs/interfaces/five.XRGestureEvent.html +1 -1
  134. package/docs/interfaces/five.XRPanoramaControllerCustomInitArgs.html +1 -1
  135. package/docs/interfaces/five.XRSessionEvent.html +1 -1
  136. package/docs/interfaces/plugins.BackgroundPluginController.html +1 -1
  137. package/docs/interfaces/plugins.BackgroundPluginType.EventMap.html +1 -1
  138. package/docs/interfaces/plugins.BasePlugin.State.html +1 -1
  139. package/docs/interfaces/plugins.CSS2DPluginController.html +1 -1
  140. package/docs/interfaces/plugins.CSS2DPluginType.EventMap.html +1 -1
  141. package/docs/interfaces/plugins.CSS2DPluginType.State.html +1 -1
  142. package/docs/interfaces/plugins.CSS3DPluginController.html +1 -1
  143. package/docs/interfaces/plugins.CSS3DPluginType.EventMap.html +1 -1
  144. package/docs/interfaces/plugins.CSS3DPluginType.State.html +1 -1
  145. package/docs/interfaces/plugins.DynamicPathLinePluginController.html +1 -1
  146. package/docs/interfaces/plugins.DynamicPathLinePluginType.EventMap.html +1 -1
  147. package/docs/interfaces/plugins.DynamicPathLinePluginType.State.html +1 -1
  148. package/docs/interfaces/plugins.GaussianSplattingEntranceAnimationController.html +1 -1
  149. package/docs/interfaces/plugins.GaussianSplattingEntranceAnimationPluginType.EventMap.html +1 -1
  150. package/docs/interfaces/plugins.GaussianSplattingEntranceAnimationPluginType.State.html +1 -1
  151. package/docs/interfaces/plugins.ItemMaskController.html +1 -1
  152. package/docs/interfaces/plugins.ItemMaskPluginType.EventMap.html +1 -1
  153. package/docs/interfaces/plugins.ItemMaskPluginType.State.html +1 -1
  154. package/docs/interfaces/plugins.Object3DHelperPluginType.BaseController.html +1 -1
  155. package/docs/interfaces/plugins.Object3DHelperPluginType.BaseHelper.html +1 -1
  156. package/docs/interfaces/plugins.Object3DHelperPluginType.BoundingBoxController.html +1 -1
  157. package/docs/interfaces/plugins.Object3DHelperPluginType.MoveController.html +1 -1
  158. package/docs/interfaces/plugins.Object3DHelperPluginType.MoveHelperAbstract.html +1 -1
  159. package/docs/interfaces/plugins.Object3DHelperPluginType.RotateController.html +1 -1
  160. package/docs/interfaces/plugins.Object3DHelperPluginType.RotateHelperAbstract.html +1 -1
  161. package/docs/interfaces/plugins.OrientationPluginController.html +1 -1
  162. package/docs/interfaces/plugins.OrientationPluginType.EventMap.html +1 -1
  163. package/docs/interfaces/plugins.OrientationPluginType.State.html +1 -1
  164. package/docs/interfaces/plugins.PanoAnimeController.html +1 -1
  165. package/docs/interfaces/plugins.PanoAnimePluginType.EventMap.html +1 -1
  166. package/docs/interfaces/plugins.PanoAnimePluginType.State.html +1 -1
  167. package/docs/interfaces/plugins.PluginTemplateType.EventMap.html +1 -1
  168. package/docs/interfaces/plugins.PluginTemplateType.State.html +1 -1
  169. package/docs/interfaces/plugins.TrajectoryController.html +9 -9
  170. package/docs/interfaces/react.FiveInjectionTypes.html +1 -1
  171. package/docs/interfaces/react.UseFivePluginOptions.html +1 -1
  172. package/docs/interfaces/react.UseFivePluginOptionsWithCreate.html +1 -1
  173. package/docs/modules/five.html +1 -1
  174. package/docs/modules/plugins.html +1 -1
  175. package/docs/modules.html +1 -1
  176. package/docs/types/five.FlowingLight2DPassLine.html +10 -0
  177. package/docs/types/five.FlowingLight3DPassLine.html +10 -0
  178. package/docs/types/five.ParseOptions.html +1 -1
  179. package/docs/types/plugins.BasePlugin.EventMap.html +1 -1
  180. package/five/gaussian-splatting/layerRegistry.d.ts +10 -0
  181. package/five/gaussian-splatting/orderTexture.d.ts +18 -0
  182. package/five/gaussian-splatting/reorderPass.d.ts +34 -0
  183. package/five/gaussian-splatting/shStore.d.ts +16 -0
  184. package/five/gaussian-splatting/splatAssembler.d.ts +60 -0
  185. package/five/gaussian-splatting/tileTexture.d.ts +10 -0
  186. package/five/gaussian-splatting/transformStore.d.ts +20 -0
  187. package/five/index.js +238 -173
  188. package/five/index.mjs +6526 -6506
  189. package/five/model/index.d.ts +0 -1
  190. package/five/model/loaders/spz.d.ts +19 -3
  191. package/five/model/objects/pbmGaussianSplattingObject.d.ts +10 -14
  192. package/five/model/objects/pbmGaussianSplattingRenderMesh.d.ts +48 -42
  193. package/five/renderer/index.d.ts +1 -1
  194. package/five/renderer/postprocessing/index.d.ts +3 -2
  195. package/five/renderer/postprocessing/passes/flowing-fireworks-3d-pass.d.ts +74 -0
  196. package/five/renderer/postprocessing/passes/flowing-light-2d-pass.d.ts +4 -5
  197. package/five/renderer/postprocessing/passes/flowing-light-3d-pass.d.ts +4 -5
  198. package/gltf-loader/index.js +3 -3
  199. package/gltf-loader/index.mjs +3 -3
  200. package/line/index.js +3 -3
  201. package/line/index.mjs +3 -3
  202. package/llms.txt +2 -0
  203. package/package.json +2 -2
  204. package/pbmGaussianSplattingObject-B2uXNUOB.cjs +255 -0
  205. package/pbmGaussianSplattingObject-yJQySQfR.js +328 -0
  206. package/plugins/index.d.ts +1 -0
  207. package/plugins/index.js +4 -4
  208. package/plugins/index.mjs +26 -14
  209. package/plugins/utils/math.d.ts +2 -0
  210. package/react/index.js +2 -2
  211. package/react/index.mjs +2 -2
  212. package/shader-lib/index.js +2 -2
  213. package/shader-lib/index.mjs +2 -2
  214. package/sticker/index.js +3 -3
  215. package/sticker/index.mjs +3 -3
  216. package/umd/five-gltf-loader.js +3 -3
  217. package/umd/five-line.js +3 -3
  218. package/umd/five-plugins.js +4 -4
  219. package/umd/five-react.js +2 -2
  220. package/umd/five-shader-lib.js +2 -2
  221. package/umd/five-sticker.js +3 -3
  222. package/umd/five-vfx.js +2 -2
  223. package/umd/five-vue.js +2 -2
  224. package/umd/five.js +147 -82
  225. package/vfx/index.js +2 -2
  226. package/vfx/index.mjs +2 -2
  227. package/vue/index.js +2 -2
  228. package/vue/index.mjs +2 -2
  229. package/work-downloader/index.js +2 -2
  230. package/work-downloader/index.mjs +2 -2
  231. package/docs/functions/five.loadSplat.html +0 -1
  232. package/five/gaussian-splatting/util/renderData.d.ts +0 -68
  233. package/five/model/loaders/splat.d.ts +0 -8
@@ -0,0 +1,18 @@
1
+ import * as THREE from 'three';
2
+ export declare class OrderTexture {
3
+ texture: THREE.DataTexture;
4
+ readonly width: number;
5
+ private height;
6
+ private data;
7
+ private _count;
8
+ constructor(width?: number);
9
+ /** 当前有效实例数(= 最近一次 update 的 order 长度) */
10
+ get count(): number;
11
+ private createTexture;
12
+ /**
13
+ * 用最新 order 更新纹理内容。order[i] = 第 i 个实例要画的全局点索引 P。
14
+ * 长度超出当前容量时按需扩容(重建纹理)。
15
+ */
16
+ update(order: Uint32Array): void;
17
+ dispose(): void;
18
+ }
@@ -0,0 +1,34 @@
1
+ import * as THREE from 'three';
2
+ /** 一个对象在“排序发起时的旧布局”里占据的全局点索引区间及其到当前布局的位移。 */
3
+ export interface ReorderSegment {
4
+ oldStart: number;
5
+ oldEnd: number;
6
+ delta: number;
7
+ removed: boolean;
8
+ }
9
+ export declare class ReorderPass {
10
+ static readonly SENTINEL = 4294967295;
11
+ private readonly maxSeg;
12
+ private material;
13
+ private scene;
14
+ private camera;
15
+ private mesh;
16
+ private segStart;
17
+ private segEnd;
18
+ private segDelta;
19
+ private segRemoved;
20
+ constructor(maxSeg?: number);
21
+ /** 创建一张既能作为 reorder 输出、又能被主渲染 shader 以 usampler2D 采样的 R32UI 目标。 */
22
+ static createOrderTarget(width: number, height: number): THREE.WebGLRenderTarget;
23
+ /**
24
+ * 执行一次 reorder。
25
+ * @param srcOrder 旧 order 纹理(R32UI,usampler2D 可采样),内容为全局点索引 P
26
+ * @param orderWidth order 纹理宽度(实例 i → coord = (i%width, i/width))
27
+ * @param dst 输出目标(R32UI RenderTarget),尺寸需与 srcOrder 对应实例布局一致
28
+ * @param segments 区间→位移/剔除段表(长度不应超过 maxSeg)
29
+ */
30
+ run(renderer: THREE.WebGLRenderer, srcOrder: THREE.Texture, orderWidth: number, dst: THREE.WebGLRenderTarget, segments: ReorderSegment[]): void;
31
+ dispose(): void;
32
+ private static readonly VERTEX;
33
+ private static buildFragment;
34
+ }
@@ -0,0 +1,16 @@
1
+ import * as THREE from 'three';
2
+ import type { PBMGaussianSplattingObject } from '../model/objects/pbmGaussianSplattingObject';
3
+ export declare class SHStore {
4
+ texture: THREE.DataTexture | null;
5
+ readonly textureSize: THREE.Vector2;
6
+ /** 数据支持的最大 SH 阶数 = max(obj.maxSHDegree) */
7
+ dataMaxDegree: number;
8
+ /** 当前纹理实际写入的阶数 = min(usedSHDegree, dataMaxDegree) */
9
+ appliedDegree: number;
10
+ /**
11
+ * 按对象顺序重建 SH 纹理。返回是否构建了纹理(usedSHDegree/数据不足时返回 false 且不建纹理)。
12
+ * totalPoints 必须与大纹理布局一致(对象顺序累加 numPoints)。
13
+ */
14
+ sync(objects: readonly PBMGaussianSplattingObject[], usedSHDegree: number): boolean;
15
+ dispose(): void;
16
+ }
@@ -0,0 +1,60 @@
1
+ import * as THREE from 'three';
2
+ import type { PBMGaussianSplattingObject } from '../model/objects/pbmGaussianSplattingObject';
3
+ import { TileTexture } from './tileTexture';
4
+ export interface AssembledRegion {
5
+ object: PBMGaussianSplattingObject;
6
+ tile: TileTexture;
7
+ start: number;
8
+ count: number;
9
+ transformIndex: number;
10
+ layerIndex: number;
11
+ }
12
+ export declare class SplatAssembler {
13
+ readonly width: number;
14
+ private target;
15
+ private targetHeight;
16
+ private regionMap;
17
+ private regionList;
18
+ private material;
19
+ private scene;
20
+ private camera;
21
+ private mesh;
22
+ constructor(width?: number);
23
+ get texture(): THREE.Texture | null;
24
+ get totalPoints(): number;
25
+ get regions(): readonly AssembledRegion[];
26
+ has(object: PBMGaussianSplattingObject): boolean;
27
+ add(object: PBMGaussianSplattingObject, tile: TileTexture, transformIndex: number, layerIndex: number): void;
28
+ /**
29
+ * 按有序对象列表增量同步(per-tile 纹理缓存):
30
+ * - 存活对象:保留其 TileTexture(GPU 常驻,不重传),仅更新 transformIndex/layerIndex;
31
+ * - 新增对象:新建 TileTexture(CPU→GPU 一次);
32
+ * - 移除对象:dispose 其 TileTexture。
33
+ * regionList 顺序严格按传入 objects 顺序(须与 RenderData 布局一致)。
34
+ */
35
+ sync(objects: readonly PBMGaussianSplattingObject[], resolveIndices: (obj: PBMGaussianSplattingObject) => {
36
+ transformIndex: number;
37
+ layerIndex: number;
38
+ }): void;
39
+ remove(object: PBMGaussianSplattingObject): void;
40
+ clear(): void;
41
+ /** 按当前 tile 顺序算连续偏移;render pass 从各 TileTexture 组装大纹理。 */
42
+ assemble(renderer: THREE.WebGLRenderer): void;
43
+ snapshot(): AssembledRegion[];
44
+ /**
45
+ * 提取排序输入(不依赖 RenderData):
46
+ * - positions:每点世界坐标(从各 tile packedData 的 texel0 float32),按当前布局全局点索引排布;
47
+ * - transformIndices:每点所属对象的 transformIndex;
48
+ * 顺序与大纹理点索引一致(region.start + local)。
49
+ */
50
+ extractSortInputs(): {
51
+ positions: Float32Array;
52
+ transformIndices: Uint32Array;
53
+ count: number;
54
+ };
55
+ /** 回读组装后的大纹理(RGBA32UI)。供 spike 校验与 P4 排序取世界坐标使用。 */
56
+ readback(renderer: THREE.WebGLRenderer): Uint32Array;
57
+ dispose(): void;
58
+ private static readonly VERTEX;
59
+ private static readonly FRAGMENT;
60
+ }
@@ -0,0 +1,10 @@
1
+ import * as THREE from 'three';
2
+ import type { PBMGaussianSplattingObject } from '../model/objects/pbmGaussianSplattingObject';
3
+ export declare class TileTexture {
4
+ readonly texture: THREE.DataTexture;
5
+ readonly count: number;
6
+ readonly width: number;
7
+ readonly height: number;
8
+ constructor(object: PBMGaussianSplattingObject);
9
+ dispose(): void;
10
+ }
@@ -0,0 +1,20 @@
1
+ import * as THREE from 'three';
2
+ import type { PBMGaussianSplattingObject } from '../model/objects/pbmGaussianSplattingObject';
3
+ export declare class TransformStore {
4
+ texture: THREE.DataTexture | null;
5
+ readonly width = 5;
6
+ private data;
7
+ private indexMap;
8
+ private count;
9
+ /** transformIndex(对象在当前布局中的序号) */
10
+ indexOf(object: PBMGaussianSplattingObject): number | undefined;
11
+ get objectCount(): number;
12
+ /** 供排序 worker 的矩阵数据(前 count*20 个 float 有效)。 */
13
+ get transforms(): Float32Array;
14
+ /** 按对象顺序分配 transformIndex,写入每对象矩阵 + selected,并重建纹理。 */
15
+ sync(objects: readonly PBMGaussianSplattingObject[]): void;
16
+ /** 单对象 transform / selected 变化,就地更新 + 标记整张重传。 */
17
+ updateOne(object: PBMGaussianSplattingObject): void;
18
+ private rebuildTexture;
19
+ dispose(): void;
20
+ }