@mlightcad/cad-simple-viewer 1.2.4 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (287) hide show
  1. package/dist/index.js +13000 -10094
  2. package/dist/index.umd.cjs +327 -24
  3. package/dist/libredwg-parser-worker.js +7267 -7238
  4. package/dist/mtext-renderer-worker.js +81 -41
  5. package/lib/app/AcApContext.js +1 -1
  6. package/lib/app/AcApContext.js.map +1 -1
  7. package/lib/app/AcApDocManager.d.ts +20 -3
  8. package/lib/app/AcApDocManager.d.ts.map +1 -1
  9. package/lib/app/AcApDocManager.js +67 -12
  10. package/lib/app/AcApDocManager.js.map +1 -1
  11. package/lib/app/AcApProgress.d.ts +133 -0
  12. package/lib/app/AcApProgress.d.ts.map +1 -0
  13. package/lib/app/AcApProgress.js +148 -0
  14. package/lib/app/AcApProgress.js.map +1 -0
  15. package/lib/app/AcApSettingManager.d.ts +42 -0
  16. package/lib/app/AcApSettingManager.d.ts.map +1 -1
  17. package/lib/app/AcApSettingManager.js +63 -0
  18. package/lib/app/AcApSettingManager.js.map +1 -1
  19. package/lib/app/index.d.ts +0 -1
  20. package/lib/app/index.d.ts.map +1 -1
  21. package/lib/app/index.js +0 -1
  22. package/lib/app/index.js.map +1 -1
  23. package/lib/command/AcApCircleCmd.d.ts +21 -0
  24. package/lib/command/AcApCircleCmd.d.ts.map +1 -0
  25. package/lib/command/AcApCircleCmd.js +115 -0
  26. package/lib/command/AcApCircleCmd.js.map +1 -0
  27. package/lib/command/AcApDimCmd.d.ts +57 -0
  28. package/lib/command/AcApDimCmd.d.ts.map +1 -0
  29. package/lib/command/AcApDimCmd.js +228 -0
  30. package/lib/command/AcApDimCmd.js.map +1 -0
  31. package/lib/command/AcApLogCmd.d.ts +13 -0
  32. package/lib/command/AcApLogCmd.d.ts.map +1 -0
  33. package/lib/command/AcApLogCmd.js +97 -0
  34. package/lib/command/AcApLogCmd.js.map +1 -0
  35. package/lib/command/AcApSysVarCmd.d.ts +15 -0
  36. package/lib/command/AcApSysVarCmd.d.ts.map +1 -0
  37. package/lib/command/AcApSysVarCmd.js +94 -0
  38. package/lib/command/AcApSysVarCmd.js.map +1 -0
  39. package/lib/command/AcApZoomCmd.js +1 -1
  40. package/lib/command/AcApZoomCmd.js.map +1 -1
  41. package/lib/command/AcApZoomToBoxCmd.d.ts +0 -36
  42. package/lib/command/AcApZoomToBoxCmd.d.ts.map +1 -1
  43. package/lib/command/AcApZoomToBoxCmd.js +4 -61
  44. package/lib/command/AcApZoomToBoxCmd.js.map +1 -1
  45. package/lib/command/index.d.ts +4 -0
  46. package/lib/command/index.d.ts.map +1 -1
  47. package/lib/command/index.js +4 -0
  48. package/lib/command/index.js.map +1 -1
  49. package/lib/editor/command/AcEdCommandStack.d.ts +19 -1
  50. package/lib/editor/command/AcEdCommandStack.d.ts.map +1 -1
  51. package/lib/editor/command/AcEdCommandStack.js +40 -0
  52. package/lib/editor/command/AcEdCommandStack.js.map +1 -1
  53. package/lib/editor/input/AcEdCursorManager.d.ts +14 -30
  54. package/lib/editor/input/AcEdCursorManager.d.ts.map +1 -1
  55. package/lib/editor/input/AcEdCursorManager.js +32 -31
  56. package/lib/editor/input/AcEdCursorManager.js.map +1 -1
  57. package/lib/editor/input/AcEdPreviewJig.d.ts +103 -0
  58. package/lib/editor/input/AcEdPreviewJig.d.ts.map +1 -0
  59. package/lib/editor/input/AcEdPreviewJig.js +82 -0
  60. package/lib/editor/input/AcEdPreviewJig.js.map +1 -0
  61. package/lib/editor/input/AcEditor.d.ts +58 -11
  62. package/lib/editor/input/AcEditor.d.ts.map +1 -1
  63. package/lib/editor/input/AcEditor.js +86 -22
  64. package/lib/editor/input/AcEditor.js.map +1 -1
  65. package/lib/editor/input/handler/AcEdAngleHandler.d.ts +12 -0
  66. package/lib/editor/input/handler/AcEdAngleHandler.d.ts.map +1 -0
  67. package/lib/editor/input/handler/AcEdAngleHandler.js +25 -0
  68. package/lib/editor/input/handler/AcEdAngleHandler.js.map +1 -0
  69. package/lib/editor/input/handler/AcEdDistanceHandler.d.ts +8 -0
  70. package/lib/editor/input/handler/AcEdDistanceHandler.d.ts.map +1 -0
  71. package/lib/editor/input/handler/AcEdDistanceHandler.js +29 -0
  72. package/lib/editor/input/handler/AcEdDistanceHandler.js.map +1 -0
  73. package/lib/editor/input/handler/AcEdDoubleHandler.d.ts +7 -0
  74. package/lib/editor/input/handler/AcEdDoubleHandler.d.ts.map +1 -0
  75. package/lib/editor/input/handler/AcEdDoubleHandler.js +28 -0
  76. package/lib/editor/input/handler/AcEdDoubleHandler.js.map +1 -0
  77. package/lib/editor/input/handler/AcEdInputHandler.d.ts +14 -0
  78. package/lib/editor/input/handler/AcEdInputHandler.d.ts.map +1 -0
  79. package/lib/editor/input/handler/AcEdInputHandler.js +2 -0
  80. package/lib/editor/input/handler/AcEdInputHandler.js.map +1 -0
  81. package/lib/editor/input/handler/AcEdIntegerHandler.d.ts +11 -0
  82. package/lib/editor/input/handler/AcEdIntegerHandler.d.ts.map +1 -0
  83. package/lib/editor/input/handler/AcEdIntegerHandler.js +44 -0
  84. package/lib/editor/input/handler/AcEdIntegerHandler.js.map +1 -0
  85. package/lib/editor/input/handler/AcEdNumericalHandler.d.ts +11 -0
  86. package/lib/editor/input/handler/AcEdNumericalHandler.d.ts.map +1 -0
  87. package/lib/editor/input/handler/AcEdNumericalHandler.js +24 -0
  88. package/lib/editor/input/handler/AcEdNumericalHandler.js.map +1 -0
  89. package/lib/editor/input/handler/AcEdPointHandler.d.ts +16 -0
  90. package/lib/editor/input/handler/AcEdPointHandler.d.ts.map +1 -0
  91. package/lib/editor/input/handler/AcEdPointHandler.js +19 -0
  92. package/lib/editor/input/handler/AcEdPointHandler.js.map +1 -0
  93. package/lib/editor/input/handler/AcEdStringHandler.d.ts +12 -0
  94. package/lib/editor/input/handler/AcEdStringHandler.d.ts.map +1 -0
  95. package/lib/editor/input/handler/AcEdStringHandler.js +24 -0
  96. package/lib/editor/input/handler/AcEdStringHandler.js.map +1 -0
  97. package/lib/editor/input/handler/index.d.ts +9 -0
  98. package/lib/editor/input/handler/index.d.ts.map +1 -0
  99. package/lib/editor/input/handler/index.js +9 -0
  100. package/lib/editor/input/handler/index.js.map +1 -0
  101. package/lib/editor/input/index.d.ts +4 -1
  102. package/lib/editor/input/index.d.ts.map +1 -1
  103. package/lib/editor/input/index.js +4 -1
  104. package/lib/editor/input/index.js.map +1 -1
  105. package/lib/editor/input/marker/AcEdMarker.d.ts +72 -0
  106. package/lib/editor/input/marker/AcEdMarker.d.ts.map +1 -0
  107. package/lib/editor/input/marker/AcEdMarker.js +124 -0
  108. package/lib/editor/input/marker/AcEdMarker.js.map +1 -0
  109. package/lib/editor/input/marker/AcEdOSnapMarkerManager.d.ts +52 -0
  110. package/lib/editor/input/marker/AcEdOSnapMarkerManager.d.ts.map +1 -0
  111. package/lib/editor/input/marker/AcEdOSnapMarkerManager.js +91 -0
  112. package/lib/editor/input/marker/AcEdOSnapMarkerManager.js.map +1 -0
  113. package/lib/editor/input/marker/index.d.ts +3 -0
  114. package/lib/editor/input/marker/index.d.ts.map +1 -0
  115. package/lib/editor/input/marker/index.js +3 -0
  116. package/lib/editor/input/marker/index.js.map +1 -0
  117. package/lib/editor/input/prompt/AcEdKeyword.d.ts +63 -0
  118. package/lib/editor/input/prompt/AcEdKeyword.d.ts.map +1 -0
  119. package/lib/editor/input/prompt/AcEdKeyword.js +120 -0
  120. package/lib/editor/input/prompt/AcEdKeyword.js.map +1 -0
  121. package/lib/editor/input/prompt/AcEdKeywordCollection.d.ts +52 -0
  122. package/lib/editor/input/prompt/AcEdKeywordCollection.d.ts.map +1 -0
  123. package/lib/editor/input/prompt/AcEdKeywordCollection.js +103 -0
  124. package/lib/editor/input/prompt/AcEdKeywordCollection.js.map +1 -0
  125. package/lib/editor/input/prompt/AcEdPromptAngleOptions.d.ts +75 -0
  126. package/lib/editor/input/prompt/AcEdPromptAngleOptions.d.ts.map +1 -0
  127. package/lib/editor/input/prompt/AcEdPromptAngleOptions.js +182 -0
  128. package/lib/editor/input/prompt/AcEdPromptAngleOptions.js.map +1 -0
  129. package/lib/editor/input/prompt/AcEdPromptDistanceOptions.d.ts +46 -0
  130. package/lib/editor/input/prompt/AcEdPromptDistanceOptions.d.ts.map +1 -0
  131. package/lib/editor/input/prompt/AcEdPromptDistanceOptions.js +114 -0
  132. package/lib/editor/input/prompt/AcEdPromptDistanceOptions.js.map +1 -0
  133. package/lib/editor/input/prompt/AcEdPromptDoubleOptions.d.ts +10 -0
  134. package/lib/editor/input/prompt/AcEdPromptDoubleOptions.d.ts.map +1 -0
  135. package/lib/editor/input/prompt/AcEdPromptDoubleOptions.js +31 -0
  136. package/lib/editor/input/prompt/AcEdPromptDoubleOptions.js.map +1 -0
  137. package/lib/editor/input/prompt/AcEdPromptIntegerOptions.d.ts +39 -0
  138. package/lib/editor/input/prompt/AcEdPromptIntegerOptions.d.ts.map +1 -0
  139. package/lib/editor/input/prompt/AcEdPromptIntegerOptions.js +84 -0
  140. package/lib/editor/input/prompt/AcEdPromptIntegerOptions.js.map +1 -0
  141. package/lib/editor/input/prompt/AcEdPromptNumericalOptions.d.ts +59 -0
  142. package/lib/editor/input/prompt/AcEdPromptNumericalOptions.d.ts.map +1 -0
  143. package/lib/editor/input/prompt/AcEdPromptNumericalOptions.js +140 -0
  144. package/lib/editor/input/prompt/AcEdPromptNumericalOptions.js.map +1 -0
  145. package/lib/editor/input/prompt/AcEdPromptNumericalResult.d.ts +19 -0
  146. package/lib/editor/input/prompt/AcEdPromptNumericalResult.d.ts.map +1 -0
  147. package/lib/editor/input/prompt/AcEdPromptNumericalResult.js +36 -0
  148. package/lib/editor/input/prompt/AcEdPromptNumericalResult.js.map +1 -0
  149. package/lib/editor/input/prompt/AcEdPromptOptions.d.ts +61 -0
  150. package/lib/editor/input/prompt/AcEdPromptOptions.d.ts.map +1 -0
  151. package/lib/editor/input/prompt/AcEdPromptOptions.js +179 -0
  152. package/lib/editor/input/prompt/AcEdPromptOptions.js.map +1 -0
  153. package/lib/editor/input/prompt/AcEdPromptPointOptions.d.ts +46 -0
  154. package/lib/editor/input/prompt/AcEdPromptPointOptions.d.ts.map +1 -0
  155. package/lib/editor/input/prompt/AcEdPromptPointOptions.js +113 -0
  156. package/lib/editor/input/prompt/AcEdPromptPointOptions.js.map +1 -0
  157. package/lib/editor/input/prompt/AcEdPromptPointResult.d.ts +25 -0
  158. package/lib/editor/input/prompt/AcEdPromptPointResult.d.ts.map +1 -0
  159. package/lib/editor/input/prompt/AcEdPromptPointResult.js +38 -0
  160. package/lib/editor/input/prompt/AcEdPromptPointResult.js.map +1 -0
  161. package/lib/editor/input/prompt/AcEdPromptResult.d.ts +27 -0
  162. package/lib/editor/input/prompt/AcEdPromptResult.d.ts.map +1 -0
  163. package/lib/editor/input/prompt/AcEdPromptResult.js +19 -0
  164. package/lib/editor/input/prompt/AcEdPromptResult.js.map +1 -0
  165. package/lib/editor/input/prompt/AcEdPromptStatus.d.ts +22 -0
  166. package/lib/editor/input/prompt/AcEdPromptStatus.d.ts.map +1 -0
  167. package/lib/editor/input/prompt/AcEdPromptStatus.js +23 -0
  168. package/lib/editor/input/prompt/AcEdPromptStatus.js.map +1 -0
  169. package/lib/editor/input/prompt/AcEdPromptStringOptions.d.ts +54 -0
  170. package/lib/editor/input/prompt/AcEdPromptStringOptions.d.ts.map +1 -0
  171. package/lib/editor/input/prompt/AcEdPromptStringOptions.js +124 -0
  172. package/lib/editor/input/prompt/AcEdPromptStringOptions.js.map +1 -0
  173. package/lib/editor/input/prompt/index.d.ts +11 -0
  174. package/lib/editor/input/prompt/index.d.ts.map +1 -0
  175. package/lib/editor/input/prompt/index.js +11 -0
  176. package/lib/editor/input/prompt/index.js.map +1 -0
  177. package/lib/editor/input/ui/AcEdCommandLine.d.ts +116 -0
  178. package/lib/editor/input/ui/AcEdCommandLine.d.ts.map +1 -0
  179. package/lib/editor/input/ui/AcEdCommandLine.js +481 -0
  180. package/lib/editor/input/ui/AcEdCommandLine.js.map +1 -0
  181. package/lib/editor/input/ui/AcEdFloatingInput.d.ts +151 -0
  182. package/lib/editor/input/ui/AcEdFloatingInput.d.ts.map +1 -0
  183. package/lib/editor/input/ui/AcEdFloatingInput.js +239 -0
  184. package/lib/editor/input/ui/AcEdFloatingInput.js.map +1 -0
  185. package/lib/editor/input/ui/AcEdFloatingInputBox.d.ts +60 -0
  186. package/lib/editor/input/ui/AcEdFloatingInputBox.d.ts.map +1 -0
  187. package/lib/editor/input/ui/AcEdFloatingInputBox.js +113 -0
  188. package/lib/editor/input/ui/AcEdFloatingInputBox.js.map +1 -0
  189. package/lib/editor/input/ui/AcEdFloatingInputBoxes.d.ts +104 -0
  190. package/lib/editor/input/ui/AcEdFloatingInputBoxes.d.ts.map +1 -0
  191. package/lib/editor/input/ui/AcEdFloatingInputBoxes.js +154 -0
  192. package/lib/editor/input/ui/AcEdFloatingInputBoxes.js.map +1 -0
  193. package/lib/editor/input/ui/AcEdFloatingInputTypes.d.ts +113 -0
  194. package/lib/editor/input/ui/AcEdFloatingInputTypes.d.ts.map +1 -0
  195. package/lib/editor/input/ui/AcEdFloatingInputTypes.js +2 -0
  196. package/lib/editor/input/ui/AcEdFloatingInputTypes.js.map +1 -0
  197. package/lib/editor/input/ui/AcEdInputManager.d.ts +132 -0
  198. package/lib/editor/input/ui/AcEdInputManager.d.ts.map +1 -0
  199. package/lib/editor/input/ui/AcEdInputManager.js +477 -0
  200. package/lib/editor/input/ui/AcEdInputManager.js.map +1 -0
  201. package/lib/editor/input/ui/AcEdRubberBand.d.ts +66 -0
  202. package/lib/editor/input/ui/AcEdRubberBand.d.ts.map +1 -0
  203. package/lib/editor/input/ui/AcEdRubberBand.js +276 -0
  204. package/lib/editor/input/ui/AcEdRubberBand.js.map +1 -0
  205. package/lib/editor/input/ui/index.d.ts +3 -0
  206. package/lib/editor/input/ui/index.d.ts.map +1 -0
  207. package/lib/editor/input/ui/index.js +3 -0
  208. package/lib/editor/input/ui/index.js.map +1 -0
  209. package/lib/editor/view/AcEdBaseView.d.ts +54 -16
  210. package/lib/editor/view/AcEdBaseView.d.ts.map +1 -1
  211. package/lib/editor/view/AcEdBaseView.js +14 -11
  212. package/lib/editor/view/AcEdBaseView.js.map +1 -1
  213. package/lib/editor/view/AcEdLayerInfo.d.ts +5 -0
  214. package/lib/editor/view/AcEdLayerInfo.d.ts.map +1 -1
  215. package/lib/i18n/AcApI18n.d.ts +135 -0
  216. package/lib/i18n/AcApI18n.d.ts.map +1 -0
  217. package/lib/i18n/AcApI18n.js +208 -0
  218. package/lib/i18n/AcApI18n.js.map +1 -0
  219. package/lib/i18n/en/command.d.ts +18 -0
  220. package/lib/i18n/en/command.d.ts.map +1 -0
  221. package/lib/i18n/en/command.js +17 -0
  222. package/lib/i18n/en/command.js.map +1 -0
  223. package/lib/i18n/en/jig.d.ts +11 -0
  224. package/lib/i18n/en/jig.d.ts.map +1 -0
  225. package/lib/i18n/en/jig.js +10 -0
  226. package/lib/i18n/en/jig.js.map +1 -0
  227. package/lib/i18n/en/main.d.ts +37 -0
  228. package/lib/i18n/en/main.d.ts.map +1 -0
  229. package/lib/i18n/en/main.js +36 -0
  230. package/lib/i18n/en/main.js.map +1 -0
  231. package/lib/i18n/index.d.ts +6 -0
  232. package/lib/i18n/index.d.ts.map +1 -0
  233. package/lib/i18n/index.js +31 -0
  234. package/lib/i18n/index.js.map +1 -0
  235. package/lib/i18n/zh/command.d.ts +18 -0
  236. package/lib/i18n/zh/command.d.ts.map +1 -0
  237. package/lib/i18n/zh/command.js +17 -0
  238. package/lib/i18n/zh/command.js.map +1 -0
  239. package/lib/i18n/zh/jig.d.ts +11 -0
  240. package/lib/i18n/zh/jig.d.ts.map +1 -0
  241. package/lib/i18n/zh/jig.js +10 -0
  242. package/lib/i18n/zh/jig.js.map +1 -0
  243. package/lib/i18n/zh/main.d.ts +37 -0
  244. package/lib/i18n/zh/main.d.ts.map +1 -0
  245. package/lib/i18n/zh/main.js +36 -0
  246. package/lib/i18n/zh/main.js.map +1 -0
  247. package/lib/index.d.ts +1 -0
  248. package/lib/index.d.ts.map +1 -1
  249. package/lib/index.js +1 -0
  250. package/lib/index.js.map +1 -1
  251. package/lib/view/AcTrLayer.d.ts +29 -5
  252. package/lib/view/AcTrLayer.d.ts.map +1 -1
  253. package/lib/view/AcTrLayer.js +44 -6
  254. package/lib/view/AcTrLayer.js.map +1 -1
  255. package/lib/view/AcTrLayout.d.ts +13 -7
  256. package/lib/view/AcTrLayout.d.ts.map +1 -1
  257. package/lib/view/AcTrLayout.js +29 -21
  258. package/lib/view/AcTrLayout.js.map +1 -1
  259. package/lib/view/AcTrScene.d.ts +22 -8
  260. package/lib/view/AcTrScene.d.ts.map +1 -1
  261. package/lib/view/AcTrScene.js +36 -9
  262. package/lib/view/AcTrScene.js.map +1 -1
  263. package/lib/view/AcTrView2d.d.ts +19 -4
  264. package/lib/view/AcTrView2d.d.ts.map +1 -1
  265. package/lib/view/AcTrView2d.js +135 -43
  266. package/lib/view/AcTrView2d.js.map +1 -1
  267. package/package.json +7 -7
  268. package/lib/editor/input/AcEdBaseInput.d.ts +0 -89
  269. package/lib/editor/input/AcEdBaseInput.d.ts.map +0 -1
  270. package/lib/editor/input/AcEdBaseInput.js +0 -166
  271. package/lib/editor/input/AcEdBaseInput.js.map +0 -1
  272. package/lib/editor/input/AcEdBoxSelector.d.ts +0 -108
  273. package/lib/editor/input/AcEdBoxSelector.d.ts.map +0 -1
  274. package/lib/editor/input/AcEdBoxSelector.js +0 -220
  275. package/lib/editor/input/AcEdBoxSelector.js.map +0 -1
  276. package/lib/editor/input/AcEdInputPoint.d.ts +0 -51
  277. package/lib/editor/input/AcEdInputPoint.d.ts.map +0 -1
  278. package/lib/editor/input/AcEdInputPoint.js +0 -78
  279. package/lib/editor/input/AcEdInputPoint.js.map +0 -1
  280. package/lib/editor/input/AcEdJig.d.ts +0 -180
  281. package/lib/editor/input/AcEdJig.d.ts.map +0 -1
  282. package/lib/editor/input/AcEdJig.js +0 -256
  283. package/lib/editor/input/AcEdJig.js.map +0 -1
  284. package/lib/editor/input/AcEdJigLoop.d.ts +0 -63
  285. package/lib/editor/input/AcEdJigLoop.d.ts.map +0 -1
  286. package/lib/editor/input/AcEdJigLoop.js +0 -91
  287. package/lib/editor/input/AcEdJigLoop.js.map +0 -1
@@ -0,0 +1,276 @@
1
+ import { AcGePoint3d } from '@mlightcad/data-model';
2
+ /**
3
+ * AcEdRubberBand provides a temporary CAD-style rubber-band preview.
4
+ *
5
+ * It can draws a CAD-like reference rectangle:
6
+ * 1. baseLine: solid line from the last point to the cursor.
7
+ * 2. perpLineAtBase: dashed perpendicular line at the base point.
8
+ * 3. perpLineAtCursor: dashed perpendicular line at the cursor.
9
+ * 4. connectorLine: dashed line connecting the ends of the two perpendicular lines.
10
+ * 5. distance label displayed near connectorLine
11
+ *
12
+ * And draw one arc:
13
+ * 1. xAxisLine: horizontal reference line starting at base point
14
+ * 2. angleArc: arc showing angle between baseLine and x-axis (radius = baseLine length)
15
+ * 3. angle label shown at midpoint of the arc
16
+ */
17
+ var AcEdRubberBand = /** @class */ (function () {
18
+ function AcEdRubberBand(view) {
19
+ this.container = null;
20
+ // main geometry
21
+ this.baseLine = null;
22
+ this.perpLineAtBase = null;
23
+ this.perpLineAtCursor = null;
24
+ this.connectorLine = null;
25
+ // labels
26
+ this.labelEl = null;
27
+ this.angleLabelEl = null;
28
+ // angle visuals (SVG)
29
+ this.xAxisLine = null;
30
+ this.angleSvg = null;
31
+ this.anglePath = null;
32
+ this.options = {};
33
+ this.view = view;
34
+ }
35
+ Object.defineProperty(AcEdRubberBand.prototype, "element", {
36
+ /** Returns the parent container element that holds all rubber-band HTML elements. */
37
+ get: function () {
38
+ return this.container;
39
+ },
40
+ enumerable: false,
41
+ configurable: true
42
+ });
43
+ /**
44
+ * Starts the rubber-band preview.
45
+ * @param basePoint The starting point in world coordinates.
46
+ */
47
+ AcEdRubberBand.prototype.start = function (basePoint, options) {
48
+ var _this = this;
49
+ this.basePoint = new AcGePoint3d(basePoint);
50
+ this.options = options || {};
51
+ var color = this.options.color || '#0f0';
52
+ // --------------------------------------------------------------------
53
+ // Create parent container
54
+ // --------------------------------------------------------------------
55
+ this.container = document.createElement('div');
56
+ this.container.style.position = 'fixed';
57
+ this.container.style.left = '0';
58
+ this.container.style.top = '0';
59
+ this.container.style.pointerEvents = 'none';
60
+ this.container.style.zIndex = '99999';
61
+ document.body.appendChild(this.container);
62
+ // --------------------------------------------------------------------
63
+ // Always create baseLine
64
+ // --------------------------------------------------------------------
65
+ this.baseLine = document.createElement('div');
66
+ this.baseLine.style.position = 'fixed';
67
+ this.baseLine.style.borderTop = "1px solid ".concat(color);
68
+ this.container.appendChild(this.baseLine);
69
+ var createDashed = function () {
70
+ var el = document.createElement('div');
71
+ el.style.position = 'fixed';
72
+ el.style.borderTop = "1px dashed ".concat(color);
73
+ _this.container.appendChild(el);
74
+ return el;
75
+ };
76
+ if (!this.options.showBaseLineOnly) {
77
+ // perpendiculars + connector
78
+ this.perpLineAtBase = createDashed();
79
+ this.perpLineAtCursor = createDashed();
80
+ this.connectorLine = createDashed();
81
+ // distance label
82
+ this.labelEl = document.createElement('div');
83
+ this.labelEl.style.position = 'fixed';
84
+ // this.labelEl.style.background = 'rgba(0,0,0,0.6)'
85
+ this.labelEl.style.color = color;
86
+ this.labelEl.style.fontSize = '12px';
87
+ this.labelEl.style.padding = '2px 4px';
88
+ this.labelEl.style.borderRadius = '4px';
89
+ this.container.appendChild(this.labelEl);
90
+ // X-axis reference line
91
+ this.xAxisLine = document.createElement('div');
92
+ this.xAxisLine.style.position = 'fixed';
93
+ this.xAxisLine.style.borderTop = "1px solid ".concat(color);
94
+ this.container.appendChild(this.xAxisLine);
95
+ // SVG for angle arc
96
+ // We'll create an SVG sized dynamically on each update (width = height = 2*radius)
97
+ this.angleSvg = document.createElementNS('http://www.w3.org/2000/svg', 'svg');
98
+ // Let the SVG be absolutely positioned; we set left/top/width/height in update()
99
+ this.angleSvg.setAttribute('style', 'position:absolute; overflow:visible; pointer-events:none;');
100
+ // Path element for the arc
101
+ this.anglePath = document.createElementNS('http://www.w3.org/2000/svg', 'path');
102
+ this.anglePath.setAttribute('fill', 'none');
103
+ this.anglePath.setAttribute('stroke', color);
104
+ this.anglePath.setAttribute('stroke-width', '1');
105
+ this.anglePath.setAttribute('stroke-dasharray', '4 4');
106
+ this.angleSvg.appendChild(this.anglePath);
107
+ this.container.appendChild(this.angleSvg);
108
+ // Angle label (HTML) positioned in screen coords at arc midpoint
109
+ this.angleLabelEl = document.createElement('div');
110
+ this.angleLabelEl.style.position = 'fixed';
111
+ // this.angleLabelEl.style.background = 'rgba(0,0,0,0.6)'
112
+ this.angleLabelEl.style.color = color;
113
+ this.angleLabelEl.style.fontSize = '12px';
114
+ this.angleLabelEl.style.padding = '2px 4px';
115
+ this.angleLabelEl.style.borderRadius = '4px';
116
+ this.container.appendChild(this.angleLabelEl);
117
+ }
118
+ };
119
+ /**
120
+ * Updates the rubber-band lines to a new target point.
121
+ * @param targetPoint The current cursor position in world coordinates.
122
+ */
123
+ AcEdRubberBand.prototype.update = function (targetPoint) {
124
+ var _a;
125
+ if (!this.container || !this.basePoint || !this.baseLine)
126
+ return;
127
+ var rect = this.view.canvas.getBoundingClientRect();
128
+ var p0 = this.view.wcs2Cwcs(this.basePoint);
129
+ var p3 = this.view.wcs2Cwcs(targetPoint);
130
+ var offsetX = rect.left;
131
+ var offsetY = rect.top;
132
+ var drawLine = function (line, start, end) {
133
+ var dx = end.x - start.x;
134
+ var dy = end.y - start.y;
135
+ var length = Math.sqrt(dx * dx + dy * dy);
136
+ var angle = Math.atan2(dy, dx) * (180 / Math.PI);
137
+ line.style.width = "".concat(length, "px");
138
+ line.style.transformOrigin = '0 0';
139
+ line.style.transform = "translate(".concat(start.x + offsetX, "px, ").concat(start.y + offsetY, "px) rotate(").concat(angle, "deg)");
140
+ };
141
+ // --------------------------------------------------------------------
142
+ // Always update baseLine
143
+ // --------------------------------------------------------------------
144
+ drawLine(this.baseLine, p0, p3);
145
+ if (this.options.showBaseLineOnly)
146
+ return;
147
+ // --------------------------------------------------------------------
148
+ // Update remaining rectangle geometry
149
+ // --------------------------------------------------------------------
150
+ if (!this.perpLineAtBase || !this.perpLineAtCursor || !this.connectorLine)
151
+ return;
152
+ var dx = p3.x - p0.x;
153
+ var dy = p3.y - p0.y;
154
+ var lengthBase = Math.sqrt(dx * dx + dy * dy);
155
+ // protect against zero-length base line
156
+ if (lengthBase === 0) {
157
+ // hide or collapse other visuals
158
+ if (this.perpLineAtBase)
159
+ this.perpLineAtBase.style.width = '0px';
160
+ if (this.perpLineAtCursor)
161
+ this.perpLineAtCursor.style.width = '0px';
162
+ if (this.connectorLine)
163
+ this.connectorLine.style.width = '0px';
164
+ if (this.xAxisLine)
165
+ this.xAxisLine.style.width = '0px';
166
+ if (this.anglePath)
167
+ this.anglePath.setAttribute('d', '');
168
+ if (this.angleLabelEl)
169
+ this.angleLabelEl.style.display = 'none';
170
+ return;
171
+ }
172
+ var perpLen = (_a = this.options.perpendicularLength) !== null && _a !== void 0 ? _a : 50;
173
+ // perpendicular unit
174
+ var ux = -dy / lengthBase;
175
+ var uy = dx / lengthBase;
176
+ // perpendicular endpoints
177
+ var pBasePerp = { x: p0.x + ux * perpLen, y: p0.y + uy * perpLen };
178
+ var pCursorPerp = { x: p3.x + ux * perpLen, y: p3.y + uy * perpLen };
179
+ drawLine(this.perpLineAtBase, p0, pBasePerp);
180
+ drawLine(this.perpLineAtCursor, p3, pCursorPerp);
181
+ drawLine(this.connectorLine, pBasePerp, pCursorPerp);
182
+ // --------------------------------------------------------------------
183
+ // Distance label
184
+ // --------------------------------------------------------------------
185
+ if (this.labelEl) {
186
+ var midX = (pBasePerp.x + pCursorPerp.x) / 2 + offsetX;
187
+ var midY = (pBasePerp.y + pCursorPerp.y) / 2 + offsetY - 24;
188
+ var dist = Math.sqrt(Math.pow((targetPoint.x - this.basePoint.x), 2) +
189
+ Math.pow((targetPoint.y - this.basePoint.y), 2));
190
+ this.labelEl.textContent = dist.toFixed(3);
191
+ this.labelEl.style.left = "".concat(midX - 20, "px");
192
+ this.labelEl.style.top = "".concat(midY, "px");
193
+ this.labelEl.style.display = '';
194
+ }
195
+ // --------------------------------------------------------------------
196
+ // Horizontal X-axis line (same length as base line)
197
+ // --------------------------------------------------------------------
198
+ if (this.xAxisLine) {
199
+ var pX = { x: p0.x + lengthBase, y: p0.y };
200
+ drawLine(this.xAxisLine, p0, pX);
201
+ }
202
+ // --------------------------------------------------------------------
203
+ // Angle arc (radius = length of base line)
204
+ // Arc from end of x-axis (p0 + radius * +X) to end of baseLine (p3).
205
+ // --------------------------------------------------------------------
206
+ if (this.angleSvg && this.anglePath && this.angleLabelEl) {
207
+ var radius = lengthBase;
208
+ // center (screen) of the arc
209
+ var centerScreenX = p0.x + offsetX;
210
+ var centerScreenY = p0.y + offsetY;
211
+ // We need coordinates relative to the SVG's top-left.
212
+ // We'll make the SVG have width = height = 2*radius and be positioned
213
+ // at (center - radius). Then coordinates inside SVG are:
214
+ // start = (2r, r), end = (r + r*cos(theta), r + r*sin(theta))
215
+ // angle between +X and baseLine in screen coordinate system
216
+ var angleRad = Math.atan2(p3.y - p0.y, p3.x - p0.x);
217
+ var angleDeg = (angleRad * 180) / Math.PI;
218
+ // mid-angle for placing label (middle of arc)
219
+ var midAngle = angleRad / 2;
220
+ // SVG position and sizing
221
+ var svgLeft = centerScreenX - radius;
222
+ var svgTop = centerScreenY - radius;
223
+ var svgSize = radius * 2;
224
+ // set SVG attributes and position
225
+ this.angleSvg.style.left = "".concat(svgLeft, "px");
226
+ this.angleSvg.style.top = "".concat(svgTop, "px");
227
+ this.angleSvg.setAttribute('width', "".concat(svgSize));
228
+ this.angleSvg.setAttribute('height', "".concat(svgSize));
229
+ this.angleSvg.setAttribute('viewBox', "0 0 ".concat(svgSize, " ").concat(svgSize));
230
+ // compute start and end in SVG local coords (origin top-left)
231
+ var cx = radius;
232
+ var cy = radius;
233
+ var sx = cx + radius; // = 2*radius
234
+ var sy = cy;
235
+ var ex = cx + radius * Math.cos(angleRad);
236
+ var ey = cy + radius * Math.sin(angleRad);
237
+ // large-arc-flag: whether to take the long way around
238
+ var largeArcFlag = Math.abs(angleRad) > Math.PI ? '1' : '0';
239
+ // sweep-flag: for screen coords (y downwards), positive angle => sweep=1
240
+ var sweepFlag = angleRad >= 0 ? '1' : '0';
241
+ // build path: Move to start, arc to end
242
+ var d = "M ".concat(sx, " ").concat(sy, " A ").concat(radius, " ").concat(radius, " 0 ").concat(largeArcFlag, " ").concat(sweepFlag, " ").concat(ex, " ").concat(ey);
243
+ this.anglePath.setAttribute('d', d);
244
+ // angle label (absolute degrees)
245
+ var angleValueDeg = Math.abs(angleDeg);
246
+ var angleText = "".concat(angleValueDeg.toFixed(1), "\u00B0");
247
+ // midpoint of arc in screen coords
248
+ var midScreenX = centerScreenX + radius * Math.cos(midAngle);
249
+ var midScreenY = centerScreenY + radius * Math.sin(midAngle);
250
+ this.angleLabelEl.textContent = angleText;
251
+ // center the label roughly
252
+ var labelRectApproxWidth = 40; // rough centering; exact can be done by measuring
253
+ this.angleLabelEl.style.left = "".concat(midScreenX - labelRectApproxWidth / 2, "px");
254
+ this.angleLabelEl.style.top = "".concat(midScreenY - 12, "px");
255
+ this.angleLabelEl.style.display = '';
256
+ }
257
+ };
258
+ /** Disposes all HTML elements associated with this rubber-band. */
259
+ AcEdRubberBand.prototype.dispose = function () {
260
+ if (this.container)
261
+ this.container.remove();
262
+ this.container = null;
263
+ this.baseLine = null;
264
+ this.perpLineAtBase = null;
265
+ this.perpLineAtCursor = null;
266
+ this.connectorLine = null;
267
+ this.labelEl = null;
268
+ this.angleLabelEl = null;
269
+ this.xAxisLine = null;
270
+ this.angleSvg = null;
271
+ this.anglePath = null;
272
+ };
273
+ return AcEdRubberBand;
274
+ }());
275
+ export { AcEdRubberBand };
276
+ //# sourceMappingURL=AcEdRubberBand.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AcEdRubberBand.js","sourceRoot":"","sources":["../../../../src/editor/input/ui/AcEdRubberBand.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export * from './AcEdCommandLine';
2
+ export * from './AcEdInputManager';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/editor/input/ui/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAA;AACjC,cAAc,oBAAoB,CAAA"}
@@ -0,0 +1,3 @@
1
+ export * from './AcEdCommandLine';
2
+ export * from './AcEdInputManager';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/editor/input/ui/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAA;AACjC,cAAc,oBAAoB,CAAA"}
@@ -1,4 +1,4 @@
1
- import { AcCmEventManager, AcDbEntity, AcDbLayerTableRecord, AcDbLayout, AcDbObjectId, AcGeBox2d, AcGeBox3d, AcGePoint2d, AcGePoint2dLike } from '@mlightcad/data-model';
1
+ import { AcCmEventManager, AcDbEntity, AcDbLayerTableRecord, AcDbLayerTableRecordAttrs, AcDbLayout, AcDbObjectId, AcGeBox2d, AcGeBox3d, AcGePoint2d, AcGePoint2dLike } from '@mlightcad/data-model';
2
2
  import { AcEdCorsorType, AcEdSelectionSet } from '../input';
3
3
  import { AcEditor } from '../input/AcEditor';
4
4
  /**
@@ -153,8 +153,8 @@ export declare abstract class AcEdBaseView {
153
153
  private _bbox;
154
154
  /** Current mouse position in world coordinates */
155
155
  private _curPos;
156
- /** Current mouse position in screen coordinates */
157
- private _curScreenPos;
156
+ /** Current mouse position in client window coordinates */
157
+ private _curMousePos;
158
158
  /** Set of currently selected entities */
159
159
  private _selectionSet;
160
160
  /** Input manager for handling user interactions */
@@ -298,7 +298,7 @@ export declare abstract class AcEdBaseView {
298
298
  */
299
299
  abstract zoomTo(box: AcGeBox2d, margin: number): void;
300
300
  /**
301
- * Zooms the view to fit all visible entities in the current scene.
301
+ * Zooms the view to fit all visible entities in the current drawing.
302
302
  *
303
303
  * This method automatically calculates the bounding box of all entities
304
304
  * currently displayed in the view and adjusts the view's center and zoom
@@ -313,7 +313,20 @@ export declare abstract class AcEdBaseView {
313
313
  * @param timeout - Maximum time (ms) to wait before executing zoom to fit
314
314
  * action. Default: 0 (no timeout).
315
315
  */
316
- abstract zoomToFit(timeout?: number): void;
316
+ abstract zoomToFitDrawing(timeout?: number): void;
317
+ /**
318
+ * Zooms the view to fit all visible entities in the current scene.
319
+ *
320
+ * This method automatically calculates the bounding box of all entities
321
+ * currently displayed in the specified layer and adjusts the view's center
322
+ * and zoom level to show the entire layer. This is useful for getting an
323
+ * overview of the entire layer of one drawing or after loading new content.
324
+ *
325
+ * @param layerName - The layer name
326
+ *
327
+ * @return - Return true if zoomed to the layer successfully.
328
+ */
329
+ abstract zoomToFitLayer(layerName: string): boolean;
317
330
  /**
318
331
  * Gets the background color of the view.
319
332
  *
@@ -334,13 +347,27 @@ export declare abstract class AcEdBaseView {
334
347
  */
335
348
  abstract search(box: AcGeBox2d | AcGeBox3d): AcEdSpatialQueryResultItem[];
336
349
  /**
337
- * Pick entities intersected with the specified point in the world coordinate
338
- * system.
339
- * @param point Input the point to pick objects. If not provided, the position
340
- * of current cursor is used.
341
- * @returns Return ids of entities intersected with the specified point
350
+ * Picks entities that intersect a hit-region centered at the specified point
351
+ * in world coordinates.
352
+ *
353
+ * The hit-region is defined as a square (or bounding box) centered at the
354
+ * input point, whose half-size is determined by the `hitRadius` parameter.
355
+ * Only entities whose geometry intersects this region are returned.
356
+ *
357
+ * @param point The center point of the hit-region in world coordinates.
358
+ * If omitted, the current cursor position is used.
359
+ *
360
+ * @param hitRadius The half-width (in pixel size) of the hit-region around
361
+ * the point. It will be converted on one value in the world
362
+ * coordinate 'wcsHitRadius' and creates a square bounding box:
363
+ * [point.x ± wcsHitRadius, point.y ± wcsHitRadius].
364
+ * A larger value increases the pick sensitivity. If omitted, a reasonable
365
+ * default is used.
366
+ *
367
+ * @returns An array of object IDs representing the entities that intersect
368
+ * the hit-region.
342
369
  */
343
- abstract pick(point?: AcGePoint2dLike): AcDbObjectId[];
370
+ abstract pick(point?: AcGePoint2dLike, hitRadius?: number): AcDbObjectId[];
344
371
  /**
345
372
  * Select entities intersected with the specified bounding box in the world
346
373
  * coordinate system, add them to the current selection set, and highlight
@@ -365,13 +392,24 @@ export declare abstract class AcEdBaseView {
365
392
  abstract addLayer(layer: AcDbLayerTableRecord): void;
366
393
  /**
367
394
  * Update the specified layer in the current scene
368
- * @param layer Input the layer to update
395
+ * @param layer - The layer to update
396
+ * @param changes - Changes made to the layer
397
+ */
398
+ abstract updateLayer(layer: AcDbLayerTableRecord, changes: Partial<AcDbLayerTableRecordAttrs>): void;
399
+ /**
400
+ * Add the specified transient entity or entities in the current scene.
401
+ * @param entity Input one or multiple transient entities
402
+ */
403
+ abstract addTransientEntity(entity: AcDbEntity | AcDbEntity[]): void;
404
+ /**
405
+ * Remove the specified transient entity or entities in the current scene.
406
+ * @param entity Input the object id of one transient entity
369
407
  */
370
- abstract updateLayer(layer: AcDbLayerTableRecord): void;
408
+ abstract removeTransientEntity(objectId: AcDbObjectId): void;
371
409
  /**
372
410
  * Add the specified entity or entities in drawing database into the current scene
373
411
  * and draw it or them
374
- * @param entity Input the entity to add into the current scene
412
+ * @param entity Input one or multiple entities to add into the current scene
375
413
  */
376
414
  abstract addEntity(entity: AcDbEntity | AcDbEntity[]): void;
377
415
  /**
@@ -434,9 +472,9 @@ export declare abstract class AcEdBaseView {
434
472
  */
435
473
  get curPos(): AcGePoint2d;
436
474
  /**
437
- * Postion of current mouse in screen coordinate system
475
+ * Postion of current mouse in client window
438
476
  */
439
- get curScreenPos(): AcGePoint2d;
477
+ get curMousePos(): AcGePoint2d;
440
478
  /**
441
479
  * The selection set in current view.
442
480
  */
@@ -1 +1 @@
1
- {"version":3,"file":"AcEdBaseView.d.ts","sourceRoot":"","sources":["../../../src/editor/view/AcEdBaseView.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AcEdBaseView.d.ts","sourceRoot":"","sources":["../../../src/editor/view/AcEdBaseView.ts"],"names":[],"mappings":"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"}
@@ -104,7 +104,7 @@ var AcEdBaseView = /** @class */ (function () {
104
104
  this._width = rect.width;
105
105
  this._height = rect.height;
106
106
  this._curPos = new AcGePoint2d();
107
- this._curScreenPos = new AcGePoint2d();
107
+ this._curMousePos = new AcGePoint2d();
108
108
  this._selectionSet = new AcEdSelectionSet();
109
109
  this._editor = new AcEditor(this);
110
110
  this._canvas.addEventListener('mousemove', function (event) { return _this.onMouseMove(event); });
@@ -242,12 +242,12 @@ var AcEdBaseView = /** @class */ (function () {
242
242
  enumerable: false,
243
243
  configurable: true
244
244
  });
245
- Object.defineProperty(AcEdBaseView.prototype, "curScreenPos", {
245
+ Object.defineProperty(AcEdBaseView.prototype, "curMousePos", {
246
246
  /**
247
- * Postion of current mouse in screen coordinate system
247
+ * Postion of current mouse in client window
248
248
  */
249
249
  get: function () {
250
- return this._curScreenPos;
250
+ return this._curMousePos;
251
251
  },
252
252
  enumerable: false,
253
253
  configurable: true
@@ -282,21 +282,24 @@ var AcEdBaseView = /** @class */ (function () {
282
282
  * @param event Input mouse event argument
283
283
  */
284
284
  AcEdBaseView.prototype.onMouseMove = function (event) {
285
- this._curScreenPos = new AcGePoint2d(event.clientX, event.clientY);
286
- var wcsPos = this.cwcs2Wcs(this._curScreenPos);
285
+ this._curMousePos = new AcGePoint2d(event.clientX, event.clientY);
286
+ var wcsPos = this.cwcs2Wcs(this._curMousePos);
287
287
  this._curPos.copy(wcsPos);
288
288
  this.events.mouseMove.dispatch({ x: wcsPos.x, y: wcsPos.y });
289
289
  // Hover handler
290
290
  if (this.mode == AcEdViewMode.SELECTION) {
291
- this.startHoverTimer(wcsPos.x, wcsPos.y);
291
+ // If it is in “input acquisition” mode, disable hover behavior
292
+ if (!this._editor.isActive) {
293
+ this.startHoverTimer(wcsPos.x, wcsPos.y);
294
+ }
292
295
  }
293
296
  };
294
297
  AcEdBaseView.prototype.setHoveredObjectId = function (newId) {
295
298
  if (this._hoveredObjectId) {
296
299
  this.events.unhover.dispatch({
297
300
  id: this._hoveredObjectId,
298
- x: this.curScreenPos.x,
299
- y: this.curScreenPos.y
301
+ x: this.curMousePos.x,
302
+ y: this.curMousePos.y
300
303
  });
301
304
  this.onUnhover(this._hoveredObjectId);
302
305
  }
@@ -338,8 +341,8 @@ var AcEdBaseView = /** @class */ (function () {
338
341
  this._pauseTimer = setTimeout(function () {
339
342
  _this.events.hover.dispatch({
340
343
  id: id,
341
- x: _this.curScreenPos.x,
342
- y: _this.curScreenPos.y
344
+ x: _this.curMousePos.x,
345
+ y: _this.curMousePos.y
343
346
  });
344
347
  }, 500);
345
348
  };
@@ -1 +1 @@
1
- {"version":3,"file":"AcEdBaseView.js","sourceRoot":"","sources":["../../../src/editor/view/AcEdBaseView.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AcEdBaseView.js","sourceRoot":"","sources":["../../../src/editor/view/AcEdBaseView.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { AcCmColor } from '@mlightcad/data-model';
1
2
  /**
2
3
  * Describes basic layer state information within the editor view.
3
4
  *
@@ -17,5 +18,9 @@ export interface AcEdLayerInfo {
17
18
  * When true, the layer is turned off (entities are hidden from display but still participate regen).
18
19
  */
19
20
  isOff: boolean;
21
+ /**
22
+ * Layer color
23
+ */
24
+ color: AcCmColor;
20
25
  }
21
26
  //# sourceMappingURL=AcEdLayerInfo.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AcEdLayerInfo.d.ts","sourceRoot":"","sources":["../../../src/editor/view/AcEdLayerInfo.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,WAAW,aAAa;IAC5B;;OAEG;IACH,IAAI,EAAE,MAAM,CAAA;IACZ;;OAEG;IACH,QAAQ,EAAE,OAAO,CAAA;IACjB;;OAEG;IACH,KAAK,EAAE,OAAO,CAAA;CACf"}
1
+ {"version":3,"file":"AcEdLayerInfo.d.ts","sourceRoot":"","sources":["../../../src/editor/view/AcEdLayerInfo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AAEjD;;;;;GAKG;AACH,MAAM,WAAW,aAAa;IAC5B;;OAEG;IACH,IAAI,EAAE,MAAM,CAAA;IACZ;;OAEG;IACH,QAAQ,EAAE,OAAO,CAAA;IACjB;;OAEG;IACH,KAAK,EAAE,OAAO,CAAA;IACd;;OAEG;IACH,KAAK,EAAE,SAAS,CAAA;CACjB"}