@mlightcad/cad-simple-viewer 1.4.13 → 1.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (465) hide show
  1. package/dist/index.js +26532 -44513
  2. package/dist/index.umd.cjs +163 -52
  3. package/dist/libredwg-parser-worker.js +4378 -7481
  4. package/dist/mtext-renderer-worker.js +4107 -3865
  5. package/dist/viewer-runtime.iife.js +3879 -0
  6. package/lib/app/AcApAnnotation.js +4 -4
  7. package/lib/app/AcApAnnotation.js.map +1 -1
  8. package/lib/app/AcApDocManager.d.ts +59 -6
  9. package/lib/app/AcApDocManager.d.ts.map +1 -1
  10. package/lib/app/AcApDocManager.js +188 -28
  11. package/lib/app/AcApDocManager.js.map +1 -1
  12. package/lib/command/AcApLogCmd.d.ts +1 -1
  13. package/lib/command/AcApLogCmd.d.ts.map +1 -1
  14. package/lib/command/AcApLogCmd.js +1 -1
  15. package/lib/command/AcApLogCmd.js.map +1 -1
  16. package/lib/command/AcApOpenCmd.d.ts +1 -1
  17. package/lib/command/AcApOpenCmd.d.ts.map +1 -1
  18. package/lib/command/AcApOpenCmd.js +1 -2
  19. package/lib/command/AcApOpenCmd.js.map +1 -1
  20. package/lib/command/AcApPanCmd.d.ts +1 -1
  21. package/lib/command/AcApPanCmd.d.ts.map +1 -1
  22. package/lib/command/AcApPanCmd.js +1 -2
  23. package/lib/command/AcApPanCmd.js.map +1 -1
  24. package/lib/command/AcApQNewCmd.d.ts +1 -1
  25. package/lib/command/AcApQNewCmd.d.ts.map +1 -1
  26. package/lib/command/AcApQNewCmd.js +1 -1
  27. package/lib/command/AcApQNewCmd.js.map +1 -1
  28. package/lib/command/AcApRegenCmd.d.ts +1 -1
  29. package/lib/command/AcApRegenCmd.d.ts.map +1 -1
  30. package/lib/command/AcApRegenCmd.js +1 -1
  31. package/lib/command/AcApRegenCmd.js.map +1 -1
  32. package/lib/command/AcApSelectCmd.d.ts +1 -1
  33. package/lib/command/AcApSelectCmd.d.ts.map +1 -1
  34. package/lib/command/AcApSelectCmd.js +1 -2
  35. package/lib/command/AcApSelectCmd.js.map +1 -1
  36. package/lib/command/AcApZoomCmd.js +3 -3
  37. package/lib/command/AcApZoomCmd.js.map +1 -1
  38. package/lib/command/{AcApConvertToDxfCmd.d.ts → convert/AcApConvertToDxfCmd.d.ts} +2 -2
  39. package/lib/command/convert/AcApConvertToDxfCmd.d.ts.map +1 -0
  40. package/lib/command/{AcApConvertToDxfCmd.js → convert/AcApConvertToDxfCmd.js} +1 -1
  41. package/lib/command/convert/AcApConvertToDxfCmd.js.map +1 -0
  42. package/lib/command/{AcApConvertToPngCmd.d.ts → convert/AcApConvertToPngCmd.d.ts} +23 -5
  43. package/lib/command/convert/AcApConvertToPngCmd.d.ts.map +1 -0
  44. package/lib/command/{AcApConvertToPngCmd.js → convert/AcApConvertToPngCmd.js} +88 -15
  45. package/lib/command/convert/AcApConvertToPngCmd.js.map +1 -0
  46. package/lib/command/{AcApConvertToSvgCmd.d.ts → convert/AcApConvertToSvgCmd.d.ts} +2 -2
  47. package/lib/command/convert/AcApConvertToSvgCmd.d.ts.map +1 -0
  48. package/lib/command/{AcApConvertToSvgCmd.js → convert/AcApConvertToSvgCmd.js} +1 -1
  49. package/lib/command/convert/AcApConvertToSvgCmd.js.map +1 -0
  50. package/lib/command/convert/AcApDxfConvertor.d.ts.map +1 -0
  51. package/lib/command/{AcApDxfConvertor.js → convert/AcApDxfConvertor.js} +1 -1
  52. package/lib/command/convert/AcApDxfConvertor.js.map +1 -0
  53. package/lib/command/convert/AcApExportHtmlCmd.d.ts +22 -0
  54. package/lib/command/convert/AcApExportHtmlCmd.d.ts.map +1 -0
  55. package/lib/command/convert/AcApExportHtmlCmd.js +93 -0
  56. package/lib/command/convert/AcApExportHtmlCmd.js.map +1 -0
  57. package/lib/command/convert/AcApHtmlConvertor.d.ts +61 -0
  58. package/lib/command/convert/AcApHtmlConvertor.d.ts.map +1 -0
  59. package/lib/command/convert/AcApHtmlConvertor.js +223 -0
  60. package/lib/command/convert/AcApHtmlConvertor.js.map +1 -0
  61. package/lib/command/convert/AcApHtmlSnapshotBuilder.d.ts +65 -0
  62. package/lib/command/convert/AcApHtmlSnapshotBuilder.d.ts.map +1 -0
  63. package/lib/command/convert/AcApHtmlSnapshotBuilder.js +301 -0
  64. package/lib/command/convert/AcApHtmlSnapshotBuilder.js.map +1 -0
  65. package/lib/command/{AcApPngConvertor.d.ts → convert/AcApPngConvertor.d.ts} +20 -35
  66. package/lib/command/convert/AcApPngConvertor.d.ts.map +1 -0
  67. package/lib/command/{AcApPngConvertor.js → convert/AcApPngConvertor.js} +99 -71
  68. package/lib/command/convert/AcApPngConvertor.js.map +1 -0
  69. package/lib/command/convert/AcApSvgConvertor.d.ts.map +1 -0
  70. package/lib/command/{AcApSvgConvertor.js → convert/AcApSvgConvertor.js} +1 -1
  71. package/lib/command/convert/AcApSvgConvertor.js.map +1 -0
  72. package/lib/command/convert/index.d.ts +9 -0
  73. package/lib/command/convert/index.d.ts.map +1 -0
  74. package/lib/command/convert/index.js +9 -0
  75. package/lib/command/convert/index.js.map +1 -0
  76. package/lib/command/draw/AcApArcCmd.d.ts +297 -0
  77. package/lib/command/draw/AcApArcCmd.d.ts.map +1 -0
  78. package/lib/command/{AcApArcCmd.js → draw/AcApArcCmd.js} +839 -32
  79. package/lib/command/draw/AcApArcCmd.js.map +1 -0
  80. package/lib/command/{AcApCircleCmd.d.ts → draw/AcApCircleCmd.d.ts} +2 -2
  81. package/lib/command/draw/AcApCircleCmd.d.ts.map +1 -0
  82. package/lib/command/{AcApCircleCmd.js → draw/AcApCircleCmd.js} +8 -9
  83. package/lib/command/draw/AcApCircleCmd.js.map +1 -0
  84. package/lib/command/{AcApDimLinearCmd.d.ts → draw/AcApDimLinearCmd.d.ts} +2 -2
  85. package/lib/command/draw/AcApDimLinearCmd.d.ts.map +1 -0
  86. package/lib/command/{AcApDimLinearCmd.js → draw/AcApDimLinearCmd.js} +3 -3
  87. package/lib/command/draw/AcApDimLinearCmd.js.map +1 -0
  88. package/lib/command/{AcApEllipseCmd.d.ts → draw/AcApEllipseCmd.d.ts} +2 -2
  89. package/lib/command/draw/AcApEllipseCmd.d.ts.map +1 -0
  90. package/lib/command/{AcApEllipseCmd.js → draw/AcApEllipseCmd.js} +7 -9
  91. package/lib/command/draw/AcApEllipseCmd.js.map +1 -0
  92. package/lib/command/{AcApHatchCmd.d.ts → draw/AcApHatchCmd.d.ts} +54 -17
  93. package/lib/command/draw/AcApHatchCmd.d.ts.map +1 -0
  94. package/lib/command/{AcApHatchCmd.js → draw/AcApHatchCmd.js} +122 -30
  95. package/lib/command/draw/AcApHatchCmd.js.map +1 -0
  96. package/lib/command/{AcApLineCmd.d.ts → draw/AcApLineCmd.d.ts} +2 -2
  97. package/lib/command/draw/AcApLineCmd.d.ts.map +1 -0
  98. package/lib/command/{AcApLineCmd.js → draw/AcApLineCmd.js} +3 -3
  99. package/lib/command/draw/AcApLineCmd.js.map +1 -0
  100. package/lib/command/draw/AcApMLineCmd.d.ts +31 -0
  101. package/lib/command/draw/AcApMLineCmd.d.ts.map +1 -0
  102. package/lib/command/draw/AcApMLineCmd.js +528 -0
  103. package/lib/command/draw/AcApMLineCmd.js.map +1 -0
  104. package/lib/command/{AcApMTextCmd.d.ts → draw/AcApMTextCmd.d.ts} +2 -2
  105. package/lib/command/draw/AcApMTextCmd.d.ts.map +1 -0
  106. package/lib/command/{AcApMTextCmd.js → draw/AcApMTextCmd.js} +6 -4
  107. package/lib/command/draw/AcApMTextCmd.js.map +1 -0
  108. package/lib/command/draw/AcApPointCmd.d.ts +16 -0
  109. package/lib/command/draw/AcApPointCmd.d.ts.map +1 -0
  110. package/lib/command/draw/AcApPointCmd.js +98 -0
  111. package/lib/command/draw/AcApPointCmd.js.map +1 -0
  112. package/lib/command/{AcApPolygonCmd.d.ts → draw/AcApPolygonCmd.d.ts} +2 -2
  113. package/lib/command/draw/AcApPolygonCmd.d.ts.map +1 -0
  114. package/lib/command/{AcApPolygonCmd.js → draw/AcApPolygonCmd.js} +7 -8
  115. package/lib/command/draw/AcApPolygonCmd.js.map +1 -0
  116. package/lib/command/{AcApPolylineCmd.d.ts → draw/AcApPolylineCmd.d.ts} +51 -2
  117. package/lib/command/draw/AcApPolylineCmd.d.ts.map +1 -0
  118. package/lib/command/{AcApPolylineCmd.js → draw/AcApPolylineCmd.js} +203 -21
  119. package/lib/command/draw/AcApPolylineCmd.js.map +1 -0
  120. package/lib/command/draw/AcApRayCmd.d.ts +10 -0
  121. package/lib/command/draw/AcApRayCmd.d.ts.map +1 -0
  122. package/lib/command/draw/AcApRayCmd.js +144 -0
  123. package/lib/command/draw/AcApRayCmd.js.map +1 -0
  124. package/lib/command/{AcApRectCmd.d.ts → draw/AcApRectCmd.d.ts} +2 -2
  125. package/lib/command/draw/AcApRectCmd.d.ts.map +1 -0
  126. package/lib/command/{AcApRectCmd.js → draw/AcApRectCmd.js} +12 -13
  127. package/lib/command/draw/AcApRectCmd.js.map +1 -0
  128. package/lib/command/{AcApSplineCmd.d.ts → draw/AcApSplineCmd.d.ts} +2 -2
  129. package/lib/command/draw/AcApSplineCmd.d.ts.map +1 -0
  130. package/lib/command/{AcApSplineCmd.js → draw/AcApSplineCmd.js} +6 -9
  131. package/lib/command/draw/AcApSplineCmd.js.map +1 -0
  132. package/lib/command/draw/AcApXLineCmd.d.ts +25 -0
  133. package/lib/command/draw/AcApXLineCmd.d.ts.map +1 -0
  134. package/lib/command/draw/AcApXLineCmd.js +209 -0
  135. package/lib/command/draw/AcApXLineCmd.js.map +1 -0
  136. package/lib/command/draw/index.d.ts +16 -0
  137. package/lib/command/draw/index.d.ts.map +1 -0
  138. package/lib/command/draw/index.js +16 -0
  139. package/lib/command/draw/index.js.map +1 -0
  140. package/lib/command/index.d.ts +6 -32
  141. package/lib/command/index.d.ts.map +1 -1
  142. package/lib/command/index.js +6 -32
  143. package/lib/command/index.js.map +1 -1
  144. package/lib/command/layer/AcApLayerCloseCmd.d.ts +23 -0
  145. package/lib/command/layer/AcApLayerCloseCmd.d.ts.map +1 -0
  146. package/lib/command/layer/AcApLayerCloseCmd.js +86 -0
  147. package/lib/command/layer/AcApLayerCloseCmd.js.map +1 -0
  148. package/lib/command/{AcApLayerCmd.d.ts → layer/AcApLayerCmd.d.ts} +3 -5
  149. package/lib/command/layer/AcApLayerCmd.d.ts.map +1 -0
  150. package/lib/command/{AcApLayerCmd.js → layer/AcApLayerCmd.js} +5 -8
  151. package/lib/command/layer/AcApLayerCmd.js.map +1 -0
  152. package/lib/command/layer/AcApLayerCurCmd.d.ts +43 -0
  153. package/lib/command/layer/AcApLayerCurCmd.d.ts.map +1 -0
  154. package/lib/command/layer/AcApLayerCurCmd.js +183 -0
  155. package/lib/command/layer/AcApLayerCurCmd.js.map +1 -0
  156. package/lib/command/layer/AcApLayerDelCmd.d.ts +112 -0
  157. package/lib/command/layer/AcApLayerDelCmd.d.ts.map +1 -0
  158. package/lib/command/layer/AcApLayerDelCmd.js +446 -0
  159. package/lib/command/layer/AcApLayerDelCmd.js.map +1 -0
  160. package/lib/command/layer/AcApLayerFreezeCmd.d.ts +103 -0
  161. package/lib/command/layer/AcApLayerFreezeCmd.d.ts.map +1 -0
  162. package/lib/command/layer/AcApLayerFreezeCmd.js +398 -0
  163. package/lib/command/layer/AcApLayerFreezeCmd.js.map +1 -0
  164. package/lib/command/layer/AcApLayerIsoCmd.d.ts +99 -0
  165. package/lib/command/layer/AcApLayerIsoCmd.d.ts.map +1 -0
  166. package/lib/command/layer/AcApLayerIsoCmd.js +485 -0
  167. package/lib/command/layer/AcApLayerIsoCmd.js.map +1 -0
  168. package/lib/command/layer/AcApLayerIsoState.d.ts +68 -0
  169. package/lib/command/layer/AcApLayerIsoState.d.ts.map +1 -0
  170. package/lib/command/layer/AcApLayerIsoState.js +53 -0
  171. package/lib/command/layer/AcApLayerIsoState.js.map +1 -0
  172. package/lib/command/layer/AcApLayerLockCmd.d.ts +50 -0
  173. package/lib/command/layer/AcApLayerLockCmd.d.ts.map +1 -0
  174. package/lib/command/layer/AcApLayerLockCmd.js +175 -0
  175. package/lib/command/layer/AcApLayerLockCmd.js.map +1 -0
  176. package/lib/command/layer/AcApLayerOffCmd.d.ts +95 -0
  177. package/lib/command/layer/AcApLayerOffCmd.d.ts.map +1 -0
  178. package/lib/command/layer/AcApLayerOffCmd.js +384 -0
  179. package/lib/command/layer/AcApLayerOffCmd.js.map +1 -0
  180. package/lib/command/layer/AcApLayerOnCmd.d.ts +30 -0
  181. package/lib/command/layer/AcApLayerOnCmd.d.ts.map +1 -0
  182. package/lib/command/layer/AcApLayerOnCmd.js +138 -0
  183. package/lib/command/layer/AcApLayerOnCmd.js.map +1 -0
  184. package/lib/command/layer/AcApLayerPCmd.d.ts +83 -0
  185. package/lib/command/layer/AcApLayerPCmd.d.ts.map +1 -0
  186. package/lib/command/layer/AcApLayerPCmd.js +241 -0
  187. package/lib/command/layer/AcApLayerPCmd.js.map +1 -0
  188. package/lib/command/layer/AcApLayerThawCmd.d.ts +37 -0
  189. package/lib/command/layer/AcApLayerThawCmd.d.ts.map +1 -0
  190. package/lib/command/layer/AcApLayerThawCmd.js +150 -0
  191. package/lib/command/layer/AcApLayerThawCmd.js.map +1 -0
  192. package/lib/command/layer/AcApLayerUnisoCmd.d.ts +52 -0
  193. package/lib/command/layer/AcApLayerUnisoCmd.d.ts.map +1 -0
  194. package/lib/command/layer/AcApLayerUnisoCmd.js +199 -0
  195. package/lib/command/layer/AcApLayerUnisoCmd.js.map +1 -0
  196. package/lib/command/layer/AcApLayerUnlockCmd.d.ts +50 -0
  197. package/lib/command/layer/AcApLayerUnlockCmd.d.ts.map +1 -0
  198. package/lib/command/layer/AcApLayerUnlockCmd.js +175 -0
  199. package/lib/command/layer/AcApLayerUnlockCmd.js.map +1 -0
  200. package/lib/command/layer/index.d.ts +14 -0
  201. package/lib/command/layer/index.d.ts.map +1 -0
  202. package/lib/command/layer/index.js +14 -0
  203. package/lib/command/layer/index.js.map +1 -0
  204. package/lib/command/measure/AcApClearMeasurementsCmd.d.ts +24 -0
  205. package/lib/command/measure/AcApClearMeasurementsCmd.d.ts.map +1 -0
  206. package/lib/command/{AcApClearMeasurementsCmd.js → measure/AcApClearMeasurementsCmd.js} +16 -5
  207. package/lib/command/measure/AcApClearMeasurementsCmd.js.map +1 -0
  208. package/lib/command/{AcApMeasureAngleCmd.d.ts → measure/AcApMeasureAngleCmd.d.ts} +2 -2
  209. package/lib/command/measure/AcApMeasureAngleCmd.d.ts.map +1 -0
  210. package/lib/command/{AcApMeasureAngleCmd.js → measure/AcApMeasureAngleCmd.js} +18 -9
  211. package/lib/command/measure/AcApMeasureAngleCmd.js.map +1 -0
  212. package/lib/command/{AcApMeasureArcCmd.d.ts → measure/AcApMeasureArcCmd.d.ts} +2 -2
  213. package/lib/command/measure/AcApMeasureArcCmd.d.ts.map +1 -0
  214. package/lib/command/{AcApMeasureArcCmd.js → measure/AcApMeasureArcCmd.js} +14 -7
  215. package/lib/command/measure/AcApMeasureArcCmd.js.map +1 -0
  216. package/lib/command/{AcApMeasureAreaCmd.d.ts → measure/AcApMeasureAreaCmd.d.ts} +2 -2
  217. package/lib/command/measure/AcApMeasureAreaCmd.d.ts.map +1 -0
  218. package/lib/command/{AcApMeasureAreaCmd.js → measure/AcApMeasureAreaCmd.js} +14 -7
  219. package/lib/command/measure/AcApMeasureAreaCmd.js.map +1 -0
  220. package/lib/command/{AcApMeasureDistanceCmd.d.ts → measure/AcApMeasureDistanceCmd.d.ts} +5 -4
  221. package/lib/command/measure/AcApMeasureDistanceCmd.d.ts.map +1 -0
  222. package/lib/command/{AcApMeasureDistanceCmd.js → measure/AcApMeasureDistanceCmd.js} +17 -9
  223. package/lib/command/measure/AcApMeasureDistanceCmd.js.map +1 -0
  224. package/lib/command/measure/index.d.ts +6 -0
  225. package/lib/command/measure/index.d.ts.map +1 -0
  226. package/lib/command/measure/index.js +6 -0
  227. package/lib/command/measure/index.js.map +1 -0
  228. package/lib/command/modify/AcApCopyCmd.d.ts +94 -0
  229. package/lib/command/modify/AcApCopyCmd.d.ts.map +1 -0
  230. package/lib/command/modify/AcApCopyCmd.js +549 -0
  231. package/lib/command/modify/AcApCopyCmd.js.map +1 -0
  232. package/lib/command/{AcApEraseCmd.d.ts → modify/AcApEraseCmd.d.ts} +2 -2
  233. package/lib/command/modify/AcApEraseCmd.d.ts.map +1 -0
  234. package/lib/command/{AcApEraseCmd.js → modify/AcApEraseCmd.js} +3 -5
  235. package/lib/command/modify/AcApEraseCmd.js.map +1 -0
  236. package/lib/command/{AcApMoveCmd.d.ts → modify/AcApMoveCmd.d.ts} +2 -2
  237. package/lib/command/modify/AcApMoveCmd.d.ts.map +1 -0
  238. package/lib/command/{AcApMoveCmd.js → modify/AcApMoveCmd.js} +3 -4
  239. package/lib/command/modify/AcApMoveCmd.js.map +1 -0
  240. package/lib/command/modify/AcApOffsetCmd.d.ts +30 -0
  241. package/lib/command/modify/AcApOffsetCmd.d.ts.map +1 -0
  242. package/lib/command/modify/AcApOffsetCmd.js +424 -0
  243. package/lib/command/modify/AcApOffsetCmd.js.map +1 -0
  244. package/lib/command/modify/AcApRotateCmd.d.ts +81 -0
  245. package/lib/command/modify/AcApRotateCmd.d.ts.map +1 -0
  246. package/lib/command/modify/AcApRotateCmd.js +486 -0
  247. package/lib/command/modify/AcApRotateCmd.js.map +1 -0
  248. package/lib/command/modify/index.d.ts +6 -0
  249. package/lib/command/modify/index.d.ts.map +1 -0
  250. package/lib/command/modify/index.js +6 -0
  251. package/lib/command/modify/index.js.map +1 -0
  252. package/lib/command/{AcApBaseRevCmd.d.ts → review/AcApBaseRevCmd.d.ts} +2 -2
  253. package/lib/command/review/AcApBaseRevCmd.d.ts.map +1 -0
  254. package/lib/command/{AcApBaseRevCmd.js → review/AcApBaseRevCmd.js} +2 -2
  255. package/lib/command/review/AcApBaseRevCmd.js.map +1 -0
  256. package/lib/command/{AcApRevCircleCmd.d.ts → review/AcApRevCircleCmd.d.ts} +1 -1
  257. package/lib/command/review/AcApRevCircleCmd.d.ts.map +1 -0
  258. package/lib/command/{AcApRevCircleCmd.js → review/AcApRevCircleCmd.js} +8 -5
  259. package/lib/command/review/AcApRevCircleCmd.js.map +1 -0
  260. package/lib/command/{AcApRevCloudCmd.d.ts → review/AcApRevCloudCmd.d.ts} +2 -2
  261. package/lib/command/review/AcApRevCloudCmd.d.ts.map +1 -0
  262. package/lib/command/{AcApRevCloudCmd.js → review/AcApRevCloudCmd.js} +3 -3
  263. package/lib/command/review/AcApRevCloudCmd.js.map +1 -0
  264. package/lib/command/{AcApRevRectCmd.d.ts → review/AcApRevRectCmd.d.ts} +1 -1
  265. package/lib/command/review/AcApRevRectCmd.d.ts.map +1 -0
  266. package/lib/command/{AcApRevRectCmd.js → review/AcApRevRectCmd.js} +3 -3
  267. package/lib/command/review/AcApRevRectCmd.js.map +1 -0
  268. package/lib/command/{AcApRevVisibilityCmd.d.ts → review/AcApRevVisibilityCmd.d.ts} +1 -1
  269. package/lib/command/review/AcApRevVisibilityCmd.d.ts.map +1 -0
  270. package/lib/command/{AcApRevVisibilityCmd.js → review/AcApRevVisibilityCmd.js} +2 -2
  271. package/lib/command/review/AcApRevVisibilityCmd.js.map +1 -0
  272. package/lib/command/{AcApSketchCmd.d.ts → review/AcApSketchCmd.d.ts} +2 -2
  273. package/lib/command/review/AcApSketchCmd.d.ts.map +1 -0
  274. package/lib/command/{AcApSketchCmd.js → review/AcApSketchCmd.js} +3 -3
  275. package/lib/command/review/AcApSketchCmd.js.map +1 -0
  276. package/lib/command/review/index.d.ts +7 -0
  277. package/lib/command/review/index.d.ts.map +1 -0
  278. package/lib/command/review/index.js +7 -0
  279. package/lib/command/review/index.js.map +1 -0
  280. package/lib/editor/global/eventBus.d.ts +4 -6
  281. package/lib/editor/global/eventBus.d.ts.map +1 -1
  282. package/lib/editor/global/eventBus.js.map +1 -1
  283. package/lib/editor/input/AcEdSelectionFilter.js +7 -6
  284. package/lib/editor/input/AcEdSelectionFilter.js.map +1 -1
  285. package/lib/editor/input/AcEditor.d.ts +17 -0
  286. package/lib/editor/input/AcEditor.d.ts.map +1 -1
  287. package/lib/editor/input/AcEditor.js +23 -0
  288. package/lib/editor/input/AcEditor.js.map +1 -1
  289. package/lib/editor/input/prompt/AcEdPromptBoxOptions.d.ts +6 -0
  290. package/lib/editor/input/prompt/AcEdPromptBoxOptions.d.ts.map +1 -1
  291. package/lib/editor/input/prompt/AcEdPromptBoxOptions.js +16 -0
  292. package/lib/editor/input/prompt/AcEdPromptBoxOptions.js.map +1 -1
  293. package/lib/editor/input/prompt/AcEdPromptDistanceOptions.d.ts.map +1 -1
  294. package/lib/editor/input/prompt/AcEdPromptDistanceOptions.js +1 -1
  295. package/lib/editor/input/prompt/AcEdPromptDistanceOptions.js.map +1 -1
  296. package/lib/editor/input/prompt/AcEdPromptPointOptions.d.ts +6 -0
  297. package/lib/editor/input/prompt/AcEdPromptPointOptions.d.ts.map +1 -1
  298. package/lib/editor/input/prompt/AcEdPromptPointOptions.js +16 -0
  299. package/lib/editor/input/prompt/AcEdPromptPointOptions.js.map +1 -1
  300. package/lib/editor/input/ui/AcEdCommandLine.d.ts +25 -23
  301. package/lib/editor/input/ui/AcEdCommandLine.d.ts.map +1 -1
  302. package/lib/editor/input/ui/AcEdCommandLine.js +101 -43
  303. package/lib/editor/input/ui/AcEdCommandLine.js.map +1 -1
  304. package/lib/editor/input/ui/AcEdFloatingInput.d.ts +9 -0
  305. package/lib/editor/input/ui/AcEdFloatingInput.d.ts.map +1 -1
  306. package/lib/editor/input/ui/AcEdFloatingInput.js +25 -5
  307. package/lib/editor/input/ui/AcEdFloatingInput.js.map +1 -1
  308. package/lib/editor/input/ui/AcEdInputManager.d.ts +46 -6
  309. package/lib/editor/input/ui/AcEdInputManager.d.ts.map +1 -1
  310. package/lib/editor/input/ui/AcEdInputManager.js +153 -43
  311. package/lib/editor/input/ui/AcEdInputManager.js.map +1 -1
  312. package/lib/editor/input/ui/AcEdMTextEditor.d.ts +67 -2
  313. package/lib/editor/input/ui/AcEdMTextEditor.d.ts.map +1 -1
  314. package/lib/editor/input/ui/AcEdMTextEditor.js +210 -19
  315. package/lib/editor/input/ui/AcEdMTextEditor.js.map +1 -1
  316. package/lib/editor/input/ui/AcEdMessageType.d.ts +10 -0
  317. package/lib/editor/input/ui/AcEdMessageType.d.ts.map +1 -0
  318. package/lib/editor/input/ui/AcEdMessageType.js +2 -0
  319. package/lib/editor/input/ui/AcEdMessageType.js.map +1 -0
  320. package/lib/editor/input/ui/AcEdRubberBand.d.ts.map +1 -1
  321. package/lib/editor/input/ui/AcEdRubberBand.js +16 -8
  322. package/lib/editor/input/ui/AcEdRubberBand.js.map +1 -1
  323. package/lib/editor/input/ui/index.d.ts +1 -0
  324. package/lib/editor/input/ui/index.d.ts.map +1 -1
  325. package/lib/editor/input/ui/index.js +1 -0
  326. package/lib/editor/input/ui/index.js.map +1 -1
  327. package/lib/editor/view/AcEdBaseView.d.ts +3 -8
  328. package/lib/editor/view/AcEdBaseView.d.ts.map +1 -1
  329. package/lib/editor/view/AcEdBaseView.js +3 -5
  330. package/lib/editor/view/AcEdBaseView.js.map +1 -1
  331. package/lib/editor/view/AcEdHoverController.d.ts +2 -3
  332. package/lib/editor/view/AcEdHoverController.d.ts.map +1 -1
  333. package/lib/editor/view/AcEdHoverController.js +7 -0
  334. package/lib/editor/view/AcEdHoverController.js.map +1 -1
  335. package/lib/editor/view/AcEdSelectionAction.d.ts +108 -0
  336. package/lib/editor/view/AcEdSelectionAction.d.ts.map +1 -0
  337. package/lib/editor/view/AcEdSelectionAction.js +74 -0
  338. package/lib/editor/view/AcEdSelectionAction.js.map +1 -0
  339. package/lib/editor/view/index.d.ts +1 -0
  340. package/lib/editor/view/index.d.ts.map +1 -1
  341. package/lib/editor/view/index.js +1 -0
  342. package/lib/editor/view/index.js.map +1 -1
  343. package/lib/i18n/en/command.d.ts +187 -13
  344. package/lib/i18n/en/command.d.ts.map +1 -1
  345. package/lib/i18n/en/command.js +195 -21
  346. package/lib/i18n/en/command.js.map +1 -1
  347. package/lib/i18n/en/jig.d.ts +579 -212
  348. package/lib/i18n/en/jig.d.ts.map +1 -1
  349. package/lib/i18n/en/jig.js +669 -302
  350. package/lib/i18n/en/jig.js.map +1 -1
  351. package/lib/i18n/zh/command.d.ts +187 -13
  352. package/lib/i18n/zh/command.d.ts.map +1 -1
  353. package/lib/i18n/zh/command.js +196 -22
  354. package/lib/i18n/zh/command.js.map +1 -1
  355. package/lib/i18n/zh/jig.d.ts +579 -212
  356. package/lib/i18n/zh/jig.d.ts.map +1 -1
  357. package/lib/i18n/zh/jig.js +668 -301
  358. package/lib/i18n/zh/jig.js.map +1 -1
  359. package/lib/index.d.ts +2 -1
  360. package/lib/index.d.ts.map +1 -1
  361. package/lib/index.js +2 -1
  362. package/lib/index.js.map +1 -1
  363. package/lib/spatialIndex/AcTrHierarchicalSpatialIndex.d.ts +136 -2
  364. package/lib/spatialIndex/AcTrHierarchicalSpatialIndex.d.ts.map +1 -1
  365. package/lib/spatialIndex/AcTrHierarchicalSpatialIndex.js +154 -16
  366. package/lib/spatialIndex/AcTrHierarchicalSpatialIndex.js.map +1 -1
  367. package/lib/util/AcApFontUtil.d.ts +69 -0
  368. package/lib/util/AcApFontUtil.d.ts.map +1 -0
  369. package/lib/util/AcApFontUtil.js +161 -0
  370. package/lib/util/AcApFontUtil.js.map +1 -0
  371. package/lib/util/index.d.ts +2 -0
  372. package/lib/util/index.d.ts.map +1 -1
  373. package/lib/util/index.js +2 -0
  374. package/lib/util/index.js.map +1 -1
  375. package/lib/util/yieldToMain.d.ts +5 -0
  376. package/lib/util/yieldToMain.d.ts.map +1 -0
  377. package/lib/util/yieldToMain.js +11 -0
  378. package/lib/util/yieldToMain.js.map +1 -0
  379. package/lib/view/AcTrLayout.d.ts +17 -0
  380. package/lib/view/AcTrLayout.d.ts.map +1 -1
  381. package/lib/view/AcTrLayout.js +34 -2
  382. package/lib/view/AcTrLayout.js.map +1 -1
  383. package/lib/view/AcTrLayoutView.d.ts +12 -0
  384. package/lib/view/AcTrLayoutView.d.ts.map +1 -1
  385. package/lib/view/AcTrLayoutView.js +18 -0
  386. package/lib/view/AcTrLayoutView.js.map +1 -1
  387. package/lib/view/AcTrPickResultUtil.d.ts +4 -0
  388. package/lib/view/AcTrPickResultUtil.d.ts.map +1 -0
  389. package/lib/view/AcTrPickResultUtil.js +54 -0
  390. package/lib/view/AcTrPickResultUtil.js.map +1 -0
  391. package/lib/view/AcTrScene.d.ts +38 -6
  392. package/lib/view/AcTrScene.d.ts.map +1 -1
  393. package/lib/view/AcTrScene.js +57 -30
  394. package/lib/view/AcTrScene.js.map +1 -1
  395. package/lib/view/AcTrView2d.d.ts +191 -0
  396. package/lib/view/AcTrView2d.d.ts.map +1 -1
  397. package/lib/view/AcTrView2d.js +795 -137
  398. package/lib/view/AcTrView2d.js.map +1 -1
  399. package/package.json +14 -8
  400. package/lib/command/AcApArcCmd.d.ts +0 -140
  401. package/lib/command/AcApArcCmd.d.ts.map +0 -1
  402. package/lib/command/AcApArcCmd.js.map +0 -1
  403. package/lib/command/AcApBaseRevCmd.d.ts.map +0 -1
  404. package/lib/command/AcApBaseRevCmd.js.map +0 -1
  405. package/lib/command/AcApCircleCmd.d.ts.map +0 -1
  406. package/lib/command/AcApCircleCmd.js.map +0 -1
  407. package/lib/command/AcApClearMeasurementsCmd.d.ts +0 -13
  408. package/lib/command/AcApClearMeasurementsCmd.d.ts.map +0 -1
  409. package/lib/command/AcApClearMeasurementsCmd.js.map +0 -1
  410. package/lib/command/AcApConvertToDxfCmd.d.ts.map +0 -1
  411. package/lib/command/AcApConvertToDxfCmd.js.map +0 -1
  412. package/lib/command/AcApConvertToPngCmd.d.ts.map +0 -1
  413. package/lib/command/AcApConvertToPngCmd.js.map +0 -1
  414. package/lib/command/AcApConvertToSvgCmd.d.ts.map +0 -1
  415. package/lib/command/AcApConvertToSvgCmd.js.map +0 -1
  416. package/lib/command/AcApDimLinearCmd.d.ts.map +0 -1
  417. package/lib/command/AcApDimLinearCmd.js.map +0 -1
  418. package/lib/command/AcApDxfConvertor.d.ts.map +0 -1
  419. package/lib/command/AcApDxfConvertor.js.map +0 -1
  420. package/lib/command/AcApEllipseCmd.d.ts.map +0 -1
  421. package/lib/command/AcApEllipseCmd.js.map +0 -1
  422. package/lib/command/AcApEraseCmd.d.ts.map +0 -1
  423. package/lib/command/AcApEraseCmd.js.map +0 -1
  424. package/lib/command/AcApHatchCmd.d.ts.map +0 -1
  425. package/lib/command/AcApHatchCmd.js.map +0 -1
  426. package/lib/command/AcApLayerCmd.d.ts.map +0 -1
  427. package/lib/command/AcApLayerCmd.js.map +0 -1
  428. package/lib/command/AcApLineCmd.d.ts.map +0 -1
  429. package/lib/command/AcApLineCmd.js.map +0 -1
  430. package/lib/command/AcApMTextCmd.d.ts.map +0 -1
  431. package/lib/command/AcApMTextCmd.js.map +0 -1
  432. package/lib/command/AcApMeasureAngleCmd.d.ts.map +0 -1
  433. package/lib/command/AcApMeasureAngleCmd.js.map +0 -1
  434. package/lib/command/AcApMeasureArcCmd.d.ts.map +0 -1
  435. package/lib/command/AcApMeasureArcCmd.js.map +0 -1
  436. package/lib/command/AcApMeasureAreaCmd.d.ts.map +0 -1
  437. package/lib/command/AcApMeasureAreaCmd.js.map +0 -1
  438. package/lib/command/AcApMeasureDistanceCmd.d.ts.map +0 -1
  439. package/lib/command/AcApMeasureDistanceCmd.js.map +0 -1
  440. package/lib/command/AcApMoveCmd.d.ts.map +0 -1
  441. package/lib/command/AcApMoveCmd.js.map +0 -1
  442. package/lib/command/AcApPngConvertor.d.ts.map +0 -1
  443. package/lib/command/AcApPngConvertor.js.map +0 -1
  444. package/lib/command/AcApPolygonCmd.d.ts.map +0 -1
  445. package/lib/command/AcApPolygonCmd.js.map +0 -1
  446. package/lib/command/AcApPolylineCmd.d.ts.map +0 -1
  447. package/lib/command/AcApPolylineCmd.js.map +0 -1
  448. package/lib/command/AcApRectCmd.d.ts.map +0 -1
  449. package/lib/command/AcApRectCmd.js.map +0 -1
  450. package/lib/command/AcApRevCircleCmd.d.ts.map +0 -1
  451. package/lib/command/AcApRevCircleCmd.js.map +0 -1
  452. package/lib/command/AcApRevCloudCmd.d.ts.map +0 -1
  453. package/lib/command/AcApRevCloudCmd.js.map +0 -1
  454. package/lib/command/AcApRevRectCmd.d.ts.map +0 -1
  455. package/lib/command/AcApRevRectCmd.js.map +0 -1
  456. package/lib/command/AcApRevVisibilityCmd.d.ts.map +0 -1
  457. package/lib/command/AcApRevVisibilityCmd.js.map +0 -1
  458. package/lib/command/AcApSketchCmd.d.ts.map +0 -1
  459. package/lib/command/AcApSketchCmd.js.map +0 -1
  460. package/lib/command/AcApSplineCmd.d.ts.map +0 -1
  461. package/lib/command/AcApSplineCmd.js.map +0 -1
  462. package/lib/command/AcApSvgConvertor.d.ts.map +0 -1
  463. package/lib/command/AcApSvgConvertor.js.map +0 -1
  464. /package/lib/command/{AcApDxfConvertor.d.ts → convert/AcApDxfConvertor.d.ts} +0 -0
  465. /package/lib/command/{AcApSvgConvertor.d.ts → convert/AcApSvgConvertor.d.ts} +0 -0
@@ -0,0 +1,103 @@
1
+ import { AcApContext } from '../../app';
2
+ import { AcEdCommand } from '../../editor';
3
+ /**
4
+ * AutoCAD-like `LAYFRZ` command.
5
+ *
6
+ * The command repeatedly asks the user to pick an entity and freezes the
7
+ * corresponding layer. It also supports the AutoCAD-style `Settings` and
8
+ * `Undo` branches during the same command session.
9
+ *
10
+ * Current viewer limitations:
11
+ * - Only one global viewport is available, so `Vpfreeze` behaves like
12
+ * `Freeze`.
13
+ * - Nested block/xref sub-entity picking is not exposed yet, so the block
14
+ * selection setting is stored for future use but does not currently change
15
+ * the resolved target layer.
16
+ */
17
+ export declare class AcApLayerFreezeCmd extends AcEdCommand {
18
+ private static _settings;
19
+ private _history;
20
+ private _vpfreezeHintShown;
21
+ /**
22
+ * Creates a write-enabled `LAYFRZ` command instance.
23
+ */
24
+ constructor();
25
+ /**
26
+ * Runs the interactive freeze-layer workflow until the user cancels.
27
+ *
28
+ * The command keeps its per-run undo stack in memory and reuses the static
29
+ * settings selected in previous `LAYFRZ` invocations.
30
+ *
31
+ * @param context - Active application context used to read and update the current drawing.
32
+ * @returns Resolves when the command loop ends.
33
+ */
34
+ execute(context: AcApContext): Promise<void>;
35
+ /**
36
+ * Sends a localized status message through the command-line output.
37
+ *
38
+ * @param message - Text to display to the user.
39
+ * @param type - Visual severity mapped to command-line message styles.
40
+ */
41
+ private notify;
42
+ /**
43
+ * Registers a localized keyword on an entity or keyword prompt.
44
+ *
45
+ * @param prompt - Prompt instance that should expose the keyword to the user.
46
+ * @param key - I18n keyword identifier under `jig.layfrz.keywords`.
47
+ */
48
+ private addKeyword;
49
+ /**
50
+ * Prompts for either a picked entity or one of the top-level command keywords.
51
+ *
52
+ * @returns Resolved selection or keyword action, or `undefined` when the user cancels.
53
+ */
54
+ private promptSelection;
55
+ /**
56
+ * Opens the `Settings` branch and keeps prompting until the user exits it.
57
+ *
58
+ * @returns Resolves when the settings submenu is closed.
59
+ */
60
+ private runSettings;
61
+ /**
62
+ * Prompts for the viewport-freeze mode to store for subsequent selections.
63
+ *
64
+ * `Vpfreeze` currently falls back to a global freeze because the viewer does
65
+ * not expose per-viewport layer state.
66
+ *
67
+ * @returns Resolves when the prompt is dismissed or the setting is updated.
68
+ */
69
+ private promptViewportMode;
70
+ /**
71
+ * Prompts for how nested block selections should resolve their target layer.
72
+ *
73
+ * The chosen value is persisted for later use even though nested selection is
74
+ * not yet implemented in the viewer.
75
+ *
76
+ * @returns Resolves when the prompt is dismissed or the setting is updated.
77
+ */
78
+ private promptBlockSelectionMode;
79
+ /**
80
+ * Toggles the frozen flag on a layer table record.
81
+ *
82
+ * @param layer - Layer record to update.
83
+ * @param frozen - Whether the layer should be marked frozen.
84
+ */
85
+ private setLayerFrozen;
86
+ /**
87
+ * Resolves the picked entity's layer and freezes it when allowed.
88
+ *
89
+ * The method validates the selection, prevents freezing the current layer,
90
+ * records undo history, and clears the selection set after a successful edit.
91
+ *
92
+ * @param context - Active application context containing the current database and view.
93
+ * @param objectId - Identifier of the entity selected by the user.
94
+ */
95
+ private freezeEntityLayer;
96
+ /**
97
+ * Restores the most recently frozen layer state captured during this run.
98
+ *
99
+ * @param context - Active application context containing the current database and view.
100
+ */
101
+ private runUndo;
102
+ }
103
+ //# sourceMappingURL=AcApLayerFreezeCmd.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AcApLayerFreezeCmd.d.ts","sourceRoot":"","sources":["../../../src/command/layer/AcApLayerFreezeCmd.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAkB,MAAM,WAAW,CAAA;AACvD,OAAO,EACL,WAAW,EAMZ,MAAM,cAAc,CAAA;AA4ErB;;;;;;;;;;;;;GAaG;AACH,qBAAa,kBAAmB,SAAQ,WAAW;IACjD,OAAO,CAAC,MAAM,CAAC,SAAS,CAA0C;IAElE,OAAO,CAAC,QAAQ,CAA2B;IAC3C,OAAO,CAAC,kBAAkB,CAAQ;IAElC;;OAEG;;IAMH;;;;;;;;OAQG;IACG,OAAO,CAAC,OAAO,EAAE,WAAW;IAsBlC;;;;;OAKG;IACH,OAAO,CAAC,MAAM;IAId;;;;;OAKG;IACH,OAAO,CAAC,UAAU;IAoBlB;;;;OAIG;YACW,eAAe;IA8B7B;;;;OAIG;YACW,WAAW;IAwBzB;;;;;;;OAOG;YACW,kBAAkB;IAqChC;;;;;;;OAOG;YACW,wBAAwB;IAuCtC;;;;;OAKG;IACH,OAAO,CAAC,cAAc;IAKtB;;;;;;;;OAQG;IACH,OAAO,CAAC,iBAAiB;IAkDzB;;;;OAIG;IACH,OAAO,CAAC,OAAO;CAyBhB"}
@@ -0,0 +1,398 @@
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
+ import { AcApDocManager } from '../../app';
64
+ import { AcEdCommand, AcEdOpenMode, AcEdPromptEntityOptions, AcEdPromptKeywordOptions, AcEdPromptStatus } from '../../editor';
65
+ import { AcApI18n } from '../../i18n';
66
+ var DEFAULT_SETTINGS = {
67
+ viewportMode: 'Freeze',
68
+ blockSelectionMode: 'None'
69
+ };
70
+ /**
71
+ * AutoCAD-like `LAYFRZ` command.
72
+ *
73
+ * The command repeatedly asks the user to pick an entity and freezes the
74
+ * corresponding layer. It also supports the AutoCAD-style `Settings` and
75
+ * `Undo` branches during the same command session.
76
+ *
77
+ * Current viewer limitations:
78
+ * - Only one global viewport is available, so `Vpfreeze` behaves like
79
+ * `Freeze`.
80
+ * - Nested block/xref sub-entity picking is not exposed yet, so the block
81
+ * selection setting is stored for future use but does not currently change
82
+ * the resolved target layer.
83
+ */
84
+ var AcApLayerFreezeCmd = /** @class */ (function (_super) {
85
+ __extends(AcApLayerFreezeCmd, _super);
86
+ /**
87
+ * Creates a write-enabled `LAYFRZ` command instance.
88
+ */
89
+ function AcApLayerFreezeCmd() {
90
+ var _this = _super.call(this) || this;
91
+ _this._history = [];
92
+ _this._vpfreezeHintShown = false;
93
+ _this.mode = AcEdOpenMode.Write;
94
+ return _this;
95
+ }
96
+ /**
97
+ * Runs the interactive freeze-layer workflow until the user cancels.
98
+ *
99
+ * The command keeps its per-run undo stack in memory and reuses the static
100
+ * settings selected in previous `LAYFRZ` invocations.
101
+ *
102
+ * @param context - Active application context used to read and update the current drawing.
103
+ * @returns Resolves when the command loop ends.
104
+ */
105
+ AcApLayerFreezeCmd.prototype.execute = function (context) {
106
+ return __awaiter(this, void 0, void 0, function () {
107
+ var action;
108
+ return __generator(this, function (_a) {
109
+ switch (_a.label) {
110
+ case 0:
111
+ this._history = [];
112
+ this._vpfreezeHintShown =
113
+ AcApLayerFreezeCmd._settings.viewportMode !== 'Vpfreeze';
114
+ _a.label = 1;
115
+ case 1:
116
+ if (!true) return [3 /*break*/, 7];
117
+ return [4 /*yield*/, this.promptSelection()];
118
+ case 2:
119
+ action = _a.sent();
120
+ if (!action)
121
+ return [2 /*return*/];
122
+ if (!(action.type === 'keyword')) return [3 /*break*/, 6];
123
+ if (!(action.keyword === 'Settings')) return [3 /*break*/, 4];
124
+ return [4 /*yield*/, this.runSettings()];
125
+ case 3:
126
+ _a.sent();
127
+ return [3 /*break*/, 5];
128
+ case 4:
129
+ this.runUndo(context);
130
+ _a.label = 5;
131
+ case 5: return [3 /*break*/, 1];
132
+ case 6:
133
+ this.freezeEntityLayer(context, action.objectId);
134
+ return [3 /*break*/, 1];
135
+ case 7: return [2 /*return*/];
136
+ }
137
+ });
138
+ });
139
+ };
140
+ /**
141
+ * Sends a localized status message through the command-line output.
142
+ *
143
+ * @param message - Text to display to the user.
144
+ * @param type - Visual severity mapped to command-line message styles.
145
+ */
146
+ AcApLayerFreezeCmd.prototype.notify = function (message, type) {
147
+ if (type === void 0) { type = 'info'; }
148
+ AcApDocManager.instance.editor.showMessage(message, type);
149
+ };
150
+ /**
151
+ * Registers a localized keyword on an entity or keyword prompt.
152
+ *
153
+ * @param prompt - Prompt instance that should expose the keyword to the user.
154
+ * @param key - I18n keyword identifier under `jig.layfrz.keywords`.
155
+ */
156
+ AcApLayerFreezeCmd.prototype.addKeyword = function (prompt, key) {
157
+ prompt.keywords.add(AcApI18n.t("jig.layfrz.keywords.".concat(key, ".display")), AcApI18n.t("jig.layfrz.keywords.".concat(key, ".global")), AcApI18n.t("jig.layfrz.keywords.".concat(key, ".local")));
158
+ };
159
+ /**
160
+ * Prompts for either a picked entity or one of the top-level command keywords.
161
+ *
162
+ * @returns Resolved selection or keyword action, or `undefined` when the user cancels.
163
+ */
164
+ AcApLayerFreezeCmd.prototype.promptSelection = function () {
165
+ return __awaiter(this, void 0, void 0, function () {
166
+ var prompt, result;
167
+ return __generator(this, function (_a) {
168
+ switch (_a.label) {
169
+ case 0:
170
+ prompt = new AcEdPromptEntityOptions(AcApI18n.t('jig.layfrz.prompt'));
171
+ prompt.allowNone = true;
172
+ prompt.allowObjectOnLockedLayer = true;
173
+ prompt.setRejectMessage(AcApI18n.t('jig.layfrz.invalidSelection'));
174
+ this.addKeyword(prompt, 'settings');
175
+ this.addKeyword(prompt, 'undo');
176
+ return [4 /*yield*/, AcApDocManager.instance.editor.getEntity(prompt)];
177
+ case 1:
178
+ result = _a.sent();
179
+ if (result.status === AcEdPromptStatus.OK && result.objectId) {
180
+ return [2 /*return*/, {
181
+ type: 'entity',
182
+ objectId: result.objectId
183
+ }];
184
+ }
185
+ if (result.status === AcEdPromptStatus.Keyword &&
186
+ (result.stringResult === 'Settings' || result.stringResult === 'Undo')) {
187
+ return [2 /*return*/, {
188
+ type: 'keyword',
189
+ keyword: result.stringResult
190
+ }];
191
+ }
192
+ return [2 /*return*/, undefined];
193
+ }
194
+ });
195
+ });
196
+ };
197
+ /**
198
+ * Opens the `Settings` branch and keeps prompting until the user exits it.
199
+ *
200
+ * @returns Resolves when the settings submenu is closed.
201
+ */
202
+ AcApLayerFreezeCmd.prototype.runSettings = function () {
203
+ return __awaiter(this, void 0, void 0, function () {
204
+ var prompt_1, result, keyword;
205
+ return __generator(this, function (_a) {
206
+ switch (_a.label) {
207
+ case 0:
208
+ if (!true) return [3 /*break*/, 6];
209
+ prompt_1 = new AcEdPromptKeywordOptions(AcApI18n.t('jig.layfrz.settingsPrompt'));
210
+ prompt_1.allowNone = true;
211
+ this.addKeyword(prompt_1, 'viewports');
212
+ this.addKeyword(prompt_1, 'blockSelection');
213
+ return [4 /*yield*/, AcApDocManager.instance.editor.getKeywords(prompt_1)];
214
+ case 1:
215
+ result = _a.sent();
216
+ if (result.status !== AcEdPromptStatus.OK)
217
+ return [2 /*return*/];
218
+ keyword = result.stringResult;
219
+ if (!keyword)
220
+ return [2 /*return*/];
221
+ if (!(keyword === 'Viewports')) return [3 /*break*/, 3];
222
+ return [4 /*yield*/, this.promptViewportMode()];
223
+ case 2:
224
+ _a.sent();
225
+ return [3 /*break*/, 5];
226
+ case 3: return [4 /*yield*/, this.promptBlockSelectionMode()];
227
+ case 4:
228
+ _a.sent();
229
+ _a.label = 5;
230
+ case 5: return [3 /*break*/, 0];
231
+ case 6: return [2 /*return*/];
232
+ }
233
+ });
234
+ });
235
+ };
236
+ /**
237
+ * Prompts for the viewport-freeze mode to store for subsequent selections.
238
+ *
239
+ * `Vpfreeze` currently falls back to a global freeze because the viewer does
240
+ * not expose per-viewport layer state.
241
+ *
242
+ * @returns Resolves when the prompt is dismissed or the setting is updated.
243
+ */
244
+ AcApLayerFreezeCmd.prototype.promptViewportMode = function () {
245
+ return __awaiter(this, void 0, void 0, function () {
246
+ var prompt, freeze, vpfreeze, result, keyword;
247
+ return __generator(this, function (_a) {
248
+ switch (_a.label) {
249
+ case 0:
250
+ prompt = new AcEdPromptKeywordOptions(AcApI18n.t('jig.layfrz.viewportPrompt'));
251
+ prompt.allowNone = true;
252
+ freeze = prompt.keywords.add(AcApI18n.t('jig.layfrz.keywords.freeze.display'), AcApI18n.t('jig.layfrz.keywords.freeze.global'), AcApI18n.t('jig.layfrz.keywords.freeze.local'));
253
+ vpfreeze = prompt.keywords.add(AcApI18n.t('jig.layfrz.keywords.vpfreeze.display'), AcApI18n.t('jig.layfrz.keywords.vpfreeze.global'), AcApI18n.t('jig.layfrz.keywords.vpfreeze.local'));
254
+ prompt.keywords.default =
255
+ AcApLayerFreezeCmd._settings.viewportMode === 'Vpfreeze'
256
+ ? vpfreeze
257
+ : freeze;
258
+ return [4 /*yield*/, AcApDocManager.instance.editor.getKeywords(prompt)];
259
+ case 1:
260
+ result = _a.sent();
261
+ if (result.status !== AcEdPromptStatus.OK)
262
+ return [2 /*return*/];
263
+ keyword = result.stringResult;
264
+ if (!keyword)
265
+ return [2 /*return*/];
266
+ AcApLayerFreezeCmd._settings.viewportMode = keyword;
267
+ if (keyword === 'Vpfreeze') {
268
+ this._vpfreezeHintShown = true;
269
+ this.notify(AcApI18n.t('jig.layfrz.vpfreezeFallback'));
270
+ }
271
+ else {
272
+ this._vpfreezeHintShown = false;
273
+ }
274
+ return [2 /*return*/];
275
+ }
276
+ });
277
+ });
278
+ };
279
+ /**
280
+ * Prompts for how nested block selections should resolve their target layer.
281
+ *
282
+ * The chosen value is persisted for later use even though nested selection is
283
+ * not yet implemented in the viewer.
284
+ *
285
+ * @returns Resolves when the prompt is dismissed or the setting is updated.
286
+ */
287
+ AcApLayerFreezeCmd.prototype.promptBlockSelectionMode = function () {
288
+ return __awaiter(this, void 0, void 0, function () {
289
+ var prompt, block, entity, none, result, keyword;
290
+ return __generator(this, function (_a) {
291
+ switch (_a.label) {
292
+ case 0:
293
+ prompt = new AcEdPromptKeywordOptions(AcApI18n.t('jig.layfrz.blockSelectionPrompt'));
294
+ prompt.allowNone = true;
295
+ block = prompt.keywords.add(AcApI18n.t('jig.layfrz.keywords.block.display'), AcApI18n.t('jig.layfrz.keywords.block.global'), AcApI18n.t('jig.layfrz.keywords.block.local'));
296
+ entity = prompt.keywords.add(AcApI18n.t('jig.layfrz.keywords.entity.display'), AcApI18n.t('jig.layfrz.keywords.entity.global'), AcApI18n.t('jig.layfrz.keywords.entity.local'));
297
+ none = prompt.keywords.add(AcApI18n.t('jig.layfrz.keywords.none.display'), AcApI18n.t('jig.layfrz.keywords.none.global'), AcApI18n.t('jig.layfrz.keywords.none.local'));
298
+ prompt.keywords.default =
299
+ AcApLayerFreezeCmd._settings.blockSelectionMode === 'Block'
300
+ ? block
301
+ : AcApLayerFreezeCmd._settings.blockSelectionMode === 'Entity'
302
+ ? entity
303
+ : none;
304
+ return [4 /*yield*/, AcApDocManager.instance.editor.getKeywords(prompt)];
305
+ case 1:
306
+ result = _a.sent();
307
+ if (result.status !== AcEdPromptStatus.OK)
308
+ return [2 /*return*/];
309
+ keyword = result.stringResult;
310
+ if (!keyword)
311
+ return [2 /*return*/];
312
+ AcApLayerFreezeCmd._settings.blockSelectionMode = keyword;
313
+ this.notify(AcApI18n.t('jig.layfrz.nestedSelectionLimited'));
314
+ return [2 /*return*/];
315
+ }
316
+ });
317
+ });
318
+ };
319
+ /**
320
+ * Toggles the frozen flag on a layer table record.
321
+ *
322
+ * @param layer - Layer record to update.
323
+ * @param frozen - Whether the layer should be marked frozen.
324
+ */
325
+ AcApLayerFreezeCmd.prototype.setLayerFrozen = function (layer, frozen) {
326
+ var _a;
327
+ var flags = (_a = layer.standardFlags) !== null && _a !== void 0 ? _a : 0;
328
+ layer.standardFlags = frozen ? flags | 0x01 : flags & ~0x01;
329
+ };
330
+ /**
331
+ * Resolves the picked entity's layer and freezes it when allowed.
332
+ *
333
+ * The method validates the selection, prevents freezing the current layer,
334
+ * records undo history, and clears the selection set after a successful edit.
335
+ *
336
+ * @param context - Active application context containing the current database and view.
337
+ * @param objectId - Identifier of the entity selected by the user.
338
+ */
339
+ AcApLayerFreezeCmd.prototype.freezeEntityLayer = function (context, objectId) {
340
+ var _a;
341
+ var db = context.doc.database;
342
+ var entity = db.tables.blockTable.getEntityById(objectId);
343
+ var layerName = (_a = entity === null || entity === void 0 ? void 0 : entity.layer) === null || _a === void 0 ? void 0 : _a.trim();
344
+ if (!layerName) {
345
+ this.notify(AcApI18n.t('jig.layfrz.invalidSelection'), 'warning');
346
+ return;
347
+ }
348
+ var layer = db.tables.layerTable.getAt(layerName);
349
+ if (!layer) {
350
+ this.notify("".concat(AcApI18n.t('jig.layfrz.layerNotFound'), ": ").concat(layerName), 'warning');
351
+ return;
352
+ }
353
+ if (layer.name === db.clayer) {
354
+ this.notify(AcApI18n.t('jig.layfrz.cannotFreezeCurrent'), 'warning');
355
+ return;
356
+ }
357
+ if (layer.isFrozen) {
358
+ this.notify("".concat(AcApI18n.t('jig.layfrz.alreadyFrozen'), ": ").concat(layer.name), 'info');
359
+ return;
360
+ }
361
+ if (AcApLayerFreezeCmd._settings.viewportMode === 'Vpfreeze' &&
362
+ !this._vpfreezeHintShown) {
363
+ this.notify(AcApI18n.t('jig.layfrz.vpfreezeFallback'));
364
+ this._vpfreezeHintShown = true;
365
+ }
366
+ this._history.push({
367
+ layerName: layer.name,
368
+ wasFrozen: layer.isFrozen
369
+ });
370
+ this.setLayerFrozen(layer, true);
371
+ context.view.selectionSet.clear();
372
+ this.notify("".concat(AcApI18n.t('jig.layfrz.frozen'), ": ").concat(layer.name), 'success');
373
+ };
374
+ /**
375
+ * Restores the most recently frozen layer state captured during this run.
376
+ *
377
+ * @param context - Active application context containing the current database and view.
378
+ */
379
+ AcApLayerFreezeCmd.prototype.runUndo = function (context) {
380
+ var history = this._history.pop();
381
+ if (!history) {
382
+ this.notify(AcApI18n.t('jig.layfrz.nothingToUndo'), 'warning');
383
+ return;
384
+ }
385
+ var layer = context.doc.database.tables.layerTable.getAt(history.layerName);
386
+ if (!layer) {
387
+ this.notify("".concat(AcApI18n.t('jig.layfrz.layerNotFound'), ": ").concat(history.layerName), 'warning');
388
+ return;
389
+ }
390
+ this.setLayerFrozen(layer, history.wasFrozen);
391
+ context.view.selectionSet.clear();
392
+ this.notify("".concat(AcApI18n.t('jig.layfrz.restored'), ": ").concat(layer.name), 'success');
393
+ };
394
+ AcApLayerFreezeCmd._settings = __assign({}, DEFAULT_SETTINGS);
395
+ return AcApLayerFreezeCmd;
396
+ }(AcEdCommand));
397
+ export { AcApLayerFreezeCmd };
398
+ //# sourceMappingURL=AcApLayerFreezeCmd.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AcApLayerFreezeCmd.js","sourceRoot":"","sources":["../../../src/command/layer/AcApLayerFreezeCmd.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,OAAO,EAAe,cAAc,EAAE,MAAM,WAAW,CAAA;AACvD,OAAO,EACL,WAAW,EAEX,YAAY,EACZ,uBAAuB,EACvB,wBAAwB,EACxB,gBAAgB,EACjB,MAAM,cAAc,CAAA;AACrB,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAsErC,IAAM,gBAAgB,GAAmB;IACvC,YAAY,EAAE,QAAQ;IACtB,kBAAkB,EAAE,MAAM;CAC3B,CAAA;AAED;;;;;;;;;;;;;GAaG;AACH;IAAwC,sCAAW;IAMjD;;OAEG;IACH;QACE,YAAA,MAAK,WAAE,SAAA;QAPD,cAAQ,GAAyB,EAAE,CAAA;QACnC,wBAAkB,GAAG,KAAK,CAAA;QAOhC,KAAI,CAAC,IAAI,GAAG,YAAY,CAAC,KAAK,CAAA;;IAChC,CAAC;IAED;;;;;;;;OAQG;IACG,oCAAO,GAAb,UAAc,OAAoB;;;;;;wBAChC,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAA;wBAClB,IAAI,CAAC,kBAAkB;4BACrB,kBAAkB,CAAC,SAAS,CAAC,YAAY,KAAK,UAAU,CAAA;;;6BAEnD,IAAI;wBACM,qBAAM,IAAI,CAAC,eAAe,EAAE,EAAA;;wBAArC,MAAM,GAAG,SAA4B;wBAC3C,IAAI,CAAC,MAAM;4BAAE,sBAAM;6BAEf,CAAA,MAAM,CAAC,IAAI,KAAK,SAAS,CAAA,EAAzB,wBAAyB;6BACvB,CAAA,MAAM,CAAC,OAAO,KAAK,UAAU,CAAA,EAA7B,wBAA6B;wBAC/B,qBAAM,IAAI,CAAC,WAAW,EAAE,EAAA;;wBAAxB,SAAwB,CAAA;;;wBAExB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;;4BAEvB,wBAAQ;;wBAGV,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAA;;;;;;KAEnD;IAED;;;;;OAKG;IACK,mCAAM,GAAd,UAAe,OAAe,EAAE,IAA8B;QAA9B,qBAAA,EAAA,aAA8B;QAC5D,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;IAC3D,CAAC;IAED;;;;;OAKG;IACK,uCAAU,GAAlB,UACE,MAA0D,EAC1D,GASU;QAEV,MAAM,CAAC,QAAQ,CAAC,GAAG,CACjB,QAAQ,CAAC,CAAC,CAAC,8BAAuB,GAAG,aAAU,CAAC,EAChD,QAAQ,CAAC,CAAC,CAAC,8BAAuB,GAAG,YAAS,CAAC,EAC/C,QAAQ,CAAC,CAAC,CAAC,8BAAuB,GAAG,WAAQ,CAAC,CAC/C,CAAA;IACH,CAAC;IAED;;;;OAIG;IACW,4CAAe,GAA7B;;;;;;wBACQ,MAAM,GAAG,IAAI,uBAAuB,CAAC,QAAQ,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAA;wBAC3E,MAAM,CAAC,SAAS,GAAG,IAAI,CAAA;wBACvB,MAAM,CAAC,wBAAwB,GAAG,IAAI,CAAA;wBACtC,MAAM,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,6BAA6B,CAAC,CAAC,CAAA;wBAElE,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;wBACnC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;wBAEhB,qBAAM,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,EAAA;;wBAA/D,MAAM,GAAG,SAAsD;wBACrE,IAAI,MAAM,CAAC,MAAM,KAAK,gBAAgB,CAAC,EAAE,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;4BAC7D,sBAAO;oCACL,IAAI,EAAE,QAAQ;oCACd,QAAQ,EAAE,MAAM,CAAC,QAAQ;iCAC1B,EAAA;wBACH,CAAC;wBAED,IACE,MAAM,CAAC,MAAM,KAAK,gBAAgB,CAAC,OAAO;4BAC1C,CAAC,MAAM,CAAC,YAAY,KAAK,UAAU,IAAI,MAAM,CAAC,YAAY,KAAK,MAAM,CAAC,EACtE,CAAC;4BACD,sBAAO;oCACL,IAAI,EAAE,SAAS;oCACf,OAAO,EAAE,MAAM,CAAC,YAAY;iCAC7B,EAAA;wBACH,CAAC;wBAED,sBAAO,SAAS,EAAA;;;;KACjB;IAED;;;;OAIG;IACW,wCAAW,GAAzB;;;;;;6BACS,IAAI;wBACH,WAAS,IAAI,wBAAwB,CACzC,QAAQ,CAAC,CAAC,CAAC,2BAA2B,CAAC,CACxC,CAAA;wBACD,QAAM,CAAC,SAAS,GAAG,IAAI,CAAA;wBAEvB,IAAI,CAAC,UAAU,CAAC,QAAM,EAAE,WAAW,CAAC,CAAA;wBACpC,IAAI,CAAC,UAAU,CAAC,QAAM,EAAE,gBAAgB,CAAC,CAAA;wBAE1B,qBAAM,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,QAAM,CAAC,EAAA;;wBAAjE,MAAM,GAAG,SAAwD;wBACvE,IAAI,MAAM,CAAC,MAAM,KAAK,gBAAgB,CAAC,EAAE;4BAAE,sBAAM;wBAE3C,OAAO,GAAG,MAAM,CAAC,YAAiD,CAAA;wBACxE,IAAI,CAAC,OAAO;4BAAE,sBAAM;6BAEhB,CAAA,OAAO,KAAK,WAAW,CAAA,EAAvB,wBAAuB;wBACzB,qBAAM,IAAI,CAAC,kBAAkB,EAAE,EAAA;;wBAA/B,SAA+B,CAAA;;4BAE/B,qBAAM,IAAI,CAAC,wBAAwB,EAAE,EAAA;;wBAArC,SAAqC,CAAA;;;;;;;KAG1C;IAED;;;;;;;OAOG;IACW,+CAAkB,GAAhC;;;;;;wBACQ,MAAM,GAAG,IAAI,wBAAwB,CACzC,QAAQ,CAAC,CAAC,CAAC,2BAA2B,CAAC,CACxC,CAAA;wBACD,MAAM,CAAC,SAAS,GAAG,IAAI,CAAA;wBAEjB,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAChC,QAAQ,CAAC,CAAC,CAAC,oCAAoC,CAAC,EAChD,QAAQ,CAAC,CAAC,CAAC,mCAAmC,CAAC,EAC/C,QAAQ,CAAC,CAAC,CAAC,kCAAkC,CAAC,CAC/C,CAAA;wBACK,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAClC,QAAQ,CAAC,CAAC,CAAC,sCAAsC,CAAC,EAClD,QAAQ,CAAC,CAAC,CAAC,qCAAqC,CAAC,EACjD,QAAQ,CAAC,CAAC,CAAC,oCAAoC,CAAC,CACjD,CAAA;wBAED,MAAM,CAAC,QAAQ,CAAC,OAAO;4BACrB,kBAAkB,CAAC,SAAS,CAAC,YAAY,KAAK,UAAU;gCACtD,CAAC,CAAC,QAAQ;gCACV,CAAC,CAAC,MAAM,CAAA;wBAEG,qBAAM,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,EAAA;;wBAAjE,MAAM,GAAG,SAAwD;wBACvE,IAAI,MAAM,CAAC,MAAM,KAAK,gBAAgB,CAAC,EAAE;4BAAE,sBAAM;wBAE3C,OAAO,GAAG,MAAM,CAAC,YAA8C,CAAA;wBACrE,IAAI,CAAC,OAAO;4BAAE,sBAAM;wBAEpB,kBAAkB,CAAC,SAAS,CAAC,YAAY,GAAG,OAAO,CAAA;wBACnD,IAAI,OAAO,KAAK,UAAU,EAAE,CAAC;4BAC3B,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAA;4BAC9B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,6BAA6B,CAAC,CAAC,CAAA;wBACxD,CAAC;6BAAM,CAAC;4BACN,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAA;wBACjC,CAAC;;;;;KACF;IAED;;;;;;;OAOG;IACW,qDAAwB,GAAtC;;;;;;wBACQ,MAAM,GAAG,IAAI,wBAAwB,CACzC,QAAQ,CAAC,CAAC,CAAC,iCAAiC,CAAC,CAC9C,CAAA;wBACD,MAAM,CAAC,SAAS,GAAG,IAAI,CAAA;wBAEjB,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAC/B,QAAQ,CAAC,CAAC,CAAC,mCAAmC,CAAC,EAC/C,QAAQ,CAAC,CAAC,CAAC,kCAAkC,CAAC,EAC9C,QAAQ,CAAC,CAAC,CAAC,iCAAiC,CAAC,CAC9C,CAAA;wBACK,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAChC,QAAQ,CAAC,CAAC,CAAC,oCAAoC,CAAC,EAChD,QAAQ,CAAC,CAAC,CAAC,mCAAmC,CAAC,EAC/C,QAAQ,CAAC,CAAC,CAAC,kCAAkC,CAAC,CAC/C,CAAA;wBACK,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAC9B,QAAQ,CAAC,CAAC,CAAC,kCAAkC,CAAC,EAC9C,QAAQ,CAAC,CAAC,CAAC,iCAAiC,CAAC,EAC7C,QAAQ,CAAC,CAAC,CAAC,gCAAgC,CAAC,CAC7C,CAAA;wBAED,MAAM,CAAC,QAAQ,CAAC,OAAO;4BACrB,kBAAkB,CAAC,SAAS,CAAC,kBAAkB,KAAK,OAAO;gCACzD,CAAC,CAAC,KAAK;gCACP,CAAC,CAAC,kBAAkB,CAAC,SAAS,CAAC,kBAAkB,KAAK,QAAQ;oCAC5D,CAAC,CAAC,MAAM;oCACR,CAAC,CAAC,IAAI,CAAA;wBAEG,qBAAM,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,EAAA;;wBAAjE,MAAM,GAAG,SAAwD;wBACvE,IAAI,MAAM,CAAC,MAAM,KAAK,gBAAgB,CAAC,EAAE;4BAAE,sBAAM;wBAE3C,OAAO,GAAG,MAAM,CAAC,YAAoD,CAAA;wBAC3E,IAAI,CAAC,OAAO;4BAAE,sBAAM;wBAEpB,kBAAkB,CAAC,SAAS,CAAC,kBAAkB,GAAG,OAAO,CAAA;wBACzD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,mCAAmC,CAAC,CAAC,CAAA;;;;;KAC7D;IAED;;;;;OAKG;IACK,2CAAc,GAAtB,UAAuB,KAA2B,EAAE,MAAe;;QACjE,IAAM,KAAK,GAAG,MAAA,KAAK,CAAC,aAAa,mCAAI,CAAC,CAAA;QACtC,KAAK,CAAC,aAAa,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,IAAI,CAAA;IAC7D,CAAC;IAED;;;;;;;;OAQG;IACK,8CAAiB,GAAzB,UAA0B,OAAoB,EAAE,QAAsB;;QACpE,IAAM,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAA;QAC/B,IAAM,MAAM,GAAG,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAA;QAC3D,IAAM,SAAS,GAAG,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,0CAAE,IAAI,EAAE,CAAA;QAEvC,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,6BAA6B,CAAC,EAAE,SAAS,CAAC,CAAA;YACjE,OAAM;QACR,CAAC;QAED,IAAM,KAAK,GAAG,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;QACnD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,IAAI,CAAC,MAAM,CACT,UAAG,QAAQ,CAAC,CAAC,CAAC,0BAA0B,CAAC,eAAK,SAAS,CAAE,EACzD,SAAS,CACV,CAAA;YACD,OAAM;QACR,CAAC;QAED,IAAI,KAAK,CAAC,IAAI,KAAK,EAAE,CAAC,MAAM,EAAE,CAAC;YAC7B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,gCAAgC,CAAC,EAAE,SAAS,CAAC,CAAA;YACpE,OAAM;QACR,CAAC;QAED,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YACnB,IAAI,CAAC,MAAM,CACT,UAAG,QAAQ,CAAC,CAAC,CAAC,0BAA0B,CAAC,eAAK,KAAK,CAAC,IAAI,CAAE,EAC1D,MAAM,CACP,CAAA;YACD,OAAM;QACR,CAAC;QAED,IACE,kBAAkB,CAAC,SAAS,CAAC,YAAY,KAAK,UAAU;YACxD,CAAC,IAAI,CAAC,kBAAkB,EACxB,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,6BAA6B,CAAC,CAAC,CAAA;YACtD,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAA;QAChC,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;YACjB,SAAS,EAAE,KAAK,CAAC,IAAI;YACrB,SAAS,EAAE,KAAK,CAAC,QAAQ;SAC1B,CAAC,CAAA;QAEF,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;QAChC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAA;QACjC,IAAI,CAAC,MAAM,CAAC,UAAG,QAAQ,CAAC,CAAC,CAAC,mBAAmB,CAAC,eAAK,KAAK,CAAC,IAAI,CAAE,EAAE,SAAS,CAAC,CAAA;IAC7E,CAAC;IAED;;;;OAIG;IACK,oCAAO,GAAf,UAAgB,OAAoB;QAClC,IAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAA;QACnC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,0BAA0B,CAAC,EAAE,SAAS,CAAC,CAAA;YAC9D,OAAM;QACR,CAAC;QAED,IAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CACxD,OAAO,CAAC,SAAS,CAClB,CAAA;QACD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,IAAI,CAAC,MAAM,CACT,UAAG,QAAQ,CAAC,CAAC,CAAC,0BAA0B,CAAC,eAAK,OAAO,CAAC,SAAS,CAAE,EACjE,SAAS,CACV,CAAA;YACD,OAAM;QACR,CAAC;QAED,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,SAAS,CAAC,CAAA;QAC7C,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAA;QACjC,IAAI,CAAC,MAAM,CACT,UAAG,QAAQ,CAAC,CAAC,CAAC,qBAAqB,CAAC,eAAK,KAAK,CAAC,IAAI,CAAE,EACrD,SAAS,CACV,CAAA;IACH,CAAC;IA/Uc,4BAAS,gBAAwB,gBAAgB,CAAxC,CAA0C;IAgVpE,yBAAC;CAAA,AAjVD,CAAwC,WAAW,GAiVlD;SAjVY,kBAAkB"}
@@ -0,0 +1,99 @@
1
+ import { AcApContext } from '../../app';
2
+ import { AcEdCommand } from '../../editor';
3
+ /**
4
+ * AutoCAD-like `LAYISO` command.
5
+ *
6
+ * The command isolates the layers of selected objects. Non-isolated layers are
7
+ * either turned off or locked, depending on the persisted `Settings` choice.
8
+ *
9
+ * Current viewer limitations:
10
+ * - Per-viewport layer freezing is not represented, so `Vpfreeze` falls back to
11
+ * global layer-off behavior.
12
+ * - Locked-layer fading is not rendered, so `Lock and fade` falls back to
13
+ * locking non-isolated layers without changing their visibility.
14
+ */
15
+ export declare class AcApLayerIsoCmd extends AcEdCommand {
16
+ private static _settings;
17
+ private _vpfreezeHintShown;
18
+ private _lockFadeHintShown;
19
+ /**
20
+ * Creates a write-enabled `LAYISO` command instance.
21
+ */
22
+ constructor();
23
+ /**
24
+ * Runs the isolate-layer workflow.
25
+ *
26
+ * Preselected entities are consumed immediately. Otherwise the command keeps
27
+ * prompting until the user either changes settings, selects objects, or
28
+ * cancels the command.
29
+ *
30
+ * @param context - Active application context used to update layer states.
31
+ * @returns Resolves when layer isolation is applied or the command exits.
32
+ */
33
+ execute(context: AcApContext): Promise<void>;
34
+ /**
35
+ * Sends a localized status message through the command-line output.
36
+ *
37
+ * @param message - Text to display to the user.
38
+ * @param type - Visual severity mapped to command-line message styles.
39
+ */
40
+ private notify;
41
+ /**
42
+ * Registers a localized keyword on a prompt.
43
+ *
44
+ * @param prompt - Prompt instance that should expose the keyword.
45
+ * @param key - I18n keyword identifier under `jig.layiso.keywords`.
46
+ */
47
+ private addKeyword;
48
+ /**
49
+ * Prompts for selected entities or the `Settings` keyword.
50
+ *
51
+ * @returns Selection or keyword action, or `undefined` when canceled.
52
+ */
53
+ private promptSelection;
54
+ /**
55
+ * Opens the `Settings` branch for choosing how non-isolated layers behave.
56
+ *
57
+ * @returns Resolves when the setting prompt is dismissed or updated.
58
+ */
59
+ private runSettings;
60
+ /**
61
+ * Prompts for viewport behavior used by the `Off` isolation mode.
62
+ *
63
+ * `Vpfreeze` falls back to ordinary layer-off behavior because the viewer has
64
+ * no per-viewport layer state.
65
+ *
66
+ * @returns Resolves when the prompt is dismissed or the setting is updated.
67
+ */
68
+ private promptOffMode;
69
+ /**
70
+ * Sets or clears the frozen bit while preserving other layer flags.
71
+ *
72
+ * @param layer - Target layer table record.
73
+ * @param frozen - Whether the layer should be marked frozen.
74
+ */
75
+ private setLayerFrozen;
76
+ /**
77
+ * Sets or clears the locked bit while preserving other layer flags.
78
+ *
79
+ * @param layer - Target layer table record.
80
+ * @param locked - Whether the layer should be marked locked.
81
+ */
82
+ private setLayerLocked;
83
+ /**
84
+ * Resolves selected entities to layer names and applies isolation.
85
+ *
86
+ * @param context - Active application context containing database and view.
87
+ * @param objectIds - Entity ids selected by the user.
88
+ */
89
+ private isolateSelectedObjectLayers;
90
+ /**
91
+ * Collects distinct layer names from selected entity ids.
92
+ *
93
+ * @param context - Active application context containing the drawing database.
94
+ * @param objectIds - Selected entity identifiers.
95
+ * @returns Layer names resolved from valid selected entities.
96
+ */
97
+ private collectSelectedLayerNames;
98
+ }
99
+ //# sourceMappingURL=AcApLayerIsoCmd.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AcApLayerIsoCmd.d.ts","sourceRoot":"","sources":["../../../src/command/layer/AcApLayerIsoCmd.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAkB,MAAM,WAAW,CAAA;AACvD,OAAO,EACL,WAAW,EAMZ,MAAM,cAAc,CAAA;AA4DrB;;;;;;;;;;;GAWG;AACH,qBAAa,eAAgB,SAAQ,WAAW;IAC9C,OAAO,CAAC,MAAM,CAAC,SAAS,CAA0C;IAElE,OAAO,CAAC,kBAAkB,CAAQ;IAClC,OAAO,CAAC,kBAAkB,CAAQ;IAElC;;OAEG;;IAMH;;;;;;;;;OASG;IACG,OAAO,CAAC,OAAO,EAAE,WAAW;IAyBlC;;;;;OAKG;IACH,OAAO,CAAC,MAAM;IAId;;;;;OAKG;IACH,OAAO,CAAC,UAAU;IAWlB;;;;OAIG;YACW,eAAe;IA4B7B;;;;OAIG;YACW,WAAW;IAsCzB;;;;;;;OAOG;YACW,aAAa;IAmC3B;;;;;OAKG;IACH,OAAO,CAAC,cAAc;IAKtB;;;;;OAKG;IACH,OAAO,CAAC,cAAc;IAKtB;;;;;OAKG;IACH,OAAO,CAAC,2BAA2B;IAuGnC;;;;;;OAMG;IACH,OAAO,CAAC,yBAAyB;CA8BlC"}