@realsee/five-webgpu 1.0.0-alpha.1 → 1.0.0-alpha.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (628) hide show
  1. package/README.md +9 -9
  2. package/_virtual/_rolldown/runtime.js +255 -0
  3. package/ai_guides/README.md +2 -2
  4. package/ai_guides/api.md +9 -8
  5. package/ai_guides/features/camera-animation.md +1 -1
  6. package/ai_guides/features/clipper.md +1 -1
  7. package/ai_guides/features/coordinate-system.md +1 -1
  8. package/ai_guides/features/event.md +1 -2
  9. package/ai_guides/features/five.md +81 -12
  10. package/ai_guides/features/gesture.md +3 -3
  11. package/ai_guides/features/get-screen-pixels.md +1 -1
  12. package/ai_guides/features/image-options.md +3 -3
  13. package/ai_guides/features/load-external-model.md +15 -15
  14. package/ai_guides/features/load-progress.md +2 -2
  15. package/ai_guides/features/material.md +35 -8
  16. package/ai_guides/features/mode.md +28 -31
  17. package/ai_guides/features/model.md +1 -1
  18. package/ai_guides/features/pano-filter.md +3 -3
  19. package/ai_guides/features/pano-tile.md +2 -2
  20. package/ai_guides/features/raycast.md +1 -1
  21. package/ai_guides/features/screen-project.md +1 -1
  22. package/ai_guides/features/state.md +3 -3
  23. package/ai_guides/features/ultra-hdr.md +41 -32
  24. package/ai_guides/features/work.md +2 -2
  25. package/ai_guides/quick-start.md +3 -3
  26. package/ai_guides/release_notes/6.6.md +2 -2
  27. package/ai_guides/release_notes/6.7.md +1 -1
  28. package/ai_guides/release_notes/6.8.md +3 -3
  29. package/ai_guides/support.md +0 -4
  30. package/docs/assets/hierarchy.js +1 -1
  31. package/docs/assets/navigation.js +1 -1
  32. package/docs/assets/search.js +1 -1
  33. package/docs/classes/index.AdaptiveLuminancePass.html +1 -1
  34. package/docs/classes/index.BoundingMesh.html +1 -1
  35. package/docs/classes/index.Camera.html +1 -1
  36. package/docs/classes/index.EffectComposer.html +1 -1
  37. package/docs/classes/index.EyeDomeLightingPass.html +1 -1
  38. package/docs/classes/index.Five.html +77 -68
  39. package/docs/classes/index.FivePass.html +1 -1
  40. package/docs/classes/index.FiveRenderer.html +2 -2
  41. package/docs/classes/index.FlowingFireworks3DPass.html +7 -3
  42. package/docs/classes/index.FlowingLight2DPass.html +6 -3
  43. package/docs/classes/index.FlowingLight3DPass.html +6 -3
  44. package/docs/classes/index.GaussianBlurPass.html +1 -1
  45. package/docs/classes/index.InternalWebGPURenderer.html +17 -3
  46. package/docs/classes/index.Model.html +1 -1
  47. package/docs/classes/index.ModelScene.html +1 -1
  48. package/docs/classes/index.NetworkSubscribe.html +1 -1
  49. package/docs/classes/index.PBMCustomNode.html +57 -0
  50. package/docs/classes/index.PBMGaussianSplattingNodeMaterial.html +9 -6
  51. package/docs/classes/index.PBMGaussianSplattingObject.html +18 -4
  52. package/docs/classes/index.PBMGaussianSplattingRenderMesh.html +41 -11
  53. package/docs/classes/index.PBMGroup.html +1 -1
  54. package/docs/classes/index.PBMMesh.html +1 -1
  55. package/docs/classes/index.PBMMeshBasicMaterial.html +19 -6
  56. package/docs/classes/index.PBMMeshBasicNodeMaterial.html +31 -8
  57. package/docs/classes/index.PBMMeshPanoOnlyMaterial.html +19 -6
  58. package/docs/classes/index.PBMMeshPanoOnlyNodeMaterial.html +31 -8
  59. package/docs/classes/index.PBMMeshPhongMaterial.html +19 -6
  60. package/docs/classes/index.PBMMeshPhongNodeMaterial.html +31 -8
  61. package/docs/classes/index.PBMMeshPhysicalMaterial.html +19 -6
  62. package/docs/classes/index.PBMMeshPhysicalNodeMaterial.html +31 -8
  63. package/docs/classes/index.PBMPanoFilter.html +8 -8
  64. package/docs/classes/index.PBMPointCloud.html +6 -7
  65. package/docs/classes/index.PBMPointCloudMaterial.html +83 -0
  66. package/docs/classes/index.PBMSkinnedMesh.html +1 -1
  67. package/docs/classes/index.PBMUpdateable.html +1 -1
  68. package/docs/classes/index.PanoCircleMesh.html +1 -1
  69. package/docs/classes/index.PanoCircleMeshCustom.html +5 -5
  70. package/docs/classes/index.PanoCircleMeshSolid.html +1 -1
  71. package/docs/classes/index.Parameter.html +61 -53
  72. package/docs/classes/index.Scene.html +1 -1
  73. package/docs/classes/index.Subscribe.html +1 -1
  74. package/docs/classes/index.TextureLoader.html +4 -1
  75. package/docs/classes/index.Tile3D.html +23 -21
  76. package/docs/classes/index.TileNode.html +1 -1
  77. package/docs/classes/index.Tileset.html +4 -4
  78. package/docs/classes/index.TrajectoryNode.html +3 -3
  79. package/docs/classes/index.Work.html +20 -18
  80. package/docs/classes/index.WorkResolvedObserver.html +22 -22
  81. package/docs/classes/index.XRButton.html +3 -0
  82. package/docs/documents/README.html +2 -2
  83. package/docs/documents/api.html +11 -10
  84. package/docs/documents/features_camera-animation.html +1 -1
  85. package/docs/documents/features_clipper.html +1 -1
  86. package/docs/documents/features_coordinate-system.html +1 -1
  87. package/docs/documents/features_event.html +1 -2
  88. package/docs/documents/features_five.html +53 -11
  89. package/docs/documents/features_gesture.html +3 -3
  90. package/docs/documents/features_get-screen-pixels.html +1 -1
  91. package/docs/documents/features_image-options.html +3 -3
  92. package/docs/documents/features_load-external-model.html +13 -13
  93. package/docs/documents/features_load-progress.html +1 -1
  94. package/docs/documents/features_material.html +20 -9
  95. package/docs/documents/features_mode.html +30 -15
  96. package/docs/documents/features_model.html +1 -1
  97. package/docs/documents/features_pano-filter.html +3 -3
  98. package/docs/documents/features_pano-tile.html +2 -2
  99. package/docs/documents/features_raycast.html +1 -1
  100. package/docs/documents/features_screen-project.html +1 -1
  101. package/docs/documents/features_state.html +2 -2
  102. package/docs/documents/features_ultra-hdr.html +50 -44
  103. package/docs/documents/features_work.html +2 -2
  104. package/docs/documents/quick-start.html +2 -2
  105. package/docs/documents/release_notes_6.6.html +2 -2
  106. package/docs/documents/release_notes_6.7.html +1 -1
  107. package/docs/documents/release_notes_6.8.html +3 -3
  108. package/docs/documents/support.html +1 -3
  109. package/docs/functions/index.customNodesCacheKey.html +3 -0
  110. package/docs/functions/index.parseWork.html +1 -1
  111. package/docs/functions/index.workToJson.html +1 -1
  112. package/docs/hierarchy.html +1 -1
  113. package/docs/index.html +2 -2
  114. package/docs/interfaces/index.AddableObject.html +1 -1
  115. package/docs/interfaces/index.AjaxOptions.html +1 -1
  116. package/docs/interfaces/index.BaseEvent.html +2 -2
  117. package/docs/interfaces/index.Clock.html +24 -0
  118. package/docs/interfaces/index.DeviceProfile.html +8 -0
  119. package/docs/interfaces/index.EventCallback.html +49 -47
  120. package/docs/interfaces/index.FiveInitArgs.html +65 -41
  121. package/docs/interfaces/index.GainmapCfgData.html +15 -0
  122. package/docs/interfaces/index.GestureEvent.html +2 -2
  123. package/docs/interfaces/index.IPBMMaterial.html +18 -5
  124. package/docs/interfaces/index.ImageOptions.html +1 -1
  125. package/docs/interfaces/index.IntersectEvent.html +2 -2
  126. package/docs/interfaces/index.IntersectMesh.html +1 -1
  127. package/docs/interfaces/index.IntersectMeshInterface.html +1 -1
  128. package/docs/interfaces/index.Intersection.html +1 -1
  129. package/docs/interfaces/index.LoosePanoWork.html +2 -2
  130. package/docs/interfaces/index.LooseWork.html +2 -2
  131. package/docs/interfaces/index.LooseWorkInitial.html +2 -2
  132. package/docs/interfaces/index.LooseWorkModel.html +2 -2
  133. package/docs/interfaces/index.LooseWorkObserver.html +2 -2
  134. package/docs/interfaces/index.LooseWorkPanorama.html +4 -3
  135. package/docs/interfaces/index.LooseWorkWithExtrinsics.html +15 -9
  136. package/docs/interfaces/index.ModeChangeEvent.html +2 -2
  137. package/docs/interfaces/index.ModelControllerCustomInitArgs.html +1 -1
  138. package/docs/interfaces/index.ModelEvent.html +2 -2
  139. package/docs/interfaces/index.ModelSceneEvent.html +2 -2
  140. package/docs/interfaces/index.ModelTileEvent.html +2 -2
  141. package/docs/interfaces/index.MovePanoOptions.html +1 -1
  142. package/docs/interfaces/index.NetworkAbortError.html +1 -1
  143. package/docs/interfaces/index.NetworkFirbiddenError.html +1 -1
  144. package/docs/interfaces/index.NetworkOptions.html +1 -1
  145. package/docs/interfaces/index.NetworkProxyError.html +1 -1
  146. package/docs/interfaces/index.NetworkResourceEvent.html +2 -2
  147. package/docs/interfaces/index.NetworkResponseError.html +1 -1
  148. package/docs/interfaces/index.NetworkTimeoutError.html +1 -1
  149. package/docs/interfaces/index.ObjectEvent.html +2 -2
  150. package/docs/interfaces/index.PBMClipperParameter.html +2 -2
  151. package/docs/interfaces/index.PBMCustomNodeContext.html +87 -0
  152. package/docs/interfaces/index.PBMCustomNodeOptions.html +10 -0
  153. package/docs/interfaces/index.PBMCustomNodePanoContext.html +20 -0
  154. package/docs/interfaces/index.PBMCustomNodeSlots.html +31 -0
  155. package/docs/interfaces/index.PBMGaussianSplattingNodeMaterialOptions.html +4 -0
  156. package/docs/interfaces/index.PBMPanoDepth.html +5 -5
  157. package/docs/interfaces/index.PBMPanoFilterValue.html +2 -2
  158. package/docs/interfaces/index.PBMPanoGainmap.html +6 -0
  159. package/docs/interfaces/index.PBMPanoPicture.html +9 -8
  160. package/docs/interfaces/index.PBMRefinedScreen.html +2 -2
  161. package/docs/interfaces/index.PanoCircleMeshCustomOptions.html +2 -2
  162. package/docs/interfaces/index.PanoCircleMeshInterface.html +1 -1
  163. package/docs/interfaces/index.PanoEvent.html +2 -2
  164. package/docs/interfaces/index.PanoPrepareEvent.html +15 -0
  165. package/docs/interfaces/index.PanoTextureEvent.html +2 -2
  166. package/docs/interfaces/index.PanoramaControllerCustomInitArgs.html +9 -9
  167. package/docs/interfaces/index.PanoramaLikeControllerCustomInitArgs.html +1 -1
  168. package/docs/interfaces/index.ParameterMaterialValue.html +46 -38
  169. package/docs/interfaces/index.ParameterTilesetValue.html +15 -15
  170. package/docs/interfaces/index.ParameterValue.html +60 -52
  171. package/docs/interfaces/index.Pose.html +1 -1
  172. package/docs/interfaces/index.RenderEvent.html +2 -2
  173. package/docs/interfaces/index.ResolvedParameterValue.html +60 -52
  174. package/docs/interfaces/index.SplatData.html +10 -5
  175. package/docs/interfaces/index.State.html +1 -1
  176. package/docs/interfaces/index.StateEvent.html +2 -2
  177. package/docs/interfaces/index.TextureOptions.html +1 -1
  178. package/docs/interfaces/index.TilesetOptions.html +7 -2
  179. package/docs/interfaces/index.TopviewControllerCustomInitArgs.html +1 -1
  180. package/docs/interfaces/index.VRPanoramaControllerCustomInitArgs.html +37 -0
  181. package/docs/interfaces/index.ViewLayer.html +23 -21
  182. package/docs/interfaces/index.WorkCubeHdrGainmapImage.html +10 -0
  183. package/docs/interfaces/index.WorkCubeImage.html +5 -9
  184. package/docs/interfaces/index.WorkImage.html +8 -12
  185. package/docs/interfaces/index.WorkInitial.html +8 -8
  186. package/docs/interfaces/index.WorkModel.html +8 -8
  187. package/docs/interfaces/index.WorkModelLayer.html +6 -6
  188. package/docs/interfaces/index.WorkObserver.html +23 -23
  189. package/docs/interfaces/index.WorkPanoramaJson.html +3 -2
  190. package/docs/interfaces/index.WorkTile.html +8 -12
  191. package/docs/interfaces/index.WorksEvent.html +2 -2
  192. package/docs/interfaces/index.XRControllerEvent.html +2 -2
  193. package/docs/interfaces/index.XRGestureEvent.html +2 -2
  194. package/docs/interfaces/index.XRPanoramaControllerCustomInitArgs.html +52 -0
  195. package/docs/interfaces/index.XRSessionEvent.html +2 -2
  196. package/docs/modules/index.html +1 -1
  197. package/docs/types/index.ControllerCustomInitTypes.html +4 -2
  198. package/docs/types/index.ControllerEventTypes.html +25 -23
  199. package/docs/types/index.DeviceProfileOverride.html +5 -0
  200. package/docs/types/index.EventTypes.html +26 -26
  201. package/docs/types/index.FlowingFireworks3DPassLine.html +5 -2
  202. package/docs/types/index.FlowingLight2DPassLine.html +4 -2
  203. package/docs/types/index.FlowingLight3DPassLine.html +7 -2
  204. package/docs/types/index.FlowingLightLineInput.html +12 -0
  205. package/docs/types/index.Mode.html +6 -3
  206. package/docs/types/index.OutputTextureDataType.html +1 -1
  207. package/docs/types/index.PBMColorStyle.html +1 -1
  208. package/docs/types/index.PBMCustomNodeTargetType.html +2 -0
  209. package/docs/types/index.PBMPointBack.html +1 -1
  210. package/docs/types/index.PBMPointShape.html +1 -1
  211. package/docs/types/index.PBMPointSize.html +1 -1
  212. package/docs/types/index.PBMRoofStyle.html +6 -0
  213. package/docs/types/index.ParseOptions.html +14 -8
  214. package/docs/types/index.XRMachineType.html +7 -0
  215. package/docs/variables/index.GSPLAT_PIPELINE_AUTO.html +2 -0
  216. package/docs/variables/index.GSPLAT_PIPELINE_RASTER_CPU_SORT.html +2 -0
  217. package/docs/variables/index.GSPLAT_PIPELINE_RASTER_GPU_SORT.html +2 -0
  218. package/docs/variables/index.PBMVertexMarkFlag.html +4 -0
  219. package/docs/variables/index.PROXY_CONTROLLER_EVENT_NAMES.html +1 -1
  220. package/docs/variables/index.controllersDefaultInitArgs.html +1 -1
  221. package/five/application/controllers.d.ts +8 -0
  222. package/five/application/events.d.ts +1 -1
  223. package/five/application/five.d.ts +15 -1
  224. package/five/application/fiveInitArgs.d.ts +32 -1
  225. package/five/application/mode.d.ts +8 -1
  226. package/five/cardboard/helper.d.ts +2 -0
  227. package/five/cardboard/index.d.ts +13 -0
  228. package/five/cardboard/sensor.d.ts +158 -0
  229. package/five/controllers/base.d.ts +3 -0
  230. package/five/controllers/events.d.ts +5 -3
  231. package/five/controllers/panorama.d.ts +2 -2
  232. package/five/controllers/vrPanorama.d.ts +56 -0
  233. package/five/controllers/xrPanorama.d.ts +506 -0
  234. package/five/core/internalWebGPURenderer.d.ts +23 -1
  235. package/five/core/panoVideo.d.ts +4 -1
  236. package/five/core/tiling.d.ts +40 -9
  237. package/five/core/webglAsyncReadFix.d.ts +25 -0
  238. package/five/gaussian-splatting/gpu-sort/prefixSumKernel.d.ts +65 -0
  239. package/five/gaussian-splatting/gpu-sort/radixSortModule.d.ts +128 -0
  240. package/five/gaussian-splatting/gpu-sort/shaders/radixHistogram.d.ts +2 -0
  241. package/five/gaussian-splatting/gpu-sort/shaders/radixReorder.d.ts +2 -0
  242. package/five/gaussian-splatting/gpu-sort/shaders/sortKeygen.d.ts +2 -0
  243. package/five/gaussian-splatting/gpu-sort/sortAdapter.d.ts +234 -0
  244. package/five/gaussian-splatting/layerRegistry.d.ts +17 -0
  245. package/five/gaussian-splatting/pipelines/cpuSortPipeline.d.ts +159 -0
  246. package/five/gaussian-splatting/pipelines/gpuSortPipeline.d.ts +98 -0
  247. package/five/gaussian-splatting/pipelines/gsplatPipeline.d.ts +104 -0
  248. package/five/gaussian-splatting/pipelines/pipelineMode.d.ts +42 -0
  249. package/five/gaussian-splatting/pipelines/sortThrottle.d.ts +45 -0
  250. package/five/gaussian-splatting/shStore.d.ts +22 -0
  251. package/five/gaussian-splatting/splatAssembler.d.ts +69 -0
  252. package/five/gaussian-splatting/transformStore.d.ts +37 -0
  253. package/five/gaussian-splatting/wasm/sort.d.ts +4 -3
  254. package/five/index.d.ts +8 -2
  255. package/five/index.js +404 -344
  256. package/five/index.mjs +9472 -4878
  257. package/five/meshes/panoCircleMeshCustom.d.ts +1 -0
  258. package/five/model/index.d.ts +3 -2
  259. package/five/model/loaders/spz.d.ts +50 -2
  260. package/five/model/materials/nodes/pbmMeshBasicNodeMaterial.d.ts +2 -0
  261. package/five/model/materials/nodes/pbmMeshPanoOnlyNodeMaterial.d.ts +2 -0
  262. package/five/model/materials/nodes/pbmMeshPhongNodeMaterial.d.ts +2 -0
  263. package/five/model/materials/nodes/pbmMeshPhysicalNodeMaterial.d.ts +2 -0
  264. package/five/model/materials/pbmGaussianSplattingNodeMaterial.d.ts +12 -5
  265. package/five/model/materials/pbmMaterial.d.ts +288 -6
  266. package/five/model/materials/pbmMeshMaterial.d.ts +0 -9
  267. package/five/model/materials/pbmPointCloudNodeMaterial.d.ts +1 -1
  268. package/five/model/materials/tsl/defines.d.ts +8 -2
  269. package/five/model/materials/tsl/outputBuilder.d.ts +8 -15
  270. package/five/model/materials/tsl/panoColor.d.ts +8 -2
  271. package/five/model/materials/tsl/utils.d.ts +13 -0
  272. package/five/model/objects/pbmGaussianSplattingObject.d.ts +30 -4
  273. package/five/model/objects/pbmGaussianSplattingRenderMesh.d.ts +113 -48
  274. package/five/model/objects/pbmPointCloud.d.ts +0 -1
  275. package/five/model/objects/pbmPointCloudObject.d.ts +1 -1
  276. package/five/model/parameter.d.ts +20 -5
  277. package/five/model/tile3d/index.d.ts +2 -0
  278. package/five/model/tile3d/tileset.d.ts +5 -0
  279. package/five/model/tile3d/trajectory-content.d.ts +53 -0
  280. package/five/renderer/compute-renderers/binned/binned-core.d.ts +46 -0
  281. package/five/renderer/compute-renderers/binned/binned-pipelines.d.ts +10 -0
  282. package/five/renderer/compute-renderers/binned/shaders/args-builder.d.ts +2 -0
  283. package/five/renderer/compute-renderers/binned/shaders/classify.d.ts +2 -0
  284. package/five/renderer/compute-renderers/binned/shaders/coop.d.ts +2 -0
  285. package/five/renderer/compute-renderers/pointcloud-compute-renderer.d.ts +14 -38
  286. package/five/renderer/compute-renderers/shaders/lib/color.d.ts +2 -0
  287. package/five/renderer/compute-renderers/shaders/lib/cull.d.ts +2 -0
  288. package/five/renderer/compute-renderers/shaders/lib/encode.d.ts +2 -0
  289. package/five/renderer/compute-renderers/shaders/lib/point-setup.d.ts +2 -0
  290. package/five/renderer/compute-renderers/shaders/lib/point-size.d.ts +2 -0
  291. package/five/renderer/compute-renderers/shaders/lib/raster.d.ts +2 -0
  292. package/five/renderer/compute-renderers/shaders/lib/size-class.d.ts +2 -0
  293. package/five/renderer/compute-renderers/shaders/lib/tile-bindings.d.ts +2 -0
  294. package/five/renderer/compute-renderers/uniform-layout.d.ts +23 -0
  295. package/five/renderer/five-renderer.d.ts +2 -0
  296. package/five/renderer/index.d.ts +1 -1
  297. package/five/renderer/postprocessing/index.d.ts +1 -1
  298. package/five/renderer/postprocessing/passes/flowing-fireworks-3d-pass.d.ts +23 -0
  299. package/five/renderer/postprocessing/passes/flowing-light-2d-pass.d.ts +2 -0
  300. package/five/renderer/postprocessing/passes/flowing-light-3d-pass.d.ts +23 -0
  301. package/five/renderer/postprocessing/passes/pass.js +255 -0
  302. package/five/renderer/postprocessing/passes/pass.mjs +255 -0
  303. package/five/renderer/tools/full-screen-quad.js +255 -0
  304. package/five/renderer/tools/full-screen-quad.mjs +255 -0
  305. package/five/texture/loader.d.ts +6 -0
  306. package/five/types/cube.d.ts +0 -1
  307. package/five/utils/calculateThreeMouse.js +255 -0
  308. package/five/utils/calculateThreeMouse.mjs +255 -0
  309. package/five/utils/detector.d.ts +11 -1
  310. package/five/utils/distance.js +255 -0
  311. package/five/utils/distance.mjs +255 -0
  312. package/five/utils/error.d.ts +1 -0
  313. package/five/utils/event.d.ts +26 -3
  314. package/five/utils/gainmap-data.d.ts +23 -0
  315. package/five/utils/isNil.js +255 -0
  316. package/five/utils/isNil.mjs +255 -0
  317. package/five/utils/ktx2.d.ts +3 -3
  318. package/five/utils/uuid.js +255 -0
  319. package/five/utils/uuid.mjs +255 -0
  320. package/five/webxr/XRControllerModelFactory.d.ts +55 -0
  321. package/five/webxr/buttonStateMachine.d.ts +31 -0
  322. package/five/webxr/deviceProfile.d.ts +70 -0
  323. package/five/webxr/inputSourceTracker.d.ts +59 -0
  324. package/five/webxr/referenceSpace.d.ts +60 -0
  325. package/five/webxr/renderTargetBridge.d.ts +45 -0
  326. package/five/webxr/xrButton.d.ts +4 -0
  327. package/five/webxr/xrManager.d.ts +174 -0
  328. package/five/work/index.d.ts +1 -1
  329. package/five/work/looseWorkType.d.ts +2 -1
  330. package/five/work/work.d.ts +30 -7
  331. package/five/work/workJsonType.d.ts +2 -1
  332. package/gltf-loader/gltf-object.d.ts +17 -0
  333. package/gltf-loader/index.d.ts +45 -0
  334. package/gltf-loader/index.js +255 -0
  335. package/gltf-loader/index.mjs +302 -0
  336. package/line/circle_png.d.ts +1 -0
  337. package/line/index.d.ts +49 -0
  338. package/line/index.js +255 -0
  339. package/line/index.mjs +340 -0
  340. package/llms.txt +1 -1
  341. package/package.json +34 -5
  342. package/plugins/BackgroundPlugin/Controller.d.ts +20 -0
  343. package/plugins/BackgroundPlugin/Controller.js +276 -0
  344. package/plugins/BackgroundPlugin/Controller.mjs +276 -0
  345. package/plugins/BackgroundPlugin/index.d.ts +5 -0
  346. package/plugins/BackgroundPlugin/index.js +255 -0
  347. package/plugins/BackgroundPlugin/index.mjs +255 -0
  348. package/plugins/BackgroundPlugin/typings.d.ts +44 -0
  349. package/plugins/BasePlugin/index.d.ts +1 -1
  350. package/plugins/BasePlugin/index.js +255 -0
  351. package/plugins/BasePlugin/index.mjs +255 -0
  352. package/plugins/CSS2DPlugin/Controller.d.ts +59 -0
  353. package/plugins/CSS2DPlugin/Controller.js +255 -0
  354. package/plugins/CSS2DPlugin/Controller.mjs +255 -0
  355. package/plugins/CSS2DPlugin/index.d.ts +5 -0
  356. package/plugins/CSS2DPlugin/index.js +255 -0
  357. package/plugins/CSS2DPlugin/index.mjs +255 -0
  358. package/plugins/CSS2DPlugin/style.css_raw.js +275 -0
  359. package/plugins/CSS2DPlugin/style.css_raw.mjs +275 -0
  360. package/plugins/CSS2DPlugin/typing.d.ts +31 -0
  361. package/plugins/CSS3DPlugin/Controller.d.ts +64 -0
  362. package/plugins/CSS3DPlugin/Controller.js +255 -0
  363. package/plugins/CSS3DPlugin/Controller.mjs +255 -0
  364. package/plugins/CSS3DPlugin/index.d.ts +5 -0
  365. package/plugins/CSS3DPlugin/index.js +255 -0
  366. package/plugins/CSS3DPlugin/index.mjs +255 -0
  367. package/plugins/CSS3DPlugin/style.css_raw.js +274 -0
  368. package/plugins/CSS3DPlugin/style.css_raw.mjs +274 -0
  369. package/plugins/CSS3DPlugin/typing.d.ts +33 -0
  370. package/plugins/FloorplanPlugin/Controller.d.ts +100 -0
  371. package/plugins/FloorplanPlugin/Controller.js +255 -0
  372. package/plugins/FloorplanPlugin/Controller.mjs +255 -0
  373. package/plugins/FloorplanPlugin/index.d.ts +6 -0
  374. package/plugins/FloorplanPlugin/index.js +255 -0
  375. package/plugins/FloorplanPlugin/index.mjs +255 -0
  376. package/plugins/FloorplanPlugin/render/assets.d.ts +9 -0
  377. package/plugins/FloorplanPlugin/render/assets.js +255 -0
  378. package/plugins/FloorplanPlugin/render/assets.mjs +255 -0
  379. package/plugins/FloorplanPlugin/render/index.d.ts +35 -0
  380. package/plugins/FloorplanPlugin/render/index.js +255 -0
  381. package/plugins/FloorplanPlugin/render/index.mjs +255 -0
  382. package/plugins/FloorplanPlugin/render/isPointInPolygon.d.ts +5 -0
  383. package/plugins/FloorplanPlugin/render/isPointInPolygon.js +255 -0
  384. package/plugins/FloorplanPlugin/render/isPointInPolygon.mjs +255 -0
  385. package/plugins/FloorplanPlugin/render/renderFloor.d.ts +22 -0
  386. package/plugins/FloorplanPlugin/render/renderFloor.js +255 -0
  387. package/plugins/FloorplanPlugin/render/renderFloor.mjs +255 -0
  388. package/plugins/FloorplanPlugin/render/roomLabelVisibility.d.ts +10 -0
  389. package/plugins/FloorplanPlugin/render/roomLabelVisibility.js +255 -0
  390. package/plugins/FloorplanPlugin/render/roomLabelVisibility.mjs +255 -0
  391. package/plugins/FloorplanPlugin/render/style.css_raw.js +585 -0
  392. package/plugins/FloorplanPlugin/render/style.css_raw.mjs +585 -0
  393. package/plugins/FloorplanPlugin/typing.d.ts +156 -0
  394. package/plugins/FloorplanPlugin/typings/floorplanData.d.ts +112 -0
  395. package/plugins/FloorplanPlugin/typings/floorplanJson.d.ts +167 -0
  396. package/plugins/FloorplanPlugin/typings/floorplanServerData.d.ts +78 -0
  397. package/plugins/FloorplanPlugin/typings/index.d.ts +3 -0
  398. package/plugins/FloorplanPlugin/utils/changeMode.d.ts +5 -0
  399. package/plugins/FloorplanPlugin/utils/changeMode.js +255 -0
  400. package/plugins/FloorplanPlugin/utils/changeMode.mjs +255 -0
  401. package/plugins/FloorplanPlugin/utils/changeModelCanvasOpacity.d.ts +6 -0
  402. package/plugins/FloorplanPlugin/utils/changeModelCanvasOpacity.js +255 -0
  403. package/plugins/FloorplanPlugin/utils/changeModelCanvasOpacity.mjs +255 -0
  404. package/plugins/FloorplanPlugin/utils/correctFiveState.d.ts +11 -0
  405. package/plugins/FloorplanPlugin/utils/correctFiveState.js +255 -0
  406. package/plugins/FloorplanPlugin/utils/correctFiveState.mjs +255 -0
  407. package/plugins/FloorplanPlugin/utils/equal.d.ts +9 -0
  408. package/plugins/FloorplanPlugin/utils/equal.js +255 -0
  409. package/plugins/FloorplanPlugin/utils/equal.mjs +255 -0
  410. package/plugins/FloorplanPlugin/utils/filter.d.ts +8 -0
  411. package/plugins/FloorplanPlugin/utils/filter.js +255 -0
  412. package/plugins/FloorplanPlugin/utils/filter.mjs +255 -0
  413. package/plugins/FloorplanPlugin/utils/fiveModelLoad.d.ts +6 -0
  414. package/plugins/FloorplanPlugin/utils/fiveModelLoad.js +255 -0
  415. package/plugins/FloorplanPlugin/utils/fiveModelLoad.mjs +255 -0
  416. package/plugins/FloorplanPlugin/utils/formatData.d.ts +6 -0
  417. package/plugins/FloorplanPlugin/utils/formatData.js +255 -0
  418. package/plugins/FloorplanPlugin/utils/formatData.mjs +255 -0
  419. package/plugins/FloorplanPlugin/utils/formatFloorplanJson.d.ts +20 -0
  420. package/plugins/FloorplanPlugin/utils/formatFloorplanJson.js +255 -0
  421. package/plugins/FloorplanPlugin/utils/formatFloorplanJson.mjs +255 -0
  422. package/plugins/FloorplanPlugin/utils/formatPosition.d.ts +33 -0
  423. package/plugins/FloorplanPlugin/utils/formatPosition.js +255 -0
  424. package/plugins/FloorplanPlugin/utils/formatPosition.mjs +255 -0
  425. package/plugins/FloorplanPlugin/utils/getDistanceFromModel.d.ts +6 -0
  426. package/plugins/FloorplanPlugin/utils/getDistanceFromModel.js +255 -0
  427. package/plugins/FloorplanPlugin/utils/getDistanceFromModel.mjs +255 -0
  428. package/plugins/FloorplanPlugin/utils/getPxmm.d.ts +19 -0
  429. package/plugins/FloorplanPlugin/utils/getPxmm.js +255 -0
  430. package/plugins/FloorplanPlugin/utils/getPxmm.mjs +255 -0
  431. package/plugins/FloorplanPlugin/utils/isTruelyObject.d.ts +4 -0
  432. package/plugins/FloorplanPlugin/utils/isTruelyObject.js +255 -0
  433. package/plugins/FloorplanPlugin/utils/isTruelyObject.mjs +255 -0
  434. package/plugins/FloorplanPlugin/utils/nearlyEqual.d.ts +8 -0
  435. package/plugins/FloorplanPlugin/utils/nearlyEqual.js +255 -0
  436. package/plugins/FloorplanPlugin/utils/nearlyEqual.mjs +255 -0
  437. package/plugins/FloorplanPlugin/utils/polylabel.d.ts +8 -0
  438. package/plugins/FloorplanPlugin/utils/polylabel.js +255 -0
  439. package/plugins/FloorplanPlugin/utils/polylabel.mjs +255 -0
  440. package/plugins/FloorplanPlugin/utils/to.d.ts +5 -0
  441. package/plugins/FloorplanPlugin/utils/to.js +255 -0
  442. package/plugins/FloorplanPlugin/utils/to.mjs +255 -0
  443. package/plugins/GaussianSplattingEntranceAnimationPlugin/Controller.d.ts +1 -1
  444. package/plugins/GaussianSplattingEntranceAnimationPlugin/Controller.js +255 -0
  445. package/plugins/GaussianSplattingEntranceAnimationPlugin/Controller.mjs +255 -0
  446. package/plugins/GaussianSplattingEntranceAnimationPlugin/index.d.ts +1 -1
  447. package/plugins/GaussianSplattingEntranceAnimationPlugin/index.js +255 -0
  448. package/plugins/GaussianSplattingEntranceAnimationPlugin/index.mjs +255 -0
  449. package/plugins/Object3DHelperPlugin/Controller.d.ts +99 -0
  450. package/plugins/Object3DHelperPlugin/Controller.js +255 -0
  451. package/plugins/Object3DHelperPlugin/Controller.mjs +255 -0
  452. package/plugins/Object3DHelperPlugin/Controllers/BaseController.d.ts +139 -0
  453. package/plugins/Object3DHelperPlugin/Controllers/BaseController.js +255 -0
  454. package/plugins/Object3DHelperPlugin/Controllers/BaseController.mjs +255 -0
  455. package/plugins/Object3DHelperPlugin/Controllers/BoundingBoxController.d.ts +16 -0
  456. package/plugins/Object3DHelperPlugin/Controllers/BoundingBoxController.js +255 -0
  457. package/plugins/Object3DHelperPlugin/Controllers/BoundingBoxController.mjs +255 -0
  458. package/plugins/Object3DHelperPlugin/Controllers/MoveController.d.ts +66 -0
  459. package/plugins/Object3DHelperPlugin/Controllers/MoveController.js +255 -0
  460. package/plugins/Object3DHelperPlugin/Controllers/MoveController.mjs +255 -0
  461. package/plugins/Object3DHelperPlugin/Controllers/RotateController.d.ts +61 -0
  462. package/plugins/Object3DHelperPlugin/Controllers/RotateController.js +255 -0
  463. package/plugins/Object3DHelperPlugin/Controllers/RotateController.mjs +255 -0
  464. package/plugins/Object3DHelperPlugin/FiveControllerWrapper.d.ts +17 -0
  465. package/plugins/Object3DHelperPlugin/FiveControllerWrapper.js +255 -0
  466. package/plugins/Object3DHelperPlugin/FiveControllerWrapper.mjs +255 -0
  467. package/plugins/Object3DHelperPlugin/Helper/BaseHelper.d.ts +97 -0
  468. package/plugins/Object3DHelperPlugin/Helper/BaseHelper.js +255 -0
  469. package/plugins/Object3DHelperPlugin/Helper/BaseHelper.mjs +255 -0
  470. package/plugins/Object3DHelperPlugin/Helper/BoundingBoxHelper.d.ts +16 -0
  471. package/plugins/Object3DHelperPlugin/Helper/BoundingBoxHelper.js +255 -0
  472. package/plugins/Object3DHelperPlugin/Helper/BoundingBoxHelper.mjs +255 -0
  473. package/plugins/Object3DHelperPlugin/Helper/MoveHelper.d.ts +37 -0
  474. package/plugins/Object3DHelperPlugin/Helper/MoveHelper.js +255 -0
  475. package/plugins/Object3DHelperPlugin/Helper/MoveHelper.mjs +255 -0
  476. package/plugins/Object3DHelperPlugin/Helper/RotateHelper.d.ts +93 -0
  477. package/plugins/Object3DHelperPlugin/Helper/RotateHelper.js +255 -0
  478. package/plugins/Object3DHelperPlugin/Helper/RotateHelper.mjs +255 -0
  479. package/plugins/Object3DHelperPlugin/constant.d.ts +27 -0
  480. package/plugins/Object3DHelperPlugin/constant.js +255 -0
  481. package/plugins/Object3DHelperPlugin/constant.mjs +255 -0
  482. package/plugins/Object3DHelperPlugin/index.d.ts +6 -0
  483. package/plugins/Object3DHelperPlugin/index.js +255 -0
  484. package/plugins/Object3DHelperPlugin/index.mjs +255 -0
  485. package/plugins/Object3DHelperPlugin/typing.d.ts +143 -0
  486. package/plugins/Object3DHelperPlugin/utils/ArrowGroup.d.ts +22 -0
  487. package/plugins/Object3DHelperPlugin/utils/ArrowGroup.js +255 -0
  488. package/plugins/Object3DHelperPlugin/utils/ArrowGroup.mjs +255 -0
  489. package/plugins/Object3DHelperPlugin/utils/CenterHandle.d.ts +23 -0
  490. package/plugins/Object3DHelperPlugin/utils/CenterHandle.js +255 -0
  491. package/plugins/Object3DHelperPlugin/utils/CenterHandle.mjs +255 -0
  492. package/plugins/Object3DHelperPlugin/utils/PlaneHandle.d.ts +19 -0
  493. package/plugins/Object3DHelperPlugin/utils/PlaneHandle.js +255 -0
  494. package/plugins/Object3DHelperPlugin/utils/PlaneHandle.mjs +255 -0
  495. package/plugins/Object3DHelperPlugin/utils/calculateScaleByCamera.d.ts +5 -0
  496. package/plugins/Object3DHelperPlugin/utils/calculateScaleByCamera.js +255 -0
  497. package/plugins/Object3DHelperPlugin/utils/calculateScaleByCamera.mjs +255 -0
  498. package/plugins/Object3DHelperPlugin/utils/cameraHooks.d.ts +3 -0
  499. package/plugins/Object3DHelperPlugin/utils/cameraHooks.js +255 -0
  500. package/plugins/Object3DHelperPlugin/utils/cameraHooks.mjs +255 -0
  501. package/plugins/Object3DHelperPlugin/utils/direction.d.ts +14 -0
  502. package/plugins/Object3DHelperPlugin/utils/direction.js +255 -0
  503. package/plugins/Object3DHelperPlugin/utils/direction.mjs +255 -0
  504. package/plugins/Object3DHelperPlugin/utils/getMouseRaycaster.d.ts +5 -0
  505. package/plugins/Object3DHelperPlugin/utils/getMouseRaycaster.js +255 -0
  506. package/plugins/Object3DHelperPlugin/utils/getMouseRaycaster.mjs +255 -0
  507. package/plugins/Object3DHelperPlugin/utils/getOrthographicCameraDirection.d.ts +8 -0
  508. package/plugins/Object3DHelperPlugin/utils/getOrthographicCameraDirection.js +255 -0
  509. package/plugins/Object3DHelperPlugin/utils/getOrthographicCameraDirection.mjs +255 -0
  510. package/plugins/Object3DHelperPlugin/utils/setObjectQuaternion.d.ts +8 -0
  511. package/plugins/Object3DHelperPlugin/utils/setObjectQuaternion.js +255 -0
  512. package/plugins/Object3DHelperPlugin/utils/setObjectQuaternion.mjs +255 -0
  513. package/plugins/Object3DHelperPlugin/utils/solidGuide.d.ts +27 -0
  514. package/plugins/Object3DHelperPlugin/utils/solidGuide.js +255 -0
  515. package/plugins/Object3DHelperPlugin/utils/solidGuide.mjs +255 -0
  516. package/plugins/Object3DHelperPlugin/utils/tipsDom.d.ts +8 -0
  517. package/plugins/Object3DHelperPlugin/utils/tipsDom.js +255 -0
  518. package/plugins/Object3DHelperPlugin/utils/tipsDom.mjs +255 -0
  519. package/plugins/PanoAnimePlugin/Controller.d.ts +49 -0
  520. package/plugins/PanoAnimePlugin/Controller.js +255 -0
  521. package/plugins/PanoAnimePlugin/Controller.mjs +255 -0
  522. package/plugins/PanoAnimePlugin/index.d.ts +5 -0
  523. package/plugins/PanoAnimePlugin/index.js +255 -0
  524. package/plugins/PanoAnimePlugin/index.mjs +255 -0
  525. package/plugins/PanoAnimePlugin/typing.d.ts +37 -0
  526. package/plugins/WordPassPlugin/Controller.d.ts +62 -0
  527. package/plugins/WordPassPlugin/Controller.js +255 -0
  528. package/plugins/WordPassPlugin/Controller.mjs +255 -0
  529. package/plugins/WordPassPlugin/hersheyFont.d.ts +11 -0
  530. package/plugins/WordPassPlugin/hersheyFont.js +255 -0
  531. package/plugins/WordPassPlugin/hersheyFont.mjs +255 -0
  532. package/plugins/WordPassPlugin/index.d.ts +7 -0
  533. package/plugins/WordPassPlugin/index.js +255 -0
  534. package/plugins/WordPassPlugin/index.mjs +255 -0
  535. package/plugins/WordPassPlugin/textToStrokeOrderStrokes.d.ts +82 -0
  536. package/plugins/WordPassPlugin/textToStrokeOrderStrokes.js +256 -0
  537. package/plugins/WordPassPlugin/textToStrokeOrderStrokes.mjs +256 -0
  538. package/plugins/WordPassPlugin/typing.d.ts +109 -0
  539. package/plugins/WordPassPlugin/word-pass.d.ts +172 -0
  540. package/plugins/WordPassPlugin/word-pass.js +255 -0
  541. package/plugins/WordPassPlugin/word-pass.mjs +255 -0
  542. package/plugins/index.d.ts +8 -0
  543. package/plugins/index.js +3 -3
  544. package/plugins/index.mjs +3 -287
  545. package/plugins/thirdParty/CSS2DRenderer.d.ts +37 -0
  546. package/plugins/thirdParty/CSS2DRenderer.js +255 -0
  547. package/plugins/thirdParty/CSS2DRenderer.mjs +255 -0
  548. package/plugins/thirdParty/CSS3DRenderer.d.ts +45 -0
  549. package/plugins/thirdParty/CSS3DRenderer.js +255 -0
  550. package/plugins/thirdParty/CSS3DRenderer.mjs +255 -0
  551. package/plugins/thirdParty/OrbitControls.d.ts +78 -0
  552. package/plugins/thirdParty/doctorstrange-model.d.ts +92 -0
  553. package/plugins/thirdParty/doctorstrange-model.js +610 -0
  554. package/plugins/thirdParty/doctorstrange-model.mjs +610 -0
  555. package/plugins/thirdParty/domevents.d.ts +36 -0
  556. package/plugins/thirdParty/domevents.js +255 -0
  557. package/plugins/thirdParty/domevents.mjs +255 -0
  558. package/plugins/utils/absoluteUrl.js +255 -0
  559. package/plugins/utils/absoluteUrl.mjs +255 -0
  560. package/plugins/utils/calculatePath.d.ts +3 -0
  561. package/plugins/utils/calculatePath.js +255 -0
  562. package/plugins/utils/calculatePath.mjs +255 -0
  563. package/plugins/utils/clamp.d.ts +2 -0
  564. package/plugins/utils/clamp.js +255 -0
  565. package/plugins/utils/clamp.mjs +255 -0
  566. package/plugins/utils/uuid.d.ts +2 -0
  567. package/plugins/utils/uuid.js +255 -0
  568. package/plugins/utils/uuid.mjs +255 -0
  569. package/react/context.d.ts +1 -1
  570. package/react/createProvider.d.ts +1 -1
  571. package/react/fiveApp.d.ts +1 -1
  572. package/react/hooks/unsafe__useFiveInstance.d.ts +1 -1
  573. package/react/hooks/useFiveAction.d.ts +1 -1
  574. package/react/hooks/useFiveCurrentObserver.d.ts +1 -1
  575. package/react/hooks/useFiveCurrentState.d.ts +1 -1
  576. package/react/hooks/useFiveEventCallback.d.ts +1 -1
  577. package/react/hooks/useFiveModelEffect.d.ts +1 -1
  578. package/react/hooks/useFiveModelIntersectRaycaster.d.ts +1 -1
  579. package/react/hooks/useFivePlugin.d.ts +1 -1
  580. package/react/hooks/useFiveSceneEffect.d.ts +1 -1
  581. package/react/hooks/useFiveState.d.ts +1 -1
  582. package/react/hooks/useFiveWork.d.ts +1 -1
  583. package/react/index.js +3 -3
  584. package/react/index.mjs +3 -3
  585. package/react/withFive.d.ts +1 -1
  586. package/sticker/geometry.d.ts +3 -0
  587. package/sticker/index.d.ts +68 -0
  588. package/sticker/index.js +255 -0
  589. package/sticker/index.mjs +358 -0
  590. package/umd/five-gltf-loader.js +255 -0
  591. package/umd/five-line.js +322 -0
  592. package/umd/five-plugins.js +817 -3
  593. package/umd/five-react.js +3 -3
  594. package/umd/five-sticker.js +255 -0
  595. package/umd/five-vfx.js +323 -0
  596. package/umd/five.js +472 -412
  597. package/vfx/airflow/airflow.d.ts +18 -0
  598. package/vfx/common/simplex-noise.d.ts +2 -0
  599. package/vfx/frame/frame.d.ts +27 -0
  600. package/vfx/index.d.ts +7 -0
  601. package/vfx/index.js +255 -0
  602. package/vfx/index.mjs +738 -0
  603. package/vfx/particle/instance.d.ts +36 -0
  604. package/vfx/particle/particle.d.ts +119 -0
  605. package/vfx/particle/utils.d.ts +11 -0
  606. package/vfx/particle-gpu/particle.d.ts +75 -0
  607. package/vfx/particle-gpu/utils.d.ts +11 -0
  608. package/vfx/spotLight/spotLight.d.ts +15 -0
  609. package/work-downloader/components/model-3d-tile.d.ts +2 -0
  610. package/work-downloader/components/model.d.ts +3 -0
  611. package/work-downloader/components/observer.d.ts +9 -0
  612. package/work-downloader/download.d.ts +16 -0
  613. package/work-downloader/index.d.ts +2 -0
  614. package/work-downloader/index.js +255 -0
  615. package/work-downloader/index.mjs +567 -0
  616. package/work-downloader/type.d.ts +28 -0
  617. package/work-downloader/utils/download-to-file.d.ts +1 -0
  618. package/work-downloader/utils/image-processing.d.ts +7 -0
  619. package/work-downloader/utils/join-url.d.ts +2 -0
  620. package/work-downloader/utils/log.d.ts +1 -0
  621. package/work-downloader/utils/relative-url.d.ts +1 -0
  622. package/docs/interfaces/index.PBMHDRConfig.html +0 -12
  623. package/five/gaussian-splatting/util/renderData.d.ts +0 -66
  624. package/five/gaussian-splatting/worker/dataWorker.d.ts +0 -1
  625. package/five/three-version-check.d.ts +0 -1
  626. package/five/utils/hdr-data.d.ts +0 -13
  627. package/five/utils/shaderContentFix.d.ts +0 -7
  628. /package/five/{renderer/compute-renderers/shaders/rasterize.d.ts → gaussian-splatting/gpu-sort/shaders/prefixSum.d.ts} +0 -0
@@ -0,0 +1,98 @@
1
+ import * as THREE from 'three/webgpu';
2
+ import { GSplatPipeline, type PipelineFrameParams, type PipelineIndexSource } from './gsplatPipeline';
3
+ /**
4
+ * GPU 排序管线(Pipeline_Mode = `RASTER_GPU_SORT`)
5
+ *
6
+ * 组合 `SortAdapter` + `RadixSortModule`:一次 `requestSort` 在**同一帧内**完成
7
+ * Distance_Range 计算 → keygen → radix sort → Order_Texture 写入(Requirement 12.1 / 12.2),
8
+ * 结果经 Order_Texture 供材质顶点阶段 `textureLoad` 取点。
9
+ *
10
+ * 与 CPU 管线的关键差异:
11
+ * - 排序是**同步生效**的(本帧 submit、本帧绘制读取),因此没有 generation 配对、没有
12
+ * Reorder_CPU、没有 `splatIndex` 上传(Requirement 12.4);
13
+ * - 因为同帧生效,也就**不需要主动请求额外的 Render_Frame**(Requirement 12.3)——
14
+ * `CpuSortPipeline` 那个 `onNeedsRender` 回调在这里没有对应物;
15
+ * - Data_Texture 必须在排序前就位,这由 Render_Mesh 把 `assembler.assemble()` 提前到排序之前
16
+ * 保证(Requirement 12.5)。
17
+ *
18
+ * 不可用性(`unusable`)汇聚三个来源,经 `checkLimits` 统一走「解析为 `RASTER_CPU_SORT` →
19
+ * 下一帧 `syncPipelineMode` 切换」这条降级路径(Requirement 15.4 / 16.1 / 16.3),
20
+ * 本类内部不写单独的降级分支。
21
+ */
22
+ export declare class GpuSortPipeline extends GSplatPipeline {
23
+ /** 原生设备。取不到(非 WebGPU 后端)时管线直接进入失败态。 */
24
+ private readonly device;
25
+ /** 3DGS ↔ 通用排序模块的对接层。构造失败或 device lost 后为 null。 */
26
+ private sortAdapter;
27
+ /** compute pipeline(keygen / radix sort / prefix sum)创建失败(Requirement 16.1)。 */
28
+ private _pipelineCreateFailed;
29
+ /** `GPUDevice` 触发 lost 事件(Requirement 16.3)。 */
30
+ private _deviceLost;
31
+ /** `dispose()` 之后忽略迟到的 `device.lost` 回调,避免在已释放对象上写状态。 */
32
+ private _disposed;
33
+ /** 是否已产出过至少一次有效排序结果(Order_Texture 已写入)。 */
34
+ private _hasSorted;
35
+ /** 最近一次成功排序时的 Total_Points(= Order_Texture 当前承载的点数)。 */
36
+ private _sortedPoints;
37
+ /** 本帧 Total_Points,由 `frameUpdate` 记录。初值 0 使首个 `frameUpdate` 之前不绘制。 */
38
+ private _frameTotalPoints;
39
+ /** 首次排序前充当 `indexSource` 的占位纹理,按需懒建。 */
40
+ private placeholderTexture;
41
+ constructor(renderer: THREE.WebGPURenderer);
42
+ /** 自行在 GPU 上排序:Render_Mesh 因此跳过 Reorder_CPU、Layout_Generation 与 `splatIndex` 写入。 */
43
+ get usesGpuSort(): boolean;
44
+ /**
45
+ * 管线是否已不可用。为真时 `checkLimits` 返回「GPU 管线已失效」,
46
+ * 下一帧的 `syncPipelineMode` 把模式解析为 `RASTER_CPU_SORT` 并完成切换。
47
+ *
48
+ * 三个来源:
49
+ * - `_pipelineCreateFailed`:compute pipeline 创建失败(Requirement 16.1)
50
+ * - `_deviceLost`:`GPUDevice` 丢失(Requirement 16.3)
51
+ * - `sortAdapter.unusable`:keygen dispatch 规模超设备单维上限。keygen shader 只用 `gid.x`
52
+ * 编址,无法像排序模块那样退化为 2D dispatch,其承载上限(约 1677 万点)低于
53
+ * `checkLimits` 按 2D dispatch 允许的规模,所以这一项必须由本 getter 补上——
54
+ * `checkLimits` 自己检不出来。
55
+ */
56
+ get unusable(): boolean;
57
+ /**
58
+ * 本帧可绘制实例数。
59
+ *
60
+ * 资源就绪且已有排序结果时为 Total_Points(Requirement 6.5),否则 0。取
61
+ * `min(本帧点数, 最近一次排序的点数)` 是一层保护:若布局在排序后变大而本帧尚未重排,
62
+ * 多出来的实例在 Order_Texture 里没有对应条目,不绘制它们比绘制越界读到的 0 更正确。
63
+ *
64
+ * 返回 0 的情形:管线不可用(Requirement 16.1 / 16.3)、尚无有效排序结果
65
+ * (Requirement 8.10,含刚切换到本管线的那几帧)、Total_Points 为 0(Requirement 16.5)。
66
+ */
67
+ get instanceCount(): number;
68
+ /**
69
+ * 绘制索引来源:Order_Texture(Requirement 10.6)。
70
+ *
71
+ * Order_Texture 在点数变化时会被 `SortAdapter` 重建(换掉纹理对象),所以 Render_Mesh 需每帧
72
+ * 取用并按引用同步给材质,不能只在首帧绑定一次。
73
+ */
74
+ get indexSource(): PipelineIndexSource;
75
+ /**
76
+ * 请求排序:自建 encoder 录入整条排序链路,一次 submit,同帧生效。
77
+ *
78
+ * **不做节流判断**——是否调用由外层 Sort_Throttle 决定(Requirement 7.1)。
79
+ * 也不请求额外的 Render_Frame:结果对本帧绘制即刻可见,five 的按需渲染语义不变
80
+ * (Requirement 12.3)。
81
+ *
82
+ * 用**自建 encoder** 而不是渲染器的当前 encoder:three 的渲染 encoder 生命周期不对外开放,
83
+ * 且排序必须整体排在本帧绘制命令之前。独立提交靠队列顺序保证这一点。
84
+ */
85
+ requestSort(ctx: PipelineFrameParams): void;
86
+ /**
87
+ * 每帧记录本帧点数,供 `instanceCount` 判定。
88
+ *
89
+ * GPU 路径没有 CPU 路径那样的「把异步结果修正到当前布局」工作(Order_Texture 在
90
+ * `requestSort` 里已就地写好),所以这里只有一次赋值。
91
+ */
92
+ frameUpdate(ctx: PipelineFrameParams): void;
93
+ /** 释放全部 GPU 资源:`SortAdapter`(含 Key_Buffer、uniform、Order_Texture、排序模块)与占位纹理。 */
94
+ dispose(): void;
95
+ /** 释放 `SortAdapter` 并清零排序状态,使 `instanceCount` 立即回到 0。 */
96
+ private releaseAdapter;
97
+ private ensurePlaceholderTexture;
98
+ }
@@ -0,0 +1,104 @@
1
+ import type * as THREE from 'three/webgpu';
2
+ import type { Camera } from '../../core/camera';
3
+ import type { PBMGaussianSplattingObject } from '../../model/objects/pbmGaussianSplattingObject';
4
+ import type { SplatAssembler } from '../splatAssembler';
5
+ import type { TransformStore } from '../transformStore';
6
+ /**
7
+ * 绘制索引来源:管线告诉 Render_Mesh「第 i 个实例要绘制的全局点索引 P 从哪里取」。
8
+ * - `attribute` :CPU 排序路径,P 来自 `splatIndex` 实例属性
9
+ * - `orderTexture`:GPU 排序路径,P 来自 R32UI 的 Order_Texture
10
+ *
11
+ * 新增管线实现时在此联合类型上扩展分支,Render_Mesh 按 `kind` 绑定,不做 `instanceof` 判断。
12
+ */
13
+ export type PipelineIndexSource = {
14
+ kind: 'attribute';
15
+ attribute: THREE.InstancedBufferAttribute;
16
+ } | {
17
+ kind: 'orderTexture';
18
+ texture: THREE.Texture;
19
+ };
20
+ /**
21
+ * 每帧调用参数(params bag)。
22
+ *
23
+ * Render_Mesh 持有**唯一一个**实例,每帧填字段后传给管线,以避免每个 Render_Frame 产生新分配
24
+ * (Requirement 10.7)。因此实现方**不得保留该对象或其字段的引用**:字段内容在下一帧会被覆写,
25
+ * 需要跨帧使用的数据必须在调用内自行取值或拷贝。
26
+ */
27
+ export interface PipelineFrameParams {
28
+ /** 本帧相机(five Camera,含 `matrixWorld` 与投影矩阵)。 */
29
+ camera: Camera;
30
+ /** 当前布局中的 3DGS 对象,顺序与 assembler / transformStore 一致。 */
31
+ objects: readonly PBMGaussianSplattingObject[];
32
+ /** 大数据纹理组装器,本帧已完成 assemble。 */
33
+ assembler: SplatAssembler;
34
+ /** 变换存储(GPU 纹理 + 排序用数组)。 */
35
+ transformStore: TransformStore;
36
+ /** 当前布局总点数(`assembler.totalPoints`)。 */
37
+ totalPoints: number;
38
+ }
39
+ /**
40
+ * 3DGS 渲染管线抽象基类。
41
+ *
42
+ * Render_Mesh 唯一依赖的契约(Requirement 10.1 / 10.2):排序、绘制索引来源、绘制实例数、
43
+ * 材质取点方式、资源释放。按 Pipeline_Mode 在实现间整体切换,Render_Mesh 不引用 Sort_Worker、
44
+ * Radix_Sort_Module、Sort_Adapter 或任何 WebGPU 资源。
45
+ *
46
+ * 采用**抽象基类而非纯接口**(Requirement 10.3):公共状态(`renderer` / `inputsDirty`)与
47
+ * 能力 getter 上提到基类,`markInputsDirty` / `requestSort` / `frameUpdate` / `dispose` 一律给
48
+ * 无副作用默认实现,使 Render_Mesh 可无条件调用而不必按实现类型分支。
49
+ *
50
+ * 后续阶段新增管线(如 `COMPUTE_GPU_SORT` 软光栅化)只需继承本类并在 Pipeline_Mode 解析里加一个
51
+ * 分支,Render_Mesh 的消费代码与切换机制不用改(Requirement 10.9)。
52
+ */
53
+ export declare abstract class GSplatPipeline {
54
+ /** three 渲染器。取原生 `GPUDevice` / `GPUTexture` 的入口,由各实现按需使用。 */
55
+ protected readonly renderer: THREE.WebGPURenderer;
56
+ /**
57
+ * 排序输入是否为脏(对象集合变化、某对象 transform 变化、管线刚切换)。
58
+ * 由 `markInputsDirty()` 置位,实现在完成排序后自行清除。初值为 true,使首帧必定排序。
59
+ */
60
+ protected inputsDirty: boolean;
61
+ constructor(renderer: THREE.WebGPURenderer);
62
+ /**
63
+ * 是否自行在 GPU 上完成排序。
64
+ * 为 true 时 Render_Mesh 跳过 Reorder_CPU、Layout_Generation 与 `splatIndex` 写入。
65
+ */
66
+ get usesGpuSort(): boolean;
67
+ /**
68
+ * 材质是否应启用 Order_Texture 取点。
69
+ * 由 `usesGpuSort` 派生,实现类通常无需单独覆盖。
70
+ */
71
+ get requiresOrderTexture(): boolean;
72
+ /**
73
+ * 本帧可绘制实例数。资源未就绪、排序失败或尚无有效排序结果时返回 0
74
+ * (Render_Mesh 据此降级为空绘制而不中断渲染循环)。
75
+ */
76
+ abstract get instanceCount(): number;
77
+ /** 绘制索引来源。Render_Mesh 按 `kind` 绑定 Order_Texture 或 `splatIndex` 实例属性。 */
78
+ abstract get indexSource(): PipelineIndexSource;
79
+ /**
80
+ * 通知管线排序输入已变化(布局或 transform 变化、管线刚切换)。
81
+ * 基类仅记录脏标记;实现可覆盖以追加动作(如令 worker 重传输入),覆盖时需调用 `super`。
82
+ */
83
+ markInputsDirty(): void;
84
+ /**
85
+ * 请求排序。**不做节流判断**——是否调用由外层 Sort_Throttle 决定(Requirement 7.1)。
86
+ *
87
+ * 基类为无副作用空实现,使将来某个无需每帧排序的管线(例如全静态场景的预排序管线)可直接继承。
88
+ *
89
+ * @param _ctx 每帧参数,跨帧复用,不得保留引用。
90
+ */
91
+ requestSort(_ctx: PipelineFrameParams): void;
92
+ /**
93
+ * 每帧无条件调用(排序之后、绘制之前),供实现同步材质参数、上传实例属性等。
94
+ * 基类为无副作用空实现。
95
+ *
96
+ * @param _ctx 每帧参数,跨帧复用,不得保留引用。
97
+ */
98
+ frameUpdate(_ctx: PipelineFrameParams): void;
99
+ /**
100
+ * 释放管线持有的全部资源(Worker、GPU buffer、纹理等,Requirement 10.8)。
101
+ * 基类为无副作用空实现。
102
+ */
103
+ dispose(): void;
104
+ }
@@ -0,0 +1,42 @@
1
+ import type * as THREE from 'three/webgpu';
2
+ /** 由设备能力自动解析。永不作为 Current_Pipeline_Mode 出现。 */
3
+ export declare const GSPLAT_PIPELINE_AUTO = 0;
4
+ /** TSL 硬件光栅化 + wasm worker 排序(现状,WebGL2 路径)。 */
5
+ export declare const GSPLAT_PIPELINE_RASTER_CPU_SORT = 1;
6
+ /** TSL 硬件光栅化 + GPU compute radix sort。 */
7
+ export declare const GSPLAT_PIPELINE_RASTER_GPU_SORT = 2;
8
+ /**
9
+ * GPU 管线的可用性探针。
10
+ *
11
+ * 只声明 `checkLimits` 真正需要的那一个成员,避免 `pipelineMode.ts` 反向依赖
12
+ * `GSplatPipeline` / `GpuSortPipeline` 的具体类型(`GpuSortPipeline` 的
13
+ * `unusable` getter 结构上满足这个约定)。
14
+ */
15
+ export interface GSplatPipelineUsability {
16
+ readonly unusable?: boolean;
17
+ }
18
+ /**
19
+ * 按当前点数检查设备 limits 是否支撑 GPU 排序管线。
20
+ *
21
+ * @param device 已就绪的 `GPUDevice`
22
+ * @param totalPoints 当前场景的 Total_Points
23
+ * @param activePipeline 当前生效的管线(可选)。其 `unusable` 为真时(compute pipeline
24
+ * 创建失败或 device lost)一并视为不可用,使运行期失败复用同一条降级路径。
25
+ * @returns 不可用时返回可读的原因字符串,可用时返回 `null`
26
+ */
27
+ export declare function checkLimits(device: GPUDevice, totalPoints: number, activePipeline?: GSplatPipelineUsability | null): string | null;
28
+ /**
29
+ * 把 Requested_Pipeline_Mode 解析为 Current_Pipeline_Mode。
30
+ *
31
+ * - `AUTO`:后端为 WebGPU、`GPUDevice` 就绪且 limits 通过时选 `RASTER_GPU_SORT`,否则 `RASTER_CPU_SORT`
32
+ * - 显式 `RASTER_GPU_SORT`:前提不满足时静默降级为 `RASTER_CPU_SORT`(不抛错)
33
+ * - 解析过程抛异常:`console.warn` 并返回 `RASTER_CPU_SORT`
34
+ *
35
+ * 返回值永不为 `GSPLAT_PIPELINE_AUTO`。
36
+ *
37
+ * @param requested Requested_Pipeline_Mode
38
+ * @param renderer 当前渲染器
39
+ * @param totalPoints 当前场景的 Total_Points,用于按实际规模检查 limits
40
+ * @param activePipeline 当前生效的管线,透传给 `checkLimits` 以纳入其 `unusable` 状态
41
+ */
42
+ export declare function resolvePipelineMode(requested: number, renderer: THREE.WebGPURenderer, totalPoints: number, activePipeline?: GSplatPipelineUsability | null): number;
@@ -0,0 +1,45 @@
1
+ import * as THREE from 'three/webgpu';
2
+ /**
3
+ * 排序节流器
4
+ *
5
+ * 只负责回答「本 Render_Frame 是否需要调用管线的排序」这一个问题:
6
+ * 不持有任何 GPU 资源,不引用排序模块,对 `GSplatPipeline` 的内部逻辑无侵入。
7
+ *
8
+ * 阈值语义与字段名沿用改造前 `PBMGaussianSplattingRenderMesh.shouldSort`,
9
+ * 使 `RASTER_CPU_SORT` 与 `RASTER_GPU_SORT` 两条管线的节流行为完全一致。
10
+ */
11
+ export declare class SortThrottle {
12
+ /** 平移增量阈值(世界单位):超过才重排。 */
13
+ sortCameraDistance: number;
14
+ /** 姿态相似度阈值(|quat 点积|):低于才重排(0.99 ≈ 约 16° 内不重排)。 */
15
+ sortCameraCoorient: number;
16
+ /** 最小重排间隔(ms):即使相机已明显变化也不超过此频率,0 = 不限。 */
17
+ sortMinIntervalMs: number;
18
+ /** 上次排序时的相机世界矩阵快照(尚未排序过时为 null)。 */
19
+ private prevMatrix;
20
+ /** 上次排序的时间戳(ms)。 */
21
+ private lastTime;
22
+ /** 是否已产生过至少一次排序结果。 */
23
+ private hasSorted;
24
+ /**
25
+ * 判定本帧是否需要排序。
26
+ *
27
+ * 判定顺序(与改造前实现一致,`inputsDirty` 优先于时间门):
28
+ * 1. 尚未排序过,或排序输入已脏(对象集合 / transform 变化)→ 必须排序。
29
+ * 数据变了不重排会用旧布局的索引访问新布局的数据。
30
+ * 2. 距上次排序不足 `sortMinIntervalMs` → 不排序。
31
+ * 3. 无相机快照(理论上被步骤 1 覆盖,仅作兜底)→ 排序。
32
+ * 4. 相机位移超过 `sortCameraDistance`,或姿态相似度低于 `sortCameraCoorient` → 排序。
33
+ *
34
+ * @param camera 当前帧相机
35
+ * @param inputsDirty 对象集合或某对象 transform 是否发生变化
36
+ */
37
+ shouldSort(camera: THREE.Camera, inputsDirty: boolean): boolean;
38
+ /** 记录本次排序:快照相机矩阵与时间戳。排序被实际发起后调用。 */
39
+ markSorted(camera: THREE.Camera): void;
40
+ /**
41
+ * 重置节流状态,使下一帧必定重排。
42
+ * 管线切换时调用(切换后的新管线尚无任何排序结果)。
43
+ */
44
+ reset(): void;
45
+ }
@@ -0,0 +1,22 @@
1
+ import * as THREE from 'three/webgpu';
2
+ import type { PBMGaussianSplattingObject } from '../model/objects/pbmGaussianSplattingObject';
3
+ /**
4
+ * 细粒度 SH 存储:按对象顺序连续偏移写入球谐系数,重建一张 RGBA32F 纹理供渲染 shader 采样。
5
+ *
6
+ * `appliedDegree = min(usedSHDegree, dataMaxDegree)`:既受用户/渲染配置的 `usedSHDegree` 限制,
7
+ * 也受数据本身支持的最大阶数 `dataMaxDegree = max(obj.maxSHDegree)` 限制。
8
+ */
9
+ export declare class SHStore {
10
+ texture: THREE.DataTexture | null;
11
+ readonly textureSize: THREE.Vector2;
12
+ /** 数据支持的最大 SH 阶数 = max(obj.maxSHDegree) */
13
+ dataMaxDegree: number;
14
+ /** 当前纹理实际写入的阶数 = min(usedSHDegree, dataMaxDegree) */
15
+ appliedDegree: number;
16
+ /**
17
+ * 按对象顺序重建 SH 纹理。返回是否构建了纹理(usedSHDegree/数据不足时返回 false 且不建纹理)。
18
+ * totalPoints 必须与大纹理布局一致(对象顺序累加 numPoints)。
19
+ */
20
+ sync(objects: readonly PBMGaussianSplattingObject[], usedSHDegree: number): boolean;
21
+ dispose(): void;
22
+ }
@@ -0,0 +1,69 @@
1
+ import * as THREE from 'three/webgpu';
2
+ import type { PBMGaussianSplattingObject } from '../model/objects/pbmGaussianSplattingObject';
3
+ /** 组装后大纹理中的一段:对应单个 GS_Object 的连续全局点区间。 */
4
+ export interface AssembledRegion {
5
+ object: PBMGaussianSplattingObject;
6
+ /** 全局点起始(累积 count 得到的连续偏移) */
7
+ start: number;
8
+ count: number;
9
+ transformIndex: number;
10
+ layerIndex: number;
11
+ }
12
+ /**
13
+ * 增量组装器(CPU):`sync` 做集合 diff + 连续 start 偏移;`assemble` 在 CPU 端把各对象
14
+ * packedData 紧凑拼进大纹理缓冲并覆写 word7,经 `THREE.DataTexture` 上传供主材质 `textureLoad` 采样;
15
+ * `dataTexture` 返回该 DataTexture。
16
+ */
17
+ export declare class SplatAssembler {
18
+ /** 大纹理宽(texel),须与 TSL 材质硬编码的 2048 一致。 */
19
+ readonly width: number;
20
+ private regionMap;
21
+ private regionList;
22
+ /** CPU 大纹理缓冲(width*height*4 uint32);容量不足时按需重建。 */
23
+ private data;
24
+ /** 供 TSL 主材质采样的 DataTexture(RGBA32UI);大小变化时重建。 */
25
+ private _tex;
26
+ private texHeight;
27
+ constructor(width?: number);
28
+ get totalPoints(): number;
29
+ get regions(): readonly AssembledRegion[];
30
+ /**
31
+ * 供 TSL 主材质 `textureLoad` 采样的大纹理(RGBA32UI DataTexture,声明为 texture_2d<u32>);
32
+ * 未组装 / totalPoints=0 时为 null(触发调用方空绘制降级门)。
33
+ */
34
+ get dataTexture(): THREE.Texture | null;
35
+ /**
36
+ * 按有序对象列表增量同步(不触碰 GPU,onBeforeRender 早期即可调用):
37
+ * - 存活对象:保留 region,仅更新 transformIndex/layerIndex;
38
+ * - 新增对象:新建 region;
39
+ * - 移除对象:删除 region。
40
+ *
41
+ * regionList 顺序严格按传入 objects 顺序(须与 TransformStore/SHStore 布局一致),
42
+ * 并按累积 count 计算各区域连续 `start` 偏移。
43
+ */
44
+ sync(objects: readonly PBMGaussianSplattingObject[], resolveIndices: (obj: PBMGaussianSplattingObject) => {
45
+ transformIndex: number;
46
+ layerIndex: number;
47
+ }): void;
48
+ /**
49
+ * CPU 组装:把各 region 的 packedData 紧凑拷进大纹理缓冲、逐 splat 覆写 word7,
50
+ * 然后经 DataTexture 上传。仅在 tile 集合变化时调用一次(相机移动帧不调用)。
51
+ */
52
+ assemble(): void;
53
+ /**
54
+ * 从各 region 的 packedData texel0 提取世界坐标 + transformIndex 供 Sort_Worker(`_sort`)。
55
+ *
56
+ * 顺序严格按大纹理全局点索引(region.start + local,region 遍历顺序即 regionList 顺序),
57
+ * 保证 Sort_Worker 回传的 depthIndex 能正确映射回大纹理点位。
58
+ * - positions:Float32Array,长度 totalPoints*3,每点 xyz 世界坐标;
59
+ * texel0 前 3 个 uint32 即位置的 float32 位模式(对齐 boundingBox 提取语义)。
60
+ * - transformIndices:Uint32Array,长度 totalPoints,每点取其 region.transformIndex。
61
+ */
62
+ extractSortInputs(): {
63
+ positions: Float32Array;
64
+ transformIndices: Uint32Array;
65
+ count: number;
66
+ };
67
+ dispose(): void;
68
+ private disposeTexture;
69
+ }
@@ -0,0 +1,37 @@
1
+ import * as THREE from 'three/webgpu';
2
+ import type { PBMGaussianSplattingObject } from '../model/objects/pbmGaussianSplattingObject';
3
+ /**
4
+ * 细粒度 transform 存储:
5
+ * - GPU 端维护一张 RGBA32F 纹理(9 texel/对象,含 CPU 预算 inverse)供渲染 shader 采样。
6
+ * - CPU 端另维护一份 20 float/对象的 `transforms` 数组,布局与 `sort.cpp` 的 `_sort` 约定一致,
7
+ * 供排序 worker 直接消费(两套表示由本 store 统一保持同步)。
8
+ *
9
+ * `updateOne(o)` 只更新受影响对象对应的两段数据并标记纹理重传,避免整体重建。
10
+ */
11
+ export declare class TransformStore {
12
+ texture: THREE.DataTexture | null;
13
+ /** GPU 纹理宽度(texel 数 / 对象):9(含预算 inverse)。 */
14
+ readonly width = 9;
15
+ /** GPU 纹理后备数据:36 float/对象。 */
16
+ private data;
17
+ /** 排序 worker 用数据:20 float/对象(与 sort.cpp 步长一致)。 */
18
+ private sortTransforms;
19
+ private indexMap;
20
+ private count;
21
+ /** transformIndex(对象在当前布局中的序号),未纳管时返回 undefined。 */
22
+ indexOf(object: PBMGaussianSplattingObject): number | undefined;
23
+ get objectCount(): number;
24
+ /**
25
+ * 供排序 worker 的矩阵数据(前 count*20 个 float 有效)。
26
+ * 布局为每对象 20 float(16 matrixWorld + selected + 3 pad),与 `sort.cpp` `_sort` 约定一致。
27
+ */
28
+ get transforms(): Float32Array;
29
+ /** 按对象顺序分配 transformIndex,写入每对象矩阵 + selected + 预算 inverse,并重建纹理。 */
30
+ sync(objects: readonly PBMGaussianSplattingObject[]): void;
31
+ /** 单对象 transform / selected 变化:就地更新两套表示 + 标记纹理整张重传。 */
32
+ updateOne(object: PBMGaussianSplattingObject): void;
33
+ /** 把第 i 个对象的 matrixWorld / selected / inverse 写入 GPU 数据与排序数据两处。 */
34
+ private writeObject;
35
+ private rebuildTexture;
36
+ dispose(): void;
37
+ }
@@ -7,10 +7,11 @@ interface WasmModule {
7
7
  transformIndices: number,
8
8
  vertexCount: number,
9
9
  positions: number,
10
- depthBuffer: number,
10
+ depthKeys: number,
11
11
  depthIndex: number,
12
- starts: number,
13
- counts: number,
12
+ scratch: number,
13
+ bucketLo: number,
14
+ bucketHi: number,
14
15
  ): void;
15
16
  }
16
17
 
package/five/index.d.ts CHANGED
@@ -1,6 +1,5 @@
1
1
  /// <reference types="./declare" />
2
2
 
3
- import "./three-version-check";
4
3
  import "./certificates/hardware";
5
4
  export * from './model';
6
5
  export * from "./work";
@@ -18,10 +17,12 @@ export { imageURL as defaultImageURLTransform, type ImageURLOptions, type ImageU
18
17
  export { imageSupport } from "./utils/imageSupport";
19
18
  export { Motion, type MotionKeyframe, type MotionValue, type MotionConfig, type MotionInitalValue, type MotionCircle, } from "./utils/motion";
20
19
  export { isPanoId, panoEqual, panoParse, panoStringify, type PanoId, type Pano, } from "./utils/pano";
20
+ export { type GainmapCfgData, } from "./utils/gainmap-data";
21
+ export { type Clock, } from "./utils/clock";
21
22
  export { coordinatesToVector, vectorToCoordinates, headingToLongitude, longitudeToHeading, } from './utils/vectorCoordinates';
22
23
  export { draco, type Draco } from './utils/draco';
23
24
  export { makeBoundingVolume, isBoundingVolume, createDebugBoundingMesh, type BoundingVolume, type CullingVolume, type VolumePlaneIntersect, type BoundingVolumeJson, type BoxBoundingVolume, type BoxBoundingVolumeJson, type RegionBoundingVolume, type RegionBoundingVolumeJson, type SphereBoundingVolume, type SphereBoundingVolumeJson } from './utils/volume';
24
- export { type BaseEvent, type GestureEvent, type IntersectEvent, type ModeChangeEvent, type ModelTileEvent, type ModelEvent, type ModelSceneEvent, type NetworkResourceEvent, type ObjectEvent, type PanoEvent, type PanoTextureEvent, type RenderEvent, type StateEvent, type WorksEvent, type XRGestureEvent, type XRSessionEvent, type XRControllerEvent } from './utils/event';
25
+ export { type BaseEvent, type GestureEvent, type IntersectEvent, type ModeChangeEvent, type ModelTileEvent, type ModelEvent, type ModelSceneEvent, type NetworkResourceEvent, type ObjectEvent, type PanoEvent, type PanoPrepareEvent, type PanoTextureEvent, type RenderEvent, type StateEvent, type WorksEvent, type XRGestureEvent, type XRMachineType, type XRSessionEvent, type XRControllerEvent } from './utils/event';
25
26
  export { type EasingFunction, } from './utils/easing';
26
27
  export { BoundingMesh, } from './meshes/boundingMesh';
27
28
  export { PanoCircleMesh, type PanoCircleMeshOptions, } from "./meshes/panoCircleMesh";
@@ -42,6 +43,7 @@ export { type IntersectMeshInterface } from "./types/intersectMeshInterface";
42
43
  export { type Intersection } from "./model/intersection";
43
44
  export { Five } from "./application/five";
44
45
  export { type Mode } from "./application/mode";
46
+ export { GSPLAT_PIPELINE_AUTO, GSPLAT_PIPELINE_RASTER_CPU_SORT, GSPLAT_PIPELINE_RASTER_GPU_SORT, } from "./gaussian-splatting/pipelines/pipelineMode";
45
47
  export { PROXY_CONTROLLER_EVENT_NAMES, type EventTypes, type ControllerEventTypes, type EventCallback, } from "./application/events";
46
48
  export { type LegacyEventType, type GestureTypes, type WebXRControllerKey, type WebXRControllerType, type WebXRControllerParams, type WebXRAxesParams } from './application/events-legacy';
47
49
  export { type FiveInitArgs } from "./application/fiveInitArgs";
@@ -54,5 +56,9 @@ export { type FloorplanControllerCustomInitArgs } from "./controllers/floorplan"
54
56
  export { type ModelControllerCustomInitArgs } from "./controllers/model";
55
57
  export { type PanoramaControllerCustomInitArgs } from "./controllers/panorama";
56
58
  export { type TopviewControllerCustomInitArgs } from "./controllers/topview";
59
+ export { type VRPanoramaControllerCustomInitArgs } from "./controllers/vrPanorama";
57
60
  export { type PanoramaLikeControllerCustomInitArgs } from "./controllers/panoramaLike";
58
61
  export { type MapviewControllerCustomInitArgs } from "./controllers/mapview";
62
+ export { type XRPanoramaControllerCustomInitArgs } from "./controllers/xrPanorama";
63
+ export { XRButton } from "./webxr/xrButton";
64
+ export { type DeviceProfile, type DeviceProfileOverride } from "./webxr/deviceProfile";