@mlightcad/cad-simple-viewer 1.4.13 → 1.5.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 (406) hide show
  1. package/dist/index.js +16972 -11328
  2. package/dist/index.umd.cjs +158 -34
  3. package/dist/libredwg-parser-worker.js +4828 -4464
  4. package/dist/mtext-renderer-worker.js +3587 -3534
  5. package/lib/app/AcApDocManager.d.ts +14 -5
  6. package/lib/app/AcApDocManager.d.ts.map +1 -1
  7. package/lib/app/AcApDocManager.js +62 -19
  8. package/lib/app/AcApDocManager.js.map +1 -1
  9. package/lib/command/AcApLogCmd.d.ts +1 -1
  10. package/lib/command/AcApLogCmd.d.ts.map +1 -1
  11. package/lib/command/AcApLogCmd.js +1 -1
  12. package/lib/command/AcApLogCmd.js.map +1 -1
  13. package/lib/command/AcApOpenCmd.d.ts +1 -1
  14. package/lib/command/AcApOpenCmd.d.ts.map +1 -1
  15. package/lib/command/AcApOpenCmd.js +1 -2
  16. package/lib/command/AcApOpenCmd.js.map +1 -1
  17. package/lib/command/AcApPanCmd.d.ts +1 -1
  18. package/lib/command/AcApPanCmd.d.ts.map +1 -1
  19. package/lib/command/AcApPanCmd.js +1 -2
  20. package/lib/command/AcApPanCmd.js.map +1 -1
  21. package/lib/command/AcApQNewCmd.d.ts +1 -1
  22. package/lib/command/AcApQNewCmd.d.ts.map +1 -1
  23. package/lib/command/AcApQNewCmd.js +1 -1
  24. package/lib/command/AcApQNewCmd.js.map +1 -1
  25. package/lib/command/AcApRegenCmd.d.ts +1 -1
  26. package/lib/command/AcApRegenCmd.d.ts.map +1 -1
  27. package/lib/command/AcApRegenCmd.js +1 -1
  28. package/lib/command/AcApRegenCmd.js.map +1 -1
  29. package/lib/command/AcApSelectCmd.d.ts +1 -1
  30. package/lib/command/AcApSelectCmd.d.ts.map +1 -1
  31. package/lib/command/AcApSelectCmd.js +1 -2
  32. package/lib/command/AcApSelectCmd.js.map +1 -1
  33. package/lib/command/{AcApConvertToDxfCmd.d.ts → convert/AcApConvertToDxfCmd.d.ts} +2 -2
  34. package/lib/command/convert/AcApConvertToDxfCmd.d.ts.map +1 -0
  35. package/lib/command/{AcApConvertToDxfCmd.js → convert/AcApConvertToDxfCmd.js} +1 -1
  36. package/lib/command/convert/AcApConvertToDxfCmd.js.map +1 -0
  37. package/lib/command/{AcApConvertToPngCmd.d.ts → convert/AcApConvertToPngCmd.d.ts} +23 -5
  38. package/lib/command/convert/AcApConvertToPngCmd.d.ts.map +1 -0
  39. package/lib/command/{AcApConvertToPngCmd.js → convert/AcApConvertToPngCmd.js} +88 -15
  40. package/lib/command/convert/AcApConvertToPngCmd.js.map +1 -0
  41. package/lib/command/{AcApConvertToSvgCmd.d.ts → convert/AcApConvertToSvgCmd.d.ts} +2 -2
  42. package/lib/command/convert/AcApConvertToSvgCmd.d.ts.map +1 -0
  43. package/lib/command/{AcApConvertToSvgCmd.js → convert/AcApConvertToSvgCmd.js} +1 -1
  44. package/lib/command/convert/AcApConvertToSvgCmd.js.map +1 -0
  45. package/lib/command/convert/AcApDxfConvertor.d.ts.map +1 -0
  46. package/lib/command/{AcApDxfConvertor.js → convert/AcApDxfConvertor.js} +1 -1
  47. package/lib/command/convert/AcApDxfConvertor.js.map +1 -0
  48. package/lib/command/{AcApPngConvertor.d.ts → convert/AcApPngConvertor.d.ts} +20 -35
  49. package/lib/command/convert/AcApPngConvertor.d.ts.map +1 -0
  50. package/lib/command/{AcApPngConvertor.js → convert/AcApPngConvertor.js} +99 -71
  51. package/lib/command/convert/AcApPngConvertor.js.map +1 -0
  52. package/lib/command/convert/AcApSvgConvertor.d.ts.map +1 -0
  53. package/lib/command/{AcApSvgConvertor.js → convert/AcApSvgConvertor.js} +1 -1
  54. package/lib/command/convert/AcApSvgConvertor.js.map +1 -0
  55. package/lib/command/convert/index.d.ts +6 -0
  56. package/lib/command/convert/index.d.ts.map +1 -0
  57. package/lib/command/convert/index.js +6 -0
  58. package/lib/command/convert/index.js.map +1 -0
  59. package/lib/command/draw/AcApArcCmd.d.ts +297 -0
  60. package/lib/command/draw/AcApArcCmd.d.ts.map +1 -0
  61. package/lib/command/{AcApArcCmd.js → draw/AcApArcCmd.js} +793 -12
  62. package/lib/command/draw/AcApArcCmd.js.map +1 -0
  63. package/lib/command/{AcApCircleCmd.d.ts → draw/AcApCircleCmd.d.ts} +2 -2
  64. package/lib/command/draw/AcApCircleCmd.d.ts.map +1 -0
  65. package/lib/command/{AcApCircleCmd.js → draw/AcApCircleCmd.js} +3 -3
  66. package/lib/command/draw/AcApCircleCmd.js.map +1 -0
  67. package/lib/command/{AcApDimLinearCmd.d.ts → draw/AcApDimLinearCmd.d.ts} +2 -2
  68. package/lib/command/draw/AcApDimLinearCmd.d.ts.map +1 -0
  69. package/lib/command/{AcApDimLinearCmd.js → draw/AcApDimLinearCmd.js} +3 -3
  70. package/lib/command/draw/AcApDimLinearCmd.js.map +1 -0
  71. package/lib/command/{AcApEllipseCmd.d.ts → draw/AcApEllipseCmd.d.ts} +2 -2
  72. package/lib/command/draw/AcApEllipseCmd.d.ts.map +1 -0
  73. package/lib/command/{AcApEllipseCmd.js → draw/AcApEllipseCmd.js} +3 -3
  74. package/lib/command/draw/AcApEllipseCmd.js.map +1 -0
  75. package/lib/command/{AcApHatchCmd.d.ts → draw/AcApHatchCmd.d.ts} +54 -17
  76. package/lib/command/draw/AcApHatchCmd.d.ts.map +1 -0
  77. package/lib/command/{AcApHatchCmd.js → draw/AcApHatchCmd.js} +122 -30
  78. package/lib/command/draw/AcApHatchCmd.js.map +1 -0
  79. package/lib/command/{AcApLineCmd.d.ts → draw/AcApLineCmd.d.ts} +2 -2
  80. package/lib/command/draw/AcApLineCmd.d.ts.map +1 -0
  81. package/lib/command/{AcApLineCmd.js → draw/AcApLineCmd.js} +3 -3
  82. package/lib/command/draw/AcApLineCmd.js.map +1 -0
  83. package/lib/command/draw/AcApMLineCmd.d.ts +31 -0
  84. package/lib/command/draw/AcApMLineCmd.d.ts.map +1 -0
  85. package/lib/command/draw/AcApMLineCmd.js +531 -0
  86. package/lib/command/draw/AcApMLineCmd.js.map +1 -0
  87. package/lib/command/{AcApMTextCmd.d.ts → draw/AcApMTextCmd.d.ts} +2 -2
  88. package/lib/command/draw/AcApMTextCmd.d.ts.map +1 -0
  89. package/lib/command/{AcApMTextCmd.js → draw/AcApMTextCmd.js} +3 -3
  90. package/lib/command/draw/AcApMTextCmd.js.map +1 -0
  91. package/lib/command/draw/AcApPointCmd.d.ts +16 -0
  92. package/lib/command/draw/AcApPointCmd.d.ts.map +1 -0
  93. package/lib/command/draw/AcApPointCmd.js +98 -0
  94. package/lib/command/draw/AcApPointCmd.js.map +1 -0
  95. package/lib/command/{AcApPolygonCmd.d.ts → draw/AcApPolygonCmd.d.ts} +2 -2
  96. package/lib/command/draw/AcApPolygonCmd.d.ts.map +1 -0
  97. package/lib/command/{AcApPolygonCmd.js → draw/AcApPolygonCmd.js} +3 -3
  98. package/lib/command/draw/AcApPolygonCmd.js.map +1 -0
  99. package/lib/command/{AcApPolylineCmd.d.ts → draw/AcApPolylineCmd.d.ts} +2 -2
  100. package/lib/command/draw/AcApPolylineCmd.d.ts.map +1 -0
  101. package/lib/command/{AcApPolylineCmd.js → draw/AcApPolylineCmd.js} +3 -3
  102. package/lib/command/draw/AcApPolylineCmd.js.map +1 -0
  103. package/lib/command/draw/AcApRayCmd.d.ts +10 -0
  104. package/lib/command/draw/AcApRayCmd.d.ts.map +1 -0
  105. package/lib/command/draw/AcApRayCmd.js +145 -0
  106. package/lib/command/draw/AcApRayCmd.js.map +1 -0
  107. package/lib/command/{AcApRectCmd.d.ts → draw/AcApRectCmd.d.ts} +2 -2
  108. package/lib/command/draw/AcApRectCmd.d.ts.map +1 -0
  109. package/lib/command/{AcApRectCmd.js → draw/AcApRectCmd.js} +3 -3
  110. package/lib/command/draw/AcApRectCmd.js.map +1 -0
  111. package/lib/command/{AcApSplineCmd.d.ts → draw/AcApSplineCmd.d.ts} +2 -2
  112. package/lib/command/draw/AcApSplineCmd.d.ts.map +1 -0
  113. package/lib/command/{AcApSplineCmd.js → draw/AcApSplineCmd.js} +3 -3
  114. package/lib/command/draw/AcApSplineCmd.js.map +1 -0
  115. package/lib/command/draw/AcApXLineCmd.d.ts +25 -0
  116. package/lib/command/draw/AcApXLineCmd.d.ts.map +1 -0
  117. package/lib/command/draw/AcApXLineCmd.js +210 -0
  118. package/lib/command/draw/AcApXLineCmd.js.map +1 -0
  119. package/lib/command/draw/index.d.ts +16 -0
  120. package/lib/command/draw/index.d.ts.map +1 -0
  121. package/lib/command/draw/index.js +16 -0
  122. package/lib/command/draw/index.js.map +1 -0
  123. package/lib/command/index.d.ts +6 -32
  124. package/lib/command/index.d.ts.map +1 -1
  125. package/lib/command/index.js +6 -32
  126. package/lib/command/index.js.map +1 -1
  127. package/lib/command/layer/AcApLayerCloseCmd.d.ts +23 -0
  128. package/lib/command/layer/AcApLayerCloseCmd.d.ts.map +1 -0
  129. package/lib/command/layer/AcApLayerCloseCmd.js +86 -0
  130. package/lib/command/layer/AcApLayerCloseCmd.js.map +1 -0
  131. package/lib/command/{AcApLayerCmd.d.ts → layer/AcApLayerCmd.d.ts} +3 -5
  132. package/lib/command/layer/AcApLayerCmd.d.ts.map +1 -0
  133. package/lib/command/{AcApLayerCmd.js → layer/AcApLayerCmd.js} +5 -8
  134. package/lib/command/layer/AcApLayerCmd.js.map +1 -0
  135. package/lib/command/layer/AcApLayerCurCmd.d.ts +43 -0
  136. package/lib/command/layer/AcApLayerCurCmd.d.ts.map +1 -0
  137. package/lib/command/layer/AcApLayerCurCmd.js +183 -0
  138. package/lib/command/layer/AcApLayerCurCmd.js.map +1 -0
  139. package/lib/command/layer/AcApLayerDelCmd.d.ts +112 -0
  140. package/lib/command/layer/AcApLayerDelCmd.d.ts.map +1 -0
  141. package/lib/command/layer/AcApLayerDelCmd.js +446 -0
  142. package/lib/command/layer/AcApLayerDelCmd.js.map +1 -0
  143. package/lib/command/layer/AcApLayerFreezeCmd.d.ts +103 -0
  144. package/lib/command/layer/AcApLayerFreezeCmd.d.ts.map +1 -0
  145. package/lib/command/layer/AcApLayerFreezeCmd.js +398 -0
  146. package/lib/command/layer/AcApLayerFreezeCmd.js.map +1 -0
  147. package/lib/command/layer/AcApLayerIsoCmd.d.ts +99 -0
  148. package/lib/command/layer/AcApLayerIsoCmd.d.ts.map +1 -0
  149. package/lib/command/layer/AcApLayerIsoCmd.js +485 -0
  150. package/lib/command/layer/AcApLayerIsoCmd.js.map +1 -0
  151. package/lib/command/layer/AcApLayerIsoState.d.ts +68 -0
  152. package/lib/command/layer/AcApLayerIsoState.d.ts.map +1 -0
  153. package/lib/command/layer/AcApLayerIsoState.js +53 -0
  154. package/lib/command/layer/AcApLayerIsoState.js.map +1 -0
  155. package/lib/command/layer/AcApLayerLockCmd.d.ts +50 -0
  156. package/lib/command/layer/AcApLayerLockCmd.d.ts.map +1 -0
  157. package/lib/command/layer/AcApLayerLockCmd.js +175 -0
  158. package/lib/command/layer/AcApLayerLockCmd.js.map +1 -0
  159. package/lib/command/layer/AcApLayerOffCmd.d.ts +95 -0
  160. package/lib/command/layer/AcApLayerOffCmd.d.ts.map +1 -0
  161. package/lib/command/layer/AcApLayerOffCmd.js +384 -0
  162. package/lib/command/layer/AcApLayerOffCmd.js.map +1 -0
  163. package/lib/command/layer/AcApLayerOnCmd.d.ts +30 -0
  164. package/lib/command/layer/AcApLayerOnCmd.d.ts.map +1 -0
  165. package/lib/command/layer/AcApLayerOnCmd.js +138 -0
  166. package/lib/command/layer/AcApLayerOnCmd.js.map +1 -0
  167. package/lib/command/layer/AcApLayerPCmd.d.ts +83 -0
  168. package/lib/command/layer/AcApLayerPCmd.d.ts.map +1 -0
  169. package/lib/command/layer/AcApLayerPCmd.js +241 -0
  170. package/lib/command/layer/AcApLayerPCmd.js.map +1 -0
  171. package/lib/command/layer/AcApLayerThawCmd.d.ts +37 -0
  172. package/lib/command/layer/AcApLayerThawCmd.d.ts.map +1 -0
  173. package/lib/command/layer/AcApLayerThawCmd.js +150 -0
  174. package/lib/command/layer/AcApLayerThawCmd.js.map +1 -0
  175. package/lib/command/layer/AcApLayerUnisoCmd.d.ts +52 -0
  176. package/lib/command/layer/AcApLayerUnisoCmd.d.ts.map +1 -0
  177. package/lib/command/layer/AcApLayerUnisoCmd.js +199 -0
  178. package/lib/command/layer/AcApLayerUnisoCmd.js.map +1 -0
  179. package/lib/command/layer/AcApLayerUnlockCmd.d.ts +50 -0
  180. package/lib/command/layer/AcApLayerUnlockCmd.d.ts.map +1 -0
  181. package/lib/command/layer/AcApLayerUnlockCmd.js +175 -0
  182. package/lib/command/layer/AcApLayerUnlockCmd.js.map +1 -0
  183. package/lib/command/layer/index.d.ts +14 -0
  184. package/lib/command/layer/index.d.ts.map +1 -0
  185. package/lib/command/layer/index.js +14 -0
  186. package/lib/command/layer/index.js.map +1 -0
  187. package/lib/command/{AcApClearMeasurementsCmd.d.ts → measure/AcApClearMeasurementsCmd.d.ts} +2 -2
  188. package/lib/command/measure/AcApClearMeasurementsCmd.d.ts.map +1 -0
  189. package/lib/command/{AcApClearMeasurementsCmd.js → measure/AcApClearMeasurementsCmd.js} +1 -1
  190. package/lib/command/measure/AcApClearMeasurementsCmd.js.map +1 -0
  191. package/lib/command/{AcApMeasureAngleCmd.d.ts → measure/AcApMeasureAngleCmd.d.ts} +2 -2
  192. package/lib/command/measure/AcApMeasureAngleCmd.d.ts.map +1 -0
  193. package/lib/command/{AcApMeasureAngleCmd.js → measure/AcApMeasureAngleCmd.js} +3 -3
  194. package/lib/command/measure/AcApMeasureAngleCmd.js.map +1 -0
  195. package/lib/command/{AcApMeasureArcCmd.d.ts → measure/AcApMeasureArcCmd.d.ts} +2 -2
  196. package/lib/command/measure/AcApMeasureArcCmd.d.ts.map +1 -0
  197. package/lib/command/{AcApMeasureArcCmd.js → measure/AcApMeasureArcCmd.js} +3 -3
  198. package/lib/command/measure/AcApMeasureArcCmd.js.map +1 -0
  199. package/lib/command/{AcApMeasureAreaCmd.d.ts → measure/AcApMeasureAreaCmd.d.ts} +2 -2
  200. package/lib/command/measure/AcApMeasureAreaCmd.d.ts.map +1 -0
  201. package/lib/command/{AcApMeasureAreaCmd.js → measure/AcApMeasureAreaCmd.js} +3 -3
  202. package/lib/command/measure/AcApMeasureAreaCmd.js.map +1 -0
  203. package/lib/command/{AcApMeasureDistanceCmd.d.ts → measure/AcApMeasureDistanceCmd.d.ts} +2 -2
  204. package/lib/command/measure/AcApMeasureDistanceCmd.d.ts.map +1 -0
  205. package/lib/command/{AcApMeasureDistanceCmd.js → measure/AcApMeasureDistanceCmd.js} +3 -3
  206. package/lib/command/measure/AcApMeasureDistanceCmd.js.map +1 -0
  207. package/lib/command/measure/index.d.ts +6 -0
  208. package/lib/command/measure/index.d.ts.map +1 -0
  209. package/lib/command/measure/index.js +6 -0
  210. package/lib/command/measure/index.js.map +1 -0
  211. package/lib/command/modify/AcApCopyCmd.d.ts +94 -0
  212. package/lib/command/modify/AcApCopyCmd.d.ts.map +1 -0
  213. package/lib/command/modify/AcApCopyCmd.js +549 -0
  214. package/lib/command/modify/AcApCopyCmd.js.map +1 -0
  215. package/lib/command/{AcApEraseCmd.d.ts → modify/AcApEraseCmd.d.ts} +2 -2
  216. package/lib/command/modify/AcApEraseCmd.d.ts.map +1 -0
  217. package/lib/command/{AcApEraseCmd.js → modify/AcApEraseCmd.js} +3 -5
  218. package/lib/command/modify/AcApEraseCmd.js.map +1 -0
  219. package/lib/command/{AcApMoveCmd.d.ts → modify/AcApMoveCmd.d.ts} +2 -2
  220. package/lib/command/modify/AcApMoveCmd.d.ts.map +1 -0
  221. package/lib/command/{AcApMoveCmd.js → modify/AcApMoveCmd.js} +3 -4
  222. package/lib/command/modify/AcApMoveCmd.js.map +1 -0
  223. package/lib/command/modify/AcApRotateCmd.d.ts +81 -0
  224. package/lib/command/modify/AcApRotateCmd.d.ts.map +1 -0
  225. package/lib/command/modify/AcApRotateCmd.js +487 -0
  226. package/lib/command/modify/AcApRotateCmd.js.map +1 -0
  227. package/lib/command/modify/index.d.ts +5 -0
  228. package/lib/command/modify/index.d.ts.map +1 -0
  229. package/lib/command/modify/index.js +5 -0
  230. package/lib/command/modify/index.js.map +1 -0
  231. package/lib/command/{AcApBaseRevCmd.d.ts → review/AcApBaseRevCmd.d.ts} +2 -2
  232. package/lib/command/review/AcApBaseRevCmd.d.ts.map +1 -0
  233. package/lib/command/{AcApBaseRevCmd.js → review/AcApBaseRevCmd.js} +2 -2
  234. package/lib/command/review/AcApBaseRevCmd.js.map +1 -0
  235. package/lib/command/{AcApRevCircleCmd.d.ts → review/AcApRevCircleCmd.d.ts} +1 -1
  236. package/lib/command/review/AcApRevCircleCmd.d.ts.map +1 -0
  237. package/lib/command/{AcApRevCircleCmd.js → review/AcApRevCircleCmd.js} +4 -4
  238. package/lib/command/review/AcApRevCircleCmd.js.map +1 -0
  239. package/lib/command/{AcApRevCloudCmd.d.ts → review/AcApRevCloudCmd.d.ts} +2 -2
  240. package/lib/command/review/AcApRevCloudCmd.d.ts.map +1 -0
  241. package/lib/command/{AcApRevCloudCmd.js → review/AcApRevCloudCmd.js} +3 -3
  242. package/lib/command/review/AcApRevCloudCmd.js.map +1 -0
  243. package/lib/command/{AcApRevRectCmd.d.ts → review/AcApRevRectCmd.d.ts} +1 -1
  244. package/lib/command/review/AcApRevRectCmd.d.ts.map +1 -0
  245. package/lib/command/{AcApRevRectCmd.js → review/AcApRevRectCmd.js} +3 -3
  246. package/lib/command/review/AcApRevRectCmd.js.map +1 -0
  247. package/lib/command/{AcApRevVisibilityCmd.d.ts → review/AcApRevVisibilityCmd.d.ts} +1 -1
  248. package/lib/command/review/AcApRevVisibilityCmd.d.ts.map +1 -0
  249. package/lib/command/{AcApRevVisibilityCmd.js → review/AcApRevVisibilityCmd.js} +2 -2
  250. package/lib/command/review/AcApRevVisibilityCmd.js.map +1 -0
  251. package/lib/command/{AcApSketchCmd.d.ts → review/AcApSketchCmd.d.ts} +2 -2
  252. package/lib/command/review/AcApSketchCmd.d.ts.map +1 -0
  253. package/lib/command/{AcApSketchCmd.js → review/AcApSketchCmd.js} +3 -3
  254. package/lib/command/review/AcApSketchCmd.js.map +1 -0
  255. package/lib/command/review/index.d.ts +7 -0
  256. package/lib/command/review/index.d.ts.map +1 -0
  257. package/lib/command/review/index.js +7 -0
  258. package/lib/command/review/index.js.map +1 -0
  259. package/lib/editor/global/eventBus.d.ts +4 -6
  260. package/lib/editor/global/eventBus.d.ts.map +1 -1
  261. package/lib/editor/global/eventBus.js.map +1 -1
  262. package/lib/editor/input/AcEditor.d.ts +17 -0
  263. package/lib/editor/input/AcEditor.d.ts.map +1 -1
  264. package/lib/editor/input/AcEditor.js +23 -0
  265. package/lib/editor/input/AcEditor.js.map +1 -1
  266. package/lib/editor/input/prompt/AcEdPromptBoxOptions.d.ts +6 -0
  267. package/lib/editor/input/prompt/AcEdPromptBoxOptions.d.ts.map +1 -1
  268. package/lib/editor/input/prompt/AcEdPromptBoxOptions.js +16 -0
  269. package/lib/editor/input/prompt/AcEdPromptBoxOptions.js.map +1 -1
  270. package/lib/editor/input/prompt/AcEdPromptPointOptions.d.ts +6 -0
  271. package/lib/editor/input/prompt/AcEdPromptPointOptions.d.ts.map +1 -1
  272. package/lib/editor/input/prompt/AcEdPromptPointOptions.js +16 -0
  273. package/lib/editor/input/prompt/AcEdPromptPointOptions.js.map +1 -1
  274. package/lib/editor/input/ui/AcEdCommandLine.d.ts +25 -23
  275. package/lib/editor/input/ui/AcEdCommandLine.d.ts.map +1 -1
  276. package/lib/editor/input/ui/AcEdCommandLine.js +101 -43
  277. package/lib/editor/input/ui/AcEdCommandLine.js.map +1 -1
  278. package/lib/editor/input/ui/AcEdFloatingInput.d.ts.map +1 -1
  279. package/lib/editor/input/ui/AcEdFloatingInput.js +4 -2
  280. package/lib/editor/input/ui/AcEdFloatingInput.js.map +1 -1
  281. package/lib/editor/input/ui/AcEdInputManager.d.ts +21 -0
  282. package/lib/editor/input/ui/AcEdInputManager.d.ts.map +1 -1
  283. package/lib/editor/input/ui/AcEdInputManager.js +34 -4
  284. package/lib/editor/input/ui/AcEdInputManager.js.map +1 -1
  285. package/lib/editor/input/ui/AcEdMessageType.d.ts +10 -0
  286. package/lib/editor/input/ui/AcEdMessageType.d.ts.map +1 -0
  287. package/lib/editor/input/ui/AcEdMessageType.js +2 -0
  288. package/lib/editor/input/ui/AcEdMessageType.js.map +1 -0
  289. package/lib/editor/input/ui/index.d.ts +1 -0
  290. package/lib/editor/input/ui/index.d.ts.map +1 -1
  291. package/lib/editor/input/ui/index.js +1 -0
  292. package/lib/editor/input/ui/index.js.map +1 -1
  293. package/lib/editor/view/AcEdBaseView.d.ts +3 -8
  294. package/lib/editor/view/AcEdBaseView.d.ts.map +1 -1
  295. package/lib/editor/view/AcEdBaseView.js +3 -5
  296. package/lib/editor/view/AcEdBaseView.js.map +1 -1
  297. package/lib/editor/view/AcEdHoverController.d.ts +2 -3
  298. package/lib/editor/view/AcEdHoverController.d.ts.map +1 -1
  299. package/lib/editor/view/AcEdHoverController.js +7 -0
  300. package/lib/editor/view/AcEdHoverController.js.map +1 -1
  301. package/lib/editor/view/AcEdSelectionAction.d.ts +108 -0
  302. package/lib/editor/view/AcEdSelectionAction.d.ts.map +1 -0
  303. package/lib/editor/view/AcEdSelectionAction.js +74 -0
  304. package/lib/editor/view/AcEdSelectionAction.js.map +1 -0
  305. package/lib/editor/view/index.d.ts +1 -0
  306. package/lib/editor/view/index.d.ts.map +1 -1
  307. package/lib/editor/view/index.js +1 -0
  308. package/lib/editor/view/index.js.map +1 -1
  309. package/lib/i18n/en/command.d.ts +135 -15
  310. package/lib/i18n/en/command.d.ts.map +1 -1
  311. package/lib/i18n/en/command.js +144 -24
  312. package/lib/i18n/en/command.js.map +1 -1
  313. package/lib/i18n/en/jig.d.ts +571 -212
  314. package/lib/i18n/en/jig.d.ts.map +1 -1
  315. package/lib/i18n/en/jig.js +661 -302
  316. package/lib/i18n/en/jig.js.map +1 -1
  317. package/lib/i18n/zh/command.d.ts +135 -15
  318. package/lib/i18n/zh/command.d.ts.map +1 -1
  319. package/lib/i18n/zh/command.js +145 -25
  320. package/lib/i18n/zh/command.js.map +1 -1
  321. package/lib/i18n/zh/jig.d.ts +571 -212
  322. package/lib/i18n/zh/jig.d.ts.map +1 -1
  323. package/lib/i18n/zh/jig.js +660 -301
  324. package/lib/i18n/zh/jig.js.map +1 -1
  325. package/lib/spatialIndex/AcTrHierarchicalSpatialIndex.d.ts +136 -2
  326. package/lib/spatialIndex/AcTrHierarchicalSpatialIndex.d.ts.map +1 -1
  327. package/lib/spatialIndex/AcTrHierarchicalSpatialIndex.js +154 -16
  328. package/lib/spatialIndex/AcTrHierarchicalSpatialIndex.js.map +1 -1
  329. package/lib/view/AcTrLayout.d.ts +17 -0
  330. package/lib/view/AcTrLayout.d.ts.map +1 -1
  331. package/lib/view/AcTrLayout.js +34 -2
  332. package/lib/view/AcTrLayout.js.map +1 -1
  333. package/lib/view/AcTrPickResultUtil.d.ts +4 -0
  334. package/lib/view/AcTrPickResultUtil.d.ts.map +1 -0
  335. package/lib/view/AcTrPickResultUtil.js +54 -0
  336. package/lib/view/AcTrPickResultUtil.js.map +1 -0
  337. package/lib/view/AcTrView2d.d.ts +25 -0
  338. package/lib/view/AcTrView2d.d.ts.map +1 -1
  339. package/lib/view/AcTrView2d.js +225 -100
  340. package/lib/view/AcTrView2d.js.map +1 -1
  341. package/package.json +6 -6
  342. package/lib/command/AcApArcCmd.d.ts +0 -140
  343. package/lib/command/AcApArcCmd.d.ts.map +0 -1
  344. package/lib/command/AcApArcCmd.js.map +0 -1
  345. package/lib/command/AcApBaseRevCmd.d.ts.map +0 -1
  346. package/lib/command/AcApBaseRevCmd.js.map +0 -1
  347. package/lib/command/AcApCircleCmd.d.ts.map +0 -1
  348. package/lib/command/AcApCircleCmd.js.map +0 -1
  349. package/lib/command/AcApClearMeasurementsCmd.d.ts.map +0 -1
  350. package/lib/command/AcApClearMeasurementsCmd.js.map +0 -1
  351. package/lib/command/AcApConvertToDxfCmd.d.ts.map +0 -1
  352. package/lib/command/AcApConvertToDxfCmd.js.map +0 -1
  353. package/lib/command/AcApConvertToPngCmd.d.ts.map +0 -1
  354. package/lib/command/AcApConvertToPngCmd.js.map +0 -1
  355. package/lib/command/AcApConvertToSvgCmd.d.ts.map +0 -1
  356. package/lib/command/AcApConvertToSvgCmd.js.map +0 -1
  357. package/lib/command/AcApDimLinearCmd.d.ts.map +0 -1
  358. package/lib/command/AcApDimLinearCmd.js.map +0 -1
  359. package/lib/command/AcApDxfConvertor.d.ts.map +0 -1
  360. package/lib/command/AcApDxfConvertor.js.map +0 -1
  361. package/lib/command/AcApEllipseCmd.d.ts.map +0 -1
  362. package/lib/command/AcApEllipseCmd.js.map +0 -1
  363. package/lib/command/AcApEraseCmd.d.ts.map +0 -1
  364. package/lib/command/AcApEraseCmd.js.map +0 -1
  365. package/lib/command/AcApHatchCmd.d.ts.map +0 -1
  366. package/lib/command/AcApHatchCmd.js.map +0 -1
  367. package/lib/command/AcApLayerCmd.d.ts.map +0 -1
  368. package/lib/command/AcApLayerCmd.js.map +0 -1
  369. package/lib/command/AcApLineCmd.d.ts.map +0 -1
  370. package/lib/command/AcApLineCmd.js.map +0 -1
  371. package/lib/command/AcApMTextCmd.d.ts.map +0 -1
  372. package/lib/command/AcApMTextCmd.js.map +0 -1
  373. package/lib/command/AcApMeasureAngleCmd.d.ts.map +0 -1
  374. package/lib/command/AcApMeasureAngleCmd.js.map +0 -1
  375. package/lib/command/AcApMeasureArcCmd.d.ts.map +0 -1
  376. package/lib/command/AcApMeasureArcCmd.js.map +0 -1
  377. package/lib/command/AcApMeasureAreaCmd.d.ts.map +0 -1
  378. package/lib/command/AcApMeasureAreaCmd.js.map +0 -1
  379. package/lib/command/AcApMeasureDistanceCmd.d.ts.map +0 -1
  380. package/lib/command/AcApMeasureDistanceCmd.js.map +0 -1
  381. package/lib/command/AcApMoveCmd.d.ts.map +0 -1
  382. package/lib/command/AcApMoveCmd.js.map +0 -1
  383. package/lib/command/AcApPngConvertor.d.ts.map +0 -1
  384. package/lib/command/AcApPngConvertor.js.map +0 -1
  385. package/lib/command/AcApPolygonCmd.d.ts.map +0 -1
  386. package/lib/command/AcApPolygonCmd.js.map +0 -1
  387. package/lib/command/AcApPolylineCmd.d.ts.map +0 -1
  388. package/lib/command/AcApPolylineCmd.js.map +0 -1
  389. package/lib/command/AcApRectCmd.d.ts.map +0 -1
  390. package/lib/command/AcApRectCmd.js.map +0 -1
  391. package/lib/command/AcApRevCircleCmd.d.ts.map +0 -1
  392. package/lib/command/AcApRevCircleCmd.js.map +0 -1
  393. package/lib/command/AcApRevCloudCmd.d.ts.map +0 -1
  394. package/lib/command/AcApRevCloudCmd.js.map +0 -1
  395. package/lib/command/AcApRevRectCmd.d.ts.map +0 -1
  396. package/lib/command/AcApRevRectCmd.js.map +0 -1
  397. package/lib/command/AcApRevVisibilityCmd.d.ts.map +0 -1
  398. package/lib/command/AcApRevVisibilityCmd.js.map +0 -1
  399. package/lib/command/AcApSketchCmd.d.ts.map +0 -1
  400. package/lib/command/AcApSketchCmd.js.map +0 -1
  401. package/lib/command/AcApSplineCmd.d.ts.map +0 -1
  402. package/lib/command/AcApSplineCmd.js.map +0 -1
  403. package/lib/command/AcApSvgConvertor.d.ts.map +0 -1
  404. package/lib/command/AcApSvgConvertor.js.map +0 -1
  405. /package/lib/command/{AcApDxfConvertor.d.ts → convert/AcApDxfConvertor.d.ts} +0 -0
  406. /package/lib/command/{AcApSvgConvertor.d.ts → convert/AcApSvgConvertor.d.ts} +0 -0
@@ -0,0 +1,485 @@
1
+ var __extends = (this && this.__extends) || (function () {
2
+ var extendStatics = function (d, b) {
3
+ extendStatics = Object.setPrototypeOf ||
4
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
5
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
6
+ return extendStatics(d, b);
7
+ };
8
+ return function (d, b) {
9
+ if (typeof b !== "function" && b !== null)
10
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
11
+ extendStatics(d, b);
12
+ function __() { this.constructor = d; }
13
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
14
+ };
15
+ })();
16
+ var __assign = (this && this.__assign) || function () {
17
+ __assign = Object.assign || function(t) {
18
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
19
+ s = arguments[i];
20
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
21
+ t[p] = s[p];
22
+ }
23
+ return t;
24
+ };
25
+ return __assign.apply(this, arguments);
26
+ };
27
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
28
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
29
+ return new (P || (P = Promise))(function (resolve, reject) {
30
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
31
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
32
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
33
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
34
+ });
35
+ };
36
+ var __generator = (this && this.__generator) || function (thisArg, body) {
37
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
38
+ return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
39
+ function verb(n) { return function (v) { return step([n, v]); }; }
40
+ function step(op) {
41
+ if (f) throw new TypeError("Generator is already executing.");
42
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
43
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
44
+ if (y = 0, t) op = [op[0] & 2, t.value];
45
+ switch (op[0]) {
46
+ case 0: case 1: t = op; break;
47
+ case 4: _.label++; return { value: op[1], done: false };
48
+ case 5: _.label++; y = op[1]; op = [0]; continue;
49
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
50
+ default:
51
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
52
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
53
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
54
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
55
+ if (t[2]) _.ops.pop();
56
+ _.trys.pop(); continue;
57
+ }
58
+ op = body.call(thisArg, _);
59
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
60
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
61
+ }
62
+ };
63
+ var __values = (this && this.__values) || function(o) {
64
+ var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
65
+ if (m) return m.call(o);
66
+ if (o && typeof o.length === "number") return {
67
+ next: function () {
68
+ if (o && i >= o.length) o = void 0;
69
+ return { value: o && o[i++], done: !o };
70
+ }
71
+ };
72
+ throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
73
+ };
74
+ var __read = (this && this.__read) || function (o, n) {
75
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
76
+ if (!m) return o;
77
+ var i = m.call(o), r, ar = [], e;
78
+ try {
79
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
80
+ }
81
+ catch (error) { e = { error: error }; }
82
+ finally {
83
+ try {
84
+ if (r && !r.done && (m = i["return"])) m.call(i);
85
+ }
86
+ finally { if (e) throw e.error; }
87
+ }
88
+ return ar;
89
+ };
90
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
91
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
92
+ if (ar || !(i in from)) {
93
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
94
+ ar[i] = from[i];
95
+ }
96
+ }
97
+ return to.concat(ar || Array.prototype.slice.call(from));
98
+ };
99
+ import { AcApDocManager } from '../../app';
100
+ import { AcEdCommand, AcEdOpenMode, AcEdPromptKeywordOptions, AcEdPromptSelectionOptions, AcEdPromptStatus } from '../../editor';
101
+ import { AcApI18n } from '../../i18n';
102
+ import { AcApLayerIsoState, getLayerIsoState, isSameLayerIsoState } from './AcApLayerIsoState';
103
+ var DEFAULT_SETTINGS = {
104
+ isolationMode: 'Off',
105
+ offMode: 'Off'
106
+ };
107
+ /**
108
+ * AutoCAD-like `LAYISO` command.
109
+ *
110
+ * The command isolates the layers of selected objects. Non-isolated layers are
111
+ * either turned off or locked, depending on the persisted `Settings` choice.
112
+ *
113
+ * Current viewer limitations:
114
+ * - Per-viewport layer freezing is not represented, so `Vpfreeze` falls back to
115
+ * global layer-off behavior.
116
+ * - Locked-layer fading is not rendered, so `Lock and fade` falls back to
117
+ * locking non-isolated layers without changing their visibility.
118
+ */
119
+ var AcApLayerIsoCmd = /** @class */ (function (_super) {
120
+ __extends(AcApLayerIsoCmd, _super);
121
+ /**
122
+ * Creates a write-enabled `LAYISO` command instance.
123
+ */
124
+ function AcApLayerIsoCmd() {
125
+ var _this = _super.call(this) || this;
126
+ _this._vpfreezeHintShown = false;
127
+ _this._lockFadeHintShown = false;
128
+ _this.mode = AcEdOpenMode.Write;
129
+ return _this;
130
+ }
131
+ /**
132
+ * Runs the isolate-layer workflow.
133
+ *
134
+ * Preselected entities are consumed immediately. Otherwise the command keeps
135
+ * prompting until the user either changes settings, selects objects, or
136
+ * cancels the command.
137
+ *
138
+ * @param context - Active application context used to update layer states.
139
+ * @returns Resolves when layer isolation is applied or the command exits.
140
+ */
141
+ AcApLayerIsoCmd.prototype.execute = function (context) {
142
+ return __awaiter(this, void 0, void 0, function () {
143
+ var preselectedIds, action;
144
+ return __generator(this, function (_a) {
145
+ switch (_a.label) {
146
+ case 0:
147
+ this._vpfreezeHintShown = AcApLayerIsoCmd._settings.offMode !== 'Vpfreeze';
148
+ this._lockFadeHintShown =
149
+ AcApLayerIsoCmd._settings.isolationMode !== 'LockAndFade';
150
+ preselectedIds = context.view.selectionSet.ids;
151
+ if (preselectedIds.length > 0) {
152
+ this.isolateSelectedObjectLayers(context, preselectedIds);
153
+ return [2 /*return*/];
154
+ }
155
+ _a.label = 1;
156
+ case 1:
157
+ if (!true) return [3 /*break*/, 5];
158
+ return [4 /*yield*/, this.promptSelection()];
159
+ case 2:
160
+ action = _a.sent();
161
+ if (!action)
162
+ return [2 /*return*/];
163
+ if (!(action.type === 'keyword')) return [3 /*break*/, 4];
164
+ return [4 /*yield*/, this.runSettings()];
165
+ case 3:
166
+ _a.sent();
167
+ return [3 /*break*/, 1];
168
+ case 4:
169
+ this.isolateSelectedObjectLayers(context, action.objectIds);
170
+ return [2 /*return*/];
171
+ case 5: return [2 /*return*/];
172
+ }
173
+ });
174
+ });
175
+ };
176
+ /**
177
+ * Sends a localized status message through the command-line output.
178
+ *
179
+ * @param message - Text to display to the user.
180
+ * @param type - Visual severity mapped to command-line message styles.
181
+ */
182
+ AcApLayerIsoCmd.prototype.notify = function (message, type) {
183
+ if (type === void 0) { type = 'info'; }
184
+ AcApDocManager.instance.editor.showMessage(message, type);
185
+ };
186
+ /**
187
+ * Registers a localized keyword on a prompt.
188
+ *
189
+ * @param prompt - Prompt instance that should expose the keyword.
190
+ * @param key - I18n keyword identifier under `jig.layiso.keywords`.
191
+ */
192
+ AcApLayerIsoCmd.prototype.addKeyword = function (prompt, key) {
193
+ prompt.keywords.add(AcApI18n.t("jig.layiso.keywords.".concat(key, ".display")), AcApI18n.t("jig.layiso.keywords.".concat(key, ".global")), AcApI18n.t("jig.layiso.keywords.".concat(key, ".local")));
194
+ };
195
+ /**
196
+ * Prompts for selected entities or the `Settings` keyword.
197
+ *
198
+ * @returns Selection or keyword action, or `undefined` when canceled.
199
+ */
200
+ AcApLayerIsoCmd.prototype.promptSelection = function () {
201
+ return __awaiter(this, void 0, void 0, function () {
202
+ var prompt, result;
203
+ var _a, _b;
204
+ return __generator(this, function (_c) {
205
+ switch (_c.label) {
206
+ case 0:
207
+ prompt = new AcEdPromptSelectionOptions(AcApI18n.t('jig.layiso.prompt'));
208
+ this.addKeyword(prompt, 'settings');
209
+ return [4 /*yield*/, AcApDocManager.instance.editor.getSelection(prompt)];
210
+ case 1:
211
+ result = _c.sent();
212
+ if (result.status === AcEdPromptStatus.OK) {
213
+ return [2 /*return*/, {
214
+ type: 'selection',
215
+ objectIds: (_b = (_a = result.value) === null || _a === void 0 ? void 0 : _a.ids) !== null && _b !== void 0 ? _b : []
216
+ }];
217
+ }
218
+ if (result.status === AcEdPromptStatus.Keyword &&
219
+ result.stringResult === 'Settings') {
220
+ return [2 /*return*/, {
221
+ type: 'keyword',
222
+ keyword: result.stringResult
223
+ }];
224
+ }
225
+ return [2 /*return*/, undefined];
226
+ }
227
+ });
228
+ });
229
+ };
230
+ /**
231
+ * Opens the `Settings` branch for choosing how non-isolated layers behave.
232
+ *
233
+ * @returns Resolves when the setting prompt is dismissed or updated.
234
+ */
235
+ AcApLayerIsoCmd.prototype.runSettings = function () {
236
+ return __awaiter(this, void 0, void 0, function () {
237
+ var prompt, off, lockAndFade, result, keyword;
238
+ return __generator(this, function (_a) {
239
+ switch (_a.label) {
240
+ case 0:
241
+ prompt = new AcEdPromptKeywordOptions(AcApI18n.t('jig.layiso.settingsPrompt'));
242
+ prompt.allowNone = true;
243
+ off = prompt.keywords.add(AcApI18n.t('jig.layiso.keywords.off.display'), AcApI18n.t('jig.layiso.keywords.off.global'), AcApI18n.t('jig.layiso.keywords.off.local'));
244
+ lockAndFade = prompt.keywords.add(AcApI18n.t('jig.layiso.keywords.lockAndFade.display'), AcApI18n.t('jig.layiso.keywords.lockAndFade.global'), AcApI18n.t('jig.layiso.keywords.lockAndFade.local'));
245
+ prompt.keywords.default =
246
+ AcApLayerIsoCmd._settings.isolationMode === 'LockAndFade'
247
+ ? lockAndFade
248
+ : off;
249
+ return [4 /*yield*/, AcApDocManager.instance.editor.getKeywords(prompt)];
250
+ case 1:
251
+ result = _a.sent();
252
+ if (result.status !== AcEdPromptStatus.OK)
253
+ return [2 /*return*/];
254
+ keyword = result.stringResult;
255
+ if (!keyword)
256
+ return [2 /*return*/];
257
+ AcApLayerIsoCmd._settings.isolationMode = keyword;
258
+ if (!(keyword === 'Off')) return [3 /*break*/, 3];
259
+ return [4 /*yield*/, this.promptOffMode()];
260
+ case 2:
261
+ _a.sent();
262
+ return [2 /*return*/];
263
+ case 3:
264
+ this._lockFadeHintShown = true;
265
+ this.notify(AcApI18n.t('jig.layiso.lockFadeFallback'));
266
+ return [2 /*return*/];
267
+ }
268
+ });
269
+ });
270
+ };
271
+ /**
272
+ * Prompts for viewport behavior used by the `Off` isolation mode.
273
+ *
274
+ * `Vpfreeze` falls back to ordinary layer-off behavior because the viewer has
275
+ * no per-viewport layer state.
276
+ *
277
+ * @returns Resolves when the prompt is dismissed or the setting is updated.
278
+ */
279
+ AcApLayerIsoCmd.prototype.promptOffMode = function () {
280
+ return __awaiter(this, void 0, void 0, function () {
281
+ var prompt, off, vpfreeze, result, keyword;
282
+ return __generator(this, function (_a) {
283
+ switch (_a.label) {
284
+ case 0:
285
+ prompt = new AcEdPromptKeywordOptions(AcApI18n.t('jig.layiso.offModePrompt'));
286
+ prompt.allowNone = true;
287
+ off = prompt.keywords.add(AcApI18n.t('jig.layiso.keywords.off.display'), AcApI18n.t('jig.layiso.keywords.off.global'), AcApI18n.t('jig.layiso.keywords.off.local'));
288
+ vpfreeze = prompt.keywords.add(AcApI18n.t('jig.layiso.keywords.vpfreeze.display'), AcApI18n.t('jig.layiso.keywords.vpfreeze.global'), AcApI18n.t('jig.layiso.keywords.vpfreeze.local'));
289
+ prompt.keywords.default =
290
+ AcApLayerIsoCmd._settings.offMode === 'Vpfreeze' ? vpfreeze : off;
291
+ return [4 /*yield*/, AcApDocManager.instance.editor.getKeywords(prompt)];
292
+ case 1:
293
+ result = _a.sent();
294
+ if (result.status !== AcEdPromptStatus.OK)
295
+ return [2 /*return*/];
296
+ keyword = result.stringResult;
297
+ if (!keyword)
298
+ return [2 /*return*/];
299
+ AcApLayerIsoCmd._settings.offMode = keyword;
300
+ if (keyword === 'Vpfreeze') {
301
+ this._vpfreezeHintShown = true;
302
+ this.notify(AcApI18n.t('jig.layiso.vpfreezeFallback'));
303
+ }
304
+ else {
305
+ this._vpfreezeHintShown = false;
306
+ }
307
+ return [2 /*return*/];
308
+ }
309
+ });
310
+ });
311
+ };
312
+ /**
313
+ * Sets or clears the frozen bit while preserving other layer flags.
314
+ *
315
+ * @param layer - Target layer table record.
316
+ * @param frozen - Whether the layer should be marked frozen.
317
+ */
318
+ AcApLayerIsoCmd.prototype.setLayerFrozen = function (layer, frozen) {
319
+ var _a;
320
+ var flags = (_a = layer.standardFlags) !== null && _a !== void 0 ? _a : 0;
321
+ layer.standardFlags = frozen ? flags | 0x01 : flags & ~0x01;
322
+ };
323
+ /**
324
+ * Sets or clears the locked bit while preserving other layer flags.
325
+ *
326
+ * @param layer - Target layer table record.
327
+ * @param locked - Whether the layer should be marked locked.
328
+ */
329
+ AcApLayerIsoCmd.prototype.setLayerLocked = function (layer, locked) {
330
+ var _a;
331
+ var flags = (_a = layer.standardFlags) !== null && _a !== void 0 ? _a : 0;
332
+ layer.standardFlags = locked ? flags | 0x04 : flags & ~0x04;
333
+ };
334
+ /**
335
+ * Resolves selected entities to layer names and applies isolation.
336
+ *
337
+ * @param context - Active application context containing database and view.
338
+ * @param objectIds - Entity ids selected by the user.
339
+ */
340
+ AcApLayerIsoCmd.prototype.isolateSelectedObjectLayers = function (context, objectIds) {
341
+ var e_1, _a, e_2, _b, e_3, _c;
342
+ var layerNames = this.collectSelectedLayerNames(context, objectIds);
343
+ if (layerNames.length === 0) {
344
+ this.notify(AcApI18n.t('jig.layiso.noLayers'), 'warning');
345
+ return;
346
+ }
347
+ var db = context.doc.database;
348
+ var table = db.tables.layerTable;
349
+ var targetNames = new Set(layerNames);
350
+ var targetLayer = table.getAt(layerNames[0]);
351
+ var currentLayerBefore = db.clayer;
352
+ var beforeStates = new Map();
353
+ try {
354
+ for (var _d = __values(table.newIterator()), _e = _d.next(); !_e.done; _e = _d.next()) {
355
+ var layer = _e.value;
356
+ beforeStates.set(layer.name, getLayerIsoState(layer));
357
+ }
358
+ }
359
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
360
+ finally {
361
+ try {
362
+ if (_e && !_e.done && (_a = _d.return)) _a.call(_d);
363
+ }
364
+ finally { if (e_1) throw e_1.error; }
365
+ }
366
+ if (targetLayer) {
367
+ db.clayer = targetLayer.name;
368
+ }
369
+ var affectedLayerNames = new Set();
370
+ try {
371
+ for (var _f = __values(table.newIterator()), _g = _f.next(); !_g.done; _g = _f.next()) {
372
+ var layer = _g.value;
373
+ if (targetNames.has(layer.name)) {
374
+ if (layer.isOff) {
375
+ layer.isOff = false;
376
+ affectedLayerNames.add(layer.name);
377
+ }
378
+ if (layer.isFrozen) {
379
+ this.setLayerFrozen(layer, false);
380
+ affectedLayerNames.add(layer.name);
381
+ }
382
+ if (layer.isLocked) {
383
+ this.setLayerLocked(layer, false);
384
+ affectedLayerNames.add(layer.name);
385
+ }
386
+ continue;
387
+ }
388
+ if (AcApLayerIsoCmd._settings.isolationMode === 'Off') {
389
+ if (!layer.isOff) {
390
+ layer.isOff = true;
391
+ affectedLayerNames.add(layer.name);
392
+ }
393
+ continue;
394
+ }
395
+ if (!layer.isLocked) {
396
+ this.setLayerLocked(layer, true);
397
+ affectedLayerNames.add(layer.name);
398
+ }
399
+ }
400
+ }
401
+ catch (e_2_1) { e_2 = { error: e_2_1 }; }
402
+ finally {
403
+ try {
404
+ if (_g && !_g.done && (_b = _f.return)) _b.call(_f);
405
+ }
406
+ finally { if (e_2) throw e_2.error; }
407
+ }
408
+ var snapshots = [];
409
+ try {
410
+ for (var _h = __values(table.newIterator()), _j = _h.next(); !_j.done; _j = _h.next()) {
411
+ var layer = _j.value;
412
+ var before = beforeStates.get(layer.name);
413
+ if (!before)
414
+ continue;
415
+ var isolated = getLayerIsoState(layer);
416
+ if (!isSameLayerIsoState(before, isolated)) {
417
+ snapshots.push({
418
+ name: layer.name,
419
+ before: before,
420
+ isolated: isolated
421
+ });
422
+ }
423
+ }
424
+ }
425
+ catch (e_3_1) { e_3 = { error: e_3_1 }; }
426
+ finally {
427
+ try {
428
+ if (_j && !_j.done && (_c = _h.return)) _c.call(_h);
429
+ }
430
+ finally { if (e_3) throw e_3.error; }
431
+ }
432
+ AcApLayerIsoState.set({
433
+ currentLayerBefore: currentLayerBefore,
434
+ currentLayerAfter: db.clayer,
435
+ layers: snapshots
436
+ });
437
+ if (AcApLayerIsoCmd._settings.isolationMode === 'Off' &&
438
+ AcApLayerIsoCmd._settings.offMode === 'Vpfreeze' &&
439
+ !this._vpfreezeHintShown) {
440
+ this.notify(AcApI18n.t('jig.layiso.vpfreezeFallback'));
441
+ this._vpfreezeHintShown = true;
442
+ }
443
+ if (AcApLayerIsoCmd._settings.isolationMode === 'LockAndFade' &&
444
+ !this._lockFadeHintShown) {
445
+ this.notify(AcApI18n.t('jig.layiso.lockFadeFallback'));
446
+ this._lockFadeHintShown = true;
447
+ }
448
+ context.view.selectionSet.clear();
449
+ this.notify("".concat(AcApI18n.t('jig.layiso.isolated'), ": ").concat(layerNames.join(', '), " (").concat(AcApI18n.t('jig.layiso.affectedLayers'), ": ").concat(affectedLayerNames.size, ")"), 'success');
450
+ };
451
+ /**
452
+ * Collects distinct layer names from selected entity ids.
453
+ *
454
+ * @param context - Active application context containing the drawing database.
455
+ * @param objectIds - Selected entity identifiers.
456
+ * @returns Layer names resolved from valid selected entities.
457
+ */
458
+ AcApLayerIsoCmd.prototype.collectSelectedLayerNames = function (context, objectIds) {
459
+ var db = context.doc.database;
460
+ var names = new Set();
461
+ var missing = new Set();
462
+ objectIds.forEach(function (objectId) {
463
+ var _a;
464
+ var entity = db.tables.blockTable.getEntityById(objectId);
465
+ var layerName = (_a = entity === null || entity === void 0 ? void 0 : entity.layer) === null || _a === void 0 ? void 0 : _a.trim();
466
+ if (!layerName)
467
+ return;
468
+ var layer = db.tables.layerTable.getAt(layerName);
469
+ if (layer) {
470
+ names.add(layer.name);
471
+ }
472
+ else {
473
+ missing.add(layerName);
474
+ }
475
+ });
476
+ if (missing.size > 0) {
477
+ this.notify("".concat(AcApI18n.t('jig.layiso.layerNotFound'), ": ").concat(__spreadArray([], __read(missing), false).join(', ')), 'warning');
478
+ }
479
+ return __spreadArray([], __read(names), false);
480
+ };
481
+ AcApLayerIsoCmd._settings = __assign({}, DEFAULT_SETTINGS);
482
+ return AcApLayerIsoCmd;
483
+ }(AcEdCommand));
484
+ export { AcApLayerIsoCmd };
485
+ //# sourceMappingURL=AcApLayerIsoCmd.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AcApLayerIsoCmd.js","sourceRoot":"","sources":["../../../src/command/layer/AcApLayerIsoCmd.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,68 @@
1
+ import { AcDbLayerTableRecord } from '@mlightcad/data-model';
2
+ /**
3
+ * Layer flags that can be changed by `LAYISO` and restored by `LAYUNISO`.
4
+ */
5
+ export interface AcApLayerIsoLayerState {
6
+ /** Whether the layer is turned off. */
7
+ isOff: boolean;
8
+ /** Whether the layer is frozen. */
9
+ isFrozen: boolean;
10
+ /** Whether the layer is locked. */
11
+ isLocked: boolean;
12
+ }
13
+ /**
14
+ * Before/after snapshot for one layer affected by `LAYISO`.
15
+ */
16
+ export interface AcApLayerIsoLayerSnapshot {
17
+ /** Layer name at the time the snapshot was captured. */
18
+ name: string;
19
+ /** Layer state before `LAYISO` changed it. */
20
+ before: AcApLayerIsoLayerState;
21
+ /** Layer state immediately after `LAYISO` finished. */
22
+ isolated: AcApLayerIsoLayerState;
23
+ }
24
+ /**
25
+ * Snapshot for the most recent `LAYISO` command.
26
+ */
27
+ export interface AcApLayerIsoSnapshot {
28
+ /** Current layer before `LAYISO` ran. */
29
+ currentLayerBefore: string;
30
+ /** Current layer immediately after `LAYISO` finished. */
31
+ currentLayerAfter: string;
32
+ /** Layers whose state changed during `LAYISO`. */
33
+ layers: AcApLayerIsoLayerSnapshot[];
34
+ }
35
+ /**
36
+ * Stores the most recent `LAYISO` snapshot for `LAYUNISO`.
37
+ */
38
+ export declare class AcApLayerIsoState {
39
+ private static _snapshot;
40
+ /**
41
+ * Replaces the previous isolation snapshot.
42
+ *
43
+ * @param snapshot - Snapshot captured by the latest `LAYISO` run.
44
+ */
45
+ static set(snapshot: AcApLayerIsoSnapshot): void;
46
+ /**
47
+ * Consumes the current snapshot so `LAYUNISO` behaves as a one-shot restore.
48
+ *
49
+ * @returns Latest isolation snapshot, or `undefined` if `LAYISO` has not run.
50
+ */
51
+ static consume(): AcApLayerIsoSnapshot | undefined;
52
+ }
53
+ /**
54
+ * Captures the layer state relevant to isolation.
55
+ *
56
+ * @param layer - Layer table record to inspect.
57
+ * @returns Snapshot of visibility, freeze, and lock flags.
58
+ */
59
+ export declare function getLayerIsoState(layer: AcDbLayerTableRecord): AcApLayerIsoLayerState;
60
+ /**
61
+ * Compares two isolation layer states.
62
+ *
63
+ * @param a - First state.
64
+ * @param b - Second state.
65
+ * @returns `true` when all tracked flags match.
66
+ */
67
+ export declare function isSameLayerIsoState(a: AcApLayerIsoLayerState, b: AcApLayerIsoLayerState): boolean;
68
+ //# sourceMappingURL=AcApLayerIsoState.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AcApLayerIsoState.d.ts","sourceRoot":"","sources":["../../../src/command/layer/AcApLayerIsoState.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAA;AAE5D;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,uCAAuC;IACvC,KAAK,EAAE,OAAO,CAAA;IAEd,mCAAmC;IACnC,QAAQ,EAAE,OAAO,CAAA;IAEjB,mCAAmC;IACnC,QAAQ,EAAE,OAAO,CAAA;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,wDAAwD;IACxD,IAAI,EAAE,MAAM,CAAA;IAEZ,8CAA8C;IAC9C,MAAM,EAAE,sBAAsB,CAAA;IAE9B,uDAAuD;IACvD,QAAQ,EAAE,sBAAsB,CAAA;CACjC;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,yCAAyC;IACzC,kBAAkB,EAAE,MAAM,CAAA;IAE1B,yDAAyD;IACzD,iBAAiB,EAAE,MAAM,CAAA;IAEzB,kDAAkD;IAClD,MAAM,EAAE,yBAAyB,EAAE,CAAA;CACpC;AAED;;GAEG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,MAAM,CAAC,SAAS,CAAkC;IAE1D;;;;OAIG;IACH,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,oBAAoB;IAIzC;;;;OAIG;IACH,MAAM,CAAC,OAAO;CAKf;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,oBAAoB,GAC1B,sBAAsB,CAMxB;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CACjC,CAAC,EAAE,sBAAsB,EACzB,CAAC,EAAE,sBAAsB,WAO1B"}
@@ -0,0 +1,53 @@
1
+ /**
2
+ * Stores the most recent `LAYISO` snapshot for `LAYUNISO`.
3
+ */
4
+ var AcApLayerIsoState = /** @class */ (function () {
5
+ function AcApLayerIsoState() {
6
+ }
7
+ /**
8
+ * Replaces the previous isolation snapshot.
9
+ *
10
+ * @param snapshot - Snapshot captured by the latest `LAYISO` run.
11
+ */
12
+ AcApLayerIsoState.set = function (snapshot) {
13
+ this._snapshot = snapshot;
14
+ };
15
+ /**
16
+ * Consumes the current snapshot so `LAYUNISO` behaves as a one-shot restore.
17
+ *
18
+ * @returns Latest isolation snapshot, or `undefined` if `LAYISO` has not run.
19
+ */
20
+ AcApLayerIsoState.consume = function () {
21
+ var snapshot = this._snapshot;
22
+ this._snapshot = undefined;
23
+ return snapshot;
24
+ };
25
+ return AcApLayerIsoState;
26
+ }());
27
+ export { AcApLayerIsoState };
28
+ /**
29
+ * Captures the layer state relevant to isolation.
30
+ *
31
+ * @param layer - Layer table record to inspect.
32
+ * @returns Snapshot of visibility, freeze, and lock flags.
33
+ */
34
+ export function getLayerIsoState(layer) {
35
+ return {
36
+ isOff: layer.isOff,
37
+ isFrozen: layer.isFrozen,
38
+ isLocked: layer.isLocked
39
+ };
40
+ }
41
+ /**
42
+ * Compares two isolation layer states.
43
+ *
44
+ * @param a - First state.
45
+ * @param b - Second state.
46
+ * @returns `true` when all tracked flags match.
47
+ */
48
+ export function isSameLayerIsoState(a, b) {
49
+ return (a.isOff === b.isOff &&
50
+ a.isFrozen === b.isFrozen &&
51
+ a.isLocked === b.isLocked);
52
+ }
53
+ //# sourceMappingURL=AcApLayerIsoState.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AcApLayerIsoState.js","sourceRoot":"","sources":["../../../src/command/layer/AcApLayerIsoState.ts"],"names":[],"mappings":"AA4CA;;GAEG;AACH;IAAA;IAsBA,CAAC;IAnBC;;;;OAIG;IACI,qBAAG,GAAV,UAAW,QAA8B;QACvC,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAA;IAC3B,CAAC;IAED;;;;OAIG;IACI,yBAAO,GAAd;QACE,IAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAA;QAC/B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;QAC1B,OAAO,QAAQ,CAAA;IACjB,CAAC;IACH,wBAAC;AAAD,CAAC,AAtBD,IAsBC;;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAC9B,KAA2B;IAE3B,OAAO;QACL,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,QAAQ,EAAE,KAAK,CAAC,QAAQ;KACzB,CAAA;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,mBAAmB,CACjC,CAAyB,EACzB,CAAyB;IAEzB,OAAO,CACL,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,KAAK;QACnB,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,QAAQ;QACzB,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,QAAQ,CAC1B,CAAA;AACH,CAAC"}