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.
- package/README.md +104 -75
- package/dist/style.css +3 -0
- package/dist/vim-bim.d.ts +1920 -0
- package/dist/vim-web.d.ts +3351 -0
- package/dist/vim-web.iife.js +18541 -19530
- package/dist/vim-web.iife.js.map +1 -1
- package/dist/vim-web.js +18561 -19550
- package/dist/vim-web.js.map +1 -1
- package/package.json +12 -9
- package/dist/types/core-viewers/index.d.ts +0 -3
- package/dist/types/core-viewers/shared/baseInputHandler.d.ts +0 -28
- package/dist/types/core-viewers/shared/index.d.ts +0 -11
- package/dist/types/core-viewers/shared/inputAdapter.d.ts +0 -22
- package/dist/types/core-viewers/shared/inputHandler.d.ts +0 -99
- package/dist/types/core-viewers/shared/keyboardHandler.d.ts +0 -96
- package/dist/types/core-viewers/shared/loadResult.d.ts +0 -55
- package/dist/types/core-viewers/shared/mouseHandler.d.ts +0 -30
- package/dist/types/core-viewers/shared/raycaster.d.ts +0 -27
- package/dist/types/core-viewers/shared/selection.d.ts +0 -105
- package/dist/types/core-viewers/shared/touchHandler.d.ts +0 -42
- package/dist/types/core-viewers/shared/vim.d.ts +0 -48
- package/dist/types/core-viewers/shared/vimCollection.d.ts +0 -25
- package/dist/types/core-viewers/ultra/camera.d.ts +0 -116
- package/dist/types/core-viewers/ultra/colorManager.d.ts +0 -73
- package/dist/types/core-viewers/ultra/decoder.d.ts +0 -108
- package/dist/types/core-viewers/ultra/decoderWithWorker.d.ts +0 -80
- package/dist/types/core-viewers/ultra/element3d.d.ts +0 -44
- package/dist/types/core-viewers/ultra/index.d.ts +0 -29
- package/dist/types/core-viewers/ultra/inputAdapter.d.ts +0 -8
- package/dist/types/core-viewers/ultra/loadRequest.d.ts +0 -14
- package/dist/types/core-viewers/ultra/logger.d.ts +0 -9
- package/dist/types/core-viewers/ultra/protocol.d.ts +0 -13
- package/dist/types/core-viewers/ultra/raycaster.d.ts +0 -52
- package/dist/types/core-viewers/ultra/remoteColor.d.ts +0 -37
- package/dist/types/core-viewers/ultra/renderer.d.ts +0 -147
- package/dist/types/core-viewers/ultra/rpcClient.d.ts +0 -86
- package/dist/types/core-viewers/ultra/rpcMarshal.d.ts +0 -64
- package/dist/types/core-viewers/ultra/rpcSafeClient.d.ts +0 -470
- package/dist/types/core-viewers/ultra/rpcTypes.d.ts +0 -71
- package/dist/types/core-viewers/ultra/rpcUtils.d.ts +0 -8
- package/dist/types/core-viewers/ultra/sectionBox.d.ts +0 -33
- package/dist/types/core-viewers/ultra/selection.d.ts +0 -4
- package/dist/types/core-viewers/ultra/socketClient.d.ts +0 -153
- package/dist/types/core-viewers/ultra/streamLogger.d.ts +0 -19
- package/dist/types/core-viewers/ultra/streamRenderer.d.ts +0 -7
- package/dist/types/core-viewers/ultra/viewer.d.ts +0 -139
- package/dist/types/core-viewers/ultra/viewport.d.ts +0 -47
- package/dist/types/core-viewers/ultra/vim.d.ts +0 -50
- package/dist/types/core-viewers/ultra/vimCollection.d.ts +0 -51
- package/dist/types/core-viewers/ultra/visibility.d.ts +0 -100
- package/dist/types/core-viewers/webgl/index.d.ts +0 -5
- package/dist/types/core-viewers/webgl/loader/averageBoundingBox.d.ts +0 -6
- package/dist/types/core-viewers/webgl/loader/colorAttribute.d.ts +0 -34
- package/dist/types/core-viewers/webgl/loader/element3d.d.ts +0 -108
- package/dist/types/core-viewers/webgl/loader/elementMapping.d.ts +0 -113
- package/dist/types/core-viewers/webgl/loader/geometry.d.ts +0 -103
- package/dist/types/core-viewers/webgl/loader/index.d.ts +0 -24
- package/dist/types/core-viewers/webgl/loader/materials/ghostMaterial.d.ts +0 -16
- package/dist/types/core-viewers/webgl/loader/materials/index.d.ts +0 -10
- package/dist/types/core-viewers/webgl/loader/materials/maskMaterial.d.ts +0 -8
- package/dist/types/core-viewers/webgl/loader/materials/materials.d.ts +0 -161
- package/dist/types/core-viewers/webgl/loader/materials/mergeMaterial.d.ts +0 -18
- package/dist/types/core-viewers/webgl/loader/materials/outlineMaterial.d.ts +0 -78
- package/dist/types/core-viewers/webgl/loader/materials/pickingMaterial.d.ts +0 -42
- package/dist/types/core-viewers/webgl/loader/materials/simpleMaterial.d.ts +0 -17
- package/dist/types/core-viewers/webgl/loader/materials/skyboxMaterial.d.ts +0 -16
- package/dist/types/core-viewers/webgl/loader/materials/standardMaterial.d.ts +0 -57
- package/dist/types/core-viewers/webgl/loader/materials/transferMaterial.d.ts +0 -8
- package/dist/types/core-viewers/webgl/loader/mesh.d.ts +0 -118
- package/dist/types/core-viewers/webgl/loader/progressive/g3dOffsets.d.ts +0 -53
- package/dist/types/core-viewers/webgl/loader/progressive/g3dSubset.d.ts +0 -117
- package/dist/types/core-viewers/webgl/loader/progressive/insertableGeometry.d.ts +0 -45
- package/dist/types/core-viewers/webgl/loader/progressive/insertableMesh.d.ts +0 -63
- package/dist/types/core-viewers/webgl/loader/progressive/insertableSubmesh.d.ts +0 -43
- package/dist/types/core-viewers/webgl/loader/progressive/instancedMesh.d.ts +0 -39
- package/dist/types/core-viewers/webgl/loader/progressive/instancedMeshFactory.d.ts +0 -27
- package/dist/types/core-viewers/webgl/loader/progressive/instancedSubmesh.d.ts +0 -31
- package/dist/types/core-viewers/webgl/loader/progressive/legacyMeshFactory.d.ts +0 -26
- package/dist/types/core-viewers/webgl/loader/progressive/loadRequest.d.ts +0 -21
- package/dist/types/core-viewers/webgl/loader/progressive/loadingSynchronizer.d.ts +0 -27
- package/dist/types/core-viewers/webgl/loader/progressive/subsetBuilder.d.ts +0 -74
- package/dist/types/core-viewers/webgl/loader/progressive/subsetRequest.d.ts +0 -38
- package/dist/types/core-viewers/webgl/loader/progressive/vimx.d.ts +0 -17
- package/dist/types/core-viewers/webgl/loader/scene.d.ts +0 -90
- package/dist/types/core-viewers/webgl/loader/vim.d.ts +0 -163
- package/dist/types/core-viewers/webgl/loader/vimCollection.d.ts +0 -79
- package/dist/types/core-viewers/webgl/loader/vimSettings.d.ts +0 -69
- package/dist/types/core-viewers/webgl/loader/webglAttribute.d.ts +0 -19
- package/dist/types/core-viewers/webgl/utils/boxes.d.ts +0 -5
- package/dist/types/core-viewers/webgl/viewer/camera/camera.d.ts +0 -149
- package/dist/types/core-viewers/webgl/viewer/camera/cameraInterface.d.ts +0 -107
- package/dist/types/core-viewers/webgl/viewer/camera/cameraMovement.d.ts +0 -88
- package/dist/types/core-viewers/webgl/viewer/camera/cameraMovementLerp.d.ts +0 -28
- package/dist/types/core-viewers/webgl/viewer/camera/cameraMovementSnap.d.ts +0 -23
- package/dist/types/core-viewers/webgl/viewer/camera/cameraOrthographic.d.ts +0 -11
- package/dist/types/core-viewers/webgl/viewer/camera/cameraPerspective.d.ts +0 -11
- package/dist/types/core-viewers/webgl/viewer/camera/index.d.ts +0 -7
- package/dist/types/core-viewers/webgl/viewer/environment/environment.d.ts +0 -38
- package/dist/types/core-viewers/webgl/viewer/environment/index.d.ts +0 -3
- package/dist/types/core-viewers/webgl/viewer/environment/light.d.ts +0 -43
- package/dist/types/core-viewers/webgl/viewer/environment/skybox.d.ts +0 -39
- package/dist/types/core-viewers/webgl/viewer/gizmos/axes/axes.d.ts +0 -14
- package/dist/types/core-viewers/webgl/viewer/gizmos/axes/axesSettings.d.ts +0 -20
- package/dist/types/core-viewers/webgl/viewer/gizmos/axes/gizmoAxes.d.ts +0 -62
- package/dist/types/core-viewers/webgl/viewer/gizmos/axes/index.d.ts +0 -3
- package/dist/types/core-viewers/webgl/viewer/gizmos/gizmoLoading.d.ts +0 -23
- package/dist/types/core-viewers/webgl/viewer/gizmos/gizmoOrbit.d.ts +0 -76
- package/dist/types/core-viewers/webgl/viewer/gizmos/gizmos.d.ts +0 -45
- package/dist/types/core-viewers/webgl/viewer/gizmos/index.d.ts +0 -7
- package/dist/types/core-viewers/webgl/viewer/gizmos/markers/gizmoMarker.d.ts +0 -113
- package/dist/types/core-viewers/webgl/viewer/gizmos/markers/gizmoMarkers.d.ts +0 -52
- package/dist/types/core-viewers/webgl/viewer/gizmos/markers/index.d.ts +0 -2
- package/dist/types/core-viewers/webgl/viewer/gizmos/measure/index.d.ts +0 -3
- package/dist/types/core-viewers/webgl/viewer/gizmos/measure/measure.d.ts +0 -97
- package/dist/types/core-viewers/webgl/viewer/gizmos/measure/measureGizmo.d.ts +0 -44
- package/dist/types/core-viewers/webgl/viewer/gizmos/measure/measureHtml.d.ts +0 -26
- package/dist/types/core-viewers/webgl/viewer/gizmos/sectionBox/SectionBoxMesh.d.ts +0 -15
- package/dist/types/core-viewers/webgl/viewer/gizmos/sectionBox/index.d.ts +0 -7
- package/dist/types/core-viewers/webgl/viewer/gizmos/sectionBox/sectionBox.d.ts +0 -103
- package/dist/types/core-viewers/webgl/viewer/gizmos/sectionBox/sectionBoxGizmo.d.ts +0 -18
- package/dist/types/core-viewers/webgl/viewer/gizmos/sectionBox/sectionBoxHandle.d.ts +0 -20
- package/dist/types/core-viewers/webgl/viewer/gizmos/sectionBox/sectionBoxHandles.d.ts +0 -20
- package/dist/types/core-viewers/webgl/viewer/gizmos/sectionBox/sectionBoxInputs.d.ts +0 -118
- package/dist/types/core-viewers/webgl/viewer/gizmos/sectionBox/sectionBoxOutline.d.ts +0 -15
- package/dist/types/core-viewers/webgl/viewer/index.d.ts +0 -10
- package/dist/types/core-viewers/webgl/viewer/inputAdapter.d.ts +0 -3
- package/dist/types/core-viewers/webgl/viewer/raycaster.d.ts +0 -71
- package/dist/types/core-viewers/webgl/viewer/rendering/gpuPicker.d.ts +0 -145
- package/dist/types/core-viewers/webgl/viewer/rendering/index.d.ts +0 -4
- package/dist/types/core-viewers/webgl/viewer/rendering/mergePass.d.ts +0 -18
- package/dist/types/core-viewers/webgl/viewer/rendering/outlinePass.d.ts +0 -19
- package/dist/types/core-viewers/webgl/viewer/rendering/renderScene.d.ts +0 -57
- package/dist/types/core-viewers/webgl/viewer/rendering/renderer.d.ts +0 -135
- package/dist/types/core-viewers/webgl/viewer/rendering/renderingComposer.d.ts +0 -95
- package/dist/types/core-viewers/webgl/viewer/rendering/renderingSection.d.ts +0 -40
- package/dist/types/core-viewers/webgl/viewer/rendering/transferPass.d.ts +0 -17
- package/dist/types/core-viewers/webgl/viewer/selection.d.ts +0 -9
- package/dist/types/core-viewers/webgl/viewer/settings/index.d.ts +0 -3
- package/dist/types/core-viewers/webgl/viewer/settings/viewerDefaultSettings.d.ts +0 -5
- package/dist/types/core-viewers/webgl/viewer/settings/viewerSettings.d.ts +0 -310
- package/dist/types/core-viewers/webgl/viewer/settings/viewerSettingsParsing.d.ts +0 -9
- package/dist/types/core-viewers/webgl/viewer/viewer.d.ts +0 -115
- package/dist/types/core-viewers/webgl/viewer/viewport.d.ts +0 -73
- package/dist/types/index.d.ts +0 -3
- package/dist/types/react-viewers/bim/bimInfoBody.d.ts +0 -9
- package/dist/types/react-viewers/bim/bimInfoData.d.ts +0 -144
- package/dist/types/react-viewers/bim/bimInfoHeader.d.ts +0 -6
- package/dist/types/react-viewers/bim/bimInfoObject.d.ts +0 -12
- package/dist/types/react-viewers/bim/bimInfoPanel.d.ts +0 -10
- package/dist/types/react-viewers/bim/bimInfoVim.d.ts +0 -5
- package/dist/types/react-viewers/bim/bimPanel.d.ts +0 -40
- package/dist/types/react-viewers/bim/bimSearch.d.ts +0 -17
- package/dist/types/react-viewers/bim/bimTree.d.ts +0 -33
- package/dist/types/react-viewers/bim/bimTreeData.d.ts +0 -44
- package/dist/types/react-viewers/bim/bimUtils.d.ts +0 -13
- package/dist/types/react-viewers/bim/index.d.ts +0 -8
- package/dist/types/react-viewers/bim/openState.d.ts +0 -5
- package/dist/types/react-viewers/container.d.ts +0 -27
- package/dist/types/react-viewers/controlbar/controlBar.d.ts +0 -25
- package/dist/types/react-viewers/controlbar/controlBarButton.d.ts +0 -15
- package/dist/types/react-viewers/controlbar/controlBarIds.d.ts +0 -32
- package/dist/types/react-viewers/controlbar/controlBarSection.d.ts +0 -8
- package/dist/types/react-viewers/controlbar/index.d.ts +0 -5
- package/dist/types/react-viewers/controlbar/style.d.ts +0 -10
- package/dist/types/react-viewers/errors/errorStyle.d.ts +0 -15
- package/dist/types/react-viewers/errors/errors.d.ts +0 -6
- package/dist/types/react-viewers/errors/index.d.ts +0 -2
- package/dist/types/react-viewers/generic/genericField.d.ts +0 -31
- package/dist/types/react-viewers/generic/genericPanel.d.ts +0 -12
- package/dist/types/react-viewers/generic/index.d.ts +0 -2
- package/dist/types/react-viewers/generic/inputNumber.d.ts +0 -4
- package/dist/types/react-viewers/helpers/cameraObserver.d.ts +0 -8
- package/dist/types/react-viewers/helpers/cursor.d.ts +0 -37
- package/dist/types/react-viewers/helpers/customizer.d.ts +0 -4
- package/dist/types/react-viewers/helpers/data.d.ts +0 -27
- package/dist/types/react-viewers/helpers/element.d.ts +0 -14
- package/dist/types/react-viewers/helpers/fullScreenObserver.d.ts +0 -9
- package/dist/types/react-viewers/helpers/index.d.ts +0 -6
- package/dist/types/react-viewers/helpers/layout.d.ts +0 -24
- package/dist/types/react-viewers/helpers/loadRequest.d.ts +0 -28
- package/dist/types/react-viewers/helpers/reactUtils.d.ts +0 -286
- package/dist/types/react-viewers/helpers/requestResult.d.ts +0 -13
- package/dist/types/react-viewers/helpers/utils.d.ts +0 -15
- package/dist/types/react-viewers/icons.d.ts +0 -61
- package/dist/types/react-viewers/index.d.ts +0 -14
- package/dist/types/react-viewers/panels/axesPanel.d.ts +0 -21
- package/dist/types/react-viewers/panels/contextMenu.d.ts +0 -83
- package/dist/types/react-viewers/panels/help.d.ts +0 -10
- package/dist/types/react-viewers/panels/index.d.ts +0 -26
- package/dist/types/react-viewers/panels/isolationPanel.d.ts +0 -11
- package/dist/types/react-viewers/panels/loadingBox.d.ts +0 -29
- package/dist/types/react-viewers/panels/logo.d.ts +0 -5
- package/dist/types/react-viewers/panels/messageBox.d.ts +0 -15
- package/dist/types/react-viewers/panels/modal.d.ts +0 -17
- package/dist/types/react-viewers/panels/overlay.d.ts +0 -10
- package/dist/types/react-viewers/panels/performance.d.ts +0 -7
- package/dist/types/react-viewers/panels/restOfScreen.d.ts +0 -5
- package/dist/types/react-viewers/panels/sectionBoxPanel.d.ts +0 -10
- package/dist/types/react-viewers/panels/sidePanel.d.ts +0 -20
- package/dist/types/react-viewers/panels/toast.d.ts +0 -22
- package/dist/types/react-viewers/settings/anySettings.d.ts +0 -7
- package/dist/types/react-viewers/settings/index.d.ts +0 -5
- package/dist/types/react-viewers/settings/settingsInputBox.d.ts +0 -4
- package/dist/types/react-viewers/settings/settingsItem.d.ts +0 -30
- package/dist/types/react-viewers/settings/settingsKeys.d.ts +0 -46
- package/dist/types/react-viewers/settings/settingsPanel.d.ts +0 -18
- package/dist/types/react-viewers/settings/settingsPanelContent.d.ts +0 -6
- package/dist/types/react-viewers/settings/settingsState.d.ts +0 -18
- package/dist/types/react-viewers/settings/settingsStorage.d.ts +0 -15
- package/dist/types/react-viewers/settings/settingsSubtitle.d.ts +0 -2
- package/dist/types/react-viewers/settings/settingsToggle.d.ts +0 -11
- package/dist/types/react-viewers/settings/userBoolean.d.ts +0 -17
- package/dist/types/react-viewers/state/cameraState.d.ts +0 -24
- package/dist/types/react-viewers/state/controlBarState.d.ts +0 -88
- package/dist/types/react-viewers/state/fullScreenState.d.ts +0 -4
- package/dist/types/react-viewers/state/index.d.ts +0 -9
- package/dist/types/react-viewers/state/measureState.d.ts +0 -7
- package/dist/types/react-viewers/state/pointerState.d.ts +0 -6
- package/dist/types/react-viewers/state/sectionBoxState.d.ts +0 -34
- package/dist/types/react-viewers/state/sharedIsolation.d.ts +0 -40
- package/dist/types/react-viewers/state/sideState.d.ts +0 -22
- package/dist/types/react-viewers/state/viewerInputs.d.ts +0 -3
- package/dist/types/react-viewers/ultra/camera.d.ts +0 -3
- package/dist/types/react-viewers/ultra/controlBar.d.ts +0 -9
- package/dist/types/react-viewers/ultra/errors/fileLoadingError.d.ts +0 -2
- package/dist/types/react-viewers/ultra/errors/fileOpeningError.d.ts +0 -2
- package/dist/types/react-viewers/ultra/errors/serverCompatibilityError.d.ts +0 -2
- package/dist/types/react-viewers/ultra/errors/serverConnectionError.d.ts +0 -2
- package/dist/types/react-viewers/ultra/errors/serverFileDownloadingError.d.ts +0 -2
- package/dist/types/react-viewers/ultra/errors/serverStreamError.d.ts +0 -2
- package/dist/types/react-viewers/ultra/errors/ultraErrors.d.ts +0 -3
- package/dist/types/react-viewers/ultra/index.d.ts +0 -3
- package/dist/types/react-viewers/ultra/isolation.d.ts +0 -3
- package/dist/types/react-viewers/ultra/modal.d.ts +0 -5
- package/dist/types/react-viewers/ultra/sectionBox.d.ts +0 -3
- package/dist/types/react-viewers/ultra/settings.d.ts +0 -13
- package/dist/types/react-viewers/ultra/settingsPanel.d.ts +0 -5
- package/dist/types/react-viewers/ultra/viewer.d.ts +0 -23
- package/dist/types/react-viewers/ultra/viewerRef.d.ts +0 -50
- package/dist/types/react-viewers/urls.d.ts +0 -2
- package/dist/types/react-viewers/webgl/camera.d.ts +0 -3
- package/dist/types/react-viewers/webgl/index.d.ts +0 -4
- package/dist/types/react-viewers/webgl/inputsBindings.d.ts +0 -8
- package/dist/types/react-viewers/webgl/isolation.d.ts +0 -2
- package/dist/types/react-viewers/webgl/loading.d.ts +0 -64
- package/dist/types/react-viewers/webgl/sectionBox.d.ts +0 -3
- package/dist/types/react-viewers/webgl/settings.d.ts +0 -36
- package/dist/types/react-viewers/webgl/settingsPanel.d.ts +0 -12
- package/dist/types/react-viewers/webgl/viewer.d.ts +0 -28
- package/dist/types/react-viewers/webgl/viewerRef.d.ts +0 -131
- package/dist/types/react-viewers/webgl/viewerState.d.ts +0 -13
- package/dist/types/utils/array.d.ts +0 -18
- package/dist/types/utils/asyncQueue.d.ts +0 -15
- package/dist/types/utils/debounce.d.ts +0 -30
- package/dist/types/utils/index.d.ts +0 -10
- package/dist/types/utils/interfaces.d.ts +0 -3
- package/dist/types/utils/math3d.d.ts +0 -19
- package/dist/types/utils/partial.d.ts +0 -7
- package/dist/types/utils/promise.d.ts +0 -21
- package/dist/types/utils/threeUtils.d.ts +0 -4
- package/dist/types/utils/url.d.ts +0 -10
- package/dist/types/utils/validation.d.ts +0 -29
package/README.md
CHANGED
|
@@ -1,75 +1,104 @@
|
|
|
1
|
-
# VIM Web
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
-
|
|
73
|
-
-
|
|
74
|
-
-
|
|
75
|
-
|
|
1
|
+
# VIM Web
|
|
2
|
+
|
|
3
|
+
React-based 3D viewers for VIM files with BIM (Building Information Modeling) support. VIM files are optimized 3D building models that contain both geometry and rich BIM metadata (elements, properties, categories, etc.).
|
|
4
|
+
|
|
5
|
+
## Getting Started
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npm install
|
|
9
|
+
npm run dev # Dev server at localhost:5173
|
|
10
|
+
npm run build # Production build (vite + tsc declarations + rollup d.ts bundles)
|
|
11
|
+
npm run eslint # Lint
|
|
12
|
+
npm run documentation # TypeDoc generation
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
### Build Pipeline
|
|
16
|
+
|
|
17
|
+
`npm run build` runs three steps in sequence:
|
|
18
|
+
|
|
19
|
+
1. **Vite build** — bundles `vim-web.js` (ESM) and `vim-web.iife.js` (IIFE) into `dist/`
|
|
20
|
+
2. **TypeScript declarations** (`tsc -p tsconfig.types.json`) — emits individual `.d.ts` files to `dist/types/`
|
|
21
|
+
3. **Rollup d.ts bundling** — produces two self-contained type bundles:
|
|
22
|
+
- `dist/vim-web.d.ts` — full library API (3,300+ lines), referenced by `"types"` in package.json
|
|
23
|
+
- `dist/vim-bim.d.ts` — standalone BIM data types from `vim-format` (1,900+ lines)
|
|
24
|
+
|
|
25
|
+
### Type Bundles & AI Tooling
|
|
26
|
+
|
|
27
|
+
The bundled `.d.ts` files serve a dual purpose:
|
|
28
|
+
|
|
29
|
+
**`vim-web.d.ts`** is the package's type entry point. It inlines types from `ste-signals`, `ste-events`, and `ste-core` so consumers get full type information without needing those packages. Types from `three`, `react`, `deepmerge`, and `vim-format` remain external imports.
|
|
30
|
+
|
|
31
|
+
**`vim-bim.d.ts`** bundles all BIM data interfaces (`IElement`, `ICategory`, `IRoom`, `VimDocument`, etc.) from `vim-format` into a single self-contained file. This is designed as an **AI-readable reference** — an LLM can read this one file to understand the complete BIM data model without needing access to the `vim-format` package source. It is not imported by the library itself.
|
|
32
|
+
|
|
33
|
+
Both files have semantic namespace names (e.g., `Core_Webgl`, `React_Ultra`) instead of the opaque `index_d$1` names that `rollup-plugin-dts` generates by default. This makes them readable by both humans and AI tools. The rollup configs (`rollup.dts.config.mjs`, `rollup.bim-dts.config.mjs`) handle the namespace renaming and various fixups.
|
|
34
|
+
|
|
35
|
+
## Architecture Overview
|
|
36
|
+
|
|
37
|
+
### Dual Viewer System
|
|
38
|
+
|
|
39
|
+
| Viewer | Use Case | Rendering |
|
|
40
|
+
|--------|----------|-----------|
|
|
41
|
+
| **WebGL** | Small-medium models | Local Three.js rendering |
|
|
42
|
+
| **Ultra** | Large models | Server-side streaming via WebSocket RPC |
|
|
43
|
+
|
|
44
|
+
### Layer Separation
|
|
45
|
+
|
|
46
|
+
```
|
|
47
|
+
src/vim-web/
|
|
48
|
+
├── core-viewers/ # Framework-agnostic (no React)
|
|
49
|
+
│ ├── webgl/ # Local Three.js rendering
|
|
50
|
+
│ │ ├── loader/ # VIM parsing, mesh building, scene, data model
|
|
51
|
+
│ │ │ ├── progressive/ # Geometry loading & mesh construction
|
|
52
|
+
│ │ │ └── materials/ # Shader materials
|
|
53
|
+
│ │ └── viewer/ # Camera, raycaster, rendering, gizmos
|
|
54
|
+
│ ├── ultra/ # RPC client for streaming server
|
|
55
|
+
│ └── shared/ # Common interfaces (IVim, Selection, Input)
|
|
56
|
+
└── react-viewers/ # React UI layer
|
|
57
|
+
├── webgl/ # Full UI (BIM tree, context menu, gizmos)
|
|
58
|
+
├── ultra/ # Minimal UI
|
|
59
|
+
└── helpers/ # StateRef, hooks, utilities
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
### Import Discipline
|
|
63
|
+
|
|
64
|
+
- **Core files** (`core-viewers/`): Import directly from source files, never through barrel files
|
|
65
|
+
- **React layer** (`react-viewers/`): Import through barrel files (`import * as Core from '../../core-viewers'`)
|
|
66
|
+
|
|
67
|
+
## Key Concepts
|
|
68
|
+
|
|
69
|
+
- **Element3D**: Primary object representing a BIM element. Controls visibility, color, outline, and provides access to BIM metadata.
|
|
70
|
+
- **Selection**: Observable selection state with multi-select, events, and bounding box queries.
|
|
71
|
+
- **Camera**: Fluent API with `snap()` (instant) and `lerp(duration)` (animated) for framing, orbiting, and zooming.
|
|
72
|
+
- **Gizmos**: Section box, measurement tool, and markers.
|
|
73
|
+
- **StateRef/FuncRef**: Observable state and callable function references used in the React layer for customization.
|
|
74
|
+
- **ViewerApi**: The root API handle returned by `createViewer()`. Provides `load()`, `open()`, `unload()`, and access to all subsystems (isolation, sectionBox, controlBar, etc.).
|
|
75
|
+
|
|
76
|
+
## Customization
|
|
77
|
+
|
|
78
|
+
The React viewer exposes customization points for:
|
|
79
|
+
- **Control bar**: Add/replace toolbar buttons via `viewer.controlBar.customize()`
|
|
80
|
+
- **Context menu**: Add custom menu items via `viewer.contextMenu.customize()`
|
|
81
|
+
- **BIM info panel**: Modify displayed data or override rendering at any level
|
|
82
|
+
- **Settings panel**: Add/remove settings items via `viewer.settings.customize()`
|
|
83
|
+
- **Floating panels**: Modify section box offset and isolation render settings fields
|
|
84
|
+
|
|
85
|
+
## Documentation
|
|
86
|
+
|
|
87
|
+
- **[CLAUDE.md](./CLAUDE.md)** — Detailed API reference, code examples, architecture details, and patterns. This is the primary reference for both developers and AI tools.
|
|
88
|
+
- **[.claude/docs/INPUT.md](./.claude/docs/INPUT.md)** — Input system architecture, coordinate systems, override patterns
|
|
89
|
+
- **[.claude/docs/optimization.md](./.claude/docs/optimization.md)** — Loading pipeline performance and profiling
|
|
90
|
+
- **[.claude/docs/RENDERING_OPTIMIZATIONS.md](./.claude/docs/RENDERING_OPTIMIZATIONS.md)** — Shader material architecture and rendering patterns
|
|
91
|
+
|
|
92
|
+
## Tech Stack
|
|
93
|
+
|
|
94
|
+
- **TypeScript 5.7**, **React 18.3**, **Vite 6**
|
|
95
|
+
- **Three.js 0.171**, **Tailwind CSS 3.4** (`vc-` prefix)
|
|
96
|
+
- **ste-events/ste-signals** for typed events, **vim-format** for BIM data
|
|
97
|
+
- **Rollup** + **rollup-plugin-dts** for type bundle generation
|
|
98
|
+
|
|
99
|
+
## Code Style
|
|
100
|
+
|
|
101
|
+
- Prettier: no semicolons, trailing commas, single quotes
|
|
102
|
+
- Index files control module exports
|
|
103
|
+
- No test framework — build pass is the verification
|
|
104
|
+
- No deprecated code or backwards-compatibility shims
|
package/dist/style.css
CHANGED