@realsee/dnalogel 2.0.0 → 2.0.1

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 (154) hide show
  1. package/dist/CSS3DRenderPlugin/ItemLabelPlugin/utils/isImpacted.d.ts +2 -0
  2. package/dist/CameraMovementPlugin/ItemLabelPlugin/utils/isImpacted.d.ts +2 -0
  3. package/dist/CruisePlugin/ItemLabelPlugin/utils/isImpacted.d.ts +2 -0
  4. package/dist/CruisePlugin/index.js +188 -5
  5. package/dist/GuideLinePlugin/ItemLabelPlugin/utils/isImpacted.d.ts +2 -0
  6. package/dist/GuideLinePlugin/index.js +188 -5
  7. package/dist/ItemLabelPlugin/ItemLabelPlugin/utils/isImpacted.d.ts +2 -0
  8. package/dist/ItemLabelPlugin/index.js +2 -2
  9. package/dist/ItemLabelPlugin/utils/isImpacted.d.ts +2 -0
  10. package/dist/ModelChassisCompassPlugin/ItemLabelPlugin/utils/isImpacted.d.ts +2 -0
  11. package/dist/ModelEntryDoorGuidePlugin/ItemLabelPlugin/utils/isImpacted.d.ts +2 -0
  12. package/dist/ModelItemLabelPlugin/ItemLabelPlugin/utils/isImpacted.d.ts +2 -0
  13. package/dist/ModelItemLabelPlugin/index.js +2 -2
  14. package/dist/ModelRoomLabelPlugin/ItemLabelPlugin/utils/isImpacted.d.ts +2 -0
  15. package/dist/ModelRoomLabelPlugin/index.js +2 -2
  16. package/dist/ModelTVVideoPlugin/ItemLabelPlugin/utils/isImpacted.d.ts +2 -0
  17. package/dist/ModelViewPlugin/ItemLabelPlugin/utils/isImpacted.d.ts +2 -0
  18. package/dist/PanoCompassPlugin/ItemLabelPlugin/utils/isImpacted.d.ts +2 -0
  19. package/dist/PanoCursorRaycasterPlugin/ItemLabelPlugin/utils/isImpacted.d.ts +2 -0
  20. package/dist/PanoDoorLabelPlugin/ItemLabelPlugin/utils/isImpacted.d.ts +2 -0
  21. package/dist/PanoDoorLabelPlugin/index.js +1 -1
  22. package/dist/PanoMeasurePlugin/ItemLabelPlugin/utils/isImpacted.d.ts +2 -0
  23. package/dist/PanoRulerPlugin/ItemLabelPlugin/utils/isImpacted.d.ts +2 -0
  24. package/dist/PanoRulerProPlugin/ItemLabelPlugin/utils/isImpacted.d.ts +2 -0
  25. package/dist/PanoRulerProPlugin/index.js +2 -2
  26. package/dist/PanoSpatialTagPlugin/ItemLabelPlugin/utils/isImpacted.d.ts +2 -0
  27. package/dist/PanoSpatialTagPlugin/index.js +2 -2
  28. package/dist/floorplan/MapviewFloorplanPlugin/ItemLabelPlugin/utils/isImpacted.d.ts +2 -0
  29. package/dist/floorplan/MapviewFloorplanPlugin/index.js +17 -17
  30. package/dist/floorplan/ModelFloorplanPlugin/ItemLabelPlugin/utils/isImpacted.d.ts +2 -0
  31. package/dist/floorplan/ModelFloorplanPlugin/index.js +17 -17
  32. package/dist/floorplan/PanoFloorplanRadarPlugin/ItemLabelPlugin/utils/isImpacted.d.ts +2 -0
  33. package/dist/floorplan/PanoFloorplanRadarPlugin/index.js +9 -9
  34. package/dist/floorplan/TopviewFloorplanPlugin/ItemLabelPlugin/utils/isImpacted.d.ts +2 -0
  35. package/dist/floorplan/TopviewFloorplanPlugin/index.js +17 -17
  36. package/dist/index.es.js +220 -34
  37. package/dist/index.js +220 -35
  38. package/dist/index.umd.js +224 -38
  39. package/docs/classes/CruisePluginController.html +1 -1
  40. package/docs/classes/Magnifier.html +1 -1
  41. package/docs/classes/ModelRoomLabelController.html +1 -1
  42. package/docs/enums/CameraMovementEffect.html +1 -1
  43. package/docs/enums/DIRECTION.html +1 -1
  44. package/docs/enums/DISPLAY_STRATEGY_TYPE.html +1 -1
  45. package/docs/enums/FLOOR_PLAN_ATTACHED_TO.html +1 -1
  46. package/docs/enums/ITEM_LABEL_PLUGIN_DISPLAY_STRATEGY_TYPE.html +1 -1
  47. package/docs/enums/Rotation.html +1 -1
  48. package/docs/index.html +1 -1
  49. package/docs/interfaces/CSS3DRenderPluginExportType.html +1 -1
  50. package/docs/interfaces/CameraMovementPluginExportType.html +1 -1
  51. package/docs/interfaces/FloorplanBounding.html +1 -1
  52. package/docs/interfaces/FloorplanData.html +1 -1
  53. package/docs/interfaces/FloorplanEntrance.html +1 -1
  54. package/docs/interfaces/FloorplanExtraObject.html +1 -1
  55. package/docs/interfaces/FloorplanExtraObject3D.html +1 -1
  56. package/docs/interfaces/FloorplanFloorData.html +1 -1
  57. package/docs/interfaces/FloorplanImagePosition.html +1 -1
  58. package/docs/interfaces/FloorplanObserver.html +1 -1
  59. package/docs/interfaces/FloorplanOutlineItem.html +1 -1
  60. package/docs/interfaces/FloorplanPosition.html +1 -1
  61. package/docs/interfaces/FloorplanRoomItem.html +1 -1
  62. package/docs/interfaces/FloorplanRoomLabelItem.html +1 -1
  63. package/docs/interfaces/FloorplanServerBounding.html +1 -1
  64. package/docs/interfaces/FloorplanServerComputedData.html +1 -1
  65. package/docs/interfaces/FloorplanServerData.html +1 -1
  66. package/docs/interfaces/FloorplanServerDoorItem.html +1 -1
  67. package/docs/interfaces/FloorplanServerDoorPosition.html +1 -1
  68. package/docs/interfaces/FloorplanServerEntrance.html +1 -1
  69. package/docs/interfaces/FloorplanServerFloorData.html +1 -1
  70. package/docs/interfaces/FloorplanServerImagePosition.html +1 -1
  71. package/docs/interfaces/FloorplanServerObserver.html +1 -1
  72. package/docs/interfaces/FloorplanServerOutlineItem.html +1 -1
  73. package/docs/interfaces/FloorplanServerPosition.html +1 -1
  74. package/docs/interfaces/FloorplanServerRoomItem.html +1 -1
  75. package/docs/interfaces/FloorplanServerRoomLabelItem.html +1 -1
  76. package/docs/interfaces/ItemLabelPluginData.html +1 -1
  77. package/docs/interfaces/ItemLabelPluginExportReturnsType.html +1 -1
  78. package/docs/interfaces/ItemLabelPluginParametersType.html +1 -1
  79. package/docs/interfaces/LineJson.html +1 -1
  80. package/docs/interfaces/ModelChassisCompassPluginData.html +1 -1
  81. package/docs/interfaces/ModelChassisCompassPluginExportType.html +1 -1
  82. package/docs/interfaces/ModelChassisCompassPluginParameterType.html +1 -1
  83. package/docs/interfaces/ModelEntryDoorGuidePluginData.html +1 -1
  84. package/docs/interfaces/ModelEntryDoorGuidePluginExportType.html +1 -1
  85. package/docs/interfaces/ModelItemLabelPluginData.html +1 -1
  86. package/docs/interfaces/ModelItemLabelPluginExportReturnsType.html +1 -1
  87. package/docs/interfaces/ModelItemLabelPluginParametersType.html +1 -1
  88. package/docs/interfaces/ModelRoomLabelPluginData.html +1 -1
  89. package/docs/interfaces/ModelTVVideoPluginData.html +1 -1
  90. package/docs/interfaces/ModelTVVideoPluginExportType.html +1 -1
  91. package/docs/interfaces/ModelTVVideoPluginParameterType.html +1 -1
  92. package/docs/interfaces/ModelViewPluginExportType.html +1 -1
  93. package/docs/interfaces/OpenParameter.html +1 -1
  94. package/docs/interfaces/PanoCursorRaycasterPluginExportType.html +1 -1
  95. package/docs/interfaces/PanoCursorRaycasterPluginParameterType.html +1 -1
  96. package/docs/interfaces/PanoMeasureParameterType.html +1 -1
  97. package/docs/interfaces/PanoRulerPluginExportType.html +1 -1
  98. package/docs/interfaces/PanoRulerPluginOptions.html +1 -1
  99. package/docs/interfaces/PanoRulerPluginParameterType.html +1 -1
  100. package/docs/interfaces/PanoRulerProPluginExportType.html +1 -1
  101. package/docs/interfaces/PanoRulerProPluginOptions.html +1 -1
  102. package/docs/interfaces/PanoRulerProPluginParameterType.html +1 -1
  103. package/docs/interfaces/PanoRulerProPluginState.html +1 -1
  104. package/docs/interfaces/PanoSpatialTagPluginContentEvent.html +1 -1
  105. package/docs/interfaces/PanoSpatialTagPluginContentReplacement.html +1 -1
  106. package/docs/interfaces/PanoSpatialTagPluginData.html +1 -1
  107. package/docs/interfaces/PanoSpatialTagPluginDataElement.html +1 -1
  108. package/docs/interfaces/PanoSpatialTagPluginExportType.html +1 -1
  109. package/docs/interfaces/PanoSpatialTagPluginOriginElement.html +1 -1
  110. package/docs/interfaces/PanoSpatialTagPluginParameterType.html +1 -1
  111. package/docs/interfaces/PanoSpatialTagPluginPointElement.html +1 -1
  112. package/docs/interfaces/PanoSpatialTagPluginTagElement.html +1 -1
  113. package/docs/interfaces/Point.html +1 -1
  114. package/docs/interfaces/PointJson.html +1 -1
  115. package/docs/interfaces/Room.html +1 -1
  116. package/docs/interfaces/RoomInfo.html +1 -1
  117. package/docs/interfaces/RoomLabel.html +1 -1
  118. package/docs/interfaces/RoomRules.html +1 -1
  119. package/docs/interfaces/Rooms.html +1 -1
  120. package/docs/modules.html +1 -1
  121. package/libs/ItemLabelPlugin/ItemLabelComponent.js +1 -1
  122. package/libs/ItemLabelPlugin/ItemLabelItem.js +1 -1
  123. package/libs/ItemLabelPlugin/utils/isImpacted.d.ts +2 -0
  124. package/libs/ModelItemLabelPlugin/ItemLabelComponent.js +1 -1
  125. package/libs/ModelItemLabelPlugin/ItemLabelItem.js +1 -1
  126. package/libs/ModelRoomLabelPlugin/RoomLabelItem.js +1 -1
  127. package/libs/ModelRoomLabelPlugin/RoomLabelItems.js +1 -1
  128. package/libs/PanoDoorLabelPlugin/DoorLabelItem.js +1 -1
  129. package/libs/PanoRulerProPlugin/RulerItem.js +1 -1
  130. package/libs/PanoRulerProPlugin/RulerItems.js +1 -1
  131. package/libs/PanoSpatialTagPlugin/Components/origins.js +1 -1
  132. package/libs/PanoSpatialTagPlugin/Components/tag.js +1 -1
  133. package/libs/floorplan/Components/BaseImage.js +1 -1
  134. package/libs/floorplan/Components/Camera.js +1 -1
  135. package/libs/floorplan/Components/Compass.js +1 -1
  136. package/libs/floorplan/Components/CurrentFloor.js +1 -1
  137. package/libs/floorplan/Components/Main.js +1 -1
  138. package/libs/floorplan/Components/Normalmage.js +1 -1
  139. package/libs/floorplan/Components/RoomHighlight/Room.js +1 -1
  140. package/libs/floorplan/Components/RoomHighlight/RoomHighlight.js +1 -1
  141. package/libs/floorplan/Components/RoomLabels/RoomLabel.js +1 -1
  142. package/libs/floorplan/Components/RoomLabels/RoomLabels.js +1 -1
  143. package/libs/floorplan/Components/RoomMaterials/RoomMaterial.js +1 -1
  144. package/libs/floorplan/Components/RoomMaterials/RoomMaterial_0.js +1 -1
  145. package/libs/floorplan/Components/RoomMaterials/RoomMaterial_1.js +1 -1
  146. package/libs/floorplan/Components/RoomMaterials/RoomMaterial_2.js +1 -1
  147. package/libs/floorplan/Components/RuleLabels/RuleItem.js +1 -1
  148. package/libs/floorplan/Components/RuleLabels/RuleLabels.js +1 -1
  149. package/libs/floorplan/Components/SvgImage.js +1 -1
  150. package/libs/floorplan/PanoFloorplanRadarPlugin/Components/Camera.js +1 -1
  151. package/libs/floorplan/PanoFloorplanRadarPlugin/Components/CurrentFloor/CurrentFloor.js +1 -1
  152. package/libs/floorplan/PanoFloorplanRadarPlugin/Components/CurrentFloor/ExtraObjects.js +1 -1
  153. package/libs/floorplan/PanoFloorplanRadarPlugin/Components/Main.js +1 -1
  154. package/package.json +1 -1
package/dist/index.es.js CHANGED
@@ -13,7 +13,6 @@ import * as TWEEN from '@tweenjs/tween.js';
13
13
  import TWEEN__default from '@tweenjs/tween.js';
14
14
  import Hammer from 'hammerjs';
15
15
  import classNames from 'classnames';
16
- import getNormals from 'polyline-normals';
17
16
 
18
17
  /**
19
18
  * Five 模型插件
@@ -462,7 +461,7 @@ const PanoCursorRaycasterPlugin = (five) => {
462
461
 
463
462
  const ROOM_LABEL_BG = 'data:image/png;base64,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';
464
463
 
465
- /* src/ModelRoomLabelPlugin/RoomLabelItem.svelte generated by Svelte v3.49.0 */
464
+ /* src/ModelRoomLabelPlugin/RoomLabelItem.svelte generated by Svelte v3.50.1 */
466
465
 
467
466
  function add_css$q(target) {
468
467
  append_styles(target, "svelte-877671", ".room-label-item.svelte-877671{position:absolute;font-size:0.41667rem;z-index:0;transform:none;cursor:pointer;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.room-label-item__text.svelte-877671{position:absolute;left:0;top:-3.33333rem;transform:translate(-50%, 0);display:flex;justify-content:center;align-items:center;height:1.04167rem;min-width:1.66667rem;padding:0 0.3125rem;pointer-events:all;background-size:100% 100%;background-repeat:no-repeat;white-space:nowrap}.room-label-item__bar.svelte-877671{position:absolute;top:-2.29167rem;height:2.5rem;width:1px;background-image:linear-gradient(to bottom, rgba(255, 255, 255, 1), rgba(255, 255, 255, 0))}.wide.svelte-877671{font-size:0.52083rem}");
@@ -562,7 +561,7 @@ class RoomLabelItem extends SvelteComponent {
562
561
  }
563
562
  }
564
563
 
565
- /* src/ModelRoomLabelPlugin/RoomLabelItems.svelte generated by Svelte v3.49.0 */
564
+ /* src/ModelRoomLabelPlugin/RoomLabelItems.svelte generated by Svelte v3.50.1 */
566
565
 
567
566
  const { Map: Map_1 } = globals;
568
567
 
@@ -1126,7 +1125,7 @@ function rad2Deg$1(rad) {
1126
1125
  return (rad * 180) / Math.PI;
1127
1126
  }
1128
1127
 
1129
- /* src/floorplan/Components/Camera.svelte generated by Svelte v3.49.0 */
1128
+ /* src/floorplan/Components/Camera.svelte generated by Svelte v3.50.1 */
1130
1129
 
1131
1130
  function add_css$o(target) {
1132
1131
  append_styles(target, "svelte-17cl35n", ".floorplan__camera-position.svelte-17cl35n{position:absolute;width:0;height:0}.floorplan__camera-rotate.svelte-17cl35n{position:absolute;background-repeat:no-repeat;background-size:100%}");
@@ -1231,7 +1230,7 @@ class Camera$1 extends SvelteComponent {
1231
1230
 
1232
1231
  const COMPASS_IMAGE = 'data:image/png;base64,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';
1233
1232
 
1234
- /* src/floorplan/Components/Compass.svelte generated by Svelte v3.49.0 */
1233
+ /* src/floorplan/Components/Compass.svelte generated by Svelte v3.50.1 */
1235
1234
 
1236
1235
  function add_css$n(target) {
1237
1236
  append_styles(target, "svelte-z9kwkx", ".floorplan-plugin__compass.svelte-z9kwkx{position:absolute;left:50%;top:-2.39583rem;width:12.03125rem;height:2.13542rem;will-change:opacity;transform-origin:center 9.58333rem}.floorplan-plugin__compass-image.svelte-z9kwkx{width:100%;height:100%;position:absolute;left:0;top:0;opacity:0.1;background-repeat:no-repeat;background-size:100% 100%}.floorplan-plugin__compass-text.svelte-z9kwkx{position:absolute;left:50%;top:0.78125rem;transform:translateX(-50%);opacity:0.2;font-weight:bold;font-size:0.52083rem;color:#fff}");
@@ -1331,7 +1330,7 @@ class Compass extends SvelteComponent {
1331
1330
  }
1332
1331
  }
1333
1332
 
1334
- /* src/floorplan/Components/Normalmage.svelte generated by Svelte v3.49.0 */
1333
+ /* src/floorplan/Components/Normalmage.svelte generated by Svelte v3.50.1 */
1335
1334
 
1336
1335
  function add_css$m(target) {
1337
1336
  append_styles(target, "svelte-1gfoniz", "img.svelte-1gfoniz{width:100%;height:100%}");
@@ -1381,7 +1380,7 @@ class Normalmage extends SvelteComponent {
1381
1380
  }
1382
1381
  }
1383
1382
 
1384
- /* src/floorplan/Components/SvgImage.svelte generated by Svelte v3.49.0 */
1383
+ /* src/floorplan/Components/SvgImage.svelte generated by Svelte v3.50.1 */
1385
1384
 
1386
1385
  function add_css$l(target) {
1387
1386
  append_styles(target, "svelte-ub47ya", ".floorplan-plugin__base-image.svelte-ub47ya{width:100%;height:100%}");
@@ -1448,7 +1447,7 @@ class SvgImage extends SvelteComponent {
1448
1447
  }
1449
1448
  }
1450
1449
 
1451
- /* src/floorplan/Components/BaseImage.svelte generated by Svelte v3.49.0 */
1450
+ /* src/floorplan/Components/BaseImage.svelte generated by Svelte v3.50.1 */
1452
1451
 
1453
1452
  function add_css$k(target) {
1454
1453
  append_styles(target, "svelte-ozpg4a", ".floorplan-plugin__base-image.svelte-ozpg4a{position:absolute;z-index:10;width:100%;height:100%;pointer-events:none}");
@@ -1649,7 +1648,7 @@ class BaseImage extends SvelteComponent {
1649
1648
  }
1650
1649
  }
1651
1650
 
1652
- /* src/floorplan/Components/RoomLabels/RoomLabel.svelte generated by Svelte v3.49.0 */
1651
+ /* src/floorplan/Components/RoomLabels/RoomLabel.svelte generated by Svelte v3.50.1 */
1653
1652
 
1654
1653
  function add_css$j(target) {
1655
1654
  append_styles(target, "svelte-12pzct5", ".floorplan-plugin__room-label-item.svelte-12pzct5{position:absolute;display:flex;flex-flow:column;align-items:center;line-height:1;color:#fff;transform:translate(-50%, -50%);white-space:nowrap;will-change:opacity;transition:opacity 300ms}.floorplan-plugin__room-size.svelte-12pzct5{opacity:0.45}");
@@ -1949,7 +1948,7 @@ class RoomLabel extends SvelteComponent {
1949
1948
  }
1950
1949
  }
1951
1950
 
1952
- /* src/floorplan/Components/RoomLabels/RoomLabels.svelte generated by Svelte v3.49.0 */
1951
+ /* src/floorplan/Components/RoomLabels/RoomLabels.svelte generated by Svelte v3.50.1 */
1953
1952
 
1954
1953
  function add_css$i(target) {
1955
1954
  append_styles(target, "svelte-13xux0b", ".floorplan-plugin__room-labels.svelte-13xux0b{width:100%;height:100%;position:absolute;left:0;top:0;z-index:20;pointer-events:none}");
@@ -2231,7 +2230,7 @@ class RoomLabels extends SvelteComponent {
2231
2230
  }
2232
2231
  }
2233
2232
 
2234
- /* src/floorplan/Components/RuleLabels/RuleItem.svelte generated by Svelte v3.49.0 */
2233
+ /* src/floorplan/Components/RuleLabels/RuleItem.svelte generated by Svelte v3.50.1 */
2235
2234
 
2236
2235
  function add_css$h(target) {
2237
2236
  append_styles(target, "svelte-xt7p1v", ".floorplan-plugin__rule-labels.svelte-xt7p1v.svelte-xt7p1v{position:absolute;display:flex}.floorplan-plugin__rule-labels--top.svelte-xt7p1v.svelte-xt7p1v{left:0;top:-1.25rem}.floorplan-plugin__rule-labels--bottom.svelte-xt7p1v.svelte-xt7p1v{left:0;bottom:-1.25rem}.floorplan-plugin__rule-labels--left.svelte-xt7p1v.svelte-xt7p1v{top:0;left:-1.25rem}.floorplan-plugin__rule-labels--right.svelte-xt7p1v.svelte-xt7p1v{top:0;right:-1.25rem}.floorplan-plugin__rule-line.svelte-xt7p1v.svelte-xt7p1v{background:#fff;opacity:0.05;width:100%;height:100%}.floorplan-plugin__rule-scale-wrapper.svelte-xt7p1v.svelte-xt7p1v{position:absolute;width:0.3125rem;height:100%;left:50%;top:0;transform:translateX(-50%)}.floorplan-plugin__rule-labels.is-row.svelte-xt7p1v .floorplan-plugin__rule-scale-wrapper.svelte-xt7p1v{width:100%;height:0.3125rem;top:50%;left:0;transform:translateY(-50%)}.floorplan-plugin__rule-scale.svelte-xt7p1v.svelte-xt7p1v{position:absolute;background:#fff;opacity:0.05;width:100%;height:0.0625rem}.floorplan-plugin__rule-labels.is-row.svelte-xt7p1v .floorplan-plugin__rule-scale.svelte-xt7p1v{width:0.0625rem;height:100%}.floorplan-plugin__rule-text-wrapper.svelte-xt7p1v.svelte-xt7p1v{position:absolute}.floorplan-plugin__rule-labels--top.svelte-xt7p1v .floorplan-plugin__rule-text-wrapper.svelte-xt7p1v{width:100%;height:0;top:0.625rem}.floorplan-plugin__rule-labels--bottom.svelte-xt7p1v .floorplan-plugin__rule-text-wrapper.svelte-xt7p1v{width:100%;height:0;bottom:0.625rem}.floorplan-plugin__rule-labels--left.svelte-xt7p1v .floorplan-plugin__rule-text-wrapper.svelte-xt7p1v{width:0;height:100%;left:0.625rem}.floorplan-plugin__rule-labels--right.svelte-xt7p1v .floorplan-plugin__rule-text-wrapper.svelte-xt7p1v{width:0;height:100%;right:0.625rem}.floorplan-plugin__rule-text-item.svelte-xt7p1v.svelte-xt7p1v{width:0;height:0;position:absolute;transform:rotate(90deg)}.floorplan-plugin__rule-labels.is-row.svelte-xt7p1v .floorplan-plugin__rule-text-item.svelte-xt7p1v{transform:rotate(0)}.floorplan-plugin__rule-text.svelte-xt7p1v.svelte-xt7p1v{width:-webkit-max-content;width:-moz-max-content;width:max-content;transform:translate(-50%, -50%);font-size:0.625rem;color:#fff;opacity:0.2}");
@@ -2495,7 +2494,7 @@ class RuleItem extends SvelteComponent {
2495
2494
  }
2496
2495
  }
2497
2496
 
2498
- /* src/floorplan/Components/RuleLabels/RuleLabels.svelte generated by Svelte v3.49.0 */
2497
+ /* src/floorplan/Components/RuleLabels/RuleLabels.svelte generated by Svelte v3.50.1 */
2499
2498
 
2500
2499
  function add_css$g(target) {
2501
2500
  append_styles(target, "svelte-1mzj9p3", ".floorplan-plugin__rule-labels-wrapper.svelte-1mzj9p3{position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);pointer-events:none}");
@@ -2789,7 +2788,7 @@ function getFloorIndexFromModelPosition(position, five) {
2789
2788
  return floorIndex;
2790
2789
  }
2791
2790
 
2792
- /* src/floorplan/Components/RoomMaterials/RoomMaterial_0.svelte generated by Svelte v3.49.0 */
2791
+ /* src/floorplan/Components/RoomMaterials/RoomMaterial_0.svelte generated by Svelte v3.50.1 */
2793
2792
 
2794
2793
  function create_fragment$k(ctx) {
2795
2794
  let path_1;
@@ -2840,7 +2839,7 @@ class RoomMaterial_0 extends SvelteComponent {
2840
2839
  }
2841
2840
  }
2842
2841
 
2843
- /* src/floorplan/Components/RoomMaterials/RoomMaterial_1.svelte generated by Svelte v3.49.0 */
2842
+ /* src/floorplan/Components/RoomMaterials/RoomMaterial_1.svelte generated by Svelte v3.50.1 */
2844
2843
 
2845
2844
  function create_fragment$j(ctx) {
2846
2845
  let defs;
@@ -2929,7 +2928,7 @@ class RoomMaterial_1 extends SvelteComponent {
2929
2928
  }
2930
2929
  }
2931
2930
 
2932
- /* src/floorplan/Components/RoomMaterials/RoomMaterial_2.svelte generated by Svelte v3.49.0 */
2931
+ /* src/floorplan/Components/RoomMaterials/RoomMaterial_2.svelte generated by Svelte v3.50.1 */
2933
2932
 
2934
2933
  function create_fragment$i(ctx) {
2935
2934
  let defs;
@@ -3056,7 +3055,7 @@ class RoomMaterial_2 extends SvelteComponent {
3056
3055
  }
3057
3056
  }
3058
3057
 
3059
- /* src/floorplan/Components/RoomMaterials/RoomMaterial.svelte generated by Svelte v3.49.0 */
3058
+ /* src/floorplan/Components/RoomMaterials/RoomMaterial.svelte generated by Svelte v3.50.1 */
3060
3059
 
3061
3060
  function add_css$f(target) {
3062
3061
  append_styles(target, "svelte-1dykexu", ".floorplan-plugin__room-material.svelte-1dykexu{position:absolute;left:0;top:0;width:100%;height:100%}svg.svelte-1dykexu{position:absolute;left:0;top:0;width:100%;height:100%;overflow:visible}");
@@ -3361,7 +3360,7 @@ class RoomMaterial extends SvelteComponent {
3361
3360
  }
3362
3361
  }
3363
3362
 
3364
- /* src/floorplan/Components/RoomHighlight/Room.svelte generated by Svelte v3.49.0 */
3363
+ /* src/floorplan/Components/RoomHighlight/Room.svelte generated by Svelte v3.50.1 */
3365
3364
 
3366
3365
  function add_css$e(target) {
3367
3366
  append_styles(target, "svelte-19uvvss", "path.svelte-19uvvss{opacity:0}path.svelte-19uvvss:hover{opacity:0.1}");
@@ -3451,7 +3450,7 @@ class Room extends SvelteComponent {
3451
3450
  }
3452
3451
  }
3453
3452
 
3454
- /* src/floorplan/Components/RoomHighlight/RoomHighlight.svelte generated by Svelte v3.49.0 */
3453
+ /* src/floorplan/Components/RoomHighlight/RoomHighlight.svelte generated by Svelte v3.50.1 */
3455
3454
 
3456
3455
  function add_css$d(target) {
3457
3456
  append_styles(target, "svelte-1kqo6e4", ".floorplan-plugin__room-highlight.svelte-1kqo6e4{position:absolute;width:100%;height:100%}svg.svelte-1kqo6e4{width:100%;height:100%;overflow:visible}");
@@ -3639,7 +3638,7 @@ class RoomHighlight extends SvelteComponent {
3639
3638
  }
3640
3639
  }
3641
3640
 
3642
- /* src/floorplan/Components/CurrentFloor.svelte generated by Svelte v3.49.0 */
3641
+ /* src/floorplan/Components/CurrentFloor.svelte generated by Svelte v3.50.1 */
3643
3642
 
3644
3643
  function add_css$c(target) {
3645
3644
  append_styles(target, "svelte-bl8zrz", ".floorplan-plugin__floor.svelte-bl8zrz{position:absolute;left:0;top:0;width:100%;height:100%;opacity:0;pointer-events:none}.floorplan-plugin__floor--is-current.svelte-bl8zrz{opacity:1;pointer-events:auto}");
@@ -4078,7 +4077,7 @@ class CurrentFloor$1 extends SvelteComponent {
4078
4077
  }
4079
4078
  }
4080
4079
 
4081
- /* src/floorplan/Components/Main.svelte generated by Svelte v3.49.0 */
4080
+ /* src/floorplan/Components/Main.svelte generated by Svelte v3.50.1 */
4082
4081
 
4083
4082
  function add_css$b(target) {
4084
4083
  append_styles(target, "svelte-86bqav", ".floorplan-main.svelte-86bqav{width:100%;height:100%;pointer-events:none}");
@@ -6705,7 +6704,7 @@ function throttle(func, wait = 200) {
6705
6704
  };
6706
6705
  }
6707
6706
 
6708
- /* src/floorplan/PanoFloorplanRadarPlugin/Components/Camera.svelte generated by Svelte v3.49.0 */
6707
+ /* src/floorplan/PanoFloorplanRadarPlugin/Components/Camera.svelte generated by Svelte v3.50.1 */
6709
6708
 
6710
6709
  function add_css$a(target) {
6711
6710
  append_styles(target, "svelte-1ty3s4p", ".plugin-radar__camera-wrapper.svelte-1ty3s4p{width:100%;height:100%;position:absolute;pointer-events:none}.plugin-radar__camera-position.svelte-1ty3s4p{position:absolute;left:0;top:0;width:0;height:0;transform:none;pointer-events:none;transition:transform 1s linear}.plugin-radar__camera-rotate.svelte-1ty3s4p{position:absolute;left:-0.78125rem;top:-0.78125rem;width:0.88542rem;height:0.88542rem;transform-origin:0.78125rem 0.78125rem;transform:rotate(45deg);background-repeat:no-repeat;background-size:100%}");
@@ -6855,7 +6854,7 @@ class Camera extends SvelteComponent {
6855
6854
  }
6856
6855
  }
6857
6856
 
6858
- /* src/floorplan/PanoFloorplanRadarPlugin/Components/CurrentFloor/ExtraObjects.svelte generated by Svelte v3.49.0 */
6857
+ /* src/floorplan/PanoFloorplanRadarPlugin/Components/CurrentFloor/ExtraObjects.svelte generated by Svelte v3.50.1 */
6859
6858
 
6860
6859
  function add_css$9(target) {
6861
6860
  append_styles(target, "svelte-1i87fz7", ".plugin-pano-floorplan__extra-objects.svelte-1i87fz7{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.plugin-pano-floorplan__extra-object-item--position.svelte-1i87fz7{position:absolute;width:0;height:0}.plugin-pano-floorplan__extra-object-item.svelte-1i87fz7{transform:translate(-50%, -50%)}");
@@ -6992,7 +6991,7 @@ class ExtraObjects extends SvelteComponent {
6992
6991
  }
6993
6992
  }
6994
6993
 
6995
- /* src/floorplan/PanoFloorplanRadarPlugin/Components/CurrentFloor/CurrentFloor.svelte generated by Svelte v3.49.0 */
6994
+ /* src/floorplan/PanoFloorplanRadarPlugin/Components/CurrentFloor/CurrentFloor.svelte generated by Svelte v3.50.1 */
6996
6995
 
6997
6996
  function create_if_block$4(ctx) {
6998
6997
  let highlight;
@@ -7219,7 +7218,7 @@ class CurrentFloor extends SvelteComponent {
7219
7218
  }
7220
7219
  }
7221
7220
 
7222
- /* src/floorplan/PanoFloorplanRadarPlugin/Components/Main.svelte generated by Svelte v3.49.0 */
7221
+ /* src/floorplan/PanoFloorplanRadarPlugin/Components/Main.svelte generated by Svelte v3.50.1 */
7223
7222
 
7224
7223
  function add_css$8(target) {
7225
7224
  append_styles(target, "svelte-1mvqyqq", ".plugin-floorplan-radar.svelte-1mvqyqq{width:100%;height:100%;display:flex;justify-content:center;align-items:center}.plugin-floorplan-radar-container.svelte-1mvqyqq{position:relative}");
@@ -9022,7 +9021,7 @@ const PanoRulerPlugin = (five, params) => {
9022
9021
  };
9023
9022
  };
9024
9023
 
9025
- /* src/PanoRulerProPlugin/RulerItem.svelte generated by Svelte v3.49.0 */
9024
+ /* src/PanoRulerProPlugin/RulerItem.svelte generated by Svelte v3.50.1 */
9026
9025
 
9027
9026
  function add_css$7(target) {
9028
9027
  append_styles(target, "svelte-qy4ud2", ".PanoRulerPlugin-rule-line.svelte-qy4ud2.svelte-qy4ud2{position:absolute;transform-origin:left 0.0625rem;width:0;height:0.125rem;pointer-events:none}.PanoRulerPlugin-rule-line.svelte-qy4ud2.svelte-qy4ud2::after{content:'';position:absolute;left:-0.125rem;top:-0.1rem;width:0.25rem;height:0.25rem;border-radius:50%;background:#fff;z-index:1;-webkit-animation:svelte-qy4ud2-viewport-rule-point 0.1s 1s;animation:svelte-qy4ud2-viewport-rule-point 0.1s 1s;-webkit-animation-fill-mode:both;animation-fill-mode:both}.PanoRulerPlugin-rule-line.svelte-qy4ud2.svelte-qy4ud2::before{content:'';position:absolute;right:-0.125rem;top:-0.1rem;width:0.25rem;height:0.25rem;border-radius:50%;background:#fff;z-index:1;-webkit-animation:svelte-qy4ud2-viewport-rule-point 0.1s 1.5s;animation:svelte-qy4ud2-viewport-rule-point 0.1s 1.5s;-webkit-animation-fill-mode:both;animation-fill-mode:both}.PanoRulerPlugin-rule-line.svelte-qy4ud2 em.svelte-qy4ud2{display:block;height:0.0625rem;-webkit-animation:svelte-qy4ud2-viewport-rule-line 0.5s ease 1s;animation:svelte-qy4ud2-viewport-rule-line 0.5s ease 1s;-webkit-animation-fill-mode:both;animation-fill-mode:both;box-shadow:0 0 0.25rem rgb(0 0 0 / 40%);position:relative}.rule-mixed-line.svelte-qy4ud2.svelte-qy4ud2{display:flex;height:0.0625rem;-webkit-animation:svelte-qy4ud2-viewport-rule-line 0.5s ease 1s;animation:svelte-qy4ud2-viewport-rule-line 0.5s ease 1s;-webkit-animation-fill-mode:both;animation-fill-mode:both;align-items:center}.em-solid.svelte-qy4ud2.svelte-qy4ud2{height:100%;background:#ffffff}.em-dotted.svelte-qy4ud2.svelte-qy4ud2{height:0.125rem;background:var(--background-image);background-position:center;background-repeat:repeat}.PanoRulerPlugin-rule-label.svelte-qy4ud2.svelte-qy4ud2{position:absolute;width:0;height:0;top:0.0625rem;pointer-events:none}.PanoRulerPlugin-rule-label-name.svelte-qy4ud2.svelte-qy4ud2{position:absolute;padding:0.1875rem 0.375rem;background:rgba(195, 195, 195, 0.3);backdrop-filter:blur(0.25rem);-webkit-backdrop-filter:blur(0.25rem);border-radius:6.25rem;border:0.0625rem solid rgba(255, 255, 255, 0.6);white-space:nowrap;overflow:hidden;color:#ffffff;font-weight:500;font-size:0.75rem;line-height:1;-webkit-animation:svelte-qy4ud2-viewport-rule-label 0.25s ease 1s;animation:svelte-qy4ud2-viewport-rule-label 0.25s ease 1s;-webkit-animation-fill-mode:both;animation-fill-mode:both;box-shadow:inset 0 0 0.625rem 0 rgba(255, 255, 255, 0.3)}@-webkit-keyframes svelte-qy4ud2-viewport-rule-line{0%{width:0%}100%{width:100%}}@keyframes svelte-qy4ud2-viewport-rule-line{0%{width:0%}100%{width:100%}}@-webkit-keyframes svelte-qy4ud2-viewport-rule-label{0%{opacity:0;transform:scaleX(0)}100%{opacity:1;transform:translate(-50%, -50%) scaleX(1)}}@keyframes svelte-qy4ud2-viewport-rule-label{0%{opacity:0;transform:scaleX(0)}100%{opacity:1;transform:translate(-50%, -50%) scaleX(1)}}@-webkit-keyframes svelte-qy4ud2-viewport-rule-point{0%{transform:scaleX(0)}100%{transform:scaleX(1)}}@keyframes svelte-qy4ud2-viewport-rule-point{0%{transform:scaleX(0)}100%{transform:scaleX(1)}}");
@@ -9315,7 +9314,7 @@ class RulerItem extends SvelteComponent {
9315
9314
  }
9316
9315
  }
9317
9316
 
9318
- /* src/PanoRulerProPlugin/RulerItems.svelte generated by Svelte v3.49.0 */
9317
+ /* src/PanoRulerProPlugin/RulerItems.svelte generated by Svelte v3.50.1 */
9319
9318
 
9320
9319
  function get_each_context$3(ctx, list, i) {
9321
9320
  const child_ctx = ctx.slice();
@@ -14393,7 +14392,7 @@ const PanoMeasurePlugin = function PanoMeasurePlugin(five, params) {
14393
14392
 
14394
14393
  const currentTarget = writable(null);
14395
14394
 
14396
- /* src/PanoSpatialTagPlugin/Components/origins.svelte generated by Svelte v3.49.0 */
14395
+ /* src/PanoSpatialTagPlugin/Components/origins.svelte generated by Svelte v3.50.1 */
14397
14396
 
14398
14397
  function add_css$6(target) {
14399
14398
  append_styles(target, "svelte-1kuu68s", ".PanoSpatialTagPlugin__tag-origin.svelte-1kuu68s{position:absolute;width:0.5rem;height:0.5rem;border-radius:50%;background:#fff;box-shadow:0 0 .6rem #fff;transform:translate(-50%, -50%) scale(1);transform-origin:center center;-webkit-animation:svelte-1kuu68s-PanoSpatialTagPlugin__tag-origin 1.2s forwards;animation:svelte-1kuu68s-PanoSpatialTagPlugin__tag-origin 1.2s forwards;pointer-events:auto}.PanoSpatialTagPlugin__tag-origin.svelte-1kuu68s:after{content:'';position:absolute;top:50%;height:50%;width:2rem;height:2rem;transform:translate(-50%, -50%)}.PanoSpatialTagPlugin__tag-origin-destroy.svelte-1kuu68s{transform:translate(-50%, -50%) scale(0.6);-webkit-animation:svelte-1kuu68s-PanoSpatialTagPlugin__tag-origin-destroy 1.2s forwards .7s;animation:svelte-1kuu68s-PanoSpatialTagPlugin__tag-origin-destroy 1.2s forwards .7s}@-webkit-keyframes svelte-1kuu68s-PanoSpatialTagPlugin__tag-origin{0%{transform:translate(-50%, -50%) scale(1);opacity:0}100%{transform:translate(-50%, -50%) scale(0.6);opacity:1 }}@keyframes svelte-1kuu68s-PanoSpatialTagPlugin__tag-origin{0%{transform:translate(-50%, -50%) scale(1);opacity:0}100%{transform:translate(-50%, -50%) scale(0.6);opacity:1 }}@-webkit-keyframes svelte-1kuu68s-PanoSpatialTagPlugin__tag-origin-destroy{0%{transform:translate(-50%, -50%) scale(0.6);opacity:1}10%{transform:translate(-50%, -50%) scale(1);opacity:0.9}100%{transform:translate(-50%, -50%) scale(1);opacity:0}}@keyframes svelte-1kuu68s-PanoSpatialTagPlugin__tag-origin-destroy{0%{transform:translate(-50%, -50%) scale(0.6);opacity:1}10%{transform:translate(-50%, -50%) scale(1);opacity:0.9}100%{transform:translate(-50%, -50%) scale(1);opacity:0}}");
@@ -14542,7 +14541,7 @@ class Origins extends SvelteComponent {
14542
14541
  }
14543
14542
  }
14544
14543
 
14545
- /* src/PanoSpatialTagPlugin/Components/tag.svelte generated by Svelte v3.49.0 */
14544
+ /* src/PanoSpatialTagPlugin/Components/tag.svelte generated by Svelte v3.50.1 */
14546
14545
 
14547
14546
  function add_css$5(target) {
14548
14547
  append_styles(target, "svelte-eb8bdm", ".PanoSpatialTagPlugin__tag-x.svelte-eb8bdm.svelte-eb8bdm{position:absolute;top:0;left:0;display:block;white-space:nowrap;box-sizing:border-box;width:25rem;height:14rem;color:#FFF;transform:translate(0, -100%);transition:height .5s linear}.PanoSpatialTagPlugin__tag-shadow.svelte-eb8bdm.svelte-eb8bdm{content:'';position:absolute;width:30rem;height:30rem;top:-15rem;left:-15rem;z-index:-1;opacity:0;transition:opacity .8s .6s;background:url('https://vrlab-image4.ljcdn.com/release/web/PanoSpatialTagPlugin__blur.png');background-size:30rem 30rem}.PanoSpatialTagPlugin__tag-line.svelte-eb8bdm.svelte-eb8bdm{position:absolute;left:-1rem;width:2rem;height:100%;overflow:hidden}.PanoSpatialTagPlugin__tag-flagpole.svelte-eb8bdm.svelte-eb8bdm{position:absolute;top:0;left:1rem;height:calc(100% - 1.5rem);width:.15rem;background:linear-gradient(to bottom, rgba(255, 255, 255, 1), rgba(255, 255, 255, .1));box-shadow:0 .1rem .5rem rgba(0, 0, 0, .2);opacity:0;transform:translate(-50%, 60%) scaleY(0);transition:transform .4s cubic-bezier(.44,.44,.74,.98) , opacity .4s cubic-bezier(.44,.44,.74,.98), width .5s linear, height .5s linear ;transform-origin:center bottom}.PanoSpatialTagPlugin__tag-line1.svelte-eb8bdm.svelte-eb8bdm{position:absolute;top:0;left:0.3rem;height:1.8rem;width:.1rem;background:#fff;opacity:0;transform:translate(-50%, 200%) scaleY(0);transform-origin:center top}.PanoSpatialTagPlugin__tag-line2.svelte-eb8bdm.svelte-eb8bdm{position:absolute;top:0;left:0.5rem;height:1.8rem;width:.1rem;background:#fff;opacity:0;transform:translate(-50%, 200%) scaleY(0);transform-origin:center top}.PanoSpatialTagPlugin__tag-show.svelte-eb8bdm .PanoSpatialTagPlugin__tag-line1.svelte-eb8bdm{-webkit-animation:svelte-eb8bdm-PanoSpatialTagPlugin__tag-line1 linear .5s forwards .45s;animation:svelte-eb8bdm-PanoSpatialTagPlugin__tag-line1 linear .5s forwards .45s}.PanoSpatialTagPlugin__tag-show.svelte-eb8bdm .PanoSpatialTagPlugin__tag-line2.svelte-eb8bdm{-webkit-animation:svelte-eb8bdm-PanoSpatialTagPlugin__tag-line2 linear .5s forwards .65s;animation:svelte-eb8bdm-PanoSpatialTagPlugin__tag-line2 linear .5s forwards .65s}.PanoSpatialTagPlugin__tag-x.PanoSpatialTagPlugin__tag-upside-down.svelte-eb8bdm.svelte-eb8bdm{transform:translate(0, 0)}.PanoSpatialTagPlugin__tag-upside-down.svelte-eb8bdm .PanoSpatialTagPlugin__tag-line.svelte-eb8bdm{transform:scaleY(-1)}.PanoSpatialTagPlugin__tag-animate.svelte-eb8bdm.svelte-eb8bdm{position:relative;height:100%;overflow:hidden;transform-origin:left top;transition:transform .5s linear}.PanoSpatialTagPlugin__tag-upside-down.svelte-eb8bdm .PanoSpatialTagPlugin__tag-animate.svelte-eb8bdm{transform-origin:left bottom}.PanoSpatialTagPlugin__tag-content.svelte-eb8bdm.svelte-eb8bdm{position:absolute;display:inline-block;transform:translate(-100%, 0);transition:transform .9s cubic-bezier(0,.65,.16,1.08) .6s;padding-left:.5rem;font-size:1rem}.PanoSpatialTagPlugin__tag-upside-down.svelte-eb8bdm .PanoSpatialTagPlugin__tag-content.svelte-eb8bdm{bottom:0}.PanoSpatialTagPlugin__tag-show.svelte-eb8bdm .PanoSpatialTagPlugin__tag-flagpole.svelte-eb8bdm{opacity:1;transform:translate(-50%, 0) scaleY(1)}.PanoSpatialTagPlugin__tag-upside-down.svelte-eb8bdm .PanoSpatialTagPlugin__tag-shadow.svelte-eb8bdm{top:unset;bottom:-15rem}.PanoSpatialTagPlugin__tag-show.svelte-eb8bdm .PanoSpatialTagPlugin__tag-shadow.svelte-eb8bdm{opacity:.32}.PanoSpatialTagPlugin__tag-show.svelte-eb8bdm .PanoSpatialTagPlugin__tag-content.svelte-eb8bdm{transform:translate(0, 0)}.PanoSpatialTagPlugin__tag-hide.svelte-eb8bdm .PanoSpatialTagPlugin__tag-flagpole.svelte-eb8bdm{opacity:0;transform:translate(-50%, 60%) scaleY(0);transition:transform .5s .55s, opacity .4s .55s}.PanoSpatialTagPlugin__tag-hide.svelte-eb8bdm .PanoSpatialTagPlugin__tag-shadow.svelte-eb8bdm{opacity:0;transition:opacity .8s}.PanoSpatialTagPlugin__tag-hide.svelte-eb8bdm .PanoSpatialTagPlugin__tag-content.svelte-eb8bdm{transform:translate(-100%, 0);transition:transform .6s cubic-bezier(.53,.06,.88,.59)}.PanoSpatialTagPlugin__tag-hide.svelte-eb8bdm .PanoSpatialTagPlugin__tag-content .svelte-eb8bdm{pointer-events:none}.PanoSpatialTagPlugin__tag-hide.svelte-eb8bdm .PanoSpatialTagPlugin__tag-line1.svelte-eb8bdm{opacity:0.5;transform:translate(-50%, 10%) scaleY(0);-webkit-animation:svelte-eb8bdm-PanoSpatialTagPlugin__tag-line1-hide linear .28s forwards .3s;animation:svelte-eb8bdm-PanoSpatialTagPlugin__tag-line1-hide linear .28s forwards .3s}.PanoSpatialTagPlugin__tag-hide.svelte-eb8bdm .PanoSpatialTagPlugin__tag-line2.svelte-eb8bdm{opacity:0.5;transform:translate(-50%, 0) scaleY(0);-webkit-animation:svelte-eb8bdm-PanoSpatialTagPlugin__tag-line2-hide linear .28s forwards .45s;animation:svelte-eb8bdm-PanoSpatialTagPlugin__tag-line2-hide linear .28s forwards .45s}@-webkit-keyframes svelte-eb8bdm-PanoSpatialTagPlugin__tag-line1{0%{opacity:0;transform:translate(-50%, 250%) scaleY(1)}50%{opacity:0.5;transform:translate(-50%, 135%) scaleY(1)}100%{opacity:0.5;transform:translate(-50%, 20%) scaleY(0)}}@keyframes svelte-eb8bdm-PanoSpatialTagPlugin__tag-line1{0%{opacity:0;transform:translate(-50%, 250%) scaleY(1)}50%{opacity:0.5;transform:translate(-50%, 135%) scaleY(1)}100%{opacity:0.5;transform:translate(-50%, 20%) scaleY(0)}}@-webkit-keyframes svelte-eb8bdm-PanoSpatialTagPlugin__tag-line2{0%{opacity:0;transform:translate(-50%, 250%) scaleY(1)}50%{opacity:0.5;transform:translate(-50%, 125%) scaleY(1)}100%{opacity:0.5;transform:translate(-50%, 0) scaleY(0)}}@keyframes svelte-eb8bdm-PanoSpatialTagPlugin__tag-line2{0%{opacity:0;transform:translate(-50%, 250%) scaleY(1)}50%{opacity:0.5;transform:translate(-50%, 125%) scaleY(1)}100%{opacity:0.5;transform:translate(-50%, 0) scaleY(0)}}@-webkit-keyframes svelte-eb8bdm-PanoSpatialTagPlugin__tag-line1-hide{0%{opacity:0.5;transform:translate(-50%, 10%) scaleY(0)}50%{opacity:0.2;transform:translate(-50%, 105%) scaleY(1)}100%{opacity:0;transform:translate(-50%, 200%) scaleY(0)}}@keyframes svelte-eb8bdm-PanoSpatialTagPlugin__tag-line1-hide{0%{opacity:0.5;transform:translate(-50%, 10%) scaleY(0)}50%{opacity:0.2;transform:translate(-50%, 105%) scaleY(1)}100%{opacity:0;transform:translate(-50%, 200%) scaleY(0)}}@-webkit-keyframes svelte-eb8bdm-PanoSpatialTagPlugin__tag-line2-hide{0%{opacity:0.5;transform:translate(-50%, 0) scaleY(0)}50%{opacity:0.2;transform:translate(-50%, 100%) scaleY(1)}100%{opacity:0;transform:translate(-50%, 200%) scaleY(0)}}@keyframes svelte-eb8bdm-PanoSpatialTagPlugin__tag-line2-hide{0%{opacity:0.5;transform:translate(-50%, 0) scaleY(0)}50%{opacity:0.2;transform:translate(-50%, 100%) scaleY(1)}100%{opacity:0;transform:translate(-50%, 200%) scaleY(0)}}");
@@ -15468,7 +15467,7 @@ var DISPLAY_STRATEGY_TYPE;
15468
15467
  DISPLAY_STRATEGY_TYPE["EXTRA_LARGE"] = "x-large";
15469
15468
  })(DISPLAY_STRATEGY_TYPE || (DISPLAY_STRATEGY_TYPE = {}));
15470
15469
 
15471
- /* src/ModelItemLabelPlugin/ItemLabelItem.svelte generated by Svelte v3.49.0 */
15470
+ /* src/ModelItemLabelPlugin/ItemLabelItem.svelte generated by Svelte v3.50.1 */
15472
15471
 
15473
15472
  function add_css$4(target) {
15474
15473
  append_styles(target, "svelte-n1c1kg", ".item-label-item.svelte-n1c1kg{position:absolute;z-index:0;transform:none;cursor:pointer;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;opacity:0}.item-label-item.visible.svelte-n1c1kg{opacity:1;-webkit-animation:svelte-n1c1kg-fadeIn .3s ease-in;animation:svelte-n1c1kg-fadeIn .3s ease-in}.item-label-item__text-wrap.svelte-n1c1kg::before{content:'';position:absolute;width:100%;height:100%;background-color:rgba(0, 0, 0, .3);filter:blur(0.83333rem);z-index:-1}.item-label-item__text-wrap.svelte-n1c1kg{padding:0.3125rem 0.3125rem 0;position:absolute;height:1.04167rem;pointer-events:all;background-size:100% 100%;background-repeat:no-repeat;white-space:nowrap;line-height:0.52083rem;font-size:0.57292rem;font-weight:bold;color:#FFEAC0;transform:translate(-50%, 0);display:flex;justify-content:center;align-items:center}.item-label-item__text.svelte-n1c1kg{padding-bottom:0.20833rem;border-top:0 solid;border-left:0 solid;border-right:0 solid;border-bottom:1px solid;-o-border-image:linear-gradient(to right, rgba(234, 208, 154, 0), rgba(234, 208, 154, 100), rgba(234, 208, 154, 0)) 4.5 1 4.5;border-image:linear-gradient(to right, rgba(234, 208, 154, 0), rgba(234, 208, 154, 100), rgba(234, 208, 154, 0)) 4.5 1 4.5}.item-label-item__bar.svelte-n1c1kg{position:absolute;bottom:0;width:1px;background-image:linear-gradient(to bottom, rgba(234, 208, 154, 0), rgba(234, 208, 154, 1))}@-webkit-keyframes svelte-n1c1kg-fadeIn{from{opacity:0\n }to{opacity:1\n }}@keyframes svelte-n1c1kg-fadeIn{from{opacity:0\n }to{opacity:1\n }}");
@@ -15594,7 +15593,7 @@ function debounce(func, wait = 200) {
15594
15593
  };
15595
15594
  }
15596
15595
 
15597
- /* src/ModelItemLabelPlugin/ItemLabelComponent.svelte generated by Svelte v3.49.0 */
15596
+ /* src/ModelItemLabelPlugin/ItemLabelComponent.svelte generated by Svelte v3.50.1 */
15598
15597
 
15599
15598
  function add_css$3(target) {
15600
15599
  append_styles(target, "svelte-gk8s47", ".item-labels-container.svelte-gk8s47{width:100%;height:100%;position:relative}");
@@ -16359,7 +16358,7 @@ var ITEM_LABEL_PLUGIN_DISPLAY_STRATEGY_TYPE;
16359
16358
  ITEM_LABEL_PLUGIN_DISPLAY_STRATEGY_TYPE["EXTRA_LARGE"] = "x-large";
16360
16359
  })(ITEM_LABEL_PLUGIN_DISPLAY_STRATEGY_TYPE || (ITEM_LABEL_PLUGIN_DISPLAY_STRATEGY_TYPE = {}));
16361
16360
 
16362
- /* src/ItemLabelPlugin/ItemLabelItem.svelte generated by Svelte v3.49.0 */
16361
+ /* src/ItemLabelPlugin/ItemLabelItem.svelte generated by Svelte v3.50.1 */
16363
16362
 
16364
16363
  function add_css$2(target) {
16365
16364
  append_styles(target, "svelte-1mppr0a", ".item-label-item.svelte-1mppr0a.svelte-1mppr0a{position:absolute;z-index:0;transform:none;cursor:pointer;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-animation:svelte-1mppr0a-fadeIn .3s ease-in;animation:svelte-1mppr0a-fadeIn .3s ease-in}.item-label-item.fold.svelte-1mppr0a>.item-label-item__text-wrap.svelte-1mppr0a{visibility:hidden}.item-label-item.fold.svelte-1mppr0a>.item-label-item__bar.anchor.svelte-1mppr0a{visibility:hidden}.item-label-item.fold.svelte-1mppr0a>.item-label-item__bar.anchor.svelte-1mppr0a:after{visibility:visible}.item-label-item__text-wrap.svelte-1mppr0a.svelte-1mppr0a{height:-webkit-fit-content;height:-moz-fit-content;height:fit-content;padding:0.625rem 1.04167rem 0.625rem 0.625rem;position:absolute;width:-webkit-max-content;width:-moz-max-content;width:max-content;max-width:24.63542rem;min-height:4.79167rem;background-image:linear-gradient(269deg, rgba(0, 0, 0, 0.50) 0%, rgba(0, 0, 0, 0.60) 49%, rgba(31, 38, 46, 0.70) 100%);border:1.5px solid rgba(255, 255, 255, .65);border-radius:0.15625rem;color:white;transform:translate(-50%, 0);display:flex;justify-content:flex-start;align-items:center;box-sizing:border-box;overflow:hidden;pointer-events:all}.item-label-item__custom.svelte-1mppr0a.svelte-1mppr0a{padding:0;max-width:unset;min-height:unset;background-image:unset;border:0;border-radius:0}.icon-wrap.svelte-1mppr0a.svelte-1mppr0a{width:3.54167rem;height:100%;display:flex;justify-content:center;align-content:center}.icon.svelte-1mppr0a.svelte-1mppr0a{width:3.54167rem;height:3.54167rem;background-repeat:no-repeat;background-size:contain;background-position:center}.item-label-text.svelte-1mppr0a.svelte-1mppr0a{margin-left:0.625rem;padding-left:0.625rem;min-height:3.54167rem;height:auto;display:flex;flex-flow:column;justify-content:space-around;align-content:flex-start;border-left:solid rgba(255, 255, 255, .2) 1px;border-top:solid rgba(255, 255, 255, .2) 0;border-right:solid rgba(255, 255, 255, .2) 0;border-bottom:solid rgba(255, 255, 255, .2) 0;pointer-events:auto}.item-model.svelte-1mppr0a.svelte-1mppr0a{white-space:nowrap;font-size:1.14583rem;font-weight:bold;line-height:1.5625rem}.item-name.svelte-1mppr0a.svelte-1mppr0a{height:auto;word-wrap:break-word;word-break:break-all;font-size:1.04167rem;line-height:1.45833rem}.item-label-item__bar.svelte-1mppr0a.svelte-1mppr0a{position:absolute;bottom:0;width:0.15625rem;background-image:linear-gradient(to bottom, white, rgba(255, 255, 255, 0));box-shadow:0 2px 0.41667rem 0 rgba(0, 0, 0, 0.20);pointer-events:none}.item-label-item__bar.anchor.svelte-1mppr0a.svelte-1mppr0a:after{content:'';position:absolute;bottom:0;width:1.25rem;height:1.25rem;background-image:url(\"//vrlab-public.ljcdn.com/common/file/web/67e7a198-28c9-47dc-879b-507bd3ae600c.png \");background-position:center;background-size:contain;transform:translate(-0.54688rem, 50%)}@-webkit-keyframes svelte-1mppr0a-fadeIn{from{opacity:0\n }to{opacity:1\n }}@keyframes svelte-1mppr0a-fadeIn{from{opacity:0\n }to{opacity:1\n }}");
@@ -16708,7 +16707,7 @@ function transform2RenderData(data) {
16708
16707
  return data.map(label => (Object.assign({ observerIndex: undefined, visible: false, isFold: false }, label)));
16709
16708
  }
16710
16709
 
16711
- /* src/ItemLabelPlugin/ItemLabelComponent.svelte generated by Svelte v3.49.0 */
16710
+ /* src/ItemLabelPlugin/ItemLabelComponent.svelte generated by Svelte v3.50.1 */
16712
16711
 
16713
16712
  function add_css$1(target) {
16714
16713
  append_styles(target, "svelte-gk8s47", ".item-labels-container.svelte-gk8s47{width:100%;height:100%;position:relative}");
@@ -17452,7 +17451,7 @@ class BasePanoPluginController extends Controller$7 {
17452
17451
  }
17453
17452
  }
17454
17453
 
17455
- /* src/PanoDoorLabelPlugin/DoorLabelItem.svelte generated by Svelte v3.49.0 */
17454
+ /* src/PanoDoorLabelPlugin/DoorLabelItem.svelte generated by Svelte v3.50.1 */
17456
17455
 
17457
17456
  function add_css(target) {
17458
17457
  append_styles(target, "svelte-16kdbw2", ".plugin-DoorLabelPlugin-item.svelte-16kdbw2.svelte-16kdbw2{position:absolute;left:0;top:0;width:0;height:0;pointer-events:none;transition:opacity 0.3s ease}.plugin-DoorLabelPlugin-cnt.svelte-16kdbw2.svelte-16kdbw2{position:absolute;top:50%;left:50%;border-radius:2px;background:rgba(0, 0, 0, 0.35);line-height:0.625rem;padding:0.3125rem;white-space:nowrap;font-size:0.625rem;font-style:normal;color:white;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform ease 1s, background ease 0.3s, color ease 0.3s}.plugin-DoorLabelPlugin-cnt.svelte-16kdbw2.svelte-16kdbw2::after{content:\"\";display:block;position:absolute;top:-1px;left:-1px;bottom:-1px;right:-1px;border-radius:2px;border:1px solid rgba(0, 0, 0, 0);-o-border-image:url(\"//vrlab-image4.ljcdn.com/release/web/highlightCarouseal-border-image.14b51834.png\") 4;border-image:url(\"//vrlab-image4.ljcdn.com/release/web/highlightCarouseal-border-image.14b51834.png\") 4;transition:opacity ease 0.3s}.plugin-DoorLabelPlugin-cnt.svelte-16kdbw2.svelte-16kdbw2:active,.plugin-DoorLabelPlugin-cnt.svelte-16kdbw2.svelte-16kdbw2:focus{background:rgba(0, 0, 0, 0.5);color:rgba(255, 255, 255, 0.5)}.plugin-DoorLabelPlugin-icon.svelte-16kdbw2.svelte-16kdbw2{background:url(\"//vrlab-image4.ljcdn.com/release/web/DoorLabel-icon.de1304ae.svg\") no-repeat;background-size:100%;display:inline-block;width:0.52083rem;height:0.52083rem;margin-left:0.20833rem;transform-origin:center}.plugin-DoorLabelPlugin-cnt[data-camera-toward=forward].left.svelte-16kdbw2 .plugin-DoorLabelPlugin-icon.svelte-16kdbw2{transform:rotate(90deg)}.plugin-DoorLabelPlugin-cnt[data-camera-toward=forward].right.svelte-16kdbw2 .plugin-DoorLabelPlugin-txt.svelte-16kdbw2{order:1}.plugin-DoorLabelPlugin-cnt[data-camera-toward=forward].right.svelte-16kdbw2 .plugin-DoorLabelPlugin-icon.svelte-16kdbw2{transform:rotate(-90deg);margin-left:0;margin-right:0.20833rem;order:0}.plugin-DoorLabelPlugin-cnt[data-camera-toward=right].forward.svelte-16kdbw2 .plugin-DoorLabelPlugin-icon.svelte-16kdbw2{transform:rotate(90deg)}.plugin-DoorLabelPlugin-cnt[data-camera-toward=right].back.svelte-16kdbw2 .plugin-DoorLabelPlugin-txt.svelte-16kdbw2{order:1}.plugin-DoorLabelPlugin-cnt[data-camera-toward=right].back.svelte-16kdbw2 .plugin-DoorLabelPlugin-icon.svelte-16kdbw2{transform:rotate(-90deg);margin-left:0;margin-right:0.20833rem;order:0}.plugin-DoorLabelPlugin-cnt[data-camera-toward=left].back.svelte-16kdbw2 .plugin-DoorLabelPlugin-icon.svelte-16kdbw2{transform:rotate(90deg)}.plugin-DoorLabelPlugin-cnt[data-camera-toward=left].forward.svelte-16kdbw2 .plugin-DoorLabelPlugin-txt.svelte-16kdbw2{order:1}.plugin-DoorLabelPlugin-cnt[data-camera-toward=left].forward.svelte-16kdbw2 .plugin-DoorLabelPlugin-icon.svelte-16kdbw2{transform:rotate(-90deg);margin-left:0;margin-right:0.20833rem;order:0}.plugin-DoorLabelPlugin-cnt[data-camera-toward=back].right.svelte-16kdbw2 .plugin-DoorLabelPlugin-icon.svelte-16kdbw2{transform:rotate(90deg)}.plugin-DoorLabelPlugin-cnt[data-camera-toward=back].left.svelte-16kdbw2 .plugin-DoorLabelPlugin-txt.svelte-16kdbw2{order:1}.plugin-DoorLabelPlugin-cnt[data-camera-toward=back].left.svelte-16kdbw2 .plugin-DoorLabelPlugin-icon.svelte-16kdbw2{transform:rotate(-90deg);margin-left:0;margin-right:0.20833rem;order:0}.plugin-DoorLabelPlugin-cnt--customBrand.svelte-16kdbw2.svelte-16kdbw2{color:#f9eac1}.plugin-DoorLabelPlugin-cnt--customBrand.svelte-16kdbw2 .plugin-DoorLabelPlugin-icon.svelte-16kdbw2{background:url(\"//vrlab-image4.ljcdn.com/release/web/arrow.6e8ec00e.svg\") no-repeat}.plugin-DoorLabelPlugin-cnt--customBrand.svelte-16kdbw2.svelte-16kdbw2:active,.plugin-DoorLabelPlugin-cnt--customBrand.svelte-16kdbw2.svelte-16kdbw2:focus{background:rgba(0, 0, 0, 0.5);color:rgba(249, 234, 193, 0.5)}");
@@ -18085,6 +18084,193 @@ const PanoDoorLabelPlugin = (five) => {
18085
18084
  return new PanoDoorLabelPluginController(five);
18086
18085
  };
18087
18086
 
18087
+ var polylineMiterUtil = {};
18088
+
18089
+ var add_1 = add$1;
18090
+
18091
+ /**
18092
+ * Adds two vec2's
18093
+ *
18094
+ * @param {vec2} out the receiving vector
18095
+ * @param {vec2} a the first operand
18096
+ * @param {vec2} b the second operand
18097
+ * @returns {vec2} out
18098
+ */
18099
+ function add$1(out, a, b) {
18100
+ out[0] = a[0] + b[0];
18101
+ out[1] = a[1] + b[1];
18102
+ return out
18103
+ }
18104
+
18105
+ var set_1 = set$1;
18106
+
18107
+ /**
18108
+ * Set the components of a vec2 to the given values
18109
+ *
18110
+ * @param {vec2} out the receiving vector
18111
+ * @param {Number} x X component
18112
+ * @param {Number} y Y component
18113
+ * @returns {vec2} out
18114
+ */
18115
+ function set$1(out, x, y) {
18116
+ out[0] = x;
18117
+ out[1] = y;
18118
+ return out
18119
+ }
18120
+
18121
+ var normalize_1 = normalize$1;
18122
+
18123
+ /**
18124
+ * Normalize a vec2
18125
+ *
18126
+ * @param {vec2} out the receiving vector
18127
+ * @param {vec2} a vector to normalize
18128
+ * @returns {vec2} out
18129
+ */
18130
+ function normalize$1(out, a) {
18131
+ var x = a[0],
18132
+ y = a[1];
18133
+ var len = x*x + y*y;
18134
+ if (len > 0) {
18135
+ //TODO: evaluate use of glm_invsqrt here?
18136
+ len = 1 / Math.sqrt(len);
18137
+ out[0] = a[0] * len;
18138
+ out[1] = a[1] * len;
18139
+ }
18140
+ return out
18141
+ }
18142
+
18143
+ var subtract_1 = subtract$1;
18144
+
18145
+ /**
18146
+ * Subtracts vector b from vector a
18147
+ *
18148
+ * @param {vec2} out the receiving vector
18149
+ * @param {vec2} a the first operand
18150
+ * @param {vec2} b the second operand
18151
+ * @returns {vec2} out
18152
+ */
18153
+ function subtract$1(out, a, b) {
18154
+ out[0] = a[0] - b[0];
18155
+ out[1] = a[1] - b[1];
18156
+ return out
18157
+ }
18158
+
18159
+ var dot_1 = dot$1;
18160
+
18161
+ /**
18162
+ * Calculates the dot product of two vec2's
18163
+ *
18164
+ * @param {vec2} a the first operand
18165
+ * @param {vec2} b the second operand
18166
+ * @returns {Number} dot product of a and b
18167
+ */
18168
+ function dot$1(a, b) {
18169
+ return a[0] * b[0] + a[1] * b[1]
18170
+ }
18171
+
18172
+ var add = add_1;
18173
+ var set = set_1;
18174
+ var normalize = normalize_1;
18175
+ var subtract = subtract_1;
18176
+ var dot = dot_1;
18177
+
18178
+ var tmp = [0, 0];
18179
+
18180
+ polylineMiterUtil.computeMiter = function computeMiter(tangent, miter, lineA, lineB, halfThick) {
18181
+ //get tangent line
18182
+ add(tangent, lineA, lineB);
18183
+ normalize(tangent, tangent);
18184
+
18185
+ //get miter as a unit vector
18186
+ set(miter, -tangent[1], tangent[0]);
18187
+ set(tmp, -lineA[1], lineA[0]);
18188
+
18189
+ //get the necessary length of our miter
18190
+ return halfThick / dot(miter, tmp)
18191
+ };
18192
+
18193
+ polylineMiterUtil.normal = function normal(out, dir) {
18194
+ //get perpendicular
18195
+ set(out, -dir[1], dir[0]);
18196
+ return out
18197
+ };
18198
+
18199
+ polylineMiterUtil.direction = function direction(out, a, b) {
18200
+ //get unit dir of two lines
18201
+ subtract(out, a, b);
18202
+ normalize(out, out);
18203
+ return out
18204
+ };
18205
+
18206
+ var util = polylineMiterUtil;
18207
+
18208
+ var lineA = [0, 0];
18209
+ var lineB = [0, 0];
18210
+ var tangent = [0, 0];
18211
+ var miter = [0, 0];
18212
+
18213
+ var polylineNormals = function(points, closed) {
18214
+ var curNormal = null;
18215
+ var out = [];
18216
+ if (closed) {
18217
+ points = points.slice();
18218
+ points.push(points[0]);
18219
+ }
18220
+
18221
+ var total = points.length;
18222
+ for (var i=1; i<total; i++) {
18223
+ var last = points[i-1];
18224
+ var cur = points[i];
18225
+ var next = i<points.length-1 ? points[i+1] : null;
18226
+
18227
+ util.direction(lineA, cur, last);
18228
+ if (!curNormal) {
18229
+ curNormal = [0, 0];
18230
+ util.normal(curNormal, lineA);
18231
+ }
18232
+
18233
+ if (i === 1) //add initial normals
18234
+ addNext(out, curNormal, 1);
18235
+
18236
+ if (!next) { //no miter, simple segment
18237
+ util.normal(curNormal, lineA); //reset normal
18238
+ addNext(out, curNormal, 1);
18239
+ } else { //miter with last
18240
+ //get unit dir of next line
18241
+ util.direction(lineB, next, cur);
18242
+
18243
+ //stores tangent & miter
18244
+ var miterLen = util.computeMiter(tangent, miter, lineA, lineB, 1);
18245
+ addNext(out, miter, miterLen);
18246
+ }
18247
+ }
18248
+
18249
+ //if the polyline is a closed loop, clean up the last normal
18250
+ if (points.length > 2 && closed) {
18251
+ var last2 = points[total-2];
18252
+ var cur2 = points[0];
18253
+ var next2 = points[1];
18254
+
18255
+ util.direction(lineA, cur2, last2);
18256
+ util.direction(lineB, next2, cur2);
18257
+ util.normal(curNormal, lineA);
18258
+
18259
+ var miterLen2 = util.computeMiter(tangent, miter, lineA, lineB, 1);
18260
+ out[0][0] = miter.slice();
18261
+ out[total-1][0] = miter.slice();
18262
+ out[0][1] = miterLen2;
18263
+ out[total-1][1] = miterLen2;
18264
+ out.pop();
18265
+ }
18266
+
18267
+ return out
18268
+ };
18269
+
18270
+ function addNext(out, normal, length) {
18271
+ out.push([[normal[0], normal[1]], length]);
18272
+ }
18273
+
18088
18274
  // 定义常量
18089
18275
  const TRIANGLE_NUMBER_OF_RECTANGLE = 2; // 每个矩形有两个三角形
18090
18276
  const VERTEX_NUMBER_OF_TRIANGLE = 3; // 每个三角形有三个顶点
@@ -18202,7 +18388,7 @@ function getLineGeometry(curvePoints, unitWidth, unitHeight) {
18202
18388
  const halfUnitWidth = unitWidth / 2;
18203
18389
  const aspect = unitHeight / unitWidth; // 纵横比 height / width
18204
18390
  const curvePointsLength = curvePoints.length;
18205
- const normals = getNormals(curvePoints.map((p) => [p.x, p.z])); // curvePoints:每个点切线的向量「二维」
18391
+ const normals = polylineNormals(curvePoints.map((p) => [p.x, p.z])); // curvePoints:每个点切线的向量「二维」
18206
18392
  const rectangleNumber = curvePoints.length - 1; // 曲线上 N 个点,构成了 N - 1 个矩形
18207
18393
  const indexNumber = rectangleNumber * TRIANGLE_NUMBER_OF_RECTANGLE * VERTEX_NUMBER_OF_TRIANGLE;
18208
18394
  const verticesNumber = 2 * curvePointsLength; // 顶点数量(包含公用):每个曲线点对应两个顶点,N 个 点有 2N 个顶点