@mlightcad/cad-simple-viewer 1.5.5 → 1.5.7

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 (462) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +69 -1
  3. package/dist/{index.js → cad-simple-viewer.js} +34247 -29923
  4. package/dist/cad-simple-viewer.umd.cjs +913 -0
  5. package/dist/dxf-parser-worker.js +2091 -0
  6. package/dist/libredwg-parser-worker.js +5388 -5122
  7. package/dist/mtext-renderer-worker.js +3061 -2858
  8. package/lib/app/AcApContext.d.ts.map +1 -1
  9. package/lib/app/AcApContext.js +15 -2
  10. package/lib/app/AcApContext.js.map +1 -1
  11. package/lib/app/AcApDocManager.d.ts +63 -0
  12. package/lib/app/AcApDocManager.d.ts.map +1 -1
  13. package/lib/app/AcApDocManager.js +195 -23
  14. package/lib/app/AcApDocManager.js.map +1 -1
  15. package/lib/app/AcApDocument.d.ts +81 -0
  16. package/lib/app/AcApDocument.d.ts.map +1 -1
  17. package/lib/app/AcApDocument.js +154 -0
  18. package/lib/app/AcApDocument.js.map +1 -1
  19. package/lib/app/AcApLayerSessionState.d.ts +15 -0
  20. package/lib/app/AcApLayerSessionState.d.ts.map +1 -0
  21. package/lib/app/AcApLayerSessionState.js +2 -0
  22. package/lib/app/AcApLayerSessionState.js.map +1 -0
  23. package/lib/app/AcApOpenFileDialog.d.ts +35 -0
  24. package/lib/app/AcApOpenFileDialog.d.ts.map +1 -0
  25. package/lib/app/AcApOpenFileDialog.js +192 -0
  26. package/lib/app/AcApOpenFileDialog.js.map +1 -0
  27. package/lib/app/AcApWebworkerReadiness.d.ts +18 -0
  28. package/lib/app/AcApWebworkerReadiness.d.ts.map +1 -0
  29. package/lib/app/AcApWebworkerReadiness.js +126 -0
  30. package/lib/app/AcApWebworkerReadiness.js.map +1 -0
  31. package/lib/app/AcDbOpenDatabaseOptions.d.ts +29 -0
  32. package/lib/app/AcDbOpenDatabaseOptions.d.ts.map +1 -1
  33. package/lib/app/AcDbOpenDatabaseOptions.js +10 -1
  34. package/lib/app/AcDbOpenDatabaseOptions.js.map +1 -1
  35. package/lib/app/index.d.ts +4 -0
  36. package/lib/app/index.d.ts.map +1 -1
  37. package/lib/app/index.js +3 -0
  38. package/lib/app/index.js.map +1 -1
  39. package/lib/command/AcApCacheFontCmd.d.ts +25 -0
  40. package/lib/command/AcApCacheFontCmd.d.ts.map +1 -0
  41. package/lib/command/AcApCacheFontCmd.js +142 -0
  42. package/lib/command/AcApCacheFontCmd.js.map +1 -0
  43. package/lib/command/AcApOpenCmd.d.ts +3 -22
  44. package/lib/command/AcApOpenCmd.d.ts.map +1 -1
  45. package/lib/command/AcApOpenCmd.js +3 -22
  46. package/lib/command/AcApOpenCmd.js.map +1 -1
  47. package/lib/command/AcApRedoCmd.d.ts +10 -0
  48. package/lib/command/AcApRedoCmd.d.ts.map +1 -0
  49. package/lib/command/AcApRedoCmd.js +85 -0
  50. package/lib/command/AcApRedoCmd.js.map +1 -0
  51. package/lib/command/AcApSysVarCmd.d.ts.map +1 -1
  52. package/lib/command/AcApSysVarCmd.js +5 -11
  53. package/lib/command/AcApSysVarCmd.js.map +1 -1
  54. package/lib/command/AcApUndoCmd.d.ts +10 -0
  55. package/lib/command/AcApUndoCmd.d.ts.map +1 -0
  56. package/lib/command/AcApUndoCmd.js +85 -0
  57. package/lib/command/AcApUndoCmd.js.map +1 -0
  58. package/lib/command/convert/AcApPngConvertor.d.ts +1 -1
  59. package/lib/command/convert/AcApPngConvertor.d.ts.map +1 -1
  60. package/lib/command/convert/AcApPngConvertor.js +5 -2
  61. package/lib/command/convert/AcApPngConvertor.js.map +1 -1
  62. package/lib/command/draw/AcApArcCmd.d.ts.map +1 -1
  63. package/lib/command/draw/AcApArcCmd.js +2 -5
  64. package/lib/command/draw/AcApArcCmd.js.map +1 -1
  65. package/lib/command/draw/AcApEllipseCmd.d.ts.map +1 -1
  66. package/lib/command/draw/AcApEllipseCmd.js +14 -9
  67. package/lib/command/draw/AcApEllipseCmd.js.map +1 -1
  68. package/lib/command/draw/AcApHatchCmd.d.ts +1 -1
  69. package/lib/command/draw/AcApLineCmd.d.ts.map +1 -1
  70. package/lib/command/draw/AcApLineCmd.js +8 -2
  71. package/lib/command/draw/AcApLineCmd.js.map +1 -1
  72. package/lib/command/draw/AcApMLineCmd.d.ts.map +1 -1
  73. package/lib/command/draw/AcApMLineCmd.js +4 -2
  74. package/lib/command/draw/AcApMLineCmd.js.map +1 -1
  75. package/lib/command/draw/AcApPolygonCmd.d.ts.map +1 -1
  76. package/lib/command/draw/AcApPolygonCmd.js +2 -5
  77. package/lib/command/draw/AcApPolygonCmd.js.map +1 -1
  78. package/lib/command/draw/AcApPolylineCmd.d.ts.map +1 -1
  79. package/lib/command/draw/AcApPolylineCmd.js +3 -0
  80. package/lib/command/draw/AcApPolylineCmd.js.map +1 -1
  81. package/lib/command/draw/AcApRectCmd.d.ts +6 -0
  82. package/lib/command/draw/AcApRectCmd.d.ts.map +1 -1
  83. package/lib/command/draw/AcApRectCmd.js +12 -10
  84. package/lib/command/draw/AcApRectCmd.js.map +1 -1
  85. package/lib/command/draw/AcApSplineCmd.d.ts.map +1 -1
  86. package/lib/command/draw/AcApSplineCmd.js +2 -0
  87. package/lib/command/draw/AcApSplineCmd.js.map +1 -1
  88. package/lib/command/draw/AcApXLineCmd.d.ts.map +1 -1
  89. package/lib/command/draw/AcApXLineCmd.js +1 -1
  90. package/lib/command/draw/AcApXLineCmd.js.map +1 -1
  91. package/lib/command/index.d.ts +3 -0
  92. package/lib/command/index.d.ts.map +1 -1
  93. package/lib/command/index.js +3 -0
  94. package/lib/command/index.js.map +1 -1
  95. package/lib/command/layer/AcApLayerCmd.d.ts +3 -194
  96. package/lib/command/layer/AcApLayerCmd.d.ts.map +1 -1
  97. package/lib/command/layer/AcApLayerCmd.js +64 -398
  98. package/lib/command/layer/AcApLayerCmd.js.map +1 -1
  99. package/lib/command/layer/AcApLayerCurCmd.d.ts +2 -34
  100. package/lib/command/layer/AcApLayerCurCmd.d.ts.map +1 -1
  101. package/lib/command/layer/AcApLayerCurCmd.js +18 -77
  102. package/lib/command/layer/AcApLayerCurCmd.js.map +1 -1
  103. package/lib/command/layer/AcApLayerDelCmd.d.ts +2 -32
  104. package/lib/command/layer/AcApLayerDelCmd.d.ts.map +1 -1
  105. package/lib/command/layer/AcApLayerDelCmd.js +26 -169
  106. package/lib/command/layer/AcApLayerDelCmd.js.map +1 -1
  107. package/lib/command/layer/AcApLayerFreezeCmd.d.ts +2 -16
  108. package/lib/command/layer/AcApLayerFreezeCmd.d.ts.map +1 -1
  109. package/lib/command/layer/AcApLayerFreezeCmd.js +32 -54
  110. package/lib/command/layer/AcApLayerFreezeCmd.js.map +1 -1
  111. package/lib/command/layer/AcApLayerIsoCmd.d.ts +2 -31
  112. package/lib/command/layer/AcApLayerIsoCmd.d.ts.map +1 -1
  113. package/lib/command/layer/AcApLayerIsoCmd.js +19 -198
  114. package/lib/command/layer/AcApLayerIsoCmd.js.map +1 -1
  115. package/lib/command/layer/AcApLayerLockCmd.d.ts +2 -40
  116. package/lib/command/layer/AcApLayerLockCmd.d.ts.map +1 -1
  117. package/lib/command/layer/AcApLayerLockCmd.js +18 -65
  118. package/lib/command/layer/AcApLayerLockCmd.js.map +1 -1
  119. package/lib/command/layer/AcApLayerMutationCmd.d.ts +13 -0
  120. package/lib/command/layer/AcApLayerMutationCmd.d.ts.map +1 -0
  121. package/lib/command/layer/AcApLayerMutationCmd.js +42 -0
  122. package/lib/command/layer/AcApLayerMutationCmd.js.map +1 -0
  123. package/lib/command/layer/AcApLayerOffCmd.d.ts +2 -9
  124. package/lib/command/layer/AcApLayerOffCmd.d.ts.map +1 -1
  125. package/lib/command/layer/AcApLayerOffCmd.js +32 -43
  126. package/lib/command/layer/AcApLayerOffCmd.js.map +1 -1
  127. package/lib/command/layer/AcApLayerOnCmd.d.ts +2 -22
  128. package/lib/command/layer/AcApLayerOnCmd.d.ts.map +1 -1
  129. package/lib/command/layer/AcApLayerOnCmd.js +8 -62
  130. package/lib/command/layer/AcApLayerOnCmd.js.map +1 -1
  131. package/lib/command/layer/AcApLayerPCmd.d.ts +2 -75
  132. package/lib/command/layer/AcApLayerPCmd.d.ts.map +1 -1
  133. package/lib/command/layer/AcApLayerPCmd.js +6 -165
  134. package/lib/command/layer/AcApLayerPCmd.js.map +1 -1
  135. package/lib/command/layer/AcApLayerThawCmd.d.ts +2 -29
  136. package/lib/command/layer/AcApLayerThawCmd.d.ts.map +1 -1
  137. package/lib/command/layer/AcApLayerThawCmd.js +8 -74
  138. package/lib/command/layer/AcApLayerThawCmd.js.map +1 -1
  139. package/lib/command/layer/AcApLayerUnisoCmd.d.ts +2 -44
  140. package/lib/command/layer/AcApLayerUnisoCmd.d.ts.map +1 -1
  141. package/lib/command/layer/AcApLayerUnisoCmd.js +10 -122
  142. package/lib/command/layer/AcApLayerUnisoCmd.js.map +1 -1
  143. package/lib/command/layer/AcApLayerUnlockCmd.d.ts +2 -40
  144. package/lib/command/layer/AcApLayerUnlockCmd.d.ts.map +1 -1
  145. package/lib/command/layer/AcApLayerUnlockCmd.js +18 -65
  146. package/lib/command/layer/AcApLayerUnlockCmd.js.map +1 -1
  147. package/lib/command/modify/AcApCopyCmd.d.ts +12 -0
  148. package/lib/command/modify/AcApCopyCmd.d.ts.map +1 -1
  149. package/lib/command/modify/AcApCopyCmd.js +67 -177
  150. package/lib/command/modify/AcApCopyCmd.js.map +1 -1
  151. package/lib/command/modify/AcApCopyPreviewJig.d.ts +21 -0
  152. package/lib/command/modify/AcApCopyPreviewJig.d.ts.map +1 -0
  153. package/lib/command/modify/AcApCopyPreviewJig.js +61 -0
  154. package/lib/command/modify/AcApCopyPreviewJig.js.map +1 -0
  155. package/lib/command/modify/AcApEraseCmd.d.ts +0 -6
  156. package/lib/command/modify/AcApEraseCmd.d.ts.map +1 -1
  157. package/lib/command/modify/AcApEraseCmd.js +11 -38
  158. package/lib/command/modify/AcApEraseCmd.js.map +1 -1
  159. package/lib/command/modify/AcApHideObjectsCmd.d.ts +0 -7
  160. package/lib/command/modify/AcApHideObjectsCmd.d.ts.map +1 -1
  161. package/lib/command/modify/AcApHideObjectsCmd.js +1 -8
  162. package/lib/command/modify/AcApHideObjectsCmd.js.map +1 -1
  163. package/lib/command/modify/AcApMoveCmd.d.ts +0 -6
  164. package/lib/command/modify/AcApMoveCmd.d.ts.map +1 -1
  165. package/lib/command/modify/AcApMoveCmd.js +26 -105
  166. package/lib/command/modify/AcApMoveCmd.js.map +1 -1
  167. package/lib/command/modify/AcApMovePreviewJig.d.ts +18 -0
  168. package/lib/command/modify/AcApMovePreviewJig.d.ts.map +1 -0
  169. package/lib/command/modify/AcApMovePreviewJig.js +45 -0
  170. package/lib/command/modify/AcApMovePreviewJig.js.map +1 -0
  171. package/lib/command/modify/AcApOffsetCmd.d.ts.map +1 -1
  172. package/lib/command/modify/AcApOffsetCmd.js +14 -37
  173. package/lib/command/modify/AcApOffsetCmd.js.map +1 -1
  174. package/lib/command/modify/AcApRotateCmd.d.ts +2 -2
  175. package/lib/command/modify/AcApRotateCmd.d.ts.map +1 -1
  176. package/lib/command/modify/AcApRotateCmd.js +38 -204
  177. package/lib/command/modify/AcApRotateCmd.js.map +1 -1
  178. package/lib/command/modify/AcApRotatePreviewJig.d.ts +47 -0
  179. package/lib/command/modify/AcApRotatePreviewJig.d.ts.map +1 -0
  180. package/lib/command/modify/AcApRotatePreviewJig.js +97 -0
  181. package/lib/command/modify/AcApRotatePreviewJig.js.map +1 -0
  182. package/lib/command/modify/AcApUnisolateObjectsCmd.d.ts.map +1 -1
  183. package/lib/command/modify/AcApUnisolateObjectsCmd.js +3 -3
  184. package/lib/command/modify/AcApUnisolateObjectsCmd.js.map +1 -1
  185. package/lib/editor/command/AcEdCommand.d.ts +24 -0
  186. package/lib/editor/command/AcEdCommand.d.ts.map +1 -1
  187. package/lib/editor/command/AcEdCommand.js +71 -5
  188. package/lib/editor/command/AcEdCommand.js.map +1 -1
  189. package/lib/editor/global/AcEdUiColor.d.ts +13 -13
  190. package/lib/editor/global/AcEdUiColor.d.ts.map +1 -1
  191. package/lib/editor/global/AcEdUiColor.js +21 -20
  192. package/lib/editor/global/AcEdUiColor.js.map +1 -1
  193. package/lib/editor/global/eventBus.d.ts +16 -2
  194. package/lib/editor/global/eventBus.d.ts.map +1 -1
  195. package/lib/editor/global/eventBus.js.map +1 -1
  196. package/lib/editor/grip/AcEdGripAppearance.d.ts +18 -0
  197. package/lib/editor/grip/AcEdGripAppearance.d.ts.map +1 -0
  198. package/lib/editor/grip/AcEdGripAppearance.js +30 -0
  199. package/lib/editor/grip/AcEdGripAppearance.js.map +1 -0
  200. package/lib/editor/grip/AcEdGripEditSession.d.ts +29 -0
  201. package/lib/editor/grip/AcEdGripEditSession.d.ts.map +1 -0
  202. package/lib/editor/grip/AcEdGripEditSession.js +83 -0
  203. package/lib/editor/grip/AcEdGripEditSession.js.map +1 -0
  204. package/lib/editor/grip/AcEdGripHandle.d.ts +21 -0
  205. package/lib/editor/grip/AcEdGripHandle.d.ts.map +1 -0
  206. package/lib/editor/grip/AcEdGripHandle.js +62 -0
  207. package/lib/editor/grip/AcEdGripHandle.js.map +1 -0
  208. package/lib/editor/grip/AcEdGripManager.d.ts +171 -0
  209. package/lib/editor/grip/AcEdGripManager.d.ts.map +1 -0
  210. package/lib/editor/grip/AcEdGripManager.js +376 -0
  211. package/lib/editor/grip/AcEdGripManager.js.map +1 -0
  212. package/lib/editor/grip/AcEdGripPolicy.d.ts +6 -0
  213. package/lib/editor/grip/AcEdGripPolicy.d.ts.map +1 -0
  214. package/lib/editor/grip/AcEdGripPolicy.js +30 -0
  215. package/lib/editor/grip/AcEdGripPolicy.js.map +1 -0
  216. package/lib/editor/grip/AcEdGripPreviewJig.d.ts +21 -0
  217. package/lib/editor/grip/AcEdGripPreviewJig.d.ts.map +1 -0
  218. package/lib/editor/grip/AcEdGripPreviewJig.js +73 -0
  219. package/lib/editor/grip/AcEdGripPreviewJig.js.map +1 -0
  220. package/lib/editor/grip/index.d.ts +5 -0
  221. package/lib/editor/grip/index.d.ts.map +1 -0
  222. package/lib/editor/grip/index.js +5 -0
  223. package/lib/editor/grip/index.js.map +1 -0
  224. package/lib/editor/index.d.ts +1 -0
  225. package/lib/editor/index.d.ts.map +1 -1
  226. package/lib/editor/index.js +1 -0
  227. package/lib/editor/index.js.map +1 -1
  228. package/lib/editor/input/AcEdBatchPreview.d.ts +96 -0
  229. package/lib/editor/input/AcEdBatchPreview.d.ts.map +1 -0
  230. package/lib/editor/input/AcEdBatchPreview.js +125 -0
  231. package/lib/editor/input/AcEdBatchPreview.js.map +1 -0
  232. package/lib/editor/input/AcEdCursorManager.d.ts.map +1 -1
  233. package/lib/editor/input/AcEdCursorManager.js +2 -2
  234. package/lib/editor/input/AcEdCursorManager.js.map +1 -1
  235. package/lib/editor/input/AcEdOsnapResolver.d.ts +34 -0
  236. package/lib/editor/input/AcEdOsnapResolver.d.ts.map +1 -0
  237. package/lib/editor/input/AcEdOsnapResolver.js +117 -0
  238. package/lib/editor/input/AcEdOsnapResolver.js.map +1 -0
  239. package/lib/editor/input/AcEdPreviewJig.d.ts +1 -1
  240. package/lib/editor/input/AcEdPreviewJig.d.ts.map +1 -1
  241. package/lib/editor/input/AcEdPreviewJig.js +14 -0
  242. package/lib/editor/input/AcEdPreviewJig.js.map +1 -1
  243. package/lib/editor/input/AcEdSelectionPreviewJig.d.ts +109 -0
  244. package/lib/editor/input/AcEdSelectionPreviewJig.d.ts.map +1 -0
  245. package/lib/editor/input/AcEdSelectionPreviewJig.js +185 -0
  246. package/lib/editor/input/AcEdSelectionPreviewJig.js.map +1 -0
  247. package/lib/editor/input/handler/AcEdAngleHandler.d.ts +2 -1
  248. package/lib/editor/input/handler/AcEdAngleHandler.d.ts.map +1 -1
  249. package/lib/editor/input/handler/AcEdAngleHandler.js +6 -0
  250. package/lib/editor/input/handler/AcEdAngleHandler.js.map +1 -1
  251. package/lib/editor/input/handler/AcEdInputHandler.d.ts +20 -1
  252. package/lib/editor/input/handler/AcEdInputHandler.d.ts.map +1 -1
  253. package/lib/editor/input/handler/AcEdKeywordHandler.d.ts +2 -1
  254. package/lib/editor/input/handler/AcEdKeywordHandler.d.ts.map +1 -1
  255. package/lib/editor/input/handler/AcEdKeywordHandler.js +3 -0
  256. package/lib/editor/input/handler/AcEdKeywordHandler.js.map +1 -1
  257. package/lib/editor/input/handler/AcEdNumericalHandler.d.ts +2 -1
  258. package/lib/editor/input/handler/AcEdNumericalHandler.d.ts.map +1 -1
  259. package/lib/editor/input/handler/AcEdNumericalHandler.js +6 -0
  260. package/lib/editor/input/handler/AcEdNumericalHandler.js.map +1 -1
  261. package/lib/editor/input/handler/AcEdPointHandler.d.ts +17 -1
  262. package/lib/editor/input/handler/AcEdPointHandler.d.ts.map +1 -1
  263. package/lib/editor/input/handler/AcEdPointHandler.js +89 -0
  264. package/lib/editor/input/handler/AcEdPointHandler.js.map +1 -1
  265. package/lib/editor/input/handler/AcEdStringHandler.d.ts +2 -1
  266. package/lib/editor/input/handler/AcEdStringHandler.d.ts.map +1 -1
  267. package/lib/editor/input/handler/AcEdStringHandler.js +3 -0
  268. package/lib/editor/input/handler/AcEdStringHandler.js.map +1 -1
  269. package/lib/editor/input/index.d.ts +3 -0
  270. package/lib/editor/input/index.d.ts.map +1 -1
  271. package/lib/editor/input/index.js +3 -0
  272. package/lib/editor/input/index.js.map +1 -1
  273. package/lib/editor/input/prompt/AcEdPromptAngleOptions.d.ts +7 -0
  274. package/lib/editor/input/prompt/AcEdPromptAngleOptions.d.ts.map +1 -1
  275. package/lib/editor/input/prompt/AcEdPromptAngleOptions.js +17 -0
  276. package/lib/editor/input/prompt/AcEdPromptAngleOptions.js.map +1 -1
  277. package/lib/editor/input/session/AcEdInputSession.d.ts +11 -1
  278. package/lib/editor/input/session/AcEdInputSession.d.ts.map +1 -1
  279. package/lib/editor/input/session/AcEdInputSession.js.map +1 -1
  280. package/lib/editor/input/session/AcEdPromptInputSession.d.ts +51 -0
  281. package/lib/editor/input/session/AcEdPromptInputSession.d.ts.map +1 -0
  282. package/lib/editor/input/session/AcEdPromptInputSession.js +109 -0
  283. package/lib/editor/input/session/AcEdPromptInputSession.js.map +1 -0
  284. package/lib/editor/input/session/index.d.ts +1 -0
  285. package/lib/editor/input/session/index.d.ts.map +1 -1
  286. package/lib/editor/input/session/index.js +1 -0
  287. package/lib/editor/input/session/index.js.map +1 -1
  288. package/lib/editor/input/ui/AcEdCommandLine.d.ts +10 -0
  289. package/lib/editor/input/ui/AcEdCommandLine.d.ts.map +1 -1
  290. package/lib/editor/input/ui/AcEdCommandLine.js +67 -35
  291. package/lib/editor/input/ui/AcEdCommandLine.js.map +1 -1
  292. package/lib/editor/input/ui/AcEdFloatingInput.d.ts +0 -11
  293. package/lib/editor/input/ui/AcEdFloatingInput.d.ts.map +1 -1
  294. package/lib/editor/input/ui/AcEdFloatingInput.js +9 -119
  295. package/lib/editor/input/ui/AcEdFloatingInput.js.map +1 -1
  296. package/lib/editor/input/ui/AcEdFloatingInputBox.d.ts.map +1 -1
  297. package/lib/editor/input/ui/AcEdFloatingInputBox.js +10 -2
  298. package/lib/editor/input/ui/AcEdFloatingInputBox.js.map +1 -1
  299. package/lib/editor/input/ui/AcEdFloatingInputBoxes.d.ts.map +1 -1
  300. package/lib/editor/input/ui/AcEdFloatingInputBoxes.js +9 -4
  301. package/lib/editor/input/ui/AcEdFloatingInputBoxes.js.map +1 -1
  302. package/lib/editor/input/ui/AcEdInputManager.d.ts +26 -23
  303. package/lib/editor/input/ui/AcEdInputManager.d.ts.map +1 -1
  304. package/lib/editor/input/ui/AcEdInputManager.js +135 -83
  305. package/lib/editor/input/ui/AcEdInputManager.js.map +1 -1
  306. package/lib/editor/input/ui/AcEdMTextEditor.js +2 -2
  307. package/lib/editor/input/ui/AcEdMTextEditor.js.map +1 -1
  308. package/lib/editor/view/AcEdBaseView.d.ts +44 -2
  309. package/lib/editor/view/AcEdBaseView.d.ts.map +1 -1
  310. package/lib/editor/view/AcEdBaseView.js +26 -12
  311. package/lib/editor/view/AcEdBaseView.js.map +1 -1
  312. package/lib/editor/view/AcEdSpatialQueryResult.d.ts +28 -0
  313. package/lib/editor/view/AcEdSpatialQueryResult.d.ts.map +1 -1
  314. package/lib/editor/view/AcEdSpatialQueryResult.js +65 -1
  315. package/lib/editor/view/AcEdSpatialQueryResult.js.map +1 -1
  316. package/lib/i18n/AcApI18n.d.ts +42 -0
  317. package/lib/i18n/AcApI18n.d.ts.map +1 -1
  318. package/lib/i18n/AcApI18n.js +56 -4
  319. package/lib/i18n/AcApI18n.js.map +1 -1
  320. package/lib/i18n/en/command.d.ts +26 -0
  321. package/lib/i18n/en/command.d.ts.map +1 -1
  322. package/lib/i18n/en/command.js +26 -0
  323. package/lib/i18n/en/command.js.map +1 -1
  324. package/lib/i18n/en/jig.d.ts +26 -0
  325. package/lib/i18n/en/jig.d.ts.map +1 -1
  326. package/lib/i18n/en/jig.js +134 -108
  327. package/lib/i18n/en/jig.js.map +1 -1
  328. package/lib/i18n/en/main.d.ts +3 -0
  329. package/lib/i18n/en/main.d.ts.map +1 -1
  330. package/lib/i18n/en/main.js +4 -1
  331. package/lib/i18n/en/main.js.map +1 -1
  332. package/lib/i18n/zh/command.d.ts +26 -0
  333. package/lib/i18n/zh/command.d.ts.map +1 -1
  334. package/lib/i18n/zh/command.js +26 -0
  335. package/lib/i18n/zh/command.js.map +1 -1
  336. package/lib/i18n/zh/jig.d.ts +26 -0
  337. package/lib/i18n/zh/jig.d.ts.map +1 -1
  338. package/lib/i18n/zh/jig.js +134 -108
  339. package/lib/i18n/zh/jig.js.map +1 -1
  340. package/lib/i18n/zh/main.d.ts +3 -0
  341. package/lib/i18n/zh/main.d.ts.map +1 -1
  342. package/lib/i18n/zh/main.js +4 -1
  343. package/lib/i18n/zh/main.js.map +1 -1
  344. package/lib/index.d.ts +1 -0
  345. package/lib/index.d.ts.map +1 -1
  346. package/lib/index.js +1 -0
  347. package/lib/index.js.map +1 -1
  348. package/lib/plugin/AcApLazyPluginRegistration.d.ts +3 -8
  349. package/lib/plugin/AcApLazyPluginRegistration.d.ts.map +1 -1
  350. package/lib/service/AcApEntitySelection.d.ts +42 -0
  351. package/lib/service/AcApEntitySelection.d.ts.map +1 -0
  352. package/lib/service/AcApEntitySelection.js +156 -0
  353. package/lib/service/AcApEntitySelection.js.map +1 -0
  354. package/lib/service/AcApEntityService.d.ts +115 -0
  355. package/lib/service/AcApEntityService.d.ts.map +1 -0
  356. package/lib/service/AcApEntityService.js +194 -0
  357. package/lib/service/AcApEntityService.js.map +1 -0
  358. package/lib/{command/layer → service}/AcApLayerIsoState.d.ts +6 -24
  359. package/lib/service/AcApLayerIsoState.d.ts.map +1 -0
  360. package/lib/service/AcApLayerIsoState.js +28 -0
  361. package/lib/service/AcApLayerIsoState.js.map +1 -0
  362. package/lib/service/AcApLayerService.d.ts +400 -0
  363. package/lib/service/AcApLayerService.d.ts.map +1 -0
  364. package/lib/service/AcApLayerService.js +1240 -0
  365. package/lib/service/AcApLayerService.js.map +1 -0
  366. package/lib/service/AcApLayerStore.d.ts +198 -0
  367. package/lib/service/AcApLayerStore.d.ts.map +1 -0
  368. package/lib/service/AcApLayerStore.js +335 -0
  369. package/lib/service/AcApLayerStore.js.map +1 -0
  370. package/lib/service/AcApServiceEdit.d.ts +18 -0
  371. package/lib/service/AcApServiceEdit.d.ts.map +1 -0
  372. package/lib/service/AcApServiceEdit.js +34 -0
  373. package/lib/service/AcApServiceEdit.js.map +1 -0
  374. package/lib/service/index.d.ts +16 -0
  375. package/lib/service/index.d.ts.map +1 -0
  376. package/lib/service/index.js +16 -0
  377. package/lib/service/index.js.map +1 -0
  378. package/lib/service/types.d.ts +116 -0
  379. package/lib/service/types.d.ts.map +1 -0
  380. package/lib/service/types.js +5 -0
  381. package/lib/service/types.js.map +1 -0
  382. package/lib/spatialIndex/AcTrHierarchicalSpatialIndex.d.ts +22 -7
  383. package/lib/spatialIndex/AcTrHierarchicalSpatialIndex.d.ts.map +1 -1
  384. package/lib/spatialIndex/AcTrHierarchicalSpatialIndex.js +58 -12
  385. package/lib/spatialIndex/AcTrHierarchicalSpatialIndex.js.map +1 -1
  386. package/lib/spatialIndex/AcTrLinearSpatialIndex.d.ts +2 -2
  387. package/lib/spatialIndex/AcTrLinearSpatialIndex.d.ts.map +1 -1
  388. package/lib/spatialIndex/AcTrLinearSpatialIndex.js +9 -3
  389. package/lib/spatialIndex/AcTrLinearSpatialIndex.js.map +1 -1
  390. package/lib/spatialIndex/AcTrRBushSpatialIndex.d.ts +2 -2
  391. package/lib/spatialIndex/AcTrRBushSpatialIndex.d.ts.map +1 -1
  392. package/lib/spatialIndex/AcTrRBushSpatialIndex.js +19 -5
  393. package/lib/spatialIndex/AcTrRBushSpatialIndex.js.map +1 -1
  394. package/lib/spatialIndex/AcTrSpatialIndex.d.ts +10 -1
  395. package/lib/spatialIndex/AcTrSpatialIndex.d.ts.map +1 -1
  396. package/lib/spatialIndex/AcTrSpatialIndex.js +7 -1
  397. package/lib/spatialIndex/AcTrSpatialIndex.js.map +1 -1
  398. package/lib/util/AcApDatabaseEdit.d.ts +11 -0
  399. package/lib/util/AcApDatabaseEdit.d.ts.map +1 -0
  400. package/lib/util/AcApDatabaseEdit.js +20 -0
  401. package/lib/util/AcApDatabaseEdit.js.map +1 -0
  402. package/lib/util/AcApFontUtil.d.ts +14 -2
  403. package/lib/util/AcApFontUtil.d.ts.map +1 -1
  404. package/lib/util/AcApFontUtil.js +18 -0
  405. package/lib/util/AcApFontUtil.js.map +1 -1
  406. package/lib/util/AcApGeTransform.d.ts +10 -0
  407. package/lib/util/AcApGeTransform.d.ts.map +1 -0
  408. package/lib/util/AcApGeTransform.js +15 -0
  409. package/lib/util/AcApGeTransform.js.map +1 -0
  410. package/lib/util/index.d.ts +2 -0
  411. package/lib/util/index.d.ts.map +1 -1
  412. package/lib/util/index.js +2 -0
  413. package/lib/util/index.js.map +1 -1
  414. package/lib/view/AcEdViewKeyHandler.d.ts +32 -0
  415. package/lib/view/AcEdViewKeyHandler.d.ts.map +1 -0
  416. package/lib/view/AcEdViewKeyHandler.js +101 -0
  417. package/lib/view/AcEdViewKeyHandler.js.map +1 -0
  418. package/lib/view/AcTrEntityDisplayController.d.ts +46 -0
  419. package/lib/view/AcTrEntityDisplayController.d.ts.map +1 -0
  420. package/lib/view/AcTrEntityDisplayController.js +114 -0
  421. package/lib/view/AcTrEntityDisplayController.js.map +1 -0
  422. package/lib/view/AcTrGroupWcsBboxAssert.d.ts +43 -0
  423. package/lib/view/AcTrGroupWcsBboxAssert.d.ts.map +1 -0
  424. package/lib/view/AcTrGroupWcsBboxAssert.js +84 -0
  425. package/lib/view/AcTrGroupWcsBboxAssert.js.map +1 -0
  426. package/lib/view/AcTrInheritedLayerMaterialMapper.d.ts +49 -0
  427. package/lib/view/AcTrInheritedLayerMaterialMapper.d.ts.map +1 -0
  428. package/lib/view/AcTrInheritedLayerMaterialMapper.js +138 -0
  429. package/lib/view/AcTrInheritedLayerMaterialMapper.js.map +1 -0
  430. package/lib/view/AcTrLayer.d.ts +33 -2
  431. package/lib/view/AcTrLayer.d.ts.map +1 -1
  432. package/lib/view/AcTrLayer.js +75 -2
  433. package/lib/view/AcTrLayer.js.map +1 -1
  434. package/lib/view/AcTrLayerAppearanceController.d.ts +55 -0
  435. package/lib/view/AcTrLayerAppearanceController.d.ts.map +1 -0
  436. package/lib/view/AcTrLayerAppearanceController.js +86 -0
  437. package/lib/view/AcTrLayerAppearanceController.js.map +1 -0
  438. package/lib/view/AcTrLayout.d.ts +37 -2
  439. package/lib/view/AcTrLayout.d.ts.map +1 -1
  440. package/lib/view/AcTrLayout.js +161 -15
  441. package/lib/view/AcTrLayout.js.map +1 -1
  442. package/lib/view/AcTrProgressiveOpenFitController.d.ts +64 -0
  443. package/lib/view/AcTrProgressiveOpenFitController.d.ts.map +1 -0
  444. package/lib/view/AcTrProgressiveOpenFitController.js +209 -0
  445. package/lib/view/AcTrProgressiveOpenFitController.js.map +1 -0
  446. package/lib/view/AcTrScene.d.ts +47 -1
  447. package/lib/view/AcTrScene.d.ts.map +1 -1
  448. package/lib/view/AcTrScene.js +78 -3
  449. package/lib/view/AcTrScene.js.map +1 -1
  450. package/lib/view/AcTrView2d.d.ts +118 -27
  451. package/lib/view/AcTrView2d.d.ts.map +1 -1
  452. package/lib/view/AcTrView2d.js +584 -362
  453. package/lib/view/AcTrView2d.js.map +1 -1
  454. package/lib/view/index.d.ts +3 -0
  455. package/lib/view/index.d.ts.map +1 -1
  456. package/lib/view/index.js +3 -0
  457. package/lib/view/index.js.map +1 -1
  458. package/package.json +13 -11
  459. package/dist/index.umd.cjs +0 -897
  460. package/lib/command/layer/AcApLayerIsoState.d.ts.map +0 -1
  461. package/lib/command/layer/AcApLayerIsoState.js +0 -53
  462. package/lib/command/layer/AcApLayerIsoState.js.map +0 -1
@@ -0,0 +1,192 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ var __generator = (this && this.__generator) || function (thisArg, body) {
11
+ 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);
12
+ return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
13
+ function verb(n) { return function (v) { return step([n, v]); }; }
14
+ function step(op) {
15
+ if (f) throw new TypeError("Generator is already executing.");
16
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
17
+ 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;
18
+ if (y = 0, t) op = [op[0] & 2, t.value];
19
+ switch (op[0]) {
20
+ case 0: case 1: t = op; break;
21
+ case 4: _.label++; return { value: op[1], done: false };
22
+ case 5: _.label++; y = op[1]; op = [0]; continue;
23
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
24
+ default:
25
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
26
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
27
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
28
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
29
+ if (t[2]) _.ops.pop();
30
+ _.trys.pop(); continue;
31
+ }
32
+ op = body.call(thisArg, _);
33
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
34
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
35
+ }
36
+ };
37
+ import { log } from '@mlightcad/data-model';
38
+ import { eventBus } from '../editor/global/eventBus';
39
+ import { AcEdOpenMode } from '../editor/view/AcEdOpenMode';
40
+ /** File extensions accepted by the built-in OPEN file dialog. */
41
+ var SUPPORTED_EXTENSIONS = ['.dxf', '.dwg'];
42
+ /** Hidden `<input type="file">` element reused across OPEN requests. */
43
+ var fileInput;
44
+ /** Whether {@link acapInstallOpenFileDialog} has registered the `open-file` listener. */
45
+ var installed = false;
46
+ /** Active dialog options merged from install and update calls. */
47
+ var currentOptions = {};
48
+ /**
49
+ * Returns whether the given file name has a supported CAD extension.
50
+ *
51
+ * @param fileName - Local file name including extension.
52
+ * @returns `true` when the name ends with `.dxf` or `.dwg` (case-insensitive).
53
+ */
54
+ var isSupportedCadFile = function (fileName) {
55
+ var lowerName = fileName.toLowerCase();
56
+ return SUPPORTED_EXTENSIONS.some(function (ext) { return lowerName.endsWith(ext); });
57
+ };
58
+ /**
59
+ * Reads a browser {@link File} into memory as raw bytes.
60
+ *
61
+ * @param file - File selected from the hidden file input.
62
+ * @returns Resolves with the file contents as an {@link ArrayBuffer}.
63
+ */
64
+ var readFileAsArrayBuffer = function (file) {
65
+ return new Promise(function (resolve, reject) {
66
+ var reader = new FileReader();
67
+ reader.onload = function () { return resolve(reader.result); };
68
+ reader.onerror = function () { var _a; return reject((_a = reader.error) !== null && _a !== void 0 ? _a : new Error('Failed to read file')); };
69
+ reader.readAsArrayBuffer(file);
70
+ });
71
+ };
72
+ /**
73
+ * Resolves database open options for a user-selected file.
74
+ *
75
+ * Falls back to `{ minimumChunkSize: 1000 }` when no custom resolver is configured.
76
+ *
77
+ * @param getDefaults - Optional callback from {@link AcApOpenFileDialogOptions.getOpenDocumentDefaults}.
78
+ * @returns Resolved open options passed to {@link AcApDocManager.openDocument}.
79
+ */
80
+ var resolveOpenDocumentDefaults = function (getDefaults) { return __awaiter(void 0, void 0, void 0, function () {
81
+ return __generator(this, function (_a) {
82
+ if (!getDefaults) {
83
+ return [2 /*return*/, { minimumChunkSize: 1000 }];
84
+ }
85
+ return [2 /*return*/, getDefaults()];
86
+ });
87
+ }); };
88
+ /**
89
+ * Opens the hidden file picker in response to an `open-file` event.
90
+ *
91
+ * Creates and appends the input element on first use, then triggers `click()`.
92
+ */
93
+ var onOpenFile = function () {
94
+ if (!fileInput) {
95
+ fileInput = document.createElement('input');
96
+ fileInput.type = 'file';
97
+ fileInput.accept = SUPPORTED_EXTENSIONS.join(',');
98
+ fileInput.style.display = 'none';
99
+ fileInput.addEventListener('change', onFileChange);
100
+ document.body.appendChild(fileInput);
101
+ }
102
+ fileInput.click();
103
+ };
104
+ /**
105
+ * Handles file selection from the hidden input.
106
+ *
107
+ * Validates the extension, reads the file, and delegates opening to
108
+ * {@link AcApDocManager.openDocument}. Clears the input value so the same file
109
+ * can be chosen again.
110
+ *
111
+ * @param event - `change` event from the hidden file input.
112
+ */
113
+ var onFileChange = function (event) { return __awaiter(void 0, void 0, void 0, function () {
114
+ var target, file, content, AcApDocManager, options, error_1;
115
+ var _a, _b;
116
+ return __generator(this, function (_c) {
117
+ switch (_c.label) {
118
+ case 0:
119
+ target = event.target;
120
+ file = (_a = target.files) === null || _a === void 0 ? void 0 : _a[0];
121
+ target.value = '';
122
+ if (!file)
123
+ return [2 /*return*/];
124
+ if (!isSupportedCadFile(file.name)) {
125
+ log.warn("Unsupported file type: ".concat(file.name));
126
+ return [2 /*return*/];
127
+ }
128
+ _c.label = 1;
129
+ case 1:
130
+ _c.trys.push([1, 6, , 7]);
131
+ return [4 /*yield*/, readFileAsArrayBuffer(file)];
132
+ case 2:
133
+ content = _c.sent();
134
+ return [4 /*yield*/, import('./AcApDocManager')];
135
+ case 3:
136
+ AcApDocManager = (_c.sent()).AcApDocManager;
137
+ return [4 /*yield*/, resolveOpenDocumentDefaults(currentOptions.getOpenDocumentDefaults)];
138
+ case 4:
139
+ options = _c.sent();
140
+ eventBus.emit('open-local-file-started', {
141
+ mode: (_b = options.mode) !== null && _b !== void 0 ? _b : AcEdOpenMode.Read
142
+ });
143
+ return [4 /*yield*/, AcApDocManager.instance.openDocument(file.name, content, options)];
144
+ case 5:
145
+ _c.sent();
146
+ return [3 /*break*/, 7];
147
+ case 6:
148
+ error_1 = _c.sent();
149
+ log.error('Failed to open selected file:', error_1);
150
+ return [3 /*break*/, 7];
151
+ case 7: return [2 /*return*/];
152
+ }
153
+ });
154
+ }); };
155
+ /**
156
+ * Installs the built-in file picker used by the OPEN command.
157
+ *
158
+ * Listens for `open-file` events, prompts for a local `.dxf` / `.dwg` file,
159
+ * and opens it through {@link AcApDocManager.openDocument}.
160
+ *
161
+ * @param options - Dialog configuration. When `enabled` is `false`, installation is skipped.
162
+ */
163
+ export function acapInstallOpenFileDialog(options) {
164
+ if (options === void 0) { options = {}; }
165
+ if (options.enabled === false)
166
+ return;
167
+ currentOptions = options;
168
+ if (installed)
169
+ return;
170
+ eventBus.on('open-file', onOpenFile);
171
+ installed = true;
172
+ }
173
+ /**
174
+ * Updates options for an already installed built-in OPEN file dialog.
175
+ *
176
+ * @param options - Replacement dialog configuration merged into the active install.
177
+ */
178
+ export function acapUpdateOpenFileDialogOptions(options) {
179
+ currentOptions = options;
180
+ }
181
+ /** Removes the built-in OPEN file dialog and its hidden input element. */
182
+ export function acapUninstallOpenFileDialog() {
183
+ if (!installed)
184
+ return;
185
+ eventBus.off('open-file', onOpenFile);
186
+ fileInput === null || fileInput === void 0 ? void 0 : fileInput.removeEventListener('change', onFileChange);
187
+ fileInput === null || fileInput === void 0 ? void 0 : fileInput.remove();
188
+ fileInput = undefined;
189
+ installed = false;
190
+ currentOptions = {};
191
+ }
192
+ //# sourceMappingURL=AcApOpenFileDialog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AcApOpenFileDialog.js","sourceRoot":"","sources":["../../src/app/AcApOpenFileDialog.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import type { AcApWebworkerFiles } from './AcApDocManager';
2
+ /** Default worker script URLs used when `webworkerFileUrls` is omitted. */
3
+ export declare const DEFAULT_WEBWORKER_FILE_URLS: Required<AcApWebworkerFiles>;
4
+ /**
5
+ * Resolves configured worker URLs to strings, falling back to {@link DEFAULT_WEBWORKER_FILE_URLS}.
6
+ */
7
+ export declare function resolveWebworkerFileUrls(webworkerFileUrls?: AcApWebworkerFiles): string[];
8
+ /** Clears the module-level success cache (e.g. when the doc manager is destroyed). */
9
+ export declare function resetWebworkerReadinessCache(): void;
10
+ /**
11
+ * Returns true when all configured worker scripts respond successfully.
12
+ *
13
+ * Uses HEAD requests to avoid downloading large worker bundles. Successful
14
+ * results are cached for the current page lifecycle; failures are not cached
15
+ * so transient network errors can be retried.
16
+ */
17
+ export declare function checkWebworkerReadiness(webworkerFileUrls?: AcApWebworkerFiles): Promise<boolean>;
18
+ //# sourceMappingURL=AcApWebworkerReadiness.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AcApWebworkerReadiness.d.ts","sourceRoot":"","sources":["../../src/app/AcApWebworkerReadiness.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AAE1D,2EAA2E;AAC3E,eAAO,MAAM,2BAA2B,EAAE,QAAQ,CAAC,kBAAkB,CAIpE,CAAA;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,iBAAiB,CAAC,EAAE,kBAAkB,GACrC,MAAM,EAAE,CAMV;AAKD,sFAAsF;AACtF,wBAAgB,4BAA4B,IAAI,IAAI,CAGnD;AAmBD;;;;;;GAMG;AACH,wBAAsB,uBAAuB,CAC3C,iBAAiB,CAAC,EAAE,kBAAkB,GACrC,OAAO,CAAC,OAAO,CAAC,CAkBlB"}
@@ -0,0 +1,126 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ var __generator = (this && this.__generator) || function (thisArg, body) {
11
+ 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);
12
+ return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
13
+ function verb(n) { return function (v) { return step([n, v]); }; }
14
+ function step(op) {
15
+ if (f) throw new TypeError("Generator is already executing.");
16
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
17
+ 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;
18
+ if (y = 0, t) op = [op[0] & 2, t.value];
19
+ switch (op[0]) {
20
+ case 0: case 1: t = op; break;
21
+ case 4: _.label++; return { value: op[1], done: false };
22
+ case 5: _.label++; y = op[1]; op = [0]; continue;
23
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
24
+ default:
25
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
26
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
27
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
28
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
29
+ if (t[2]) _.ops.pop();
30
+ _.trys.pop(); continue;
31
+ }
32
+ op = body.call(thisArg, _);
33
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
34
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
35
+ }
36
+ };
37
+ /** Default worker script URLs used when `webworkerFileUrls` is omitted. */
38
+ export var DEFAULT_WEBWORKER_FILE_URLS = {
39
+ dxfParser: './assets/dxf-parser-worker.js',
40
+ dwgParser: './assets/libredwg-parser-worker.js',
41
+ mtextRender: './assets/mtext-renderer-worker.js'
42
+ };
43
+ /**
44
+ * Resolves configured worker URLs to strings, falling back to {@link DEFAULT_WEBWORKER_FILE_URLS}.
45
+ */
46
+ export function resolveWebworkerFileUrls(webworkerFileUrls) {
47
+ var _a, _b, _c;
48
+ return [
49
+ (_a = webworkerFileUrls === null || webworkerFileUrls === void 0 ? void 0 : webworkerFileUrls.dxfParser) !== null && _a !== void 0 ? _a : DEFAULT_WEBWORKER_FILE_URLS.dxfParser,
50
+ (_b = webworkerFileUrls === null || webworkerFileUrls === void 0 ? void 0 : webworkerFileUrls.dwgParser) !== null && _b !== void 0 ? _b : DEFAULT_WEBWORKER_FILE_URLS.dwgParser,
51
+ (_c = webworkerFileUrls === null || webworkerFileUrls === void 0 ? void 0 : webworkerFileUrls.mtextRender) !== null && _c !== void 0 ? _c : DEFAULT_WEBWORKER_FILE_URLS.mtextRender
52
+ ].map(function (url) { return String(url); });
53
+ }
54
+ var cachedReadinessKey;
55
+ var cachedReadinessResult;
56
+ /** Clears the module-level success cache (e.g. when the doc manager is destroyed). */
57
+ export function resetWebworkerReadinessCache() {
58
+ cachedReadinessKey = undefined;
59
+ cachedReadinessResult = undefined;
60
+ }
61
+ function isWorkerUrlReachable(url) {
62
+ return __awaiter(this, void 0, void 0, function () {
63
+ var response, fallback, _a;
64
+ return __generator(this, function (_b) {
65
+ switch (_b.label) {
66
+ case 0:
67
+ _b.trys.push([0, 4, , 5]);
68
+ return [4 /*yield*/, fetch(url, { method: 'HEAD' })];
69
+ case 1:
70
+ response = _b.sent();
71
+ if (response.ok) {
72
+ return [2 /*return*/, true];
73
+ }
74
+ if (!(response.status === 405)) return [3 /*break*/, 3];
75
+ return [4 /*yield*/, fetch(url, { headers: { Range: 'bytes=0-0' } })];
76
+ case 2:
77
+ fallback = _b.sent();
78
+ return [2 /*return*/, fallback.ok || fallback.status === 206];
79
+ case 3: return [2 /*return*/, false];
80
+ case 4:
81
+ _a = _b.sent();
82
+ return [2 /*return*/, false];
83
+ case 5: return [2 /*return*/];
84
+ }
85
+ });
86
+ });
87
+ }
88
+ /**
89
+ * Returns true when all configured worker scripts respond successfully.
90
+ *
91
+ * Uses HEAD requests to avoid downloading large worker bundles. Successful
92
+ * results are cached for the current page lifecycle; failures are not cached
93
+ * so transient network errors can be retried.
94
+ */
95
+ export function checkWebworkerReadiness(webworkerFileUrls) {
96
+ return __awaiter(this, void 0, void 0, function () {
97
+ var urls, key, results, ready, _a;
98
+ return __generator(this, function (_b) {
99
+ switch (_b.label) {
100
+ case 0:
101
+ urls = resolveWebworkerFileUrls(webworkerFileUrls);
102
+ key = urls.join('|');
103
+ if (cachedReadinessKey === key && cachedReadinessResult === true) {
104
+ return [2 /*return*/, true];
105
+ }
106
+ _b.label = 1;
107
+ case 1:
108
+ _b.trys.push([1, 3, , 4]);
109
+ return [4 /*yield*/, Promise.all(urls.map(isWorkerUrlReachable))];
110
+ case 2:
111
+ results = _b.sent();
112
+ ready = results.every(Boolean);
113
+ if (ready) {
114
+ cachedReadinessKey = key;
115
+ cachedReadinessResult = true;
116
+ }
117
+ return [2 /*return*/, ready];
118
+ case 3:
119
+ _a = _b.sent();
120
+ return [2 /*return*/, false];
121
+ case 4: return [2 /*return*/];
122
+ }
123
+ });
124
+ });
125
+ }
126
+ //# sourceMappingURL=AcApWebworkerReadiness.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AcApWebworkerReadiness.js","sourceRoot":"","sources":["../../src/app/AcApWebworkerReadiness.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,2EAA2E;AAC3E,MAAM,CAAC,IAAM,2BAA2B,GAAiC;IACvE,SAAS,EAAE,+BAA+B;IAC1C,SAAS,EAAE,oCAAoC;IAC/C,WAAW,EAAE,mCAAmC;CACjD,CAAA;AAED;;GAEG;AACH,MAAM,UAAU,wBAAwB,CACtC,iBAAsC;;IAEtC,OAAO;QACL,MAAA,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,SAAS,mCAAI,2BAA2B,CAAC,SAAS;QACrE,MAAA,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,SAAS,mCAAI,2BAA2B,CAAC,SAAS;QACrE,MAAA,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,WAAW,mCAAI,2BAA2B,CAAC,WAAW;KAC1E,CAAC,GAAG,CAAC,UAAA,GAAG,IAAI,OAAA,MAAM,CAAC,GAAG,CAAC,EAAX,CAAW,CAAC,CAAA;AAC3B,CAAC;AAED,IAAI,kBAAsC,CAAA;AAC1C,IAAI,qBAAuC,CAAA;AAE3C,sFAAsF;AACtF,MAAM,UAAU,4BAA4B;IAC1C,kBAAkB,GAAG,SAAS,CAAA;IAC9B,qBAAqB,GAAG,SAAS,CAAA;AACnC,CAAC;AAED,SAAe,oBAAoB,CAAC,GAAW;;;;;;;oBAE1B,qBAAM,KAAK,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,EAAA;;oBAA/C,QAAQ,GAAG,SAAoC;oBACrD,IAAI,QAAQ,CAAC,EAAE,EAAE,CAAC;wBAChB,sBAAO,IAAI,EAAA;oBACb,CAAC;yBAEG,CAAA,QAAQ,CAAC,MAAM,KAAK,GAAG,CAAA,EAAvB,wBAAuB;oBACR,qBAAM,KAAK,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,CAAC,EAAA;;oBAAhE,QAAQ,GAAG,SAAqD;oBACtE,sBAAO,QAAQ,CAAC,EAAE,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAA;wBAE/C,sBAAO,KAAK,EAAA;;;oBAEZ,sBAAO,KAAK,EAAA;;;;;CAEf;AAED;;;;;;GAMG;AACH,MAAM,UAAgB,uBAAuB,CAC3C,iBAAsC;;;;;;oBAEhC,IAAI,GAAG,wBAAwB,CAAC,iBAAiB,CAAC,CAAA;oBAClD,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;oBAC1B,IAAI,kBAAkB,KAAK,GAAG,IAAI,qBAAqB,KAAK,IAAI,EAAE,CAAC;wBACjE,sBAAO,IAAI,EAAA;oBACb,CAAC;;;;oBAGiB,qBAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC,EAAA;;oBAA3D,OAAO,GAAG,SAAiD;oBAC3D,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;oBACpC,IAAI,KAAK,EAAE,CAAC;wBACV,kBAAkB,GAAG,GAAG,CAAA;wBACxB,qBAAqB,GAAG,IAAI,CAAA;oBAC9B,CAAC;oBACD,sBAAO,KAAK,EAAA;;;oBAEZ,sBAAO,KAAK,EAAA;;;;;CAEf"}
@@ -1,5 +1,14 @@
1
1
  import { AcDbOpenDatabaseOptions } from '@mlightcad/data-model';
2
2
  import { AcEdOpenMode } from '../editor/view';
3
+ /**
4
+ * Controls how the view is framed immediately after a document opens.
5
+ */
6
+ export declare enum AcApOpenViewMode {
7
+ /** Poll converted geometry and frame the full drawing (`zoomToFitDrawing`). */
8
+ Extents = "extents",
9
+ /** Restore AutoCAD's saved view (layout limits, VPORT `*ACTIVE`, EXTMIN/EXTMAX). */
10
+ Saved = "saved"
11
+ }
3
12
  /**
4
13
  * Options for opening a CAD database.
5
14
  *
@@ -7,6 +16,9 @@ import { AcEdOpenMode } from '../editor/view';
7
16
  * the `readOnly` property with a `mode` property that provides more granular
8
17
  * access control.
9
18
  *
19
+ * Inherits {@link AcDbOpenDatabaseOptions.drawNoPlotLayers} from the data model.
20
+ * {@link AcApDocManager} defaults it to `false` (web viewer semantics) when omitted.
21
+ *
10
22
  * @example
11
23
  * ```typescript
12
24
  * const options: AcApOpenDatabaseOptions = {
@@ -24,5 +36,22 @@ export interface AcApOpenDatabaseOptions extends Omit<AcDbOpenDatabaseOptions, '
24
36
  * - Write (8): Full read/write access, compatible with Review and Read
25
37
  */
26
38
  mode?: AcEdOpenMode;
39
+ /**
40
+ * Whether to render entities incrementally while a drawing is opening.
41
+ *
42
+ * When `true`, entity conversion is deferred across event-loop turns so
43
+ * geometry appears progressively and the camera can reframe as batches
44
+ * land. When `false` (default), conversion still runs asynchronously but the
45
+ * canvas is not redrawn until every entity is converted; zoom-to-fit also
46
+ * waits for conversion to finish.
47
+ */
48
+ progressiveRendering?: boolean;
49
+ /**
50
+ * How to frame the view when the document finishes opening.
51
+ *
52
+ * When omitted, Read and Review modes use {@link AcApOpenViewMode.Extents};
53
+ * Write mode uses {@link AcApOpenViewMode.Saved} (AutoCAD VPORT behavior).
54
+ */
55
+ openViewMode?: AcApOpenViewMode;
27
56
  }
28
57
  //# sourceMappingURL=AcDbOpenDatabaseOptions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AcDbOpenDatabaseOptions.d.ts","sourceRoot":"","sources":["../../src/app/AcDbOpenDatabaseOptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAA;AAE/D,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAE7C;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,uBAAwB,SAAQ,IAAI,CACnD,uBAAuB,EACvB,UAAU,CACX;IACC;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,YAAY,CAAA;CACpB"}
1
+ {"version":3,"file":"AcDbOpenDatabaseOptions.d.ts","sourceRoot":"","sources":["../../src/app/AcDbOpenDatabaseOptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAA;AAE/D,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAE7C;;GAEG;AACH,oBAAY,gBAAgB;IAC1B,+EAA+E;IAC/E,OAAO,YAAY;IACnB,oFAAoF;IACpF,KAAK,UAAU;CAChB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,WAAW,uBAAwB,SAAQ,IAAI,CACnD,uBAAuB,EACvB,UAAU,CACX;IACC;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,YAAY,CAAA;IACnB;;;;;;;;OAQG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAE9B;;;;;OAKG;IACH,YAAY,CAAC,EAAE,gBAAgB,CAAA;CAChC"}
@@ -1,2 +1,11 @@
1
- export {};
1
+ /**
2
+ * Controls how the view is framed immediately after a document opens.
3
+ */
4
+ export var AcApOpenViewMode;
5
+ (function (AcApOpenViewMode) {
6
+ /** Poll converted geometry and frame the full drawing (`zoomToFitDrawing`). */
7
+ AcApOpenViewMode["Extents"] = "extents";
8
+ /** Restore AutoCAD's saved view (layout limits, VPORT `*ACTIVE`, EXTMIN/EXTMAX). */
9
+ AcApOpenViewMode["Saved"] = "saved";
10
+ })(AcApOpenViewMode || (AcApOpenViewMode = {}));
2
11
  //# sourceMappingURL=AcDbOpenDatabaseOptions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AcDbOpenDatabaseOptions.js","sourceRoot":"","sources":["../../src/app/AcDbOpenDatabaseOptions.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"AcDbOpenDatabaseOptions.js","sourceRoot":"","sources":["../../src/app/AcDbOpenDatabaseOptions.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,MAAM,CAAN,IAAY,gBAKX;AALD,WAAY,gBAAgB;IAC1B,+EAA+E;IAC/E,uCAAmB,CAAA;IACnB,oFAAoF;IACpF,mCAAe,CAAA;AACjB,CAAC,EALW,gBAAgB,KAAhB,gBAAgB,QAK3B"}
@@ -5,5 +5,9 @@ export * from './AcApDocManager';
5
5
  export * from './AcApObjectDisplay';
6
6
  export * from './openFileProgress';
7
7
  export * from './AcApSettingManager';
8
+ export * from './AcApLayerSessionState';
8
9
  export type { AcApOpenDatabaseOptions } from './AcDbOpenDatabaseOptions';
10
+ export { AcApOpenViewMode } from './AcDbOpenDatabaseOptions';
11
+ export type { AcApOpenDocumentDefaultsResolver, AcApOpenFileDialogOptions } from './AcApOpenFileDialog';
12
+ export { acapInstallOpenFileDialog, acapUninstallOpenFileDialog, acapUpdateOpenFileDialogOptions } from './AcApOpenFileDialog';
9
13
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/app/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAA;AAChC,cAAc,eAAe,CAAA;AAC7B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,kBAAkB,CAAA;AAChC,cAAc,qBAAqB,CAAA;AACnC,cAAc,oBAAoB,CAAA;AAClC,cAAc,sBAAsB,CAAA;AACpC,YAAY,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/app/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAA;AAChC,cAAc,eAAe,CAAA;AAC7B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,kBAAkB,CAAA;AAChC,cAAc,qBAAqB,CAAA;AACnC,cAAc,oBAAoB,CAAA;AAClC,cAAc,sBAAsB,CAAA;AACpC,cAAc,yBAAyB,CAAA;AACvC,YAAY,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAA;AACxE,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAA;AAC5D,YAAY,EACV,gCAAgC,EAChC,yBAAyB,EAC1B,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EACL,yBAAyB,EACzB,2BAA2B,EAC3B,+BAA+B,EAChC,MAAM,sBAAsB,CAAA"}
package/lib/app/index.js CHANGED
@@ -5,4 +5,7 @@ export * from './AcApDocManager';
5
5
  export * from './AcApObjectDisplay';
6
6
  export * from './openFileProgress';
7
7
  export * from './AcApSettingManager';
8
+ export * from './AcApLayerSessionState';
9
+ export { AcApOpenViewMode } from './AcDbOpenDatabaseOptions';
10
+ export { acapInstallOpenFileDialog, acapUninstallOpenFileDialog, acapUpdateOpenFileDialogOptions } from './AcApOpenFileDialog';
8
11
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/app/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAA;AAChC,cAAc,eAAe,CAAA;AAC7B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,kBAAkB,CAAA;AAChC,cAAc,qBAAqB,CAAA;AACnC,cAAc,oBAAoB,CAAA;AAClC,cAAc,sBAAsB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/app/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAA;AAChC,cAAc,eAAe,CAAA;AAC7B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,kBAAkB,CAAA;AAChC,cAAc,qBAAqB,CAAA;AACnC,cAAc,oBAAoB,CAAA;AAClC,cAAc,sBAAsB,CAAA;AACpC,cAAc,yBAAyB,CAAA;AAEvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAA;AAK5D,OAAO,EACL,yBAAyB,EACzB,2BAA2B,EAC3B,+BAA+B,EAChC,MAAM,sBAAsB,CAAA"}
@@ -0,0 +1,25 @@
1
+ import { AcApContext } from '../app';
2
+ import { AcEdCommand } from '../editor';
3
+ import { type FontLoadStatus } from '../util/AcApFontUtil';
4
+ export type { FontLoadStatus } from '../util/AcApFontUtil';
5
+ export interface AcApCacheFontOptions {
6
+ /** Optional alias names (e.g. missed drawing font names) */
7
+ aliases?: string[];
8
+ /** Emit success/error messages via the global event bus. Defaults to true. */
9
+ notify?: boolean;
10
+ }
11
+ /**
12
+ * Command to cache a user-selected font file into IndexedDB.
13
+ *
14
+ * Opens a font file picker through the `cache-font` event, then parses and
15
+ * caches the selected file for text rendering.
16
+ */
17
+ export declare class AcApCacheFontCmd extends AcEdCommand {
18
+ /**
19
+ * Parses a user-uploaded font file, registers it for rendering, and stores it
20
+ * in IndexedDB when font caching is enabled.
21
+ */
22
+ static cacheFontFile(file: File, options?: AcApCacheFontOptions): Promise<FontLoadStatus>;
23
+ execute(_context: AcApContext): Promise<void>;
24
+ }
25
+ //# sourceMappingURL=AcApCacheFontCmd.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AcApCacheFontCmd.d.ts","sourceRoot":"","sources":["../../src/command/AcApCacheFontCmd.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAA;AACpC,OAAO,EAAE,WAAW,EAAY,MAAM,WAAW,CAAA;AAEjD,OAAO,EAAgB,KAAK,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAExE,YAAY,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAE1D,MAAM,WAAW,oBAAoB;IACnC,4DAA4D;IAC5D,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAClB,8EAA8E;IAC9E,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB;AAgBD;;;;;GAKG;AACH,qBAAa,gBAAiB,SAAQ,WAAW;IAC/C;;;OAGG;WACU,aAAa,CACxB,IAAI,EAAE,IAAI,EACV,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,cAAc,CAAC;IA0CpB,OAAO,CAAC,QAAQ,EAAE,WAAW;CAMpC"}
@@ -0,0 +1,142 @@
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 { AcEdCommand, eventBus } from '../editor';
53
+ import { AcApI18n } from '../i18n';
54
+ import { AcApFontUtil } from '../util/AcApFontUtil';
55
+ var pendingFontFileResolve = null;
56
+ eventBus.on('font-file-selected', function (_a) {
57
+ var file = _a.file;
58
+ pendingFontFileResolve === null || pendingFontFileResolve === void 0 ? void 0 : pendingFontFileResolve(file);
59
+ pendingFontFileResolve = null;
60
+ });
61
+ function requestFontFileFromUi() {
62
+ return new Promise(function (resolve) {
63
+ pendingFontFileResolve = resolve;
64
+ eventBus.emit('cache-font', {});
65
+ });
66
+ }
67
+ /**
68
+ * Command to cache a user-selected font file into IndexedDB.
69
+ *
70
+ * Opens a font file picker through the `cache-font` event, then parses and
71
+ * caches the selected file for text rendering.
72
+ */
73
+ var AcApCacheFontCmd = /** @class */ (function (_super) {
74
+ __extends(AcApCacheFontCmd, _super);
75
+ function AcApCacheFontCmd() {
76
+ return _super !== null && _super.apply(this, arguments) || this;
77
+ }
78
+ /**
79
+ * Parses a user-uploaded font file, registers it for rendering, and stores it
80
+ * in IndexedDB when font caching is enabled.
81
+ */
82
+ AcApCacheFontCmd.cacheFontFile = function (file, options) {
83
+ return __awaiter(this, void 0, void 0, function () {
84
+ var shouldNotify, cmd, status_1, _a;
85
+ var _b;
86
+ return __generator(this, function (_c) {
87
+ switch (_c.label) {
88
+ case 0:
89
+ shouldNotify = (_b = options === null || options === void 0 ? void 0 : options.notify) !== null && _b !== void 0 ? _b : true;
90
+ cmd = new AcApCacheFontCmd();
91
+ _c.label = 1;
92
+ case 1:
93
+ _c.trys.push([1, 3, , 4]);
94
+ return [4 /*yield*/, AcApFontUtil.cacheFont(file, undefined, options === null || options === void 0 ? void 0 : options.aliases)];
95
+ case 2:
96
+ status_1 = _c.sent();
97
+ if (shouldNotify) {
98
+ if (status_1.status === 'Success') {
99
+ cmd.notify("".concat(AcApI18n.t('main.message.fontCached'), ": ").concat(status_1.fontName), 'success');
100
+ }
101
+ else {
102
+ cmd.notify("".concat(AcApI18n.t('main.message.fontCacheFailed'), ": ").concat(file.name), 'error');
103
+ }
104
+ }
105
+ return [2 /*return*/, status_1];
106
+ case 3:
107
+ _a = _c.sent();
108
+ if (shouldNotify) {
109
+ cmd.notify("".concat(AcApI18n.t('main.message.fontCacheFailed'), ": ").concat(file.name), 'error');
110
+ }
111
+ return [2 /*return*/, {
112
+ fontName: '',
113
+ url: '',
114
+ status: 'FailedToLoad'
115
+ }];
116
+ case 4: return [2 /*return*/];
117
+ }
118
+ });
119
+ });
120
+ };
121
+ AcApCacheFontCmd.prototype.execute = function (_context) {
122
+ return __awaiter(this, void 0, void 0, function () {
123
+ var file;
124
+ return __generator(this, function (_a) {
125
+ switch (_a.label) {
126
+ case 0: return [4 /*yield*/, requestFontFileFromUi()];
127
+ case 1:
128
+ file = _a.sent();
129
+ if (!file)
130
+ return [2 /*return*/];
131
+ return [4 /*yield*/, AcApCacheFontCmd.cacheFontFile(file)];
132
+ case 2:
133
+ _a.sent();
134
+ return [2 /*return*/];
135
+ }
136
+ });
137
+ });
138
+ };
139
+ return AcApCacheFontCmd;
140
+ }(AcEdCommand));
141
+ export { AcApCacheFontCmd };
142
+ //# sourceMappingURL=AcApCacheFontCmd.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AcApCacheFontCmd.js","sourceRoot":"","sources":["../../src/command/AcApCacheFontCmd.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAClC,OAAO,EAAE,YAAY,EAAuB,MAAM,sBAAsB,CAAA;AAWxE,IAAI,sBAAsB,GAA8C,IAAI,CAAA;AAE5E,QAAQ,CAAC,EAAE,CAAC,oBAAoB,EAAE,UAAC,EAAQ;QAAN,IAAI,UAAA;IACvC,sBAAsB,aAAtB,sBAAsB,uBAAtB,sBAAsB,CAAG,IAAI,CAAC,CAAA;IAC9B,sBAAsB,GAAG,IAAI,CAAA;AAC/B,CAAC,CAAC,CAAA;AAEF,SAAS,qBAAqB;IAC5B,OAAO,IAAI,OAAO,CAAC,UAAA,OAAO;QACxB,sBAAsB,GAAG,OAAO,CAAA;QAChC,QAAQ,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC,CAAA;IACjC,CAAC,CAAC,CAAA;AACJ,CAAC;AAED;;;;;GAKG;AACH;IAAsC,oCAAW;IAAjD;;IAwDA,CAAC;IAvDC;;;OAGG;IACU,8BAAa,GAA1B,UACE,IAAU,EACV,OAA8B;;;;;;;wBAExB,YAAY,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,mCAAI,IAAI,CAAA;wBACtC,GAAG,GAAG,IAAI,gBAAgB,EAAE,CAAA;;;;wBAGjB,qBAAM,YAAY,CAAC,SAAS,CACzC,IAAI,EACJ,SAAS,EACT,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,CACjB,EAAA;;wBAJK,WAAS,SAId;wBAED,IAAI,YAAY,EAAE,CAAC;4BACjB,IAAI,QAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gCAChC,GAAG,CAAC,MAAM,CACR,UAAG,QAAQ,CAAC,CAAC,CAAC,yBAAyB,CAAC,eAAK,QAAM,CAAC,QAAQ,CAAE,EAC9D,SAAS,CACV,CAAA;4BACH,CAAC;iCAAM,CAAC;gCACN,GAAG,CAAC,MAAM,CACR,UAAG,QAAQ,CAAC,CAAC,CAAC,8BAA8B,CAAC,eAAK,IAAI,CAAC,IAAI,CAAE,EAC7D,OAAO,CACR,CAAA;4BACH,CAAC;wBACH,CAAC;wBAED,sBAAO,QAAM,EAAA;;;wBAEb,IAAI,YAAY,EAAE,CAAC;4BACjB,GAAG,CAAC,MAAM,CACR,UAAG,QAAQ,CAAC,CAAC,CAAC,8BAA8B,CAAC,eAAK,IAAI,CAAC,IAAI,CAAE,EAC7D,OAAO,CACR,CAAA;wBACH,CAAC;wBAED,sBAAO;gCACL,QAAQ,EAAE,EAAE;gCACZ,GAAG,EAAE,EAAE;gCACP,MAAM,EAAE,cAAc;6BACvB,EAAA;;;;;KAEJ;IAEK,kCAAO,GAAb,UAAc,QAAqB;;;;;4BACpB,qBAAM,qBAAqB,EAAE,EAAA;;wBAApC,IAAI,GAAG,SAA6B;wBAC1C,IAAI,CAAC,IAAI;4BAAE,sBAAM;wBAEjB,qBAAM,gBAAgB,CAAC,aAAa,CAAC,IAAI,CAAC,EAAA;;wBAA1C,SAA0C,CAAA;;;;;KAC3C;IACH,uBAAC;AAAD,CAAC,AAxDD,CAAsC,WAAW,GAwDhD"}