architwin 1.0.9

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 (274) hide show
  1. package/README.md +530 -0
  2. package/bundle/LICENSE.md +17 -0
  3. package/bundle/css/core.css +21 -0
  4. package/bundle/css/late.css +22 -0
  5. package/bundle/css/showcase.css +406 -0
  6. package/bundle/css/unsupported_browser.css +1 -0
  7. package/bundle/cursors/grab.png +0 -0
  8. package/bundle/cursors/grabbing.png +0 -0
  9. package/bundle/cursors/rbe-default.png +0 -0
  10. package/bundle/cursors/rbe-finish-room.png +0 -0
  11. package/bundle/cursors/rbe-moving.png +0 -0
  12. package/bundle/cursors/rbe-place-door.png +0 -0
  13. package/bundle/cursors/rbe-place-node.png +0 -0
  14. package/bundle/cursors/rbe-place-opening.png +0 -0
  15. package/bundle/cursors/zoom-in.png +0 -0
  16. package/bundle/cursors/zoom-out.png +0 -0
  17. package/bundle/fonts/ibm-plex-sans-100.woff +0 -0
  18. package/bundle/fonts/ibm-plex-sans-100.woff2 +0 -0
  19. package/bundle/fonts/ibm-plex-sans-100italic.woff +0 -0
  20. package/bundle/fonts/ibm-plex-sans-100italic.woff2 +0 -0
  21. package/bundle/fonts/ibm-plex-sans-200.woff +0 -0
  22. package/bundle/fonts/ibm-plex-sans-200.woff2 +0 -0
  23. package/bundle/fonts/ibm-plex-sans-200italic.woff +0 -0
  24. package/bundle/fonts/ibm-plex-sans-200italic.woff2 +0 -0
  25. package/bundle/fonts/ibm-plex-sans-300.woff +0 -0
  26. package/bundle/fonts/ibm-plex-sans-300.woff2 +0 -0
  27. package/bundle/fonts/ibm-plex-sans-300italic.woff +0 -0
  28. package/bundle/fonts/ibm-plex-sans-300italic.woff2 +0 -0
  29. package/bundle/fonts/ibm-plex-sans-500.woff +0 -0
  30. package/bundle/fonts/ibm-plex-sans-500.woff2 +0 -0
  31. package/bundle/fonts/ibm-plex-sans-500italic.woff +0 -0
  32. package/bundle/fonts/ibm-plex-sans-500italic.woff2 +0 -0
  33. package/bundle/fonts/ibm-plex-sans-600.woff +0 -0
  34. package/bundle/fonts/ibm-plex-sans-600.woff2 +0 -0
  35. package/bundle/fonts/ibm-plex-sans-600italic.woff +0 -0
  36. package/bundle/fonts/ibm-plex-sans-600italic.woff2 +0 -0
  37. package/bundle/fonts/ibm-plex-sans-700.woff +0 -0
  38. package/bundle/fonts/ibm-plex-sans-700.woff2 +0 -0
  39. package/bundle/fonts/ibm-plex-sans-700italic.woff +0 -0
  40. package/bundle/fonts/ibm-plex-sans-700italic.woff2 +0 -0
  41. package/bundle/fonts/ibm-plex-sans-italic.woff +0 -0
  42. package/bundle/fonts/ibm-plex-sans-italic.woff2 +0 -0
  43. package/bundle/fonts/ibm-plex-sans-regular.woff +0 -0
  44. package/bundle/fonts/ibm-plex-sans-regular.woff2 +0 -0
  45. package/bundle/fonts/mp-font.svg +2079 -0
  46. package/bundle/fonts/mp-font.woff +0 -0
  47. package/bundle/fonts/mp-font.woff2 +0 -0
  48. package/bundle/fonts/roboto-100.woff +0 -0
  49. package/bundle/fonts/roboto-100.woff2 +0 -0
  50. package/bundle/fonts/roboto-100italic.woff +0 -0
  51. package/bundle/fonts/roboto-100italic.woff2 +0 -0
  52. package/bundle/fonts/roboto-300.woff +0 -0
  53. package/bundle/fonts/roboto-300.woff2 +0 -0
  54. package/bundle/fonts/roboto-300italic.woff +0 -0
  55. package/bundle/fonts/roboto-300italic.woff2 +0 -0
  56. package/bundle/fonts/roboto-500.woff +0 -0
  57. package/bundle/fonts/roboto-500.woff2 +0 -0
  58. package/bundle/fonts/roboto-500italic.woff +0 -0
  59. package/bundle/fonts/roboto-500italic.woff2 +0 -0
  60. package/bundle/fonts/roboto-700.woff +0 -0
  61. package/bundle/fonts/roboto-700.woff2 +0 -0
  62. package/bundle/fonts/roboto-700italic.woff +0 -0
  63. package/bundle/fonts/roboto-700italic.woff2 +0 -0
  64. package/bundle/fonts/roboto-900.woff +0 -0
  65. package/bundle/fonts/roboto-900.woff2 +0 -0
  66. package/bundle/fonts/roboto-900italic.woff +0 -0
  67. package/bundle/fonts/roboto-900italic.woff2 +0 -0
  68. package/bundle/fonts/roboto-italic.woff +0 -0
  69. package/bundle/fonts/roboto-italic.woff2 +0 -0
  70. package/bundle/fonts/roboto-regular.woff +0 -0
  71. package/bundle/fonts/roboto-regular.woff2 +0 -0
  72. package/bundle/images/360_placement_pin_mask.png +0 -0
  73. package/bundle/images/Desktop-help-play-button.svg +1 -0
  74. package/bundle/images/Desktop-help-spacebar.png +0 -0
  75. package/bundle/images/MP-logo_H_lock-RGB_color-black.svg +24 -0
  76. package/bundle/images/NoteColor.png +0 -0
  77. package/bundle/images/chrome.png +0 -0
  78. package/bundle/images/edge.png +0 -0
  79. package/bundle/images/escape.png +0 -0
  80. package/bundle/images/exterior.png +0 -0
  81. package/bundle/images/exterior_hover.png +0 -0
  82. package/bundle/images/firefox.png +0 -0
  83. package/bundle/images/headset-quest-2.png +0 -0
  84. package/bundle/images/interior.png +0 -0
  85. package/bundle/images/interior_hover.png +0 -0
  86. package/bundle/images/login-screen-background.jpg +0 -0
  87. package/bundle/images/matterport-app-icon.svg +9 -0
  88. package/bundle/images/matterport-logo-light.svg +1 -0
  89. package/bundle/images/mattertag-disc-128-free.v1.png +0 -0
  90. package/bundle/images/mobile-help-play-button.svg +1 -0
  91. package/bundle/images/nav_help_360.png +0 -0
  92. package/bundle/images/nav_help_click_inside.png +0 -0
  93. package/bundle/images/nav_help_gesture_drag.png +0 -0
  94. package/bundle/images/nav_help_gesture_drag_two_finger.png +0 -0
  95. package/bundle/images/nav_help_gesture_pinch.png +0 -0
  96. package/bundle/images/nav_help_gesture_position.png +0 -0
  97. package/bundle/images/nav_help_gesture_position_two_finger.png +0 -0
  98. package/bundle/images/nav_help_gesture_tap.png +0 -0
  99. package/bundle/images/nav_help_inside_key.png +0 -0
  100. package/bundle/images/nav_help_keyboard_all.png +0 -0
  101. package/bundle/images/nav_help_keyboard_left_right.png +0 -0
  102. package/bundle/images/nav_help_keyboard_up_down.png +0 -0
  103. package/bundle/images/nav_help_mouse_click.png +0 -0
  104. package/bundle/images/nav_help_mouse_drag_left.png +0 -0
  105. package/bundle/images/nav_help_mouse_drag_right.png +0 -0
  106. package/bundle/images/nav_help_mouse_position_left.png +0 -0
  107. package/bundle/images/nav_help_mouse_position_right.png +0 -0
  108. package/bundle/images/nav_help_mouse_zoom.png +0 -0
  109. package/bundle/images/nav_help_tap_inside.png +0 -0
  110. package/bundle/images/nav_help_zoom_keys.png +0 -0
  111. package/bundle/images/objectColor.png +0 -0
  112. package/bundle/images/outlineBasic1024.png +0 -0
  113. package/bundle/images/outlineBasic2048.png +0 -0
  114. package/bundle/images/outlineBasic4096.png +0 -0
  115. package/bundle/images/outlineBasic512.png +0 -0
  116. package/bundle/images/outlineEnhanced1024.png +0 -0
  117. package/bundle/images/outlineEnhanced2048.png +0 -0
  118. package/bundle/images/outlineEnhanced4096.png +0 -0
  119. package/bundle/images/outlineEnhanced512.png +0 -0
  120. package/bundle/images/pinAnchor.png +0 -0
  121. package/bundle/images/pinIconDefault.png +0 -0
  122. package/bundle/images/safari.png +0 -0
  123. package/bundle/images/scope.svg +3 -0
  124. package/bundle/images/selected_sweep_glow.png +0 -0
  125. package/bundle/images/showcase-password-background.jpg +0 -0
  126. package/bundle/images/surface_grid_planar_256.png +0 -0
  127. package/bundle/images/tagColor.png +0 -0
  128. package/bundle/images/unsupported-browser.jpg +0 -0
  129. package/bundle/images/uv_grid_opengl.jpg +0 -0
  130. package/bundle/images/vert_arrows.png +0 -0
  131. package/bundle/js/136.js +18 -0
  132. package/bundle/js/136.js.LICENSE.txt +20 -0
  133. package/bundle/js/143.js +2 -0
  134. package/bundle/js/143.js.LICENSE.txt +20 -0
  135. package/bundle/js/145.js +2 -0
  136. package/bundle/js/145.js.LICENSE.txt +20 -0
  137. package/bundle/js/189.js +2 -0
  138. package/bundle/js/189.js.LICENSE.txt +20 -0
  139. package/bundle/js/217.js +2 -0
  140. package/bundle/js/217.js.LICENSE.txt +20 -0
  141. package/bundle/js/313.js +2 -0
  142. package/bundle/js/313.js.LICENSE.txt +20 -0
  143. package/bundle/js/316.js +2 -0
  144. package/bundle/js/316.js.LICENSE.txt +27 -0
  145. package/bundle/js/321.js +2 -0
  146. package/bundle/js/321.js.LICENSE.txt +20 -0
  147. package/bundle/js/324.js +2 -0
  148. package/bundle/js/324.js.LICENSE.txt +20 -0
  149. package/bundle/js/325.js +2 -0
  150. package/bundle/js/325.js.LICENSE.txt +20 -0
  151. package/bundle/js/330.js +2 -0
  152. package/bundle/js/330.js.LICENSE.txt +20 -0
  153. package/bundle/js/335.js +2 -0
  154. package/bundle/js/335.js.LICENSE.txt +20 -0
  155. package/bundle/js/376.js +2 -0
  156. package/bundle/js/376.js.LICENSE.txt +20 -0
  157. package/bundle/js/422.js +2 -0
  158. package/bundle/js/422.js.LICENSE.txt +22 -0
  159. package/bundle/js/493.js +2 -0
  160. package/bundle/js/493.js.LICENSE.txt +27 -0
  161. package/bundle/js/512.js +2 -0
  162. package/bundle/js/512.js.LICENSE.txt +20 -0
  163. package/bundle/js/519.js +2 -0
  164. package/bundle/js/519.js.LICENSE.txt +20 -0
  165. package/bundle/js/521.js +2 -0
  166. package/bundle/js/521.js.LICENSE.txt +20 -0
  167. package/bundle/js/525.js +2 -0
  168. package/bundle/js/525.js.LICENSE.txt +20 -0
  169. package/bundle/js/607.js +2 -0
  170. package/bundle/js/607.js.LICENSE.txt +27 -0
  171. package/bundle/js/644.js +2 -0
  172. package/bundle/js/644.js.LICENSE.txt +63 -0
  173. package/bundle/js/648.js +2 -0
  174. package/bundle/js/648.js.LICENSE.txt +20 -0
  175. package/bundle/js/66.js +2 -0
  176. package/bundle/js/66.js.LICENSE.txt +20 -0
  177. package/bundle/js/662.js +2 -0
  178. package/bundle/js/662.js.LICENSE.txt +20 -0
  179. package/bundle/js/668.js +2 -0
  180. package/bundle/js/668.js.LICENSE.txt +20 -0
  181. package/bundle/js/718.js +2 -0
  182. package/bundle/js/718.js.LICENSE.txt +20 -0
  183. package/bundle/js/764.js +2 -0
  184. package/bundle/js/764.js.LICENSE.txt +29 -0
  185. package/bundle/js/833.js +20 -0
  186. package/bundle/js/833.js.LICENSE.txt +20 -0
  187. package/bundle/js/858.js +2 -0
  188. package/bundle/js/858.js.LICENSE.txt +20 -0
  189. package/bundle/js/916.js +2 -0
  190. package/bundle/js/916.js.LICENSE.txt +20 -0
  191. package/bundle/js/924.js +2 -0
  192. package/bundle/js/924.js.LICENSE.txt +20 -0
  193. package/bundle/js/932.js +2 -0
  194. package/bundle/js/932.js.LICENSE.txt +20 -0
  195. package/bundle/js/948.js +2 -0
  196. package/bundle/js/948.js.LICENSE.txt +20 -0
  197. package/bundle/js/958.js +2 -0
  198. package/bundle/js/958.js.LICENSE.txt +20 -0
  199. package/bundle/js/JPEGDecoder.worker.worker.js.LICENSE.txt +29 -0
  200. package/bundle/js/JPEGEncoder.worker.worker.js.LICENSE.txt +29 -0
  201. package/bundle/js/PNGDecoder.worker.worker.js.LICENSE.txt +20 -0
  202. package/bundle/js/PNGEncoder.worker.worker.js.LICENSE.txt +20 -0
  203. package/bundle/js/browser-check.js +2 -0
  204. package/bundle/js/browser-check.js.LICENSE.txt +18 -0
  205. package/bundle/js/showcase.js +6 -0
  206. package/bundle/js/showcase.js.LICENSE.txt +144 -0
  207. package/bundle/locale/messages/strings_de.json +1 -0
  208. package/bundle/locale/messages/strings_es.json +1 -0
  209. package/bundle/locale/messages/strings_fr.json +1 -0
  210. package/bundle/locale/messages/strings_it.json +1 -0
  211. package/bundle/locale/messages/strings_ja.json +1 -0
  212. package/bundle/locale/messages/strings_ko.json +1 -0
  213. package/bundle/locale/messages/strings_nl.json +1 -0
  214. package/bundle/locale/messages/strings_pt.json +1 -0
  215. package/bundle/locale/messages/strings_ru.json +1 -0
  216. package/bundle/locale/messages/strings_zh-CN.json +1 -0
  217. package/bundle/locale/messages/strings_zh-TW.json +1 -0
  218. package/bundle/locale/strings.json +1 -0
  219. package/bundle/sdk/cursors/grab.png +0 -0
  220. package/bundle/sdk/cursors/grabbing.png +0 -0
  221. package/bundle/sdk/cursors/rbe-default.png +0 -0
  222. package/bundle/sdk/cursors/rbe-finish-room.png +0 -0
  223. package/bundle/sdk/cursors/rbe-moving.png +0 -0
  224. package/bundle/sdk/cursors/rbe-place-door.png +0 -0
  225. package/bundle/sdk/cursors/rbe-place-node.png +0 -0
  226. package/bundle/sdk/cursors/rbe-place-opening.png +0 -0
  227. package/bundle/sdk/cursors/zoom-in.png +0 -0
  228. package/bundle/sdk/cursors/zoom-out.png +0 -0
  229. package/bundle/sdk/sandbox.html +1 -0
  230. package/bundle/sdk/sdk-client.js +1 -0
  231. package/bundle/sdk/sdk-interface.js +1 -0
  232. package/bundle/sdk.d.ts +5312 -0
  233. package/bundle/showcase.html +114 -0
  234. package/bundle/terms/terms-de-DE.html +69 -0
  235. package/bundle/terms/terms-en-GB.html +62 -0
  236. package/bundle/terms/terms-en-US.html +62 -0
  237. package/bundle/terms/terms-es-MX.html +66 -0
  238. package/bundle/terms/terms-fr-FR.html +65 -0
  239. package/bundle/terms/terms-it-IT.html +65 -0
  240. package/bundle/terms/terms-ja-JP.html +64 -0
  241. package/bundle/terms/terms-ko-KR.html +65 -0
  242. package/bundle/terms/terms-nl-NL.html +65 -0
  243. package/bundle/terms/terms-pt-BR.html +75 -0
  244. package/bundle/terms/terms-ru-RU.html +72 -0
  245. package/bundle/terms/terms-zh-CN.html +65 -0
  246. package/bundle/terms/terms-zh-TW.html +84 -0
  247. package/bundle/vendors/three/0.146.0/libs/basis/README.md +32 -0
  248. package/bundle/vendors/three/0.146.0/libs/basis/basis_transcoder.js +1 -0
  249. package/bundle/vendors/three/0.146.0/libs/basis/basis_transcoder.wasm +0 -0
  250. package/bundle/vendors/three/0.146.0/libs/basis/no-dynamic-execution.patch +11 -0
  251. package/bundle/vendors/three/0.146.0/libs/draco/README.md +32 -0
  252. package/bundle/vendors/three/0.146.0/libs/draco/draco_decoder.js +1 -0
  253. package/bundle/vendors/three/0.146.0/libs/draco/draco_decoder.wasm +0 -0
  254. package/bundle/vendors/three/0.146.0/libs/draco/draco_encoder.js +1 -0
  255. package/bundle/vendors/three/0.146.0/libs/draco/draco_wasm_wrapper.js +1 -0
  256. package/bundle/vendors/three/0.146.0/libs/draco/gltf/draco_decoder.js +1 -0
  257. package/bundle/vendors/three/0.146.0/libs/draco/gltf/draco_decoder.wasm +0 -0
  258. package/bundle/vendors/three/0.146.0/libs/draco/gltf/draco_encoder.js +1 -0
  259. package/bundle/vendors/three/0.146.0/libs/draco/gltf/draco_wasm_wrapper.js +1 -0
  260. package/bundle/vendors/three/0.146.0/three.cjs +2 -0
  261. package/bundle/vendors/three/0.146.0/three.cjs.LICENSE.txt +5 -0
  262. package/bundle/vendors/three/0.146.0/three.js +2 -0
  263. package/bundle/vendors/three/0.146.0/three.js.LICENSE.txt +5 -0
  264. package/bundle/vendors/three/0.146.0/three.min.js +2 -0
  265. package/bundle/vendors/three/0.146.0/three.min.js.LICENSE.txt +5 -0
  266. package/bundle/vendors/three/0.146.0/three.module.js +2 -0
  267. package/bundle/vendors/three/0.146.0/three.module.js.LICENSE.txt +5 -0
  268. package/bundle/version.txt +1 -0
  269. package/lib/architwin.d.ts +24 -0
  270. package/lib/architwin.min.js +1 -0
  271. package/lib/types.d.ts +123 -0
  272. package/lib/types.js +2 -0
  273. package/package.json +26 -0
  274. package/tsconfig.json +11 -0
package/README.md ADDED
@@ -0,0 +1,530 @@
1
+ # Architwin Library
2
+ ArchiTwin Library (architwin.js)
3
+
4
+ ## Installation
5
+ ---------------------
6
+ ### Matterport SDK Bundle
7
+ This ArchiTwin Library requires the Matterport SDK Bundle.
8
+
9
+ Download the Matterport SDK Bundle from here:
10
+
11
+ https://static.matterport.com/showcase-sdk/bundle/23.5.1_webgl-85-ga5dcafc4f6/showcase-bundle.zip
12
+
13
+ After downloading unzip the contents of this file to your web **/public/bundle/** directory.
14
+
15
+ **/public/bundle/**
16
+ ````
17
+ css
18
+ cursors
19
+ fonts
20
+ images
21
+ js
22
+ locale
23
+ sdk
24
+ terms
25
+ vendors
26
+ ....
27
+ ````
28
+
29
+ ### The ArchiTwin Library
30
+ The ArchiTwin Library is currently distributed as a zip file. Please unzip it in your project lib folder.
31
+
32
+ It contains the following files:
33
+ - architwin.min.ts
34
+ - README.md (this document)
35
+ - types.ts
36
+
37
+ The library is using Typescript.
38
+ ## Getting Started
39
+ ------------------------
40
+ ### Integrating the Library to your Application
41
+
42
+ #### Define an iFrame as target for the Showcase
43
+
44
+ ````html
45
+ <template>
46
+ <div>
47
+ <iframe
48
+ id="mp-showcase"
49
+ ref="mpIframe"
50
+ frameborder=”0”
51
+ allow="xr-spatial-tracking"
52
+ allowfullscreen>
53
+ </iframe>
54
+ </div>
55
+
56
+ </template>
57
+ ````
58
+
59
+ #### Import the library
60
+
61
+ ````typescript
62
+ <script lang="ts">
63
+ import * as atwin from '@/lib/architwin';
64
+ import type { IMPConfig, IUser } from '@/lib/types';
65
+ import { onMounted, ref } from 'vue';
66
+
67
+ const mpIframe = ref<HTMLIFrameElement>()
68
+
69
+ // replace with your api key and user
70
+ const apiKey = "585876be-339f-4e52-a6a0-0bc816ccb95a"
71
+ const authUser = {
72
+ email: "su@email.com",
73
+ password: "su123"
74
+ } as IUser
75
+
76
+ ....
77
+ </script>
78
+ ````
79
+
80
+ #### Then connect to a Space
81
+
82
+ ````typescript
83
+ <script lang="ts">
84
+
85
+ ...
86
+ onMounted( async() => {
87
+
88
+ // set spaceUrl
89
+ const spaceUrl = "https://basic-dev.rev-kitten.com/showcase/model3d_public/1?token=e707880f-0fc5-48a6-b3f6-643a19f81464";
90
+
91
+ const auth = {
92
+ apiKey: apiKey,
93
+ user: authUser
94
+ }
95
+
96
+ const config: IMPConfig = {
97
+ iframeId: 'mp-showcase',
98
+ play: 1,
99
+ }
100
+
101
+ // more config options as explain later
102
+ await atwin.connectSpace(spaceUrl, auth, config)
103
+
104
+ // after connected to space, the following objects should be available
105
+ // tags - an array of tag objects found in the space
106
+ // sweeps - an array of sweep objects found in the space
107
+ ...
108
+
109
+ })
110
+
111
+ </script>
112
+ ````
113
+ Once connected, the interactive Space will be rendered in the target iFrame.
114
+ A Space generally contains Tags, 3D objects, Video Screens , Slideshow Screens and Sweeps.
115
+ You should be able to move around the Space using keyboard and mouse.
116
+
117
+ Or programmatically using methods defined in this library.
118
+
119
+ ## Connection Parameters
120
+ connectSpace has three important parameters:
121
+ ````javascript
122
+ connectSpace(spaceUrl, auth, config)
123
+ ````
124
+
125
+ **spaceUrl** - the URL of the space you wanted to connect.
126
+ **auth** - an authentication object with apiKey and user credentials. This will be provided by ArchiTwin.
127
+ **config** - a config object to set some default space behavior
128
+
129
+
130
+ **Example:**
131
+ ```javascript
132
+ import * as atwin from '@/lib/architwin'
133
+
134
+ // public URL for the space, you will be provided an API Endpoint for the list of public spaces
135
+ const spaceUrl = "https://basic-dev.rev-kitten.com/showcase/model3d_public/1?token=e707880f-0fc5-48a6-b3f6-643a19f81464"
136
+
137
+ const auth = {
138
+ apiKey: "585876be-339f-4e52-a6a0-0bc816ccb95a", //xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
139
+ user: {
140
+ email: 'su@email.com',
141
+ password: 'su123'
142
+ }
143
+ }
144
+
145
+ const config = {
146
+ iframeId: "mp-showcase", // this is required
147
+ // ... other config options.
148
+ }
149
+
150
+ await atwin.connectSpace(url, auth, config)
151
+ ```
152
+
153
+ ## Config Options
154
+
155
+ ```typescript
156
+ export interface IMPConfig{
157
+ iframeId: string,
158
+ play?: 0 | 1,
159
+ qs?: 0 | 1,
160
+ tour?: 0 | 1 | 2 | 3,
161
+ vr?: 0 | 1,
162
+ }
163
+ ```
164
+
165
+ **iframeId:** string,
166
+ **play?:** 0 | 1, default = 0
167
+
168
+ - 0 Shows a Play button ▶️️ on the iframe. The user must press the Play button ▶️️ to open the Matterport model.
169
+ - 1 Automatically opens the Matterport model when the iframe loads on the page. If the 3D Showcase is opened via a link (not embedded in an iframe), this option is chosen automatically. When embedding Showcase within an iframe, play=1 will only work if the iframe is large enough on the user’s screen to provide a good user experience. Specifically, on mobile devices, the iframe has to cover at least 60% of the screen.
170
+
171
+ **qs?:** 0 | 1, default = 0
172
+
173
+ - 0 Disable Quickstart (when the Matterport model first opens, zoom in from Dollhouse View).
174
+ - 1 Enable Quickstart (when the Matterport model first opens, go straight into Inside View). Learn more. Only works if Start Position is Inside View.
175
+
176
+ **tour?:** 0 | 1 | 2 | 3, default = 1
177
+ - 0 No tour controls or highlight reel appear.
178
+ - 1 The tour mode saved in the model is used.
179
+ - 2 Story mode tour is used.
180
+ - 3 Highlight reel mode tour is used.
181
+
182
+ **vr?:** 0 | 1, default = 1
183
+ - 0 Hide the VR button.
184
+ - 1 Default Show the VR button.
185
+
186
+ ### Space Navigation and Camera Control
187
+
188
+ #### Moving Around
189
+
190
+ You can navigate around the space using keyboard arrow keys or using a mouse.
191
+
192
+ Progmmatically, you also can navigate the space:
193
+
194
+ Use **moveInDirection(direction: string)** to move around inside the space.
195
+ **direction:** "FORWARD", "BACKWARD", "LEFT", "RIGHT", "UP", "DOWN".
196
+
197
+ This will move the user to the nearest Sweep marker in the indicated direction.
198
+
199
+ ````typescript
200
+ <script lang="ts">
201
+ import * as atwin from '@/lib/architwin';
202
+ import type { IMPConfig, IUser } from '@/lib/types';
203
+ import { onMounted, ref } from 'vue';
204
+
205
+ ...
206
+ atwin.moveInDirection("FORWARD")
207
+ atwin.moveInDirection("FORWARD")
208
+
209
+ atwin.moveInDirection("RIGHT")
210
+ atwin.moveInDirection("RIGHT")
211
+ atwin.moveInDirection("FORWARD")
212
+ atwin.moveInDirection("LEFT")
213
+ ...
214
+
215
+ </script>
216
+ ````
217
+
218
+ ### Rotate, Pan and Tilt Camera
219
+
220
+ While inside the space, you can control the camera rotation and panning to have a better view around you.
221
+
222
+ Use **cameraRotate(x: number, y: number, speed: number)** to rotate the camera view.
223
+
224
+ Use **cameraPan(x: number, z: number)** to tilt and pan the Camera.
225
+
226
+ Parameters x, y and z are rotations in degrees.
227
+
228
+ Note, cameraPan will work only in *Dollhouse* mode.
229
+
230
+ ````typescript
231
+ <script lang="ts">
232
+ import * as atwin from '@/lib/architwin';
233
+ import type { IMPConfig, IUser } from '@/lib/types';
234
+ import { onMounted, ref } from 'vue';
235
+
236
+ ...
237
+ // rotate around X axis, last parameter is the Speed of rotation in seconds
238
+ atwin.cameraRotate(20,0,2)
239
+
240
+
241
+ // rotate around Y axis
242
+ atwin.cameraRotate(0,45,5)
243
+
244
+
245
+
246
+ // pan around z axis (pan and tilt only works in Dollhouse mode)
247
+ atwin.cameraPan(0,20)
248
+
249
+ // tilt abpout x axis
250
+ atwin.cameraPan(30,0)
251
+
252
+ ...
253
+
254
+ </script>
255
+ ````
256
+
257
+
258
+ ## Space Overview
259
+ (Note that we use the word Space and Showcase interchangeably)
260
+
261
+ **Space**
262
+ Space is an immersive and realistic Digital Twin model of a physical space, with virtual custom objects like animated 3D objects, Video Screens, Slideshow Screens and Tags, co-existing and enhancing the real objects.
263
+
264
+ A user should be able to navigate around using PC or devices (keyboard and mouse), measure real object dimensions and interact with the virtual objects as if you are actually visiting the physical space.
265
+
266
+ **Sweeps**
267
+ Space have static sweep markers (white circles on floor) which serves as primary navigation points. Users can go to sweeps (or click), stand and look around.
268
+
269
+ **Tags**
270
+ Space also have tags which are virtual markers attached to Objects or Locations in space. Tags can be clicked which will render and display relevant contents like
271
+ web pages, videos, images or text descriptions. It is possible to go directly to any specifig tag (gotoTag) from anywhere in Space.
272
+
273
+ It can be used as quick way to navigate around the space.
274
+
275
+ **3D Objects**
276
+ Space usually contains 3D objects or three-dimentional models. Some 3D objects may have some simple animations.
277
+
278
+ **Video Screens**
279
+ Another interesting objects that can be found inside the space are Video Screens. They practially look like TV
280
+ screens placed at selected locations. The Video screens will automatically play when a User is nearby (2 meters). And automatically turns off when the User leaves.
281
+
282
+
283
+ **Slideshow Screens**
284
+ Space can also contain Image Slideshow Screens. This is similar to the Video Screen, but uses static images.
285
+ Clicking on the right section of the current slide image will display the next slide.
286
+ Clicking on the the left section will display the previous slide.
287
+
288
+ The slideshow can be auto played in whole by clicking the lower-right corner.
289
+
290
+ ## Points of Interest
291
+ Tags are primarily use to mark locations or objects in space for quick and direct navigation.
292
+ Tags usually contain additional content that will be rendered when hovered. Contents can be web pages,
293
+ text descriptions, videos, or images.
294
+
295
+ ````typescript
296
+ getTags() - // returns a list of Tags found in the Space
297
+
298
+ goToTag(tagId) - // to navigate to specific Tag and accepts a Tag's ID
299
+
300
+ getSweeps() - // returns a list of Sweeps found in the Space
301
+
302
+ moveToSweep(sweepId) - // to move to a specific Sweep
303
+ ````
304
+
305
+ **Example:**
306
+ ````typescript
307
+ <script lang="ts">
308
+ import * as atwin from '@/lib/architwin';
309
+ import type { IMPConfig, IUser } from '@/lib/types';
310
+ import { onMounted, ref } from 'vue';
311
+
312
+ ...
313
+ // get current sweep data
314
+ atwin.getCurrentSweep()
315
+
316
+
317
+ // get current sweep position
318
+ atwin.getSweepPosition()
319
+
320
+
321
+ // moving to a Sweep
322
+ atwin.moveToSweep('msdfkj353h')
323
+
324
+ // move to a Tag
325
+ atwin.gotoTag(5)
326
+
327
+ ...
328
+
329
+ </script>
330
+ ````
331
+
332
+ ## Function Reference
333
+ --------------------------
334
+ #### Tags
335
+ ````typescript
336
+ getTags() - // returns an array of tag objects found in the Space
337
+
338
+ gotoTag(tagId: number) - //transport navigate directly to the tag with given ID
339
+ ````
340
+ ### Sweeps
341
+ ````typescript
342
+ getSweeps() - // returns an array of Sweep Collection found in the Space
343
+
344
+ moveToSweep(sweepId: string) - // transport navigate directly to the Sweep with given ID.
345
+
346
+ getNearbySweeps(sweepId: string) - // returns the nearby or neighbors of a given sweep.
347
+
348
+ getCurrentSweep() - // returns the current sweep detail
349
+
350
+ getSweepPosition(): {x: number, y: number, z: number} - // returns the position of the current sweep:
351
+ ````
352
+
353
+ **Example:**
354
+ ````typescript
355
+ <script lang="ts">
356
+ import * as atwin from '@/lib/architwin';
357
+ import type { IMPConfig, IUser } from '@/lib/types';
358
+ import { onMounted, ref } from 'vue';
359
+
360
+ ...
361
+ // get all Sweeps in loaded Space
362
+ atwin.getSweeps()
363
+
364
+
365
+ // get current sweep data
366
+ atwin.getCurrentSweep()
367
+
368
+
369
+ // get current sweep position
370
+ atwin.getSweepPosition()
371
+
372
+
373
+ // moving to a Sweep
374
+ atwin.moveToSweep('mfj45ligf')
375
+
376
+
377
+ // get nearby sweeps from current Sweep
378
+ atwin.getNearbySweeps('mfj45ligf')
379
+
380
+ ...
381
+
382
+ </script>
383
+ ````
384
+
385
+ ### Video
386
+ ````typescript
387
+ playVideo(videoId: number) - // play a video screen
388
+
389
+ pauseVideo(videoId: number) - // pause a video screen
390
+ ````
391
+
392
+ **Example:**
393
+ ````typescript
394
+ <script lang="ts">
395
+ import * as atwin from '@/lib/architwin';
396
+ import type { IMPConfig, IUser } from '@/lib/types';
397
+ import { onMounted, ref } from 'vue';
398
+
399
+ ...
400
+ // play a video
401
+ atwin.playVideo(1)
402
+
403
+
404
+ // pause a video
405
+ atwin.pauseVideo(2)
406
+ ...
407
+ </script>
408
+ ````
409
+ ### Navigation
410
+ ````typescript
411
+ cameraLookAt(x: number,y: number) - // set camera view at coordinate in SCREEN.
412
+ // x and y is in pixel valuews from top left corner of the space canvas
413
+ moveInDirection(direction: string) - // move in DIRECTION, can be LEFT, RIGTH, UP, DOWN, FORWARD, BACKWARD
414
+
415
+ getViewMode() - // returns the current View Mode of the space.
416
+ // there are three modes:
417
+ // "mode.inside" - shows the interior view of the space
418
+ // "mode.floorplan" - shows the floor plan of the space
419
+ // "mode.dollhouse" - shows the doll house view
420
+
421
+ setViewMode(mode: string) - // to set the viewing mode to "INSIDE", "FLOORPLAN" or "DOLLHOUSE"
422
+ ````
423
+
424
+
425
+ ### Camera
426
+ ````typescript
427
+ getCurrentCameraPose() - // returns the current camera Pose object
428
+
429
+ getCameraPosition() - // returns the current camera Position {x,y,z}
430
+
431
+ cameraPan(x: number, z: number) - // pan (z-axis) makes the camera look left and right. tilt (x-axis) the camera look up and down.
432
+ // x and z are angles in degrees
433
+
434
+ cameraRotate(x: number, y: number, speed: number) - // rotates the camera view, x and y is rotation in horizontal
435
+ // and vertical rotation in degrees
436
+
437
+ ````
438
+
439
+ **Example:**
440
+ ````typescript
441
+ <script lang="ts">
442
+ import * as atwin from '@/lib/architwin';
443
+ import type { IMPConfig, IUser } from '@/lib/types';
444
+ import { onMounted, ref } from 'vue';
445
+
446
+ ...
447
+
448
+ // get current Camera Pose
449
+ atwin.getCurrentCameraPose()
450
+
451
+
452
+ // get current camera position
453
+ atwin.getCameraPosition()
454
+
455
+
456
+ // set Camera View
457
+ atwin.cameraLookAt(0, 10)
458
+
459
+
460
+ // move in different Directions
461
+ atwin.moveInDirection("FORWARD")
462
+ atwin.moveInDirection("FORWARD")
463
+
464
+
465
+ // pan around z axis (pan and tilt only works in Dollhouse mode)
466
+ atwin.cameraPan(0,20)
467
+
468
+
469
+ // tilt abpout x axis
470
+ atwin.cameraPan(30,0)
471
+
472
+
473
+ // rotate around X axis, last parameter is the Speed of rotation in seconds
474
+ atwin.cameraRotate(20,0,2)
475
+
476
+
477
+ // rotate around Y axis
478
+ atwin.cameraRotate(20,5,2)
479
+
480
+
481
+ // get current View
482
+ atwin.getViewMode()
483
+
484
+ // set View Mode
485
+ atwin.setViewMode("INSIDE")
486
+ atwin.setViewMode("FLOORPLAN")
487
+ atwin.setViewMode("DOLLHOUSE")
488
+ ...
489
+
490
+ </script>
491
+ ````
492
+
493
+ ### Objects
494
+
495
+ ````typescript
496
+
497
+ getNearbyObjects(type?: '3DX' | 'SLIDESHOW' | 'VIDEO', distance?: number = 2)
498
+ // returns a list of nearby objects
499
+ // type - can be 3Dx, Slideshow or Video; parameter is optional. if no parameter is passed, it returns all objects
500
+ // distance - is optional but with a default of 2 meters
501
+
502
+ ````
503
+
504
+ **Example**
505
+ ````typescript
506
+ <script lang="ts">
507
+ import * as atwin from '@/lib/architwin';
508
+ import type { IMPConfig, IUser } from '@/lib/types';
509
+ import { onMounted, ref } from 'vue';
510
+
511
+ ...
512
+
513
+ // get all nearby objects
514
+ atwin.getNearbyObjects()
515
+
516
+ // get all nearby 3dx objects
517
+ atwin.getNearbyObjects('3DX')
518
+
519
+ // get all slideshow objects
520
+ atwin.getNearbyObjects('SLIDESHOW')
521
+
522
+ // get all video screen objects
523
+ atwin.getNearbyObjects('VIDEO')
524
+
525
+ // get all video screen objects with distance
526
+ atwin.getNearbyObjects('3DX', 3)
527
+ ...
528
+
529
+ </script>
530
+ ````
@@ -0,0 +1,17 @@
1
+ Matterport Showcase SDK
2
+
3
+ © 2022 Matterport, Inc. All rights reserved.
4
+
5
+ Matterport Showcase SDK ("Showcase SDK") must be used according to
6
+ the Matterport Terms of Service located at https://matterport.com/terms-of-use, the Platform Subscription Agreement ("PSA") available at https://matterport.com/legal/platform-subscription-agreement and the SDK License terms included in the PSA ("SDK License"). Any use of the Showcase SDK requires a current active Matterport account and associated developer key.
7
+
8
+ -------------------------------------------------------------------------------
9
+
10
+ Redistribution and use in source and binary forms, without modification, is permitted in accordance with the SDK License provided that the following conditions are met:
11
+
12
+ * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
13
+ * Neither the name of Matterport nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
14
+
15
+ THE SHOWCASE SDK IS PROVIDED BY MATTERPORT AS THE COPYRIGHT HOLDER AND, IF APPLICABLE, ITS CONTRIBUTORS "AS IS" AND WITHOUT WARRANTIES OF ANY KIND. TO THE FULLEST EXTENT PERMISSIBLE PURSUANT TO APPLICABLE LAW, MATTERPORT DISCLAIMS, ON BEHALF OF ITSELF AND ITS AFFILIATES AND LICENSORS, ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. MATTERPORT DOES NOT WARRANT THAT THE AVAILABILITY OF THE SHOWCASE SDK WILL BE UNINTERRUPTED OR ERROR-FREE, THAT DEFECTS WILL BE CORRECTED, OR THAT THE SHOWCASE SDK WILL BE FREE OF VIRUSES OR OTHER HARMFUL COMPONENTS. MATTERPORT DOES NOT MAKE ANY REPRESENTATIONS OR WARRANTIES REGARDING THE USE OR THE RESULTS OF THE USE OF THE SHOWCASE SDK OR FUNCTIONS ON THE SHOWCASE SDK IN TERMS OF THEIR CORRECTNESS, ACCURACY, RELIABILITY, RESULTS TO BE ACHIEVED, OR OTHERWISE. APPLICABLE LAW MAY NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, SO SOME OR ALL OF THE FOREGOING DISCLAIMERS MAY NOT APPLY TO YOU.
16
+
17
+ TO THE EXTENT PERMITTED UNDER APPLICABLE LAW UNDER NO CIRCUMSTANCES, INCLUDING, BUT NOT LIMITED TO, NEGLIGENCE, SHALL MATTERPORT OR ITS AFFILIATES OR LICENSORS BE LIABLE FOR ANY CONSEQUENTIAL, EXEMPLARY, PUNITIVE, SPECIAL, INCIDENTAL OR OTHER INDIRECT DAMAGES, EVEN IF MATTERPORT OR A MATTERPORT AUTHORIZED REPRESENTATIVE HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. APPLICABLE LAW MAY NOT ALLOW SOME OR ALL OF THIS LIMITATION OF LIABILITY, SO IT MAY NOT APPLY TO YOU.
@@ -0,0 +1,21 @@
1
+ /*!
2
+ * Matterport Showcase SDK
3
+ *
4
+ * © 2022 Matterport, Inc. All rights reserved.
5
+ *
6
+ * Matterport Showcase SDK ("Showcase SDK") must be used according to
7
+ * the Matterport Terms of Service located at https://matterport.com/terms-of-use, the Platform Subscription Agreement ("PSA") available at https://matterport.com/legal/platform-subscription-agreement and the SDK License terms included in the PSA ("SDK License"). Any use of the Showcase SDK requires a current active Matterport account and associated developer key.
8
+ *
9
+ * -------------------------------------------------------------------------------
10
+ *
11
+ * Redistribution and use in source and binary forms, without modification, is permitted in accordance with the SDK License provided that the following conditions are met:
12
+ *
13
+ * * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
14
+ * * Neither the name of Matterport nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
15
+ *
16
+ * THE SHOWCASE SDK IS PROVIDED BY MATTERPORT AS THE COPYRIGHT HOLDER AND, IF APPLICABLE, ITS CONTRIBUTORS "AS IS" AND WITHOUT WARRANTIES OF ANY KIND. TO THE FULLEST EXTENT PERMISSIBLE PURSUANT TO APPLICABLE LAW, MATTERPORT DISCLAIMS, ON BEHALF OF ITSELF AND ITS AFFILIATES AND LICENSORS, ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. MATTERPORT DOES NOT WARRANT THAT THE AVAILABILITY OF THE SHOWCASE SDK WILL BE UNINTERRUPTED OR ERROR-FREE, THAT DEFECTS WILL BE CORRECTED, OR THAT THE SHOWCASE SDK WILL BE FREE OF VIRUSES OR OTHER HARMFUL COMPONENTS. MATTERPORT DOES NOT MAKE ANY REPRESENTATIONS OR WARRANTIES REGARDING THE USE OR THE RESULTS OF THE USE OF THE SHOWCASE SDK OR FUNCTIONS ON THE SHOWCASE SDK IN TERMS OF THEIR CORRECTNESS, ACCURACY, RELIABILITY, RESULTS TO BE ACHIEVED, OR OTHERWISE. APPLICABLE LAW MAY NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, SO SOME OR ALL OF THE FOREGOING DISCLAIMERS MAY NOT APPLY TO YOU.
17
+ *
18
+ * TO THE EXTENT PERMITTED UNDER APPLICABLE LAW UNDER NO CIRCUMSTANCES, INCLUDING, BUT NOT LIMITED TO, NEGLIGENCE, SHALL MATTERPORT OR ITS AFFILIATES OR LICENSORS BE LIABLE FOR ANY CONSEQUENTIAL, EXEMPLARY, PUNITIVE, SPECIAL, INCIDENTAL OR OTHER INDIRECT DAMAGES, EVEN IF MATTERPORT OR A MATTERPORT AUTHORIZED REPRESENTATIVE HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. APPLICABLE LAW MAY NOT ALLOW SOME OR ALL OF THIS LIMITATION OF LIABILITY, SO IT MAY NOT APPLY TO YOU.
19
+ *
20
+ */
21
+ .cursor-none{cursor:none}.cursor-default{cursor:default}.cursor-move{cursor:move}.cursor-col-resize{cursor:col-resize}.cursor-row-resize{cursor:row-resize}.cursor-crosshair{cursor:crosshair}.cursor-cell{cursor:cell}.cursor-help{cursor:help}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.cursor-text{cursor:text}.cursor-vertical-text{cursor:vertical-text}.cursor-e-resize{cursor:e-resize}.cursor-w-resize{cursor:w-resize}.cursor-n-resize{cursor:n-resize}.cursor-s-resize{cursor:s-resize}.cursor-ne-resize{cursor:ne-resize}.cursor-nw-resize{cursor:nw-resize}.cursor-se-resize{cursor:se-resize}.cursor-sw-resize{cursor:sw-resize}.cursor-ew-resize{cursor:ew-resize}.cursor-ns-resize{cursor:ns-resize}.cursor-nesw-resize{cursor:nesw-resize}.cursor-nwse-resize{cursor:nwse-resize}.cursor-zoom-in{cursor:url(../cursors/zoom-in.png) 5 5,auto;cursor:-webkit-zoom-in;cursor:zoom-in}.cursor-zoom-out{cursor:url(../cursors/zoom-out.png) 5 5,auto;cursor:-webkit-zoom-out;cursor:zoom-out}.cursor-grab{cursor:url(../cursors/grab.png),auto;cursor:-webkit-grab;cursor:grab}.cursor-grabbing{cursor:url(../cursors/grabbing.png),auto;cursor:-webkit-grabbing;cursor:grabbing}.cursor-rbe-default{cursor:url(../cursors/rbe-default.png),auto}.cursor-rbe-moving{cursor:url(../cursors/rbe-moving.png),auto}.cursor-rbe-place-node{cursor:url(../cursors/rbe-place-node.png) 12 12,auto}.cursor-rbe-finish-room{cursor:url(../cursors/rbe-finish-room.png) 12 12,auto}.cursor-rbe-place-opening{cursor:url(../cursors/rbe-place-opening.png) 12 12,auto}.cursor-rbe-place-door{cursor:url(../cursors/rbe-place-door.png) 12 12,auto}
@@ -0,0 +1,22 @@
1
+ /*!
2
+ * Matterport Showcase SDK
3
+ *
4
+ * © 2022 Matterport, Inc. All rights reserved.
5
+ *
6
+ * Matterport Showcase SDK ("Showcase SDK") must be used according to
7
+ * the Matterport Terms of Service located at https://matterport.com/terms-of-use, the Platform Subscription Agreement ("PSA") available at https://matterport.com/legal/platform-subscription-agreement and the SDK License terms included in the PSA ("SDK License"). Any use of the Showcase SDK requires a current active Matterport account and associated developer key.
8
+ *
9
+ * -------------------------------------------------------------------------------
10
+ *
11
+ * Redistribution and use in source and binary forms, without modification, is permitted in accordance with the SDK License provided that the following conditions are met:
12
+ *
13
+ * * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
14
+ * * Neither the name of Matterport nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
15
+ *
16
+ * THE SHOWCASE SDK IS PROVIDED BY MATTERPORT AS THE COPYRIGHT HOLDER AND, IF APPLICABLE, ITS CONTRIBUTORS "AS IS" AND WITHOUT WARRANTIES OF ANY KIND. TO THE FULLEST EXTENT PERMISSIBLE PURSUANT TO APPLICABLE LAW, MATTERPORT DISCLAIMS, ON BEHALF OF ITSELF AND ITS AFFILIATES AND LICENSORS, ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. MATTERPORT DOES NOT WARRANT THAT THE AVAILABILITY OF THE SHOWCASE SDK WILL BE UNINTERRUPTED OR ERROR-FREE, THAT DEFECTS WILL BE CORRECTED, OR THAT THE SHOWCASE SDK WILL BE FREE OF VIRUSES OR OTHER HARMFUL COMPONENTS. MATTERPORT DOES NOT MAKE ANY REPRESENTATIONS OR WARRANTIES REGARDING THE USE OR THE RESULTS OF THE USE OF THE SHOWCASE SDK OR FUNCTIONS ON THE SHOWCASE SDK IN TERMS OF THEIR CORRECTNESS, ACCURACY, RELIABILITY, RESULTS TO BE ACHIEVED, OR OTHERWISE. APPLICABLE LAW MAY NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, SO SOME OR ALL OF THE FOREGOING DISCLAIMERS MAY NOT APPLY TO YOU.
17
+ *
18
+ * TO THE EXTENT PERMITTED UNDER APPLICABLE LAW UNDER NO CIRCUMSTANCES, INCLUDING, BUT NOT LIMITED TO, NEGLIGENCE, SHALL MATTERPORT OR ITS AFFILIATES OR LICENSORS BE LIABLE FOR ANY CONSEQUENTIAL, EXEMPLARY, PUNITIVE, SPECIAL, INCIDENTAL OR OTHER INDIRECT DAMAGES, EVEN IF MATTERPORT OR A MATTERPORT AUTHORIZED REPRESENTATIVE HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. APPLICABLE LAW MAY NOT ALLOW SOME OR ALL OF THIS LIMITATION OF LIABILITY, SO IT MAY NOT APPLY TO YOU.
19
+ *
20
+ */
21
+ .search-tool-panel .list-panel-controls .select-popup.select-dropdown .select-trigger{min-width:80px}.search-tool-panel .search-empty-message{padding-left:15px;font-style:italic;font-size:12px}
22
+ .search-result-item.mp-nova-list-item{width:calc(100% - 4px)}.search-result-item.mp-nova-list-item.mp-nova-disabled{opacity:1}.search-result-item.mp-nova-list-item.mp-nova-disabled .mp-list-item-badge{opacity:.3}.search-result-item.mp-nova-list-item.mp-nova-disabled .mp-list-item-title{opacity:.5}@media (hover:hover){.search-result-item.mp-nova-list-item:not(.mp-nova-accordion-header) .list-item-decal:not(.mp-nova-btn-active),.search-result-item.mp-nova-list-item:not(.mp-nova-accordion-header) .mp-nova-btn:not(.mp-nova-btn-active){visibility:hidden}.search-result-item.mp-nova-list-item:not(.mp-nova-accordion-header).active .list-item-decal,.search-result-item.mp-nova-list-item:not(.mp-nova-accordion-header).active .mp-nova-btn,.search-result-item.mp-nova-list-item:not(.mp-nova-accordion-header):hover .list-item-decal,.search-result-item.mp-nova-list-item:not(.mp-nova-accordion-header):hover .mp-nova-btn{visibility:visible}}.search-result-item .item-details{height:100%;padding:5px 0;line-height:1.5;overflow:hidden;display:flex;flex-direction:column;justify-content:center}.search-result-item .item-details .item-description .text-box-text,.search-result-item .item-details .item-header .text-box-text{width:100%}.search-result-item .item-details .item-description .text-box-text,.search-result-item .item-details .item-description .text-box-text>*,.search-result-item .item-details .item-header .text-box-text,.search-result-item .item-details .item-header .text-box-text>*{cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-result-item .item-details .item-description .text-box-text>* [data-blocktype=marker],.search-result-item .item-details .item-description .text-box-text [data-blocktype=marker],.search-result-item .item-details .item-header .text-box-text>* [data-blocktype=marker],.search-result-item .item-details .item-header .text-box-text [data-blocktype=marker]{color:#222;background-color:#8bbbff}.search-result-item .item-details .item-description .text-box-text{color:inherit;font-family:Roboto,sans-serif;font-style:normal;font-weight:400;font-size:12px;line-height:1.5;letter-spacing:.2px}.search-result-item .item-details .item-header{display:flex;justify-content:flex-start;align-items:center;gap:8px}.search-result-item .item-details .item-header .text-box-text{color:inherit;font-family:IBM Plex Sans,sans-serif;font-style:normal;font-weight:700;font-size:14px;line-height:1.57;letter-spacing:.6px;width:unset}.search-result-item .item-details .item-header .list-item-decal{flex-grow:0;flex-shrink:0;display:flex;justify-content:center;align-items:center;width:22px;height:22px;border-radius:10px;background-color:#f5f4f3}.search-result-item .item-details .item-header .list-item-decal .nova-icon{font-size:12px;color:#222}.search-result-item .item-details .item-header .list-item-decal .nova-icon.icon-floorplan{color:#000}.search-result-item .mp-list-item-badge{height:40px;width:55px;display:flex;flex-direction:row;justify-content:center;align-items:center}.search-result-item .mp-list-item-badge .badge{flex-shrink:0;flex-grow:0;background-color:#444;border-color:#444}.search-result-item .mp-list-item-badge .badge .icon.badge-icon{font-size:16px}.search-result-item .mp-list-item-badge .badge .icon.badge-icon.icon-comment{position:relative;top:1px;font-size:21px}.search-result-item .mp-list-item-badge .badge .icon.badge-icon.icon-simple-tag{font-size:13px}.search-result-item .mp-list-item-badge .thumbnail-image{height:100%;aspect-ratio:1/1;background-size:cover;background-repeat:no-repeat}