@mlightcad/cad-simple-viewer 1.4.12 → 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 (455) hide show
  1. package/dist/index.js +35505 -24550
  2. package/dist/index.umd.cjs +180 -49
  3. package/dist/libredwg-parser-worker.js +4874 -4548
  4. package/dist/mtext-renderer-worker.js +3587 -3534
  5. package/lib/app/AcApDocManager.d.ts +73 -8
  6. package/lib/app/AcApDocManager.d.ts.map +1 -1
  7. package/lib/app/AcApDocManager.js +216 -46
  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/AcApZoomCmd.d.ts +91 -20
  34. package/lib/command/AcApZoomCmd.d.ts.map +1 -1
  35. package/lib/command/AcApZoomCmd.js +288 -23
  36. package/lib/command/AcApZoomCmd.js.map +1 -1
  37. package/lib/command/{AcApConvertToDxfCmd.d.ts → convert/AcApConvertToDxfCmd.d.ts} +2 -2
  38. package/lib/command/convert/AcApConvertToDxfCmd.d.ts.map +1 -0
  39. package/lib/command/{AcApConvertToDxfCmd.js → convert/AcApConvertToDxfCmd.js} +1 -1
  40. package/lib/command/convert/AcApConvertToDxfCmd.js.map +1 -0
  41. package/lib/command/convert/AcApConvertToPngCmd.d.ts +53 -0
  42. package/lib/command/convert/AcApConvertToPngCmd.d.ts.map +1 -0
  43. package/lib/command/convert/AcApConvertToPngCmd.js +200 -0
  44. package/lib/command/convert/AcApConvertToPngCmd.js.map +1 -0
  45. package/lib/command/{AcApConvertToSvgCmd.d.ts → convert/AcApConvertToSvgCmd.d.ts} +2 -2
  46. package/lib/command/convert/AcApConvertToSvgCmd.d.ts.map +1 -0
  47. package/lib/command/{AcApConvertToSvgCmd.js → convert/AcApConvertToSvgCmd.js} +1 -1
  48. package/lib/command/convert/AcApConvertToSvgCmd.js.map +1 -0
  49. package/lib/command/convert/AcApDxfConvertor.d.ts.map +1 -0
  50. package/lib/command/{AcApDxfConvertor.js → convert/AcApDxfConvertor.js} +1 -1
  51. package/lib/command/convert/AcApDxfConvertor.js.map +1 -0
  52. package/lib/command/convert/AcApPngConvertor.d.ts +80 -0
  53. package/lib/command/convert/AcApPngConvertor.d.ts.map +1 -0
  54. package/lib/command/convert/AcApPngConvertor.js +233 -0
  55. package/lib/command/convert/AcApPngConvertor.js.map +1 -0
  56. package/lib/command/convert/AcApSvgConvertor.d.ts.map +1 -0
  57. package/lib/command/{AcApSvgConvertor.js → convert/AcApSvgConvertor.js} +1 -1
  58. package/lib/command/convert/AcApSvgConvertor.js.map +1 -0
  59. package/lib/command/convert/index.d.ts +6 -0
  60. package/lib/command/convert/index.d.ts.map +1 -0
  61. package/lib/command/convert/index.js +6 -0
  62. package/lib/command/convert/index.js.map +1 -0
  63. package/lib/command/draw/AcApArcCmd.d.ts +297 -0
  64. package/lib/command/draw/AcApArcCmd.d.ts.map +1 -0
  65. package/lib/command/{AcApArcCmd.js → draw/AcApArcCmd.js} +794 -13
  66. package/lib/command/draw/AcApArcCmd.js.map +1 -0
  67. package/lib/command/draw/AcApCircleCmd.d.ts +81 -0
  68. package/lib/command/draw/AcApCircleCmd.d.ts.map +1 -0
  69. package/lib/command/draw/AcApCircleCmd.js +594 -0
  70. package/lib/command/draw/AcApCircleCmd.js.map +1 -0
  71. package/lib/command/{AcApDimLinearCmd.d.ts → draw/AcApDimLinearCmd.d.ts} +2 -2
  72. package/lib/command/draw/AcApDimLinearCmd.d.ts.map +1 -0
  73. package/lib/command/{AcApDimLinearCmd.js → draw/AcApDimLinearCmd.js} +3 -3
  74. package/lib/command/draw/AcApDimLinearCmd.js.map +1 -0
  75. package/lib/command/draw/AcApEllipseCmd.d.ts +87 -0
  76. package/lib/command/draw/AcApEllipseCmd.d.ts.map +1 -0
  77. package/lib/command/draw/AcApEllipseCmd.js +583 -0
  78. package/lib/command/draw/AcApEllipseCmd.js.map +1 -0
  79. package/lib/command/draw/AcApHatchCmd.d.ts +247 -0
  80. package/lib/command/draw/AcApHatchCmd.d.ts.map +1 -0
  81. package/lib/command/draw/AcApHatchCmd.js +900 -0
  82. package/lib/command/draw/AcApHatchCmd.js.map +1 -0
  83. package/lib/command/draw/AcApLineCmd.d.ts +57 -0
  84. package/lib/command/draw/AcApLineCmd.d.ts.map +1 -0
  85. package/lib/command/draw/AcApLineCmd.js +263 -0
  86. package/lib/command/draw/AcApLineCmd.js.map +1 -0
  87. package/lib/command/draw/AcApMLineCmd.d.ts +31 -0
  88. package/lib/command/draw/AcApMLineCmd.d.ts.map +1 -0
  89. package/lib/command/draw/AcApMLineCmd.js +531 -0
  90. package/lib/command/draw/AcApMLineCmd.js.map +1 -0
  91. package/lib/command/{AcApMTextCmd.d.ts → draw/AcApMTextCmd.d.ts} +2 -2
  92. package/lib/command/draw/AcApMTextCmd.d.ts.map +1 -0
  93. package/lib/command/{AcApMTextCmd.js → draw/AcApMTextCmd.js} +3 -3
  94. package/lib/command/draw/AcApMTextCmd.js.map +1 -0
  95. package/lib/command/draw/AcApPointCmd.d.ts +16 -0
  96. package/lib/command/draw/AcApPointCmd.d.ts.map +1 -0
  97. package/lib/command/{AcApZoomToBoxCmd.js → draw/AcApPointCmd.js} +32 -37
  98. package/lib/command/draw/AcApPointCmd.js.map +1 -0
  99. package/lib/command/draw/AcApPolygonCmd.d.ts +69 -0
  100. package/lib/command/draw/AcApPolygonCmd.d.ts.map +1 -0
  101. package/lib/command/draw/AcApPolygonCmd.js +422 -0
  102. package/lib/command/draw/AcApPolygonCmd.js.map +1 -0
  103. package/lib/command/{AcApPolylineCmd.d.ts → draw/AcApPolylineCmd.d.ts} +2 -2
  104. package/lib/command/draw/AcApPolylineCmd.d.ts.map +1 -0
  105. package/lib/command/{AcApPolylineCmd.js → draw/AcApPolylineCmd.js} +3 -3
  106. package/lib/command/draw/AcApPolylineCmd.js.map +1 -0
  107. package/lib/command/draw/AcApRayCmd.d.ts +10 -0
  108. package/lib/command/draw/AcApRayCmd.d.ts.map +1 -0
  109. package/lib/command/{AcApLineCmd.js → draw/AcApRayCmd.js} +63 -44
  110. package/lib/command/draw/AcApRayCmd.js.map +1 -0
  111. package/lib/command/draw/AcApRectCmd.d.ts +168 -0
  112. package/lib/command/draw/AcApRectCmd.d.ts.map +1 -0
  113. package/lib/command/draw/AcApRectCmd.js +822 -0
  114. package/lib/command/draw/AcApRectCmd.js.map +1 -0
  115. package/lib/command/draw/AcApSplineCmd.d.ts +85 -0
  116. package/lib/command/draw/AcApSplineCmd.d.ts.map +1 -0
  117. package/lib/command/draw/AcApSplineCmd.js +620 -0
  118. package/lib/command/draw/AcApSplineCmd.js.map +1 -0
  119. package/lib/command/draw/AcApXLineCmd.d.ts +25 -0
  120. package/lib/command/draw/AcApXLineCmd.d.ts.map +1 -0
  121. package/lib/command/draw/AcApXLineCmd.js +210 -0
  122. package/lib/command/draw/AcApXLineCmd.js.map +1 -0
  123. package/lib/command/draw/index.d.ts +16 -0
  124. package/lib/command/draw/index.d.ts.map +1 -0
  125. package/lib/command/draw/index.js +16 -0
  126. package/lib/command/draw/index.js.map +1 -0
  127. package/lib/command/index.d.ts +6 -26
  128. package/lib/command/index.d.ts.map +1 -1
  129. package/lib/command/index.js +6 -26
  130. package/lib/command/index.js.map +1 -1
  131. package/lib/command/layer/AcApLayerCloseCmd.d.ts +23 -0
  132. package/lib/command/layer/AcApLayerCloseCmd.d.ts.map +1 -0
  133. package/lib/command/{AcApRevRectCmd.js → layer/AcApLayerCloseCmd.js} +27 -24
  134. package/lib/command/layer/AcApLayerCloseCmd.js.map +1 -0
  135. package/lib/command/layer/AcApLayerCmd.d.ts +215 -0
  136. package/lib/command/layer/AcApLayerCmd.d.ts.map +1 -0
  137. package/lib/command/layer/AcApLayerCmd.js +765 -0
  138. package/lib/command/layer/AcApLayerCmd.js.map +1 -0
  139. package/lib/command/layer/AcApLayerCurCmd.d.ts +43 -0
  140. package/lib/command/layer/AcApLayerCurCmd.d.ts.map +1 -0
  141. package/lib/command/layer/AcApLayerCurCmd.js +183 -0
  142. package/lib/command/layer/AcApLayerCurCmd.js.map +1 -0
  143. package/lib/command/layer/AcApLayerDelCmd.d.ts +112 -0
  144. package/lib/command/layer/AcApLayerDelCmd.d.ts.map +1 -0
  145. package/lib/command/layer/AcApLayerDelCmd.js +446 -0
  146. package/lib/command/layer/AcApLayerDelCmd.js.map +1 -0
  147. package/lib/command/layer/AcApLayerFreezeCmd.d.ts +103 -0
  148. package/lib/command/layer/AcApLayerFreezeCmd.d.ts.map +1 -0
  149. package/lib/command/layer/AcApLayerFreezeCmd.js +398 -0
  150. package/lib/command/layer/AcApLayerFreezeCmd.js.map +1 -0
  151. package/lib/command/layer/AcApLayerIsoCmd.d.ts +99 -0
  152. package/lib/command/layer/AcApLayerIsoCmd.d.ts.map +1 -0
  153. package/lib/command/layer/AcApLayerIsoCmd.js +485 -0
  154. package/lib/command/layer/AcApLayerIsoCmd.js.map +1 -0
  155. package/lib/command/layer/AcApLayerIsoState.d.ts +68 -0
  156. package/lib/command/layer/AcApLayerIsoState.d.ts.map +1 -0
  157. package/lib/command/layer/AcApLayerIsoState.js +53 -0
  158. package/lib/command/layer/AcApLayerIsoState.js.map +1 -0
  159. package/lib/command/layer/AcApLayerLockCmd.d.ts +50 -0
  160. package/lib/command/layer/AcApLayerLockCmd.d.ts.map +1 -0
  161. package/lib/command/layer/AcApLayerLockCmd.js +175 -0
  162. package/lib/command/layer/AcApLayerLockCmd.js.map +1 -0
  163. package/lib/command/layer/AcApLayerOffCmd.d.ts +95 -0
  164. package/lib/command/layer/AcApLayerOffCmd.d.ts.map +1 -0
  165. package/lib/command/layer/AcApLayerOffCmd.js +384 -0
  166. package/lib/command/layer/AcApLayerOffCmd.js.map +1 -0
  167. package/lib/command/layer/AcApLayerOnCmd.d.ts +30 -0
  168. package/lib/command/layer/AcApLayerOnCmd.d.ts.map +1 -0
  169. package/lib/command/layer/AcApLayerOnCmd.js +138 -0
  170. package/lib/command/layer/AcApLayerOnCmd.js.map +1 -0
  171. package/lib/command/layer/AcApLayerPCmd.d.ts +83 -0
  172. package/lib/command/layer/AcApLayerPCmd.d.ts.map +1 -0
  173. package/lib/command/layer/AcApLayerPCmd.js +241 -0
  174. package/lib/command/layer/AcApLayerPCmd.js.map +1 -0
  175. package/lib/command/layer/AcApLayerThawCmd.d.ts +37 -0
  176. package/lib/command/layer/AcApLayerThawCmd.d.ts.map +1 -0
  177. package/lib/command/layer/AcApLayerThawCmd.js +150 -0
  178. package/lib/command/layer/AcApLayerThawCmd.js.map +1 -0
  179. package/lib/command/layer/AcApLayerUnisoCmd.d.ts +52 -0
  180. package/lib/command/layer/AcApLayerUnisoCmd.d.ts.map +1 -0
  181. package/lib/command/layer/AcApLayerUnisoCmd.js +199 -0
  182. package/lib/command/layer/AcApLayerUnisoCmd.js.map +1 -0
  183. package/lib/command/layer/AcApLayerUnlockCmd.d.ts +50 -0
  184. package/lib/command/layer/AcApLayerUnlockCmd.d.ts.map +1 -0
  185. package/lib/command/layer/AcApLayerUnlockCmd.js +175 -0
  186. package/lib/command/layer/AcApLayerUnlockCmd.js.map +1 -0
  187. package/lib/command/layer/index.d.ts +14 -0
  188. package/lib/command/layer/index.d.ts.map +1 -0
  189. package/lib/command/layer/index.js +14 -0
  190. package/lib/command/layer/index.js.map +1 -0
  191. package/lib/command/{AcApClearMeasurementsCmd.d.ts → measure/AcApClearMeasurementsCmd.d.ts} +2 -2
  192. package/lib/command/measure/AcApClearMeasurementsCmd.d.ts.map +1 -0
  193. package/lib/command/{AcApClearMeasurementsCmd.js → measure/AcApClearMeasurementsCmd.js} +1 -1
  194. package/lib/command/measure/AcApClearMeasurementsCmd.js.map +1 -0
  195. package/lib/command/{AcApMeasureAngleCmd.d.ts → measure/AcApMeasureAngleCmd.d.ts} +2 -2
  196. package/lib/command/measure/AcApMeasureAngleCmd.d.ts.map +1 -0
  197. package/lib/command/{AcApMeasureAngleCmd.js → measure/AcApMeasureAngleCmd.js} +3 -3
  198. package/lib/command/measure/AcApMeasureAngleCmd.js.map +1 -0
  199. package/lib/command/{AcApMeasureArcCmd.d.ts → measure/AcApMeasureArcCmd.d.ts} +2 -2
  200. package/lib/command/measure/AcApMeasureArcCmd.d.ts.map +1 -0
  201. package/lib/command/{AcApMeasureArcCmd.js → measure/AcApMeasureArcCmd.js} +3 -3
  202. package/lib/command/measure/AcApMeasureArcCmd.js.map +1 -0
  203. package/lib/command/{AcApMeasureAreaCmd.d.ts → measure/AcApMeasureAreaCmd.d.ts} +2 -2
  204. package/lib/command/measure/AcApMeasureAreaCmd.d.ts.map +1 -0
  205. package/lib/command/{AcApMeasureAreaCmd.js → measure/AcApMeasureAreaCmd.js} +6 -3
  206. package/lib/command/measure/AcApMeasureAreaCmd.js.map +1 -0
  207. package/lib/command/{AcApMeasureDistanceCmd.d.ts → measure/AcApMeasureDistanceCmd.d.ts} +2 -2
  208. package/lib/command/measure/AcApMeasureDistanceCmd.d.ts.map +1 -0
  209. package/lib/command/{AcApMeasureDistanceCmd.js → measure/AcApMeasureDistanceCmd.js} +3 -3
  210. package/lib/command/measure/AcApMeasureDistanceCmd.js.map +1 -0
  211. package/lib/command/measure/index.d.ts +6 -0
  212. package/lib/command/measure/index.d.ts.map +1 -0
  213. package/lib/command/measure/index.js +6 -0
  214. package/lib/command/measure/index.js.map +1 -0
  215. package/lib/command/modify/AcApCopyCmd.d.ts +94 -0
  216. package/lib/command/modify/AcApCopyCmd.d.ts.map +1 -0
  217. package/lib/command/modify/AcApCopyCmd.js +549 -0
  218. package/lib/command/modify/AcApCopyCmd.js.map +1 -0
  219. package/lib/command/{AcApEraseCmd.d.ts → modify/AcApEraseCmd.d.ts} +2 -2
  220. package/lib/command/modify/AcApEraseCmd.d.ts.map +1 -0
  221. package/lib/command/{AcApEraseCmd.js → modify/AcApEraseCmd.js} +3 -5
  222. package/lib/command/modify/AcApEraseCmd.js.map +1 -0
  223. package/lib/command/modify/AcApMoveCmd.d.ts +16 -0
  224. package/lib/command/modify/AcApMoveCmd.d.ts.map +1 -0
  225. package/lib/command/modify/AcApMoveCmd.js +277 -0
  226. package/lib/command/modify/AcApMoveCmd.js.map +1 -0
  227. package/lib/command/modify/AcApRotateCmd.d.ts +81 -0
  228. package/lib/command/modify/AcApRotateCmd.d.ts.map +1 -0
  229. package/lib/command/modify/AcApRotateCmd.js +487 -0
  230. package/lib/command/modify/AcApRotateCmd.js.map +1 -0
  231. package/lib/command/modify/index.d.ts +5 -0
  232. package/lib/command/modify/index.d.ts.map +1 -0
  233. package/lib/command/modify/index.js +5 -0
  234. package/lib/command/modify/index.js.map +1 -0
  235. package/lib/command/{AcApBaseRevCmd.d.ts → review/AcApBaseRevCmd.d.ts} +2 -2
  236. package/lib/command/review/AcApBaseRevCmd.d.ts.map +1 -0
  237. package/lib/command/{AcApBaseRevCmd.js → review/AcApBaseRevCmd.js} +2 -2
  238. package/lib/command/review/AcApBaseRevCmd.js.map +1 -0
  239. package/lib/command/review/AcApRevCircleCmd.d.ts +18 -0
  240. package/lib/command/review/AcApRevCircleCmd.d.ts.map +1 -0
  241. package/lib/command/{AcApCircleCmd.js → review/AcApRevCircleCmd.js} +26 -42
  242. package/lib/command/review/AcApRevCircleCmd.js.map +1 -0
  243. package/lib/command/{AcApRevCloudCmd.d.ts → review/AcApRevCloudCmd.d.ts} +2 -2
  244. package/lib/command/review/AcApRevCloudCmd.d.ts.map +1 -0
  245. package/lib/command/{AcApRevCloudCmd.js → review/AcApRevCloudCmd.js} +3 -3
  246. package/lib/command/review/AcApRevCloudCmd.js.map +1 -0
  247. package/lib/command/review/AcApRevRectCmd.d.ts +18 -0
  248. package/lib/command/review/AcApRevRectCmd.d.ts.map +1 -0
  249. package/lib/command/{AcApRectCmd.js → review/AcApRevRectCmd.js} +43 -28
  250. package/lib/command/review/AcApRevRectCmd.js.map +1 -0
  251. package/lib/command/{AcApRevVisibilityCmd.d.ts → review/AcApRevVisibilityCmd.d.ts} +1 -1
  252. package/lib/command/review/AcApRevVisibilityCmd.d.ts.map +1 -0
  253. package/lib/command/{AcApRevVisibilityCmd.js → review/AcApRevVisibilityCmd.js} +2 -2
  254. package/lib/command/review/AcApRevVisibilityCmd.js.map +1 -0
  255. package/lib/command/{AcApSketchCmd.d.ts → review/AcApSketchCmd.d.ts} +2 -2
  256. package/lib/command/review/AcApSketchCmd.d.ts.map +1 -0
  257. package/lib/command/{AcApSketchCmd.js → review/AcApSketchCmd.js} +3 -3
  258. package/lib/command/review/AcApSketchCmd.js.map +1 -0
  259. package/lib/command/review/index.d.ts +7 -0
  260. package/lib/command/review/index.d.ts.map +1 -0
  261. package/lib/command/review/index.js +7 -0
  262. package/lib/command/review/index.js.map +1 -0
  263. package/lib/editor/command/AcEdCommandStack.d.ts +54 -1
  264. package/lib/editor/command/AcEdCommandStack.d.ts.map +1 -1
  265. package/lib/editor/command/AcEdCommandStack.js +207 -25
  266. package/lib/editor/command/AcEdCommandStack.js.map +1 -1
  267. package/lib/editor/global/eventBus.d.ts +4 -6
  268. package/lib/editor/global/eventBus.d.ts.map +1 -1
  269. package/lib/editor/global/eventBus.js.map +1 -1
  270. package/lib/editor/input/AcEdSelectionFilter.d.ts +79 -0
  271. package/lib/editor/input/AcEdSelectionFilter.d.ts.map +1 -0
  272. package/lib/editor/input/AcEdSelectionFilter.js +231 -0
  273. package/lib/editor/input/AcEdSelectionFilter.js.map +1 -0
  274. package/lib/editor/input/AcEditor.d.ts +37 -2
  275. package/lib/editor/input/AcEditor.d.ts.map +1 -1
  276. package/lib/editor/input/AcEditor.js +89 -0
  277. package/lib/editor/input/AcEditor.js.map +1 -1
  278. package/lib/editor/input/index.d.ts +1 -0
  279. package/lib/editor/input/index.d.ts.map +1 -1
  280. package/lib/editor/input/index.js +1 -0
  281. package/lib/editor/input/index.js.map +1 -1
  282. package/lib/editor/input/prompt/AcEdKeywordCollection.d.ts +47 -0
  283. package/lib/editor/input/prompt/AcEdKeywordCollection.d.ts.map +1 -1
  284. package/lib/editor/input/prompt/AcEdKeywordCollection.js +19 -0
  285. package/lib/editor/input/prompt/AcEdKeywordCollection.js.map +1 -1
  286. package/lib/editor/input/prompt/AcEdPromptAngleOptions.d.ts +7 -0
  287. package/lib/editor/input/prompt/AcEdPromptAngleOptions.d.ts.map +1 -1
  288. package/lib/editor/input/prompt/AcEdPromptAngleOptions.js +17 -0
  289. package/lib/editor/input/prompt/AcEdPromptAngleOptions.js.map +1 -1
  290. package/lib/editor/input/prompt/AcEdPromptBoxOptions.d.ts +6 -0
  291. package/lib/editor/input/prompt/AcEdPromptBoxOptions.d.ts.map +1 -1
  292. package/lib/editor/input/prompt/AcEdPromptBoxOptions.js +16 -0
  293. package/lib/editor/input/prompt/AcEdPromptBoxOptions.js.map +1 -1
  294. package/lib/editor/input/prompt/AcEdPromptEntityOptions.d.ts +17 -0
  295. package/lib/editor/input/prompt/AcEdPromptEntityOptions.d.ts.map +1 -1
  296. package/lib/editor/input/prompt/AcEdPromptEntityOptions.js +30 -3
  297. package/lib/editor/input/prompt/AcEdPromptEntityOptions.js.map +1 -1
  298. package/lib/editor/input/prompt/AcEdPromptOptions.d.ts +6 -1
  299. package/lib/editor/input/prompt/AcEdPromptOptions.d.ts.map +1 -1
  300. package/lib/editor/input/prompt/AcEdPromptOptions.js +7 -0
  301. package/lib/editor/input/prompt/AcEdPromptOptions.js.map +1 -1
  302. package/lib/editor/input/prompt/AcEdPromptPointOptions.d.ts +6 -0
  303. package/lib/editor/input/prompt/AcEdPromptPointOptions.d.ts.map +1 -1
  304. package/lib/editor/input/prompt/AcEdPromptPointOptions.js +16 -0
  305. package/lib/editor/input/prompt/AcEdPromptPointOptions.js.map +1 -1
  306. package/lib/editor/input/session/AcEdKeywordSession.d.ts +65 -0
  307. package/lib/editor/input/session/AcEdKeywordSession.d.ts.map +1 -1
  308. package/lib/editor/input/session/AcEdKeywordSession.js +71 -0
  309. package/lib/editor/input/session/AcEdKeywordSession.js.map +1 -1
  310. package/lib/editor/input/ui/AcEdCommandLine.d.ts +29 -4
  311. package/lib/editor/input/ui/AcEdCommandLine.d.ts.map +1 -1
  312. package/lib/editor/input/ui/AcEdCommandLine.js +118 -24
  313. package/lib/editor/input/ui/AcEdCommandLine.js.map +1 -1
  314. package/lib/editor/input/ui/AcEdFloatingInput.d.ts +1 -0
  315. package/lib/editor/input/ui/AcEdFloatingInput.d.ts.map +1 -1
  316. package/lib/editor/input/ui/AcEdFloatingInput.js +12 -4
  317. package/lib/editor/input/ui/AcEdFloatingInput.js.map +1 -1
  318. package/lib/editor/input/ui/AcEdFloatingInputBoxes.d.ts +23 -1
  319. package/lib/editor/input/ui/AcEdFloatingInputBoxes.d.ts.map +1 -1
  320. package/lib/editor/input/ui/AcEdFloatingInputBoxes.js +32 -9
  321. package/lib/editor/input/ui/AcEdFloatingInputBoxes.js.map +1 -1
  322. package/lib/editor/input/ui/AcEdFloatingInputTypes.d.ts +28 -0
  323. package/lib/editor/input/ui/AcEdFloatingInputTypes.d.ts.map +1 -1
  324. package/lib/editor/input/ui/AcEdInputManager.d.ts +377 -16
  325. package/lib/editor/input/ui/AcEdInputManager.d.ts.map +1 -1
  326. package/lib/editor/input/ui/AcEdInputManager.js +994 -529
  327. package/lib/editor/input/ui/AcEdInputManager.js.map +1 -1
  328. package/lib/editor/input/ui/AcEdMessageType.d.ts +10 -0
  329. package/lib/editor/input/ui/AcEdMessageType.d.ts.map +1 -0
  330. package/lib/editor/input/ui/AcEdMessageType.js +2 -0
  331. package/lib/editor/input/ui/AcEdMessageType.js.map +1 -0
  332. package/lib/editor/input/ui/AcEdRubberBand.d.ts +15 -1
  333. package/lib/editor/input/ui/AcEdRubberBand.d.ts.map +1 -1
  334. package/lib/editor/input/ui/AcEdRubberBand.js +42 -10
  335. package/lib/editor/input/ui/AcEdRubberBand.js.map +1 -1
  336. package/lib/editor/input/ui/index.d.ts +1 -0
  337. package/lib/editor/input/ui/index.d.ts.map +1 -1
  338. package/lib/editor/input/ui/index.js +1 -0
  339. package/lib/editor/input/ui/index.js.map +1 -1
  340. package/lib/editor/view/AcEdBaseView.d.ts +3 -8
  341. package/lib/editor/view/AcEdBaseView.d.ts.map +1 -1
  342. package/lib/editor/view/AcEdBaseView.js +3 -5
  343. package/lib/editor/view/AcEdBaseView.js.map +1 -1
  344. package/lib/editor/view/AcEdHoverController.d.ts +2 -3
  345. package/lib/editor/view/AcEdHoverController.d.ts.map +1 -1
  346. package/lib/editor/view/AcEdHoverController.js +7 -0
  347. package/lib/editor/view/AcEdHoverController.js.map +1 -1
  348. package/lib/editor/view/AcEdSelectionAction.d.ts +108 -0
  349. package/lib/editor/view/AcEdSelectionAction.d.ts.map +1 -0
  350. package/lib/editor/view/AcEdSelectionAction.js +74 -0
  351. package/lib/editor/view/AcEdSelectionAction.js.map +1 -0
  352. package/lib/editor/view/index.d.ts +1 -0
  353. package/lib/editor/view/index.d.ts.map +1 -1
  354. package/lib/editor/view/index.js +1 -0
  355. package/lib/editor/view/index.js.map +1 -1
  356. package/lib/i18n/en/command.d.ts +148 -10
  357. package/lib/i18n/en/command.d.ts.map +1 -1
  358. package/lib/i18n/en/command.js +153 -15
  359. package/lib/i18n/en/command.js.map +1 -1
  360. package/lib/i18n/en/jig.d.ts +838 -36
  361. package/lib/i18n/en/jig.d.ts.map +1 -1
  362. package/lib/i18n/en/jig.js +827 -25
  363. package/lib/i18n/en/jig.js.map +1 -1
  364. package/lib/i18n/zh/command.d.ts +148 -10
  365. package/lib/i18n/zh/command.d.ts.map +1 -1
  366. package/lib/i18n/zh/command.js +155 -17
  367. package/lib/i18n/zh/command.js.map +1 -1
  368. package/lib/i18n/zh/jig.d.ts +851 -49
  369. package/lib/i18n/zh/jig.d.ts.map +1 -1
  370. package/lib/i18n/zh/jig.js +829 -27
  371. package/lib/i18n/zh/jig.js.map +1 -1
  372. package/lib/plugin/AcApPluginManager.d.ts.map +1 -1
  373. package/lib/plugin/AcApPluginManager.js.map +1 -1
  374. package/lib/spatialIndex/AcTrHierarchicalSpatialIndex.d.ts +136 -2
  375. package/lib/spatialIndex/AcTrHierarchicalSpatialIndex.d.ts.map +1 -1
  376. package/lib/spatialIndex/AcTrHierarchicalSpatialIndex.js +154 -16
  377. package/lib/spatialIndex/AcTrHierarchicalSpatialIndex.js.map +1 -1
  378. package/lib/view/AcTrLayer.d.ts.map +1 -1
  379. package/lib/view/AcTrLayer.js +5 -3
  380. package/lib/view/AcTrLayer.js.map +1 -1
  381. package/lib/view/AcTrLayout.d.ts +17 -0
  382. package/lib/view/AcTrLayout.d.ts.map +1 -1
  383. package/lib/view/AcTrLayout.js +34 -2
  384. package/lib/view/AcTrLayout.js.map +1 -1
  385. package/lib/view/AcTrPickResultUtil.d.ts +4 -0
  386. package/lib/view/AcTrPickResultUtil.d.ts.map +1 -0
  387. package/lib/view/AcTrPickResultUtil.js +54 -0
  388. package/lib/view/AcTrPickResultUtil.js.map +1 -0
  389. package/lib/view/AcTrView2d.d.ts +25 -1
  390. package/lib/view/AcTrView2d.d.ts.map +1 -1
  391. package/lib/view/AcTrView2d.js +242 -104
  392. package/lib/view/AcTrView2d.js.map +1 -1
  393. package/package.json +11 -9
  394. package/lib/command/AcApArcCmd.d.ts +0 -140
  395. package/lib/command/AcApArcCmd.d.ts.map +0 -1
  396. package/lib/command/AcApArcCmd.js.map +0 -1
  397. package/lib/command/AcApBaseRevCmd.d.ts.map +0 -1
  398. package/lib/command/AcApBaseRevCmd.js.map +0 -1
  399. package/lib/command/AcApCircleCmd.d.ts +0 -22
  400. package/lib/command/AcApCircleCmd.d.ts.map +0 -1
  401. package/lib/command/AcApCircleCmd.js.map +0 -1
  402. package/lib/command/AcApClearMeasurementsCmd.d.ts.map +0 -1
  403. package/lib/command/AcApClearMeasurementsCmd.js.map +0 -1
  404. package/lib/command/AcApConvertToDxfCmd.d.ts.map +0 -1
  405. package/lib/command/AcApConvertToDxfCmd.js.map +0 -1
  406. package/lib/command/AcApConvertToSvgCmd.d.ts.map +0 -1
  407. package/lib/command/AcApConvertToSvgCmd.js.map +0 -1
  408. package/lib/command/AcApDimLinearCmd.d.ts.map +0 -1
  409. package/lib/command/AcApDimLinearCmd.js.map +0 -1
  410. package/lib/command/AcApDxfConvertor.d.ts.map +0 -1
  411. package/lib/command/AcApDxfConvertor.js.map +0 -1
  412. package/lib/command/AcApEraseCmd.d.ts.map +0 -1
  413. package/lib/command/AcApEraseCmd.js.map +0 -1
  414. package/lib/command/AcApLineCmd.d.ts +0 -22
  415. package/lib/command/AcApLineCmd.d.ts.map +0 -1
  416. package/lib/command/AcApLineCmd.js.map +0 -1
  417. package/lib/command/AcApMTextCmd.d.ts.map +0 -1
  418. package/lib/command/AcApMTextCmd.js.map +0 -1
  419. package/lib/command/AcApMeasureAngleCmd.d.ts.map +0 -1
  420. package/lib/command/AcApMeasureAngleCmd.js.map +0 -1
  421. package/lib/command/AcApMeasureArcCmd.d.ts.map +0 -1
  422. package/lib/command/AcApMeasureArcCmd.js.map +0 -1
  423. package/lib/command/AcApMeasureAreaCmd.d.ts.map +0 -1
  424. package/lib/command/AcApMeasureAreaCmd.js.map +0 -1
  425. package/lib/command/AcApMeasureDistanceCmd.d.ts.map +0 -1
  426. package/lib/command/AcApMeasureDistanceCmd.js.map +0 -1
  427. package/lib/command/AcApPolylineCmd.d.ts.map +0 -1
  428. package/lib/command/AcApPolylineCmd.js.map +0 -1
  429. package/lib/command/AcApRectCmd.d.ts +0 -23
  430. package/lib/command/AcApRectCmd.d.ts.map +0 -1
  431. package/lib/command/AcApRectCmd.js.map +0 -1
  432. package/lib/command/AcApRevCircleCmd.d.ts +0 -10
  433. package/lib/command/AcApRevCircleCmd.d.ts.map +0 -1
  434. package/lib/command/AcApRevCircleCmd.js +0 -83
  435. package/lib/command/AcApRevCircleCmd.js.map +0 -1
  436. package/lib/command/AcApRevCloudCmd.d.ts.map +0 -1
  437. package/lib/command/AcApRevCloudCmd.js.map +0 -1
  438. package/lib/command/AcApRevRectCmd.d.ts +0 -10
  439. package/lib/command/AcApRevRectCmd.d.ts.map +0 -1
  440. package/lib/command/AcApRevRectCmd.js.map +0 -1
  441. package/lib/command/AcApRevVisibilityCmd.d.ts.map +0 -1
  442. package/lib/command/AcApRevVisibilityCmd.js.map +0 -1
  443. package/lib/command/AcApSketchCmd.d.ts.map +0 -1
  444. package/lib/command/AcApSketchCmd.js.map +0 -1
  445. package/lib/command/AcApSplineCmd.d.ts +0 -20
  446. package/lib/command/AcApSplineCmd.d.ts.map +0 -1
  447. package/lib/command/AcApSplineCmd.js +0 -213
  448. package/lib/command/AcApSplineCmd.js.map +0 -1
  449. package/lib/command/AcApSvgConvertor.d.ts.map +0 -1
  450. package/lib/command/AcApSvgConvertor.js.map +0 -1
  451. package/lib/command/AcApZoomToBoxCmd.d.ts +0 -29
  452. package/lib/command/AcApZoomToBoxCmd.d.ts.map +0 -1
  453. package/lib/command/AcApZoomToBoxCmd.js.map +0 -1
  454. /package/lib/command/{AcApDxfConvertor.d.ts → convert/AcApDxfConvertor.d.ts} +0 -0
  455. /package/lib/command/{AcApSvgConvertor.d.ts → convert/AcApSvgConvertor.d.ts} +0 -0
@@ -49,26 +49,29 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
49
49
  if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
50
50
  }
51
51
  };
52
- import { AcEdCommand } from '../command';
52
+ import { AcGeBox2d, AcGePoint3d } from '@mlightcad/data-model';
53
+ import { AcApDocManager } from '../app';
54
+ import { AcEdCommand, AcEdPromptBoxOptions, AcEdPromptPointOptions, AcEdPromptStatus, AcEdPromptStringOptions } from '../editor';
55
+ import { AcApI18n } from '../i18n';
53
56
  /**
54
- * Command to zoom the view to fit all visible entities.
57
+ * AutoCAD-style ZOOM command with keyword-driven branches in a single command.
55
58
  *
56
- * This command adjusts the view's zoom level and position to show all
57
- * visible entities in the current drawing within the viewport. It's
58
- * equivalent to the "Zoom Extents" or "Fit to Window" functionality
59
- * found in most CAD applications.
59
+ * Supported flows:
60
+ * - Press Enter: zoom extents.
61
+ * - Pick first corner: zoom window.
62
+ * - Keywords:
63
+ * - `All` / `Extents`: zoom extents.
64
+ * - `Window`: prompt two corners and zoom to that box.
65
+ * - `Center`: prompt center + height/scale factor.
66
+ * - `Scale`: scale relative to current view (`n`, `nX`, `nXP`).
67
+ * - `Previous`: restore previous zoom box.
60
68
  *
61
- * The command calculates the bounding box of all visible entities and
62
- * adjusts the camera to show them all with appropriate padding.
69
+ * This command intentionally keeps all zoom branches in one implementation so
70
+ * callers can use script-style command input such as:
63
71
  *
64
- * @example
65
- * ```typescript
66
- * const zoomCommand = new AcApZoomCmd();
67
- * zoomCommand.globalName = 'ZOOM';
68
- * zoomCommand.localName = 'Zoom to Fit';
69
- *
70
- * // Execute the command to fit all entities in view
71
- * zoomCommand.trigger(docManager.context);
72
+ * ```text
73
+ * zoom
74
+ * window
72
75
  * ```
73
76
  */
74
77
  var AcApZoomCmd = /** @class */ (function (_super) {
@@ -77,18 +80,280 @@ var AcApZoomCmd = /** @class */ (function (_super) {
77
80
  return _super !== null && _super.apply(this, arguments) || this;
78
81
  }
79
82
  /**
80
- * Executes the zoom to fit command.
83
+ * Captures current visible world box from the viewport corners.
81
84
  *
82
- * Calls the view's `zoomToFit()` method to adjust the camera position
83
- * and zoom level to display all visible entities within the viewport.
85
+ * @param context - Current command context.
86
+ * @returns Current view box in world coordinates.
87
+ */
88
+ AcApZoomCmd.prototype.captureCurrentViewBox = function (context) {
89
+ var topLeft = context.view.screenToWorld({ x: 0, y: 0 });
90
+ var bottomRight = context.view.screenToWorld({
91
+ x: context.view.width,
92
+ y: context.view.height
93
+ });
94
+ return new AcGeBox2d().expandByPoint(topLeft).expandByPoint(bottomRight);
95
+ };
96
+ /**
97
+ * Saves current view box before executing a zoom branch.
84
98
  *
85
- * @param context - The current application context containing the view to zoom
99
+ * @param context - Current command context.
86
100
  */
87
- AcApZoomCmd.prototype.execute = function (context) {
101
+ AcApZoomCmd.prototype.rememberViewBeforeZoom = function (context) {
102
+ AcApZoomCmd.previousViewBox = this.captureCurrentViewBox(context);
103
+ };
104
+ /**
105
+ * Executes extents-like zoom and records previous view for rollback.
106
+ *
107
+ * @param context - Current command context.
108
+ */
109
+ AcApZoomCmd.prototype.zoomToExtents = function (context) {
110
+ this.rememberViewBeforeZoom(context);
111
+ context.view.zoomToFitDrawing();
112
+ };
113
+ /**
114
+ * Executes window zoom from two corner points.
115
+ *
116
+ * @param context - Current command context.
117
+ * @param first - First corner in WCS.
118
+ * @param second - Opposite corner in WCS.
119
+ */
120
+ AcApZoomCmd.prototype.zoomToWindow = function (context, first, second) {
121
+ var box = new AcGeBox2d().expandByPoint(first).expandByPoint(second);
122
+ this.rememberViewBeforeZoom(context);
123
+ context.view.zoomTo(box, 1);
124
+ };
125
+ /**
126
+ * Prompts second corner from a known first corner, then performs window zoom.
127
+ *
128
+ * @param context - Current command context.
129
+ * @param firstCorner - First window corner in WCS.
130
+ */
131
+ AcApZoomCmd.prototype.promptAndZoomWindowFromFirstCorner = function (context, firstCorner) {
132
+ return __awaiter(this, void 0, void 0, function () {
133
+ var secondPrompt, secondResult;
134
+ return __generator(this, function (_a) {
135
+ switch (_a.label) {
136
+ case 0:
137
+ secondPrompt = new AcEdPromptPointOptions(AcApI18n.t('jig.zoom.secondCorner'));
138
+ secondPrompt.useBasePoint = true;
139
+ secondPrompt.basePoint = new AcGePoint3d(firstCorner);
140
+ secondPrompt.useDashedLine = true;
141
+ return [4 /*yield*/, AcApDocManager.instance.editor.getPoint(secondPrompt)];
142
+ case 1:
143
+ secondResult = _a.sent();
144
+ if (secondResult.status !== AcEdPromptStatus.OK || !secondResult.value)
145
+ return [2 /*return*/];
146
+ this.zoomToWindow(context, firstCorner, secondResult.value);
147
+ return [2 /*return*/];
148
+ }
149
+ });
150
+ });
151
+ };
152
+ /**
153
+ * Prompts a window box using editor `getBox`, then zooms to that box.
154
+ *
155
+ * @param context - Current command context.
156
+ */
157
+ AcApZoomCmd.prototype.promptAndZoomWindowByBox = function (context) {
158
+ return __awaiter(this, void 0, void 0, function () {
159
+ var boxOptions, boxResult;
160
+ return __generator(this, function (_a) {
161
+ switch (_a.label) {
162
+ case 0:
163
+ boxOptions = new AcEdPromptBoxOptions(AcApI18n.t('jig.zoom.firstCorner'), AcApI18n.t('jig.zoom.secondCorner'));
164
+ return [4 /*yield*/, AcApDocManager.instance.editor.getBox(boxOptions)];
165
+ case 1:
166
+ boxResult = _a.sent();
167
+ if (boxResult.status !== AcEdPromptStatus.OK || !boxResult.value)
168
+ return [2 /*return*/];
169
+ this.rememberViewBeforeZoom(context);
170
+ context.view.zoomTo(boxResult.value, 1);
171
+ return [2 /*return*/];
172
+ }
173
+ });
174
+ });
175
+ };
176
+ /**
177
+ * Handles `Center` branch:
178
+ * - pick center point
179
+ * - input height or scale factor
180
+ *
181
+ * @param context - Current command context.
182
+ */
183
+ AcApZoomCmd.prototype.runCenter = function (context) {
88
184
  return __awaiter(this, void 0, void 0, function () {
185
+ var centerPrompt, centerResult, heightPrompt, heightResult, parsedScale, viewHeight, aspect, halfHeight, halfWidth, box;
89
186
  return __generator(this, function (_a) {
90
- context.view.zoomToFitDrawing();
91
- return [2 /*return*/];
187
+ switch (_a.label) {
188
+ case 0:
189
+ centerPrompt = new AcEdPromptPointOptions(AcApI18n.t('jig.zoom.centerPoint'));
190
+ return [4 /*yield*/, AcApDocManager.instance.editor.getPoint(centerPrompt)];
191
+ case 1:
192
+ centerResult = _a.sent();
193
+ if (centerResult.status !== AcEdPromptStatus.OK || !centerResult.value)
194
+ return [2 /*return*/];
195
+ heightPrompt = new AcEdPromptStringOptions(AcApI18n.t('jig.zoom.heightOrScale'));
196
+ return [4 /*yield*/, AcApDocManager.instance.editor.getString(heightPrompt)];
197
+ case 2:
198
+ heightResult = _a.sent();
199
+ if (heightResult.status !== AcEdPromptStatus.OK ||
200
+ !heightResult.stringResult)
201
+ return [2 /*return*/];
202
+ parsedScale = this.parseScaleFactor(heightResult.stringResult);
203
+ if (parsedScale != null) {
204
+ this.applyRelativeScale(context, parsedScale, centerResult.value);
205
+ return [2 /*return*/];
206
+ }
207
+ viewHeight = Number(heightResult.stringResult);
208
+ if (!Number.isFinite(viewHeight) || viewHeight <= 0)
209
+ return [2 /*return*/];
210
+ aspect = context.view.width / Math.max(context.view.height, 1);
211
+ halfHeight = viewHeight / 2;
212
+ halfWidth = (viewHeight * aspect) / 2;
213
+ box = new AcGeBox2d()
214
+ .expandByPoint({
215
+ x: centerResult.value.x - halfWidth,
216
+ y: centerResult.value.y - halfHeight
217
+ })
218
+ .expandByPoint({
219
+ x: centerResult.value.x + halfWidth,
220
+ y: centerResult.value.y + halfHeight
221
+ });
222
+ this.rememberViewBeforeZoom(context);
223
+ context.view.zoomTo(box, 1);
224
+ return [2 /*return*/];
225
+ }
226
+ });
227
+ });
228
+ };
229
+ /**
230
+ * Parses scale factor text from AutoCAD-like inputs:
231
+ * - `2` / `2x` / `2xp`
232
+ *
233
+ * @param raw - Raw user input.
234
+ * @returns Positive scale factor, or `undefined` when invalid.
235
+ */
236
+ AcApZoomCmd.prototype.parseScaleFactor = function (raw) {
237
+ var text = raw.trim().toLowerCase();
238
+ if (!text)
239
+ return undefined;
240
+ if (text.endsWith('xp')) {
241
+ var value_1 = Number(text.slice(0, -2));
242
+ return Number.isFinite(value_1) && value_1 > 0 ? value_1 : undefined;
243
+ }
244
+ if (text.endsWith('x')) {
245
+ var value_2 = Number(text.slice(0, -1));
246
+ return Number.isFinite(value_2) && value_2 > 0 ? value_2 : undefined;
247
+ }
248
+ var value = Number(text);
249
+ return Number.isFinite(value) && value > 0 ? value : undefined;
250
+ };
251
+ /**
252
+ * Applies relative zoom around the specified center (or current view center).
253
+ *
254
+ * @param context - Current command context.
255
+ * @param factor - Relative zoom factor (> 0).
256
+ * @param centerPoint - Optional explicit zoom center in WCS.
257
+ */
258
+ AcApZoomCmd.prototype.applyRelativeScale = function (context, factor, centerPoint) {
259
+ var current = this.captureCurrentViewBox(context);
260
+ var width = Math.max(current.max.x - current.min.x, 1e-9);
261
+ var height = Math.max(current.max.y - current.min.y, 1e-9);
262
+ var halfWidth = width / (2 * factor);
263
+ var halfHeight = height / (2 * factor);
264
+ var center = centerPoint !== null && centerPoint !== void 0 ? centerPoint : {
265
+ x: (current.min.x + current.max.x) / 2,
266
+ y: (current.min.y + current.max.y) / 2
267
+ };
268
+ var target = new AcGeBox2d()
269
+ .expandByPoint({ x: center.x - halfWidth, y: center.y - halfHeight })
270
+ .expandByPoint({ x: center.x + halfWidth, y: center.y + halfHeight });
271
+ this.rememberViewBeforeZoom(context);
272
+ context.view.zoomTo(target, 1);
273
+ };
274
+ /**
275
+ * Restores previous view box if one exists and swaps buffers to allow toggling.
276
+ *
277
+ * @param context - Current command context.
278
+ */
279
+ AcApZoomCmd.prototype.runPrevious = function (context) {
280
+ if (!AcApZoomCmd.previousViewBox)
281
+ return;
282
+ var current = this.captureCurrentViewBox(context);
283
+ context.view.zoomTo(AcApZoomCmd.previousViewBox, 1);
284
+ AcApZoomCmd.previousViewBox = current;
285
+ };
286
+ /**
287
+ * Runs zoom interaction with keyword-capable branching.
288
+ *
289
+ * @param context - Current command context.
290
+ */
291
+ AcApZoomCmd.prototype.execute = function (context) {
292
+ return __awaiter(this, void 0, void 0, function () {
293
+ var firstPrompt, firstResult, keyword, scalePrompt, scaleResult, factor;
294
+ var _a;
295
+ return __generator(this, function (_b) {
296
+ switch (_b.label) {
297
+ case 0:
298
+ firstPrompt = new AcEdPromptPointOptions(AcApI18n.t('jig.zoom.mainPrompt'));
299
+ firstPrompt.allowNone = true;
300
+ firstPrompt.keywords.add(AcApI18n.t('jig.zoom.keywords.all.display'), AcApI18n.t('jig.zoom.keywords.all.global'), AcApI18n.t('jig.zoom.keywords.all.local'));
301
+ firstPrompt.keywords.add(AcApI18n.t('jig.zoom.keywords.center.display'), AcApI18n.t('jig.zoom.keywords.center.global'), AcApI18n.t('jig.zoom.keywords.center.local'));
302
+ firstPrompt.keywords.add(AcApI18n.t('jig.zoom.keywords.extents.display'), AcApI18n.t('jig.zoom.keywords.extents.global'), AcApI18n.t('jig.zoom.keywords.extents.local'));
303
+ firstPrompt.keywords.add(AcApI18n.t('jig.zoom.keywords.previous.display'), AcApI18n.t('jig.zoom.keywords.previous.global'), AcApI18n.t('jig.zoom.keywords.previous.local'));
304
+ firstPrompt.keywords.add(AcApI18n.t('jig.zoom.keywords.scale.display'), AcApI18n.t('jig.zoom.keywords.scale.global'), AcApI18n.t('jig.zoom.keywords.scale.local'));
305
+ firstPrompt.keywords.add(AcApI18n.t('jig.zoom.keywords.window.display'), AcApI18n.t('jig.zoom.keywords.window.global'), AcApI18n.t('jig.zoom.keywords.window.local'));
306
+ return [4 /*yield*/, AcApDocManager.instance.editor.getPoint(firstPrompt)];
307
+ case 1:
308
+ firstResult = _b.sent();
309
+ if (firstResult.status === AcEdPromptStatus.None) {
310
+ this.zoomToExtents(context);
311
+ return [2 /*return*/];
312
+ }
313
+ if (!(firstResult.status === AcEdPromptStatus.OK && firstResult.value)) return [3 /*break*/, 3];
314
+ return [4 /*yield*/, this.promptAndZoomWindowFromFirstCorner(context, firstResult.value)];
315
+ case 2:
316
+ _b.sent();
317
+ return [2 /*return*/];
318
+ case 3:
319
+ if (firstResult.status !== AcEdPromptStatus.Keyword)
320
+ return [2 /*return*/];
321
+ keyword = (_a = firstResult.stringResult) !== null && _a !== void 0 ? _a : '';
322
+ if (keyword === 'All' || keyword === 'Extents') {
323
+ this.zoomToExtents(context);
324
+ return [2 /*return*/];
325
+ }
326
+ if (!(keyword === 'Window')) return [3 /*break*/, 5];
327
+ return [4 /*yield*/, this.promptAndZoomWindowByBox(context)];
328
+ case 4:
329
+ _b.sent();
330
+ return [2 /*return*/];
331
+ case 5:
332
+ if (!(keyword === 'Center')) return [3 /*break*/, 7];
333
+ return [4 /*yield*/, this.runCenter(context)];
334
+ case 6:
335
+ _b.sent();
336
+ return [2 /*return*/];
337
+ case 7:
338
+ if (!(keyword === 'Scale')) return [3 /*break*/, 9];
339
+ scalePrompt = new AcEdPromptStringOptions(AcApI18n.t('jig.zoom.scaleFactor'));
340
+ return [4 /*yield*/, AcApDocManager.instance.editor.getString(scalePrompt)];
341
+ case 8:
342
+ scaleResult = _b.sent();
343
+ if (scaleResult.status !== AcEdPromptStatus.OK ||
344
+ !scaleResult.stringResult)
345
+ return [2 /*return*/];
346
+ factor = this.parseScaleFactor(scaleResult.stringResult);
347
+ if (factor == null)
348
+ return [2 /*return*/];
349
+ this.applyRelativeScale(context, factor);
350
+ return [2 /*return*/];
351
+ case 9:
352
+ if (keyword === 'Previous') {
353
+ this.runPrevious(context);
354
+ }
355
+ return [2 /*return*/];
356
+ }
92
357
  });
93
358
  });
94
359
  };
@@ -1 +1 @@
1
- {"version":3,"file":"AcApZoomCmd.js","sourceRoot":"","sources":["../../src/command/AcApZoomCmd.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAExC;;;;;;;;;;;;;;;;;;;;GAoBG;AACH;IAAiC,+BAAW;IAA5C;;IAYA,CAAC;IAXC;;;;;;;OAOG;IACG,6BAAO,GAAb,UAAc,OAAoB;;;gBAChC,OAAO,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAA;;;;KAChC;IACH,kBAAC;AAAD,CAAC,AAZD,CAAiC,WAAW,GAY3C"}
1
+ {"version":3,"file":"AcApZoomCmd.js","sourceRoot":"","sources":["../../src/command/AcApZoomCmd.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import { AcApContext } from '../app';
2
- import { AcEdCommand } from '../command';
1
+ import { AcApContext } from '../../app';
2
+ import { AcEdCommand } from '../../editor';
3
3
  /**
4
4
  * Command for exporting the current CAD drawing to DXF format.
5
5
  */
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AcApConvertToDxfCmd.d.ts","sourceRoot":"","sources":["../../../src/command/convert/AcApConvertToDxfCmd.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AACvC,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAG1C;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,WAAW;IAC5C,OAAO,CAAC,QAAQ,EAAE,WAAW;CAIpC"}
@@ -49,7 +49,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
49
49
  if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
50
50
  }
51
51
  };
52
- import { AcEdCommand } from '../command';
52
+ import { AcEdCommand } from '../../editor';
53
53
  import { AcApDxfConvertor } from './AcApDxfConvertor';
54
54
  /**
55
55
  * Command for exporting the current CAD drawing to DXF format.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AcApConvertToDxfCmd.js","sourceRoot":"","sources":["../../../src/command/convert/AcApConvertToDxfCmd.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAErD;;GAEG;AACH;IAAyC,uCAAW;IAApD;;IAKA,CAAC;IAJO,qCAAO,GAAb,UAAc,QAAqB;;;;gBAC3B,SAAS,GAAG,IAAI,gBAAgB,EAAE,CAAA;gBACxC,SAAS,CAAC,OAAO,EAAE,CAAA;;;;KACpB;IACH,0BAAC;AAAD,CAAC,AALD,CAAyC,WAAW,GAKnD"}
@@ -0,0 +1,53 @@
1
+ import { AcApContext } from '../../app';
2
+ import { AcEdCommand } from '../../editor';
3
+ /**
4
+ * Command for exporting the current CAD drawing to PNG format.
5
+ *
6
+ * This command creates a PNG converter and initiates the conversion
7
+ * process to export the current drawing as a PNG file. The command:
8
+ * - Creates a new PNG converter instance
9
+ * - Prompts for an export bounding box
10
+ * - Prompts for optional long side pixel value (or press Enter for default)
11
+ * - Converts the current view to PNG format
12
+ * - Automatically downloads the PNG file
13
+ *
14
+ * This is useful for exporting drawings to a raster image format
15
+ * that can be displayed in browsers or used in other applications.
16
+ *
17
+ * @example
18
+ * ```typescript
19
+ * const convertCmd = new AcApConvertToPngCmd();
20
+ * convertCmd.execute(context); // User prompted for bounds and longside
21
+ * ```
22
+ */
23
+ export declare class AcApConvertToPngCmd extends AcEdCommand {
24
+ /**
25
+ * Executes the PNG conversion command.
26
+ *
27
+ * Prompts the user for:
28
+ * 1. Export bounding box
29
+ * 2. Optional long side pixel value (press Enter for default 1024)
30
+ *
31
+ * @param _context - The application context (unused in this command)
32
+ */
33
+ execute(_context: AcApContext): Promise<void>;
34
+ /**
35
+ * Returns the current drawing extents projected to XY bounds.
36
+ */
37
+ private getCurrentDrawingBounds;
38
+ /**
39
+ * Expands user-picked bounds to include extents of intersected entities.
40
+ *
41
+ * This avoids cutting entities when the pick box touches their geometry
42
+ * edges (for example anti-aliased line caps or text glyph overhangs).
43
+ */
44
+ private expandBoundsToEntityExtents;
45
+ /**
46
+ * Keeps active layout-view size in sync with current view size.
47
+ *
48
+ * This guards against stale screen-to-world mapping after container layout
49
+ * changes that do not fire a window resize event.
50
+ */
51
+ private syncActiveLayoutViewSize;
52
+ }
53
+ //# sourceMappingURL=AcApConvertToPngCmd.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AcApConvertToPngCmd.d.ts","sourceRoot":"","sources":["../../../src/command/convert/AcApConvertToPngCmd.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAkB,MAAM,WAAW,CAAA;AACvD,OAAO,EACL,WAAW,EAIZ,MAAM,cAAc,CAAA;AAOrB;;;;;;;;;;;;;;;;;;;GAmBG;AACH,qBAAa,mBAAoB,SAAQ,WAAW;IAClD;;;;;;;;OAQG;IACG,OAAO,CAAC,QAAQ,EAAE,WAAW;IAwDnC;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAS/B;;;;;OAKG;IACH,OAAO,CAAC,2BAA2B;IAmDnC;;;;;OAKG;IACH,OAAO,CAAC,wBAAwB;CAQjC"}
@@ -0,0 +1,200 @@
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 __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
17
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
18
+ return new (P || (P = Promise))(function (resolve, reject) {
19
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
20
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
21
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
22
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
23
+ });
24
+ };
25
+ var __generator = (this && this.__generator) || function (thisArg, body) {
26
+ 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);
27
+ return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
28
+ function verb(n) { return function (v) { return step([n, v]); }; }
29
+ function step(op) {
30
+ if (f) throw new TypeError("Generator is already executing.");
31
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
32
+ 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;
33
+ if (y = 0, t) op = [op[0] & 2, t.value];
34
+ switch (op[0]) {
35
+ case 0: case 1: t = op; break;
36
+ case 4: _.label++; return { value: op[1], done: false };
37
+ case 5: _.label++; y = op[1]; op = [0]; continue;
38
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
39
+ default:
40
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
41
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
42
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
43
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
44
+ if (t[2]) _.ops.pop();
45
+ _.trys.pop(); continue;
46
+ }
47
+ op = body.call(thisArg, _);
48
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
49
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
50
+ }
51
+ };
52
+ import { AcGeBox2d, AcGePoint2d } from '@mlightcad/data-model';
53
+ import { AcApDocManager } from '../../app';
54
+ import { AcEdCommand, AcEdPromptBoxOptions, AcEdPromptDoubleOptions, AcEdPromptStatus } from '../../editor';
55
+ import { AcApI18n } from '../../i18n';
56
+ import { AcApPngConvertor } from './AcApPngConvertor';
57
+ var DEFAULT_LONG_SIDE_PX = 1024;
58
+ /**
59
+ * Command for exporting the current CAD drawing to PNG format.
60
+ *
61
+ * This command creates a PNG converter and initiates the conversion
62
+ * process to export the current drawing as a PNG file. The command:
63
+ * - Creates a new PNG converter instance
64
+ * - Prompts for an export bounding box
65
+ * - Prompts for optional long side pixel value (or press Enter for default)
66
+ * - Converts the current view to PNG format
67
+ * - Automatically downloads the PNG file
68
+ *
69
+ * This is useful for exporting drawings to a raster image format
70
+ * that can be displayed in browsers or used in other applications.
71
+ *
72
+ * @example
73
+ * ```typescript
74
+ * const convertCmd = new AcApConvertToPngCmd();
75
+ * convertCmd.execute(context); // User prompted for bounds and longside
76
+ * ```
77
+ */
78
+ var AcApConvertToPngCmd = /** @class */ (function (_super) {
79
+ __extends(AcApConvertToPngCmd, _super);
80
+ function AcApConvertToPngCmd() {
81
+ return _super !== null && _super.apply(this, arguments) || this;
82
+ }
83
+ /**
84
+ * Executes the PNG conversion command.
85
+ *
86
+ * Prompts the user for:
87
+ * 1. Export bounding box
88
+ * 2. Optional long side pixel value (press Enter for default 1024)
89
+ *
90
+ * @param _context - The application context (unused in this command)
91
+ */
92
+ AcApConvertToPngCmd.prototype.execute = function (_context) {
93
+ return __awaiter(this, void 0, void 0, function () {
94
+ var converter, view, boxOptions, boxResult, bounds, expandedBounds, longSidePrompt, longSideResult, longSide;
95
+ return __generator(this, function (_a) {
96
+ switch (_a.label) {
97
+ case 0:
98
+ converter = new AcApPngConvertor();
99
+ view = AcApDocManager.instance.curView;
100
+ this.syncActiveLayoutViewSize(view);
101
+ boxOptions = new AcEdPromptBoxOptions(AcApI18n.t('jig.pngout.boundsFirstCorner'), AcApI18n.t('jig.pngout.boundsSecondCorner'));
102
+ // Export window corners should follow exact click positions.
103
+ boxOptions.disableOSnap = true;
104
+ return [4 /*yield*/, AcApDocManager.instance.editor.getBox(boxOptions)];
105
+ case 1:
106
+ boxResult = _a.sent();
107
+ if (boxResult.status === AcEdPromptStatus.OK && boxResult.value) {
108
+ expandedBounds = this.expandBoundsToEntityExtents(boxResult.value, view);
109
+ bounds = expandedBounds.bounds;
110
+ }
111
+ else if (boxResult.status === AcEdPromptStatus.None) {
112
+ bounds = this.getCurrentDrawingBounds();
113
+ }
114
+ else {
115
+ // User canceled or prompt failed: abort command gracefully.
116
+ return [2 /*return*/];
117
+ }
118
+ longSidePrompt = new AcEdPromptDoubleOptions("".concat(AcApI18n.t('jig.pngout.longSidePrompt'), " <").concat(DEFAULT_LONG_SIDE_PX, ">"));
119
+ longSidePrompt.allowNone = true;
120
+ longSidePrompt.allowNegative = false;
121
+ longSidePrompt.allowZero = false;
122
+ longSidePrompt.defaultValue = DEFAULT_LONG_SIDE_PX;
123
+ longSidePrompt.useDefaultValue = true;
124
+ return [4 /*yield*/, AcApDocManager.instance.editor.getDouble(longSidePrompt)];
125
+ case 2:
126
+ longSideResult = _a.sent();
127
+ if (longSideResult.status === AcEdPromptStatus.Cancel ||
128
+ longSideResult.status === AcEdPromptStatus.Error) {
129
+ return [2 /*return*/];
130
+ }
131
+ longSide = longSideResult.status === AcEdPromptStatus.OK &&
132
+ longSideResult.value !== undefined
133
+ ? longSideResult.value
134
+ : DEFAULT_LONG_SIDE_PX;
135
+ converter.convert(bounds, longSide);
136
+ return [2 /*return*/];
137
+ }
138
+ });
139
+ });
140
+ };
141
+ /**
142
+ * Returns the current drawing extents projected to XY bounds.
143
+ */
144
+ AcApConvertToPngCmd.prototype.getCurrentDrawingBounds = function () {
145
+ var db = AcApDocManager.instance.curDocument.database;
146
+ var ext = db.extents;
147
+ return new AcGeBox2d(new AcGePoint2d(ext.min.x, ext.min.y), new AcGePoint2d(ext.max.x, ext.max.y));
148
+ };
149
+ /**
150
+ * Expands user-picked bounds to include extents of intersected entities.
151
+ *
152
+ * This avoids cutting entities when the pick box touches their geometry
153
+ * edges (for example anti-aliased line caps or text glyph overhangs).
154
+ */
155
+ AcApConvertToPngCmd.prototype.expandBoundsToEntityExtents = function (userBounds, view) {
156
+ var hits = view.search(userBounds);
157
+ var entityBounds = new AcGeBox2d();
158
+ var hasEntityBounds = false;
159
+ var expandByItem = function (item) {
160
+ var _a;
161
+ entityBounds.expandByPoint(new AcGePoint2d(item.minX, item.minY));
162
+ entityBounds.expandByPoint(new AcGePoint2d(item.maxX, item.maxY));
163
+ hasEntityBounds = true;
164
+ (_a = item.children) === null || _a === void 0 ? void 0 : _a.forEach(function (child) {
165
+ entityBounds.expandByPoint(new AcGePoint2d(child.minX, child.minY));
166
+ entityBounds.expandByPoint(new AcGePoint2d(child.maxX, child.maxY));
167
+ });
168
+ };
169
+ hits.forEach(function (hit) { return expandByItem(hit); });
170
+ if (!hasEntityBounds || entityBounds.isEmpty()) {
171
+ return { bounds: userBounds, expanded: false };
172
+ }
173
+ var merged = new AcGeBox2d()
174
+ .expandByPoint(userBounds.min)
175
+ .expandByPoint(userBounds.max)
176
+ .expandByPoint(entityBounds.min)
177
+ .expandByPoint(entityBounds.max);
178
+ var expanded = merged.min.x !== userBounds.min.x ||
179
+ merged.min.y !== userBounds.min.y ||
180
+ merged.max.x !== userBounds.max.x ||
181
+ merged.max.y !== userBounds.max.y;
182
+ return { bounds: merged, expanded: expanded };
183
+ };
184
+ /**
185
+ * Keeps active layout-view size in sync with current view size.
186
+ *
187
+ * This guards against stale screen-to-world mapping after container layout
188
+ * changes that do not fire a window resize event.
189
+ */
190
+ AcApConvertToPngCmd.prototype.syncActiveLayoutViewSize = function (view) {
191
+ var layoutView = view.activeLayoutView;
192
+ if (!layoutView) {
193
+ return;
194
+ }
195
+ layoutView.resize(view.width, view.height);
196
+ };
197
+ return AcApConvertToPngCmd;
198
+ }(AcEdCommand));
199
+ export { AcApConvertToPngCmd };
200
+ //# sourceMappingURL=AcApConvertToPngCmd.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AcApConvertToPngCmd.js","sourceRoot":"","sources":["../../../src/command/convert/AcApConvertToPngCmd.ts"],"names":[],"mappings":"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"}