@mlightcad/cad-simple-viewer 1.5.8 → 1.5.9

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 (201) hide show
  1. package/README.md +12 -4
  2. package/dist/cad-simple-viewer.js +8556 -6655
  3. package/dist/cad-simple-viewer.umd.cjs +200 -37
  4. package/dist/libredwg-parser-worker.js +2061 -2059
  5. package/dist/mtext-renderer-worker.js +1878 -1865
  6. package/lib/app/AcApBrand.d.ts +36 -0
  7. package/lib/app/AcApBrand.d.ts.map +1 -0
  8. package/lib/app/AcApBrand.js +63 -0
  9. package/lib/app/AcApBrand.js.map +1 -0
  10. package/lib/app/AcApBusyIndicator.d.ts.map +1 -1
  11. package/lib/app/AcApBusyIndicator.js +2 -2
  12. package/lib/app/AcApBusyIndicator.js.map +1 -1
  13. package/lib/app/AcApDocManager.d.ts +11 -15
  14. package/lib/app/AcApDocManager.d.ts.map +1 -1
  15. package/lib/app/AcApDocManager.js +60 -35
  16. package/lib/app/AcApDocManager.js.map +1 -1
  17. package/lib/app/AcApOpenFileDialog.d.ts.map +1 -1
  18. package/lib/app/AcApOpenFileDialog.js +8 -4
  19. package/lib/app/AcApOpenFileDialog.js.map +1 -1
  20. package/lib/app/AcApOpenFileProfiler.d.ts +58 -0
  21. package/lib/app/AcApOpenFileProfiler.d.ts.map +1 -0
  22. package/lib/app/AcApOpenFileProfiler.js +353 -0
  23. package/lib/app/AcApOpenFileProfiler.js.map +1 -0
  24. package/lib/app/AcApOpenFileProgressController.d.ts +12 -0
  25. package/lib/app/AcApOpenFileProgressController.d.ts.map +1 -1
  26. package/lib/app/AcApOpenFileProgressController.js +85 -5
  27. package/lib/app/AcApOpenFileProgressController.js.map +1 -1
  28. package/lib/app/AcApProgress.d.ts +9 -2
  29. package/lib/app/AcApProgress.d.ts.map +1 -1
  30. package/lib/app/AcApProgress.js +40 -12
  31. package/lib/app/AcApProgress.js.map +1 -1
  32. package/lib/app/AcApWebworkerReadiness.d.ts.map +1 -1
  33. package/lib/app/AcApWebworkerReadiness.js +6 -7
  34. package/lib/app/AcApWebworkerReadiness.js.map +1 -1
  35. package/lib/app/AcApWorkerAssets.d.ts +27 -0
  36. package/lib/app/AcApWorkerAssets.d.ts.map +1 -0
  37. package/lib/app/AcApWorkerAssets.js +27 -0
  38. package/lib/app/AcApWorkerAssets.js.map +1 -0
  39. package/lib/app/index.d.ts +3 -0
  40. package/lib/app/index.d.ts.map +1 -1
  41. package/lib/app/index.js +3 -0
  42. package/lib/app/index.js.map +1 -1
  43. package/lib/command/AcApAboutCmd.d.ts +21 -0
  44. package/lib/command/AcApAboutCmd.d.ts.map +1 -0
  45. package/lib/command/AcApAboutCmd.js +119 -0
  46. package/lib/command/AcApAboutCmd.js.map +1 -0
  47. package/lib/command/AcApSysVarCmd.d.ts.map +1 -1
  48. package/lib/command/AcApSysVarCmd.js +6 -4
  49. package/lib/command/AcApSysVarCmd.js.map +1 -1
  50. package/lib/command/convert/AcApConvertToPngCmd.js +1 -1
  51. package/lib/command/convert/AcApConvertToPngCmd.js.map +1 -1
  52. package/lib/command/convert/AcApDxfConvertor.d.ts.map +1 -1
  53. package/lib/command/convert/AcApDxfConvertor.js +2 -1
  54. package/lib/command/convert/AcApDxfConvertor.js.map +1 -1
  55. package/lib/command/convert/AcApEntityPreviewCmd.js +1 -1
  56. package/lib/command/convert/AcApEntityPreviewCmd.js.map +1 -1
  57. package/lib/command/draw/AcApHatchCmd.js +12 -10
  58. package/lib/command/draw/AcApHatchCmd.js.map +1 -1
  59. package/lib/command/draw/AcApImageAttachCmd.js +2 -2
  60. package/lib/command/draw/AcApImageAttachCmd.js.map +1 -1
  61. package/lib/command/draw/AcApInsertCmd.js +2 -2
  62. package/lib/command/draw/AcApInsertCmd.js.map +1 -1
  63. package/lib/command/draw/AcApPolygonCmd.d.ts.map +1 -1
  64. package/lib/command/draw/AcApPolygonCmd.js +3 -1
  65. package/lib/command/draw/AcApPolygonCmd.js.map +1 -1
  66. package/lib/command/draw/AcApXAttachCmd.d.ts.map +1 -1
  67. package/lib/command/draw/AcApXAttachCmd.js +10 -5
  68. package/lib/command/draw/AcApXAttachCmd.js.map +1 -1
  69. package/lib/command/index.d.ts +1 -0
  70. package/lib/command/index.d.ts.map +1 -1
  71. package/lib/command/index.js +1 -0
  72. package/lib/command/index.js.map +1 -1
  73. package/lib/command/modify/AcApCopyCmd.d.ts.map +1 -1
  74. package/lib/command/modify/AcApCopyCmd.js +6 -2
  75. package/lib/command/modify/AcApCopyCmd.js.map +1 -1
  76. package/lib/command/modify/AcApOffsetCmd.d.ts.map +1 -1
  77. package/lib/command/modify/AcApOffsetCmd.js +1 -4
  78. package/lib/command/modify/AcApOffsetCmd.js.map +1 -1
  79. package/lib/editor/global/AcEdUiTheme.d.ts +12 -0
  80. package/lib/editor/global/AcEdUiTheme.d.ts.map +1 -1
  81. package/lib/editor/global/AcEdUiTheme.js +26 -0
  82. package/lib/editor/global/AcEdUiTheme.js.map +1 -1
  83. package/lib/editor/input/prompt/AcEdPromptAngleOptions.d.ts +1 -0
  84. package/lib/editor/input/prompt/AcEdPromptAngleOptions.d.ts.map +1 -1
  85. package/lib/editor/input/prompt/AcEdPromptAngleOptions.js +5 -0
  86. package/lib/editor/input/prompt/AcEdPromptAngleOptions.js.map +1 -1
  87. package/lib/editor/input/prompt/AcEdPromptKeywordOptions.d.ts +10 -0
  88. package/lib/editor/input/prompt/AcEdPromptKeywordOptions.d.ts.map +1 -1
  89. package/lib/editor/input/prompt/AcEdPromptKeywordOptions.js +19 -0
  90. package/lib/editor/input/prompt/AcEdPromptKeywordOptions.js.map +1 -1
  91. package/lib/editor/input/prompt/AcEdPromptNumericalOptions.d.ts +1 -0
  92. package/lib/editor/input/prompt/AcEdPromptNumericalOptions.d.ts.map +1 -1
  93. package/lib/editor/input/prompt/AcEdPromptNumericalOptions.js +5 -0
  94. package/lib/editor/input/prompt/AcEdPromptNumericalOptions.js.map +1 -1
  95. package/lib/editor/input/prompt/AcEdPromptOptions.d.ts +20 -0
  96. package/lib/editor/input/prompt/AcEdPromptOptions.d.ts.map +1 -1
  97. package/lib/editor/input/prompt/AcEdPromptOptions.js +29 -0
  98. package/lib/editor/input/prompt/AcEdPromptOptions.js.map +1 -1
  99. package/lib/editor/input/prompt/AcEdPromptPointOptions.d.ts +18 -0
  100. package/lib/editor/input/prompt/AcEdPromptPointOptions.d.ts.map +1 -1
  101. package/lib/editor/input/prompt/AcEdPromptPointOptions.js +49 -0
  102. package/lib/editor/input/prompt/AcEdPromptPointOptions.js.map +1 -1
  103. package/lib/editor/input/prompt/AcEdPromptStringOptions.d.ts +1 -0
  104. package/lib/editor/input/prompt/AcEdPromptStringOptions.d.ts.map +1 -1
  105. package/lib/editor/input/prompt/AcEdPromptStringOptions.js +5 -0
  106. package/lib/editor/input/prompt/AcEdPromptStringOptions.js.map +1 -1
  107. package/lib/editor/input/ui/AcEdCommandLine.d.ts.map +1 -1
  108. package/lib/editor/input/ui/AcEdCommandLine.js +6 -5
  109. package/lib/editor/input/ui/AcEdCommandLine.js.map +1 -1
  110. package/lib/editor/input/ui/AcEdInputManager.d.ts.map +1 -1
  111. package/lib/editor/input/ui/AcEdInputManager.js +3 -1
  112. package/lib/editor/input/ui/AcEdInputManager.js.map +1 -1
  113. package/lib/i18n/AcApI18n.d.ts +1 -1
  114. package/lib/i18n/AcApI18n.d.ts.map +1 -1
  115. package/lib/i18n/AcApI18n.js +2 -1
  116. package/lib/i18n/AcApI18n.js.map +1 -1
  117. package/lib/i18n/cs/command.d.ts +390 -0
  118. package/lib/i18n/cs/command.d.ts.map +1 -0
  119. package/lib/i18n/cs/command.js +389 -0
  120. package/lib/i18n/cs/command.js.map +1 -0
  121. package/lib/i18n/cs/jig.d.ts +2 -0
  122. package/lib/i18n/cs/jig.d.ts.map +1 -0
  123. package/lib/i18n/cs/jig.js +7 -0
  124. package/lib/i18n/cs/jig.js.map +1 -0
  125. package/lib/i18n/cs/main.d.ts +58 -0
  126. package/lib/i18n/cs/main.d.ts.map +1 -0
  127. package/lib/i18n/cs/main.js +57 -0
  128. package/lib/i18n/cs/main.js.map +1 -0
  129. package/lib/i18n/en/command.d.ts +49 -1
  130. package/lib/i18n/en/command.d.ts.map +1 -1
  131. package/lib/i18n/en/command.js +49 -1
  132. package/lib/i18n/en/command.js.map +1 -1
  133. package/lib/i18n/en/main.d.ts +11 -0
  134. package/lib/i18n/en/main.d.ts.map +1 -1
  135. package/lib/i18n/en/main.js +11 -0
  136. package/lib/i18n/en/main.js.map +1 -1
  137. package/lib/i18n/index.d.ts.map +1 -1
  138. package/lib/i18n/index.js +8 -0
  139. package/lib/i18n/index.js.map +1 -1
  140. package/lib/i18n/tr/command.d.ts +49 -1
  141. package/lib/i18n/tr/command.d.ts.map +1 -1
  142. package/lib/i18n/tr/command.js +49 -1
  143. package/lib/i18n/tr/command.js.map +1 -1
  144. package/lib/i18n/tr/main.d.ts +11 -0
  145. package/lib/i18n/tr/main.d.ts.map +1 -1
  146. package/lib/i18n/tr/main.js +11 -0
  147. package/lib/i18n/tr/main.js.map +1 -1
  148. package/lib/i18n/zh/command.d.ts +49 -1
  149. package/lib/i18n/zh/command.d.ts.map +1 -1
  150. package/lib/i18n/zh/command.js +49 -1
  151. package/lib/i18n/zh/command.js.map +1 -1
  152. package/lib/i18n/zh/main.d.ts +11 -0
  153. package/lib/i18n/zh/main.d.ts.map +1 -1
  154. package/lib/i18n/zh/main.js +11 -0
  155. package/lib/i18n/zh/main.js.map +1 -1
  156. package/lib/index.d.ts +1 -0
  157. package/lib/index.d.ts.map +1 -1
  158. package/lib/index.js +1 -0
  159. package/lib/index.js.map +1 -1
  160. package/lib/ui/AcUiAboutDialog.d.ts +25 -0
  161. package/lib/ui/AcUiAboutDialog.d.ts.map +1 -0
  162. package/lib/ui/AcUiAboutDialog.js +120 -0
  163. package/lib/ui/AcUiAboutDialog.js.map +1 -0
  164. package/lib/ui/AcUiDialog.d.ts +101 -0
  165. package/lib/ui/AcUiDialog.d.ts.map +1 -0
  166. package/lib/ui/AcUiDialog.js +182 -0
  167. package/lib/ui/AcUiDialog.js.map +1 -0
  168. package/lib/ui/index.d.ts +3 -0
  169. package/lib/ui/index.d.ts.map +1 -0
  170. package/lib/ui/index.js +3 -0
  171. package/lib/ui/index.js.map +1 -0
  172. package/lib/util/index.d.ts +0 -1
  173. package/lib/util/index.d.ts.map +1 -1
  174. package/lib/util/index.js +0 -1
  175. package/lib/util/index.js.map +1 -1
  176. package/lib/view/AcTrEntityDisplayController.d.ts +9 -0
  177. package/lib/view/AcTrEntityDisplayController.d.ts.map +1 -1
  178. package/lib/view/AcTrEntityDisplayController.js +18 -5
  179. package/lib/view/AcTrEntityDisplayController.js.map +1 -1
  180. package/lib/view/AcTrLayout.d.ts +19 -0
  181. package/lib/view/AcTrLayout.d.ts.map +1 -1
  182. package/lib/view/AcTrLayout.js +79 -9
  183. package/lib/view/AcTrLayout.js.map +1 -1
  184. package/lib/view/AcTrProgressiveOpenFitController.d.ts +1 -4
  185. package/lib/view/AcTrProgressiveOpenFitController.d.ts.map +1 -1
  186. package/lib/view/AcTrProgressiveOpenFitController.js +3 -8
  187. package/lib/view/AcTrProgressiveOpenFitController.js.map +1 -1
  188. package/lib/view/AcTrScene.d.ts +4 -1
  189. package/lib/view/AcTrScene.d.ts.map +1 -1
  190. package/lib/view/AcTrScene.js +79 -44
  191. package/lib/view/AcTrScene.js.map +1 -1
  192. package/lib/view/AcTrView2d.d.ts +23 -3
  193. package/lib/view/AcTrView2d.d.ts.map +1 -1
  194. package/lib/view/AcTrView2d.js +145 -57
  195. package/lib/view/AcTrView2d.js.map +1 -1
  196. package/package.json +8 -9
  197. package/dist/dxf-parser-worker.js +0 -2357
  198. package/lib/util/yieldToMain.d.ts +0 -5
  199. package/lib/util/yieldToMain.d.ts.map +0 -1
  200. package/lib/util/yieldToMain.js +0 -11
  201. package/lib/util/yieldToMain.js.map +0 -1
@@ -0,0 +1,182 @@
1
+ import { applyUiTheme, resolveUiTheme } from '../editor/global/AcEdUiTheme';
2
+ /**
3
+ * Framework-free modal dialog base built with pure HTML and CSS.
4
+ *
5
+ * Subclasses fill {@link bodyEl} / {@link footerEl} and call {@link show}.
6
+ */
7
+ var AcUiDialog = /** @class */ (function () {
8
+ /**
9
+ * Builds backdrop, header, body, and footer shell (not yet shown as a promise).
10
+ *
11
+ * @param options - Title, host, and close behavior
12
+ */
13
+ function AcUiDialog(options) {
14
+ var _this = this;
15
+ var _a, _b, _c, _d, _e, _f;
16
+ this.disposed = false;
17
+ AcUiDialog.ensureStyles();
18
+ var host = (_a = options.host) !== null && _a !== void 0 ? _a : document.body;
19
+ var titleId = (_b = options.titleId) !== null && _b !== void 0 ? _b : "ml-ui-dialog-title-".concat(AcUiDialog.nextTitleId++);
20
+ this.closeOnEscape = (_c = options.closeOnEscape) !== null && _c !== void 0 ? _c : true;
21
+ this.previouslyFocused =
22
+ document.activeElement instanceof HTMLElement
23
+ ? document.activeElement
24
+ : null;
25
+ this.backdrop = document.createElement('div');
26
+ this.backdrop.className = 'ml-ui-dialog-backdrop';
27
+ applyUiTheme((_d = options.theme) !== null && _d !== void 0 ? _d : resolveUiTheme(host), this.backdrop);
28
+ if ((_e = options.closeOnBackdrop) !== null && _e !== void 0 ? _e : true) {
29
+ this.backdrop.addEventListener('mousedown', function (event) {
30
+ if (event.target === _this.backdrop)
31
+ _this.close();
32
+ });
33
+ }
34
+ this.dialog = document.createElement('div');
35
+ this.dialog.className = ['ml-ui-dialog', options.dialogClassName]
36
+ .filter(Boolean)
37
+ .join(' ');
38
+ this.dialog.setAttribute('role', 'dialog');
39
+ this.dialog.setAttribute('aria-modal', 'true');
40
+ this.dialog.setAttribute('aria-labelledby', titleId);
41
+ this.dialog.tabIndex = -1;
42
+ this.dialog.addEventListener('mousedown', function (event) { return event.stopPropagation(); });
43
+ var header = document.createElement('div');
44
+ header.className = 'ml-ui-dialog-header';
45
+ this.titleEl = document.createElement('div');
46
+ this.titleEl.id = titleId;
47
+ this.titleEl.className = 'ml-ui-dialog-title';
48
+ this.titleEl.textContent = options.title;
49
+ var closeBtn = document.createElement('button');
50
+ closeBtn.type = 'button';
51
+ closeBtn.className = 'ml-ui-dialog-close';
52
+ closeBtn.setAttribute('aria-label', (_f = options.closeLabel) !== null && _f !== void 0 ? _f : 'Close');
53
+ closeBtn.textContent = '×';
54
+ closeBtn.addEventListener('click', function () { return _this.close(); });
55
+ header.appendChild(this.titleEl);
56
+ header.appendChild(closeBtn);
57
+ this.bodyEl = document.createElement('div');
58
+ this.bodyEl.className = 'ml-ui-dialog-body';
59
+ this.footerEl = document.createElement('div');
60
+ this.footerEl.className = 'ml-ui-dialog-footer';
61
+ this.dialog.appendChild(header);
62
+ this.dialog.appendChild(this.bodyEl);
63
+ this.dialog.appendChild(this.footerEl);
64
+ this.backdrop.appendChild(this.dialog);
65
+ host.appendChild(this.backdrop);
66
+ this.onKeyDown = function (event) {
67
+ if (event.key === 'Escape') {
68
+ if (!_this.closeOnEscape)
69
+ return;
70
+ event.preventDefault();
71
+ _this.close();
72
+ return;
73
+ }
74
+ if (event.key === 'Tab') {
75
+ _this.trapFocus(event);
76
+ }
77
+ };
78
+ window.addEventListener('keydown', this.onKeyDown);
79
+ }
80
+ /**
81
+ * Returns a promise that resolves when the dialog is closed.
82
+ * Safe to call multiple times; subsequent calls return the same promise.
83
+ */
84
+ AcUiDialog.prototype.show = function () {
85
+ var _this = this;
86
+ if (!this.openPromise) {
87
+ this.openPromise = new Promise(function (resolve) {
88
+ _this.resolve = resolve;
89
+ });
90
+ }
91
+ return this.openPromise;
92
+ };
93
+ /**
94
+ * Closes the dialog, removes DOM, and resolves the {@link show} promise.
95
+ * Safe to call multiple times.
96
+ */
97
+ AcUiDialog.prototype.close = function () {
98
+ var _a, _b;
99
+ if (this.disposed)
100
+ return;
101
+ this.disposed = true;
102
+ window.removeEventListener('keydown', this.onKeyDown);
103
+ if (this.backdrop.parentNode) {
104
+ this.backdrop.parentNode.removeChild(this.backdrop);
105
+ }
106
+ (_a = this.previouslyFocused) === null || _a === void 0 ? void 0 : _a.focus();
107
+ (_b = this.resolve) === null || _b === void 0 ? void 0 : _b.call(this);
108
+ this.resolve = undefined;
109
+ };
110
+ /**
111
+ * Focuses an element after the current microtask (once the dialog is in the DOM).
112
+ *
113
+ * @param element - Element to focus
114
+ */
115
+ AcUiDialog.prototype.focusAfterOpen = function (element) {
116
+ queueMicrotask(function () { return element.focus(); });
117
+ };
118
+ /**
119
+ * Keeps Tab / Shift+Tab focus cycling inside the dialog panel.
120
+ */
121
+ AcUiDialog.prototype.trapFocus = function (event) {
122
+ var focusable = this.getFocusableElements();
123
+ if (focusable.length === 0) {
124
+ event.preventDefault();
125
+ this.dialog.focus();
126
+ return;
127
+ }
128
+ var first = focusable[0];
129
+ var last = focusable[focusable.length - 1];
130
+ var active = document.activeElement;
131
+ if (event.shiftKey) {
132
+ if (active === first || !this.dialog.contains(active)) {
133
+ event.preventDefault();
134
+ last.focus();
135
+ }
136
+ return;
137
+ }
138
+ if (active === last || !this.dialog.contains(active)) {
139
+ event.preventDefault();
140
+ first.focus();
141
+ }
142
+ };
143
+ AcUiDialog.prototype.getFocusableElements = function () {
144
+ var selector = [
145
+ 'a[href]',
146
+ 'button:not([disabled])',
147
+ 'textarea:not([disabled])',
148
+ 'input:not([disabled]):not([type="hidden"])',
149
+ 'select:not([disabled])',
150
+ '[tabindex]:not([tabindex="-1"])'
151
+ ].join(',');
152
+ return Array.from(this.dialog.querySelectorAll(selector)).filter(function (el) {
153
+ return !el.hasAttribute('disabled') &&
154
+ el.getAttribute('aria-hidden') !== 'true' &&
155
+ el.tabIndex >= 0 &&
156
+ el.offsetParent !== null;
157
+ });
158
+ };
159
+ /**
160
+ * Injects shared dialog chrome CSS once per document.
161
+ */
162
+ AcUiDialog.ensureStyles = function () {
163
+ if (AcUiDialog.stylesInjected)
164
+ return;
165
+ if (document.getElementById(AcUiDialog.styleId)) {
166
+ AcUiDialog.stylesInjected = true;
167
+ return;
168
+ }
169
+ var style = document.createElement('style');
170
+ style.id = AcUiDialog.styleId;
171
+ style.textContent = "\n.ml-ui-dialog-backdrop {\n position: fixed;\n inset: 0;\n z-index: 10050;\n display: flex;\n align-items: center;\n justify-content: center;\n background: var(--ml-ui-overlay, rgba(0, 0, 0, 0.45));\n font-family: system-ui, -apple-system, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif;\n}\n\n.ml-ui-dialog {\n width: min(360px, calc(100vw - 32px));\n box-sizing: border-box;\n padding: 16px 18px 14px;\n border-radius: 10px;\n border: 1px solid var(--ml-ui-border, #dcdfe6);\n background: var(--ml-ui-bg, #ffffff);\n color: var(--ml-ui-text, #303133);\n box-shadow: var(--ml-ui-shadow, 0 8px 28px rgba(0, 0, 0, 0.28));\n}\n\n.ml-ui-dialog-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n margin-bottom: 14px;\n}\n\n.ml-ui-dialog-title {\n font-size: 14px;\n font-weight: 600;\n}\n\n.ml-ui-dialog-close {\n border: none;\n background: transparent;\n color: var(--ml-ui-text-muted, #606266);\n cursor: pointer;\n font-size: 18px;\n line-height: 1;\n padding: 2px 6px;\n}\n\n.ml-ui-dialog-body {\n min-width: 0;\n}\n\n.ml-ui-dialog-footer:empty {\n display: none;\n}\n\n.ml-ui-dialog-footer:not(:empty) {\n display: flex;\n justify-content: flex-end;\n margin-top: 16px;\n gap: 8px;\n}\n\n.ml-ui-dialog-btn {\n min-width: 72px;\n padding: 6px 14px;\n border-radius: 4px;\n border: 1px solid var(--ml-ui-accent, #0b84ff);\n background: var(--ml-ui-accent, #0b84ff);\n color: #fff;\n cursor: pointer;\n font-size: 12px;\n}\n\n.ml-ui-dialog-btn:hover {\n filter: brightness(1.05);\n}\n".trim();
172
+ document.head.appendChild(style);
173
+ AcUiDialog.stylesInjected = true;
174
+ };
175
+ /** ID of the shared base style element. */
176
+ AcUiDialog.styleId = 'ml-ui-dialog-styles';
177
+ AcUiDialog.stylesInjected = false;
178
+ AcUiDialog.nextTitleId = 0;
179
+ return AcUiDialog;
180
+ }());
181
+ export { AcUiDialog };
182
+ //# sourceMappingURL=AcUiDialog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AcUiDialog.js","sourceRoot":"","sources":["../../src/ui/AcUiDialog.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export * from './AcUiDialog';
2
+ export * from './AcUiAboutDialog';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ui/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAC5B,cAAc,mBAAmB,CAAA"}
@@ -0,0 +1,3 @@
1
+ export * from './AcUiDialog';
2
+ export * from './AcUiAboutDialog';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ui/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAC5B,cAAc,mBAAmB,CAAA"}
@@ -5,5 +5,4 @@ export * from './AcApFontUtil';
5
5
  export * from './AcApMeasurementElementGenerator';
6
6
  export * from './AcApSecondaryDatabase';
7
7
  export * from './AcTrGeometryUtil';
8
- export * from './yieldToMain';
9
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/util/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAA;AAClC,cAAc,mBAAmB,CAAA;AACjC,cAAc,0BAA0B,CAAA;AACxC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,mCAAmC,CAAA;AACjD,cAAc,yBAAyB,CAAA;AACvC,cAAc,oBAAoB,CAAA;AAClC,cAAc,eAAe,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/util/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAA;AAClC,cAAc,mBAAmB,CAAA;AACjC,cAAc,0BAA0B,CAAA;AACxC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,mCAAmC,CAAA;AACjD,cAAc,yBAAyB,CAAA;AACvC,cAAc,oBAAoB,CAAA"}
package/lib/util/index.js CHANGED
@@ -5,5 +5,4 @@ export * from './AcApFontUtil';
5
5
  export * from './AcApMeasurementElementGenerator';
6
6
  export * from './AcApSecondaryDatabase';
7
7
  export * from './AcTrGeometryUtil';
8
- export * from './yieldToMain';
9
8
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/util/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAA;AAClC,cAAc,mBAAmB,CAAA;AACjC,cAAc,0BAA0B,CAAA;AACxC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,mCAAmC,CAAA;AACjD,cAAc,yBAAyB,CAAA;AACvC,cAAc,oBAAoB,CAAA;AAClC,cAAc,eAAe,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/util/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAA;AAClC,cAAc,mBAAmB,CAAA;AACjC,cAAc,0BAA0B,CAAA;AACxC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,mCAAmC,CAAA;AACjD,cAAc,yBAAyB,CAAA;AACvC,cAAc,oBAAoB,CAAA"}
@@ -9,6 +9,11 @@ type AcTrEntityDisplayCandidate = Pick<AcDbEntity, 'visibility' | 'layer'>;
9
9
  * so off-layer content can be skipped at open time and converted later when the
10
10
  * layer becomes visible again.
11
11
  *
12
+ * Block references (INSERTs) are special: freezing the INSERT layer hides the
13
+ * entire reference, but turning the INSERT layer **off** must still convert the
14
+ * block so nested geometry on other layers can remain visible (AutoCAD Off vs
15
+ * Freeze semantics).
16
+ *
12
17
  * The host view ({@link AcTrView2d}) supplies layer metadata and performs batch
13
18
  * conversion through its existing entity pipeline.
14
19
  */
@@ -33,6 +38,9 @@ export declare class AcTrEntityDisplayController {
33
38
  /**
34
39
  * Collects entities on the given layer that were skipped while the layer was
35
40
  * off/frozen and therefore are not yet present in the scene.
41
+ *
42
+ * For INSERTs, entities are collected when the INSERT layer is no longer
43
+ * frozen (Off alone does not skip conversion).
36
44
  */
37
45
  collectMissingEntitiesOnLayer(layerName: string, blockTableRecord: AcDbBlockTableRecord, hasEntity: (objectId: AcDbObjectId) => boolean): AcDbEntity[];
38
46
  /**
@@ -40,6 +48,7 @@ export declare class AcTrEntityDisplayController {
40
48
  * including entities on off/frozen layers skipped during interactive viewing.
41
49
  */
42
50
  collectMissingEntitiesForExport(blockTableRecord: AcDbBlockTableRecord, hasEntity: (objectId: AcDbObjectId) => boolean, includeInvisibleLayers?: boolean): AcDbEntity[];
51
+ private isBlockReference;
43
52
  private collectMissingEntities;
44
53
  }
45
54
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"AcTrEntityDisplayController.d.ts","sourceRoot":"","sources":["../../src/view/AcTrEntityDisplayController.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,UAAU,EACV,yBAAyB,EACzB,YAAY,EACb,MAAM,uBAAuB,CAAA;AAE9B,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAA;AAGzC,KAAK,0BAA0B,GAAG,IAAI,CAAC,UAAU,EAAE,YAAY,GAAG,OAAO,CAAC,CAAA;AAE1E;;;;;;;;;;GAUG;AACH,qBAAa,2BAA2B;IAEpC,OAAO,CAAC,QAAQ,CAAC,YAAY;gBAAZ,YAAY,EAAE,CAC7B,SAAS,EAAE,MAAM,KACd,aAAa,GAAG,SAAS;IAGhC;;OAEG;IACH,aAAa,CAAC,MAAM,EAAE,0BAA0B,GAAG,OAAO;IAa1D;;;;;OAKG;IACH,sBAAsB,CACpB,MAAM,EAAE,0BAA0B,EAClC,sBAAsB,UAAO,GAC5B,OAAO;IAiBV;;OAEG;IACH,6BAA6B,CAC3B,OAAO,EAAE,OAAO,CAAC,yBAAyB,CAAC,GAC1C,OAAO;IAIV;;;OAGG;IACH,6BAA6B,CAC3B,SAAS,EAAE,MAAM,EACjB,gBAAgB,EAAE,oBAAoB,EACtC,SAAS,EAAE,CAAC,QAAQ,EAAE,YAAY,KAAK,OAAO,GAC7C,UAAU,EAAE;IAQf;;;OAGG;IACH,+BAA+B,CAC7B,gBAAgB,EAAE,oBAAoB,EACtC,SAAS,EAAE,CAAC,QAAQ,EAAE,YAAY,KAAK,OAAO,EAC9C,sBAAsB,UAAO,GAC5B,UAAU,EAAE;IAMf,OAAO,CAAC,sBAAsB;CAkB/B"}
1
+ {"version":3,"file":"AcTrEntityDisplayController.d.ts","sourceRoot":"","sources":["../../src/view/AcTrEntityDisplayController.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,oBAAoB,EACpB,UAAU,EACV,yBAAyB,EACzB,YAAY,EACb,MAAM,uBAAuB,CAAA;AAE9B,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAA;AAGzC,KAAK,0BAA0B,GAAG,IAAI,CAAC,UAAU,EAAE,YAAY,GAAG,OAAO,CAAC,CAAA;AAE1E;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,2BAA2B;IAEpC,OAAO,CAAC,QAAQ,CAAC,YAAY;gBAAZ,YAAY,EAAE,CAC7B,SAAS,EAAE,MAAM,KACd,aAAa,GAAG,SAAS;IAGhC;;OAEG;IACH,aAAa,CAAC,MAAM,EAAE,0BAA0B,GAAG,OAAO;IAmB1D;;;;;OAKG;IACH,sBAAsB,CACpB,MAAM,EAAE,0BAA0B,EAClC,sBAAsB,UAAO,GAC5B,OAAO;IAYV;;OAEG;IACH,6BAA6B,CAC3B,OAAO,EAAE,OAAO,CAAC,yBAAyB,CAAC,GAC1C,OAAO;IAIV;;;;;;OAMG;IACH,6BAA6B,CAC3B,SAAS,EAAE,MAAM,EACjB,gBAAgB,EAAE,oBAAoB,EACtC,SAAS,EAAE,CAAC,QAAQ,EAAE,YAAY,KAAK,OAAO,GAC7C,UAAU,EAAE;IAQf;;;OAGG;IACH,+BAA+B,CAC7B,gBAAgB,EAAE,oBAAoB,EACtC,SAAS,EAAE,CAAC,QAAQ,EAAE,YAAY,KAAK,OAAO,EAC9C,sBAAsB,UAAO,GAC5B,UAAU,EAAE;IAMf,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,sBAAsB;CAkB/B"}
@@ -9,6 +9,7 @@ var __values = (this && this.__values) || function(o) {
9
9
  };
10
10
  throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
11
11
  };
12
+ import { AcDbBlockReference } from '@mlightcad/data-model';
12
13
  import { AcTrLayer } from './AcTrLayer';
13
14
  /**
14
15
  * Resolves whether database entities should be converted into scene geometry.
@@ -18,6 +19,11 @@ import { AcTrLayer } from './AcTrLayer';
18
19
  * so off-layer content can be skipped at open time and converted later when the
19
20
  * layer becomes visible again.
20
21
  *
22
+ * Block references (INSERTs) are special: freezing the INSERT layer hides the
23
+ * entire reference, but turning the INSERT layer **off** must still convert the
24
+ * block so nested geometry on other layers can remain visible (AutoCAD Off vs
25
+ * Freeze semantics).
26
+ *
21
27
  * The host view ({@link AcTrView2d}) supplies layer metadata and performs batch
22
28
  * conversion through its existing entity pipeline.
23
29
  */
@@ -36,6 +42,11 @@ var AcTrEntityDisplayController = /** @class */ (function () {
36
42
  if (!layer) {
37
43
  return true;
38
44
  }
45
+ if (this.isBlockReference(entity)) {
46
+ // INSERT: skip only when frozen. Off still converts so multi-layer
47
+ // contents on other layers can show.
48
+ return !layer.isFrozen;
49
+ }
39
50
  return AcTrLayer.isLayerVisible(layer);
40
51
  };
41
52
  /**
@@ -52,11 +63,7 @@ var AcTrEntityDisplayController = /** @class */ (function () {
52
63
  if (includeInvisibleLayers) {
53
64
  return true;
54
65
  }
55
- var layer = this.getLayerInfo(entity.layer);
56
- if (!layer) {
57
- return true;
58
- }
59
- return AcTrLayer.isLayerVisible(layer);
66
+ return this.shouldConvert(entity);
60
67
  };
61
68
  /**
62
69
  * Returns true when a layer visibility change may have made entities drawable.
@@ -67,6 +74,9 @@ var AcTrEntityDisplayController = /** @class */ (function () {
67
74
  /**
68
75
  * Collects entities on the given layer that were skipped while the layer was
69
76
  * off/frozen and therefore are not yet present in the scene.
77
+ *
78
+ * For INSERTs, entities are collected when the INSERT layer is no longer
79
+ * frozen (Off alone does not skip conversion).
70
80
  */
71
81
  AcTrEntityDisplayController.prototype.collectMissingEntitiesOnLayer = function (layerName, blockTableRecord, hasEntity) {
72
82
  var _this = this;
@@ -83,6 +93,9 @@ var AcTrEntityDisplayController = /** @class */ (function () {
83
93
  return _this.shouldConvertForExport(entity, includeInvisibleLayers);
84
94
  });
85
95
  };
96
+ AcTrEntityDisplayController.prototype.isBlockReference = function (entity) {
97
+ return entity instanceof AcDbBlockReference;
98
+ };
86
99
  AcTrEntityDisplayController.prototype.collectMissingEntities = function (blockTableRecord, hasEntity, includeEntity) {
87
100
  var e_1, _a;
88
101
  var pending = [];
@@ -1 +1 @@
1
- {"version":3,"file":"AcTrEntityDisplayController.js","sourceRoot":"","sources":["../../src/view/AcTrEntityDisplayController.ts"],"names":[],"mappings":";;;;;;;;;;;AAQA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAIvC;;;;;;;;;;GAUG;AACH;IACE,qCACmB,YAEa;QAFb,iBAAY,GAAZ,YAAY,CAEC;IAC7B,CAAC;IAEJ;;OAEG;IACH,mDAAa,GAAb,UAAc,MAAkC;QAC9C,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;YACvB,OAAO,KAAK,CAAA;QACd,CAAC;QAED,IAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QAC7C,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,IAAI,CAAA;QACb,CAAC;QAED,OAAO,SAAS,CAAC,cAAc,CAAC,KAAK,CAAC,CAAA;IACxC,CAAC;IAED;;;;;OAKG;IACH,4DAAsB,GAAtB,UACE,MAAkC,EAClC,sBAA6B;QAA7B,uCAAA,EAAA,6BAA6B;QAE7B,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;YACvB,OAAO,KAAK,CAAA;QACd,CAAC;QAED,IAAI,sBAAsB,EAAE,CAAC;YAC3B,OAAO,IAAI,CAAA;QACb,CAAC;QAED,IAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QAC7C,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,IAAI,CAAA;QACb,CAAC;QAED,OAAO,SAAS,CAAC,cAAc,CAAC,KAAK,CAAC,CAAA;IACxC,CAAC;IAED;;OAEG;IACH,mEAA6B,GAA7B,UACE,OAA2C;QAE3C,OAAO,OAAO,CAAC,KAAK,KAAK,SAAS,IAAI,OAAO,CAAC,aAAa,KAAK,SAAS,CAAA;IAC3E,CAAC;IAED;;;OAGG;IACH,mEAA6B,GAA7B,UACE,SAAiB,EACjB,gBAAsC,EACtC,SAA8C;QAHhD,iBAUC;QALC,OAAO,IAAI,CAAC,sBAAsB,CAChC,gBAAgB,EAChB,SAAS,EACT,UAAA,MAAM,IAAI,OAAA,MAAM,CAAC,KAAK,KAAK,SAAS,IAAI,KAAI,CAAC,aAAa,CAAC,MAAM,CAAC,EAAxD,CAAwD,CACnE,CAAA;IACH,CAAC;IAED;;;OAGG;IACH,qEAA+B,GAA/B,UACE,gBAAsC,EACtC,SAA8C,EAC9C,sBAA6B;QAH/B,iBAQC;QALC,uCAAA,EAAA,6BAA6B;QAE7B,OAAO,IAAI,CAAC,sBAAsB,CAAC,gBAAgB,EAAE,SAAS,EAAE,UAAA,MAAM;YACpE,OAAA,KAAI,CAAC,sBAAsB,CAAC,MAAM,EAAE,sBAAsB,CAAC;QAA3D,CAA2D,CAC5D,CAAA;IACH,CAAC;IAEO,4DAAsB,GAA9B,UACE,gBAAsC,EACtC,SAA8C,EAC9C,aAA8C;;QAE9C,IAAM,OAAO,GAAiB,EAAE,CAAA;QAChC,IAAM,QAAQ,GAAG,gBAAgB,CAAC,WAAW,EAAE,CAAA;;YAC/C,KAAqB,IAAA,aAAA,SAAA,QAAQ,CAAA,kCAAA,wDAAE,CAAC;gBAA3B,IAAM,MAAM,qBAAA;gBACf,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC;oBAC3B,SAAQ;gBACV,CAAC;gBACD,IAAI,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAC/B,SAAQ;gBACV,CAAC;gBACD,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;YACtB,CAAC;;;;;;;;;QACD,OAAO,OAAO,CAAA;IAChB,CAAC;IACH,kCAAC;AAAD,CAAC,AA1GD,IA0GC"}
1
+ {"version":3,"file":"AcTrEntityDisplayController.js","sourceRoot":"","sources":["../../src/view/AcTrEntityDisplayController.ts"],"names":[],"mappings":"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"}
@@ -90,6 +90,11 @@ export declare class AcTrLayout {
90
90
  private _extentExcludedObjectIds;
91
91
  /** Map of layers indexed by layer name */
92
92
  private _layers;
93
+ /**
94
+ * INSERT object id → INSERT's own layer name. Used when freezing an INSERT
95
+ * layer to hide fragments that were bucketed onto other layers.
96
+ */
97
+ private _insertLayerByObjectId;
93
98
  /** The flag indicating whether the layout is loaded/activated */
94
99
  private _isLoaded;
95
100
  /**
@@ -285,6 +290,20 @@ export declare class AcTrLayout {
285
290
  * @returns Returns the updated layer group.
286
291
  */
287
292
  updateLayer(info: AcEdLayerInfo): AcTrLayer | undefined;
293
+ /**
294
+ * Applies AutoCAD INSERT-layer freeze semantics across decomposed fragments.
295
+ *
296
+ * Freezing the INSERT's own layer hides every scene bucket that shares that
297
+ * INSERT object id, including geometry bucketed onto other layers — even when
298
+ * the INSERT has no fragment on its own layer (only other-layer buckets).
299
+ * Thawing restores those other-layer buckets (the INSERT layer group
300
+ * visibility is handled separately by {@link updateLayer}).
301
+ *
302
+ * @param insertLayerName - Layer being frozen or thawed.
303
+ * @param frozen - True when the layer is now frozen.
304
+ * @returns Object ids whose cross-layer visibility was changed.
305
+ */
306
+ applyInsertLayerFreeze(insertLayerName: string, frozen: boolean): AcDbObjectId[];
288
307
  /**
289
308
  * Hover the specified entities.
290
309
  * Applies hover highlighting to the entities with the given IDs.
@@ -1 +1 @@
1
- {"version":3,"file":"AcTrLayout.d.ts","sourceRoot":"","sources":["../../src/view/AcTrLayout.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AcTrLayout.d.ts","sourceRoot":"","sources":["../../src/view/AcTrLayout.ts"],"names":[],"mappings":"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"}
@@ -80,6 +80,7 @@ var AcTrLayout = /** @class */ (function () {
80
80
  this._boxDirty = true;
81
81
  this._extentExcludedObjectIds = new Set();
82
82
  this._layers = new Map();
83
+ this._insertLayerByObjectId = new Map();
83
84
  this._isLoaded = false;
84
85
  }
85
86
  Object.defineProperty(AcTrLayout.prototype, "internalObject", {
@@ -277,6 +278,7 @@ var AcTrLayout = /** @class */ (function () {
277
278
  this._cachedBox.makeEmpty();
278
279
  this._boxDirty = true;
279
280
  this._extentExcludedObjectIds.clear();
281
+ this._insertLayerByObjectId.clear();
280
282
  this._spatialIndex.clear();
281
283
  return this;
282
284
  };
@@ -334,6 +336,10 @@ var AcTrLayout = /** @class */ (function () {
334
336
  throw new Error("layer '".concat(entity.layerName, "' doesn't exist!"));
335
337
  }
336
338
  layer.addEntity(entity);
339
+ var insertLayerName = entity.userData.insertLayerName;
340
+ if (insertLayerName) {
341
+ this._insertLayerByObjectId.set(entity.objectId, insertLayerName);
342
+ }
337
343
  if (!extendBbox) {
338
344
  this._extentExcludedObjectIds.add(entity.objectId);
339
345
  }
@@ -371,6 +377,7 @@ var AcTrLayout = /** @class */ (function () {
371
377
  if (result) {
372
378
  this._spatialIndex.removeById(objectId);
373
379
  this._extentExcludedObjectIds.delete(objectId);
380
+ this._insertLayerByObjectId.delete(objectId);
374
381
  this.invalidateBox();
375
382
  }
376
383
  return result;
@@ -387,6 +394,10 @@ var AcTrLayout = /** @class */ (function () {
387
394
  for (var _b = __values(this._layers), _c = _b.next(); !_c.done; _c = _b.next()) {
388
395
  var _d = __read(_c.value, 2), _2 = _d[0], layer = _d[1];
389
396
  if (layer.updateEntity(entity)) {
397
+ var insertLayerName = entity.userData.insertLayerName;
398
+ if (insertLayerName) {
399
+ this._insertLayerByObjectId.set(entity.objectId, insertLayerName);
400
+ }
390
401
  this._spatialIndex.removeById(entity.objectId);
391
402
  this.registerEntitySpatialIndex(entity);
392
403
  this.invalidateBox();
@@ -739,6 +750,65 @@ var AcTrLayout = /** @class */ (function () {
739
750
  }
740
751
  return layer;
741
752
  };
753
+ /**
754
+ * Applies AutoCAD INSERT-layer freeze semantics across decomposed fragments.
755
+ *
756
+ * Freezing the INSERT's own layer hides every scene bucket that shares that
757
+ * INSERT object id, including geometry bucketed onto other layers — even when
758
+ * the INSERT has no fragment on its own layer (only other-layer buckets).
759
+ * Thawing restores those other-layer buckets (the INSERT layer group
760
+ * visibility is handled separately by {@link updateLayer}).
761
+ *
762
+ * @param insertLayerName - Layer being frozen or thawed.
763
+ * @param frozen - True when the layer is now frozen.
764
+ * @returns Object ids whose cross-layer visibility was changed.
765
+ */
766
+ AcTrLayout.prototype.applyInsertLayerFreeze = function (insertLayerName, frozen) {
767
+ var e_13, _a, e_14, _b;
768
+ var touched = [];
769
+ try {
770
+ for (var _c = __values(this._insertLayerByObjectId), _d = _c.next(); !_d.done; _d = _c.next()) {
771
+ var _e = __read(_d.value, 2), objectId = _e[0], layerName = _e[1];
772
+ if (layerName !== insertLayerName) {
773
+ continue;
774
+ }
775
+ var changed = false;
776
+ try {
777
+ for (var _f = (e_14 = void 0, __values(this.getLayersByObjectId(objectId))), _g = _f.next(); !_g.done; _g = _f.next()) {
778
+ var layer = _g.value;
779
+ // INSERT-layer bucket visibility comes from the layer group itself.
780
+ if (layer.name === insertLayerName) {
781
+ continue;
782
+ }
783
+ if (layer.setEntityVisible(objectId, !frozen)) {
784
+ changed = true;
785
+ }
786
+ }
787
+ }
788
+ catch (e_14_1) { e_14 = { error: e_14_1 }; }
789
+ finally {
790
+ try {
791
+ if (_g && !_g.done && (_b = _f.return)) _b.call(_f);
792
+ }
793
+ finally { if (e_14) throw e_14.error; }
794
+ }
795
+ if (changed) {
796
+ touched.push(objectId);
797
+ }
798
+ }
799
+ }
800
+ catch (e_13_1) { e_13 = { error: e_13_1 }; }
801
+ finally {
802
+ try {
803
+ if (_d && !_d.done && (_a = _c.return)) _a.call(_c);
804
+ }
805
+ finally { if (e_13) throw e_13.error; }
806
+ }
807
+ if (touched.length > 0) {
808
+ this.invalidateBox();
809
+ }
810
+ return touched;
811
+ };
742
812
  /**
743
813
  * Hover the specified entities.
744
814
  * Applies hover highlighting to the entities with the given IDs.
@@ -790,14 +860,14 @@ var AcTrLayout = /** @class */ (function () {
790
860
  * @param apply - Layer callback invoked once per layer with its grouped entity ids.
791
861
  */
792
862
  AcTrLayout.prototype.applyHighlightToLayers = function (ids, apply) {
793
- var e_13, _a, e_14, _b;
863
+ var e_15, _a, e_16, _b;
794
864
  var layerToIds = new Map();
795
865
  try {
796
866
  for (var ids_1 = __values(ids), ids_1_1 = ids_1.next(); !ids_1_1.done; ids_1_1 = ids_1.next()) {
797
867
  var id = ids_1_1.value;
798
868
  var layers = this.getLayersByObjectId(id);
799
869
  try {
800
- for (var layers_2 = (e_14 = void 0, __values(layers)), layers_2_1 = layers_2.next(); !layers_2_1.done; layers_2_1 = layers_2.next()) {
870
+ for (var layers_2 = (e_16 = void 0, __values(layers)), layers_2_1 = layers_2.next(); !layers_2_1.done; layers_2_1 = layers_2.next()) {
801
871
  var layer = layers_2_1.value;
802
872
  var bucket = layerToIds.get(layer);
803
873
  if (bucket) {
@@ -808,21 +878,21 @@ var AcTrLayout = /** @class */ (function () {
808
878
  }
809
879
  }
810
880
  }
811
- catch (e_14_1) { e_14 = { error: e_14_1 }; }
881
+ catch (e_16_1) { e_16 = { error: e_16_1 }; }
812
882
  finally {
813
883
  try {
814
884
  if (layers_2_1 && !layers_2_1.done && (_b = layers_2.return)) _b.call(layers_2);
815
885
  }
816
- finally { if (e_14) throw e_14.error; }
886
+ finally { if (e_16) throw e_16.error; }
817
887
  }
818
888
  }
819
889
  }
820
- catch (e_13_1) { e_13 = { error: e_13_1 }; }
890
+ catch (e_15_1) { e_15 = { error: e_15_1 }; }
821
891
  finally {
822
892
  try {
823
893
  if (ids_1_1 && !ids_1_1.done && (_a = ids_1.return)) _a.call(ids_1);
824
894
  }
825
- finally { if (e_13) throw e_13.error; }
895
+ finally { if (e_15) throw e_15.error; }
826
896
  }
827
897
  layerToIds.forEach(function (entityIds, layer) { return apply(layer, entityIds); });
828
898
  };
@@ -857,7 +927,7 @@ var AcTrLayout = /** @class */ (function () {
857
927
  * returns an empty array if no matching layers are found
858
928
  */
859
929
  AcTrLayout.prototype.getLayersByObjectId = function (objectId) {
860
- var e_15, _a;
930
+ var e_17, _a;
861
931
  var layers = [];
862
932
  try {
863
933
  for (var _b = __values(this._layers), _c = _b.next(); !_c.done; _c = _b.next()) {
@@ -867,12 +937,12 @@ var AcTrLayout = /** @class */ (function () {
867
937
  }
868
938
  }
869
939
  }
870
- catch (e_15_1) { e_15 = { error: e_15_1 }; }
940
+ catch (e_17_1) { e_17 = { error: e_17_1 }; }
871
941
  finally {
872
942
  try {
873
943
  if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
874
944
  }
875
- finally { if (e_15) throw e_15.error; }
945
+ finally { if (e_17) throw e_17.error; }
876
946
  }
877
947
  return layers;
878
948
  };