vim-web 0.6.0-dev.0 → 0.6.0-dev.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (262) hide show
  1. package/README.md +104 -75
  2. package/dist/style.css +3 -0
  3. package/dist/vim-bim.d.ts +1920 -0
  4. package/dist/vim-web.d.ts +3364 -0
  5. package/dist/vim-web.iife.js +13597 -14585
  6. package/dist/vim-web.iife.js.map +1 -1
  7. package/dist/vim-web.js +13626 -14614
  8. package/dist/vim-web.js.map +1 -1
  9. package/package.json +12 -9
  10. package/dist/types/core-viewers/index.d.ts +0 -3
  11. package/dist/types/core-viewers/shared/baseInputHandler.d.ts +0 -28
  12. package/dist/types/core-viewers/shared/index.d.ts +0 -11
  13. package/dist/types/core-viewers/shared/inputAdapter.d.ts +0 -22
  14. package/dist/types/core-viewers/shared/inputHandler.d.ts +0 -99
  15. package/dist/types/core-viewers/shared/keyboardHandler.d.ts +0 -96
  16. package/dist/types/core-viewers/shared/loadResult.d.ts +0 -55
  17. package/dist/types/core-viewers/shared/mouseHandler.d.ts +0 -30
  18. package/dist/types/core-viewers/shared/raycaster.d.ts +0 -27
  19. package/dist/types/core-viewers/shared/selection.d.ts +0 -105
  20. package/dist/types/core-viewers/shared/touchHandler.d.ts +0 -42
  21. package/dist/types/core-viewers/shared/vim.d.ts +0 -48
  22. package/dist/types/core-viewers/shared/vimCollection.d.ts +0 -25
  23. package/dist/types/core-viewers/ultra/camera.d.ts +0 -116
  24. package/dist/types/core-viewers/ultra/colorManager.d.ts +0 -73
  25. package/dist/types/core-viewers/ultra/decoder.d.ts +0 -108
  26. package/dist/types/core-viewers/ultra/decoderWithWorker.d.ts +0 -80
  27. package/dist/types/core-viewers/ultra/element3d.d.ts +0 -44
  28. package/dist/types/core-viewers/ultra/index.d.ts +0 -29
  29. package/dist/types/core-viewers/ultra/inputAdapter.d.ts +0 -8
  30. package/dist/types/core-viewers/ultra/loadRequest.d.ts +0 -14
  31. package/dist/types/core-viewers/ultra/logger.d.ts +0 -9
  32. package/dist/types/core-viewers/ultra/protocol.d.ts +0 -13
  33. package/dist/types/core-viewers/ultra/raycaster.d.ts +0 -52
  34. package/dist/types/core-viewers/ultra/remoteColor.d.ts +0 -37
  35. package/dist/types/core-viewers/ultra/renderer.d.ts +0 -147
  36. package/dist/types/core-viewers/ultra/rpcClient.d.ts +0 -86
  37. package/dist/types/core-viewers/ultra/rpcMarshal.d.ts +0 -64
  38. package/dist/types/core-viewers/ultra/rpcSafeClient.d.ts +0 -470
  39. package/dist/types/core-viewers/ultra/rpcTypes.d.ts +0 -71
  40. package/dist/types/core-viewers/ultra/rpcUtils.d.ts +0 -8
  41. package/dist/types/core-viewers/ultra/sectionBox.d.ts +0 -33
  42. package/dist/types/core-viewers/ultra/selection.d.ts +0 -4
  43. package/dist/types/core-viewers/ultra/socketClient.d.ts +0 -153
  44. package/dist/types/core-viewers/ultra/streamLogger.d.ts +0 -19
  45. package/dist/types/core-viewers/ultra/streamRenderer.d.ts +0 -7
  46. package/dist/types/core-viewers/ultra/viewer.d.ts +0 -139
  47. package/dist/types/core-viewers/ultra/viewport.d.ts +0 -47
  48. package/dist/types/core-viewers/ultra/vim.d.ts +0 -50
  49. package/dist/types/core-viewers/ultra/vimCollection.d.ts +0 -51
  50. package/dist/types/core-viewers/ultra/visibility.d.ts +0 -100
  51. package/dist/types/core-viewers/webgl/index.d.ts +0 -5
  52. package/dist/types/core-viewers/webgl/loader/averageBoundingBox.d.ts +0 -6
  53. package/dist/types/core-viewers/webgl/loader/colorAttribute.d.ts +0 -34
  54. package/dist/types/core-viewers/webgl/loader/element3d.d.ts +0 -108
  55. package/dist/types/core-viewers/webgl/loader/elementMapping.d.ts +0 -113
  56. package/dist/types/core-viewers/webgl/loader/geometry.d.ts +0 -103
  57. package/dist/types/core-viewers/webgl/loader/index.d.ts +0 -24
  58. package/dist/types/core-viewers/webgl/loader/materials/ghostMaterial.d.ts +0 -16
  59. package/dist/types/core-viewers/webgl/loader/materials/index.d.ts +0 -10
  60. package/dist/types/core-viewers/webgl/loader/materials/maskMaterial.d.ts +0 -8
  61. package/dist/types/core-viewers/webgl/loader/materials/materials.d.ts +0 -161
  62. package/dist/types/core-viewers/webgl/loader/materials/mergeMaterial.d.ts +0 -18
  63. package/dist/types/core-viewers/webgl/loader/materials/outlineMaterial.d.ts +0 -78
  64. package/dist/types/core-viewers/webgl/loader/materials/pickingMaterial.d.ts +0 -42
  65. package/dist/types/core-viewers/webgl/loader/materials/simpleMaterial.d.ts +0 -17
  66. package/dist/types/core-viewers/webgl/loader/materials/skyboxMaterial.d.ts +0 -16
  67. package/dist/types/core-viewers/webgl/loader/materials/standardMaterial.d.ts +0 -57
  68. package/dist/types/core-viewers/webgl/loader/materials/transferMaterial.d.ts +0 -8
  69. package/dist/types/core-viewers/webgl/loader/mesh.d.ts +0 -118
  70. package/dist/types/core-viewers/webgl/loader/progressive/g3dOffsets.d.ts +0 -53
  71. package/dist/types/core-viewers/webgl/loader/progressive/g3dSubset.d.ts +0 -117
  72. package/dist/types/core-viewers/webgl/loader/progressive/insertableGeometry.d.ts +0 -45
  73. package/dist/types/core-viewers/webgl/loader/progressive/insertableMesh.d.ts +0 -63
  74. package/dist/types/core-viewers/webgl/loader/progressive/insertableSubmesh.d.ts +0 -43
  75. package/dist/types/core-viewers/webgl/loader/progressive/instancedMesh.d.ts +0 -39
  76. package/dist/types/core-viewers/webgl/loader/progressive/instancedMeshFactory.d.ts +0 -27
  77. package/dist/types/core-viewers/webgl/loader/progressive/instancedSubmesh.d.ts +0 -31
  78. package/dist/types/core-viewers/webgl/loader/progressive/legacyMeshFactory.d.ts +0 -26
  79. package/dist/types/core-viewers/webgl/loader/progressive/loadRequest.d.ts +0 -21
  80. package/dist/types/core-viewers/webgl/loader/progressive/loadingSynchronizer.d.ts +0 -27
  81. package/dist/types/core-viewers/webgl/loader/progressive/subsetBuilder.d.ts +0 -74
  82. package/dist/types/core-viewers/webgl/loader/progressive/subsetRequest.d.ts +0 -38
  83. package/dist/types/core-viewers/webgl/loader/progressive/vimx.d.ts +0 -17
  84. package/dist/types/core-viewers/webgl/loader/scene.d.ts +0 -90
  85. package/dist/types/core-viewers/webgl/loader/vim.d.ts +0 -163
  86. package/dist/types/core-viewers/webgl/loader/vimCollection.d.ts +0 -78
  87. package/dist/types/core-viewers/webgl/loader/vimSettings.d.ts +0 -69
  88. package/dist/types/core-viewers/webgl/loader/webglAttribute.d.ts +0 -19
  89. package/dist/types/core-viewers/webgl/utils/boxes.d.ts +0 -5
  90. package/dist/types/core-viewers/webgl/viewer/camera/camera.d.ts +0 -149
  91. package/dist/types/core-viewers/webgl/viewer/camera/cameraInterface.d.ts +0 -107
  92. package/dist/types/core-viewers/webgl/viewer/camera/cameraMovement.d.ts +0 -88
  93. package/dist/types/core-viewers/webgl/viewer/camera/cameraMovementLerp.d.ts +0 -28
  94. package/dist/types/core-viewers/webgl/viewer/camera/cameraMovementSnap.d.ts +0 -23
  95. package/dist/types/core-viewers/webgl/viewer/camera/cameraOrthographic.d.ts +0 -11
  96. package/dist/types/core-viewers/webgl/viewer/camera/cameraPerspective.d.ts +0 -11
  97. package/dist/types/core-viewers/webgl/viewer/camera/index.d.ts +0 -7
  98. package/dist/types/core-viewers/webgl/viewer/environment/environment.d.ts +0 -38
  99. package/dist/types/core-viewers/webgl/viewer/environment/index.d.ts +0 -3
  100. package/dist/types/core-viewers/webgl/viewer/environment/light.d.ts +0 -43
  101. package/dist/types/core-viewers/webgl/viewer/environment/skybox.d.ts +0 -39
  102. package/dist/types/core-viewers/webgl/viewer/gizmos/axes/axes.d.ts +0 -14
  103. package/dist/types/core-viewers/webgl/viewer/gizmos/axes/axesSettings.d.ts +0 -20
  104. package/dist/types/core-viewers/webgl/viewer/gizmos/axes/gizmoAxes.d.ts +0 -62
  105. package/dist/types/core-viewers/webgl/viewer/gizmos/axes/index.d.ts +0 -3
  106. package/dist/types/core-viewers/webgl/viewer/gizmos/gizmoLoading.d.ts +0 -23
  107. package/dist/types/core-viewers/webgl/viewer/gizmos/gizmoOrbit.d.ts +0 -76
  108. package/dist/types/core-viewers/webgl/viewer/gizmos/gizmos.d.ts +0 -45
  109. package/dist/types/core-viewers/webgl/viewer/gizmos/index.d.ts +0 -7
  110. package/dist/types/core-viewers/webgl/viewer/gizmos/markers/gizmoMarker.d.ts +0 -113
  111. package/dist/types/core-viewers/webgl/viewer/gizmos/markers/gizmoMarkers.d.ts +0 -52
  112. package/dist/types/core-viewers/webgl/viewer/gizmos/markers/index.d.ts +0 -2
  113. package/dist/types/core-viewers/webgl/viewer/gizmos/measure/index.d.ts +0 -3
  114. package/dist/types/core-viewers/webgl/viewer/gizmos/measure/measure.d.ts +0 -97
  115. package/dist/types/core-viewers/webgl/viewer/gizmos/measure/measureGizmo.d.ts +0 -44
  116. package/dist/types/core-viewers/webgl/viewer/gizmos/measure/measureHtml.d.ts +0 -26
  117. package/dist/types/core-viewers/webgl/viewer/gizmos/sectionBox/SectionBoxMesh.d.ts +0 -15
  118. package/dist/types/core-viewers/webgl/viewer/gizmos/sectionBox/index.d.ts +0 -7
  119. package/dist/types/core-viewers/webgl/viewer/gizmos/sectionBox/sectionBox.d.ts +0 -103
  120. package/dist/types/core-viewers/webgl/viewer/gizmos/sectionBox/sectionBoxGizmo.d.ts +0 -18
  121. package/dist/types/core-viewers/webgl/viewer/gizmos/sectionBox/sectionBoxHandle.d.ts +0 -20
  122. package/dist/types/core-viewers/webgl/viewer/gizmos/sectionBox/sectionBoxHandles.d.ts +0 -20
  123. package/dist/types/core-viewers/webgl/viewer/gizmos/sectionBox/sectionBoxInputs.d.ts +0 -118
  124. package/dist/types/core-viewers/webgl/viewer/gizmos/sectionBox/sectionBoxOutline.d.ts +0 -15
  125. package/dist/types/core-viewers/webgl/viewer/index.d.ts +0 -10
  126. package/dist/types/core-viewers/webgl/viewer/inputAdapter.d.ts +0 -3
  127. package/dist/types/core-viewers/webgl/viewer/raycaster.d.ts +0 -71
  128. package/dist/types/core-viewers/webgl/viewer/rendering/gpuPicker.d.ts +0 -127
  129. package/dist/types/core-viewers/webgl/viewer/rendering/index.d.ts +0 -4
  130. package/dist/types/core-viewers/webgl/viewer/rendering/mergePass.d.ts +0 -18
  131. package/dist/types/core-viewers/webgl/viewer/rendering/outlinePass.d.ts +0 -19
  132. package/dist/types/core-viewers/webgl/viewer/rendering/renderScene.d.ts +0 -57
  133. package/dist/types/core-viewers/webgl/viewer/rendering/renderer.d.ts +0 -135
  134. package/dist/types/core-viewers/webgl/viewer/rendering/renderingComposer.d.ts +0 -95
  135. package/dist/types/core-viewers/webgl/viewer/rendering/renderingSection.d.ts +0 -40
  136. package/dist/types/core-viewers/webgl/viewer/rendering/transferPass.d.ts +0 -17
  137. package/dist/types/core-viewers/webgl/viewer/selection.d.ts +0 -9
  138. package/dist/types/core-viewers/webgl/viewer/settings/index.d.ts +0 -3
  139. package/dist/types/core-viewers/webgl/viewer/settings/viewerDefaultSettings.d.ts +0 -5
  140. package/dist/types/core-viewers/webgl/viewer/settings/viewerSettings.d.ts +0 -310
  141. package/dist/types/core-viewers/webgl/viewer/settings/viewerSettingsParsing.d.ts +0 -9
  142. package/dist/types/core-viewers/webgl/viewer/viewer.d.ts +0 -115
  143. package/dist/types/core-viewers/webgl/viewer/viewport.d.ts +0 -73
  144. package/dist/types/index.d.ts +0 -3
  145. package/dist/types/react-viewers/bim/bimInfoBody.d.ts +0 -9
  146. package/dist/types/react-viewers/bim/bimInfoData.d.ts +0 -144
  147. package/dist/types/react-viewers/bim/bimInfoHeader.d.ts +0 -6
  148. package/dist/types/react-viewers/bim/bimInfoObject.d.ts +0 -12
  149. package/dist/types/react-viewers/bim/bimInfoPanel.d.ts +0 -10
  150. package/dist/types/react-viewers/bim/bimInfoVim.d.ts +0 -5
  151. package/dist/types/react-viewers/bim/bimPanel.d.ts +0 -40
  152. package/dist/types/react-viewers/bim/bimSearch.d.ts +0 -17
  153. package/dist/types/react-viewers/bim/bimTree.d.ts +0 -33
  154. package/dist/types/react-viewers/bim/bimTreeData.d.ts +0 -44
  155. package/dist/types/react-viewers/bim/bimUtils.d.ts +0 -13
  156. package/dist/types/react-viewers/bim/index.d.ts +0 -8
  157. package/dist/types/react-viewers/bim/openState.d.ts +0 -5
  158. package/dist/types/react-viewers/container.d.ts +0 -27
  159. package/dist/types/react-viewers/controlbar/controlBar.d.ts +0 -25
  160. package/dist/types/react-viewers/controlbar/controlBarButton.d.ts +0 -15
  161. package/dist/types/react-viewers/controlbar/controlBarIds.d.ts +0 -32
  162. package/dist/types/react-viewers/controlbar/controlBarSection.d.ts +0 -8
  163. package/dist/types/react-viewers/controlbar/index.d.ts +0 -5
  164. package/dist/types/react-viewers/controlbar/style.d.ts +0 -10
  165. package/dist/types/react-viewers/errors/errorStyle.d.ts +0 -15
  166. package/dist/types/react-viewers/errors/errors.d.ts +0 -6
  167. package/dist/types/react-viewers/errors/index.d.ts +0 -2
  168. package/dist/types/react-viewers/generic/genericField.d.ts +0 -31
  169. package/dist/types/react-viewers/generic/genericPanel.d.ts +0 -12
  170. package/dist/types/react-viewers/generic/index.d.ts +0 -2
  171. package/dist/types/react-viewers/generic/inputNumber.d.ts +0 -4
  172. package/dist/types/react-viewers/helpers/cameraObserver.d.ts +0 -8
  173. package/dist/types/react-viewers/helpers/cursor.d.ts +0 -37
  174. package/dist/types/react-viewers/helpers/customizer.d.ts +0 -4
  175. package/dist/types/react-viewers/helpers/data.d.ts +0 -27
  176. package/dist/types/react-viewers/helpers/element.d.ts +0 -14
  177. package/dist/types/react-viewers/helpers/fullScreenObserver.d.ts +0 -9
  178. package/dist/types/react-viewers/helpers/index.d.ts +0 -6
  179. package/dist/types/react-viewers/helpers/layout.d.ts +0 -24
  180. package/dist/types/react-viewers/helpers/loadRequest.d.ts +0 -27
  181. package/dist/types/react-viewers/helpers/reactUtils.d.ts +0 -286
  182. package/dist/types/react-viewers/helpers/requestResult.d.ts +0 -13
  183. package/dist/types/react-viewers/helpers/utils.d.ts +0 -15
  184. package/dist/types/react-viewers/icons.d.ts +0 -61
  185. package/dist/types/react-viewers/index.d.ts +0 -14
  186. package/dist/types/react-viewers/panels/axesPanel.d.ts +0 -21
  187. package/dist/types/react-viewers/panels/contextMenu.d.ts +0 -83
  188. package/dist/types/react-viewers/panels/help.d.ts +0 -10
  189. package/dist/types/react-viewers/panels/index.d.ts +0 -26
  190. package/dist/types/react-viewers/panels/isolationPanel.d.ts +0 -11
  191. package/dist/types/react-viewers/panels/loadingBox.d.ts +0 -29
  192. package/dist/types/react-viewers/panels/logo.d.ts +0 -5
  193. package/dist/types/react-viewers/panels/messageBox.d.ts +0 -15
  194. package/dist/types/react-viewers/panels/modal.d.ts +0 -17
  195. package/dist/types/react-viewers/panels/overlay.d.ts +0 -10
  196. package/dist/types/react-viewers/panels/performance.d.ts +0 -7
  197. package/dist/types/react-viewers/panels/restOfScreen.d.ts +0 -5
  198. package/dist/types/react-viewers/panels/sectionBoxPanel.d.ts +0 -10
  199. package/dist/types/react-viewers/panels/sidePanel.d.ts +0 -20
  200. package/dist/types/react-viewers/panels/toast.d.ts +0 -22
  201. package/dist/types/react-viewers/settings/anySettings.d.ts +0 -7
  202. package/dist/types/react-viewers/settings/index.d.ts +0 -5
  203. package/dist/types/react-viewers/settings/settingsInputBox.d.ts +0 -4
  204. package/dist/types/react-viewers/settings/settingsItem.d.ts +0 -30
  205. package/dist/types/react-viewers/settings/settingsKeys.d.ts +0 -46
  206. package/dist/types/react-viewers/settings/settingsPanel.d.ts +0 -18
  207. package/dist/types/react-viewers/settings/settingsPanelContent.d.ts +0 -6
  208. package/dist/types/react-viewers/settings/settingsState.d.ts +0 -18
  209. package/dist/types/react-viewers/settings/settingsStorage.d.ts +0 -15
  210. package/dist/types/react-viewers/settings/settingsSubtitle.d.ts +0 -2
  211. package/dist/types/react-viewers/settings/settingsToggle.d.ts +0 -11
  212. package/dist/types/react-viewers/settings/userBoolean.d.ts +0 -17
  213. package/dist/types/react-viewers/state/cameraState.d.ts +0 -24
  214. package/dist/types/react-viewers/state/controlBarState.d.ts +0 -88
  215. package/dist/types/react-viewers/state/fullScreenState.d.ts +0 -4
  216. package/dist/types/react-viewers/state/index.d.ts +0 -9
  217. package/dist/types/react-viewers/state/measureState.d.ts +0 -7
  218. package/dist/types/react-viewers/state/pointerState.d.ts +0 -6
  219. package/dist/types/react-viewers/state/sectionBoxState.d.ts +0 -34
  220. package/dist/types/react-viewers/state/sharedIsolation.d.ts +0 -40
  221. package/dist/types/react-viewers/state/sideState.d.ts +0 -22
  222. package/dist/types/react-viewers/state/viewerInputs.d.ts +0 -3
  223. package/dist/types/react-viewers/ultra/camera.d.ts +0 -3
  224. package/dist/types/react-viewers/ultra/controlBar.d.ts +0 -9
  225. package/dist/types/react-viewers/ultra/errors/fileLoadingError.d.ts +0 -2
  226. package/dist/types/react-viewers/ultra/errors/fileOpeningError.d.ts +0 -2
  227. package/dist/types/react-viewers/ultra/errors/serverCompatibilityError.d.ts +0 -2
  228. package/dist/types/react-viewers/ultra/errors/serverConnectionError.d.ts +0 -2
  229. package/dist/types/react-viewers/ultra/errors/serverFileDownloadingError.d.ts +0 -2
  230. package/dist/types/react-viewers/ultra/errors/serverStreamError.d.ts +0 -2
  231. package/dist/types/react-viewers/ultra/errors/ultraErrors.d.ts +0 -3
  232. package/dist/types/react-viewers/ultra/index.d.ts +0 -3
  233. package/dist/types/react-viewers/ultra/isolation.d.ts +0 -3
  234. package/dist/types/react-viewers/ultra/modal.d.ts +0 -5
  235. package/dist/types/react-viewers/ultra/sectionBox.d.ts +0 -3
  236. package/dist/types/react-viewers/ultra/settings.d.ts +0 -13
  237. package/dist/types/react-viewers/ultra/settingsPanel.d.ts +0 -5
  238. package/dist/types/react-viewers/ultra/viewer.d.ts +0 -23
  239. package/dist/types/react-viewers/ultra/viewerRef.d.ts +0 -50
  240. package/dist/types/react-viewers/urls.d.ts +0 -2
  241. package/dist/types/react-viewers/webgl/camera.d.ts +0 -3
  242. package/dist/types/react-viewers/webgl/index.d.ts +0 -4
  243. package/dist/types/react-viewers/webgl/inputsBindings.d.ts +0 -8
  244. package/dist/types/react-viewers/webgl/isolation.d.ts +0 -2
  245. package/dist/types/react-viewers/webgl/loading.d.ts +0 -64
  246. package/dist/types/react-viewers/webgl/sectionBox.d.ts +0 -3
  247. package/dist/types/react-viewers/webgl/settings.d.ts +0 -36
  248. package/dist/types/react-viewers/webgl/settingsPanel.d.ts +0 -12
  249. package/dist/types/react-viewers/webgl/viewer.d.ts +0 -28
  250. package/dist/types/react-viewers/webgl/viewerRef.d.ts +0 -131
  251. package/dist/types/react-viewers/webgl/viewerState.d.ts +0 -13
  252. package/dist/types/utils/array.d.ts +0 -18
  253. package/dist/types/utils/asyncQueue.d.ts +0 -15
  254. package/dist/types/utils/debounce.d.ts +0 -30
  255. package/dist/types/utils/index.d.ts +0 -10
  256. package/dist/types/utils/interfaces.d.ts +0 -3
  257. package/dist/types/utils/math3d.d.ts +0 -19
  258. package/dist/types/utils/partial.d.ts +0 -7
  259. package/dist/types/utils/promise.d.ts +0 -21
  260. package/dist/types/utils/threeUtils.d.ts +0 -4
  261. package/dist/types/utils/url.d.ts +0 -10
  262. package/dist/types/utils/validation.d.ts +0 -29
@@ -1,116 +0,0 @@
1
- import { RpcSafeClient } from './rpcSafeClient';
2
- import { Element3D } from './element3d';
3
- import { Vim } from './vim';
4
- import { Segment } from './rpcTypes';
5
- import * as THREE from 'three';
6
- /**
7
- * Interface defining camera control operations in the 3D viewer
8
- * @interface
9
- */
10
- export interface ICamera {
11
- /**
12
- * Frames all Vim models in the viewer to fit within the camera view
13
- * @param {number} [blendTime=0.5] - Animation duration in seconds
14
- * @returns {Promise<Segment | undefined>} Promise resolving to the final camera position segment
15
- */
16
- frameAll(blendTime?: number): Promise<Segment | undefined>;
17
- /**
18
- * Frames a specified bounding box in the viewer
19
- * @param {Box3} box - The 3D bounding box to frame
20
- * @param {number} [blendTime=0.5] - Animation duration in seconds
21
- * @returns {Promise<Segment | undefined>} Promise resolving to the final camera position segment
22
- */
23
- frameBox(box: THREE.Box3, blendTime?: number): Promise<Segment | undefined>;
24
- /**
25
- * Frames specified nodes of a Vim model in the camera view
26
- * @param {Vim} vim - The target Vim model
27
- * @param {number[] | 'all'} nodes - Array of node indices or 'all' for entire model
28
- * @param {number} [blendTime=0.5] - Animation duration in seconds
29
- * @returns {Promise<Segment | undefined>} Promise resolving to the final camera position segment
30
- */
31
- frameVim(vim: Vim, nodes: number[] | 'all', blendTime?: number): Promise<Segment | undefined>;
32
- /**
33
- * Frames a specific object in the camera view
34
- * @param {Element3D} object - The target object to frame
35
- * @param {number} [blendTime=0.5] - Animation duration in seconds
36
- * @returns {Promise<Segment | undefined>} Promise resolving to the final camera position segment
37
- */
38
- frameObject(object: Element3D, blendTime?: number): Promise<Segment | undefined>;
39
- /**
40
- * Saves the current camera position for later restoration
41
- * @param {Segment} [segment] - Optional specific camera position to save
42
- */
43
- save(segment?: Segment): void;
44
- /**
45
- * Controls the rendering state of the viewer
46
- * @param {boolean} value - True to pause, false to resume rendering
47
- */
48
- pause(value: boolean): void;
49
- /**
50
- * Restores the camera to its previously saved position
51
- * Initially that will be the first call to a Frame method
52
- * @param {number} [blendTime=0.5] - Animation duration in seconds
53
- */
54
- restoreSavedPosition(blendTime?: number): void;
55
- }
56
- /**
57
- * Implements camera control operations for the 3D viewer
58
- * @class
59
- */
60
- export declare class Camera implements ICamera {
61
- private _rpc;
62
- private _lastPosition;
63
- private _defaultBlendTime;
64
- private _savedPosition;
65
- /**
66
- * Creates a new Camera instance
67
- * @param rpc - RPC client for camera communication
68
- */
69
- constructor(rpc: RpcSafeClient);
70
- /**
71
- * Saves the current camera position for later restoration
72
- * @param segment - Optional segment to save as the camera position
73
- */
74
- save(segment?: Segment): Promise<void>;
75
- /**
76
- * Resets the camera to the last saved position
77
- */
78
- restoreSavedPosition(blendTime?: number): void;
79
- /**
80
- * Restores the camera to its last tracked position
81
- * @param blendTime - Duration of the camera animation in seconds
82
- */
83
- restoreLastPosition(blendTime?: number): void;
84
- /**
85
- * Handles camera initialization when connection is established
86
- */
87
- onConnect(): void;
88
- onCameraPose(pose: Segment): void;
89
- set(position: THREE.Vector3, target: THREE.Vector3, blendTime?: number): void;
90
- /**
91
- * Pauses or resumes rendering
92
- * @param value - True to pause rendering, false to resume
93
- */
94
- pause(value: boolean): void;
95
- /**
96
- * Frames all vims in the viewer to fit within the camera view
97
- * @param blendTime - Duration of the camera animation in seconds (defaults to 0.5)
98
- * @returns Promise that resolves when the framing animation is complete
99
- */
100
- frameAll(blendTime?: number): Promise<Segment | undefined>;
101
- /**
102
- * Frames a specific bounding box in the viewer
103
- * @param box - The 3D bounding box to frame in the camera view
104
- * @param blendTime - Duration of the camera animation in seconds (defaults to 0.5)
105
- */
106
- frameBox(box: THREE.Box3, blendTime?: number): Promise<Segment | undefined>;
107
- /**
108
- * Frames specific nodes of a Vim model in the camera view
109
- * @param vim - The Vim model containing the nodes to frame
110
- * @param elements - Array of element indices to frame, or 'all' to frame the entire model
111
- * @param blendTime - Duration of the camera animation in seconds (defaults to 0.5)
112
- * @returns Promise that resolves when the framing animation is complete
113
- */
114
- frameVim(vim: Vim, elements: number[] | 'all', blendTime?: number): Promise<Segment | undefined>;
115
- frameObject(object: Element3D, blendTime?: number): Promise<Segment | undefined>;
116
- }
@@ -1,73 +0,0 @@
1
- import { RpcSafeClient } from './rpcSafeClient';
2
- import { RemoteColor } from './remoteColor';
3
- import * as THREE from 'three';
4
- /**
5
- * Manages the creation, caching, and deletion of color instances.
6
- * Handles batched deletion of colors to optimize RPC calls.
7
- */
8
- export declare class ColorManager {
9
- private _rpc;
10
- private _hexToColor;
11
- private _idToColor;
12
- private _toDelete;
13
- private _deleteId;
14
- /**
15
- * Creates a new ColorManager instance.
16
- * @param rpc - The RPC client used for communication with the rendering backend
17
- */
18
- constructor(rpc: RpcSafeClient);
19
- /**
20
- * Creates or retrieves a cached color instance for the given hex value.
21
- * @param hex - The RGBA32 color value
22
- * @returns Promise resolving to a ColorHandle, or undefined if creation fails
23
- */
24
- getColor(color: THREE.Color): Promise<RemoteColor | undefined>;
25
- /**
26
- * Creates or retrieves cached color instances for multiple hex values.
27
- * @param colors - Array of color values or undefined for no color
28
- * @returns Promise resolving to an array of ColorHandles in the same order as input, or undefined if creation fails
29
- * @remarks Duplicate hex values will be mapped to the same color instance for efficiency
30
- */
31
- getColors(colors: (THREE.Color | undefined)[]): Promise<RemoteColor[]>;
32
- /**
33
- * Retrieves a color instance by its unique identifier.
34
- * @param id - The unique identifier of the color
35
- * @returns The ColorHandle associated with the ID, or undefined if not found
36
- */
37
- getFromId(id: number): RemoteColor;
38
- /**
39
- * Destroys a color instance and removes it from the cache.
40
- * @param color - The ColorHandle to destroy
41
- */
42
- destroy(color: RemoteColor): void;
43
- /**
44
- * Destroys all color instances and clears the cache.
45
- */
46
- clear(): void;
47
- /**
48
- * Creates multiple color instances via RPC.
49
- * @param colors - Array of RGBA32 color values to create
50
- * @returns Promise resolving to an array of ColorHandles, or undefined if creation fails
51
- * @private
52
- */
53
- private _createColors;
54
- /**
55
- * Creates a single color instance and adds it to the cache.
56
- * @param color - The RGBA32 color value
57
- * @param id - The unique identifier for the color instance
58
- * @returns The created ColorHandle
59
- * @private
60
- */
61
- private _createColor;
62
- /**
63
- * Queues a color for deletion in the next batch.
64
- * @param color - The ColorHandle to delete
65
- * @private
66
- */
67
- private _deleteColor;
68
- /**
69
- * Immediately deletes all queued colors.
70
- * @private
71
- */
72
- private _deleteBatch;
73
- }
@@ -1,108 +0,0 @@
1
- import type { VideoFrameMessage } from './protocol';
2
- import { ILogger } from './logger';
3
- /**
4
- * Interface defining the basic decoder operations
5
- */
6
- export interface IDecoder {
7
- /** Indicates if the decoder is ready to process frames */
8
- ready: boolean;
9
- /** Indicates if the decoder is currently paused */
10
- paused: boolean;
11
- /** Stops the decoder operations */
12
- stop(): void;
13
- /** Starts the decoder operations */
14
- start(): void;
15
- }
16
- /**
17
- * Decoder class responsible for decoding video frames and rendering them using WebGL.
18
- * Handles frame queueing, decoding, and rendering through WebGL.
19
- */
20
- export declare class Decoder implements IDecoder {
21
- private _decoder;
22
- private readonly _canvas;
23
- private readonly _renderer;
24
- private readonly _logger;
25
- private _firstDecoded;
26
- private _skipUntil;
27
- private _queue;
28
- private _pendingFrame;
29
- private _renderId;
30
- private _decodeId;
31
- /**
32
- * Indicates whether the decoder is ready and configured.
33
- * @returns {boolean} True if the decoder is configured, false otherwise.
34
- */
35
- get ready(): boolean;
36
- /**
37
- * Creates an instance of the Decoder class.
38
- * @param originalCanvas - The original HTML canvas element to render frames onto
39
- * @param logger - Logger instance for debugging and error reporting
40
- * @throws {Error} When video decoder configuration is not supported
41
- */
42
- constructor(originalCanvas: HTMLCanvasElement, logger: ILogger);
43
- /**
44
- * Indicates whether the decoder is currently paused.
45
- * @returns {boolean} True if paused, false otherwise.
46
- */
47
- get paused(): boolean;
48
- /**
49
- * Pauses the decoder and renderer.
50
- */
51
- stop(): void;
52
- /**
53
- * Resumes the decoder and renderer.
54
- */
55
- start(): void;
56
- /**
57
- * Clears decoding and rendering callbacks.
58
- */
59
- private _clearCallbacks;
60
- /**
61
- * Enqueues a video frame message for decoding.
62
- * If a key frame is received, the queue is cleared except for the first frame
63
- * to maintain decoder stability.
64
- * @param frame - The video frame message to be queued for decoding
65
- */
66
- enqueue(frame: VideoFrameMessage): void;
67
- /**
68
- * Processes and decodes all queued video frame messages.
69
- * Skips processing if the decoder isn't ready or the queue is empty.
70
- * @throws {Error} When decoding fails for a video chunk
71
- */
72
- decode(): void;
73
- /**
74
- * Clears the decoder state and renderer buffer.
75
- * Does not close the decoder instance.
76
- */
77
- clear(): void;
78
- /**
79
- * Completely disposes of the decoder instance and releases all resources.
80
- * Should be called when the decoder is no longer needed.
81
- */
82
- dispose(): void;
83
- /**
84
- * Cleans up internal resources and cancels ongoing operations.
85
- * @private
86
- */
87
- private _cleanUp;
88
- /**
89
- * Creates an EncodedVideoChunk from a VideoFrameMessage.
90
- * @param message - The video frame message to convert
91
- * @returns {EncodedVideoChunk} A chunk ready for decoder processing
92
- * @private
93
- */
94
- private createChunk;
95
- /**
96
- * Handles the animation loop for continuous frame rendering.
97
- * Processes pending frames and manages the render timing.
98
- * @private
99
- */
100
- private animate;
101
- /**
102
- * Processes a decoded video frame for rendering.
103
- * Manages frame replacement and cleanup of previous frames.
104
- * @param frame - The decoded video frame ready for rendering
105
- * @private
106
- */
107
- private renderFrame;
108
- }
@@ -1,80 +0,0 @@
1
- import type { VideoFrameMessage } from './protocol';
2
- import { ILogger } from './logger';
3
- export declare enum FrameType {
4
- KeyFrame = 0,
5
- DeltaFrame = 1
6
- }
7
- /**
8
- * Decoder class responsible for decoding video frames and rendering them using WebGL.
9
- */
10
- export declare class DecoderWithWorker {
11
- private readonly _canvas;
12
- private readonly _renderer;
13
- private readonly _logger;
14
- private _firstDecoded;
15
- private _skipUntil;
16
- private _queue;
17
- private _pendingFrame;
18
- private _renderId;
19
- private _decodeId;
20
- private _worker;
21
- /**
22
- * Indicates whether the decoder is ready and configured.
23
- * @returns {boolean} True if the decoder is configured, false otherwise.
24
- */
25
- get ready(): boolean;
26
- /**
27
- * Creates an instance of the Decoder class.
28
- * @param originalCanvas - The original HTML canvas element.
29
- * @param logger - Logger for logging messages and errors.
30
- */
31
- constructor(originalCanvas: HTMLCanvasElement, logger: ILogger);
32
- sendFrameToWorker(frame: VideoFrameMessage): void;
33
- /**
34
- * Indicates whether the decoder is currently paused.
35
- * @returns {boolean} True if paused, false otherwise.
36
- */
37
- get paused(): boolean;
38
- /**
39
- * Pauses the decoder and renderer.
40
- */
41
- stop(): void;
42
- /**
43
- * Resumes the decoder and renderer.
44
- */
45
- start(): void;
46
- /**
47
- * Clears decoding and rendering callbacks.
48
- */
49
- private _clearCallbacks;
50
- /**
51
- * Enqueues a video frame message for decoding.
52
- * @param frame - The video frame message to enqueue.
53
- */
54
- enqueue(frame: VideoFrameMessage): void;
55
- /**
56
- * Decodes enqueued video frame messages.
57
- */
58
- decode(): void;
59
- /**
60
- * Clears the decoder and renderer, resetting the internal state.
61
- */
62
- clear(): void;
63
- /**
64
- * Disposes of the decoder, releasing resources.
65
- */
66
- dispose(): void;
67
- /**
68
- * Cleans up the renderer and clears the frame queue.
69
- */
70
- private _cleanUp;
71
- /**
72
- * Animation loop for rendering frames.
73
- */
74
- private animate;
75
- /**
76
- * Handles rendering of a decoded video frame.
77
- * @param frame - The decoded video frame.
78
- */
79
- private renderFrame;
80
- }
@@ -1,44 +0,0 @@
1
- import { IVimElement } from "../shared/vim";
2
- import { VisibilityState } from "./visibility";
3
- import { Vim } from "./vim";
4
- import * as THREE from "three";
5
- /**
6
- * Represents a single 3D element within a `Vim` model.
7
- * Provides access to per-instance state, color, and bounding box.
8
- */
9
- export declare class Element3D implements IVimElement {
10
- /**
11
- * The parent `Vim` instance this element belongs to.
12
- */
13
- readonly vim: Vim;
14
- /**
15
- * The internal instance index within the `Vim` model.
16
- */
17
- readonly element: number;
18
- /**
19
- * The unique handle of the parent `Vim` model.
20
- */
21
- get vimHandle(): number;
22
- /**
23
- * Creates a new `Element3D` instance.
24
- * @param vim - The parent `Vim` model.
25
- * @param element - The internal instance index.
26
- */
27
- constructor(vim: Vim, element: number);
28
- /**
29
- * Gets or sets the display state of the element (e.g., visible, hidden).
30
- */
31
- get state(): VisibilityState;
32
- set state(state: VisibilityState);
33
- /**
34
- * Gets or sets the color override of the element.
35
- */
36
- get color(): THREE.Color | undefined;
37
- set color(color: THREE.Color | undefined);
38
- /**
39
- * Computes and returns the bounding box of the element.
40
- * Returns undefined if the element is abstract.
41
- * @returns A promise resolving to the element's bounding box.
42
- */
43
- getBoundingBox(): Promise<THREE.Box3 | undefined>;
44
- }
@@ -1,29 +0,0 @@
1
- import "./style.css";
2
- export * from './viewer';
3
- export { Segment, type SectionBoxState, type HitCheckResult, type VimStatus } from './rpcTypes';
4
- export { materialHandles, MaterialHandles, type MaterialHandle, } from './rpcClient';
5
- export { InputMode, VimLoadingStatus } from './rpcSafeClient';
6
- export { VisibilityState } from './visibility';
7
- export type * from './camera';
8
- export type * from './colorManager';
9
- export type * from './decoder';
10
- export type * from './visibility';
11
- export type * from './element3d';
12
- export type * from './inputAdapter';
13
- export type * from './loadRequest';
14
- export type * from './logger';
15
- export type * from './protocol';
16
- export type * from './raycaster';
17
- export type * from './remoteColor';
18
- export type * from './renderer';
19
- export type * from './rpcClient';
20
- export type * from './rpcMarshal';
21
- export type * from './rpcSafeClient';
22
- export type * from './sectionBox';
23
- export type * from './selection';
24
- export type * from './socketClient';
25
- export type * from './streamLogger';
26
- export type * from './streamRenderer';
27
- export type * from './viewport';
28
- export type * from './vim';
29
- export type * from './vimCollection';
@@ -1,8 +0,0 @@
1
- import { InputHandler } from "../shared/inputHandler";
2
- import { Viewer } from "./viewer";
3
- /**
4
- * Creates a new `InputHandler` connected to the provided `Viewer`.
5
- * @param viewer - The target viewer.
6
- * @returns An `InputHandler` instance wired to the viewer.
7
- */
8
- export declare function ultraInputAdapter(viewer: Viewer): InputHandler;
@@ -1,14 +0,0 @@
1
- import { Vim } from './vim';
2
- import { LoadRequest as BaseLoadRequest, ILoadRequest as BaseILoadRequest, IProgress, LoadError as SharedLoadError } from '../shared/loadResult';
3
- export type VimRequestErrorType = 'loadingError' | 'downloadingError' | 'serverDisconnected' | 'unknown' | 'cancelled';
4
- export declare class LoadError extends SharedLoadError {
5
- readonly type: VimRequestErrorType;
6
- constructor(error: VimRequestErrorType, details?: string);
7
- }
8
- export type ILoadRequest = BaseILoadRequest<Vim, LoadError>;
9
- export declare class LoadRequest extends BaseLoadRequest<Vim, LoadError> {
10
- onProgress(progress: IProgress): void;
11
- success(vim: Vim): this;
12
- error(error: VimRequestErrorType, details?: string): this;
13
- abort(): void;
14
- }
@@ -1,9 +0,0 @@
1
- export interface ILogger {
2
- log(message: string, obj?: any): void;
3
- error: (message: string, e: unknown) => void;
4
- }
5
- export declare const defaultLogger: ILogger;
6
- export declare function createLogger(onMsg: (str: string) => void): {
7
- log: (str: string) => void;
8
- error: (str: string, e: unknown) => void;
9
- };
@@ -1,13 +0,0 @@
1
- export interface VideoFrameHeader {
2
- timestamp: number;
3
- duration: number;
4
- frameType: number;
5
- dataLength: number;
6
- }
7
- export interface VideoFrameMessage {
8
- header: VideoFrameHeader;
9
- dataBuffer: ArrayBuffer;
10
- }
11
- export declare const HEADER_SIZE = 16;
12
- export declare function readHeader(buffer: ArrayBuffer): VideoFrameHeader;
13
- export declare function readBlob(blob: Blob): Promise<VideoFrameMessage>;
@@ -1,52 +0,0 @@
1
- import * as THREE from "three";
2
- import type { IRaycastResult, IRaycaster } from "../shared/raycaster";
3
- import { Element3D } from "./element3d";
4
- import { RpcSafeClient } from "./rpcSafeClient";
5
- import { IReadonlyVimCollection } from "./vimCollection";
6
- export type IUltraRaycastResult = IRaycastResult<Element3D>;
7
- export type IUltraRaycaster = IRaycaster<Element3D>;
8
- /**
9
- * Represents the result of a hit test operation.
10
- */
11
- export declare class UltraRaycastResult implements IUltraRaycastResult {
12
- /** The model Object hit */
13
- object: Element3D;
14
- /** The 3D world position of the hit point */
15
- worldPosition: THREE.Vector3;
16
- /** The surface normal at the hit point */
17
- worldNormal: THREE.Vector3;
18
- constructor(object: Element3D, worldPosition: THREE.Vector3, worldNormal: THREE.Vector3);
19
- }
20
- /**
21
- * @module ultra-webgl-viewer
22
- */
23
- /**
24
- * Handles raycasting operations in the Ultra system, enabling picking and
25
- * interaction with 3D objects in the scene.
26
- */
27
- export declare class Raycaster implements IUltraRaycaster {
28
- private _rpc;
29
- private _vims;
30
- /**
31
- * Creates a new UltraCoreRaycaster instance.
32
- *
33
- * @param {RpcSafeClient} rpc - RPC client for communication with the viewer.
34
- * @param {IReadonlyVimCollection} vims - Collection of VIM instances to manage.
35
- */
36
- constructor(rpc: RpcSafeClient, vims: IReadonlyVimCollection);
37
- /**
38
- * Performs a raycast from the camera using normalized screen coordinates.
39
- * Coordinates must be within [0, 1] for both x and y.
40
- *
41
- * @param {Vector2} position - The normalized screen position for raycasting.
42
- * @returns {Promise<UltraRaycastResult | undefined>} Promise resolving to hit test result or undefined if no hit.
43
- */
44
- raycastFromScreen(position: THREE.Vector2): Promise<UltraRaycastResult>;
45
- /**
46
- * Performs a raycast from a specific world position towards a target.
47
- *
48
- * @param {Vector3} position - The target world position for raycasting.
49
- * @returns {Promise<UltraRaycastResult | undefined>} Promise resolving to hit test result or undefined if no hit.
50
- */
51
- raycastFromWorld(position: THREE.Vector3): Promise<UltraRaycastResult | undefined>;
52
- }
@@ -1,37 +0,0 @@
1
- import { ColorManager } from './colorManager';
2
- import * as THREE from 'three';
3
- /**
4
- * Represents a handle to a color in the color management system.
5
- * This class provides access to color components and manages the lifecycle of color instances.
6
- */
7
- export declare class RemoteColor {
8
- private _manager;
9
- /** Unique identifier for the color instance */
10
- readonly id: number;
11
- /** The RGBA color value */
12
- readonly color: THREE.Color;
13
- private _disposed;
14
- /**
15
- * Indicates whether the color handle has been disposed.
16
- * @returns {boolean} True if the color handle has been disposed, false otherwise.
17
- */
18
- get disposed(): boolean;
19
- /**
20
- * Gets the hexadecimal representation of the color.
21
- * @returns {number} The color value as a hexadecimal number.
22
- */
23
- get hex(): number;
24
- /**
25
- * Creates a new ColorHandle instance.
26
- * @param {RGBA32} color - The RGBA color value.
27
- * @param {number} serverId - The unique identifier assigned by the server.
28
- * @param {ColorManager} manager - The color manager instance that manages this color handle.
29
- */
30
- constructor(color: THREE.Color, serverId: number, manager: ColorManager);
31
- /**
32
- * Disposes of the color handle and releases associated resources.
33
- * Once disposed, the color handle cannot be used anymore.
34
- * Multiple calls to dispose are safely ignored.
35
- */
36
- dispose(): void;
37
- }