vim-web 0.6.0-dev.3 → 0.6.0-dev.5

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 +3351 -0
  5. package/dist/vim-web.iife.js +18541 -19530
  6. package/dist/vim-web.iife.js.map +1 -1
  7. package/dist/vim-web.js +18561 -19550
  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 -79
  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 -145
  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 -28
  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,153 +0,0 @@
1
- import { ILogger } from './logger';
2
- import * as Protocol from './protocol';
3
- import { Marshal, ReadMarshal } from './rpcMarshal';
4
- import { Segment } from './rpcTypes';
5
- export declare const DEFAULT_LOCAL_SERVER_URL = "ws://localhost:8123";
6
- export type ConnectionSettings = {
7
- url?: string;
8
- retries?: number;
9
- timeout?: number;
10
- retryDelay?: number;
11
- };
12
- export type ClientState = ClientStateConnecting | ClientStateConnected | ClientStateDisconnected | ClientStateValidating | ClientError;
13
- export type ClientError = ClientStateCompatibilityError | ClientStateConnectionError | ClientStreamError;
14
- export type ClientStateConnecting = {
15
- status: 'connecting';
16
- };
17
- export type ClientStateValidating = {
18
- status: 'validating';
19
- };
20
- export type ClientStateConnected = {
21
- status: 'connected';
22
- };
23
- export type ClientStateDisconnected = {
24
- status: 'disconnected';
25
- };
26
- export type ClientStateCompatibilityError = {
27
- status: 'error';
28
- error: 'compatibility';
29
- serverUrl: string;
30
- serverVersion: string;
31
- clientVersion: string;
32
- };
33
- export type ClientStateConnectionError = {
34
- status: 'error';
35
- error: 'connection';
36
- serverUrl: string;
37
- };
38
- export type ClientStreamError = {
39
- status: 'error';
40
- error: 'stream';
41
- serverUrl: string;
42
- details: string;
43
- };
44
- /**
45
- * Messenger class responsible for handling WebSocket communication,
46
- * including sending and receiving messages, managing connection state,
47
- * and dispatching events.
48
- */
49
- export declare class SocketClient {
50
- private readonly _streamLogger;
51
- private readonly _logger;
52
- private _socket;
53
- private readonly _pendingRPCs;
54
- private _rpcCallId;
55
- private _reconnectTimeout;
56
- private _connectionTimeout;
57
- private _validateConnection;
58
- /**
59
- * Callback function to handle incoming video frames.
60
- * @param msg - The video frame message received from the server.
61
- */
62
- onVideoFrame: (msg: Protocol.VideoFrameMessage) => void;
63
- onCameraPose: (msg: Segment) => void;
64
- private _state;
65
- private _onStatusUpdate;
66
- private _connectPromise;
67
- private _connectionSettings;
68
- /**
69
- * Event that is triggered when the connection status updates.
70
- * @returns An event dispatcher for connection status updates.
71
- */
72
- get onStatusUpdate(): import("ste-simple-events").ISimpleEvent<ClientState>;
73
- /**
74
- * Gets the current connection status.
75
- * @returns The current ClientStatus.
76
- */
77
- get state(): ClientState;
78
- /**
79
- * Updates the connection state and dispatches the status update event.
80
- * @param state - The new connection state.
81
- */
82
- private updateState;
83
- /**
84
- * Gets the URL to which the messenger is currently connecting or connected.
85
- * @returns The WebSocket URL as a string, or undefined if not set.
86
- */
87
- get url(): string | undefined;
88
- /**
89
- * Constructs a new Messenger instance.
90
- * @param logger - The logger for logging messages.
91
- * @param checks - checks to perform before returning connection.
92
- */
93
- constructor(logger: ILogger, validateConnection: () => Promise<ClientError | undefined>);
94
- /**
95
- * Connects to a WebSocket server at the specified URL.
96
- * @param url - The WebSocket URL to connect to.
97
- * @returns A promise that resolves when the connection is established.
98
- */
99
- connect(settings: ConnectionSettings): Promise<boolean>;
100
- /**
101
- * Disconnects from the current WebSocket server.
102
- */
103
- disconnect(error?: ClientError): void;
104
- /**
105
- * Handles the disconnection logic, stopping logging and clearing the socket.
106
- */
107
- private _disconnect;
108
- /**
109
- * Clears the WebSocket event handlers and closes the connection if open.
110
- */
111
- private _clearSocket;
112
- /**
113
- * Handles incoming messages from the WebSocket server.
114
- * @param event - The message event containing the data.
115
- */
116
- onMessage(event: MessageEvent): Promise<void>;
117
- /**
118
- * Handles RPC responses received from the server.
119
- * @param buffer - The ArrayBuffer containing the response data.
120
- */
121
- private handleRPCResponse;
122
- /**
123
- * Handler for WebSocket 'open' event.
124
- * @param _ - The event object (unused).
125
- */
126
- private _onOpen;
127
- /**
128
- * Handler for WebSocket 'close' event.
129
- * @param _event - The event object.
130
- */
131
- private _onClose;
132
- /**
133
- * Sends binary data over the WebSocket connection.
134
- * @param data - The ArrayBuffer containing the binary data to send.
135
- */
136
- sendBinary(data: ArrayBuffer): void;
137
- /**
138
- * Sends an RPC request and waits for a response.
139
- * @param marshal - The Marshal containing the request data.
140
- * @returns A promise that resolves with the response data.
141
- */
142
- sendRPCWithReturn(marshal: Marshal): Promise<ReadMarshal>;
143
- /**
144
- * Sends an RPC request without expecting a response.
145
- * @param marshal - The Marshal containing the request data.
146
- */
147
- sendRPC(marshal: Marshal): void;
148
- private _clearPendingRPCs;
149
- /**
150
- * Disposes of the messenger, cleaning up resources and event handlers.
151
- */
152
- dispose(): void;
153
- }
@@ -1,19 +0,0 @@
1
- import type { VideoFrameMessage } from './protocol';
2
- import { ILogger } from './logger';
3
- export declare class StreamLogger {
4
- private readonly _logger;
5
- private _frameCount;
6
- private _dataLengthSum;
7
- private _id;
8
- constructor(logger: ILogger);
9
- /**
10
- * Starts logging the stream metrics.
11
- */
12
- startLoggging(): void;
13
- /**
14
- * Stops logging the stream metrics.
15
- */
16
- stopLogging(): void;
17
- onFrame(frameMsg: VideoFrameMessage): void;
18
- private logMetrics;
19
- }
@@ -1,7 +0,0 @@
1
- export declare class WebGLRenderer {
2
- private readonly canvas;
3
- private readonly ctx;
4
- constructor(canvas: OffscreenCanvas);
5
- draw(frame: globalThis.VideoFrame): void;
6
- clear(): void;
7
- }
@@ -1,139 +0,0 @@
1
- import type { ISimpleEvent } from 'ste-simple-events';
2
- import type { InputHandler } from '../shared';
3
- import { ICamera } from './camera';
4
- import { ColorManager } from './colorManager';
5
- import { IDecoder } from './decoder';
6
- import { type ILoadRequest } from './loadRequest';
7
- import { ILogger } from './logger';
8
- import { IUltraRaycaster } from './raycaster';
9
- import { IRenderer } from './renderer';
10
- import { RpcSafeClient, VimSource } from './rpcSafeClient';
11
- import { SectionBox } from './sectionBox';
12
- import { ISelection } from './selection';
13
- import { ClientState, ConnectionSettings } from './socketClient';
14
- import { IViewport } from './viewport';
15
- import { Vim } from './vim';
16
- import { IReadonlyVimCollection } from './vimCollection';
17
- export declare const INVALID_HANDLE = 4294967295;
18
- /**
19
- * The main Viewer class responsible for managing VIM files,
20
- * handling connections, and coordinating various components like the camera, decoder, and inputs.
21
- */
22
- export declare class Viewer {
23
- /**
24
- * The type of the viewer, indicating it is a WebGL viewer.
25
- * Useful for distinguishing between different viewer types in a multi-viewer application.
26
- */
27
- readonly type = "ultra";
28
- private readonly _decoder;
29
- private readonly _socketClient;
30
- private readonly _input;
31
- private readonly _logger;
32
- private readonly _canvas;
33
- private readonly _renderer;
34
- private readonly _viewport;
35
- private readonly _camera;
36
- private readonly _selection;
37
- private readonly _raycaster;
38
- private readonly _vims;
39
- private _disposed;
40
- /**
41
- * The camera API for controlling camera movements and settings.
42
- */
43
- get camera(): ICamera;
44
- /**
45
- * The RPC client for making remote procedure calls.
46
- */
47
- readonly rpc: RpcSafeClient;
48
- /**
49
- * The input API for handling user input events.
50
- */
51
- get inputs(): InputHandler;
52
- get vims(): IReadonlyVimCollection;
53
- /**
54
- * The viewport API for managing the rendering viewport.
55
- */
56
- get viewport(): IViewport;
57
- get renderer(): IRenderer;
58
- get decoder(): IDecoder;
59
- get raycaster(): IUltraRaycaster;
60
- get selection(): ISelection;
61
- /**
62
- * API to create, manage, and destroy colors.
63
- */
64
- readonly colors: ColorManager;
65
- /**
66
- * Gets the current URL to which the viewer is connected.
67
- * @returns The URL as a string, or undefined if not connected.
68
- */
69
- get serverUrl(): string | undefined;
70
- /**
71
- * Event that is triggered when the viewer's connection status changes.
72
- * @returns An event that emits the current ClientStatus.
73
- */
74
- get onStateChanged(): ISimpleEvent<ClientState>;
75
- /**
76
- * Gets the current connection status of the viewer.
77
- * @returns The current ClientStatus.
78
- */
79
- get connectionState(): ClientState;
80
- /**
81
- * The section box API for controlling the section box.
82
- */
83
- readonly sectionBox: SectionBox;
84
- /**
85
- * Creates a Viewer instance with a new canvas element appended to the given parent element.
86
- * @param parent - The parent HTML element to which the canvas will be appended.
87
- * @param logger - Optional logger for logging messages.
88
- * @returns A new instance of the Viewer class.
89
- */
90
- static createWithCanvas(parent: HTMLElement, logger?: ILogger): Viewer;
91
- /**
92
- * Constructs a new Viewer instance.
93
- * @param canvas - The HTML canvas element for rendering.
94
- * @param logger - Optional logger for logging messages.
95
- */
96
- constructor(canvas: HTMLCanvasElement, logger?: ILogger);
97
- /**
98
- * Handles connection logic when the viewer connects to the server.
99
- * Initializes components and checks for API version compatibility.
100
- */
101
- private onConnect;
102
- private validateConnection;
103
- private checkAPIVersion;
104
- /**
105
- * Handles disconnection logic when the viewer disconnects from the server.
106
- * Cleans up resources and stops tracking.
107
- */
108
- private onDisconnect;
109
- /**
110
- * Connects to a VIM Ultra server.
111
- * @param url - The server URL to connect to. Defaults to 'ws://localhost:8123'.
112
- * @returns A promise that resolves when the connection is established.
113
- */
114
- connect(settings?: ConnectionSettings): Promise<boolean>;
115
- /**
116
- * Disconnects from the current VIM Ultra server.
117
- */
118
- disconnect(): void;
119
- /**
120
- * Requests the server to load the given URL or file path.
121
- * @param source - The path or URL to the VIM file.
122
- * @returns A load request object that can be used to wait for the load to complete.
123
- */
124
- loadVim(source: VimSource): ILoadRequest;
125
- /**
126
- * Unloads the given VIM from the viewer.
127
- * @param vim - The VIM instance to unload.
128
- */
129
- unloadVim(vim: Vim): void;
130
- /**
131
- * Clears all loaded VIMs from the viewer.
132
- */
133
- clearVims(): void;
134
- getElement3Ds(): Promise<number>;
135
- /**
136
- * Disposes all resources used by the viewer and disconnects from the server.
137
- */
138
- dispose(): void;
139
- }
@@ -1,47 +0,0 @@
1
- import { ILogger } from "./logger";
2
- import { RpcSafeClient } from "./rpcSafeClient";
3
- /**
4
- * Interface defining viewport functionality
5
- */
6
- export interface IViewport {
7
- /** The HTML canvas element used for rendering */
8
- canvas: HTMLCanvasElement;
9
- /** Updates the aspect ratio of the viewport on the server */
10
- update(): void;
11
- /** Resizes the viewport to match its parent's dimensions */
12
- resizeToParent(): void;
13
- }
14
- /**
15
- * Class managing the viewport and canvas resizing functionality
16
- */
17
- export declare class Viewport {
18
- /** The HTML canvas element used for rendering */
19
- canvas: HTMLCanvasElement;
20
- private _rpc;
21
- private _logger;
22
- private _observer;
23
- private _clearTimeout;
24
- /**
25
- * Creates a new Viewport instance
26
- * @param canvas - The HTML canvas element to observe and manage
27
- * @param rpc - RPC client for viewport communication
28
- */
29
- constructor(canvas: HTMLCanvasElement, rpc: RpcSafeClient, logger: ILogger);
30
- /**
31
- * Handles resize events for the canvas
32
- * @private
33
- */
34
- private onResize;
35
- /**
36
- * Updates the aspect ratio of the viewport on the server
37
- */
38
- update(): void;
39
- /**
40
- * Resizes the viewport to match its parent's dimensions
41
- */
42
- resizeToParent(): void;
43
- /**
44
- * Cleans up resources by removing resize observer and clearing timeouts
45
- */
46
- dispose(): void;
47
- }
@@ -1,50 +0,0 @@
1
- import type { IVim } from '../shared/vim';
2
- import type { ILogger } from './logger';
3
- import { ColorManager } from './colorManager';
4
- import { Element3D } from './element3d';
5
- import { LoadRequest } from './loadRequest';
6
- import { VisibilitySynchronizer } from './visibility';
7
- import { Renderer } from './renderer';
8
- import { RpcSafeClient, VimSource } from './rpcSafeClient';
9
- import * as THREE from 'three';
10
- export declare class Vim implements IVim<Element3D> {
11
- readonly type = "ultra";
12
- readonly source: VimSource;
13
- private _handle;
14
- private _request;
15
- private readonly _rpc;
16
- private _colors;
17
- private _renderer;
18
- private _logger;
19
- readonly visibility: VisibilitySynchronizer;
20
- private _elementColors;
21
- private _updatedColors;
22
- private _removedColors;
23
- private _updateScheduled;
24
- private _elementCount;
25
- private _objects;
26
- constructor(rpc: RpcSafeClient, color: ColorManager, renderer: Renderer, source: VimSource, logger: ILogger);
27
- getElement(elementIndex: number): Element3D;
28
- getElementsFromId(id: number): Element3D[];
29
- getElementFromIndex(element: number): Element3D;
30
- getObjectsInBox(box: THREE.Box3): Element3D[];
31
- getAllElements(): Element3D[];
32
- get handle(): number;
33
- get connected(): boolean;
34
- connect(): LoadRequest;
35
- disconnect(): void;
36
- private _load;
37
- private getErrorType;
38
- private _getHandle;
39
- getBoundingBoxForElements(elements: number[] | 'all'): Promise<THREE.Box3 | undefined>;
40
- getBoundingBox(): Promise<THREE.Box3 | undefined>;
41
- getColor(elementIndex: number): THREE.Color | undefined;
42
- setColor(elementIndex: number[], color: THREE.Color | undefined): Promise<void>;
43
- setColors(elements: number[], color: (THREE.Color | undefined)[]): Promise<void>;
44
- private applyColor;
45
- clearColor(elements: number[] | 'all'): void;
46
- reapplyColors(): void;
47
- private scheduleColorUpdate;
48
- private updateRemote;
49
- private updateRemoteColors;
50
- }
@@ -1,51 +0,0 @@
1
- import { ISignal } from 'ste-signals';
2
- import { IReadonlyVimCollection as ISharedReadonlyVimCollection, IVimCollection } from '../shared/vimCollection';
3
- import { Vim } from './vim';
4
- export interface IReadonlyVimCollection extends ISharedReadonlyVimCollection<Vim> {
5
- /** Get vim at a specific index */
6
- getAt(index: number): Vim | undefined;
7
- }
8
- export declare class VimCollection implements IVimCollection<Vim>, IReadonlyVimCollection {
9
- private _vims;
10
- private _onChanged;
11
- get onChanged(): ISignal;
12
- constructor();
13
- get count(): number;
14
- /**
15
- * Adds a Vim instance to the collection.
16
- * @param vim - The Vim instance to add.
17
- */
18
- add(vim: Vim): void;
19
- /**
20
- * Removes a Vim instance from the collection.
21
- * @param vim - The Vim instance to remove.
22
- */
23
- remove(vim: Vim): void;
24
- /**
25
- * Gets a Vim instance by its stable ID.
26
- * @param id - The ID of the Vim instance.
27
- * @returns The Vim instance or undefined if not found.
28
- */
29
- getFromId(id: number): Vim | undefined;
30
- /**
31
- * Checks if a vim is in the collection.
32
- * @param vim - The Vim instance to check.
33
- * @returns True if the vim is in the collection.
34
- */
35
- has(vim: Vim): boolean;
36
- /**
37
- * Gets a Vim instance at a specific index.
38
- * @param index - The index of the Vim instance.
39
- * @returns The Vim instance or undefined if the index is out of bounds.
40
- */
41
- getAt(index: number): Vim | undefined;
42
- /**
43
- * Gets all Vim instances.
44
- * @returns An array of Vim instances.
45
- */
46
- getAll(): ReadonlyArray<Vim>;
47
- /**
48
- * Clears all Vim instances from the collection.
49
- */
50
- clear(): void;
51
- }
@@ -1,100 +0,0 @@
1
- import { RpcSafeClient } from './rpcSafeClient';
2
- /**
3
- * Represents the possible states an element can have in the UltraVim system.
4
- */
5
- export declare enum VisibilityState {
6
- VISIBLE = 0,
7
- HIDDEN = 1,
8
- GHOSTED = 2,
9
- HIGHLIGHTED = 16,
10
- HIDDEN_HIGHLIGHTED = 17,
11
- GHOSTED_HIGHLIGHTED = 18
12
- }
13
- /**
14
- * A class that wraps a StateTracker and is responsible for synchronizing its state updates with the remote RPCs.
15
- * It batches updates to optimize performance and handles the communication with the remote system.
16
- */
17
- export declare class VisibilitySynchronizer {
18
- private _tracker;
19
- private _rpc;
20
- private _getHandle;
21
- private _onUpdate;
22
- private _isConnected;
23
- private _animationFrame;
24
- /**
25
- * Creates a new StateSynchronizer instance.
26
- *
27
- * @param rpc - The RPC client used to communicate with the remote system
28
- * @param getHandle - Function that returns the current handle identifier
29
- * @param isConnected - Function that returns whether the connection to the remote system is active
30
- * @param onUpdate - Callback function invoked when updates are sent to the remote system
31
- * @param defaultState - The default state for elements when not explicitly set (defaults to VISIBLE)
32
- */
33
- constructor(rpc: RpcSafeClient, getHandle: () => number, isConnected: () => boolean, onUpdate: () => void, defaultState?: VisibilityState);
34
- /**
35
- * Checks if all elements are in the specified state(s).
36
- *
37
- * @param state - A single state or array of states to check against
38
- * @returns True if all elements are in the specified state(s), false otherwise
39
- */
40
- areAllInState(state: VisibilityState | VisibilityState[]): boolean;
41
- /**
42
- * Gets the current state of a specific element.
43
- *
44
- * @param elementIndex - The element index
45
- * @returns The current state of the element
46
- */
47
- getElementState(elementIndex: number): VisibilityState;
48
- /**
49
- * Gets all elements that are currently in the specified state.
50
- *
51
- * @param state - The state to query
52
- * @returns Either 'all' if all elements are in this state, or an array of element indices
53
- */
54
- getElementsInState(state: VisibilityState): number[] | 'all';
55
- /**
56
- * Gets the default state used for elements without explicit state settings.
57
- *
58
- * @returns The current default state
59
- */
60
- getDefaultState(): VisibilityState;
61
- /**
62
- * Sets the state of a specific elements.
63
- *
64
- * @param elementIndex - The element index to update
65
- * @param state - The new state to apply
66
- */
67
- setStateForElement(elementIndex: number, state: VisibilityState): void;
68
- /**
69
- * Sets the state of all elements to the specified value.
70
- *
71
- * @param state - The state to apply to all elements
72
- * @param clear - If true, clears all elements-specific overrides
73
- */
74
- setStateForAll(state: VisibilityState): void;
75
- /**
76
- * Replaces all elements in one state (or states) with another state.
77
- *
78
- * @param fromState - The state(s) to replace
79
- * @param toState - The new state to apply
80
- */
81
- replaceState(fromState: VisibilityState | VisibilityState[], toState: VisibilityState): void;
82
- /**
83
- * Reapplies all current state settings, useful after a reconnection.
84
- * This will remove redundant overrides and ensure consistency.
85
- */
86
- reapplyStates(): void;
87
- /**
88
- * Schedules a synchronization on the next animation frame.
89
- * This batches multiple rapid state changes to avoid excessive RPC calls.
90
- *
91
- * @private
92
- */
93
- private scheduleUpdate;
94
- /**
95
- * Processes all pending updates and sends them to the remote system.
96
- *
97
- * @private
98
- */
99
- private remoteUpdate;
100
- }
@@ -1,5 +0,0 @@
1
- import './style.css';
2
- import { BFastSource } from 'vim-format';
3
- export type VimSource = BFastSource;
4
- export * from './loader';
5
- export * from './viewer';
@@ -1,6 +0,0 @@
1
- import * as THREE from 'three';
2
- /**
3
- * Returns the bounding box of the average center of all meshes.
4
- * Less precise but is more stable against outliers.
5
- */
6
- export declare function getAverageBoundingBox(positions: THREE.Vector3[], thresholdSpan?: number, framingDistanceMultiplier?: number): THREE.Box3;
@@ -1,34 +0,0 @@
1
- /**
2
- * @module vim-loader
3
- */
4
- import * as THREE from 'three';
5
- import { Vim } from './vim';
6
- import { WebglAttributeTarget } from './webglAttribute';
7
- export declare class WebglColorAttribute {
8
- readonly vim: Vim;
9
- private _meshes;
10
- private _value;
11
- constructor(meshes: WebglAttributeTarget[] | undefined, value: THREE.Color | undefined, vim: Vim | undefined);
12
- updateMeshes(meshes: WebglAttributeTarget[] | undefined): void;
13
- get value(): THREE.Color;
14
- apply(color: THREE.Color | undefined): void;
15
- /**
16
- * Writes new color to the appropriate section of merged mesh color buffer.
17
- * @param index index of the merged mesh instance
18
- * @param color rgb representation of the color to apply
19
- */
20
- private applyMergedColor;
21
- /**
22
- * Repopulates the color buffer of the merged mesh from original g3d data.
23
- * @param index index of the merged mesh instance
24
- */
25
- private resetMergedColor;
26
- private resetMergedInsertableColor;
27
- /**
28
- * Adds an instanceColor buffer to the instanced mesh and sets new color for given instance
29
- * @param index index of the instanced instance
30
- * @param color rgb representation of the color to apply
31
- */
32
- private applyInstancedColor;
33
- private getOrAddInstanceColorAttribute;
34
- }