@realsee/dnalogel 3.81.7 → 3.81.8-alpha.2

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 (559) hide show
  1. package/CHANGELOG.md +3 -0
  2. package/dist/PanoTagPlugin/controller/Tag/MaskTag.d.ts +1 -0
  3. package/dist/PanoTagPlugin/controller/Tag/MaskTag.shaders.d.ts +1 -1
  4. package/dist/index.cjs.js +45 -39
  5. package/dist/index.js +103 -91
  6. package/dist/index.umd.js +77 -71
  7. package/docs/assets/navigation.js +1 -1
  8. package/docs/assets/search.js +1 -1
  9. package/docs/classes/AreaMakerPluginType.AreaMakerController.html +2 -2
  10. package/docs/classes/AreaMakerPluginType.AreaMakerItem.html +2 -2
  11. package/docs/classes/CSS3DRender.html +2 -2
  12. package/docs/classes/DigitalHuman.html +2 -2
  13. package/docs/classes/DigitalPerformanceV2.DigitalPerformanceV2PluginController.html +2 -2
  14. package/docs/classes/DigitalPlayground.html +2 -2
  15. package/docs/classes/DigitalStateMachine.html +2 -2
  16. package/docs/classes/GuideLineItem.GuideLineItem.html +2 -2
  17. package/docs/classes/GuideLineModeItem.GuideLineModeItem.html +2 -2
  18. package/docs/classes/ModelMakerPluginInstance.html +2 -2
  19. package/docs/classes/ModelMakerPluginType.ModelMakerBoxItem.html +2 -2
  20. package/docs/classes/ModelMakerPluginType.ModelMakerPolygonItem.html +2 -2
  21. package/docs/classes/ModelMakerPluginType.ModelMakerPrismItem.html +2 -2
  22. package/docs/classes/ModelRoomLabelController.html +2 -2
  23. package/docs/classes/MoveController.html +2 -2
  24. package/docs/classes/Object3DHelperController.html +2 -2
  25. package/docs/classes/PaintBrush.html +2 -2
  26. package/docs/classes/PanoMeasurePluginLine.html +2 -2
  27. package/docs/classes/PanoMeasurePluginModel.html +2 -2
  28. package/docs/classes/PanoMeasurePluginPoint.html +2 -2
  29. package/docs/classes/PanoMeasurePluginPolyline.html +2 -2
  30. package/docs/classes/PanoTagPluginController.html +2 -2
  31. package/docs/classes/Sculpt.html +2 -2
  32. package/docs/classes/Util.BetterTween.html +2 -2
  33. package/docs/classes/Util.FiveDomEvents.html +2 -2
  34. package/docs/classes/Util.FivePuppet.html +2 -2
  35. package/docs/classes/Util.Interval.html +2 -2
  36. package/docs/classes/Util.LegacyPointHelper.html +2 -2
  37. package/docs/classes/Util.LightTag.html +2 -2
  38. package/docs/classes/Util.LineSegments.html +2 -2
  39. package/docs/classes/Util.Magnifier.html +2 -2
  40. package/docs/classes/Util.Object3D.html +2 -2
  41. package/docs/classes/Util.PointDomHelper.html +2 -2
  42. package/docs/classes/Util.PointHelper.html +2 -2
  43. package/docs/classes/Util.PointSelector.html +2 -2
  44. package/docs/classes/Util.PointSelectorHelper.html +2 -2
  45. package/docs/classes/Util.Rectangle.html +2 -2
  46. package/docs/classes/Util.sculpt.BaseEditor.html +2 -2
  47. package/docs/classes/Util.sculpt.BoxMesh.html +2 -2
  48. package/docs/classes/Util.sculpt.BoxMeshEditor.html +2 -2
  49. package/docs/classes/Util.sculpt.CircleMesh.html +2 -2
  50. package/docs/classes/Util.sculpt.CircleMeshEditor.html +2 -2
  51. package/docs/classes/Util.sculpt.CircleWithEdgeMesh.html +2 -2
  52. package/docs/classes/Util.sculpt.CylinderMesh.html +2 -2
  53. package/docs/classes/Util.sculpt.CylinderMeshEditor.html +2 -2
  54. package/docs/classes/Util.sculpt.LineMesh.html +2 -2
  55. package/docs/classes/Util.sculpt.PointMesh.html +2 -2
  56. package/docs/classes/Util.sculpt.PolygonMesh.html +2 -2
  57. package/docs/classes/Util.sculpt.PrismMesh.html +2 -2
  58. package/docs/classes/Util.sculpt.PrismMeshEditor.html +2 -2
  59. package/docs/classes/Util.sculpt.RectangleMesh.html +2 -2
  60. package/docs/classes/Util.sculpt.RectangleMeshEditor.html +2 -2
  61. package/docs/classes/Util.sculpt.RectangleWithEdgeMesh.html +2 -2
  62. package/docs/classes/WalkController.html +2 -2
  63. package/docs/enums/CameraMovementEffect.html +2 -2
  64. package/docs/enums/ContentType.html +2 -2
  65. package/docs/enums/DIRECTION.html +2 -2
  66. package/docs/enums/DISPLAY_STRATEGY_TYPE.html +2 -2
  67. package/docs/enums/DimensionType.html +2 -2
  68. package/docs/enums/FLOOR_PLAN_ATTACHED_TO.html +2 -2
  69. package/docs/enums/ITEM_LABEL_PLUGIN_DISPLAY_STRATEGY_TYPE.html +2 -2
  70. package/docs/enums/PaintBrushTypeEnum.html +2 -2
  71. package/docs/enums/PointType.html +2 -2
  72. package/docs/enums/Rotation.html +2 -2
  73. package/docs/functions/AreaMakerPlugin.html +1 -1
  74. package/docs/functions/CSS3DRenderPlugin.html +1 -1
  75. package/docs/functions/CameraMovementPlugin.html +2 -2
  76. package/docs/functions/CruisePlugin.html +1 -1
  77. package/docs/functions/CurrentPanoImagePlugin.html +1 -1
  78. package/docs/functions/DigitalPerformancePlugin.html +1 -1
  79. package/docs/functions/DigitalPerformanceV2.DigitalPerformanceV2Plugin.html +1 -1
  80. package/docs/functions/FloorplanGuidePlugin.html +1 -1
  81. package/docs/functions/GuideLinePlugin.html +1 -1
  82. package/docs/functions/ItemLabelPlugin.html +1 -1
  83. package/docs/functions/MapviewFloorplanPlugin.html +1 -1
  84. package/docs/functions/MeasurePlugin.html +1 -1
  85. package/docs/functions/ModelChassisCompassPlugin.html +2 -2
  86. package/docs/functions/ModelEntryDoorGuidePlugin.html +2 -2
  87. package/docs/functions/ModelFloorplanPlugin.html +1 -1
  88. package/docs/functions/ModelItemLabelPlugin.html +1 -1
  89. package/docs/functions/ModelMakerPlugin.html +1 -1
  90. package/docs/functions/ModelRoomLabelPlugin.html +1 -1
  91. package/docs/functions/ModelTVVideoPlugin.html +1 -1
  92. package/docs/functions/ModelViewPlugin.html +2 -2
  93. package/docs/functions/MovePlugin.html +1 -1
  94. package/docs/functions/Object3DHelperPlugin.html +1 -1
  95. package/docs/functions/PanoCompassPlugin.html +1 -1
  96. package/docs/functions/PanoCursorRaycasterPlugin.html +2 -2
  97. package/docs/functions/PanoDoorLabelPlugin.html +1 -1
  98. package/docs/functions/PanoFloorplanRadarPlugin.html +1 -1
  99. package/docs/functions/PanoMeasurePlugin.html +1 -1
  100. package/docs/functions/PanoRulerPlugin.html +2 -2
  101. package/docs/functions/PanoRulerProPlugin.html +2 -2
  102. package/docs/functions/PanoSpatialTagPlugin.html +2 -2
  103. package/docs/functions/PanoTagPlugin.html +1 -1
  104. package/docs/functions/PanoVideoPlugin.html +2 -2
  105. package/docs/functions/PipelinePlugin.html +1 -1
  106. package/docs/functions/SculptPlugin.html +2 -2
  107. package/docs/functions/SculptPluginForFive.html +2 -2
  108. package/docs/functions/TopviewFloorplanPlugin.html +1 -1
  109. package/docs/functions/Util.awaitNextFrame.html +1 -1
  110. package/docs/functions/Util.blink.html +2 -2
  111. package/docs/functions/Util.blinkWithPreset.html +2 -2
  112. package/docs/functions/Util.bounding.html +1 -1
  113. package/docs/functions/Util.boundingBox.html +1 -1
  114. package/docs/functions/Util.boundingSphere.html +1 -1
  115. package/docs/functions/Util.boxVertex.html +2 -2
  116. package/docs/functions/Util.boxVertexes.html +1 -1
  117. package/docs/functions/Util.checkFiveModelLoaded.html +2 -2
  118. package/docs/functions/Util.cleanup.html +2 -2
  119. package/docs/functions/Util.convexHull.html +2 -2
  120. package/docs/functions/Util.equal.html +2 -2
  121. package/docs/functions/Util.fiveModelIsLoaded.html +2 -2
  122. package/docs/functions/Util.generatePolygonGeometry.html +2 -2
  123. package/docs/functions/Util.getCoordsFromClient.html +1 -1
  124. package/docs/functions/Util.getCoordsFromElement.html +1 -1
  125. package/docs/functions/Util.getFrameTime.html +2 -2
  126. package/docs/functions/Util.getGeometryArea.html +1 -1
  127. package/docs/functions/Util.getGeometryInfo.html +1 -1
  128. package/docs/functions/Util.getIntersectFromRelativePosition.html +1 -1
  129. package/docs/functions/Util.getRaycasterFromFivePointer.html +1 -1
  130. package/docs/functions/Util.initialCSS3DRender.html +1 -1
  131. package/docs/functions/Util.inside.html +1 -1
  132. package/docs/functions/Util.isModelLike.html +1 -1
  133. package/docs/functions/Util.isNil.html +2 -2
  134. package/docs/functions/Util.isPanoramaLike.html +1 -1
  135. package/docs/functions/Util.lookObject.html +2 -2
  136. package/docs/functions/Util.lookPoint.html +2 -2
  137. package/docs/functions/Util.nextFrame.html +1 -1
  138. package/docs/functions/Util.notNil.html +2 -2
  139. package/docs/functions/Util.reblink.html +2 -2
  140. package/docs/functions/Util.replaceStaticPrefix.html +2 -2
  141. package/docs/functions/Util.requestAnimationFrameInterval.html +2 -2
  142. package/docs/functions/Util.sculpt.createBox.html +1 -1
  143. package/docs/functions/Util.sculpt.createCircle.html +1 -1
  144. package/docs/functions/Util.sculpt.createCylinder.html +1 -1
  145. package/docs/functions/Util.sculpt.createLine.html +2 -2
  146. package/docs/functions/Util.sculpt.createPoint.html +1 -1
  147. package/docs/functions/Util.sculpt.createPolygon.html +1 -1
  148. package/docs/functions/Util.sculpt.createPrism.html +1 -1
  149. package/docs/functions/Util.sculpt.createRectangle.html +2 -2
  150. package/docs/functions/Util.sculpt.transformUnit.html +2 -2
  151. package/docs/functions/Util.sculpt.transformUnitSquare.html +1 -1
  152. package/docs/functions/Util.tag.html +1 -1
  153. package/docs/functions/Util.triangleArea.html +2 -2
  154. package/docs/functions/Util.triangleCenter.html +2 -2
  155. package/docs/functions/Util.tweenProgress.html +1 -1
  156. package/docs/functions/Util.uuid.html +2 -2
  157. package/docs/functions/Util.waitFiveModelLoaded.html +2 -2
  158. package/docs/functions/Util.worldBounding.html +1 -1
  159. package/docs/functions/Util.worldBoundingBox.html +1 -1
  160. package/docs/functions/Util.worldBoundingSphere.html +1 -1
  161. package/docs/functions/createPolyline.html +2 -2
  162. package/docs/functions/pluginFlag.html +1 -1
  163. package/docs/functions/validatePolygon.html +1 -1
  164. package/docs/hierarchy.html +1 -1
  165. package/docs/index.html +2 -2
  166. package/docs/interfaces/AreaMakerPluginType.AnimeOptions.html +2 -2
  167. package/docs/interfaces/AreaMakerPluginType.Config.html +2 -2
  168. package/docs/interfaces/AreaMakerPluginType.EventMap.html +2 -2
  169. package/docs/interfaces/AreaMakerPluginType.Params.html +2 -2
  170. package/docs/interfaces/AreaMakerPluginType.ServerAreaMakerItem.html +2 -2
  171. package/docs/interfaces/AreaMakerPluginType.ServerAreaMakerItemV1.html +2 -2
  172. package/docs/interfaces/AreaMakerPluginType.ServerDataV1.html +2 -2
  173. package/docs/interfaces/AreaMakerPluginType.ServerDataV2.html +2 -2
  174. package/docs/interfaces/AreaMakerPluginType.ShowHideOptions.html +2 -2
  175. package/docs/interfaces/AreaMakerPluginType.State.html +2 -2
  176. package/docs/interfaces/BoxAnimationConfig.html +2 -2
  177. package/docs/interfaces/BoxPosition.html +2 -2
  178. package/docs/interfaces/CSS3DRenderPluginEventMap.html +2 -2
  179. package/docs/interfaces/CSS3DRenderPluginState.html +2 -2
  180. package/docs/interfaces/CameraMovementPluginExportType.html +2 -2
  181. package/docs/interfaces/ChapterLocation.html +2 -2
  182. package/docs/interfaces/ChapterTimeInfo.html +2 -2
  183. package/docs/interfaces/ContentTypeMapInterface.html +2 -2
  184. package/docs/interfaces/CruisePluginTypes.Config.html +2 -2
  185. package/docs/interfaces/CruisePluginTypes.CruiseKeyframe.html +2 -2
  186. package/docs/interfaces/CruisePluginTypes.EventMap.html +2 -2
  187. package/docs/interfaces/CruisePluginTypes.GuildLineConfig.html +2 -2
  188. package/docs/interfaces/CruisePluginTypes.MoveAction.html +2 -2
  189. package/docs/interfaces/CruisePluginTypes.MoveWithKeyframesAction.html +2 -2
  190. package/docs/interfaces/CruisePluginTypes.MoveWithPanoIndexAction.html +2 -2
  191. package/docs/interfaces/CruisePluginTypes.PluginData.html +2 -2
  192. package/docs/interfaces/CruisePluginTypes.PluginServerData.html +2 -2
  193. package/docs/interfaces/CruisePluginTypes.PluginState.html +2 -2
  194. package/docs/interfaces/CurrentPanoImagePluginType.Config.html +2 -2
  195. package/docs/interfaces/CurrentPanoImagePluginType.EventMap.html +2 -2
  196. package/docs/interfaces/CurrentPanoImagePluginType.Params.html +2 -2
  197. package/docs/interfaces/CurrentPanoImagePluginType.ShowHideOptions.html +2 -2
  198. package/docs/interfaces/CurrentPanoImagePluginType.State.html +2 -2
  199. package/docs/interfaces/DigitalCameraKeyframe.html +2 -2
  200. package/docs/interfaces/DigitalCameraPlayer.html +2 -2
  201. package/docs/interfaces/DigitalCameraState.html +2 -2
  202. package/docs/interfaces/DigitalChapter.html +2 -2
  203. package/docs/interfaces/DigitalDataPlayer.html +2 -2
  204. package/docs/interfaces/DigitalDataState.html +2 -2
  205. package/docs/interfaces/DigitalEffectKeyframe.html +2 -2
  206. package/docs/interfaces/DigitalEffectState.html +2 -2
  207. package/docs/interfaces/DigitalItemKeyframe.html +2 -2
  208. package/docs/interfaces/DigitalItemState.html +2 -2
  209. package/docs/interfaces/DigitalModelKeyframe.html +2 -2
  210. package/docs/interfaces/DigitalModelPlayer.html +2 -2
  211. package/docs/interfaces/DigitalModelPlayerEffect.html +2 -2
  212. package/docs/interfaces/DigitalModelPlayerItem.html +2 -2
  213. package/docs/interfaces/DigitalModelState.html +2 -2
  214. package/docs/interfaces/DigitalPerformancePluginConfig.html +2 -2
  215. package/docs/interfaces/DigitalPerformanceV2.CameraState.html +2 -2
  216. package/docs/interfaces/DigitalPerformanceV2.DigitalCameraKeyframe.html +2 -2
  217. package/docs/interfaces/DigitalPerformanceV2.DigitalCameraPlayer.html +2 -2
  218. package/docs/interfaces/DigitalPerformanceV2.DigitalPerformanceV2PluginConfig.html +2 -2
  219. package/docs/interfaces/DigitalPerformanceV2.GroupChapterTimeInfo.html +2 -2
  220. package/docs/interfaces/DigitalPerformanceV2.GroupProgress.html +2 -2
  221. package/docs/interfaces/DigitalPerformanceV2.V2Progress.html +2 -2
  222. package/docs/interfaces/DigitalScript.html +2 -2
  223. package/docs/interfaces/DigitalSubTitleKeyframe.html +2 -2
  224. package/docs/interfaces/DigitalSubTitlePlayer.html +2 -2
  225. package/docs/interfaces/DigitalSubTitleState.html +2 -2
  226. package/docs/interfaces/ExtendedAnimationConfig.html +2 -2
  227. package/docs/interfaces/FloorplanBounding.html +2 -2
  228. package/docs/interfaces/FloorplanData.html +2 -2
  229. package/docs/interfaces/FloorplanEntrance.html +2 -2
  230. package/docs/interfaces/FloorplanExtraObject.html +2 -2
  231. package/docs/interfaces/FloorplanExtraObject3D.html +2 -2
  232. package/docs/interfaces/FloorplanFloorData.html +2 -2
  233. package/docs/interfaces/FloorplanImagePosition.html +2 -2
  234. package/docs/interfaces/FloorplanObserver.html +2 -2
  235. package/docs/interfaces/FloorplanOutlineItem.html +2 -2
  236. package/docs/interfaces/FloorplanPosition.html +2 -2
  237. package/docs/interfaces/FloorplanRoomItem.html +2 -2
  238. package/docs/interfaces/FloorplanRoomLabelItem.html +2 -2
  239. package/docs/interfaces/FloorplanServerBounding.html +2 -2
  240. package/docs/interfaces/FloorplanServerComputedData.html +2 -2
  241. package/docs/interfaces/FloorplanServerData.html +2 -2
  242. package/docs/interfaces/FloorplanServerDoorItem.html +2 -2
  243. package/docs/interfaces/FloorplanServerDoorPosition.html +2 -2
  244. package/docs/interfaces/FloorplanServerEntrance.html +2 -2
  245. package/docs/interfaces/FloorplanServerFloorData.html +2 -2
  246. package/docs/interfaces/FloorplanServerImagePosition.html +2 -2
  247. package/docs/interfaces/FloorplanServerObserver.html +2 -2
  248. package/docs/interfaces/FloorplanServerOutlineItem.html +2 -2
  249. package/docs/interfaces/FloorplanServerPosition.html +2 -2
  250. package/docs/interfaces/FloorplanServerRoomItem.html +2 -2
  251. package/docs/interfaces/FloorplanServerRoomLabelItem.html +2 -2
  252. package/docs/interfaces/FloorplanServerStyledFloorplan.html +2 -2
  253. package/docs/interfaces/FloorplanServerStyledImage.html +2 -2
  254. package/docs/interfaces/GlobalProgress.html +2 -2
  255. package/docs/interfaces/GuideLineModeItem.GuideLineTagContainer.html +2 -2
  256. package/docs/interfaces/GuideLinePluginType.CatmullRomCurve3.html +2 -2
  257. package/docs/interfaces/GuideLinePluginType.EventMap.html +2 -2
  258. package/docs/interfaces/GuideLinePluginType.ExtraRouteData.html +2 -2
  259. package/docs/interfaces/GuideLinePluginType.GuideLineGeometryStyle.html +2 -2
  260. package/docs/interfaces/GuideLinePluginType.GuideLineItemContainer.html +2 -2
  261. package/docs/interfaces/GuideLinePluginType.GuideLineMaterialStyle.html +2 -2
  262. package/docs/interfaces/GuideLinePluginType.GuideLineMeshStyle.html +2 -2
  263. package/docs/interfaces/GuideLinePluginType.LineGeometriesConfig.html +2 -2
  264. package/docs/interfaces/GuideLinePluginType.ModelGuideLineStyle.html +2 -2
  265. package/docs/interfaces/GuideLinePluginType.ModelGuideLineTagData.html +2 -2
  266. package/docs/interfaces/GuideLinePluginType.PanoramaGuideLineStyle.html +2 -2
  267. package/docs/interfaces/GuideLinePluginType.PluginDataV2.html +1 -1
  268. package/docs/interfaces/GuideLinePluginType.PluginServerData.html +2 -2
  269. package/docs/interfaces/GuideLinePluginType.PluginState.html +2 -2
  270. package/docs/interfaces/GuideLinePluginType.Route.html +2 -2
  271. package/docs/interfaces/HelperOffset.html +2 -2
  272. package/docs/interfaces/ImagePlaneGroup.html +2 -2
  273. package/docs/interfaces/ItemLabelPluginData.html +2 -2
  274. package/docs/interfaces/ItemLabelPluginExportReturnsType.html +2 -2
  275. package/docs/interfaces/ItemLabelPluginParametersType.html +2 -2
  276. package/docs/interfaces/MinMax.html +2 -2
  277. package/docs/interfaces/ModelChassisCompassPluginData.html +2 -2
  278. package/docs/interfaces/ModelChassisCompassPluginExportType.html +2 -2
  279. package/docs/interfaces/ModelChassisCompassPluginParameterType.html +2 -2
  280. package/docs/interfaces/ModelEntryDoorGuidePluginData.html +2 -2
  281. package/docs/interfaces/ModelEntryDoorGuidePluginExportType.html +2 -2
  282. package/docs/interfaces/ModelItemLabelPluginData.html +2 -2
  283. package/docs/interfaces/ModelItemLabelPluginExportReturnsType.html +2 -2
  284. package/docs/interfaces/ModelItemLabelPluginParametersType.html +2 -2
  285. package/docs/interfaces/ModelMakerPluginType.BoxItemObjectData.html +2 -2
  286. package/docs/interfaces/ModelMakerPluginType.EventMap.html +2 -2
  287. package/docs/interfaces/ModelMakerPluginType.PrismItemObjectData.html +2 -2
  288. package/docs/interfaces/ModelMakerPluginType.ServerBaseItem.html +2 -2
  289. package/docs/interfaces/ModelMakerPluginType.ServerBoxItem.html +2 -2
  290. package/docs/interfaces/ModelMakerPluginType.ServerData.html +2 -2
  291. package/docs/interfaces/ModelMakerPluginType.ServerPrismItem.html +2 -2
  292. package/docs/interfaces/ModelMakerPluginType.ServerTrianglesItem.html +2 -2
  293. package/docs/interfaces/ModelMakerPluginType.State.html +2 -2
  294. package/docs/interfaces/ModelMakerPluginType.TrianglesItemObjectData.html +2 -2
  295. package/docs/interfaces/ModelRoomLabelPluginData.html +2 -2
  296. package/docs/interfaces/ModelTVVideoPluginData.html +2 -2
  297. package/docs/interfaces/ModelTVVideoPluginExportType.html +2 -2
  298. package/docs/interfaces/ModelTVVideoPluginParameterType.html +2 -2
  299. package/docs/interfaces/ModelViewPluginExportType.html +2 -2
  300. package/docs/interfaces/Object3DHelperState.html +2 -2
  301. package/docs/interfaces/ObjectHelperControllers.html +2 -2
  302. package/docs/interfaces/PaintBrushAction.html +2 -2
  303. package/docs/interfaces/PaintBrushConfigs.html +2 -2
  304. package/docs/interfaces/PaintBrushState.html +2 -2
  305. package/docs/interfaces/PanoCursorRaycasterPluginExportType.html +2 -2
  306. package/docs/interfaces/PanoCursorRaycasterPluginParameterType.html +1 -1
  307. package/docs/interfaces/PanoMeasureParameterType.html +2 -2
  308. package/docs/interfaces/PanoMeasurePluginLineJson.html +2 -2
  309. package/docs/interfaces/PanoMeasurePluginOpenParameter.html +2 -2
  310. package/docs/interfaces/PanoMeasurePluginPointJson.html +2 -2
  311. package/docs/interfaces/PanoMeasurePluginPolylineJson.html +2 -2
  312. package/docs/interfaces/PanoRulerPluginExportType.html +2 -2
  313. package/docs/interfaces/PanoRulerPluginOptions.html +2 -2
  314. package/docs/interfaces/PanoRulerPluginParameterType.html +2 -2
  315. package/docs/interfaces/PanoRulerProPluginExportType.html +2 -2
  316. package/docs/interfaces/PanoRulerProPluginOptions.html +2 -2
  317. package/docs/interfaces/PanoRulerProPluginParameterType.html +2 -2
  318. package/docs/interfaces/PanoRulerProPluginState.html +2 -2
  319. package/docs/interfaces/PanoSpatialTagPluginContentEvent.html +1 -1
  320. package/docs/interfaces/PanoSpatialTagPluginContentReplacement.html +1 -1
  321. package/docs/interfaces/PanoSpatialTagPluginData.html +2 -2
  322. package/docs/interfaces/PanoSpatialTagPluginDataElement.html +2 -2
  323. package/docs/interfaces/PanoSpatialTagPluginExportType.html +2 -2
  324. package/docs/interfaces/PanoSpatialTagPluginOriginElement.html +2 -2
  325. package/docs/interfaces/PanoSpatialTagPluginParameterType.html +2 -2
  326. package/docs/interfaces/PanoSpatialTagPluginPointElement.html +2 -2
  327. package/docs/interfaces/PanoSpatialTagPluginTagElement.html +2 -2
  328. package/docs/interfaces/PanoVideoPluginType.LoadParams.html +2 -2
  329. package/docs/interfaces/PanoVideoPluginType.PanoVideoItem.html +2 -2
  330. package/docs/interfaces/PanoVideoPluginType.PluginData.html +2 -2
  331. package/docs/interfaces/PanoVideoPluginType.PluginEventMap.html +2 -2
  332. package/docs/interfaces/PanoVideoPluginType.PluginState.html +2 -2
  333. package/docs/interfaces/PanoVideoPluginType.VideoItem.html +2 -2
  334. package/docs/interfaces/PanoVideoPluginType.VideoMeshParams.html +2 -2
  335. package/docs/interfaces/PluginEventMap.html +2 -2
  336. package/docs/interfaces/Point.html +2 -2
  337. package/docs/interfaces/ProgressBarEvents.html +2 -2
  338. package/docs/interfaces/Room.html +2 -2
  339. package/docs/interfaces/RoomInfo.html +2 -2
  340. package/docs/interfaces/RoomLabel.html +2 -2
  341. package/docs/interfaces/RoomRules.html +1 -1
  342. package/docs/interfaces/Rooms.html +1 -1
  343. package/docs/interfaces/Scissor.html +2 -2
  344. package/docs/interfaces/SculptConfig.html +2 -2
  345. package/docs/interfaces/State.html +2 -2
  346. package/docs/interfaces/StyledFloorplan.html +2 -2
  347. package/docs/interfaces/StyledFloorplanImage.html +2 -2
  348. package/docs/interfaces/StyledFloorplanRoomLabel.html +2 -2
  349. package/docs/interfaces/TagCacheInterface.html +2 -2
  350. package/docs/interfaces/TagConfig.html +2 -2
  351. package/docs/interfaces/TagGLTFObjectGroup.html +2 -2
  352. package/docs/interfaces/TagIconAnimationConfig.html +2 -2
  353. package/docs/interfaces/TagIconUrl.html +2 -2
  354. package/docs/interfaces/TagObjectGroup.html +2 -2
  355. package/docs/interfaces/TagState.html +2 -2
  356. package/docs/interfaces/TagStyle.html +2 -2
  357. package/docs/interfaces/Tags.html +2 -2
  358. package/docs/interfaces/TemporaryState.html +2 -2
  359. package/docs/interfaces/TraceManager.html +2 -2
  360. package/docs/interfaces/TracePoint.html +2 -2
  361. package/docs/interfaces/Util.AnimeInstance.html +2 -2
  362. package/docs/interfaces/Util.BlinkAnimeOptions.html +2 -2
  363. package/docs/interfaces/Util.EventHandlerConfig.html +2 -2
  364. package/docs/interfaces/Util.FiveDomEvent.html +2 -2
  365. package/docs/interfaces/Util.FiveDomEventMap.html +2 -2
  366. package/docs/interfaces/Util.LegacyMouseGroupParameter.html +2 -2
  367. package/docs/interfaces/Util.MagnifierParameter.html +2 -2
  368. package/docs/interfaces/Util.MouseGroupParameter.html +2 -2
  369. package/docs/interfaces/Util.ObjectInitialState.html +2 -2
  370. package/docs/interfaces/Util.PointIntersection.html +2 -2
  371. package/docs/interfaces/Util.PointSelectorHelperConfig.html +2 -2
  372. package/docs/interfaces/Util.ReBlinkAnimeOptions.html +2 -2
  373. package/docs/modules/AreaMakerPluginType.html +2 -2
  374. package/docs/modules/CruisePluginTypes.html +2 -2
  375. package/docs/modules/CurrentPanoImagePluginType.html +2 -2
  376. package/docs/modules/DigitalPerformanceV2.html +2 -2
  377. package/docs/modules/GuideLineItem.html +2 -2
  378. package/docs/modules/GuideLineModeItem.html +2 -2
  379. package/docs/modules/GuideLinePluginType.html +2 -2
  380. package/docs/modules/ModelMakerPluginType.html +2 -2
  381. package/docs/modules/PanoVideoPluginType.html +2 -2
  382. package/docs/modules/SculptData.html +2 -2
  383. package/docs/modules/SculptType.html +2 -2
  384. package/docs/modules/Util.html +2 -2
  385. package/docs/modules/Util.sculpt.html +2 -2
  386. package/docs/modules.html +2 -2
  387. package/docs/types/AddObject3DHelperConfig.html +2 -2
  388. package/docs/types/AreaMakerPluginType.AreaMakerItemEventMap.html +2 -2
  389. package/docs/types/AreaMakerPluginType.ItemRenderer.html +1 -1
  390. package/docs/types/AreaMakerPluginType.PluginData.html +2 -2
  391. package/docs/types/AreaMakerPluginType.ServerData.html +2 -2
  392. package/docs/types/ArrayPosition.html +1 -1
  393. package/docs/types/AudioAppearance.html +1 -1
  394. package/docs/types/BoxTag.html +2 -2
  395. package/docs/types/CSS3DRenderExportType.html +1 -1
  396. package/docs/types/CSS3DRenderPluginExportType.html +1 -1
  397. package/docs/types/CSS3DRenderPluginParameterType.html +1 -1
  398. package/docs/types/ClassFunctionParameters.html +1 -1
  399. package/docs/types/Color.html +1 -1
  400. package/docs/types/ContentTypeConfigKey.html +1 -1
  401. package/docs/types/ContentTypeConfigKeySplit.html +1 -1
  402. package/docs/types/ContentTypeMap.html +1 -1
  403. package/docs/types/Create3DDomContainerReturnType.html +1 -1
  404. package/docs/types/Create3DElementReturnType.html +1 -1
  405. package/docs/types/CruisePluginExportType.html +1 -1
  406. package/docs/types/CruisePluginTypes.CruiseData.html +2 -2
  407. package/docs/types/CruisePluginTypes.MoveEffect.html +1 -1
  408. package/docs/types/CurrentPanoImagePluginExportType.html +1 -1
  409. package/docs/types/DeprecatedMediaPlaneProperty.html +2 -2
  410. package/docs/types/DeprecatedTagProperty.html +2 -2
  411. package/docs/types/DigitalPerformancePluginExportInterface.html +1 -1
  412. package/docs/types/DigitalPerformancePluginParamsInterface.html +1 -1
  413. package/docs/types/DigitalPerformanceV2.CameraCoordinateSpace.html +2 -2
  414. package/docs/types/DigitalPerformanceV2.CameraTransition.html +2 -2
  415. package/docs/types/DigitalPerformanceV2.DigitalPerformanceV2PluginExportInterface.html +1 -1
  416. package/docs/types/DigitalPerformanceV2.DigitalPerformanceV2PluginParamsInterface.html +1 -1
  417. package/docs/types/DigitalPerformanceV2.V2ProgressListener.html +1 -1
  418. package/docs/types/Direction-1.html +1 -1
  419. package/docs/types/Direction4.html +1 -1
  420. package/docs/types/ElementRenderer.html +2 -2
  421. package/docs/types/FloorplanAffineTransform.html +1 -1
  422. package/docs/types/FloorplanGuidePluginParameterType.html +1 -1
  423. package/docs/types/FloorplanGuidePluginReturnType.html +1 -1
  424. package/docs/types/FloorplanRuleLabels.html +2 -2
  425. package/docs/types/FloorplanServerAffineTransform.html +1 -1
  426. package/docs/types/FloorplanServerRuleLabels.html +1 -1
  427. package/docs/types/GuideLinePluginExportType.html +1 -1
  428. package/docs/types/GuideLinePluginType.GuideLineItem.html +2 -2
  429. package/docs/types/GuideLinePluginType.GuideLineItemEventMap.html +1 -1
  430. package/docs/types/GuideLinePluginType.GuideLineModeItemMode.html +1 -1
  431. package/docs/types/GuideLinePluginType.GuideLineStyle.html +2 -2
  432. package/docs/types/GuideLinePluginType.ModelGuideLineTag.html +2 -2
  433. package/docs/types/GuideLinePluginType.PathItem.html +2 -2
  434. package/docs/types/GuideLinePluginType.PluginData.html +2 -2
  435. package/docs/types/GuideLinePluginType.RouteConfig.html +2 -2
  436. package/docs/types/HelperEventMap.html +1 -1
  437. package/docs/types/InternalHelperEventMap.html +1 -1
  438. package/docs/types/KeyframeType.html +1 -1
  439. package/docs/types/MapviewFloorplanPluginParameterType.html +1 -1
  440. package/docs/types/MapviewFloorplanPluginReturnType.html +1 -1
  441. package/docs/types/MaskPosition.html +2 -2
  442. package/docs/types/MaskTag.html +2 -2
  443. package/docs/types/MeasureEndReason.html +1 -1
  444. package/docs/types/MeasurePluginConfig.html +2 -2
  445. package/docs/types/MeasurePluginEventMap.html +1 -1
  446. package/docs/types/MediaData.html +2 -2
  447. package/docs/types/MediaStore.html +1 -1
  448. package/docs/types/ModelEntryDoorGuidePluginParameterType.html +1 -1
  449. package/docs/types/ModelFloorplanPluginParameterType.html +1 -1
  450. package/docs/types/ModelFloorplanPluginReturnType.html +1 -1
  451. package/docs/types/ModelId.html +1 -1
  452. package/docs/types/ModelMakerPluginType.ElementRenderer.html +1 -1
  453. package/docs/types/ModelMakerPluginType.ItemType.html +2 -2
  454. package/docs/types/ModelMakerPluginType.MarkerItem.html +1 -1
  455. package/docs/types/ModelMakerPluginType.ServerItem.html +2 -2
  456. package/docs/types/ModelRoomLabelPluginParameters.html +1 -1
  457. package/docs/types/ModelRoomLabelPluginReturnType.html +1 -1
  458. package/docs/types/MoveArgs.html +2 -2
  459. package/docs/types/MoveOpts.html +2 -2
  460. package/docs/types/Object3DHelperEventMap.html +1 -1
  461. package/docs/types/ObjectFit.html +1 -1
  462. package/docs/types/PaintBrushEventMap.html +1 -1
  463. package/docs/types/PanoCompassPluginData.html +1 -1
  464. package/docs/types/PanoCompassPluginExportType.html +1 -1
  465. package/docs/types/PanoCompassPluginParameterType.html +1 -1
  466. package/docs/types/PanoFloorplanRadarPluginParameterType.html +1 -1
  467. package/docs/types/PanoFloorplanRadarPluginReturnType.html +1 -1
  468. package/docs/types/PanoIndex.html +1 -1
  469. package/docs/types/PanoMeasurePluginEvent.html +1 -1
  470. package/docs/types/PanoMeasureReturnType.html +1 -1
  471. package/docs/types/PanoSpatialTagPluginId.html +1 -1
  472. package/docs/types/PanoTagPluginExportInterface.html +1 -1
  473. package/docs/types/PanoTagPluginParamsInterface.html +1 -1
  474. package/docs/types/PanoVideoPluginParameterType.html +1 -1
  475. package/docs/types/PanoVideoPluginReturnType.html +1 -1
  476. package/docs/types/PickTagContentTypeInContentTypeConfigKey.html +2 -2
  477. package/docs/types/PipelinePluginParameterType.html +1 -1
  478. package/docs/types/PipelinePluginReturnType.html +1 -1
  479. package/docs/types/PlaneTag.html +2 -2
  480. package/docs/types/Point2DTag.html +2 -2
  481. package/docs/types/Point3DTag.html +2 -2
  482. package/docs/types/PointTagInstance.html +1 -1
  483. package/docs/types/PolygonPosition.html +2 -2
  484. package/docs/types/PolygonTag.html +2 -2
  485. package/docs/types/Position.html +1 -1
  486. package/docs/types/PositionFrom.html +1 -1
  487. package/docs/types/ProgressListener.html +1 -1
  488. package/docs/types/RotateArgs.html +2 -2
  489. package/docs/types/RotateOpts.html +2 -2
  490. package/docs/types/RuleLabelsKey.html +1 -1
  491. package/docs/types/RuleLabelsValue.html +1 -1
  492. package/docs/types/ScaleCallback.html +1 -1
  493. package/docs/types/ScalePosition.html +2 -2
  494. package/docs/types/SculptData.BoxData.html +1 -1
  495. package/docs/types/SculptData.CircleData.html +1 -1
  496. package/docs/types/SculptData.CylinderData.html +1 -1
  497. package/docs/types/SculptData.PointData.html +1 -1
  498. package/docs/types/SculptData.PolygonData.html +1 -1
  499. package/docs/types/SculptData.PolylineData.html +1 -1
  500. package/docs/types/SculptData.PrismData.html +1 -1
  501. package/docs/types/SculptData.RectangleData.html +1 -1
  502. package/docs/types/SculptType.Theme.html +2 -2
  503. package/docs/types/StateType.html +1 -1
  504. package/docs/types/StickType.html +1 -1
  505. package/docs/types/Tag.html +2 -2
  506. package/docs/types/Tag2D.html +2 -2
  507. package/docs/types/Tag3D.html +2 -2
  508. package/docs/types/TagClickParams.html +1 -1
  509. package/docs/types/TagConfigByKey.html +1 -1
  510. package/docs/types/TagContentType.html +1 -1
  511. package/docs/types/TagContentTypeMapping.html +1 -1
  512. package/docs/types/TagDimensionType.html +1 -1
  513. package/docs/types/TagElement.html +2 -2
  514. package/docs/types/TagEvents.html +1 -1
  515. package/docs/types/TagGLTFObject.html +1 -1
  516. package/docs/types/TagHooks.html +1 -1
  517. package/docs/types/TagId.html +1 -1
  518. package/docs/types/TagInstance.html +1 -1
  519. package/docs/types/TagPlacement.html +2 -2
  520. package/docs/types/TagPointType.html +2 -2
  521. package/docs/types/TagRendererMap.html +1 -1
  522. package/docs/types/TopviewFloorplanPluginParameterType.html +1 -1
  523. package/docs/types/TopviewFloorplanPluginReturnType.html +1 -1
  524. package/docs/types/Util.ActionIfNoIntersection.html +1 -1
  525. package/docs/types/Util.AdherePoint.html +2 -2
  526. package/docs/types/Util.PointSelectorConfig.html +1 -1
  527. package/docs/types/Util.SupportedTarget.html +2 -2
  528. package/docs/types/Util.Target.html +2 -2
  529. package/docs/types/Util.ThreeObject.html +2 -2
  530. package/docs/types/WorkCode.html +1 -1
  531. package/docs/variables/FLOOR_TYPE_MAP.html +2 -2
  532. package/docs/variables/PLUGIN.html +1 -1
  533. package/docs/variables/ROOM_FETILE_TYPE_MAP.html +2 -2
  534. package/docs/variables/ROOM_TYPE_MAP.html +2 -2
  535. package/docs/variables/Util.ANIME_PRESETS.html +2 -2
  536. package/docs/variables/Util.CURRENT_PANO_IMAGE_DEFAULT_IMAGE.html +2 -2
  537. package/docs/variables/Util.DEFAULT_ANIME_CONFIG.html +2 -2
  538. package/docs/variables/Util.DEFAULT_STATIC_PREFIX.html +2 -2
  539. package/docs/variables/Util.DNALOGEL_DEFAULT_ASSETS.html +2 -2
  540. package/docs/variables/Util.ENTRY_DOOR_DEFAULT_IMAGE.html +2 -2
  541. package/docs/variables/Util.FLOORPLAN_DEFAULT_IMAGE.html +2 -2
  542. package/docs/variables/Util.GUIDELINE_DEFAULT_ARROW_TEXTURE.html +2 -2
  543. package/docs/variables/Util.GUIDELINE_WHITE_ARROW_TEXTURE.html +2 -2
  544. package/docs/variables/Util.MODEL_CHASSIS_COMPASS_DEFAULT_MODEL.html +2 -2
  545. package/docs/variables/Util.MODEL_ENTRY_DOOR_GUIDE_PLUGIN_DEFAULT_MODEL.html +2 -2
  546. package/docs/variables/Util.PANO_COMPASS_DEFAULT_IMAGE.html +2 -2
  547. package/docs/variables/Util.PANO_SPATIAL_TAG_BLUR_IMAGE.html +2 -2
  548. package/docs/variables/Util.PANO_TAG_DEFAULT_LINK_ICON.html +2 -2
  549. package/docs/variables/defaultGlobalConfig.html +1 -1
  550. package/docs/variables/itemLabelPluginServerParams.html +1 -1
  551. package/docs/variables/modelItemLabelPluginServerParams.html +1 -1
  552. package/docs/variables/modelRoomLabelPluginServerParams.html +1 -1
  553. package/libs/PanoTagPlugin/controller/Tag/MaskTag.d.ts +1 -0
  554. package/libs/PanoTagPlugin/controller/Tag/MaskTag.js +85 -79
  555. package/libs/PanoTagPlugin/controller/Tag/MaskTag.shaders.d.ts +1 -1
  556. package/libs/PanoTagPlugin/controller/Tag/MaskTag.shaders.js +36 -30
  557. package/libs/base/BasePlugin.js +5 -5
  558. package/libs/shared-utils/logger.js +1 -1
  559. package/package.json +1 -1
@@ -1,36 +1,36 @@
1
1
  var F = Object.defineProperty;
2
2
  var R = Object.getOwnPropertySymbols;
3
- var B = Object.prototype.hasOwnProperty, A = Object.prototype.propertyIsEnumerable;
4
- var E = (m, c, e) => c in m ? F(m, c, { enumerable: !0, configurable: !0, writable: !0, value: e }) : m[c] = e, v = (m, c) => {
3
+ var B = Object.prototype.hasOwnProperty, z = Object.prototype.propertyIsEnumerable;
4
+ var E = (m, c, e) => c in m ? F(m, c, { enumerable: !0, configurable: !0, writable: !0, value: e }) : m[c] = e, C = (m, c) => {
5
5
  for (var e in c || (c = {}))
6
6
  B.call(c, e) && E(m, e, c[e]);
7
7
  if (R)
8
8
  for (var e of R(c))
9
- A.call(c, e) && E(m, e, c[e]);
9
+ z.call(c, e) && E(m, e, c[e]);
10
10
  return m;
11
11
  };
12
12
  var x = (m, c, e) => (E(m, typeof c != "symbol" ? c + "" : c, e), e);
13
13
  var S = (m, c, e) => new Promise((s, t) => {
14
- var o = (l) => {
14
+ var o = (h) => {
15
15
  try {
16
- r(e.next(l));
16
+ r(e.next(h));
17
17
  } catch (n) {
18
18
  t(n);
19
19
  }
20
- }, i = (l) => {
20
+ }, i = (h) => {
21
21
  try {
22
- r(e.throw(l));
22
+ r(e.throw(h));
23
23
  } catch (n) {
24
24
  t(n);
25
25
  }
26
- }, r = (l) => l.done ? s(l.value) : Promise.resolve(l.value).then(o, i);
26
+ }, r = (h) => h.done ? s(h.value) : Promise.resolve(h.value).then(o, i);
27
27
  r((e = e.apply(m, c)).next());
28
28
  });
29
- import { BaseTag as D } from "./BaseTag.js";
29
+ import { BaseTag as A } from "./BaseTag.js";
30
30
  import * as g from "three";
31
- import { anime as $ } from "../../../vendor/animejs/lib/anime.es.js";
32
- import { maskVertexShader as z, maskFragmentShaderMulti as G } from "./MaskTag.shaders.js";
33
- import { transformPosition as L } from "../../../shared-utils/five/transformPosition.js";
31
+ import { anime as D } from "../../../vendor/animejs/lib/anime.es.js";
32
+ import { maskVertexShader as $, maskFragmentShaderMulti as V } from "./MaskTag.shaders.js";
33
+ import { transformPosition as G } from "../../../shared-utils/five/transformPosition.js";
34
34
  import "../../../shared-utils/Subscribe.js";
35
35
  import "../../utils/tag/calculateTagConfig.js";
36
36
  import "../../../vendor/object-assign-deep/objectAssignDeep.js";
@@ -131,7 +131,7 @@ function w(m) {
131
131
  }
132
132
  return [0, 0, 0];
133
133
  }
134
- const h = class extends D {
134
+ const l = class extends A {
135
135
  constructor(e, s) {
136
136
  var i;
137
137
  super(e, s);
@@ -195,15 +195,15 @@ const h = class extends D {
195
195
  if (typeof e == "number") {
196
196
  this.loadingMask = !0;
197
197
  try {
198
- const t = yield h.loadMaskTexture(this.maskUrl);
198
+ const t = yield l.loadMaskTexture(this.maskUrl);
199
199
  this.maskTexture = t;
200
- const o = h.getMeshKey(e);
200
+ const o = l.getMeshKey(e);
201
201
  this._sharedMeshKey = o;
202
- let i = h.sharedMeshRegistry.get(o);
203
- const r = this.getColorKey(), l = this.buildStyleForMaterial();
204
- i ? i.maskSource !== this.maskUrl && (h.releaseMaskTexture(i.maskSource), i.maskTexture = t, i.maskSource = this.maskUrl, i.material.uniforms.map.value = t) : (i = h.createSharedMesh(t, this.maskUrl, this.plugin), h.sharedMeshRegistry.set(o, i), this.plugin.imagePlaneGroup.add(i.mesh));
202
+ let i = l.sharedMeshRegistry.get(o);
203
+ const r = this.getColorKey(), h = this.buildStyleForMaterial();
204
+ i ? i.maskSource !== this.maskUrl && (l.releaseMaskTexture(i.maskSource), i.maskTexture = t, i.maskSource = this.maskUrl, i.material.uniforms.map.value = t, i.material.uniforms.maskTexelSize.value = l.getMaskTexelSize(t)) : (i = l.createSharedMesh(t, this.maskUrl, this.plugin), l.sharedMeshRegistry.set(o, i), this.plugin.imagePlaneGroup.add(i.mesh));
205
205
  const n = i.styleIndexByColorKey.get(r);
206
- n !== void 0 ? (this.sharedStyleIndex = n, this.maskMesh = i.mesh, this.updateStyleSlotInMaterial(i.material, n, l)) : (i.tagsByColorKey.set(r, this), this.appendStyleToMaterial(i.material, l), this.sharedStyleIndex = i.tagsByColorKey.size - 1, i.styleIndexByColorKey.set(r, this.sharedStyleIndex), this.maskMesh = i.mesh), this.setupSharedMeshRaycast(i), this.updateMeshTransform(), this.setupClickEvents(), this.updateScreenPosition(), i.mesh.visible = !0;
206
+ n !== void 0 ? (this.sharedStyleIndex = n, this.maskMesh = i.mesh, this.updateStyleSlotInMaterial(i.material, n, h)) : (i.tagsByColorKey.set(r, this), this.appendStyleToMaterial(i.material, h), this.sharedStyleIndex = i.tagsByColorKey.size - 1, i.styleIndexByColorKey.set(r, this.sharedStyleIndex), this.maskMesh = i.mesh), this.setupSharedMeshRaycast(i), this.updateMeshTransform(), this.setupClickEvents(), this.updateScreenPosition(), i.mesh.visible = !0;
207
207
  } finally {
208
208
  this.loadingMask = !1;
209
209
  }
@@ -220,18 +220,24 @@ const h = class extends D {
220
220
  opacity: this.enabled && this.visible ? e.opacity : 0
221
221
  };
222
222
  }
223
+ static getMaskTexelSize(e) {
224
+ var i, r;
225
+ const s = e.image, t = Math.max((i = s == null ? void 0 : s.width) != null ? i : 1, 1), o = Math.max((r = s == null ? void 0 : s.height) != null ? r : 1, 1);
226
+ return new g.Vector2(1 / t, 1 / o);
227
+ }
223
228
  static createSharedMesh(e, s, t) {
224
- const r = Math.max(1, Math.ceil(Math.sqrt(0))), l = 1, n = new Float32Array(r * l * 4), a = new g.DataTexture(n, r, l, g.RGBAFormat, g.FloatType);
229
+ const r = Math.max(1, Math.ceil(Math.sqrt(0))), h = 1, n = new Float32Array(r * h * 4), a = new g.DataTexture(n, r, h, g.RGBAFormat, g.FloatType);
225
230
  a.needsUpdate = !0;
226
231
  const d = new g.ShaderMaterial({
227
- vertexShader: z,
228
- fragmentShader: G,
232
+ vertexShader: $,
233
+ fragmentShader: V,
229
234
  uniforms: {
230
235
  map: { value: e },
231
236
  mergedTexture: { value: a },
232
237
  groupCount: { value: 0 },
233
238
  textureWidth: { value: r },
234
- pixelsPerGroup: { value: 3 }
239
+ pixelsPerGroup: { value: 3 },
240
+ maskTexelSize: { value: l.getMaskTexelSize(e) }
235
241
  },
236
242
  depthWrite: !1,
237
243
  depthTest: !1,
@@ -264,26 +270,26 @@ const h = class extends D {
264
270
  s.__maskRaycastSet = !0;
265
271
  let t = null, o = null;
266
272
  const i = () => {
267
- const l = e.maskTexture;
268
- if (!(l != null && l.image))
273
+ const h = e.maskTexture;
274
+ if (!(h != null && h.image))
269
275
  return null;
270
- if (o === l && t)
276
+ if (o === h && t)
271
277
  return t;
272
- o = l;
278
+ o = h;
273
279
  try {
274
280
  const n = document.createElement("canvas"), a = n.getContext("2d");
275
281
  if (!a)
276
282
  return null;
277
- const d = l.image;
283
+ const d = h.image;
278
284
  return n.width = d.width, n.height = d.height, a.drawImage(d, 0, 0), t = a.getImageData(0, 0, d.width, d.height), t;
279
285
  } catch (n) {
280
286
  return null;
281
287
  }
282
288
  }, r = s.raycast.bind(s);
283
- s.raycast = (l, n) => {
289
+ s.raycast = (h, n) => {
284
290
  var k, I;
285
291
  const a = [];
286
- if (r(l, a), a.length === 0)
292
+ if (r(h, a), a.length === 0)
287
293
  return;
288
294
  const d = a[0];
289
295
  if (!d.uv || !((k = e.maskTexture) != null && k.image))
@@ -324,16 +330,16 @@ const h = class extends D {
324
330
  var a, d, u;
325
331
  if (!this.maskMesh || this._sharedMeshKey === null || this.sharedStyleIndex < 0)
326
332
  return;
327
- const s = h.sharedMeshRegistry.get(this._sharedMeshKey);
333
+ const s = l.sharedMeshRegistry.get(this._sharedMeshKey);
328
334
  if (!s)
329
335
  return;
330
- const i = { opacity: this.buildStyleForMaterial().opacity }, r = (a = e == null ? void 0 : e.duration) != null ? a : 300, l = (d = e == null ? void 0 : e.loop) != null ? d : 4, n = $({
336
+ const i = { opacity: this.buildStyleForMaterial().opacity }, r = (a = e == null ? void 0 : e.duration) != null ? a : 300, h = (d = e == null ? void 0 : e.loop) != null ? d : 4, n = D({
331
337
  targets: i,
332
338
  opacity: [0, 1],
333
339
  duration: r,
334
340
  easing: (u = e == null ? void 0 : e.easing) != null ? u : "easeInOutQuad",
335
341
  direction: "alternate",
336
- loop: l,
342
+ loop: h,
337
343
  update: () => {
338
344
  const p = this.buildStyleForMaterial();
339
345
  p.opacity = i.opacity, this.updateStyleSlotInMaterial(s.material, this.sharedStyleIndex, p);
@@ -352,7 +358,7 @@ const h = class extends D {
352
358
  */
353
359
  set(e, s = !0) {
354
360
  var o, i;
355
- super.set(e, s), e.style && (this.tagStyle = v(v({}, this.tagStyle), e.style), (o = e.style) != null && o.mask && this.updateMaskStyle());
361
+ super.set(e, s), e.style && (this.tagStyle = C(C({}, this.tagStyle), e.style), (o = e.style) != null && o.mask && this.updateMaskStyle());
356
362
  const t = (i = e.mask) != null ? i : e.maskUrl;
357
363
  t && t !== this.maskUrl && (this.maskUrl = t, this.updateSharedMeshTexture()), e.color !== void 0 && (this.targetColor = w(e.color), this.updateMaskStyle()), this.maskMesh && this.updateMaskStyle();
358
364
  }
@@ -369,7 +375,7 @@ const h = class extends D {
369
375
  try {
370
376
  if (!this.enabled || !this.plugin.state.enabled || !this.fiveUtil.model || !this.maskUrl)
371
377
  return !1;
372
- const t = v(v({}, this.five.getCurrentState()), e), { panoIndex: o } = t;
378
+ const t = C(C({}, this.five.getCurrentState()), e), { panoIndex: o } = t;
373
379
  return o !== ((s = this.fiveState) == null ? void 0 : s.panoIndex) ? !1 : super.getVisible(t);
374
380
  } catch (t) {
375
381
  return !1;
@@ -381,7 +387,7 @@ const h = class extends D {
381
387
  */
382
388
  computeVisible(e) {
383
389
  var o, i, r;
384
- const s = v(v({}, this.five.getCurrentState()), e), { panoIndex: t } = s;
390
+ const s = C(C({}, this.five.getCurrentState()), e), { panoIndex: t } = s;
385
391
  return t !== ((o = this.fiveState) == null ? void 0 : o.panoIndex) ? {
386
392
  value: !1,
387
393
  reason: {
@@ -475,7 +481,7 @@ const h = class extends D {
475
481
  const s = this.workUtil.getObserver(e);
476
482
  if (!s)
477
483
  return;
478
- this.maskMesh.position.copy(L(s.position, this.workUtil.transform)), this.maskMesh.quaternion.copy(s.quaternion);
484
+ this.maskMesh.position.copy(G(s.position, this.workUtil.transform)), this.maskMesh.quaternion.copy(s.quaternion);
479
485
  const t = new g.Vector3(), o = new g.Quaternion(), i = new g.Vector3();
480
486
  this.workUtil.transform.decompose(t, o, i), this.maskMesh.quaternion.multiply(o), this.five.needsRender = !0;
481
487
  }
@@ -485,17 +491,17 @@ const h = class extends D {
485
491
  * @returns {Array} 解析后的 styleList
486
492
  */
487
493
  parseStyleListFromMaterial(e) {
488
- const s = e.uniforms, t = s.groupCount.value, o = s.pixelsPerGroup.value, r = s.mergedTexture.value.image.data, l = [];
494
+ const s = e.uniforms, t = s.groupCount.value, o = s.pixelsPerGroup.value, r = s.mergedTexture.value.image.data, h = [];
489
495
  for (let n = 0; n < t; n++) {
490
- const a = n * o, d = a * 4, u = r[d] * 255, p = r[d + 1] * 255, C = r[d + 2] * 255, y = r[d + 3], f = (a + 1) * 4, M = r[f] * 255, k = r[f + 1] * 255, I = r[f + 2] * 255, T = r[f + 3] * 255, K = (a + 2) * 4, P = r[K];
491
- l.push({
492
- color: [Math.round(u), Math.round(p), Math.round(C), y],
496
+ const a = n * o, d = a * 4, u = r[d] * 255, p = r[d + 1] * 255, v = r[d + 2] * 255, y = r[d + 3], f = (a + 1) * 4, M = r[f] * 255, k = r[f + 1] * 255, I = r[f + 2] * 255, T = r[f + 3] * 255, K = (a + 2) * 4, P = r[K];
497
+ h.push({
498
+ color: [Math.round(u), Math.round(p), Math.round(v), y],
493
499
  tolerance: Math.round(M),
494
500
  highlightColor: [Math.round(k), Math.round(I), Math.round(T)],
495
501
  opacity: P
496
502
  });
497
503
  }
498
- return l;
504
+ return h;
499
505
  }
500
506
  /**
501
507
  * 步骤2:更新材质的样式纹理(追加新元素后)
@@ -505,9 +511,9 @@ const h = class extends D {
505
511
  appendStyleToMaterial(e, s) {
506
512
  const t = this.parseStyleListFromMaterial(e);
507
513
  Array.isArray(s) ? t.push(...s) : t.push(s);
508
- const o = t.length, i = 3, l = o * i, n = 1, a = new Float32Array(l * n * 4);
509
- t.forEach((p, C) => {
510
- const y = C * i, f = y * 4;
514
+ const o = t.length, i = 3, h = o * i, n = 1, a = new Float32Array(h * n * 4);
515
+ t.forEach((p, v) => {
516
+ const y = v * i, f = y * 4;
511
517
  a[f] = p.color[0] / 255, a[f + 1] = p.color[1] / 255, a[f + 2] = p.color[2] / 255, a[f + 3] = p.color[3];
512
518
  const M = (y + 1) * 4;
513
519
  a[M] = p.tolerance / 255, a[M + 1] = p.highlightColor[0] / 255, a[M + 2] = p.highlightColor[1] / 255, a[M + 3] = p.highlightColor[2] / 255;
@@ -515,7 +521,7 @@ const h = class extends D {
515
521
  a[k] = p.opacity, a[k + 1] = 0, a[k + 2] = 0, a[k + 3] = 0;
516
522
  });
517
523
  const d = e.uniforms.mergedTexture.value, u = d.image;
518
- u.data = a, u.width = l, u.height = n, d.needsUpdate = !0, e.uniforms.groupCount.value = o, e.uniforms.textureWidth.value = l, console.log(`成功追加样式,当前总组数:${o}`);
524
+ u.data = a, u.width = h, u.height = n, d.needsUpdate = !0, e.uniforms.groupCount.value = o, e.uniforms.textureWidth.value = h, console.log(`成功追加样式,当前总组数:${o}`);
519
525
  }
520
526
  /**
521
527
  * 获取 Mask 样式配置(合并用户配置和默认值)
@@ -560,10 +566,10 @@ const h = class extends D {
560
566
  // eslint-disable-next-line @typescript-eslint/no-unused-vars -- 保留参数与 set() 调用一致
561
567
  reloadMask(e) {
562
568
  var i;
563
- const s = (i = this.fiveState) == null ? void 0 : i.panoIndex, t = this.getColorKey(), o = typeof s == "number" ? h.getMeshKey(s) : this._sharedMeshKey;
569
+ const s = (i = this.fiveState) == null ? void 0 : i.panoIndex, t = this.getColorKey(), o = typeof s == "number" ? l.getMeshKey(s) : this._sharedMeshKey;
564
570
  if (o) {
565
- const r = h.sharedMeshRegistry.get(o);
566
- r && (r.tagsByColorKey.delete(t), r.styleIndexByColorKey.delete(t), r.tagsByColorKey.size === 0 && (r.mesh.parent && r.mesh.parent.remove(r.mesh), r.mesh.geometry.dispose(), r.mesh.material.dispose(), r.material.uniforms.mergedTexture.value.dispose(), h.releaseMaskTexture(r.maskSource), h.sharedMeshRegistry.delete(o)));
571
+ const r = l.sharedMeshRegistry.get(o);
572
+ r && (r.tagsByColorKey.delete(t), r.styleIndexByColorKey.delete(t), r.tagsByColorKey.size === 0 && (r.mesh.parent && r.mesh.parent.remove(r.mesh), r.mesh.geometry.dispose(), r.mesh.material.dispose(), r.material.uniforms.mergedTexture.value.dispose(), l.releaseMaskTexture(r.maskSource), l.sharedMeshRegistry.delete(o)));
567
573
  }
568
574
  this.maskMesh = void 0, this._sharedMeshKey = null, this.sharedStyleIndex = -1, this.maskTexture = void 0, this.visible && !this.loadingMask && this.initializeMaskMesh();
569
575
  }
@@ -579,15 +585,15 @@ const h = class extends D {
579
585
  const e = (i = this.fiveState) == null ? void 0 : i.panoIndex;
580
586
  if (typeof e != "number")
581
587
  return;
582
- const s = h.getMeshKey(e), t = h.sharedMeshRegistry.get(s);
588
+ const s = l.getMeshKey(e), t = l.sharedMeshRegistry.get(s);
583
589
  if (!t) {
584
590
  yield this.initializeMaskMesh();
585
591
  return;
586
592
  }
587
593
  if (t.maskSource === this.maskUrl)
588
594
  return;
589
- const o = yield h.loadMaskTexture(this.maskUrl);
590
- this.maskTexture = o, h.releaseMaskTexture(t.maskSource), t.maskTexture = o, t.maskSource = this.maskUrl, t.material.uniforms.map.value = o, this.five.needsRender = !0;
595
+ const o = yield l.loadMaskTexture(this.maskUrl);
596
+ this.maskTexture = o, l.releaseMaskTexture(t.maskSource), t.maskTexture = o, t.maskSource = this.maskUrl, t.material.uniforms.map.value = o, t.material.uniforms.maskTexelSize.value = l.getMaskTexelSize(o), this.five.needsRender = !0;
591
597
  });
592
598
  }
593
599
  /**
@@ -596,7 +602,7 @@ const h = class extends D {
596
602
  updateMaskStyle() {
597
603
  if (!this.maskMesh || this._sharedMeshKey === null || this.sharedStyleIndex < 0)
598
604
  return;
599
- const e = h.sharedMeshRegistry.get(this._sharedMeshKey);
605
+ const e = l.sharedMeshRegistry.get(this._sharedMeshKey);
600
606
  e && this.updateStyleSlotInMaterial(e.material, this.sharedStyleIndex, this.buildStyleForMaterial());
601
607
  }
602
608
  /**
@@ -620,8 +626,8 @@ const h = class extends D {
620
626
  this._disposed = !0, this.cleanupClickEvents();
621
627
  const e = this._sharedMeshKey, s = this.getColorKey();
622
628
  if (e) {
623
- const t = h.sharedMeshRegistry.get(e);
624
- t && (t.tagsByColorKey.delete(s), t.styleIndexByColorKey.delete(s), t.tagsByColorKey.size === 0 ? (t.mesh.parent && t.mesh.parent.remove(t.mesh), t.mesh.geometry.dispose(), t.mesh.material.dispose(), t.material.uniforms.mergedTexture.value.dispose(), h.releaseMaskTexture(t.maskSource), h.sharedMeshRegistry.delete(e)) : h.rebuildEntryMaterial(t));
629
+ const t = l.sharedMeshRegistry.get(e);
630
+ t && (t.tagsByColorKey.delete(s), t.styleIndexByColorKey.delete(s), t.tagsByColorKey.size === 0 ? (t.mesh.parent && t.mesh.parent.remove(t.mesh), t.mesh.geometry.dispose(), t.mesh.material.dispose(), t.material.uniforms.mergedTexture.value.dispose(), l.releaseMaskTexture(t.maskSource), l.sharedMeshRegistry.delete(e)) : l.rebuildEntryMaterial(t));
625
631
  }
626
632
  this.maskMesh = void 0, this._sharedMeshKey = null, this.sharedStyleIndex = -1, this.maskTexture = void 0, this.five.needsRender = !0;
627
633
  }
@@ -653,27 +659,27 @@ const h = class extends D {
653
659
  * 清除所有点位共享 mesh(重新 load 数据前调用)
654
660
  */
655
661
  static clearSharedMeshRegistry() {
656
- h.sharedMeshRegistry.forEach((e) => {
662
+ l.sharedMeshRegistry.forEach((e) => {
657
663
  e.tagsByColorKey.forEach((s) => {
658
664
  s.maskMesh = void 0, s._sharedMeshKey = null, s.sharedStyleIndex = -1;
659
- }), e.mesh.parent && e.mesh.parent.remove(e.mesh), e.mesh.geometry.dispose(), e.mesh.material.dispose(), e.material.uniforms.mergedTexture.value.dispose(), h.releaseMaskTexture(e.maskSource);
660
- }), h.sharedMeshRegistry.clear();
665
+ }), e.mesh.parent && e.mesh.parent.remove(e.mesh), e.mesh.geometry.dispose(), e.mesh.material.dispose(), e.material.uniforms.mergedTexture.value.dispose(), l.releaseMaskTexture(e.maskSource);
666
+ }), l.sharedMeshRegistry.clear();
661
667
  }
662
668
  /**
663
669
  * 将 style 列表写入材质(用于重建材质)
664
670
  */
665
671
  static writeStyleListToMaterial(e, s) {
666
- const t = s.length, o = 3, r = t * o, l = 1, n = new Float32Array(r * l * 4);
672
+ const t = s.length, o = 3, r = t * o, h = 1, n = new Float32Array(r * h * 4);
667
673
  s.forEach((u, p) => {
668
- const C = p * o, y = C * 4;
674
+ const v = p * o, y = v * 4;
669
675
  n[y] = u.color[0] / 255, n[y + 1] = u.color[1] / 255, n[y + 2] = u.color[2] / 255, n[y + 3] = u.color[3];
670
- const f = (C + 1) * 4;
676
+ const f = (v + 1) * 4;
671
677
  n[f] = u.tolerance / 255, n[f + 1] = u.highlightColor[0] / 255, n[f + 2] = u.highlightColor[1] / 255, n[f + 3] = u.highlightColor[2] / 255;
672
- const M = (C + 2) * 4;
678
+ const M = (v + 2) * 4;
673
679
  n[M] = u.opacity;
674
680
  });
675
681
  const a = e.uniforms.mergedTexture.value, d = a.image;
676
- d.data = n, d.width = r, d.height = l, a.needsUpdate = !0, e.uniforms.groupCount.value = t, e.uniforms.textureWidth.value = r;
682
+ d.data = n, d.width = r, d.height = h, a.needsUpdate = !0, e.uniforms.groupCount.value = t, e.uniforms.textureWidth.value = r;
677
683
  }
678
684
  /**
679
685
  * destroy 后重建该点位材质,更新剩余 tag 的 styleIndex
@@ -683,7 +689,7 @@ const h = class extends D {
683
689
  if (s.length === 0)
684
690
  return;
685
691
  const t = s.map((o) => o.getStyleForMaterial());
686
- h.writeStyleListToMaterial(e.material, t), s.forEach((o, i) => {
692
+ l.writeStyleListToMaterial(e.material, t), s.forEach((o, i) => {
687
693
  o.sharedStyleIndex = i, e.styleIndexByColorKey.set(`${o.targetColor[0]},${o.targetColor[1]},${o.targetColor[2]}`, i);
688
694
  });
689
695
  }
@@ -696,8 +702,8 @@ const h = class extends D {
696
702
  if (typeof e == "string")
697
703
  return e;
698
704
  {
699
- let s = h.canvasSymbolMap.get(e);
700
- return s || (s = Symbol("canvas-mask"), h.canvasSymbolMap.set(e, s)), s;
705
+ let s = l.canvasSymbolMap.get(e);
706
+ return s || (s = Symbol("canvas-mask"), l.canvasSymbolMap.set(e, s)), s;
701
707
  }
702
708
  }
703
709
  /**
@@ -707,7 +713,7 @@ const h = class extends D {
707
713
  */
708
714
  static loadMaskTexture(e) {
709
715
  return S(this, null, function* () {
710
- const s = h.getMaskCacheKey(e), t = h.maskTextureCache.get(s);
716
+ const s = l.getMaskCacheKey(e), t = l.maskTextureCache.get(s);
711
717
  if (t)
712
718
  return t.refCount++, t.texture;
713
719
  const o = performance.now(), i = new AbortController();
@@ -735,13 +741,13 @@ const h = class extends D {
735
741
  });
736
742
  } else
737
743
  r = new g.CanvasTexture(e), r.needsUpdate = !0, console.log("[MaskTag] Created texture from canvas, size:", e.width, "x", e.height);
738
- r.wrapS = g.ClampToEdgeWrapping, r.wrapT = g.ClampToEdgeWrapping, r.minFilter = g.LinearFilter, r.magFilter = g.LinearFilter, r.anisotropy = 4, r instanceof g.CanvasTexture && (r.needsUpdate = !0), h.maskTextureCache.set(s, {
744
+ r.wrapS = g.ClampToEdgeWrapping, r.wrapT = g.ClampToEdgeWrapping, r.minFilter = g.NearestFilter, r.magFilter = g.NearestFilter, r.anisotropy = 4, r instanceof g.CanvasTexture && (r.needsUpdate = !0), l.maskTextureCache.set(s, {
739
745
  texture: r,
740
746
  refCount: 1,
741
747
  abortController: i
742
748
  });
743
- const l = performance.now() - o, n = typeof e == "string" ? e.substring(0, 50) : "Canvas";
744
- if (console.log(`[MaskTag Performance] Texture loaded in ${l.toFixed(2)}ms, source: ${n}`), r.image) {
749
+ const h = performance.now() - o, n = typeof e == "string" ? e.substring(0, 50) : "Canvas";
750
+ if (console.log(`[MaskTag Performance] Texture loaded in ${h.toFixed(2)}ms, source: ${n}`), r.image) {
745
751
  const a = (r.image.width * r.image.height * 4 / 1048576).toFixed(2);
746
752
  console.log(`[MaskTag Memory] Texture size: ${r.image.width}x${r.image.height}, estimated memory: ${a}MB`);
747
753
  }
@@ -757,10 +763,10 @@ const h = class extends D {
757
763
  */
758
764
  static releaseMaskTexture(e) {
759
765
  var o;
760
- const s = h.getMaskCacheKey(e), t = h.maskTextureCache.get(s);
766
+ const s = l.getMaskCacheKey(e), t = l.maskTextureCache.get(s);
761
767
  if (t && (t.refCount--, t.refCount <= 0)) {
762
768
  const i = typeof e == "string" ? e.substring(0, 50) : "Canvas";
763
- console.log(`[MaskTag Memory] Releasing texture (refCount=0): ${i}`), (o = t.abortController) == null || o.abort(), t.texture.dispose(), h.maskTextureCache.delete(s);
769
+ console.log(`[MaskTag Memory] Releasing texture (refCount=0): ${i}`), (o = t.abortController) == null || o.abort(), t.texture.dispose(), l.maskTextureCache.delete(s);
764
770
  }
765
771
  }
766
772
  /**
@@ -770,21 +776,21 @@ const h = class extends D {
770
776
  static getCacheStats() {
771
777
  let e = 0, s = 0;
772
778
  const t = [];
773
- return h.maskTextureCache.forEach((o, i) => {
779
+ return l.maskTextureCache.forEach((o, i) => {
774
780
  e += o.refCount;
775
781
  let r = 0;
776
782
  if (o.texture.image) {
777
783
  const n = o.texture.image.width || 0, a = o.texture.image.height || 0;
778
784
  r = n * a * 4 / (1024 * 1024), s += r;
779
785
  }
780
- const l = typeof i == "string" ? i.substring(0, 80) : "[Canvas]";
786
+ const h = typeof i == "string" ? i.substring(0, 80) : "[Canvas]";
781
787
  t.push({
782
- source: l,
788
+ source: h,
783
789
  refCount: o.refCount,
784
790
  sizeMB: parseFloat(r.toFixed(2))
785
791
  });
786
792
  }), {
787
- totalCached: h.maskTextureCache.size,
793
+ totalCached: l.maskTextureCache.size,
788
794
  totalRefCount: e,
789
795
  estimatedMemoryMB: parseFloat(s.toFixed(2)),
790
796
  cacheEntries: t
@@ -795,13 +801,13 @@ const h = class extends D {
795
801
  * 注意:这会释放所有纹理,即使它们仍在使用中
796
802
  */
797
803
  static clearAllCache() {
798
- console.warn("[MaskTag] Clearing all texture cache"), h.maskTextureCache.forEach((e) => {
804
+ console.warn("[MaskTag] Clearing all texture cache"), l.maskTextureCache.forEach((e) => {
799
805
  var s;
800
806
  (s = e.abortController) == null || s.abort(), e.texture.dispose();
801
- }), h.maskTextureCache.clear();
807
+ }), l.maskTextureCache.clear();
802
808
  }
803
809
  };
804
- let b = h;
810
+ let b = l;
805
811
  /**
806
812
  * Mask 纹理缓存(静态,所有 MaskTag 实例共享)
807
813
  * key: mask URL 或 canvas 的 symbol, value: { texture: THREE.Texture, refCount: number, abortController?: AbortController }
@@ -7,4 +7,4 @@
7
7
  */
8
8
  export declare const maskVertexShader = "\nvarying vec2 vUv;\nvoid main() {\n vUv = uv;\n gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\n}\n";
9
9
  /** 多 style:mergedTexture 中每组 3 像素为 color(id)/tolerance+highlight/opacity,用 color 作 id 匹配 */
10
- export declare const maskFragmentShaderMulti = "\n#define RESOLUTION 2048.0\n#define MAX_GROUPS 64\n#define STRICT_MATCH 0.5/255.0\n\nvarying vec2 vUv;\nuniform sampler2D map;\nuniform sampler2D mergedTexture;\nuniform float groupCount;\nuniform float textureWidth;\nuniform float pixelsPerGroup;\n\nfloat colorGap(vec3 a, vec3 b) {\n return abs(a.r - b.r) + abs(a.g - b.g) + abs(a.b - b.b);\n}\n\nvec4 readStyleColor(float groupIndex) {\n float px = groupIndex * pixelsPerGroup;\n float texX = (px + 0.5) / textureWidth;\n return texture2D(mergedTexture, vec2(texX, 0.5));\n}\n\nvec4 readStyleToleranceHighlight(float groupIndex) {\n float px = groupIndex * pixelsPerGroup + 1.0;\n float texX = (px + 0.5) / textureWidth;\n return texture2D(mergedTexture, vec2(texX, 0.5));\n}\n\nfloat readStyleOpacity(float groupIndex) {\n float px = groupIndex * pixelsPerGroup + 2.0;\n float texX = (px + 0.5) / textureWidth;\n return texture2D(mergedTexture, vec2(texX, 0.5)).r;\n}\n\nfloat detectEdge(sampler2D map, vec2 uv, vec3 matchColor, float tolerance) {\n vec4 centerColor = texture2D(map, uv);\n if (colorGap(centerColor.rgb, matchColor) >= tolerance) return 0.0;\n float step = 1.0 / RESOLUTION;\n vec4 u = texture2D(map, uv + vec2(0.0, -step));\n vec4 l = texture2D(map, uv + vec2(-step, 0.0));\n vec4 r = texture2D(map, uv + vec2(step, 0.0));\n vec4 d = texture2D(map, uv + vec2(0.0, step));\n bool edge = colorGap(u.rgb, matchColor) >= tolerance || colorGap(l.rgb, matchColor) >= tolerance\n || colorGap(r.rgb, matchColor) >= tolerance || colorGap(d.rgb, matchColor) >= tolerance;\n return edge ? 1.0 : 0.0;\n}\n\nvoid main() {\n vec4 image = texture2D(map, vUv);\n if (image.r == 0.0 && image.g == 0.0 && image.b == 0.0) discard;\n\n // WebGL 1.0 \u8981\u6C42\u5FAA\u73AF\u7EC8\u6B62\u6761\u4EF6\u5FC5\u987B\u662F\u7F16\u8BD1\u65F6\u5E38\u91CF\uFF0C\u6240\u4EE5\u7528 MAX_GROUPS\uFF0C\u5FAA\u73AF\u5185\u68C0\u67E5 groupCount\n for (float i = 0.0; i < float(MAX_GROUPS); i += 1.0) {\n if (i < groupCount) {\n vec4 styleColor = readStyleColor(i);\n vec3 colorRgb = styleColor.rgb;\n float tol = readStyleToleranceHighlight(i).r * 3.0;\n vec3 highlight = readStyleToleranceHighlight(i).gba;\n float opacity = readStyleOpacity(i);\n \n if (opacity > 0.0) {\n float gap = colorGap(image.rgb, colorRgb);\n if (gap > STRICT_MATCH) continue;\n float smoothRange = 0.01;\n float matchFactor = 1.0 - smoothstep(tol - smoothRange, tol + smoothRange, gap);\n if (matchFactor > 0.0) {\n float isEdge = detectEdge(map, vUv, colorRgb, tol);\n float alpha = mix(opacity, 1.0, isEdge);\n alpha *= max(matchFactor, 0.9);\n gl_FragColor = vec4(highlight, alpha);\n return;\n }\n }\n }\n }\n discard;\n}\n";
10
+ export declare const maskFragmentShaderMulti = "\n#define MAX_GROUPS 64\n#define STRICT_MATCH 0.5/255.0\n\nvarying vec2 vUv;\nuniform sampler2D map;\nuniform sampler2D mergedTexture;\nuniform float groupCount;\nuniform float textureWidth;\nuniform float pixelsPerGroup;\nuniform vec2 maskTexelSize;\n\nfloat colorGap(vec3 a, vec3 b) {\n return abs(a.r - b.r) + abs(a.g - b.g) + abs(a.b - b.b);\n}\n\nfloat exactMatch(vec3 sampleColor, vec3 targetColor) {\n return colorGap(sampleColor, targetColor) <= STRICT_MATCH ? 1.0 : 0.0;\n}\n\nvec4 readStyleColor(float groupIndex) {\n float px = groupIndex * pixelsPerGroup;\n float texX = (px + 0.5) / textureWidth;\n return texture2D(mergedTexture, vec2(texX, 0.5));\n}\n\nvec4 readStyleToleranceHighlight(float groupIndex) {\n float px = groupIndex * pixelsPerGroup + 1.0;\n float texX = (px + 0.5) / textureWidth;\n return texture2D(mergedTexture, vec2(texX, 0.5));\n}\n\nfloat readStyleOpacity(float groupIndex) {\n float px = groupIndex * pixelsPerGroup + 2.0;\n float texX = (px + 0.5) / textureWidth;\n return texture2D(mergedTexture, vec2(texX, 0.5)).r;\n}\n\nvoid main() {\n vec4 center = texture2D(map, vUv);\n vec2 quarterTexel = maskTexelSize * 0.25;\n vec3 sample0 = texture2D(map, vUv + quarterTexel * vec2(-1.0, -1.0)).rgb;\n vec3 sample1 = texture2D(map, vUv + quarterTexel * vec2(1.0, -1.0)).rgb;\n vec3 sample2 = texture2D(map, vUv + quarterTexel * vec2(-1.0, 1.0)).rgb;\n vec3 sample3 = texture2D(map, vUv + quarterTexel * vec2(1.0, 1.0)).rgb;\n\n float bestCoverage = 0.0;\n float bestScore = -1.0;\n float bestOpacity = 0.0;\n vec3 bestHighlight = vec3(0.0);\n\n // WebGL 1.0 \u8981\u6C42\u5FAA\u73AF\u7EC8\u6B62\u6761\u4EF6\u5FC5\u987B\u662F\u7F16\u8BD1\u65F6\u5E38\u91CF\uFF0C\u6240\u4EE5\u7528 MAX_GROUPS\uFF0C\u5FAA\u73AF\u5185\u68C0\u67E5 groupCount\n for (float i = 0.0; i < float(MAX_GROUPS); i += 1.0) {\n if (i < groupCount) {\n vec3 colorRgb = readStyleColor(i).rgb;\n vec3 highlight = readStyleToleranceHighlight(i).gba;\n float opacity = readStyleOpacity(i);\n\n if (opacity > 0.0) {\n float coverage = 0.25 * (\n exactMatch(sample0, colorRgb) +\n exactMatch(sample1, colorRgb) +\n exactMatch(sample2, colorRgb) +\n exactMatch(sample3, colorRgb)\n );\n // coverage \u76F8\u540C\u65F6\u4F18\u5148\u9009\u62E9\u4E2D\u5FC3\u50CF\u7D20\u6240\u5C5E\u6807\u7B7E\uFF0C\u907F\u514D\u76F8\u90BB\u6807\u7B7E\u8FB9\u754C\u968F\u6CE8\u518C\u987A\u5E8F\u95EA\u70C1\u3002\n float score = coverage + exactMatch(center.rgb, colorRgb) * 0.001;\n if (coverage > 0.0 && score > bestScore) {\n bestCoverage = coverage;\n bestScore = score;\n bestOpacity = opacity;\n bestHighlight = highlight;\n }\n }\n }\n }\n\n if (bestCoverage > 0.0) {\n gl_FragColor = vec4(bestHighlight, bestOpacity * bestCoverage);\n return;\n }\n discard;\n}\n";
@@ -10,7 +10,6 @@ void main() {
10
10
  ), t = (
11
11
  /* glsl */
12
12
  `
13
- #define RESOLUTION 2048.0
14
13
  #define MAX_GROUPS 64
15
14
  #define STRICT_MATCH 0.5/255.0
16
15
 
@@ -20,11 +19,16 @@ uniform sampler2D mergedTexture;
20
19
  uniform float groupCount;
21
20
  uniform float textureWidth;
22
21
  uniform float pixelsPerGroup;
22
+ uniform vec2 maskTexelSize;
23
23
 
24
24
  float colorGap(vec3 a, vec3 b) {
25
25
  return abs(a.r - b.r) + abs(a.g - b.g) + abs(a.b - b.b);
26
26
  }
27
27
 
28
+ float exactMatch(vec3 sampleColor, vec3 targetColor) {
29
+ return colorGap(sampleColor, targetColor) <= STRICT_MATCH ? 1.0 : 0.0;
30
+ }
31
+
28
32
  vec4 readStyleColor(float groupIndex) {
29
33
  float px = groupIndex * pixelsPerGroup;
30
34
  float texX = (px + 0.5) / textureWidth;
@@ -43,47 +47,49 @@ float readStyleOpacity(float groupIndex) {
43
47
  return texture2D(mergedTexture, vec2(texX, 0.5)).r;
44
48
  }
45
49
 
46
- float detectEdge(sampler2D map, vec2 uv, vec3 matchColor, float tolerance) {
47
- vec4 centerColor = texture2D(map, uv);
48
- if (colorGap(centerColor.rgb, matchColor) >= tolerance) return 0.0;
49
- float step = 1.0 / RESOLUTION;
50
- vec4 u = texture2D(map, uv + vec2(0.0, -step));
51
- vec4 l = texture2D(map, uv + vec2(-step, 0.0));
52
- vec4 r = texture2D(map, uv + vec2(step, 0.0));
53
- vec4 d = texture2D(map, uv + vec2(0.0, step));
54
- bool edge = colorGap(u.rgb, matchColor) >= tolerance || colorGap(l.rgb, matchColor) >= tolerance
55
- || colorGap(r.rgb, matchColor) >= tolerance || colorGap(d.rgb, matchColor) >= tolerance;
56
- return edge ? 1.0 : 0.0;
57
- }
58
-
59
50
  void main() {
60
- vec4 image = texture2D(map, vUv);
61
- if (image.r == 0.0 && image.g == 0.0 && image.b == 0.0) discard;
51
+ vec4 center = texture2D(map, vUv);
52
+ vec2 quarterTexel = maskTexelSize * 0.25;
53
+ vec3 sample0 = texture2D(map, vUv + quarterTexel * vec2(-1.0, -1.0)).rgb;
54
+ vec3 sample1 = texture2D(map, vUv + quarterTexel * vec2(1.0, -1.0)).rgb;
55
+ vec3 sample2 = texture2D(map, vUv + quarterTexel * vec2(-1.0, 1.0)).rgb;
56
+ vec3 sample3 = texture2D(map, vUv + quarterTexel * vec2(1.0, 1.0)).rgb;
57
+
58
+ float bestCoverage = 0.0;
59
+ float bestScore = -1.0;
60
+ float bestOpacity = 0.0;
61
+ vec3 bestHighlight = vec3(0.0);
62
62
 
63
63
  // WebGL 1.0 要求循环终止条件必须是编译时常量,所以用 MAX_GROUPS,循环内检查 groupCount
64
64
  for (float i = 0.0; i < float(MAX_GROUPS); i += 1.0) {
65
65
  if (i < groupCount) {
66
- vec4 styleColor = readStyleColor(i);
67
- vec3 colorRgb = styleColor.rgb;
68
- float tol = readStyleToleranceHighlight(i).r * 3.0;
66
+ vec3 colorRgb = readStyleColor(i).rgb;
69
67
  vec3 highlight = readStyleToleranceHighlight(i).gba;
70
68
  float opacity = readStyleOpacity(i);
71
-
69
+
72
70
  if (opacity > 0.0) {
73
- float gap = colorGap(image.rgb, colorRgb);
74
- if (gap > STRICT_MATCH) continue;
75
- float smoothRange = 0.01;
76
- float matchFactor = 1.0 - smoothstep(tol - smoothRange, tol + smoothRange, gap);
77
- if (matchFactor > 0.0) {
78
- float isEdge = detectEdge(map, vUv, colorRgb, tol);
79
- float alpha = mix(opacity, 1.0, isEdge);
80
- alpha *= max(matchFactor, 0.9);
81
- gl_FragColor = vec4(highlight, alpha);
82
- return;
71
+ float coverage = 0.25 * (
72
+ exactMatch(sample0, colorRgb) +
73
+ exactMatch(sample1, colorRgb) +
74
+ exactMatch(sample2, colorRgb) +
75
+ exactMatch(sample3, colorRgb)
76
+ );
77
+ // coverage 相同时优先选择中心像素所属标签,避免相邻标签边界随注册顺序闪烁。
78
+ float score = coverage + exactMatch(center.rgb, colorRgb) * 0.001;
79
+ if (coverage > 0.0 && score > bestScore) {
80
+ bestCoverage = coverage;
81
+ bestScore = score;
82
+ bestOpacity = opacity;
83
+ bestHighlight = highlight;
83
84
  }
84
85
  }
85
86
  }
86
87
  }
88
+
89
+ if (bestCoverage > 0.0) {
90
+ gl_FragColor = vec4(bestHighlight, bestOpacity * bestCoverage);
91
+ return;
92
+ }
87
93
  discard;
88
94
  }
89
95
  `
@@ -1,7 +1,7 @@
1
1
  var e = Object.defineProperty;
2
2
  var s = (o, t, i) => t in o ? e(o, t, { enumerable: !0, configurable: !0, writable: !0, value: i }) : o[t] = i;
3
3
  var r = (o, t, i) => (s(o, typeof t != "symbol" ? t + "" : t, i), i);
4
- import { Subscribe as m } from "../shared-utils/Subscribe.js";
4
+ import { Subscribe as l } from "../shared-utils/Subscribe.js";
5
5
  import "../shared-utils/tag.js";
6
6
  import "three";
7
7
  import "../vendor/hammerjs/hammer.js";
@@ -15,7 +15,7 @@ import "../shared-utils/three/blink.js";
15
15
  import "../vendor/@tweenjs/tween/dist/tween.esm.js.js";
16
16
  import "../CSS3DRenderPlugin/utils/three/CSS3DRender.js";
17
17
  import "../vendor/earcut/src/earcut.js";
18
- import { FiveUtil as l } from "../shared-utils/Utils/FiveUtil.js";
18
+ import { FiveUtil as m } from "../shared-utils/Utils/FiveUtil.js";
19
19
  import { DEFAULT_STATIC_PREFIX as p } from "../shared-utils/url/defaultUrls.js";
20
20
  import "../shared-utils/five/FivePuppet.js";
21
21
  let I = class {
@@ -23,7 +23,7 @@ let I = class {
23
23
  /**
24
24
  * @realsee/dnalogel 版本号
25
25
  */
26
- r(this, "VERSION", "3.81.7");
26
+ r(this, "VERSION", "3.81.8-alpha.2");
27
27
  r(this, "NAME");
28
28
  r(this, "five");
29
29
  r(this, "workUtil");
@@ -31,9 +31,9 @@ let I = class {
31
31
  /**
32
32
  * @description: 插件事件钩子
33
33
  */
34
- r(this, "hooks", new m());
34
+ r(this, "hooks", new l());
35
35
  r(this, "staticPrefix", p);
36
- this.five = t, this.fiveUtil = new l(t), this.workUtil = this.fiveUtil.workUtil, i != null && i.staticPrefix && (this.staticPrefix = i.staticPrefix);
36
+ this.five = t, this.fiveUtil = new m(t), this.workUtil = this.fiveUtil.workUtil, i != null && i.staticPrefix && (this.staticPrefix = i.staticPrefix);
37
37
  }
38
38
  set workCode(t) {
39
39
  this.workUtil.workCode = t, this.onWorkCodeChange();
@@ -1,6 +1,6 @@
1
1
  function A() {
2
2
  console.debug(
3
- "%c %c@realsee/dnalogel %cv3.81.7",
3
+ "%c %c@realsee/dnalogel %cv3.81.8-alpha.2",
4
4
  [
5
5
  "background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAMCAMAAACHgmeRAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAABLFBMVEUAAAAapPoap/oaqvkbrfkbr/gZnfwZoPsaqfnD4v/E4/8Ylv0clPm93/+/4P/B4f8Yj/683/8Wif+33P8Uhv+x2f8ShP+s1v8Pgf+n0/8Nf/+h0f8Lff8Lff8Nf/9dl/+czv8KfP8KfP+Lxf+Uyv+Xy/+Hwv+Jw/+Mxf+Oxv+RyP8aovsapfoap/oZmfwZm/wZnvsYnPsYkf4YlP0NePsDYfgYcfi43f+63v8Xiv8Xjf4EWfwCV/sWZ/qz2v+02/8Vh/8WiP8EUf8CTf4WXv2u1/+v2P8Thf8Thv8ETf8CR/8VV/+o1f+q1f8Qgv8Rg/8DSv8BRf8UVP+j0v+k0v8OgP8Pgf8DR/8DQv9Nhf+dzv+fz/+Kv/+Vyv+Xy/+azf+Oxv+Qx/+SyP////8MUhLdAAAAK3RSTlMACEWQ2bd98uQECPXxqO7c+Pb49vj2+Pb49vj23Oul8fMHA+TwerXXjEIG2P+bHgAAAAFiS0dEY1y+LaoAAAB+SURBVAjXY2BgZGJmYWVgYGBgY9fW0eVg4ORi4NbTNzDk4eXjZxAwMjYxNTO3EGQQsrSytrG1sxdmEHFwdHJ2cXUTZRBz9/D08vbxFWeQ8PMPCAwKDpFkkAoNC4+IjIqWZpCRlZOPiY2LV2BQVGJQTkhMUlEFWaOmrqGpxQAAyg0S9Dq+VPYAAAAASUVORK5CYII=')",
6
6
  "background-repeat: no-repeat",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@realsee/dnalogel",
3
- "version": "3.81.7",
3
+ "version": "3.81.8-alpha.2",
4
4
  "main": "./dist/index.js",
5
5
  "module": "./libs/index.js",
6
6
  "types": "./libs/index.d.ts",