@combeenation/3d-viewer 3.0.0-rc2 → 4.0.0-alpha6

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 (212) hide show
  1. package/LICENSE +0 -0
  2. package/README.md +111 -111
  3. package/dist/lib-cjs/api/classes/animationInterface.d.ts +8 -8
  4. package/dist/lib-cjs/api/classes/animationInterface.js +1 -1
  5. package/dist/lib-cjs/api/classes/animationInterface.js.map +0 -0
  6. package/dist/lib-cjs/api/classes/dottedPath.d.ts +79 -79
  7. package/dist/lib-cjs/api/classes/dottedPath.js +190 -190
  8. package/dist/lib-cjs/api/classes/dottedPath.js.map +0 -0
  9. package/dist/lib-cjs/api/classes/element.d.ts +130 -125
  10. package/dist/lib-cjs/api/classes/element.js +752 -638
  11. package/dist/lib-cjs/api/classes/element.js.map +1 -1
  12. package/dist/lib-cjs/api/classes/elementParameterizable.d.ts +14 -14
  13. package/dist/lib-cjs/api/classes/elementParameterizable.js +134 -134
  14. package/dist/lib-cjs/api/classes/elementParameterizable.js.map +0 -0
  15. package/dist/lib-cjs/api/classes/event.d.ts +326 -312
  16. package/dist/lib-cjs/api/classes/event.js +371 -357
  17. package/dist/lib-cjs/api/classes/event.js.map +1 -1
  18. package/dist/lib-cjs/api/classes/eventBroadcaster.d.ts +26 -26
  19. package/dist/lib-cjs/api/classes/eventBroadcaster.js +53 -53
  20. package/dist/lib-cjs/api/classes/eventBroadcaster.js.map +0 -0
  21. package/dist/lib-cjs/api/classes/parameter.d.ts +259 -161
  22. package/dist/lib-cjs/api/classes/parameter.js +387 -261
  23. package/dist/lib-cjs/api/classes/parameter.js.map +1 -1
  24. package/dist/lib-cjs/api/classes/parameterObservable.d.ts +36 -36
  25. package/dist/lib-cjs/api/classes/parameterObservable.js +101 -126
  26. package/dist/lib-cjs/api/classes/parameterObservable.js.map +1 -1
  27. package/dist/lib-cjs/api/classes/parameterizable.d.ts +15 -0
  28. package/dist/lib-cjs/api/classes/parameterizable.js +150 -0
  29. package/dist/lib-cjs/api/classes/parameterizable.js.map +1 -0
  30. package/dist/lib-cjs/api/classes/placementAnimation.d.ts +38 -38
  31. package/dist/lib-cjs/api/classes/placementAnimation.js +138 -138
  32. package/dist/lib-cjs/api/classes/placementAnimation.js.map +0 -0
  33. package/dist/lib-cjs/api/classes/variant.d.ts +224 -176
  34. package/dist/lib-cjs/api/classes/variant.js +1126 -770
  35. package/dist/lib-cjs/api/classes/variant.js.map +1 -1
  36. package/dist/lib-cjs/api/classes/variantInstance.d.ts +45 -41
  37. package/dist/lib-cjs/api/classes/variantInstance.js +108 -98
  38. package/dist/lib-cjs/api/classes/variantInstance.js.map +1 -1
  39. package/dist/lib-cjs/api/classes/variantParameterizable.d.ts +17 -0
  40. package/dist/lib-cjs/api/classes/variantParameterizable.js +93 -0
  41. package/dist/lib-cjs/api/classes/variantParameterizable.js.map +1 -0
  42. package/dist/lib-cjs/api/classes/viewer.d.ts +127 -128
  43. package/dist/lib-cjs/api/classes/viewer.js +486 -486
  44. package/dist/lib-cjs/api/classes/viewer.js.map +1 -1
  45. package/dist/lib-cjs/api/classes/viewerLight.d.ts +66 -0
  46. package/dist/lib-cjs/api/classes/viewerLight.js +350 -0
  47. package/dist/lib-cjs/api/classes/viewerLight.js.map +1 -0
  48. package/dist/lib-cjs/api/emitter.d.ts +35 -0
  49. package/dist/lib-cjs/api/emitter.js +61 -0
  50. package/dist/lib-cjs/api/emitter.js.map +1 -0
  51. package/dist/lib-cjs/api/internal/debugViewer.d.ts +13 -13
  52. package/dist/lib-cjs/api/internal/debugViewer.js +87 -87
  53. package/dist/lib-cjs/api/internal/debugViewer.js.map +0 -0
  54. package/dist/lib-cjs/api/internal/lensRendering.d.ts +8 -8
  55. package/dist/lib-cjs/api/internal/lensRendering.js +11 -11
  56. package/dist/lib-cjs/api/internal/lensRendering.js.map +0 -0
  57. package/dist/lib-cjs/api/internal/sceneSetup.d.ts +10 -6
  58. package/dist/lib-cjs/api/internal/sceneSetup.js +231 -227
  59. package/dist/lib-cjs/api/internal/sceneSetup.js.map +1 -1
  60. package/dist/lib-cjs/api/manager/animationManager.d.ts +29 -29
  61. package/dist/lib-cjs/api/manager/animationManager.js +121 -121
  62. package/dist/lib-cjs/api/manager/animationManager.js.map +0 -0
  63. package/dist/lib-cjs/api/manager/sceneManager.d.ts +32 -32
  64. package/dist/lib-cjs/api/manager/sceneManager.js +132 -132
  65. package/dist/lib-cjs/api/manager/sceneManager.js.map +0 -0
  66. package/dist/lib-cjs/api/manager/variantInstanceManager.d.ts +90 -90
  67. package/dist/lib-cjs/api/manager/variantInstanceManager.js +321 -321
  68. package/dist/lib-cjs/api/manager/variantInstanceManager.js.map +0 -0
  69. package/dist/lib-cjs/api/store/specStorage.d.ts +24 -24
  70. package/dist/lib-cjs/api/store/specStorage.js +51 -51
  71. package/dist/lib-cjs/api/store/specStorage.js.map +0 -0
  72. package/dist/lib-cjs/api/util/babylonHelper.d.ts +160 -125
  73. package/dist/lib-cjs/api/util/babylonHelper.js +465 -368
  74. package/dist/lib-cjs/api/util/babylonHelper.js.map +1 -1
  75. package/dist/lib-cjs/api/util/globalTypes.d.ts +321 -275
  76. package/dist/lib-cjs/api/util/globalTypes.js +1 -1
  77. package/dist/lib-cjs/api/util/globalTypes.js.map +0 -0
  78. package/dist/lib-cjs/api/util/resourceHelper.d.ts +26 -30
  79. package/dist/lib-cjs/api/util/resourceHelper.js +237 -247
  80. package/dist/lib-cjs/api/util/resourceHelper.js.map +1 -1
  81. package/dist/lib-cjs/api/util/stringHelper.d.ts +9 -0
  82. package/dist/lib-cjs/api/util/stringHelper.js +26 -0
  83. package/dist/lib-cjs/api/util/stringHelper.js.map +1 -0
  84. package/dist/lib-cjs/buildinfo.json +3 -3
  85. package/dist/lib-cjs/index.d.ts +48 -46
  86. package/dist/lib-cjs/index.js +86 -82
  87. package/dist/lib-cjs/index.js.map +1 -1
  88. package/package.json +83 -83
  89. package/src/api/classes/animationInterface.ts +11 -11
  90. package/src/api/classes/dottedPath.ts +189 -189
  91. package/src/api/classes/element.ts +648 -606
  92. package/src/api/classes/event.ts +370 -355
  93. package/src/api/classes/eventBroadcaster.ts +54 -54
  94. package/src/api/classes/parameter.ts +408 -270
  95. package/src/api/classes/parameterObservable.ts +99 -121
  96. package/src/api/classes/{elementParameterizable.ts → parameterizable.ts} +89 -78
  97. package/src/api/classes/placementAnimation.ts +133 -133
  98. package/src/api/classes/variant.ts +799 -652
  99. package/src/api/classes/variantInstance.ts +88 -81
  100. package/src/api/classes/variantParameterizable.ts +73 -0
  101. package/src/api/classes/viewer.ts +420 -421
  102. package/src/api/classes/viewerLight.ts +295 -0
  103. package/src/api/internal/debugViewer.ts +81 -81
  104. package/src/api/internal/lensRendering.ts +10 -10
  105. package/src/api/internal/sceneSetup.ts +194 -204
  106. package/src/api/manager/animationManager.ts +116 -116
  107. package/src/api/manager/sceneManager.ts +105 -105
  108. package/src/api/manager/variantInstanceManager.ts +236 -236
  109. package/src/api/store/specStorage.ts +53 -53
  110. package/src/api/util/babylonHelper.ts +497 -392
  111. package/src/api/util/globalTypes.ts +369 -314
  112. package/src/api/util/resourceHelper.ts +157 -168
  113. package/src/api/util/stringHelper.ts +26 -0
  114. package/src/buildinfo.json +2 -2
  115. package/src/commonjs.tsconfig.json +13 -13
  116. package/src/declaration.tsconfig.json +10 -10
  117. package/src/dev.ts +45 -60
  118. package/src/es6.tsconfig.json +13 -13
  119. package/src/index.ts +91 -87
  120. package/src/pagesconfig.json +51 -47
  121. package/src/tsconfig.json +43 -43
  122. package/src/tsconfig.types.json +9 -9
  123. package/src/types.d.ts +4 -4
  124. package/src/assets/02_environment.env +0 -0
  125. package/src/assets/02_test_hdri_flipped.hdr +0 -0
  126. package/src/assets/07rDvxP2xTk.glb +0 -0
  127. package/src/assets/08L8DrdZt8y.glb +0 -0
  128. package/src/assets/CB-6250/main.js +0 -427
  129. package/src/assets/CB-6250/models/.gitkeep +0 -1
  130. package/src/assets/CB-6250/models/candle.glb +0 -0
  131. package/src/assets/CB-6250/models/lamp.glb +0 -0
  132. package/src/assets/CB-6250/models/molto-bido.glb +0 -0
  133. package/src/assets/CB-6250/models/mtron.glb +0 -0
  134. package/src/assets/CB-6250/models/mtron_split_geometry.glb +0 -0
  135. package/src/assets/CB-6250/models/mtron_split_material.glb +0 -0
  136. package/src/assets/KTM1290SA/AvatarAdv.glb +0 -0
  137. package/src/assets/KTM1290SA/ktm1290SA.ts +0 -77
  138. package/src/assets/KTM1290SA/scene.json +0 -16
  139. package/src/assets/_draft/main.js +0 -117
  140. package/src/assets/_draft/models/.gitkeep +0 -1
  141. package/src/assets/_draft/models/_demo.glb +0 -0
  142. package/src/assets/_draft/studio.env +0 -0
  143. package/src/assets/bike/CompleteBike_Optim_986K_01.glb +0 -0
  144. package/src/assets/bike/complete.json +0 -19
  145. package/src/assets/bike/index.json +0 -9
  146. package/src/assets/bike/setup.json +0 -11
  147. package/src/assets/ctrls-helper.ts +0 -89
  148. package/src/assets/cube/10 environment.env +0 -0
  149. package/src/assets/cube/bin_svg_logo_test.glb +0 -0
  150. package/src/assets/cube/cube.ts +0 -42
  151. package/src/assets/cube/cube_v2.glb +0 -0
  152. package/src/assets/cube/scene.ts +0 -83
  153. package/src/assets/cube/testCylinderUVs.glb +0 -0
  154. package/src/assets/environment.env +0 -0
  155. package/src/assets/hoferkerzen/hoferkerzen.glb +0 -0
  156. package/src/assets/hoferkerzen/index.json +0 -9
  157. package/src/assets/hoferkerzen/setup.json +0 -11
  158. package/src/assets/hoferkerzen/variant_kgl.json +0 -41
  159. package/src/assets/husqvarna-instanced-meshes/husqvarna.env +0 -0
  160. package/src/assets/husqvarna-instanced-meshes/husqvarna.glb +0 -0
  161. package/src/assets/husqvarna-instanced-meshes/main.ts +0 -108
  162. package/src/assets/index.html +0 -144
  163. package/src/assets/index.json +0 -9
  164. package/src/assets/linkeddups/example_2_instances.glb +0 -0
  165. package/src/assets/linkeddups/spec.ts +0 -32
  166. package/src/assets/molto-mova-multi-instance-shown-bug/main.ts +0 -106
  167. package/src/assets/molto-mova-multi-instance-shown-bug/molto-mova-rc82.glb +0 -0
  168. package/src/assets/molto-mova-multi-instance-shown-bug/molto-mova-volare.glb +0 -0
  169. package/src/assets/molto-mova-multi-instance-shown-bug/studio.env +0 -0
  170. package/src/assets/moltomova/10 environment.env +0 -0
  171. package/src/assets/moltomova/RC65.glb +0 -0
  172. package/src/assets/moltomova/RC82.glb +0 -0
  173. package/src/assets/moltomova/TPH67.glb +0 -0
  174. package/src/assets/moltomova/TPH82.glb +0 -0
  175. package/src/assets/moltomova/Volare.glb +0 -0
  176. package/src/assets/moltomova/moltomova-cl3d-spec-rc65.ts +0 -159
  177. package/src/assets/moltomova/moltomova-cl3d-spec-rc82.ts +0 -118
  178. package/src/assets/moltomova/moltomova-cl3d-spec-scene.ts +0 -57
  179. package/src/assets/moltomova/moltomova-cl3d-spec-tph67.ts +0 -199
  180. package/src/assets/moltomova/moltomova-cl3d-spec-tph82.ts +0 -173
  181. package/src/assets/moltomova/moltomova-cl3d-spec-volare65.ts +0 -173
  182. package/src/assets/moltomova/moltomova.ts +0 -175
  183. package/src/assets/mova.json +0 -18
  184. package/src/assets/mova_3_phase_rail.glb +0 -0
  185. package/src/assets/mova_3_phase_rail.json +0 -86
  186. package/src/assets/mova_recessed_luminaire.glb +0 -0
  187. package/src/assets/mova_recessed_luminaire.json +0 -81
  188. package/src/assets/nessie/gltf-test-no-material.gltf +0 -142
  189. package/src/assets/nessie/gltf-test-no-material_data.bin +0 -0
  190. package/src/assets/nessie/gltf-test-rotation.gltf +0 -142
  191. package/src/assets/nessie/gltf-test-rotation_data.bin +0 -0
  192. package/src/assets/nessie/gltf-test.gltf +0 -178
  193. package/src/assets/nessie/gltf-test_data.bin +0 -0
  194. package/src/assets/nessie/index.json +0 -9
  195. package/src/assets/nessie/nessie_basic.json +0 -24
  196. package/src/assets/nessie/setup.json +0 -12
  197. package/src/assets/scene.json +0 -64
  198. package/src/assets/setup.json +0 -25
  199. package/src/assets/small_cave_1k.hdr +0 -0
  200. package/src/assets/svgTo3D/09aJssVZrjk.env +0 -0
  201. package/src/assets/svgTo3D/09f0zfBQBWK.glb +0 -0
  202. package/src/assets/svgTo3D/9bae062709f8a7803769ba955cde3c4a.jpg +0 -0
  203. package/src/assets/svgTo3D/logo-cyledge.svg +0 -19
  204. package/src/assets/svgTo3D/spec.ts +0 -56
  205. package/src/assets/svgTo3D/svg_assets/09fmVjc59hQ.png +0 -0
  206. package/src/assets/svgTo3D/svg_assets/LDI2apCSOBg7S-QT7pb0EPOreec.woff2 +0 -0
  207. package/src/assets/svgTo3D/svg_assets/unineue_regular.woff2 +0 -0
  208. package/src/assets/svgTo3D/testCube.glb +0 -0
  209. package/src/assets/svgTo3D/testCube001.glb +0 -0
  210. package/src/assets/svgTo3D/testCubeSpec.ts +0 -49
  211. package/src/assets/textures/grass.png +0 -0
  212. package/src/assets/textures/seamless-grunge-scratched-texture.jpg +0 -0
@@ -1,427 +0,0 @@
1
- /**
2
- * @TODO (2) Copy this folder and rename it. Then use the contents to build a new demo.
3
- */
4
-
5
- import { StandardMaterial } from '@babylonjs/core/Materials/standardMaterial';
6
- import {
7
- createButton,
8
- createCombobox,
9
- createCheckbox
10
- } from '../ctrls-helper';
11
-
12
- import {
13
- Emitter,
14
- Event,
15
- Parameter,
16
- Viewer
17
- } from '../../index';
18
-
19
- /**
20
- * @return {StructureJson}
21
- */
22
- export function createSpec() {
23
- return {
24
- scene: {
25
- parameters: {
26
- // @TODO (2) Adjust path
27
- environment: './assets/_draft/studio.env',
28
- meshPicking: true
29
- },
30
- engine: {
31
- antialiasing: true,
32
- options: {
33
- preserveDrawingBuffer: true,
34
- stencil: true,
35
- },
36
- },
37
- scene: {
38
- globals: {},
39
- lights: {},
40
- cameras: {},
41
- },
42
- },
43
- setup: {
44
- instances: [
45
- {
46
- name: 'molto-bido',
47
- variant: 'molto-bido',
48
- lazy: false,
49
- parameters: {
50
- visible: true,
51
- scaling: '( 1, 1, -1 )',
52
- position: '( 0, 0, 0 )',
53
- rotation: '( 0, 0, 0 )',
54
- },
55
- },
56
- {
57
- name: 'demo',
58
- variant: 'demo',
59
- lazy: true,
60
- //parameters: {
61
- // visible: true,
62
- // scaling: '( .2, .2, .2 )',
63
- // position: '( 0, 0, 0 )',
64
- // rotation: '( 0, 0, 0 )',
65
- //},
66
- },
67
- {
68
- name: 'lamp',
69
- variant: 'lamp',
70
- lazy: true,
71
- parameters: {
72
- visible: true,
73
- scaling: '( 4, 4, 4 )',
74
- position: '( 0, 0, 0 )',
75
- rotation: '( 0, 0, 0 )',
76
- },
77
- },
78
- {
79
- name: 'candle',
80
- variant: 'candle',
81
- lazy: true,
82
- },
83
- {
84
- name: 'mtron_full',
85
- variant: 'mtron_full',
86
- lazy: true,
87
- //parameters: {
88
- // visible: true,
89
- // scaling: '( .2, .2, .2 )',
90
- // position: '( 0, 0, 0 )',
91
- // rotation: '( 0, 0, 0 )',
92
- //},
93
- },
94
- {
95
- name: 'mtron_split_geometry',
96
- variant: 'mtron_split_geometry',
97
- lazy: true,
98
- //parameters: {
99
- // visible: true,
100
- // scaling: '( .2, .2, .2 )',
101
- // position: '( 0, 0, 0 )',
102
- // rotation: '( 0, 0, 0 )',
103
- //},
104
- },
105
- {
106
- name: 'mtron_split_material',
107
- variant: 'mtron_split_material',
108
- lazy: true,
109
- //parameters: {
110
- // visible: true,
111
- // scaling: '( .2, .2, .2 )',
112
- // position: '( 0, 0, 0 )',
113
- // rotation: '( 0, 0, 0 )',
114
- //},
115
- },
116
- ],
117
- },
118
- variants: {
119
- "molto-bido": {
120
- glTF: './assets/CB-6250/models/molto-bido.glb',
121
- parameterDeclaration: {
122
- ShowBaldachin1: { type: 'boolean' },
123
- ShowBaldachin2: { type: 'boolean' },
124
- },
125
- parameters: {
126
- ShowBaldachin1: true,
127
- [`Baldachin1.${Parameter.VISIBLE}`]: '${ShowBaldachin1}',
128
- [`Baldachin1Wires.${Parameter.VISIBLE}`]: '${ShowBaldachin1}',
129
- ShowBaldachin2: false,
130
- [`Baldachin2.${Parameter.VISIBLE}`]: '${ShowBaldachin2}',
131
- [`Baldachin2Wires.${Parameter.VISIBLE}`]: '${ShowBaldachin2}',
132
- },
133
- elements: {
134
- Baldachin1: [`__root__.Bido_Round.Baldachin.Baldachin_1`],
135
- Baldachin1Wires: [`__root__.Bido_Round.Lights.wire`],
136
-
137
- Baldachin2: [`__root__.Bido_Round.Baldachin.Baldachin_2_Suspension`],
138
- Baldachin2Wires: [`__root__.Bido_Round.Lights.wireSmall`],
139
- },
140
- },
141
- "demo": {
142
- glTF: './assets/_draft/models/_demo.glb',
143
- elements: {
144
- All: ['__root__'],
145
- },
146
- parameters: {
147
- color: '#ff0000',
148
- // material: 'lambert2',
149
- // 'material.color': '(255,0,0)',
150
- 'highlight.enabled': true,
151
- },
152
- },
153
- "lamp": {
154
- glTF: {
155
- rootUrl: './assets/CB-6250/models/',
156
- fileName: 'lamp.glb'
157
- },
158
- elements: {
159
- Base_matCOB: {
160
- paths: { include: ['__root__.Einbau.COB_LED'] },
161
- },
162
- Base_matHousing: {
163
- paths: {
164
- include: [
165
- '__root__.Einbau.Housing',
166
- '__root__.Einbau.Housing1',
167
- '__root__.Einbau.Housing2',
168
- '__root__.Einbau.Housing3',
169
- ],
170
- },
171
- },
172
- Base_matReflector: {
173
- paths: {
174
- include: [
175
- '__root__.Einbau.COB_Halter',
176
- '__root__.Einbau.LEDHalter'
177
- ]
178
- },
179
- },
180
- /*
181
- Base_matMetal: {
182
- paths: {
183
- include: ['__root__.Einbau.Klammer11',
184
- '__root__.Einbau.Klammer22'
185
- ]
186
- },
187
- },
188
- RingLens_Long: { paths: { include: ['__root__.EinbauLong.RingLens_Long'], }, },
189
- RingRefl_Long: { paths: { include: ['__root__.EinbauLong.RingRefl_Long'], }, },
190
- LongSpotlight_matHousing: { paths: { include: ['__root__.EinbauLong.HousingLong'] }, },
191
- ReflektorAsym: {
192
- paths: {
193
- include: ['__root__.Einbau.ReflektorAsym',
194
- '__root__.Einbau.ReflektorAsym_1'
195
- ]
196
- },
197
- },
198
- ReflektorHE_B: { paths: { include: ['__root__.Einbau.ReflektorHE_B'] }, },
199
- CobLinse: { paths: { include: ['__root__.Einbau.COB_Lens'] }, },
200
- RingLensAcc: { paths: { include: ['__root__.Einbau.RingLensAcc'] }, },
201
- RingLensAccLong: { paths: { include: ['__root__.EinbauLong.RingLensAcc_Long'] }, },
202
- RingLensOAcc: { paths: { include: ['__root__.Einbau.RingLensOAcc'] }, },
203
- RingReflAcc: { paths: { include: ['__root__.Einbau.RingReflAcc'] }, },
204
- RingReflAccLong: {
205
- paths: { include: ['__root__.EinbauLong.RingReflAcc_Long'] },
206
- },
207
- RingReflOAcc: {
208
- paths: { include: ['__root__.Einbau.RingReflOAcc'] },
209
- },
210
- SafetyGlass: {
211
- paths: { include: ['__root__.Einbau.SafetyGlass'] },
212
- },
213
- SpreadLensCOBH: {
214
- paths: { include: ['__root__.Einbau.SpreadLensLensH'] },
215
- },
216
- SpreadLensCOBV: {
217
- paths: { include: ['__root__.Einbau.SpreadLensLensV'] },
218
- },
219
- SpreadLensReflH: {
220
- paths: { include: ['__root__.Einbau.SpreadLensReflH'] },
221
- },
222
- SpreadLensReflV: {
223
- paths: { include: ['__root__.Einbau.SpreadLensReflV'] },
224
- },
225
- WabenrasterCOBL: {
226
- paths: { include: ['__root__.Einbau.WabenrasterCOB'] },
227
- },
228
- WabenrasterRefl: {
229
- paths: { include: ['__root__.Einbau.WabenrasterRefl'] },
230
- },
231
- //*/
232
- }
233
- },
234
- "candle": {
235
- glTF: {
236
- rootUrl: "assets/CB-6250/models/",
237
- fileName: "candle.glb"
238
- },
239
- elements: {
240
- All: ['__root__'],
241
- /*paths: {
242
- include: [
243
- "__root__.RootNode.KGL_docht",
244
- "__root__.RootNode.KGL_docht1",
245
- "__root__.RootNode.KGL_wax_sides",
246
- "__root__.RootNode.KGL_wax_top"
247
- ]
248
- }*/
249
- }
250
- },
251
- "mtron_full": {
252
- glTF: './assets/CB-6250/models/mtron.glb',
253
- parameters: {
254
- color: '#ff0000',
255
- // material: 'lambert2',
256
- // 'material.color': '(255,0,0)',
257
- 'highlight.enabled': true,
258
- },
259
- /*
260
- elements: {
261
- All: ['__root__'],
262
- },//*/
263
- /*
264
- elements: {
265
- //Foo: ['__root__.Raum.Boden'],
266
- //Bar: ['__root__.Raum.Wand'],
267
- aussenEdelstahl0: ['__root__.GP1.Aussen.AussenEdelstahl.aussenEdelstahl0'],
268
- },//*/
269
- //*
270
- elements: {
271
- aussenEdelstahl0: ['__root__.GP1.Aussen.AussenEdelstahl.aussenEdelstahl0'],
272
- Floor: ['__root__.Raum.Boden'],
273
- Wall: ['__root__.Raum.Wand'],
274
- StaircaseOriginal: ['__root__.Raum.Stiegen.stiegeA0', '__root__.Raum.Stiegen.stiegeB0'],
275
- StaircaseInstanced: {
276
- paths: {
277
- include: ['__root__.Raum.Stiegen'],
278
- exclude: ['__root__.Raum.Stiegen.stiegeA0', '__root__.Raum.Stiegen.stiegeB0'],
279
- },
280
- },
281
- AussenEdelstahl: ['__root__.GP1.Aussen.AussenEdelstahl'],
282
- Exterior: [
283
- '__root__.GP1.Aussen.AussenGlas.AussenGlasA',
284
- '__root__.GP1.Aussen.AussenGlas.AussenGlasB',
285
- '__root__.GP1.Aussen.AussenGlas.AussenGlasC',
286
- '__root__.GP1.Aussen.AussenGlas.AussenGlasD',
287
- '__root__.GP1.Aussen.AussenGlas.AussenGlasE',
288
- '__root__.GP1.Aussen.AussenGlas.AussenGlasEck',
289
- ],
290
- AussenGlasFolie: [
291
- '__root__.GP1.Aussen.AussenGlasfolie.AussenGlasfolieA',
292
- '__root__.GP1.Aussen.AussenGlasfolie.AussenGlasfolieB',
293
- '__root__.GP1.Aussen.AussenGlasfolie.AussenGlasfolieC',
294
- '__root__.GP1.Aussen.AussenGlasfolie.AussenGlasfolieD',
295
- '__root__.GP1.Aussen.AussenGlasfolie.aussenGlasfolieE0',
296
- '__root__.GP1.Aussen.AussenGlasfolie.aussenGlasfolieEck0',
297
- '__root__.GP1.Aussen.AussenGlasfolie.aussenGlasfolieOhneEck0',
298
- ],
299
- AussenGummi: ['__root__.GP1.Aussen.AussenGummi'],
300
- AussenPunkthalter: ['__root__.GP1.Aussen.AussenPunkthalter'],
301
- FrontSheetMetal: ['__root__.GP1.FrontBlech.FrontBleche'],
302
- FrontSheetMetalPainted: ['__root__.GP1.FrontBlech.FrontBlechStahlLackiert'],
303
- FrontGlassStatic: [
304
- '__root__.GP1.FrontGlas.FrontGlasEdelstahlK',
305
- '__root__.GP1.FrontGlas.FrontGlasEdelstahlV',
306
- '__root__.GP1.FrontGlas.FrontGlasGlasfolie',
307
- '__root__.GP1.FrontGlas.FrontGlasGummi',
308
- '__root__.GP1.FrontGlas.FrontGlasStahlLackiert',
309
- '__root__.GP1.FrontGlas.FrontGlasStahlVerzinkt',
310
- ],
311
- FrontGlassGlass: ['__root__.GP1.FrontGlas.FrontGlasScheiben'],
312
- FrontFrameStatic: [
313
- '__root__.GP1.FrontZarge.FrontZargenEdelstahlK',
314
- '__root__.GP1.FrontZarge.FrontZargenEdelstahlV',
315
- '__root__.GP1.FrontZarge.FrontZargenGlasfolie',
316
- '__root__.GP1.FrontZarge.FrontZargenGummi',
317
- '__root__.GP1.FrontZarge.FrontZargenStahlLackiert',
318
- ],
319
- FrontFrameGlass: ['__root__.GP1.FrontZarge.FrontZargenGlasScheiben'],
320
- FrontFrameDynamic: ['__root__.GP1.FrontZarge.FrontZargen'],
321
- UniversalDoorMeshes: [
322
- '__root__.GP1.Tueren.TuerenAlu',
323
- '__root__.GP1.Tueren.TuerenEdelstahlH',
324
- '__root__.GP1.Tueren.TuerenEdelstahlV',
325
- '__root__.GP1.Tueren.TuerenStahlVerzinkt',
326
- ],
327
- Glassdoor: ['__root__.GP1.Tueren.TuerenGlas'],
328
- Metaldoor: ['__root__.GP1.Tueren.TuerenNormal'],
329
- StepoverPlate: ['__root__.GP1.Uebertrittsbleche'],
330
- Handrail: ['__root__.GP1.Handlauf'],
331
- StakoStahlLackiert: ['__root__.GP1.Stako.StakoStahlLackiert'],
332
- StakoStahlVerzinkt: ['__root__.GP1.Stako.StakoStahlVerzinkt'],
333
- },//*/
334
- },
335
- "mtron_split_geometry": {
336
- glTF: './assets/CB-6250/models/mtron_split_geometry.glb',
337
- elements: {
338
- All: ['__root__'],
339
- },
340
- },
341
- "mtron_split_material": {
342
- glTF: './assets/CB-6250/models/mtron_split_material.glb',
343
- elements: {
344
- All: ['__root__'],
345
- },
346
- },
347
- },
348
- };
349
- }
350
-
351
- /**
352
- * Called right after the viewer has been bootstrapped.
353
- * Place for project specific code.
354
- *
355
- * @param {Viewer} viewer
356
- */
357
- export async function createUIelements( viewer ) {
358
- // Option keys are variant instance names
359
- const options = {
360
- "molto-bido": 'Moltomova Bido',
361
- "demo": 'Demo',
362
- "lamp": 'Molotomova RC65',
363
- "candle": 'Kerze',
364
- "mtron_full": 'MTron full model',
365
- "mtron_split_geometry": 'MTron geometry only',
366
- "mtron_split_material": 'MTron material only',
367
- }
368
-
369
- console.time(`loading-instance-init`)
370
- await viewer.variantInstances.show( "molto-bido", true );
371
- console.timeEnd(`loading-instance-init`)
372
-
373
- // (i) Creates the combo box and loads the instances
374
- createCombobox(
375
- 'select-instance',
376
- '🔧',
377
- options,
378
- instance => switchInstance(viewer, instance)
379
- );
380
- createCheckbox('baldachin1', 'ShowBaldachin1', true, setBaldachinParam.bind(null, viewer, 'ShowBaldachin1'));
381
- createCheckbox('baldachin2', 'ShowBaldachin2', false, setBaldachinParam.bind(null, viewer, 'ShowBaldachin2'));
382
- }
383
-
384
-
385
- /**
386
- * @param {Viewer} viewer
387
- * @param {String} instance
388
- */
389
- async function switchInstance( viewer, instance ) {
390
- const time = true
391
- time && console.time(`loading-instance-selected`)
392
- const loadingElement = document.getElementById( 'loading' )
393
- loadingElement.style.display = 'block'
394
- const res = await viewer.variantInstances.show( instance, true );
395
- loadingElement.style.display = 'none';
396
- ( time && res ) && console.timeEnd(`loading-instance-selected`)
397
- }
398
-
399
- /**
400
- * @param {Viewer} viewer
401
- * @param {string} paramName
402
- * @param {boolean} value
403
- */
404
- function setBaldachinParam(viewer, paramName, value) {
405
- viewer.variantInstances.commitParameters({ [paramName]: value });
406
- }
407
-
408
- /**
409
- * Register callback to events that switch variants.
410
- * (i) This is how you register callbacks to emitted events.
411
- * @param {Variant} variant
412
- * @param {string|bool|undefined} valOld
413
- * @param {string|bool|undefined} valNew
414
- */
415
- Emitter.on(Event.VARIANT_PARAMETER_BAG_COMMITTED, async (variant, prev, curr) => {
416
- if (
417
- '_' !== variant.id
418
- && curr.visible
419
- ) {
420
- // console.info(` --- $event: VARIANT_PARAMETER_BAG_COMMITTED for "${variant.id}"` );
421
- //console.info( ' <FROM | TO>', valOld, valNew )
422
- }
423
- });
424
-
425
- Emitter.on(Event.BOOTSTRAP_END, async (viewer) => {
426
- //await viewer.enableDebugLayer();
427
- });
@@ -1 +0,0 @@
1
- # Just here so we can commit the empty dir in Git
Binary file
Binary file
Binary file
@@ -1,77 +0,0 @@
1
- export const spec: StructureJson = {
2
- //scene: 'assets/KTM1290SA/scene.json',
3
- scene: '/assets/scene.json',
4
- setup: {
5
- instances: [
6
- {
7
- name: 'MyAvatar',
8
- variant: 'KTM1290SA.Avatar',
9
- lazy: true,
10
- parameters: {
11
- visible: true,
12
- //scaling: '( -3.5, -3.5, -3.5 )',
13
- //position: '( 50, 0, 0 )',
14
- //rotation: '(0, 0, 0)',
15
- },
16
- },
17
- ],
18
- },
19
- variants: {
20
- KTM1290SA: {
21
- variants: {
22
- Avatar: {
23
- glTF: {
24
- "rootUrl": "assets/KTM1290SA/",
25
- "fileName": "AvatarAdv.glb"
26
- },
27
- parameters: {
28
- 'Boots.visible': false,
29
- 'Gloves.visible': true,
30
- 'AdvJacket.visible': false,
31
- 'AdvPantsWithBoots.visible': false,
32
- 'AdvPantsNoBoots.visible': false,
33
- 'AdvHelmet.visible': false,
34
- 'Sneaker.visible': true,
35
- 'Shirt.visible': true,
36
- 'Jeans.visible': true,
37
- 'HandsOnly.visible': false,
38
- },
39
- elements: {
40
- Base: {
41
- paths: {
42
- include: ['__root__.avatar_adv'],
43
- exclude: [
44
- '__root__.avatar_adv.adv_boot_left',
45
- '__root__.avatar_adv.adv_boot_right',
46
- '__root__.avatar_adv.avatar_adv_outfit_feet_only',
47
- '__root__.avatar_adv.adv_glove_l',
48
- '__root__.avatar_adv.adv_glove_r',
49
- '__root__.avatar_adv.adv_jacket',
50
- '__root__.avatar_adv.adv_pants_with_boots',
51
- '__root__.avatar_adv.adv_pants_no_boots',
52
- '__root__.avatar_adv.sneaker_l',
53
- '__root__.avatar_adv.sneaker_r',
54
- '__root__.avatar_adv.t_shirt',
55
- '__root__.avatar_adv.jeans',
56
- '__root__.avatar_adv.adv_helmet',
57
- '__root__.avatar_adv.avatar_adv_outfit_hands_only',
58
- '__root__.avatar_adv.avatar_adv_outfit_no_feet',
59
- ],
60
- },
61
- },
62
- HandsOnly: ['__root__.avatar_adv.avatar_adv_outfit_hands_only'],
63
- Sneaker: ['__root__.avatar_adv.sneaker_l', '__root__.avatar_adv.sneaker_r'],
64
- Shirt: ['__root__.avatar_adv.t_shirt'],
65
- Jeans: ['__root__.avatar_adv.jeans'],
66
- Boots: ['__root__.avatar_adv.adv_boot_left', '__root__.avatar_adv.adv_boot_right'],
67
- Gloves: ['__root__.avatar_adv.adv_glove_l', '__root__.avatar_adv.adv_glove_r'],
68
- AdvJacket: ['__root__.avatar_adv.adv_jacket'],
69
- AdvPantsWithBoots: ['__root__.avatar_adv.adv_pants_with_boots'],
70
- AdvPantsNoBoots: ['__root__.avatar_adv.adv_pants_no_boots'],
71
- AdvHelmet: ['__root__.avatar_adv.adv_helmet'],
72
- },
73
- },
74
- },
75
- },
76
- },
77
- };
@@ -1,16 +0,0 @@
1
- {
2
- "version": "1.0-dev",
3
- "parameters": {
4
- "environment": "/assets/environment.env",
5
- "environment.rotation": 149
6
- },
7
- "engine": {
8
- "antialiasing": true
9
- },
10
- "scene": {
11
- "globals": {
12
- "aa": "fxaa"
13
- },
14
- "cameras": {}
15
- }
16
- }
@@ -1,117 +0,0 @@
1
- /**
2
- * @TODO (2) Copy this folder and rename it. Then use the contents to build a new demo.
3
- */
4
-
5
- import {
6
- createButton,
7
- createCombobox,
8
- } from '../ctrls-helper';
9
- import {
10
- Emitter,
11
- Event,
12
- Viewer
13
- } from '../../index';
14
-
15
- /**
16
- * @return {StructureJson}
17
- */
18
- export function createSpec() {
19
- return {
20
- scene: {
21
- parameters: {
22
- // @TODO (2) Adjust path
23
- environment: './assets/_draft/studio.env',
24
- },
25
- engine: {
26
- antialiasing: true,
27
- options: {
28
- preserveDrawingBuffer: true,
29
- stencil: true,
30
- },
31
- },
32
- scene: {
33
- globals: {},
34
- lights: {},
35
- cameras: {},
36
- },
37
- },
38
- setup: {
39
- instances: [
40
- {
41
- // @TODO (2.2) Add instances and set correct variant names.
42
- name: '_TODO_InstanceName',
43
- variant: '_TODO_VariantName',
44
- lazy: false,
45
- parameters: {
46
- visible: true,
47
- scaling: '( 1, 1, 1 )',
48
- position: '( 0, 0, 0 )',
49
- rotation: '( 0, 0, 0 )',
50
- },
51
- },
52
- ],
53
- },
54
- variants: {
55
- // @TODO (2.1) Add variants.
56
- "_TODO_VariantName": {
57
- glTF: './assets/_draft/models/_demo.glb',
58
- elements: {
59
- All: ['__root__.186'],
60
- },
61
- },
62
- },
63
- };
64
- }
65
-
66
- /**
67
- * Called right after the viewer has been bootstrapped.
68
- * Place for project specific code.
69
- *
70
- * @param {Viewer} viewer
71
- */
72
- export async function createUIelements( viewer ) {
73
- // @TODO (2.3) Adjust variant names to switch between variants during testing.
74
- const options = {
75
- "_TODO_InstanceName": 'VariantName\nSwitch to Instance 1',
76
- //"_TODO_InstanceName-2": 'VariantName-2\nSwitch to Instance 2',
77
- };
78
-
79
- for ( const instance of Object.keys( options ) ) {
80
- await viewer.variantInstances.show( instance, false );
81
- }
82
- // (i) Creates the combo box and loads the instances
83
- createCombobox(
84
- 'SelectInstanceCb',
85
- '🔧',
86
- options,
87
- value => _loadInstance(viewer, value)
88
- );
89
- createButton('demo', '💡 Demo', () => console.info(' --- Button clicked. ---'))
90
- }
91
-
92
-
93
- /**
94
- * @param {Viewer} viewer
95
- * @param {String} instance
96
- */
97
- async function _loadInstance( viewer, instance ) {
98
- console.info( ` --- Loading Instance ${instance}… +++` );
99
- await viewer.variantInstances.show( instance, true );
100
- }
101
-
102
- /**
103
- * Register callback to events that switch variants.
104
- * (i) This is how you register callbacks to emitted events.
105
- * @param {Variant} variant
106
- * @param {string|bool|undefined} valOld
107
- * @param {string|bool|undefined} valNew
108
- */
109
- Emitter.on(Event.VARIANT_PARAMETER_BAG_COMMITTED, async (variant, valOld, valNew) => {
110
- if (
111
- '_' !== variant.id
112
- && valNew.visible
113
- ) {
114
- console.info(` --- $event: VARIANT_PARAMETER_BAG_COMMITTED for "${variant.id}"` );
115
- variant.viewer.autofocusActiveCamera();
116
- }
117
- });
@@ -1 +0,0 @@
1
- # Just here so we can commit the empty dir in Git
Binary file
Binary file
@@ -1,19 +0,0 @@
1
- {
2
- "glTF": {
3
- "rootUrl": "assets/bike/",
4
- "fileName": "CompleteBike_Optim_986K_01.glb"
5
- },
6
- "elements": {
7
- "Root": {
8
- "paths": {
9
- "include": [
10
- "__root__.Node"
11
- ]
12
- }
13
- }
14
- },
15
- "parameters": {
16
- "highlight.enabled": true,
17
- "highlight.color": "(0,255,255)"
18
- }
19
- }
@@ -1,9 +0,0 @@
1
- {
2
- "scene": "/assets/scene.json",
3
- "variants": {
4
- "complete":{
5
- "file": "/assets/bike/complete.json"
6
- }
7
- },
8
- "setup": "/assets/bike/setup.json"
9
- }