@mlightcad/cad-simple-viewer 1.5.0 → 1.5.2

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 (242) hide show
  1. package/README.md +2 -1
  2. package/dist/index.js +25678 -48997
  3. package/dist/index.umd.cjs +571 -603
  4. package/dist/libredwg-parser-worker.js +3955 -7422
  5. package/dist/mtext-renderer-worker.js +2727 -2539
  6. package/lib/app/AcApAnnotation.js +4 -4
  7. package/lib/app/AcApAnnotation.js.map +1 -1
  8. package/lib/app/AcApDocManager.d.ts +56 -2
  9. package/lib/app/AcApDocManager.d.ts.map +1 -1
  10. package/lib/app/AcApDocManager.js +182 -31
  11. package/lib/app/AcApDocManager.js.map +1 -1
  12. package/lib/app/index.d.ts +1 -0
  13. package/lib/app/index.d.ts.map +1 -1
  14. package/lib/app/index.js +1 -0
  15. package/lib/app/index.js.map +1 -1
  16. package/lib/app/openFileProgress.d.ts +10 -0
  17. package/lib/app/openFileProgress.d.ts.map +1 -0
  18. package/lib/app/openFileProgress.js +20 -0
  19. package/lib/app/openFileProgress.js.map +1 -0
  20. package/lib/command/AcApSwitchBgCmd.d.ts +3 -0
  21. package/lib/command/AcApSwitchBgCmd.d.ts.map +1 -1
  22. package/lib/command/AcApSwitchBgCmd.js +14 -7
  23. package/lib/command/AcApSwitchBgCmd.js.map +1 -1
  24. package/lib/command/AcApZoomCmd.d.ts.map +1 -1
  25. package/lib/command/AcApZoomCmd.js +3 -3
  26. package/lib/command/AcApZoomCmd.js.map +1 -1
  27. package/lib/command/convert/index.d.ts +0 -1
  28. package/lib/command/convert/index.d.ts.map +1 -1
  29. package/lib/command/convert/index.js +0 -1
  30. package/lib/command/convert/index.js.map +1 -1
  31. package/lib/command/draw/AcApArcCmd.d.ts.map +1 -1
  32. package/lib/command/draw/AcApArcCmd.js +47 -20
  33. package/lib/command/draw/AcApArcCmd.js.map +1 -1
  34. package/lib/command/draw/AcApCircleCmd.d.ts.map +1 -1
  35. package/lib/command/draw/AcApCircleCmd.js +5 -6
  36. package/lib/command/draw/AcApCircleCmd.js.map +1 -1
  37. package/lib/command/draw/AcApEllipseCmd.d.ts.map +1 -1
  38. package/lib/command/draw/AcApEllipseCmd.js +4 -6
  39. package/lib/command/draw/AcApEllipseCmd.js.map +1 -1
  40. package/lib/command/draw/AcApMLineCmd.d.ts.map +1 -1
  41. package/lib/command/draw/AcApMLineCmd.js +4 -7
  42. package/lib/command/draw/AcApMLineCmd.js.map +1 -1
  43. package/lib/command/draw/AcApMTextCmd.d.ts.map +1 -1
  44. package/lib/command/draw/AcApMTextCmd.js +3 -1
  45. package/lib/command/draw/AcApMTextCmd.js.map +1 -1
  46. package/lib/command/draw/AcApPolygonCmd.d.ts.map +1 -1
  47. package/lib/command/draw/AcApPolygonCmd.js +4 -5
  48. package/lib/command/draw/AcApPolygonCmd.js.map +1 -1
  49. package/lib/command/draw/AcApPolylineCmd.d.ts +49 -0
  50. package/lib/command/draw/AcApPolylineCmd.d.ts.map +1 -1
  51. package/lib/command/draw/AcApPolylineCmd.js +200 -18
  52. package/lib/command/draw/AcApPolylineCmd.js.map +1 -1
  53. package/lib/command/draw/AcApRayCmd.d.ts.map +1 -1
  54. package/lib/command/draw/AcApRayCmd.js +2 -3
  55. package/lib/command/draw/AcApRayCmd.js.map +1 -1
  56. package/lib/command/draw/AcApRectCmd.d.ts.map +1 -1
  57. package/lib/command/draw/AcApRectCmd.js +10 -10
  58. package/lib/command/draw/AcApRectCmd.js.map +1 -1
  59. package/lib/command/draw/AcApSplineCmd.d.ts.map +1 -1
  60. package/lib/command/draw/AcApSplineCmd.js +3 -6
  61. package/lib/command/draw/AcApSplineCmd.js.map +1 -1
  62. package/lib/command/draw/AcApXLineCmd.d.ts.map +1 -1
  63. package/lib/command/draw/AcApXLineCmd.js +2 -3
  64. package/lib/command/draw/AcApXLineCmd.js.map +1 -1
  65. package/lib/command/measure/AcApClearMeasurementsCmd.d.ts +11 -0
  66. package/lib/command/measure/AcApClearMeasurementsCmd.d.ts.map +1 -1
  67. package/lib/command/measure/AcApClearMeasurementsCmd.js +15 -4
  68. package/lib/command/measure/AcApClearMeasurementsCmd.js.map +1 -1
  69. package/lib/command/measure/AcApMeasureAngleCmd.d.ts.map +1 -1
  70. package/lib/command/measure/AcApMeasureAngleCmd.js +15 -6
  71. package/lib/command/measure/AcApMeasureAngleCmd.js.map +1 -1
  72. package/lib/command/measure/AcApMeasureArcCmd.d.ts.map +1 -1
  73. package/lib/command/measure/AcApMeasureArcCmd.js +11 -4
  74. package/lib/command/measure/AcApMeasureArcCmd.js.map +1 -1
  75. package/lib/command/measure/AcApMeasureAreaCmd.d.ts.map +1 -1
  76. package/lib/command/measure/AcApMeasureAreaCmd.js +11 -4
  77. package/lib/command/measure/AcApMeasureAreaCmd.js.map +1 -1
  78. package/lib/command/measure/AcApMeasureDistanceCmd.d.ts +3 -2
  79. package/lib/command/measure/AcApMeasureDistanceCmd.d.ts.map +1 -1
  80. package/lib/command/measure/AcApMeasureDistanceCmd.js +14 -6
  81. package/lib/command/measure/AcApMeasureDistanceCmd.js.map +1 -1
  82. package/lib/command/modify/AcApOffsetCmd.d.ts +30 -0
  83. package/lib/command/modify/AcApOffsetCmd.d.ts.map +1 -0
  84. package/lib/command/modify/AcApOffsetCmd.js +425 -0
  85. package/lib/command/modify/AcApOffsetCmd.js.map +1 -0
  86. package/lib/command/modify/AcApRotateCmd.d.ts.map +1 -1
  87. package/lib/command/modify/AcApRotateCmd.js +3 -4
  88. package/lib/command/modify/AcApRotateCmd.js.map +1 -1
  89. package/lib/command/modify/index.d.ts +1 -0
  90. package/lib/command/modify/index.d.ts.map +1 -1
  91. package/lib/command/modify/index.js +1 -0
  92. package/lib/command/modify/index.js.map +1 -1
  93. package/lib/command/review/AcApRevCircleCmd.d.ts.map +1 -1
  94. package/lib/command/review/AcApRevCircleCmd.js +4 -1
  95. package/lib/command/review/AcApRevCircleCmd.js.map +1 -1
  96. package/lib/editor/global/AcEdUiColor.d.ts +183 -0
  97. package/lib/editor/global/AcEdUiColor.d.ts.map +1 -0
  98. package/lib/editor/global/AcEdUiColor.js +224 -0
  99. package/lib/editor/global/AcEdUiColor.js.map +1 -0
  100. package/lib/editor/global/AcEdUiTheme.d.ts +0 -1
  101. package/lib/editor/global/AcEdUiTheme.d.ts.map +1 -1
  102. package/lib/editor/global/AcEdUiTheme.js +0 -5
  103. package/lib/editor/global/AcEdUiTheme.js.map +1 -1
  104. package/lib/editor/global/eventBus.d.ts +3 -0
  105. package/lib/editor/global/eventBus.d.ts.map +1 -1
  106. package/lib/editor/global/eventBus.js.map +1 -1
  107. package/lib/editor/global/index.d.ts +1 -0
  108. package/lib/editor/global/index.d.ts.map +1 -1
  109. package/lib/editor/global/index.js +1 -0
  110. package/lib/editor/global/index.js.map +1 -1
  111. package/lib/editor/input/AcEdCursorManager.d.ts +4 -0
  112. package/lib/editor/input/AcEdCursorManager.d.ts.map +1 -1
  113. package/lib/editor/input/AcEdCursorManager.js +11 -8
  114. package/lib/editor/input/AcEdCursorManager.js.map +1 -1
  115. package/lib/editor/input/AcEdOrthoMode.d.ts +11 -0
  116. package/lib/editor/input/AcEdOrthoMode.d.ts.map +1 -0
  117. package/lib/editor/input/AcEdOrthoMode.js +22 -0
  118. package/lib/editor/input/AcEdOrthoMode.js.map +1 -0
  119. package/lib/editor/input/AcEdPolarTracking.d.ts +107 -0
  120. package/lib/editor/input/AcEdPolarTracking.d.ts.map +1 -0
  121. package/lib/editor/input/AcEdPolarTracking.js +398 -0
  122. package/lib/editor/input/AcEdPolarTracking.js.map +1 -0
  123. package/lib/editor/input/AcEdSelectionFilter.js +7 -6
  124. package/lib/editor/input/AcEdSelectionFilter.js.map +1 -1
  125. package/lib/editor/input/AcEditor.d.ts +4 -0
  126. package/lib/editor/input/AcEditor.d.ts.map +1 -1
  127. package/lib/editor/input/AcEditor.js +6 -0
  128. package/lib/editor/input/AcEditor.js.map +1 -1
  129. package/lib/editor/input/index.d.ts +2 -0
  130. package/lib/editor/input/index.d.ts.map +1 -1
  131. package/lib/editor/input/index.js +2 -0
  132. package/lib/editor/input/index.js.map +1 -1
  133. package/lib/editor/input/marker/AcEdMarker.d.ts.map +1 -1
  134. package/lib/editor/input/marker/AcEdMarker.js +3 -2
  135. package/lib/editor/input/marker/AcEdMarker.js.map +1 -1
  136. package/lib/editor/input/marker/AcEdOSnapMarkerManager.d.ts +4 -0
  137. package/lib/editor/input/marker/AcEdOSnapMarkerManager.d.ts.map +1 -1
  138. package/lib/editor/input/marker/AcEdOSnapMarkerManager.js +11 -0
  139. package/lib/editor/input/marker/AcEdOSnapMarkerManager.js.map +1 -1
  140. package/lib/editor/input/prompt/AcEdPromptDistanceOptions.d.ts.map +1 -1
  141. package/lib/editor/input/prompt/AcEdPromptDistanceOptions.js +1 -1
  142. package/lib/editor/input/prompt/AcEdPromptDistanceOptions.js.map +1 -1
  143. package/lib/editor/input/ui/AcEdCommandLine.d.ts.map +1 -1
  144. package/lib/editor/input/ui/AcEdCommandLine.js +1 -1
  145. package/lib/editor/input/ui/AcEdCommandLine.js.map +1 -1
  146. package/lib/editor/input/ui/AcEdFloatingInput.d.ts +13 -0
  147. package/lib/editor/input/ui/AcEdFloatingInput.d.ts.map +1 -1
  148. package/lib/editor/input/ui/AcEdFloatingInput.js +48 -3
  149. package/lib/editor/input/ui/AcEdFloatingInput.js.map +1 -1
  150. package/lib/editor/input/ui/AcEdFloatingInputTypes.d.ts +5 -0
  151. package/lib/editor/input/ui/AcEdFloatingInputTypes.d.ts.map +1 -1
  152. package/lib/editor/input/ui/AcEdFloatingMessage.js +1 -1
  153. package/lib/editor/input/ui/AcEdFloatingMessage.js.map +1 -1
  154. package/lib/editor/input/ui/AcEdInputManager.d.ts +25 -6
  155. package/lib/editor/input/ui/AcEdInputManager.d.ts.map +1 -1
  156. package/lib/editor/input/ui/AcEdInputManager.js +164 -63
  157. package/lib/editor/input/ui/AcEdInputManager.js.map +1 -1
  158. package/lib/editor/input/ui/AcEdMTextEditor.d.ts +67 -2
  159. package/lib/editor/input/ui/AcEdMTextEditor.d.ts.map +1 -1
  160. package/lib/editor/input/ui/AcEdMTextEditor.js +213 -21
  161. package/lib/editor/input/ui/AcEdMTextEditor.js.map +1 -1
  162. package/lib/editor/input/ui/AcEdRubberBand.d.ts +8 -0
  163. package/lib/editor/input/ui/AcEdRubberBand.d.ts.map +1 -1
  164. package/lib/editor/input/ui/AcEdRubberBand.js +62 -37
  165. package/lib/editor/input/ui/AcEdRubberBand.js.map +1 -1
  166. package/lib/i18n/en/command.d.ts +71 -11
  167. package/lib/i18n/en/command.d.ts.map +1 -1
  168. package/lib/i18n/en/command.js +74 -14
  169. package/lib/i18n/en/command.js.map +1 -1
  170. package/lib/i18n/en/jig.d.ts +8 -0
  171. package/lib/i18n/en/jig.d.ts.map +1 -1
  172. package/lib/i18n/en/jig.js +8 -0
  173. package/lib/i18n/en/jig.js.map +1 -1
  174. package/lib/i18n/zh/command.d.ts +71 -11
  175. package/lib/i18n/zh/command.d.ts.map +1 -1
  176. package/lib/i18n/zh/command.js +74 -14
  177. package/lib/i18n/zh/command.js.map +1 -1
  178. package/lib/i18n/zh/jig.d.ts +8 -0
  179. package/lib/i18n/zh/jig.d.ts.map +1 -1
  180. package/lib/i18n/zh/jig.js +8 -0
  181. package/lib/i18n/zh/jig.js.map +1 -1
  182. package/lib/index.d.ts +2 -1
  183. package/lib/index.d.ts.map +1 -1
  184. package/lib/index.js +2 -1
  185. package/lib/index.js.map +1 -1
  186. package/lib/plugin/AcApLazyPluginRegistration.d.ts +28 -0
  187. package/lib/plugin/AcApLazyPluginRegistration.d.ts.map +1 -0
  188. package/lib/plugin/AcApLazyPluginRegistration.js +2 -0
  189. package/lib/plugin/AcApLazyPluginRegistration.js.map +1 -0
  190. package/lib/plugin/AcApPluginManager.d.ts +38 -0
  191. package/lib/plugin/AcApPluginManager.d.ts.map +1 -1
  192. package/lib/plugin/AcApPluginManager.js +147 -22
  193. package/lib/plugin/AcApPluginManager.js.map +1 -1
  194. package/lib/plugin/index.d.ts +1 -0
  195. package/lib/plugin/index.d.ts.map +1 -1
  196. package/lib/plugin/index.js +1 -0
  197. package/lib/plugin/index.js.map +1 -1
  198. package/lib/util/AcApExportFileNameUtil.d.ts +22 -0
  199. package/lib/util/AcApExportFileNameUtil.d.ts.map +1 -0
  200. package/lib/util/AcApExportFileNameUtil.js +49 -0
  201. package/lib/util/AcApExportFileNameUtil.js.map +1 -0
  202. package/lib/util/AcApFontUtil.d.ts +79 -0
  203. package/lib/util/AcApFontUtil.d.ts.map +1 -0
  204. package/lib/util/AcApFontUtil.js +173 -0
  205. package/lib/util/AcApFontUtil.js.map +1 -0
  206. package/lib/util/index.d.ts +3 -0
  207. package/lib/util/index.d.ts.map +1 -1
  208. package/lib/util/index.js +3 -0
  209. package/lib/util/index.js.map +1 -1
  210. package/lib/util/yieldToMain.d.ts +5 -0
  211. package/lib/util/yieldToMain.d.ts.map +1 -0
  212. package/lib/util/yieldToMain.js +11 -0
  213. package/lib/util/yieldToMain.js.map +1 -0
  214. package/lib/view/AcTrLayoutView.d.ts +13 -1
  215. package/lib/view/AcTrLayoutView.d.ts.map +1 -1
  216. package/lib/view/AcTrLayoutView.js +20 -1
  217. package/lib/view/AcTrLayoutView.js.map +1 -1
  218. package/lib/view/AcTrLayoutViewManager.d.ts +3 -1
  219. package/lib/view/AcTrLayoutViewManager.d.ts.map +1 -1
  220. package/lib/view/AcTrLayoutViewManager.js +4 -2
  221. package/lib/view/AcTrLayoutViewManager.js.map +1 -1
  222. package/lib/view/AcTrScene.d.ts +38 -6
  223. package/lib/view/AcTrScene.d.ts.map +1 -1
  224. package/lib/view/AcTrScene.js +57 -30
  225. package/lib/view/AcTrScene.js.map +1 -1
  226. package/lib/view/AcTrView2d.d.ts +184 -1
  227. package/lib/view/AcTrView2d.d.ts.map +1 -1
  228. package/lib/view/AcTrView2d.js +657 -104
  229. package/lib/view/AcTrView2d.js.map +1 -1
  230. package/lib/view/index.d.ts +1 -0
  231. package/lib/view/index.d.ts.map +1 -1
  232. package/lib/view/index.js +1 -0
  233. package/lib/view/index.js.map +1 -1
  234. package/package.json +12 -9
  235. package/lib/command/convert/AcApConvertToSvgCmd.d.ts +0 -32
  236. package/lib/command/convert/AcApConvertToSvgCmd.d.ts.map +0 -1
  237. package/lib/command/convert/AcApConvertToSvgCmd.js +0 -98
  238. package/lib/command/convert/AcApConvertToSvgCmd.js.map +0 -1
  239. package/lib/command/convert/AcApSvgConvertor.d.ts +0 -53
  240. package/lib/command/convert/AcApSvgConvertor.d.ts.map +0 -1
  241. package/lib/command/convert/AcApSvgConvertor.js +0 -103
  242. package/lib/command/convert/AcApSvgConvertor.js.map +0 -1
@@ -0,0 +1,28 @@
1
+ import { AcApPlugin } from './AcApPlugin';
2
+ /**
3
+ * Descriptor for a plugin that is registered up front but loaded only when triggered.
4
+ *
5
+ * Register with {@link AcApPluginManager.registerLazyPlugin}. The plugin module is not
6
+ * fetched until the user runs one of the {@link triggers} commands.
7
+ *
8
+ * @example
9
+ * ```typescript
10
+ * pluginManager.registerLazyPlugin({
11
+ * name: 'PdfPlugin',
12
+ * triggers: ['cpdf', 'ipdf'],
13
+ * loader: async () => {
14
+ * const { createPdfPlugin } = await import('@mlightcad/cad-pdf-plugin')
15
+ * return createPdfPlugin()
16
+ * }
17
+ * })
18
+ * ```
19
+ */
20
+ export interface AcApLazyPluginRegistration {
21
+ /** Unique plugin identifier; must match {@link AcApPlugin.name} returned by {@link loader}. */
22
+ name: string;
23
+ /** Command names that load this plugin when executed (case-insensitive). */
24
+ triggers: string[];
25
+ /** Factory that creates the plugin instance when a trigger command runs. */
26
+ loader: () => AcApPlugin | Promise<AcApPlugin>;
27
+ }
28
+ //# sourceMappingURL=AcApLazyPluginRegistration.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AcApLazyPluginRegistration.d.ts","sourceRoot":"","sources":["../../src/plugin/AcApLazyPluginRegistration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAEzC;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,WAAW,0BAA0B;IACzC,+FAA+F;IAC/F,IAAI,EAAE,MAAM,CAAA;IACZ,4EAA4E;IAC5E,QAAQ,EAAE,MAAM,EAAE,CAAA;IAClB,4EAA4E;IAC5E,MAAM,EAAE,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAAA;CAC/C"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=AcApLazyPluginRegistration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AcApLazyPluginRegistration.js","sourceRoot":"","sources":["../../src/plugin/AcApLazyPluginRegistration.ts"],"names":[],"mappings":""}
@@ -1,5 +1,6 @@
1
1
  import { AcApContext } from '../app/AcApContext';
2
2
  import { AcEdCommandStack } from '../editor/command/AcEdCommandStack';
3
+ import { AcApLazyPluginRegistration } from './AcApLazyPluginRegistration';
3
4
  import { AcApPlugin } from './AcApPlugin';
4
5
  /**
5
6
  * Plugin manager for dynamically loading and unloading plugins.
@@ -35,6 +36,12 @@ import { AcApPlugin } from './AcApPlugin';
35
36
  export declare class AcApPluginManager {
36
37
  /** Map of loaded plugins by name */
37
38
  private _plugins;
39
+ /** Lazy plugin registrations keyed by plugin name */
40
+ private _lazyRegistrations;
41
+ /** Maps trigger command names to lazy plugin names */
42
+ private _triggerToPluginName;
43
+ /** In-flight lazy plugin loads keyed by plugin name */
44
+ private _lazyLoadPromises;
38
45
  /** The application context */
39
46
  private _context;
40
47
  /** The command manager */
@@ -62,6 +69,37 @@ export declare class AcApPluginManager {
62
69
  * ```
63
70
  */
64
71
  loadPlugin(plugin: AcApPlugin): Promise<void>;
72
+ /**
73
+ * Registers a lazy plugin without loading it.
74
+ *
75
+ * The plugin is loaded automatically when one of its trigger commands is
76
+ * requested via {@link loadByTrigger} or {@link AcApDocManager.sendStringToExecute}.
77
+ *
78
+ * @param registration - Lazy plugin descriptor (name, triggers, loader)
79
+ */
80
+ registerLazyPlugin(registration: AcApLazyPluginRegistration): void;
81
+ /**
82
+ * Returns whether a trigger command is registered to a lazy plugin.
83
+ *
84
+ * @param trigger - Command name to check (case-insensitive)
85
+ * @returns `true` if the trigger loads a lazy plugin
86
+ */
87
+ isLazyPluginTrigger(trigger: string): boolean;
88
+ /**
89
+ * Gets all trigger command names registered for lazy plugins.
90
+ *
91
+ * @returns Normalized (uppercase) trigger command names
92
+ */
93
+ getLazyPluginTriggers(): string[];
94
+ /**
95
+ * Loads the lazy plugin associated with a trigger command, if registered.
96
+ *
97
+ * Concurrent calls for the same plugin share one in-flight load promise.
98
+ *
99
+ * @param trigger - Command name that triggers lazy load (case-insensitive)
100
+ * @returns `true` when the plugin is loaded after this call, otherwise `false`
101
+ */
102
+ loadByTrigger(trigger: string): Promise<boolean>;
65
103
  /**
66
104
  * Unloads a plugin and calls its `onUnload` hook.
67
105
  *
@@ -1 +1 @@
1
- {"version":3,"file":"AcApPluginManager.d.ts","sourceRoot":"","sources":["../../src/plugin/AcApPluginManager.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAA;AACrE,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAEzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,qBAAa,iBAAiB;IAC5B,oCAAoC;IACpC,OAAO,CAAC,QAAQ,CAAyB;IACzC,8BAA8B;IAC9B,OAAO,CAAC,QAAQ,CAAa;IAC7B,0BAA0B;IAC1B,OAAO,CAAC,eAAe,CAAkB;IAEzC;;;;;OAKG;gBACS,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,gBAAgB;IAMlE;;;;;;;;;;;;;;OAcG;IACG,UAAU,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IA0BnD;;;;;;;;;;;;;;;;;OAiBG;IACG,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAuBxD;;;;;OAKG;IACH,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO;IAI3C;;;;;OAKG;IACH,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS;IAIrD;;;;OAIG;IACH,gBAAgB,IAAI,MAAM,EAAE;IAI5B;;;;;;;;;OASG;IACG,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;IAOvC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiCG;IACG,qBAAqB,CACzB,OAAO,EAAE,KAAK,CAAC,UAAU,GAAG,CAAC,MAAM,UAAU,CAAC,CAAC,EAC/C,OAAO,CAAC,EAAE;QAAE,eAAe,CAAC,EAAE,OAAO,CAAA;KAAE,GACtC,OAAO,CAAC;QACT,MAAM,EAAE,MAAM,EAAE,CAAA;QAChB,MAAM,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,KAAK,CAAA;SAAE,CAAC,CAAA;KAC9C,CAAC;IAiCF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAoCG;IACG,qBAAqB,CACzB,UAAU,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE;QACR,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;QACrB,eAAe,CAAC,EAAE,OAAO,CAAA;KAC1B,GACA,OAAO,CAAC;QACT,MAAM,EAAE,MAAM,EAAE,CAAA;QAChB,MAAM,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,KAAK,CAAA;SAAE,CAAC,CAAA;KAC9C,CAAC;CAyFH"}
1
+ {"version":3,"file":"AcApPluginManager.d.ts","sourceRoot":"","sources":["../../src/plugin/AcApPluginManager.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAA;AACrE,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAA;AACzE,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAEzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,qBAAa,iBAAiB;IAC5B,oCAAoC;IACpC,OAAO,CAAC,QAAQ,CAAyB;IACzC,qDAAqD;IACrD,OAAO,CAAC,kBAAkB,CAAyC;IACnE,sDAAsD;IACtD,OAAO,CAAC,oBAAoB,CAAqB;IACjD,uDAAuD;IACvD,OAAO,CAAC,iBAAiB,CAA+B;IACxD,8BAA8B;IAC9B,OAAO,CAAC,QAAQ,CAAa;IAC7B,0BAA0B;IAC1B,OAAO,CAAC,eAAe,CAAkB;IAEzC;;;;;OAKG;gBACS,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,gBAAgB;IASlE;;;;;;;;;;;;;;OAcG;IACG,UAAU,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IA0BnD;;;;;;;OAOG;IACH,kBAAkB,CAAC,YAAY,EAAE,0BAA0B,GAAG,IAAI;IAqClE;;;;;OAKG;IACH,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAI7C;;;;OAIG;IACH,qBAAqB,IAAI,MAAM,EAAE;IAIjC;;;;;;;OAOG;IACG,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAoDtD;;;;;;;;;;;;;;;;;OAiBG;IACG,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAuBxD;;;;;OAKG;IACH,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO;IAI3C;;;;;OAKG;IACH,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS;IAIrD;;;;OAIG;IACH,gBAAgB,IAAI,MAAM,EAAE;IAI5B;;;;;;;;;OASG;IACG,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;IAOvC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiCG;IACG,qBAAqB,CACzB,OAAO,EAAE,KAAK,CAAC,UAAU,GAAG,CAAC,MAAM,UAAU,CAAC,CAAC,EAC/C,OAAO,CAAC,EAAE;QAAE,eAAe,CAAC,EAAE,OAAO,CAAA;KAAE,GACtC,OAAO,CAAC;QACT,MAAM,EAAE,MAAM,EAAE,CAAA;QAChB,MAAM,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,KAAK,CAAA;SAAE,CAAC,CAAA;KAC9C,CAAC;IAiCF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAoCG;IACG,qBAAqB,CACzB,UAAU,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE;QACR,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;QACrB,eAAe,CAAC,EAAE,OAAO,CAAA;KAC1B,GACA,OAAO,CAAC;QACT,MAAM,EAAE,MAAM,EAAE,CAAA;QAChB,MAAM,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,KAAK,CAAA;SAAE,CAAC,CAAA;KAC9C,CAAC;CAyFH"}
@@ -86,6 +86,9 @@ var AcApPluginManager = /** @class */ (function () {
86
86
  */
87
87
  function AcApPluginManager(context, commandManager) {
88
88
  this._plugins = new Map();
89
+ this._lazyRegistrations = new Map();
90
+ this._triggerToPluginName = new Map();
91
+ this._lazyLoadPromises = new Map();
89
92
  this._context = context;
90
93
  this._commandManager = commandManager;
91
94
  }
@@ -135,6 +138,128 @@ var AcApPluginManager = /** @class */ (function () {
135
138
  });
136
139
  });
137
140
  };
141
+ /**
142
+ * Registers a lazy plugin without loading it.
143
+ *
144
+ * The plugin is loaded automatically when one of its trigger commands is
145
+ * requested via {@link loadByTrigger} or {@link AcApDocManager.sendStringToExecute}.
146
+ *
147
+ * @param registration - Lazy plugin descriptor (name, triggers, loader)
148
+ */
149
+ AcApPluginManager.prototype.registerLazyPlugin = function (registration) {
150
+ var e_1, _a;
151
+ var pluginName = registration.name;
152
+ if (!pluginName) {
153
+ throw new Error('[AcApPluginManager] Lazy plugin name is required');
154
+ }
155
+ if (this._lazyRegistrations.has(pluginName)) {
156
+ throw new Error("[AcApPluginManager] Lazy plugin '".concat(pluginName, "' is already registered"));
157
+ }
158
+ if (!registration.triggers.length) {
159
+ throw new Error("[AcApPluginManager] Lazy plugin '".concat(pluginName, "' requires at least one trigger"));
160
+ }
161
+ this._lazyRegistrations.set(pluginName, registration);
162
+ try {
163
+ for (var _b = __values(registration.triggers), _c = _b.next(); !_c.done; _c = _b.next()) {
164
+ var trigger = _c.value;
165
+ var normalizedTrigger = trigger.trim().toUpperCase();
166
+ if (!normalizedTrigger) {
167
+ continue;
168
+ }
169
+ if (this._triggerToPluginName.has(normalizedTrigger)) {
170
+ throw new Error("[AcApPluginManager] Trigger '".concat(trigger, "' is already registered to lazy plugin '").concat(this._triggerToPluginName.get(normalizedTrigger), "'"));
171
+ }
172
+ this._triggerToPluginName.set(normalizedTrigger, pluginName);
173
+ }
174
+ }
175
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
176
+ finally {
177
+ try {
178
+ if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
179
+ }
180
+ finally { if (e_1) throw e_1.error; }
181
+ }
182
+ };
183
+ /**
184
+ * Returns whether a trigger command is registered to a lazy plugin.
185
+ *
186
+ * @param trigger - Command name to check (case-insensitive)
187
+ * @returns `true` if the trigger loads a lazy plugin
188
+ */
189
+ AcApPluginManager.prototype.isLazyPluginTrigger = function (trigger) {
190
+ return this._triggerToPluginName.has(trigger.trim().toUpperCase());
191
+ };
192
+ /**
193
+ * Gets all trigger command names registered for lazy plugins.
194
+ *
195
+ * @returns Normalized (uppercase) trigger command names
196
+ */
197
+ AcApPluginManager.prototype.getLazyPluginTriggers = function () {
198
+ return Array.from(this._triggerToPluginName.keys());
199
+ };
200
+ /**
201
+ * Loads the lazy plugin associated with a trigger command, if registered.
202
+ *
203
+ * Concurrent calls for the same plugin share one in-flight load promise.
204
+ *
205
+ * @param trigger - Command name that triggers lazy load (case-insensitive)
206
+ * @returns `true` when the plugin is loaded after this call, otherwise `false`
207
+ */
208
+ AcApPluginManager.prototype.loadByTrigger = function (trigger) {
209
+ return __awaiter(this, void 0, void 0, function () {
210
+ var normalizedTrigger, pluginName, inFlight, registration, loadPromise;
211
+ var _this = this;
212
+ return __generator(this, function (_a) {
213
+ normalizedTrigger = trigger.trim().toUpperCase();
214
+ pluginName = this._triggerToPluginName.get(normalizedTrigger);
215
+ if (!pluginName) {
216
+ return [2 /*return*/, false];
217
+ }
218
+ if (this.isPluginLoaded(pluginName)) {
219
+ return [2 /*return*/, true];
220
+ }
221
+ inFlight = this._lazyLoadPromises.get(pluginName);
222
+ if (inFlight) {
223
+ return [2 /*return*/, inFlight];
224
+ }
225
+ registration = this._lazyRegistrations.get(pluginName);
226
+ if (!registration) {
227
+ return [2 /*return*/, false];
228
+ }
229
+ loadPromise = (function () { return __awaiter(_this, void 0, void 0, function () {
230
+ var plugin, error_2;
231
+ return __generator(this, function (_a) {
232
+ switch (_a.label) {
233
+ case 0:
234
+ _a.trys.push([0, 4, 5, 6]);
235
+ return [4 /*yield*/, registration.loader()];
236
+ case 1:
237
+ plugin = _a.sent();
238
+ if (plugin.name !== pluginName) {
239
+ throw new Error("[AcApPluginManager] Lazy plugin '".concat(pluginName, "' loader returned plugin '").concat(plugin.name, "'"));
240
+ }
241
+ if (!!this.isPluginLoaded(pluginName)) return [3 /*break*/, 3];
242
+ return [4 /*yield*/, this.loadPlugin(plugin)];
243
+ case 2:
244
+ _a.sent();
245
+ _a.label = 3;
246
+ case 3: return [2 /*return*/, true];
247
+ case 4:
248
+ error_2 = _a.sent();
249
+ log.error("[AcApPluginManager] Failed to load lazy plugin '".concat(pluginName, "' for trigger '").concat(trigger, "':"), error_2);
250
+ return [2 /*return*/, false];
251
+ case 5:
252
+ this._lazyLoadPromises.delete(pluginName);
253
+ return [7 /*endfinally*/];
254
+ case 6: return [2 /*return*/];
255
+ }
256
+ });
257
+ }); })();
258
+ this._lazyLoadPromises.set(pluginName, loadPromise);
259
+ return [2 /*return*/, loadPromise];
260
+ });
261
+ });
262
+ };
138
263
  /**
139
264
  * Unloads a plugin and calls its `onUnload` hook.
140
265
  *
@@ -155,7 +280,7 @@ var AcApPluginManager = /** @class */ (function () {
155
280
  */
156
281
  AcApPluginManager.prototype.unloadPlugin = function (pluginName) {
157
282
  return __awaiter(this, void 0, void 0, function () {
158
- var plugin, error_2;
283
+ var plugin, error_3;
159
284
  return __generator(this, function (_a) {
160
285
  switch (_a.label) {
161
286
  case 0:
@@ -173,8 +298,8 @@ var AcApPluginManager = /** @class */ (function () {
173
298
  _a.sent();
174
299
  return [3 /*break*/, 4];
175
300
  case 3:
176
- error_2 = _a.sent();
177
- log.error("[AcApPluginManager] Error unloading plugin '".concat(pluginName, "':"), error_2);
301
+ error_3 = _a.sent();
302
+ log.error("[AcApPluginManager] Error unloading plugin '".concat(pluginName, "':"), error_3);
178
303
  return [3 /*break*/, 4];
179
304
  case 4:
180
305
  // Remove plugin from map
@@ -222,8 +347,8 @@ var AcApPluginManager = /** @class */ (function () {
222
347
  */
223
348
  AcApPluginManager.prototype.unloadAllPlugins = function () {
224
349
  return __awaiter(this, void 0, void 0, function () {
225
- var pluginNames, pluginNames_1, pluginNames_1_1, pluginName, e_1_1;
226
- var e_1, _a;
350
+ var pluginNames, pluginNames_1, pluginNames_1_1, pluginName, e_2_1;
351
+ var e_2, _a;
227
352
  return __generator(this, function (_b) {
228
353
  switch (_b.label) {
229
354
  case 0:
@@ -245,14 +370,14 @@ var AcApPluginManager = /** @class */ (function () {
245
370
  return [3 /*break*/, 2];
246
371
  case 5: return [3 /*break*/, 8];
247
372
  case 6:
248
- e_1_1 = _b.sent();
249
- e_1 = { error: e_1_1 };
373
+ e_2_1 = _b.sent();
374
+ e_2 = { error: e_2_1 };
250
375
  return [3 /*break*/, 8];
251
376
  case 7:
252
377
  try {
253
378
  if (pluginNames_1_1 && !pluginNames_1_1.done && (_a = pluginNames_1.return)) _a.call(pluginNames_1);
254
379
  }
255
- finally { if (e_1) throw e_1.error; }
380
+ finally { if (e_2) throw e_2.error; }
256
381
  return [7 /*endfinally*/];
257
382
  case 8: return [2 /*return*/];
258
383
  }
@@ -295,8 +420,8 @@ var AcApPluginManager = /** @class */ (function () {
295
420
  */
296
421
  AcApPluginManager.prototype.loadPluginsFromConfig = function (plugins, options) {
297
422
  return __awaiter(this, void 0, void 0, function () {
298
- var continueOnError, loaded, failed, plugins_1, plugins_1_1, pluginOrFactory, plugin, error_3, pluginName, err, e_2_1;
299
- var e_2, _a;
423
+ var continueOnError, loaded, failed, plugins_1, plugins_1_1, pluginOrFactory, plugin, error_4, pluginName, err, e_3_1;
424
+ var e_3, _a;
300
425
  var _b;
301
426
  return __generator(this, function (_c) {
302
427
  switch (_c.label) {
@@ -324,11 +449,11 @@ var AcApPluginManager = /** @class */ (function () {
324
449
  loaded.push(plugin.name);
325
450
  return [3 /*break*/, 6];
326
451
  case 5:
327
- error_3 = _c.sent();
452
+ error_4 = _c.sent();
328
453
  pluginName = typeof pluginOrFactory === 'function'
329
454
  ? 'Unknown'
330
455
  : pluginOrFactory.name || 'Unknown';
331
- err = error_3 instanceof Error ? error_3 : new Error(String(error_3));
456
+ err = error_4 instanceof Error ? error_4 : new Error(String(error_4));
332
457
  failed.push({ name: pluginName, error: err });
333
458
  if (!continueOnError) {
334
459
  throw err;
@@ -339,14 +464,14 @@ var AcApPluginManager = /** @class */ (function () {
339
464
  return [3 /*break*/, 2];
340
465
  case 7: return [3 /*break*/, 10];
341
466
  case 8:
342
- e_2_1 = _c.sent();
343
- e_2 = { error: e_2_1 };
467
+ e_3_1 = _c.sent();
468
+ e_3 = { error: e_3_1 };
344
469
  return [3 /*break*/, 10];
345
470
  case 9:
346
471
  try {
347
472
  if (plugins_1_1 && !plugins_1_1.done && (_a = plugins_1.return)) _a.call(plugins_1);
348
473
  }
349
- finally { if (e_2) throw e_2.error; }
474
+ finally { if (e_3) throw e_3.error; }
350
475
  return [7 /*endfinally*/];
351
476
  case 10: return [2 /*return*/, { loaded: loaded, failed: failed }];
352
477
  }
@@ -392,8 +517,8 @@ var AcApPluginManager = /** @class */ (function () {
392
517
  */
393
518
  AcApPluginManager.prototype.loadPluginsFromFolder = function (folderPath, options) {
394
519
  return __awaiter(this, void 0, void 0, function () {
395
- var continueOnError, pluginList, loaded, failed, normalizedPath, basePath, pluginList_1, pluginList_1_1, pluginFile, importPath, module_1, pluginExport, className, fileName, exportName, plugin, error_4, err, e_3_1;
396
- var e_3, _a;
520
+ var continueOnError, pluginList, loaded, failed, normalizedPath, basePath, pluginList_1, pluginList_1_1, pluginFile, importPath, module_1, pluginExport, className, fileName, exportName, plugin, error_5, err, e_4_1;
521
+ var e_4, _a;
397
522
  var _b;
398
523
  return __generator(this, function (_c) {
399
524
  switch (_c.label) {
@@ -468,8 +593,8 @@ var AcApPluginManager = /** @class */ (function () {
468
593
  loaded.push(plugin.name);
469
594
  return [3 /*break*/, 7];
470
595
  case 6:
471
- error_4 = _c.sent();
472
- err = error_4 instanceof Error ? error_4 : new Error(String(error_4));
596
+ error_5 = _c.sent();
597
+ err = error_5 instanceof Error ? error_5 : new Error(String(error_5));
473
598
  failed.push({ name: pluginFile, error: err });
474
599
  if (!continueOnError) {
475
600
  throw err;
@@ -480,14 +605,14 @@ var AcApPluginManager = /** @class */ (function () {
480
605
  return [3 /*break*/, 2];
481
606
  case 8: return [3 /*break*/, 11];
482
607
  case 9:
483
- e_3_1 = _c.sent();
484
- e_3 = { error: e_3_1 };
608
+ e_4_1 = _c.sent();
609
+ e_4 = { error: e_4_1 };
485
610
  return [3 /*break*/, 11];
486
611
  case 10:
487
612
  try {
488
613
  if (pluginList_1_1 && !pluginList_1_1.done && (_a = pluginList_1.return)) _a.call(pluginList_1);
489
614
  }
490
- finally { if (e_3) throw e_3.error; }
615
+ finally { if (e_4) throw e_4.error; }
491
616
  return [7 /*endfinally*/];
492
617
  case 11: return [2 /*return*/, { loaded: loaded, failed: failed }];
493
618
  }
@@ -1 +1 @@
1
- {"version":3,"file":"AcApPluginManager.js","sourceRoot":"","sources":["../../src/plugin/AcApPluginManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AcApPluginManager.js","sourceRoot":"","sources":["../../src/plugin/AcApPluginManager.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  export * from './AcApPlugin';
2
2
  export * from './AcApPluginManager';
3
3
  export * from './AcApPluginExample';
4
+ export * from './AcApLazyPluginRegistration';
4
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/plugin/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAC5B,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/plugin/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAC5B,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA;AACnC,cAAc,8BAA8B,CAAA"}
@@ -1,4 +1,5 @@
1
1
  export * from './AcApPlugin';
2
2
  export * from './AcApPluginManager';
3
3
  export * from './AcApPluginExample';
4
+ export * from './AcApLazyPluginRegistration';
4
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/plugin/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAC5B,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/plugin/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAC5B,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA;AACnC,cAAc,8BAA8B,CAAA"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Strips path and extension from a drawing file name for use as an export base name.
3
+ *
4
+ * @param fileName - Source drawing name (may include path or `.dwg` / `.dxf`).
5
+ * @param fallback - Value when `fileName` is empty after normalization.
6
+ */
7
+ export declare function getDrawingExportBaseName(fileName: string | undefined, fallback?: string): string;
8
+ /**
9
+ * Builds a browser download file name from a drawing name.
10
+ *
11
+ * The first export keeps the drawing base name (for example `floor-plan.svg`).
12
+ * Subsequent exports with the same base name and extension receive numeric
13
+ * suffixes (`floor-plan-2.svg`, `floor-plan-3.svg`, …) within the session.
14
+ *
15
+ * @param sourceName - Drawing file name or title.
16
+ * @param extension - Target extension, with or without a leading dot.
17
+ * @param fallbackBaseName - Base name when `sourceName` is empty.
18
+ */
19
+ export declare function resolveExportDownloadName(sourceName: string | undefined, extension: string, fallbackBaseName?: string): string;
20
+ /** Clears session-scoped export name tracking. Intended for tests. */
21
+ export declare function resetExportDownloadNamesForTests(): void;
22
+ //# sourceMappingURL=AcApExportFileNameUtil.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AcApExportFileNameUtil.d.ts","sourceRoot":"","sources":["../../src/util/AcApExportFileNameUtil.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,QAAQ,SAAY,GACnB,MAAM,CASR;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,yBAAyB,CACvC,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,SAAS,EAAE,MAAM,EACjB,gBAAgB,SAAY,GAC3B,MAAM,CAgBR;AAED,sEAAsE;AACtE,wBAAgB,gCAAgC,SAE/C"}
@@ -0,0 +1,49 @@
1
+ var usedDownloadNames = new Set();
2
+ /**
3
+ * Strips path and extension from a drawing file name for use as an export base name.
4
+ *
5
+ * @param fileName - Source drawing name (may include path or `.dwg` / `.dxf`).
6
+ * @param fallback - Value when `fileName` is empty after normalization.
7
+ */
8
+ export function getDrawingExportBaseName(fileName, fallback) {
9
+ var _a;
10
+ if (fallback === void 0) { fallback = 'drawing'; }
11
+ var normalized = fileName === null || fileName === void 0 ? void 0 : fileName.trim();
12
+ if (!normalized) {
13
+ return fallback;
14
+ }
15
+ var leafName = (_a = normalized.split(/[\\/]/).pop()) !== null && _a !== void 0 ? _a : normalized;
16
+ var base = leafName.replace(/\.[^.]+$/, '').trim();
17
+ return base || fallback;
18
+ }
19
+ /**
20
+ * Builds a browser download file name from a drawing name.
21
+ *
22
+ * The first export keeps the drawing base name (for example `floor-plan.svg`).
23
+ * Subsequent exports with the same base name and extension receive numeric
24
+ * suffixes (`floor-plan-2.svg`, `floor-plan-3.svg`, …) within the session.
25
+ *
26
+ * @param sourceName - Drawing file name or title.
27
+ * @param extension - Target extension, with or without a leading dot.
28
+ * @param fallbackBaseName - Base name when `sourceName` is empty.
29
+ */
30
+ export function resolveExportDownloadName(sourceName, extension, fallbackBaseName) {
31
+ if (fallbackBaseName === void 0) { fallbackBaseName = 'drawing'; }
32
+ var baseName = getDrawingExportBaseName(sourceName, fallbackBaseName);
33
+ var normalizedExtension = extension.startsWith('.')
34
+ ? extension
35
+ : ".".concat(extension);
36
+ var suffix = 0;
37
+ var candidate = "".concat(baseName).concat(normalizedExtension);
38
+ while (usedDownloadNames.has(candidate)) {
39
+ suffix += 1;
40
+ candidate = "".concat(baseName, "-").concat(suffix + 1).concat(normalizedExtension);
41
+ }
42
+ usedDownloadNames.add(candidate);
43
+ return candidate;
44
+ }
45
+ /** Clears session-scoped export name tracking. Intended for tests. */
46
+ export function resetExportDownloadNamesForTests() {
47
+ usedDownloadNames.clear();
48
+ }
49
+ //# sourceMappingURL=AcApExportFileNameUtil.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AcApExportFileNameUtil.js","sourceRoot":"","sources":["../../src/util/AcApExportFileNameUtil.ts"],"names":[],"mappings":"AAAA,IAAM,iBAAiB,GAAG,IAAI,GAAG,EAAU,CAAA;AAE3C;;;;;GAKG;AACH,MAAM,UAAU,wBAAwB,CACtC,QAA4B,EAC5B,QAAoB;;IAApB,yBAAA,EAAA,oBAAoB;IAEpB,IAAM,UAAU,GAAG,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,EAAE,CAAA;IACnC,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,QAAQ,CAAA;IACjB,CAAC;IAED,IAAM,QAAQ,GAAG,MAAA,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,mCAAI,UAAU,CAAA;IAC9D,IAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;IACpD,OAAO,IAAI,IAAI,QAAQ,CAAA;AACzB,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,yBAAyB,CACvC,UAA8B,EAC9B,SAAiB,EACjB,gBAA4B;IAA5B,iCAAA,EAAA,4BAA4B;IAE5B,IAAM,QAAQ,GAAG,wBAAwB,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAA;IACvE,IAAM,mBAAmB,GAAG,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC;QACnD,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,WAAI,SAAS,CAAE,CAAA;IAEnB,IAAI,MAAM,GAAG,CAAC,CAAA;IACd,IAAI,SAAS,GAAG,UAAG,QAAQ,SAAG,mBAAmB,CAAE,CAAA;IAEnD,OAAO,iBAAiB,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;QACxC,MAAM,IAAI,CAAC,CAAA;QACX,SAAS,GAAG,UAAG,QAAQ,cAAI,MAAM,GAAG,CAAC,SAAG,mBAAmB,CAAE,CAAA;IAC/D,CAAC;IAED,iBAAiB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;IAChC,OAAO,SAAS,CAAA;AAClB,CAAC;AAED,sEAAsE;AACtE,MAAM,UAAU,gCAAgC;IAC9C,iBAAiB,CAAC,KAAK,EAAE,CAAA;AAC3B,CAAC"}
@@ -0,0 +1,79 @@
1
+ import { type FontInfo, type FontType, type ShxFontData, ShxParserFont } from '@mlightcad/mtext-renderer';
2
+ export type { FontInfo, FontType, ShxFontData } from '@mlightcad/mtext-renderer';
3
+ export { ShxParserFont } from '@mlightcad/mtext-renderer';
4
+ /**
5
+ * Font helpers for MTEXT and UI (character map, ribbon): wraps the shared
6
+ * {@link FontManager} cache, SHX parsing ({@link ShxParserFont}), and drawing
7
+ * font catalog ({@link AcApDocManager}).
8
+ *
9
+ * @remarks
10
+ * Keeps UI packages off direct `@mlightcad/mtext-renderer` imports while using
11
+ * the same global font pipeline as rendering.
12
+ */
13
+ export declare class AcApFontUtil {
14
+ /**
15
+ * @inheritdoc FontManager.isFontLoaded
16
+ */
17
+ static isFontLoaded(fontName: string): boolean;
18
+ /**
19
+ * @inheritdoc FontManager.getFontType
20
+ */
21
+ static getFontType(fontName: string): FontType | undefined;
22
+ /**
23
+ * Font name used at render time when the requested font is missing.
24
+ *
25
+ * Checks user {@link FontManager.setFontMapping | font mapping} first, then falls
26
+ * back to {@link FontManager.defaultFont}.
27
+ *
28
+ * @param fontName - Original font name referenced by the drawing.
29
+ * @returns The loaded font name if available; otherwise the mapped or default replacement.
30
+ */
31
+ static getReplacementFontName(fontName: string): string;
32
+ /**
33
+ * Sorted SHX glyph indices present in the loaded font payload.
34
+ *
35
+ * @param fontName - Name as registered in the font manager after load.
36
+ * @returns Code list, or empty when the font is missing or not SHX.
37
+ */
38
+ static getShxCodePoints(fontName: string): number[];
39
+ /**
40
+ * Raw SHX font data for UI previews (e.g. character map SVG).
41
+ *
42
+ * @param fontName - Name as registered in {@link FontManager}.
43
+ * @returns Parsed SHX payload, or `undefined` if unavailable or not SHX.
44
+ */
45
+ static getLoadedShxFontData(fontName: string): ShxFontData | undefined;
46
+ /**
47
+ * Creates a SHX parser for inline SVG glyph previews.
48
+ *
49
+ * @param data - Parsed SHX payload from {@link getLoadedShxFontData}.
50
+ */
51
+ static createShxParserFont(data: ShxFontData): ShxParserFont;
52
+ /**
53
+ * Looks up {@link FontInfo} for a display name against the drawing’s available-font
54
+ * catalog ({@link AcApDocManager.instance.avaiableFonts}).
55
+ *
56
+ * @remarks
57
+ * Matching is case-insensitive; the first catalog entry whose `name` array
58
+ * contains a trimmed, case-insensitive match wins.
59
+ */
60
+ static findFontInfoByName(fontName: string): FontInfo | undefined;
61
+ /**
62
+ * Declared font engine kind from the CAD font catalog only (before or after load).
63
+ *
64
+ * @remarks
65
+ * Use when {@link AcApFontUtil} has not yet loaded the font: the catalog still
66
+ * knows `shx` vs `mesh`. After load, {@link getFontType} is authoritative.
67
+ */
68
+ static getCatalogFontType(fontName: string): 'shx' | 'mesh' | undefined;
69
+ /**
70
+ * Loads a font through the same pipeline as MTEXT rendering so binaries are cached
71
+ * and SHX glyph tables are available.
72
+ *
73
+ * @remarks
74
+ * No-ops when there is no {@link AcApDocManager.instance} or the font is already
75
+ * loaded. Delegates to {@link AcApDocManager.loadFonts}.
76
+ */
77
+ static ensureDrawingFontLoaded(fontName: string): Promise<void>;
78
+ }
79
+ //# sourceMappingURL=AcApFontUtil.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AcApFontUtil.d.ts","sourceRoot":"","sources":["../../src/util/AcApFontUtil.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,QAAQ,EAEb,KAAK,QAAQ,EACb,KAAK,WAAW,EAChB,aAAa,EACd,MAAM,2BAA2B,CAAA;AAIlC,YAAY,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;AAChF,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AAEzD;;;;;;;;GAQG;AACH,qBAAa,YAAY;IACvB;;OAEG;IACH,MAAM,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAI9C;;OAEG;IACH,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS;IAI1D;;;;;;;;OAQG;IACH,MAAM,CAAC,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IAIvD;;;;;OAKG;IACH,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE;IAWnD;;;;;OAKG;IACH,MAAM,CAAC,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS;IAMtE;;;;OAIG;IACH,MAAM,CAAC,mBAAmB,CAAC,IAAI,EAAE,WAAW,GAAG,aAAa;IAI5D;;;;;;;OAOG;IACH,MAAM,CAAC,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS;IASjE;;;;;;OAMG;IACH,MAAM,CAAC,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,SAAS;IAIvE;;;;;;;OAOG;WACU,uBAAuB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAMtE"}