@combeenation/3d-viewer 14.0.1-rc1 → 15.0.0
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 +9 -9
- package/dist/lib-cjs/buildinfo.json +3 -3
- package/dist/lib-cjs/commonjs.tsconfig.tsbuildinfo +1 -1
- package/dist/lib-cjs/index.d.ts +51 -62
- package/dist/lib-cjs/index.js +84 -94
- package/dist/lib-cjs/index.js.map +1 -1
- package/dist/lib-cjs/internal/cbn-custom-babylon-loader-plugin.d.ts +10 -10
- package/dist/lib-cjs/internal/cbn-custom-babylon-loader-plugin.js +131 -131
- package/dist/lib-cjs/internal/cbn-custom-babylon-loader-plugin.js.map +1 -1
- package/dist/lib-cjs/internal/cloning-helper.d.ts +19 -19
- package/dist/lib-cjs/internal/cloning-helper.js +163 -163
- package/dist/lib-cjs/internal/device-helper.d.ts +9 -9
- package/dist/lib-cjs/internal/device-helper.js +24 -24
- package/dist/lib-cjs/internal/geometry-helper.d.ts +21 -21
- package/dist/lib-cjs/internal/geometry-helper.js +145 -145
- package/dist/lib-cjs/internal/metadata-helper.d.ts +26 -26
- package/dist/lib-cjs/internal/metadata-helper.js +50 -50
- package/dist/lib-cjs/internal/paintable-helper.d.ts +40 -40
- package/dist/lib-cjs/internal/paintable-helper.js +234 -286
- package/dist/lib-cjs/internal/paintable-helper.js.map +1 -1
- package/dist/lib-cjs/internal/svg-helper.d.ts +4 -0
- package/dist/lib-cjs/internal/svg-helper.js +67 -0
- package/dist/lib-cjs/internal/svg-helper.js.map +1 -0
- package/dist/lib-cjs/internal/tags-helper.d.ts +12 -12
- package/dist/lib-cjs/internal/tags-helper.js +39 -37
- package/dist/lib-cjs/internal/tags-helper.js.map +1 -1
- package/dist/lib-cjs/internal/texture-parameter-helper.d.ts +37 -0
- package/dist/lib-cjs/internal/texture-parameter-helper.js +287 -0
- package/dist/lib-cjs/internal/texture-parameter-helper.js.map +1 -0
- package/dist/lib-cjs/manager/camera-manager.d.ts +110 -110
- package/dist/lib-cjs/manager/camera-manager.js +209 -206
- package/dist/lib-cjs/manager/camera-manager.js.map +1 -1
- package/dist/lib-cjs/manager/debug-manager.d.ts +60 -60
- package/dist/lib-cjs/manager/debug-manager.js +217 -217
- package/dist/lib-cjs/manager/event-manager.d.ts +52 -52
- package/dist/lib-cjs/manager/event-manager.js +71 -71
- package/dist/lib-cjs/manager/gltf-export-manager.d.ts +75 -84
- package/dist/lib-cjs/manager/gltf-export-manager.js +286 -290
- package/dist/lib-cjs/manager/gltf-export-manager.js.map +1 -1
- package/dist/lib-cjs/manager/material-manager.d.ts +35 -35
- package/dist/lib-cjs/manager/material-manager.js +125 -125
- package/dist/lib-cjs/manager/model-manager.d.ts +145 -145
- package/dist/lib-cjs/manager/model-manager.js +382 -382
- package/dist/lib-cjs/manager/parameter-manager.d.ts +228 -210
- package/dist/lib-cjs/manager/parameter-manager.js +573 -514
- package/dist/lib-cjs/manager/parameter-manager.js.map +1 -1
- package/dist/lib-cjs/manager/scene-manager.d.ts +45 -45
- package/dist/lib-cjs/manager/scene-manager.js +64 -64
- package/dist/lib-cjs/manager/texture-manager.d.ts +12 -12
- package/dist/lib-cjs/manager/texture-manager.js +43 -43
- package/dist/lib-cjs/viewer-error.d.ts +49 -48
- package/dist/lib-cjs/viewer-error.js +61 -60
- package/dist/lib-cjs/viewer-error.js.map +1 -1
- package/dist/lib-cjs/viewer.d.ts +115 -115
- package/dist/lib-cjs/viewer.js +217 -217
- package/dist/lib-cjs/viewer.js.map +1 -1
- package/package.json +94 -91
- package/src/buildinfo.json +3 -3
- package/src/dev.ts +47 -47
- package/src/global-types.d.ts +39 -39
- package/src/index.ts +71 -81
- package/src/internal/cbn-custom-babylon-loader-plugin.ts +159 -159
- package/src/internal/cloning-helper.ts +225 -225
- package/src/internal/device-helper.ts +25 -25
- package/src/internal/geometry-helper.ts +181 -181
- package/src/internal/metadata-helper.ts +63 -63
- package/src/internal/paintable-helper.ts +258 -310
- package/src/internal/svg-helper.ts +52 -0
- package/src/internal/tags-helper.ts +43 -41
- package/src/internal/texture-parameter-helper.ts +353 -0
- package/src/manager/camera-manager.ts +368 -365
- package/src/manager/debug-manager.ts +245 -245
- package/src/manager/event-manager.ts +72 -72
- package/src/manager/gltf-export-manager.ts +356 -357
- package/src/manager/material-manager.ts +135 -135
- package/src/manager/model-manager.ts +458 -458
- package/src/manager/parameter-manager.ts +730 -652
- package/src/manager/scene-manager.ts +101 -101
- package/src/manager/texture-manager.ts +32 -32
- package/src/viewer-error.ts +69 -68
- package/src/viewer.ts +290 -290
package/package.json
CHANGED
|
@@ -1,91 +1,94 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@combeenation/3d-viewer",
|
|
3
|
-
"version": "
|
|
4
|
-
"description": "Combeenation 3D Viewer",
|
|
5
|
-
"homepage": "https://github.com/Combeenation/3d-viewer#readme",
|
|
6
|
-
"bugs": {
|
|
7
|
-
"url": "https://github.com/Combeenation/3d-viewer/issues"
|
|
8
|
-
},
|
|
9
|
-
"repository": {
|
|
10
|
-
"type": "git",
|
|
11
|
-
"url": "git+https://github.com/Combeenation/3d-viewer.git"
|
|
12
|
-
},
|
|
13
|
-
"license": "Apache 2.0",
|
|
14
|
-
"author": "",
|
|
15
|
-
"contributors": [],
|
|
16
|
-
"main": "dist/lib-cjs/index.js",
|
|
17
|
-
"module": "dist/lib-cjs/index.js",
|
|
18
|
-
"typings": "dist/lib-cjs/index.d.ts",
|
|
19
|
-
"directories": {
|
|
20
|
-
"doc": "docs"
|
|
21
|
-
},
|
|
22
|
-
"files": [
|
|
23
|
-
"dist",
|
|
24
|
-
"src"
|
|
25
|
-
],
|
|
26
|
-
"scripts": {
|
|
27
|
-
"bundle-analyzer": "npm run generate-profile && webpack-bundle-analyzer dist/webpack-stats.json dist/lib-full",
|
|
28
|
-
"clean-dist": "rimraf dist",
|
|
29
|
-
"dev": "cross-env NODE_ENV='development' webpack serve --config build/webpack.debug.conf.js --progress --hot",
|
|
30
|
-
"dist-cjs": "npm run clean-dist && npm run lint && tsc --project commonjs.tsconfig.json && npm run replace-version",
|
|
31
|
-
"dist-full-dev": "npm run clean-dist && npm run lint && cross-env NODE_ENV='development' webpack --config build/webpack.build.conf.js --progress && npm run replace-version",
|
|
32
|
-
"dist-full-prod": "npm run clean-dist && npm run lint && cross-env NODE_ENV='production' webpack --config build/webpack.build.conf.js --progress && npm run replace-version",
|
|
33
|
-
"docs-local": "typedoc --tsconfig tsconfig.json --media doc/assets --out docs-local",
|
|
34
|
-
"docs-publish": "typedoc --tsconfig tsconfig.json --media doc/assets --out docs",
|
|
35
|
-
"format": "prettier --write ./src",
|
|
36
|
-
"generate-profile": "cross-env NODE_ENV='development' webpack --config build/webpack.build.conf.js --profile --json > dist/webpack-stats.json",
|
|
37
|
-
"lint": "eslint src/**",
|
|
38
|
-
"pack": "npm run dist-cjs && npm pack",
|
|
39
|
-
"pack-to-cjs": "npm run dist-cjs && npm pack --pack-destination=\"/mnt/c/Data/dev/custom-js/MichaelTest/TextureLoadEventsTest/\"",
|
|
40
|
-
"pub-alpha": "npm run dist-cjs && npm publish --tag alpha",
|
|
41
|
-
"pub-beta": "npm run dist-cjs && npm publish --tag beta",
|
|
42
|
-
"pub-final": "npm run dist-cjs && npm publish",
|
|
43
|
-
"pub-rc": "npm run dist-cjs && npm publish --tag rc",
|
|
44
|
-
"replace-version": "cross-env-shell replace \"@VERSION@\" $npm_package_version dist -r",
|
|
45
|
-
"types": "tsc --project declaration.tsconfig.json"
|
|
46
|
-
},
|
|
47
|
-
"prettier": "@combeenation/prettier-config",
|
|
48
|
-
"dependencies": {
|
|
49
|
-
"@babylonjs/core": "7.
|
|
50
|
-
"@babylonjs/loaders": "7.
|
|
51
|
-
"@babylonjs/serializers": "7.
|
|
52
|
-
"eventemitter3": "4.0.7",
|
|
53
|
-
"is-svg": "^5.0.0",
|
|
54
|
-
"lodash-es": "4.17.21"
|
|
55
|
-
},
|
|
56
|
-
"devDependencies": {
|
|
57
|
-
"@combeenation/eslint-config": "0.0.5",
|
|
58
|
-
"@combeenation/prettier-config": "0.0.3",
|
|
59
|
-
"@combeenation/ts-config": "0.0.2",
|
|
60
|
-
"@knodes/typedoc-plugin-pages": "0.23.1",
|
|
61
|
-
"@types/lodash-es": "4.17.6",
|
|
62
|
-
"clean-webpack-plugin": "4.0.0",
|
|
63
|
-
"cross-env": "7.0.3",
|
|
64
|
-
"eslint": "8.25.0",
|
|
65
|
-
"html-webpack-plugin": "5.5.0",
|
|
66
|
-
"prettier": "2.7.1",
|
|
67
|
-
"replace": "1.2.1",
|
|
68
|
-
"rimraf": "3.0.2",
|
|
69
|
-
"terser-webpack-plugin": "5.3.6",
|
|
70
|
-
"ts-loader": "9.4.1",
|
|
71
|
-
"typedoc": "0.23.15",
|
|
72
|
-
"typedoc-plugin-merge-modules": "4.0.1",
|
|
73
|
-
"typescript": "4.8.4",
|
|
74
|
-
"webpack": "5.74.0",
|
|
75
|
-
"webpack-bundle-analyzer": "4.6.1",
|
|
76
|
-
"webpack-cli": "4.10.0",
|
|
77
|
-
"webpack-dev-server": "4.11.1",
|
|
78
|
-
"webpack-merge": "5.8.0"
|
|
79
|
-
},
|
|
80
|
-
"optionalDependencies": {
|
|
81
|
-
"@babylonjs/gui": "7.
|
|
82
|
-
"@babylonjs/gui-editor": "7.
|
|
83
|
-
"@babylonjs/inspector": "7.
|
|
84
|
-
"@babylonjs/materials": "7.
|
|
85
|
-
"@babylonjs/node-editor": "7.
|
|
86
|
-
"@babylonjs/node-geometry-editor": "7.
|
|
87
|
-
},
|
|
88
|
-
"
|
|
89
|
-
"@babylonjs": "
|
|
90
|
-
}
|
|
91
|
-
|
|
1
|
+
{
|
|
2
|
+
"name": "@combeenation/3d-viewer",
|
|
3
|
+
"version": "15.0.0",
|
|
4
|
+
"description": "Combeenation 3D Viewer",
|
|
5
|
+
"homepage": "https://github.com/Combeenation/3d-viewer#readme",
|
|
6
|
+
"bugs": {
|
|
7
|
+
"url": "https://github.com/Combeenation/3d-viewer/issues"
|
|
8
|
+
},
|
|
9
|
+
"repository": {
|
|
10
|
+
"type": "git",
|
|
11
|
+
"url": "git+https://github.com/Combeenation/3d-viewer.git"
|
|
12
|
+
},
|
|
13
|
+
"license": "Apache 2.0",
|
|
14
|
+
"author": "",
|
|
15
|
+
"contributors": [],
|
|
16
|
+
"main": "dist/lib-cjs/index.js",
|
|
17
|
+
"module": "dist/lib-cjs/index.js",
|
|
18
|
+
"typings": "dist/lib-cjs/index.d.ts",
|
|
19
|
+
"directories": {
|
|
20
|
+
"doc": "docs"
|
|
21
|
+
},
|
|
22
|
+
"files": [
|
|
23
|
+
"dist",
|
|
24
|
+
"src"
|
|
25
|
+
],
|
|
26
|
+
"scripts": {
|
|
27
|
+
"bundle-analyzer": "npm run generate-profile && webpack-bundle-analyzer dist/webpack-stats.json dist/lib-full",
|
|
28
|
+
"clean-dist": "rimraf dist",
|
|
29
|
+
"dev": "cross-env NODE_ENV='development' webpack serve --config build/webpack.debug.conf.js --progress --hot",
|
|
30
|
+
"dist-cjs": "npm run clean-dist && npm run lint && tsc --project commonjs.tsconfig.json && npm run replace-version",
|
|
31
|
+
"dist-full-dev": "npm run clean-dist && npm run lint && cross-env NODE_ENV='development' webpack --config build/webpack.build.conf.js --progress && npm run replace-version",
|
|
32
|
+
"dist-full-prod": "npm run clean-dist && npm run lint && cross-env NODE_ENV='production' webpack --config build/webpack.build.conf.js --progress && npm run replace-version",
|
|
33
|
+
"docs-local": "typedoc --tsconfig tsconfig.json --media doc/assets --out docs-local",
|
|
34
|
+
"docs-publish": "typedoc --tsconfig tsconfig.json --media doc/assets --out docs",
|
|
35
|
+
"format": "prettier --write ./src",
|
|
36
|
+
"generate-profile": "cross-env NODE_ENV='development' webpack --config build/webpack.build.conf.js --profile --json > dist/webpack-stats.json",
|
|
37
|
+
"lint": "eslint src/**",
|
|
38
|
+
"pack": "npm run dist-cjs && npm pack",
|
|
39
|
+
"pack-to-cjs": "npm run dist-cjs && npm pack --pack-destination=\"/mnt/c/Data/dev/custom-js/MichaelTest/TextureLoadEventsTest/\"",
|
|
40
|
+
"pub-alpha": "npm run dist-cjs && npm publish --tag alpha",
|
|
41
|
+
"pub-beta": "npm run dist-cjs && npm publish --tag beta",
|
|
42
|
+
"pub-final": "npm run dist-cjs && npm publish",
|
|
43
|
+
"pub-rc": "npm run dist-cjs && npm publish --tag rc",
|
|
44
|
+
"replace-version": "cross-env-shell replace \"@VERSION@\" $npm_package_version dist -r",
|
|
45
|
+
"types": "tsc --project declaration.tsconfig.json"
|
|
46
|
+
},
|
|
47
|
+
"prettier": "@combeenation/prettier-config",
|
|
48
|
+
"dependencies": {
|
|
49
|
+
"@babylonjs/core": "7.15.2",
|
|
50
|
+
"@babylonjs/loaders": "7.15.2",
|
|
51
|
+
"@babylonjs/serializers": "7.15.2",
|
|
52
|
+
"eventemitter3": "4.0.7",
|
|
53
|
+
"is-svg": "^5.0.0",
|
|
54
|
+
"lodash-es": "4.17.21"
|
|
55
|
+
},
|
|
56
|
+
"devDependencies": {
|
|
57
|
+
"@combeenation/eslint-config": "0.0.5",
|
|
58
|
+
"@combeenation/prettier-config": "0.0.3",
|
|
59
|
+
"@combeenation/ts-config": "0.0.2",
|
|
60
|
+
"@knodes/typedoc-plugin-pages": "0.23.1",
|
|
61
|
+
"@types/lodash-es": "4.17.6",
|
|
62
|
+
"clean-webpack-plugin": "4.0.0",
|
|
63
|
+
"cross-env": "7.0.3",
|
|
64
|
+
"eslint": "8.25.0",
|
|
65
|
+
"html-webpack-plugin": "5.5.0",
|
|
66
|
+
"prettier": "2.7.1",
|
|
67
|
+
"replace": "1.2.1",
|
|
68
|
+
"rimraf": "3.0.2",
|
|
69
|
+
"terser-webpack-plugin": "5.3.6",
|
|
70
|
+
"ts-loader": "9.4.1",
|
|
71
|
+
"typedoc": "0.23.15",
|
|
72
|
+
"typedoc-plugin-merge-modules": "4.0.1",
|
|
73
|
+
"typescript": "4.8.4",
|
|
74
|
+
"webpack": "5.74.0",
|
|
75
|
+
"webpack-bundle-analyzer": "4.6.1",
|
|
76
|
+
"webpack-cli": "4.10.0",
|
|
77
|
+
"webpack-dev-server": "4.11.1",
|
|
78
|
+
"webpack-merge": "5.8.0"
|
|
79
|
+
},
|
|
80
|
+
"optionalDependencies": {
|
|
81
|
+
"@babylonjs/gui": "7.15.2",
|
|
82
|
+
"@babylonjs/gui-editor": "7.15.2",
|
|
83
|
+
"@babylonjs/inspector": "7.15.2",
|
|
84
|
+
"@babylonjs/materials": "7.15.2",
|
|
85
|
+
"@babylonjs/node-editor": "7.15.2",
|
|
86
|
+
"@babylonjs/node-geometry-editor": "7.15.2"
|
|
87
|
+
},
|
|
88
|
+
"dependenciesComments": {
|
|
89
|
+
"@babylonjs": "Latest version 7.15.2 is required for RTT screenshot fix, see https://forum.babylonjs.com/t/possible-issue-with-screenshots-rtt-and-instanced-meshes/51688/16"
|
|
90
|
+
},
|
|
91
|
+
"optionalDependenciesComments": {
|
|
92
|
+
"@babylonjs": "Defining the inspector package (and it's dependencies) as optional is required to omit these packages in the production build of the CBN react-app (see CB-9269)"
|
|
93
|
+
}
|
|
94
|
+
}
|
package/src/buildinfo.json
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": "@VERSION@"
|
|
3
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"version": "@VERSION@"
|
|
3
|
+
}
|
package/src/dev.ts
CHANGED
|
@@ -1,47 +1,47 @@
|
|
|
1
|
-
import { Viewer } from '.';
|
|
2
|
-
import {
|
|
3
|
-
afterViewerSetup,
|
|
4
|
-
createUIelements,
|
|
5
|
-
getDefaultSceneSettings,
|
|
6
|
-
getMaterial,
|
|
7
|
-
getViewerSettings,
|
|
8
|
-
} from '../assets/index';
|
|
9
|
-
import { mockMaterials } from '../assets/mock-materials';
|
|
10
|
-
import { set } from 'lodash-es';
|
|
11
|
-
|
|
12
|
-
document.addEventListener('DOMContentLoaded', main);
|
|
13
|
-
|
|
14
|
-
window.Cbn = {
|
|
15
|
-
Assets: {
|
|
16
|
-
async getMaterial(materialId: string): Promise<object> {
|
|
17
|
-
//! this creates a new function on the object that uses the imported function of the same name..
|
|
18
|
-
const material = await getMaterial(materialId);
|
|
19
|
-
if (material) return material;
|
|
20
|
-
|
|
21
|
-
// Fallback to random mock material
|
|
22
|
-
return mockMaterials[Math.floor(Math.random() * mockMaterials.length)];
|
|
23
|
-
},
|
|
24
|
-
assertMaterialExists(materialId: string): boolean {
|
|
25
|
-
return true;
|
|
26
|
-
},
|
|
27
|
-
},
|
|
28
|
-
utils: {
|
|
29
|
-
Viewer3dHelper: {
|
|
30
|
-
getCfgrParentDomElementForInspector(): HTMLElement | undefined {
|
|
31
|
-
// render in parent of viewer
|
|
32
|
-
return document.querySelector<HTMLElement>('display-container') ?? undefined;
|
|
33
|
-
},
|
|
34
|
-
},
|
|
35
|
-
},
|
|
36
|
-
};
|
|
37
|
-
|
|
38
|
-
async function main(): Promise<void> {
|
|
39
|
-
const canvas = document.getElementById('babylon-canvas') as HTMLCanvasElement;
|
|
40
|
-
const viewer = new Viewer(canvas, getViewerSettings(), getDefaultSceneSettings());
|
|
41
|
-
|
|
42
|
-
await afterViewerSetup(viewer);
|
|
43
|
-
await createUIelements(viewer);
|
|
44
|
-
|
|
45
|
-
// "Export" for console testing...
|
|
46
|
-
set(window, 'viewer', viewer);
|
|
47
|
-
}
|
|
1
|
+
import { Viewer } from '.';
|
|
2
|
+
import {
|
|
3
|
+
afterViewerSetup,
|
|
4
|
+
createUIelements,
|
|
5
|
+
getDefaultSceneSettings,
|
|
6
|
+
getMaterial,
|
|
7
|
+
getViewerSettings,
|
|
8
|
+
} from '../assets/index';
|
|
9
|
+
import { mockMaterials } from '../assets/utils/mock-materials';
|
|
10
|
+
import { set } from 'lodash-es';
|
|
11
|
+
|
|
12
|
+
document.addEventListener('DOMContentLoaded', main);
|
|
13
|
+
|
|
14
|
+
window.Cbn = {
|
|
15
|
+
Assets: {
|
|
16
|
+
async getMaterial(materialId: string): Promise<object> {
|
|
17
|
+
//! this creates a new function on the object that uses the imported function of the same name..
|
|
18
|
+
const material = await getMaterial(materialId);
|
|
19
|
+
if (material) return material;
|
|
20
|
+
|
|
21
|
+
// Fallback to random mock material
|
|
22
|
+
return mockMaterials[Math.floor(Math.random() * mockMaterials.length)];
|
|
23
|
+
},
|
|
24
|
+
assertMaterialExists(materialId: string): boolean {
|
|
25
|
+
return true;
|
|
26
|
+
},
|
|
27
|
+
},
|
|
28
|
+
utils: {
|
|
29
|
+
Viewer3dHelper: {
|
|
30
|
+
getCfgrParentDomElementForInspector(): HTMLElement | undefined {
|
|
31
|
+
// render in parent of viewer
|
|
32
|
+
return document.querySelector<HTMLElement>('display-container') ?? undefined;
|
|
33
|
+
},
|
|
34
|
+
},
|
|
35
|
+
},
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
async function main(): Promise<void> {
|
|
39
|
+
const canvas = document.getElementById('babylon-canvas') as HTMLCanvasElement;
|
|
40
|
+
const viewer = new Viewer(canvas, getViewerSettings(), getDefaultSceneSettings());
|
|
41
|
+
|
|
42
|
+
await afterViewerSetup(viewer);
|
|
43
|
+
await createUIelements(viewer);
|
|
44
|
+
|
|
45
|
+
// "Export" for console testing...
|
|
46
|
+
set(window, 'viewer', viewer);
|
|
47
|
+
}
|
package/src/global-types.d.ts
CHANGED
|
@@ -1,39 +1,39 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Enhancement of Typescripts default `Partial` typing, which only creates shallow partials
|
|
3
|
-
*/
|
|
4
|
-
type DeepPartial<T> = {
|
|
5
|
-
[K in keyof T]?: T[K] extends object ? DeepPartial<T[K]> : T[K];
|
|
6
|
-
};
|
|
7
|
-
|
|
8
|
-
interface Window {
|
|
9
|
-
Cbn:
|
|
10
|
-
| undefined /* window.Cbn is only available when viewer runs inside Combeenation configurator */
|
|
11
|
-
| {
|
|
12
|
-
Assets: {
|
|
13
|
-
/**
|
|
14
|
-
* Retrieve material definition from configurator.
|
|
15
|
-
* Implementation depends on the Combeenation environment the viewer is used in
|
|
16
|
-
* - Configurator: Access pre-fetched material JSON objects from Cbn client => synchronous
|
|
17
|
-
* - Asset Editor: Load content from material asset on demand => asynchronous!
|
|
18
|
-
*
|
|
19
|
-
* @return Undefined if no definition for the given material name exists, otherwise an "JSON object" which can
|
|
20
|
-
* be passed to `BABYLON.Material.Parse` to create a runtime material object.
|
|
21
|
-
*/
|
|
22
|
-
getMaterial(materialId: string): Promise<object | undefined>;
|
|
23
|
-
|
|
24
|
-
/**
|
|
25
|
-
* Checks if a definition for a given material name exists in the configurator and issues a warning if not
|
|
26
|
-
*/
|
|
27
|
-
assertMaterialExists(materialId: string): boolean;
|
|
28
|
-
};
|
|
29
|
-
utils: {
|
|
30
|
-
Viewer3dHelper: {
|
|
31
|
-
/**
|
|
32
|
-
* Returns parent DOM element of a Combeenation configurator, which can be used as root for the inspector.
|
|
33
|
-
* Also adjusts styling of some configurator parent sub elements to fix the inspector layout.
|
|
34
|
-
*/
|
|
35
|
-
getCfgrParentDomElementForInspector(): HTMLElement | undefined;
|
|
36
|
-
};
|
|
37
|
-
};
|
|
38
|
-
};
|
|
39
|
-
}
|
|
1
|
+
/**
|
|
2
|
+
* Enhancement of Typescripts default `Partial` typing, which only creates shallow partials
|
|
3
|
+
*/
|
|
4
|
+
type DeepPartial<T> = {
|
|
5
|
+
[K in keyof T]?: T[K] extends object ? DeepPartial<T[K]> : T[K];
|
|
6
|
+
};
|
|
7
|
+
|
|
8
|
+
interface Window {
|
|
9
|
+
Cbn:
|
|
10
|
+
| undefined /* window.Cbn is only available when viewer runs inside Combeenation configurator */
|
|
11
|
+
| {
|
|
12
|
+
Assets: {
|
|
13
|
+
/**
|
|
14
|
+
* Retrieve material definition from configurator.
|
|
15
|
+
* Implementation depends on the Combeenation environment the viewer is used in
|
|
16
|
+
* - Configurator: Access pre-fetched material JSON objects from Cbn client => synchronous
|
|
17
|
+
* - Asset Editor: Load content from material asset on demand => asynchronous!
|
|
18
|
+
*
|
|
19
|
+
* @return Undefined if no definition for the given material name exists, otherwise an "JSON object" which can
|
|
20
|
+
* be passed to `BABYLON.Material.Parse` to create a runtime material object.
|
|
21
|
+
*/
|
|
22
|
+
getMaterial(materialId: string): Promise<object | undefined>;
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* Checks if a definition for a given material name exists in the configurator and issues a warning if not
|
|
26
|
+
*/
|
|
27
|
+
assertMaterialExists(materialId: string): boolean;
|
|
28
|
+
};
|
|
29
|
+
utils: {
|
|
30
|
+
Viewer3dHelper: {
|
|
31
|
+
/**
|
|
32
|
+
* Returns parent DOM element of a Combeenation configurator, which can be used as root for the inspector.
|
|
33
|
+
* Also adjusts styling of some configurator parent sub elements to fix the inspector layout.
|
|
34
|
+
*/
|
|
35
|
+
getCfgrParentDomElementForInspector(): HTMLElement | undefined;
|
|
36
|
+
};
|
|
37
|
+
};
|
|
38
|
+
};
|
|
39
|
+
}
|
package/src/index.ts
CHANGED
|
@@ -1,81 +1,71 @@
|
|
|
1
|
-
/// <reference path="global-types.d.ts" />
|
|
2
|
-
// Babylon.js extensions
|
|
3
|
-
|
|
4
|
-
import '@babylonjs/loaders/glTF/2.0/Extensions
|
|
5
|
-
import '@babylonjs/
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
import
|
|
10
|
-
|
|
11
|
-
import
|
|
12
|
-
import '
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
export * from '@babylonjs/core/
|
|
24
|
-
export * from '@babylonjs/core/
|
|
25
|
-
export * from '@babylonjs/core/
|
|
26
|
-
export * from '@babylonjs/core/
|
|
27
|
-
export * from '@babylonjs/core/
|
|
28
|
-
export * from '@babylonjs/core/
|
|
29
|
-
export * from '@babylonjs/core/
|
|
30
|
-
export * from '@babylonjs/core/
|
|
31
|
-
export * from '@babylonjs/core/
|
|
32
|
-
export * from '@babylonjs/core/
|
|
33
|
-
export * from '@babylonjs/core/
|
|
34
|
-
export * from '@babylonjs/core/
|
|
35
|
-
export * from '@babylonjs/core/
|
|
36
|
-
export * from '@babylonjs/core/
|
|
37
|
-
export * from '@babylonjs/core/
|
|
38
|
-
export * from '@babylonjs/core/
|
|
39
|
-
export * from '@babylonjs/core/
|
|
40
|
-
export * from '@babylonjs/core/
|
|
41
|
-
export * from '@babylonjs/core/
|
|
42
|
-
export * from '@babylonjs/core/
|
|
43
|
-
export * from '@babylonjs/core/
|
|
44
|
-
export * from '@babylonjs/
|
|
45
|
-
export * from '@babylonjs/
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
export * from '@babylonjs/core/
|
|
52
|
-
|
|
53
|
-
export * from '@babylonjs/core/
|
|
54
|
-
|
|
55
|
-
export * from '@babylonjs/
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
//
|
|
60
|
-
//
|
|
61
|
-
export * from '
|
|
62
|
-
|
|
63
|
-
export * from '
|
|
64
|
-
|
|
65
|
-
export * from '
|
|
66
|
-
|
|
67
|
-
export * from '
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
export * from './
|
|
72
|
-
export * from './viewer-error';
|
|
73
|
-
export * from './manager/camera-manager';
|
|
74
|
-
export * from './manager/debug-manager';
|
|
75
|
-
export * from './manager/event-manager';
|
|
76
|
-
export * from './manager/gltf-export-manager';
|
|
77
|
-
export * from './manager/material-manager';
|
|
78
|
-
export * from './manager/model-manager';
|
|
79
|
-
export * from './manager/parameter-manager';
|
|
80
|
-
export * from './manager/scene-manager';
|
|
81
|
-
export * from './manager/texture-manager';
|
|
1
|
+
/// <reference path="global-types.d.ts" />
|
|
2
|
+
// Babylon.js extensions
|
|
3
|
+
// All gltf extensions to support maximum feature set
|
|
4
|
+
import '@babylonjs/loaders/glTF/2.0/Extensions';
|
|
5
|
+
import '@babylonjs/serializers/glTF/2.0/Extensions';
|
|
6
|
+
|
|
7
|
+
// Babylon.js modules
|
|
8
|
+
// All used Babylyon.js modules should be re-exported here.
|
|
9
|
+
// In this way consumers have access to all of them as well via an import of "@combeenation/3d-viewer" instead of having
|
|
10
|
+
// to make single imports from "@babylonjs/..."
|
|
11
|
+
// When using Babylon.js modules inside the viewer repo make sure to import from the viewer root as well.
|
|
12
|
+
// E.g. `import { BaseTexture, Material, Node } from '../index';`
|
|
13
|
+
export * from '@babylonjs/core/abstractScene';
|
|
14
|
+
export * from '@babylonjs/core/Animations';
|
|
15
|
+
export * from '@babylonjs/core/assetContainer';
|
|
16
|
+
export * from '@babylonjs/core/Buffers';
|
|
17
|
+
export * from '@babylonjs/core/Cameras/arcRotateCamera';
|
|
18
|
+
export * from '@babylonjs/core/Cameras/camera';
|
|
19
|
+
export * from '@babylonjs/core/Culling';
|
|
20
|
+
export * from '@babylonjs/core/Debug/axesViewer';
|
|
21
|
+
export * from '@babylonjs/core/Debug/debugLayer';
|
|
22
|
+
export * from '@babylonjs/core/Engines/engine';
|
|
23
|
+
export * from '@babylonjs/core/Engines/thinEngine';
|
|
24
|
+
export * from '@babylonjs/core/Lights';
|
|
25
|
+
export * from '@babylonjs/core/Loading';
|
|
26
|
+
export * from '@babylonjs/core/Materials/material';
|
|
27
|
+
export * from '@babylonjs/core/Materials/PBR';
|
|
28
|
+
export * from '@babylonjs/core/Materials/standardMaterial';
|
|
29
|
+
export * from '@babylonjs/core/Materials/Textures';
|
|
30
|
+
export * from '@babylonjs/core/Maths';
|
|
31
|
+
export * from '@babylonjs/core/Meshes/abstractMesh';
|
|
32
|
+
export * from '@babylonjs/core/Meshes/geometry';
|
|
33
|
+
export * from '@babylonjs/core/Meshes/instancedMesh';
|
|
34
|
+
export * from '@babylonjs/core/Meshes/mesh';
|
|
35
|
+
export * from '@babylonjs/core/Meshes/meshBuilder';
|
|
36
|
+
export * from '@babylonjs/core/Meshes/transformNode';
|
|
37
|
+
export * from '@babylonjs/core/Misc/interfaces/screenshotSize';
|
|
38
|
+
export * from '@babylonjs/core/Misc/screenshotTools';
|
|
39
|
+
export * from '@babylonjs/core/Morph';
|
|
40
|
+
export * from '@babylonjs/core/node';
|
|
41
|
+
export * from '@babylonjs/core/Rendering/utilityLayerRenderer';
|
|
42
|
+
export * from '@babylonjs/core/scene';
|
|
43
|
+
export * from '@babylonjs/core/types';
|
|
44
|
+
export * from '@babylonjs/loaders/glTF/2.0/glTFLoader';
|
|
45
|
+
export * from '@babylonjs/serializers/glTF/2.0/glTFSerializer';
|
|
46
|
+
|
|
47
|
+
// Additional Babylon.js modules
|
|
48
|
+
// These are not used in the "@combeenation/3d-viewer" repository directly, but required in consuming code for various
|
|
49
|
+
// reasons
|
|
50
|
+
// for checking camera collions with ground and wall meshes
|
|
51
|
+
export * from '@babylonjs/core/Collisions';
|
|
52
|
+
// for Scene.createDefaultEnvironment
|
|
53
|
+
export * from '@babylonjs/core/Helpers/sceneHelpers';
|
|
54
|
+
// support BackgroundMaterial on Combeenation platform
|
|
55
|
+
export * from '@babylonjs/core/Materials/Background';
|
|
56
|
+
// support NodeMaterial on Combeenation platform
|
|
57
|
+
export * from '@babylonjs/core/Materials/Node';
|
|
58
|
+
|
|
59
|
+
// Viewer modules
|
|
60
|
+
// all viewer modules that are not located in "internal" should be exported from here
|
|
61
|
+
export * from './viewer';
|
|
62
|
+
export * from './viewer-error';
|
|
63
|
+
export * from './manager/camera-manager';
|
|
64
|
+
export * from './manager/debug-manager';
|
|
65
|
+
export * from './manager/event-manager';
|
|
66
|
+
export * from './manager/gltf-export-manager';
|
|
67
|
+
export * from './manager/material-manager';
|
|
68
|
+
export * from './manager/model-manager';
|
|
69
|
+
export * from './manager/parameter-manager';
|
|
70
|
+
export * from './manager/scene-manager';
|
|
71
|
+
export * from './manager/texture-manager';
|