vim-web 0.3.27 → 0.3.29
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 +83 -83
- package/license.txt +21 -21
- package/package.json +89 -88
- package/dist/vim-web.css +0 -2029
- package/dist/vim-web.iife.js +0 -72767
- package/dist/vim-web.iife.js.map +0 -1
- package/dist/vim-web.js +0 -72750
- package/dist/vim-web.js.map +0 -1
package/README.md
CHANGED
|
@@ -1,83 +1,83 @@
|
|
|
1
|
-
# VIM WebGL Component
|
|
2
|
-
|
|
3
|
-
### Documentation
|
|
4
|
-
|
|
5
|
-
Explore the full [API Documentation](https://vimaec.github.io/vim-web/api/).
|
|
6
|
-
|
|
7
|
-
### Package
|
|
8
|
-
https://www.npmjs.com/package/vim-web
|
|
9
|
-
|
|
10
|
-
## Live Demo
|
|
11
|
-
|
|
12
|
-
### WebGL Viewer
|
|
13
|
-
- **[Small - Residence](https://vimaec.github.io/vim-web/webgl)**
|
|
14
|
-
- **[Medium - Medical Tower](https://vimaec.github.io/vim-web/webgl?vim=https://vim.azureedge.net/samples/skanska.vim)**
|
|
15
|
-
- **[Small - Stadium](https://vimaec.github.io/vim-web/webgl?vim=https://vim.azureedge.net/samples/stadium.vim)**
|
|
16
|
-
|
|
17
|
-
### Ultra Viewer
|
|
18
|
-
- **[Small - Residence](https://vimaec.github.io/vim-web/ultra)**
|
|
19
|
-
- **[Medium - Medical Tower](https://vimaec.github.io/vim-web/ultra?vim=https://vim.azureedge.net/samples/skanska.vim)**
|
|
20
|
-
- **[Small - Stadium](https://vimaec.github.io/vim-web/ultra?vim=https://vim.azureedge.net/samples/stadium.vim)**
|
|
21
|
-
|
|
22
|
-
Find detailed camera controls here: [Camera Controls](https://docs.vimaec.com/docs/vim-cloud/webgl-navigation-and-controls-guide).
|
|
23
|
-
|
|
24
|
-
## Overview
|
|
25
|
-
|
|
26
|
-
The **VIM-Web** repository consists of four primary components, divided into two layers:
|
|
27
|
-
|
|
28
|
-
### Core Viewers
|
|
29
|
-
- **WebGL Viewer:** A WebGL-based viewer for the VIM format. Includes features like outlines, ghosting, and sectioning, but without UI components.
|
|
30
|
-
- **Ultra Viewer:** A high-performance viewer for the VIM Ultra Render Server, optimized for scale and speed.
|
|
31
|
-
|
|
32
|
-
### React Viewers
|
|
33
|
-
- **WebGL Component:** A React-based wrapper for the WebGL viewer, providing interactive UI elements and a BIM explorer.
|
|
34
|
-
- **Ultra Component:** A React-based wrapper for the Ultra viewer, featuring a UI for real-time interactions.
|
|
35
|
-
|
|
36
|
-
## VIM Format
|
|
37
|
-
|
|
38
|
-
The **VIM** file format is a high-performance 3D scene format that supports rich BIM data. It can also be extended to accommodate other relational and non-relational datasets. Unlike **IFC**, the VIM format is pre-tessellated, allowing for rapid loading and rendering.
|
|
39
|
-
|
|
40
|
-
Learn more about the VIM format here: [VIM GitHub Repository](https://github.com/vimaec/vim).
|
|
41
|
-
|
|
42
|
-
### Built With
|
|
43
|
-
- [VIM WebGL Viewer](https://github.com/vimaec/vim-webgl-viewer)
|
|
44
|
-
- [React.js](https://reactjs.org/)
|
|
45
|
-
|
|
46
|
-
## Getting Started
|
|
47
|
-
|
|
48
|
-
Follow these steps to get started with the project:
|
|
49
|
-
|
|
50
|
-
1. Clone the repository.
|
|
51
|
-
2. Open the project in **VS Code**.
|
|
52
|
-
3. Install the dependencies: `npm install`.
|
|
53
|
-
4. Start the development server: `npm run dev`.
|
|
54
|
-
|
|
55
|
-
> **Note:** Ensure you have a recent version of **Node.js** installed, as required by Vite.
|
|
56
|
-
|
|
57
|
-
## Repository Organization
|
|
58
|
-
|
|
59
|
-
- **`./docs`:** Root folder for GitHub Pages, built using the `build:website` script.
|
|
60
|
-
- **`./dist`:** Contains the built package for npm, created with the `build:libs` script.
|
|
61
|
-
- **`./src/pages`:** Source code for the demo pages published on GitHub Pages.
|
|
62
|
-
- **`./src/vim-web`:** Source code for building and publishing the vim-web npm package.
|
|
63
|
-
- **`./src/core-viewers/webgl`:** Source code for the WebGL core viewer. Based on [vim-webgl-viewer](https://github.com/vimaec/vim-webgl-viewer).
|
|
64
|
-
- **`./src/core-viewers/ultra`:** Source code for the Ultra core viewer.
|
|
65
|
-
- **`./src/react-viewers/webgl`:** Source code for the WebGL React component. Based on [vim-webgl-component](https://github.com/vimaec/vim-webgl-component).
|
|
66
|
-
- **`./src/react-viewers/ultra`:** Source code for the Ultra React component.
|
|
67
|
-
|
|
68
|
-
## License
|
|
69
|
-
|
|
70
|
-
Distributed under the **MIT License**. See `LICENSE.txt` for more details.
|
|
71
|
-
|
|
72
|
-
## Contact
|
|
73
|
-
|
|
74
|
-
- **Simon Roberge** - [simon.roberge@vimaec.com](mailto:simon.roberge@vimaec.com)
|
|
75
|
-
- **Martin Ashton** - [martin.ashton@vimaec.com](mailto:martin.ashton@vimaec.com)
|
|
76
|
-
|
|
77
|
-
## Acknowledgments
|
|
78
|
-
|
|
79
|
-
Special thanks to these packages and more:
|
|
80
|
-
- [react-complex-tree](https://github.com/lukasbach/react-complex-tree)
|
|
81
|
-
- [re-resizable](https://github.com/bokuweb/re-resizable)
|
|
82
|
-
- [react-tooltip](https://github.com/ReactTooltip/react-tooltip)
|
|
83
|
-
- [Strongly Typed Events](https://github.com/KeesCBakker/Strongly-Typed-Events-for-TypeScript#readme)
|
|
1
|
+
# VIM WebGL Component
|
|
2
|
+
|
|
3
|
+
### Documentation
|
|
4
|
+
|
|
5
|
+
Explore the full [API Documentation](https://vimaec.github.io/vim-web/api/).
|
|
6
|
+
|
|
7
|
+
### Package
|
|
8
|
+
https://www.npmjs.com/package/vim-web
|
|
9
|
+
|
|
10
|
+
## Live Demo
|
|
11
|
+
|
|
12
|
+
### WebGL Viewer
|
|
13
|
+
- **[Small - Residence](https://vimaec.github.io/vim-web/webgl)**
|
|
14
|
+
- **[Medium - Medical Tower](https://vimaec.github.io/vim-web/webgl?vim=https://vim.azureedge.net/samples/skanska.vim)**
|
|
15
|
+
- **[Small - Stadium](https://vimaec.github.io/vim-web/webgl?vim=https://vim.azureedge.net/samples/stadium.vim)**
|
|
16
|
+
|
|
17
|
+
### Ultra Viewer
|
|
18
|
+
- **[Small - Residence](https://vimaec.github.io/vim-web/ultra)**
|
|
19
|
+
- **[Medium - Medical Tower](https://vimaec.github.io/vim-web/ultra?vim=https://vim.azureedge.net/samples/skanska.vim)**
|
|
20
|
+
- **[Small - Stadium](https://vimaec.github.io/vim-web/ultra?vim=https://vim.azureedge.net/samples/stadium.vim)**
|
|
21
|
+
|
|
22
|
+
Find detailed camera controls here: [Camera Controls](https://docs.vimaec.com/docs/vim-cloud/webgl-navigation-and-controls-guide).
|
|
23
|
+
|
|
24
|
+
## Overview
|
|
25
|
+
|
|
26
|
+
The **VIM-Web** repository consists of four primary components, divided into two layers:
|
|
27
|
+
|
|
28
|
+
### Core Viewers
|
|
29
|
+
- **WebGL Viewer:** A WebGL-based viewer for the VIM format. Includes features like outlines, ghosting, and sectioning, but without UI components.
|
|
30
|
+
- **Ultra Viewer:** A high-performance viewer for the VIM Ultra Render Server, optimized for scale and speed.
|
|
31
|
+
|
|
32
|
+
### React Viewers
|
|
33
|
+
- **WebGL Component:** A React-based wrapper for the WebGL viewer, providing interactive UI elements and a BIM explorer.
|
|
34
|
+
- **Ultra Component:** A React-based wrapper for the Ultra viewer, featuring a UI for real-time interactions.
|
|
35
|
+
|
|
36
|
+
## VIM Format
|
|
37
|
+
|
|
38
|
+
The **VIM** file format is a high-performance 3D scene format that supports rich BIM data. It can also be extended to accommodate other relational and non-relational datasets. Unlike **IFC**, the VIM format is pre-tessellated, allowing for rapid loading and rendering.
|
|
39
|
+
|
|
40
|
+
Learn more about the VIM format here: [VIM GitHub Repository](https://github.com/vimaec/vim).
|
|
41
|
+
|
|
42
|
+
### Built With
|
|
43
|
+
- [VIM WebGL Viewer](https://github.com/vimaec/vim-webgl-viewer)
|
|
44
|
+
- [React.js](https://reactjs.org/)
|
|
45
|
+
|
|
46
|
+
## Getting Started
|
|
47
|
+
|
|
48
|
+
Follow these steps to get started with the project:
|
|
49
|
+
|
|
50
|
+
1. Clone the repository.
|
|
51
|
+
2. Open the project in **VS Code**.
|
|
52
|
+
3. Install the dependencies: `npm install`.
|
|
53
|
+
4. Start the development server: `npm run dev`.
|
|
54
|
+
|
|
55
|
+
> **Note:** Ensure you have a recent version of **Node.js** installed, as required by Vite.
|
|
56
|
+
|
|
57
|
+
## Repository Organization
|
|
58
|
+
|
|
59
|
+
- **`./docs`:** Root folder for GitHub Pages, built using the `build:website` script.
|
|
60
|
+
- **`./dist`:** Contains the built package for npm, created with the `build:libs` script.
|
|
61
|
+
- **`./src/pages`:** Source code for the demo pages published on GitHub Pages.
|
|
62
|
+
- **`./src/vim-web`:** Source code for building and publishing the vim-web npm package.
|
|
63
|
+
- **`./src/core-viewers/webgl`:** Source code for the WebGL core viewer. Based on [vim-webgl-viewer](https://github.com/vimaec/vim-webgl-viewer).
|
|
64
|
+
- **`./src/core-viewers/ultra`:** Source code for the Ultra core viewer.
|
|
65
|
+
- **`./src/react-viewers/webgl`:** Source code for the WebGL React component. Based on [vim-webgl-component](https://github.com/vimaec/vim-webgl-component).
|
|
66
|
+
- **`./src/react-viewers/ultra`:** Source code for the Ultra React component.
|
|
67
|
+
|
|
68
|
+
## License
|
|
69
|
+
|
|
70
|
+
Distributed under the **MIT License**. See `LICENSE.txt` for more details.
|
|
71
|
+
|
|
72
|
+
## Contact
|
|
73
|
+
|
|
74
|
+
- **Simon Roberge** - [simon.roberge@vimaec.com](mailto:simon.roberge@vimaec.com)
|
|
75
|
+
- **Martin Ashton** - [martin.ashton@vimaec.com](mailto:martin.ashton@vimaec.com)
|
|
76
|
+
|
|
77
|
+
## Acknowledgments
|
|
78
|
+
|
|
79
|
+
Special thanks to these packages and more:
|
|
80
|
+
- [react-complex-tree](https://github.com/lukasbach/react-complex-tree)
|
|
81
|
+
- [re-resizable](https://github.com/bokuweb/re-resizable)
|
|
82
|
+
- [react-tooltip](https://github.com/ReactTooltip/react-tooltip)
|
|
83
|
+
- [Strongly Typed Events](https://github.com/KeesCBakker/Strongly-Typed-Events-for-TypeScript#readme)
|
package/license.txt
CHANGED
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
MIT License
|
|
2
|
-
|
|
3
|
-
Copyright (c) 2024 VIMaec LLC.
|
|
4
|
-
|
|
5
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
-
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
-
in the Software without restriction, including without limitation the rights
|
|
8
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
-
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
-
furnished to do so, subject to the following conditions:
|
|
11
|
-
|
|
12
|
-
The above copyright notice and this permission notice shall be included in all
|
|
13
|
-
copies or substantial portions of the Software.
|
|
14
|
-
|
|
15
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
-
SOFTWARE.
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2024 VIMaec LLC.
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/package.json
CHANGED
|
@@ -1,88 +1,89 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "vim-web",
|
|
3
|
-
"version": "0.3.
|
|
4
|
-
"description": "A demonstration app built on top of the vim-webgl-viewer",
|
|
5
|
-
"type": "module",
|
|
6
|
-
"files": [
|
|
7
|
-
"dist"
|
|
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
|
-
"@types/
|
|
37
|
-
"@types/react
|
|
38
|
-
"@
|
|
39
|
-
"@typescript-eslint/
|
|
40
|
-
"
|
|
41
|
-
"
|
|
42
|
-
"eslint
|
|
43
|
-
"eslint-
|
|
44
|
-
"eslint-plugin-
|
|
45
|
-
"eslint-plugin-
|
|
46
|
-
"eslint-plugin-react
|
|
47
|
-
"
|
|
48
|
-
"
|
|
49
|
-
"
|
|
50
|
-
"prettier
|
|
51
|
-
"
|
|
52
|
-
"
|
|
53
|
-
"tailwindcss
|
|
54
|
-
"
|
|
55
|
-
"
|
|
56
|
-
"
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
"@
|
|
61
|
-
"@
|
|
62
|
-
"
|
|
63
|
-
"
|
|
64
|
-
"
|
|
65
|
-
"
|
|
66
|
-
"react-
|
|
67
|
-
"
|
|
68
|
-
"
|
|
69
|
-
"ste-
|
|
70
|
-
"ste-
|
|
71
|
-
"
|
|
72
|
-
"
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
"react
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
"
|
|
81
|
-
"
|
|
82
|
-
"
|
|
83
|
-
"
|
|
84
|
-
"
|
|
85
|
-
"
|
|
86
|
-
"
|
|
87
|
-
|
|
88
|
-
|
|
1
|
+
{
|
|
2
|
+
"name": "vim-web",
|
|
3
|
+
"version": "0.3.29",
|
|
4
|
+
"description": "A demonstration app built on top of the vim-webgl-viewer",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"files": [
|
|
7
|
+
"dist"
|
|
8
|
+
],
|
|
9
|
+
"readme": "README.md",
|
|
10
|
+
"main": "./dist/vim-web.iife.js",
|
|
11
|
+
"types": "./dist/types/index.d.ts",
|
|
12
|
+
"module": "./dist/vim-web.mjs",
|
|
13
|
+
"homepage": "https://github.com/vimaec/vim-web.git",
|
|
14
|
+
"bugs": {
|
|
15
|
+
"url": "https://github.com/vimaec/vim-web/issues"
|
|
16
|
+
},
|
|
17
|
+
"license": "MIT",
|
|
18
|
+
"author": "VIM <hello@vimaec.com>",
|
|
19
|
+
"repository": {
|
|
20
|
+
"type": "git",
|
|
21
|
+
"url": "https://github.com/vimaec/vim-web.git"
|
|
22
|
+
},
|
|
23
|
+
"scripts": {
|
|
24
|
+
"dev": "vite --host --config vite.config.website.js",
|
|
25
|
+
"build:libs": "vite build --config vite.config.libs.js && npm run declarations:libs",
|
|
26
|
+
"package:libs": "npm run build:libs && npm publish",
|
|
27
|
+
"declarations:libs": "tsc --project tsconfig.libs.json --declaration --emitDeclarationOnly --outdir ./dist/types",
|
|
28
|
+
"documentation:libs": "typedoc --entryPoints src/vim-web/index.ts --entryPointStrategy expand --out docs/api --excludeProtected --excludeExternals --excludePrivate",
|
|
29
|
+
"build:website": "vite build --config vite.config.website.js && npm run copy:website && npm run documentation:libs && npm run commit:website",
|
|
30
|
+
"serve:website": "vite preview --outDir docs",
|
|
31
|
+
"commit:website": "git add docs && git commit -m 'Build website[ci skip]' && git push",
|
|
32
|
+
"copy:website": "node scripts/copyIndex.js",
|
|
33
|
+
"eslint": "eslint --ext .js,.ts,.tsx src --fix"
|
|
34
|
+
},
|
|
35
|
+
"devDependencies": {
|
|
36
|
+
"@types/dom-webcodecs": "^0.1.13",
|
|
37
|
+
"@types/react": "^18.3.13",
|
|
38
|
+
"@types/react-dom": "^18.3.1",
|
|
39
|
+
"@typescript-eslint/eslint-plugin": "^8.17.0",
|
|
40
|
+
"@typescript-eslint/parser": "^8.17.0",
|
|
41
|
+
"autoprefixer": "^10.4.20",
|
|
42
|
+
"eslint": "^8.23.1",
|
|
43
|
+
"eslint-config-prettier": "^8.5.0",
|
|
44
|
+
"eslint-plugin-prettier": "^5.2.1",
|
|
45
|
+
"eslint-plugin-promise": "^6.0.1",
|
|
46
|
+
"eslint-plugin-react": "^7.37.2",
|
|
47
|
+
"eslint-plugin-react-hooks": "^5.0.0",
|
|
48
|
+
"fs-extra": "^11.2.0",
|
|
49
|
+
"postcss": "^8.4.49",
|
|
50
|
+
"prettier": "^3.4.2",
|
|
51
|
+
"prettier-plugin-tailwindcss": "^0.6.9",
|
|
52
|
+
"react-router-dom": "^7.0.2",
|
|
53
|
+
"tailwindcss": "^3.4.16",
|
|
54
|
+
"tailwindcss-scoped-preflight": "^3.4.9",
|
|
55
|
+
"typedoc": "^0.27.3",
|
|
56
|
+
"typescript": "^5.7.2",
|
|
57
|
+
"vite": "^6.0.2"
|
|
58
|
+
},
|
|
59
|
+
"dependencies": {
|
|
60
|
+
"@firefox-devtools/react-contextmenu": "^5.1.1",
|
|
61
|
+
"@types/three": "0.143.0",
|
|
62
|
+
"@vitejs/plugin-react": "^4.3.4",
|
|
63
|
+
"deepmerge": "^4.3.1",
|
|
64
|
+
"is-plain-object": "^5.0.0",
|
|
65
|
+
"re-resizable": "^6.9.9",
|
|
66
|
+
"react-complex-tree": "^2.4.6",
|
|
67
|
+
"react-tooltip": "^4.2.21",
|
|
68
|
+
"stats-js": "^1.0.1",
|
|
69
|
+
"ste-events": "^3.0.11",
|
|
70
|
+
"ste-signals": "^3.0.11",
|
|
71
|
+
"ste-simple-events": "^3.0.11",
|
|
72
|
+
"three": "0.143.0",
|
|
73
|
+
"vim-format": "1.0.14"
|
|
74
|
+
},
|
|
75
|
+
"peerDependencies": {
|
|
76
|
+
"react": "^18.3.1",
|
|
77
|
+
"react-dom": "^18.3.1"
|
|
78
|
+
},
|
|
79
|
+
"keywords": [
|
|
80
|
+
"3d",
|
|
81
|
+
"viewer",
|
|
82
|
+
"three.js",
|
|
83
|
+
"model",
|
|
84
|
+
"aec",
|
|
85
|
+
"vim",
|
|
86
|
+
"loader",
|
|
87
|
+
"webgl"
|
|
88
|
+
]
|
|
89
|
+
}
|