@mlightcad/data-model 1.2.3 → 1.2.6

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 (59) hide show
  1. package/dist/data-model.cjs +5 -0
  2. package/dist/data-model.js +2388 -2084
  3. package/dist/dxf-parser-worker.js +1296 -0
  4. package/lib/converter/AcDbDxfConverter.d.ts +3 -2
  5. package/lib/converter/AcDbDxfConverter.d.ts.map +1 -1
  6. package/lib/converter/AcDbDxfConverter.js +27 -5
  7. package/lib/converter/AcDbDxfConverter.js.map +1 -1
  8. package/lib/converter/AcDbEntitiyConverter.d.ts.map +1 -1
  9. package/lib/converter/AcDbEntitiyConverter.js +2 -1
  10. package/lib/converter/AcDbEntitiyConverter.js.map +1 -1
  11. package/lib/converter/AcDbObjectConverter.d.ts +2 -1
  12. package/lib/converter/AcDbObjectConverter.d.ts.map +1 -1
  13. package/lib/converter/AcDbObjectConverter.js +11 -2
  14. package/lib/converter/AcDbObjectConverter.js.map +1 -1
  15. package/lib/converter/index.d.ts +1 -0
  16. package/lib/converter/index.d.ts.map +1 -1
  17. package/lib/converter/index.js +1 -0
  18. package/lib/converter/index.js.map +1 -1
  19. package/lib/converter/worker/AcDbBaseWorker.d.ts +36 -0
  20. package/lib/converter/worker/AcDbBaseWorker.d.ts.map +1 -0
  21. package/lib/converter/worker/AcDbBaseWorker.js +93 -0
  22. package/lib/converter/worker/AcDbBaseWorker.js.map +1 -0
  23. package/lib/converter/worker/AcDbDxfParserWorker.d.ts +2 -0
  24. package/lib/converter/worker/AcDbDxfParserWorker.d.ts.map +1 -0
  25. package/lib/converter/worker/AcDbDxfParserWorker.js +76 -0
  26. package/lib/converter/worker/AcDbDxfParserWorker.js.map +1 -0
  27. package/lib/converter/worker/AcDbWorkerManager.d.ts +107 -0
  28. package/lib/converter/worker/AcDbWorkerManager.d.ts.map +1 -0
  29. package/lib/converter/worker/AcDbWorkerManager.js +360 -0
  30. package/lib/converter/worker/AcDbWorkerManager.js.map +1 -0
  31. package/lib/converter/worker/index.d.ts +3 -0
  32. package/lib/converter/worker/index.d.ts.map +1 -0
  33. package/lib/converter/worker/index.js +3 -0
  34. package/lib/converter/worker/index.js.map +1 -0
  35. package/lib/database/AcDbBlockTableRecord.d.ts +21 -0
  36. package/lib/database/AcDbBlockTableRecord.d.ts.map +1 -1
  37. package/lib/database/AcDbBlockTableRecord.js +27 -0
  38. package/lib/database/AcDbBlockTableRecord.js.map +1 -1
  39. package/lib/database/AcDbDatabase.d.ts +15 -0
  40. package/lib/database/AcDbDatabase.d.ts.map +1 -1
  41. package/lib/database/AcDbDatabase.js +7 -3
  42. package/lib/database/AcDbDatabase.js.map +1 -1
  43. package/lib/database/AcDbDatabaseConverter.d.ts +69 -1
  44. package/lib/database/AcDbDatabaseConverter.d.ts.map +1 -1
  45. package/lib/database/AcDbDatabaseConverter.js +29 -3
  46. package/lib/database/AcDbDatabaseConverter.js.map +1 -1
  47. package/lib/object/AcDbDictionary.d.ts.map +1 -1
  48. package/lib/object/AcDbDictionary.js +25 -1
  49. package/lib/object/AcDbDictionary.js.map +1 -1
  50. package/lib/object/layout/AcDbLayoutManager.d.ts +19 -4
  51. package/lib/object/layout/AcDbLayoutManager.d.ts.map +1 -1
  52. package/lib/object/layout/AcDbLayoutManager.js +27 -3
  53. package/lib/object/layout/AcDbLayoutManager.js.map +1 -1
  54. package/package.json +9 -5
  55. package/dist/data-model.umd.cjs +0 -5
  56. package/lib/converter/AcDbDxfParseWorker.d.ts +0 -18
  57. package/lib/converter/AcDbDxfParseWorker.d.ts.map +0 -1
  58. package/lib/converter/AcDbDxfParseWorker.js +0 -22
  59. package/lib/converter/AcDbDxfParseWorker.js.map +0 -1
@@ -0,0 +1,107 @@
1
+ /**
2
+ * Simple worker framework
3
+ */
4
+ export interface AcDbWorkerConfig {
5
+ /** Worker script URL (required if useWorker is true) */
6
+ workerUrl: string;
7
+ /** Timeout for worker operations in milliseconds */
8
+ timeout?: number;
9
+ /** Maximum number of concurrent workers */
10
+ maxConcurrentWorkers?: number;
11
+ }
12
+ export interface AcDbWorkerResult<TOutput = unknown> {
13
+ success: boolean;
14
+ data?: TOutput;
15
+ error?: string;
16
+ duration: number;
17
+ }
18
+ export interface AcDbWorkerInstance {
19
+ worker: Worker;
20
+ isBusy: boolean;
21
+ id: string;
22
+ createdAt: Date;
23
+ }
24
+ /**
25
+ * Simple worker framework
26
+ */
27
+ export declare class AcDbWorkerManager {
28
+ private config;
29
+ private taskId;
30
+ private workers;
31
+ private pendingTasks;
32
+ constructor(config: AcDbWorkerConfig);
33
+ /**
34
+ * Execute a task with worker support and fallback
35
+ */
36
+ execute<TInput, TOutput>(input: TInput, workerUrl?: string): Promise<AcDbWorkerResult<TOutput>>;
37
+ /**
38
+ * Execute task in web worker
39
+ */
40
+ private executeInWorker;
41
+ /**
42
+ * Clean up a pending task
43
+ */
44
+ private cleanupTask;
45
+ /**
46
+ * Generate unique task ID
47
+ */
48
+ private generateTaskId;
49
+ /**
50
+ * Detect if web workers are supported
51
+ */
52
+ detectWorkerSupport(): boolean;
53
+ /**
54
+ * Get an available worker or create a new one
55
+ */
56
+ private getAvailableWorker;
57
+ /**
58
+ * Release a worker back to the pool
59
+ */
60
+ private releaseWorker;
61
+ /**
62
+ * Generate unique worker ID
63
+ */
64
+ private generateWorkerId;
65
+ /**
66
+ * Get framework statistics
67
+ */
68
+ getStats(): {
69
+ totalWorkers: number;
70
+ busyWorkers: number;
71
+ pendingTasks: number;
72
+ config: Required<AcDbWorkerConfig>;
73
+ };
74
+ /**
75
+ * Clean up all pending tasks and workers
76
+ */
77
+ destroy(): void;
78
+ }
79
+ /**
80
+ * Simple API for executing tasks with worker support
81
+ */
82
+ export declare class AcDbWorkerApi {
83
+ private framework;
84
+ constructor(config: AcDbWorkerConfig);
85
+ /**
86
+ * Execute a task with optional worker support
87
+ */
88
+ execute<TInput, TOutput>(input: TInput, workerUrl?: string): Promise<AcDbWorkerResult<TOutput>>;
89
+ /**
90
+ * Get framework statistics
91
+ */
92
+ getStats(): {
93
+ totalWorkers: number;
94
+ busyWorkers: number;
95
+ pendingTasks: number;
96
+ config: Required<AcDbWorkerConfig>;
97
+ };
98
+ /**
99
+ * Clean up resources
100
+ */
101
+ destroy(): void;
102
+ }
103
+ /**
104
+ * Create a worker API instance
105
+ */
106
+ export declare function createWorkerApi(config: AcDbWorkerConfig): AcDbWorkerApi;
107
+ //# sourceMappingURL=AcDbWorkerManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AcDbWorkerManager.d.ts","sourceRoot":"","sources":["../../../src/converter/worker/AcDbWorkerManager.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,gBAAgB;IAC/B,wDAAwD;IACxD,SAAS,EAAE,MAAM,CAAA;IACjB,oDAAoD;IACpD,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,2CAA2C;IAC3C,oBAAoB,CAAC,EAAE,MAAM,CAAA;CAC9B;AAED,MAAM,WAAW,gBAAgB,CAAC,OAAO,GAAG,OAAO;IACjD,OAAO,EAAE,OAAO,CAAA;IAChB,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,OAAO,CAAA;IACf,EAAE,EAAE,MAAM,CAAA;IACV,SAAS,EAAE,IAAI,CAAA;CAChB;AAED;;GAEG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,MAAM,CAA4B;IAC1C,OAAO,CAAC,MAAM,CAAI;IAClB,OAAO,CAAC,OAAO,CAAwC;IACvD,OAAO,CAAC,YAAY,CAOjB;gBAES,MAAM,EAAE,gBAAgB;IAQpC;;OAEG;IACG,OAAO,CAAC,MAAM,EAAE,OAAO,EAC3B,KAAK,EAAE,MAAM,EACb,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAoBrC;;OAEG;YACW,eAAe;IA0E7B;;OAEG;IACH,OAAO,CAAC,WAAW;IAQnB;;OAEG;IACH,OAAO,CAAC,cAAc;IAItB;;OAEG;IACH,mBAAmB,IAAI,OAAO;IAI9B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAgC1B;;OAEG;IACH,OAAO,CAAC,aAAa;IASrB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAIxB;;OAEG;IACH,QAAQ;;;;;;IAUR;;OAEG;IACH,OAAO,IAAI,IAAI;CAchB;AAED;;GAEG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,SAAS,CAAmB;gBAExB,MAAM,EAAE,gBAAgB;IAIpC;;OAEG;IACG,OAAO,CAAC,MAAM,EAAE,OAAO,EAC3B,KAAK,EAAE,MAAM,EACb,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAIrC;;OAEG;IACH,QAAQ;;;;;;IAIR;;OAEG;IACH,OAAO,IAAI,IAAI;CAGhB;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,gBAAgB,GAAG,aAAa,CAEvE"}
@@ -0,0 +1,360 @@
1
+ /**
2
+ * Simple worker framework
3
+ */
4
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
5
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
6
+ return new (P || (P = Promise))(function (resolve, reject) {
7
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
8
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
9
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
10
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
11
+ });
12
+ };
13
+ var __generator = (this && this.__generator) || function (thisArg, body) {
14
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
15
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
16
+ function verb(n) { return function (v) { return step([n, v]); }; }
17
+ function step(op) {
18
+ if (f) throw new TypeError("Generator is already executing.");
19
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
20
+ 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;
21
+ if (y = 0, t) op = [op[0] & 2, t.value];
22
+ switch (op[0]) {
23
+ case 0: case 1: t = op; break;
24
+ case 4: _.label++; return { value: op[1], done: false };
25
+ case 5: _.label++; y = op[1]; op = [0]; continue;
26
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
27
+ default:
28
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
29
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
30
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
31
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
32
+ if (t[2]) _.ops.pop();
33
+ _.trys.pop(); continue;
34
+ }
35
+ op = body.call(thisArg, _);
36
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
37
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
38
+ }
39
+ };
40
+ var __values = (this && this.__values) || function(o) {
41
+ var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
42
+ if (m) return m.call(o);
43
+ if (o && typeof o.length === "number") return {
44
+ next: function () {
45
+ if (o && i >= o.length) o = void 0;
46
+ return { value: o && o[i++], done: !o };
47
+ }
48
+ };
49
+ throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
50
+ };
51
+ var __read = (this && this.__read) || function (o, n) {
52
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
53
+ if (!m) return o;
54
+ var i = m.call(o), r, ar = [], e;
55
+ try {
56
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
57
+ }
58
+ catch (error) { e = { error: error }; }
59
+ finally {
60
+ try {
61
+ if (r && !r.done && (m = i["return"])) m.call(i);
62
+ }
63
+ finally { if (e) throw e.error; }
64
+ }
65
+ return ar;
66
+ };
67
+ /**
68
+ * Simple worker framework
69
+ */
70
+ var AcDbWorkerManager = /** @class */ (function () {
71
+ function AcDbWorkerManager(config) {
72
+ var _a, _b;
73
+ this.taskId = 0;
74
+ this.workers = new Map();
75
+ this.pendingTasks = new Map();
76
+ this.config = {
77
+ workerUrl: config.workerUrl,
78
+ timeout: (_a = config.timeout) !== null && _a !== void 0 ? _a : 30000,
79
+ maxConcurrentWorkers: (_b = config.maxConcurrentWorkers) !== null && _b !== void 0 ? _b : 4
80
+ };
81
+ }
82
+ /**
83
+ * Execute a task with worker support and fallback
84
+ */
85
+ AcDbWorkerManager.prototype.execute = function (input, workerUrl) {
86
+ return __awaiter(this, void 0, void 0, function () {
87
+ var startTime, taskId, error_1, duration;
88
+ return __generator(this, function (_a) {
89
+ switch (_a.label) {
90
+ case 0:
91
+ startTime = Date.now();
92
+ taskId = this.generateTaskId();
93
+ _a.label = 1;
94
+ case 1:
95
+ _a.trys.push([1, 3, , 4]);
96
+ return [4 /*yield*/, this.executeInWorker(taskId, input, workerUrl || this.config.workerUrl)];
97
+ case 2: return [2 /*return*/, _a.sent()];
98
+ case 3:
99
+ error_1 = _a.sent();
100
+ duration = Date.now() - startTime;
101
+ return [2 /*return*/, {
102
+ success: false,
103
+ error: error_1 instanceof Error ? error_1.message : String(error_1),
104
+ duration: duration
105
+ }];
106
+ case 4: return [2 /*return*/];
107
+ }
108
+ });
109
+ });
110
+ };
111
+ /**
112
+ * Execute task in web worker
113
+ */
114
+ AcDbWorkerManager.prototype.executeInWorker = function (taskId, input, workerUrl) {
115
+ return __awaiter(this, void 0, void 0, function () {
116
+ var startTime;
117
+ var _this = this;
118
+ return __generator(this, function (_a) {
119
+ startTime = Date.now();
120
+ return [2 /*return*/, new Promise(function (resolve, reject) {
121
+ // Get or create worker
122
+ var worker = _this.getAvailableWorker(workerUrl);
123
+ // Set up timeout
124
+ var timeout = setTimeout(function () {
125
+ _this.cleanupTask(taskId);
126
+ _this.releaseWorker(worker);
127
+ reject(new Error("Worker operation timed out after ".concat(_this.config.timeout, "ms")));
128
+ }, _this.config.timeout);
129
+ // Store task
130
+ _this.pendingTasks.set(taskId, {
131
+ resolve: function (result) {
132
+ clearTimeout(timeout);
133
+ _this.releaseWorker(worker);
134
+ resolve(result);
135
+ },
136
+ reject: function (error) {
137
+ clearTimeout(timeout);
138
+ _this.releaseWorker(worker);
139
+ reject(error);
140
+ },
141
+ timeout: timeout
142
+ });
143
+ // Set up message handler
144
+ var messageHandler = function (event) {
145
+ var _a = event.data, id = _a.id, success = _a.success, data = _a.data, error = _a.error;
146
+ if (id !== taskId)
147
+ return;
148
+ _this.cleanupTask(taskId);
149
+ var duration = Date.now() - startTime;
150
+ if (success) {
151
+ resolve({
152
+ success: true,
153
+ data: data,
154
+ duration: duration
155
+ });
156
+ }
157
+ else {
158
+ resolve({
159
+ success: false,
160
+ error: error,
161
+ duration: duration
162
+ });
163
+ }
164
+ };
165
+ var errorHandler = function (error) {
166
+ _this.cleanupTask(taskId);
167
+ reject(new Error("Worker error: ".concat(error.message)));
168
+ };
169
+ worker.addEventListener('message', messageHandler);
170
+ worker.addEventListener('error', errorHandler);
171
+ // Send task to worker
172
+ worker.postMessage({
173
+ id: taskId,
174
+ input: input
175
+ });
176
+ })];
177
+ });
178
+ });
179
+ };
180
+ /**
181
+ * Clean up a pending task
182
+ */
183
+ AcDbWorkerManager.prototype.cleanupTask = function (taskId) {
184
+ var task = this.pendingTasks.get(taskId);
185
+ if (task) {
186
+ clearTimeout(task.timeout);
187
+ this.pendingTasks.delete(taskId);
188
+ }
189
+ };
190
+ /**
191
+ * Generate unique task ID
192
+ */
193
+ AcDbWorkerManager.prototype.generateTaskId = function () {
194
+ return "task_".concat(++this.taskId, "_").concat(Date.now());
195
+ };
196
+ /**
197
+ * Detect if web workers are supported
198
+ */
199
+ AcDbWorkerManager.prototype.detectWorkerSupport = function () {
200
+ return typeof Worker !== 'undefined';
201
+ };
202
+ /**
203
+ * Get an available worker or create a new one
204
+ */
205
+ AcDbWorkerManager.prototype.getAvailableWorker = function (workerUrl) {
206
+ var e_1, _a;
207
+ try {
208
+ // Find available worker
209
+ for (var _b = __values(this.workers), _c = _b.next(); !_c.done; _c = _b.next()) {
210
+ var _d = __read(_c.value, 2), _id = _d[0], instance = _d[1];
211
+ if (!instance.isBusy) {
212
+ instance.isBusy = true;
213
+ return instance.worker;
214
+ }
215
+ }
216
+ }
217
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
218
+ finally {
219
+ try {
220
+ if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
221
+ }
222
+ finally { if (e_1) throw e_1.error; }
223
+ }
224
+ // Create new worker if under limit
225
+ if (this.workers.size < this.config.maxConcurrentWorkers) {
226
+ var worker = new Worker(workerUrl, { type: 'module' });
227
+ var id = this.generateWorkerId();
228
+ var instance = {
229
+ worker: worker,
230
+ isBusy: true,
231
+ id: id,
232
+ createdAt: new Date()
233
+ };
234
+ this.workers.set(id, instance);
235
+ return worker;
236
+ }
237
+ // Reuse oldest worker
238
+ var oldestWorker = Array.from(this.workers.values()).sort(function (a, b) { return a.createdAt.getTime() - b.createdAt.getTime(); })[0];
239
+ oldestWorker.isBusy = true;
240
+ return oldestWorker.worker;
241
+ };
242
+ /**
243
+ * Release a worker back to the pool
244
+ */
245
+ AcDbWorkerManager.prototype.releaseWorker = function (worker) {
246
+ var e_2, _a;
247
+ try {
248
+ for (var _b = __values(this.workers), _c = _b.next(); !_c.done; _c = _b.next()) {
249
+ var _d = __read(_c.value, 2), _id = _d[0], instance = _d[1];
250
+ if (instance.worker === worker) {
251
+ instance.isBusy = false;
252
+ break;
253
+ }
254
+ }
255
+ }
256
+ catch (e_2_1) { e_2 = { error: e_2_1 }; }
257
+ finally {
258
+ try {
259
+ if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
260
+ }
261
+ finally { if (e_2) throw e_2.error; }
262
+ }
263
+ };
264
+ /**
265
+ * Generate unique worker ID
266
+ */
267
+ AcDbWorkerManager.prototype.generateWorkerId = function () {
268
+ return "worker_".concat(Date.now(), "_").concat(Math.random().toString(36).substr(2, 9));
269
+ };
270
+ /**
271
+ * Get framework statistics
272
+ */
273
+ AcDbWorkerManager.prototype.getStats = function () {
274
+ return {
275
+ totalWorkers: this.workers.size,
276
+ busyWorkers: Array.from(this.workers.values()).filter(function (w) { return w.isBusy; })
277
+ .length,
278
+ pendingTasks: this.pendingTasks.size,
279
+ config: this.config
280
+ };
281
+ };
282
+ /**
283
+ * Clean up all pending tasks and workers
284
+ */
285
+ AcDbWorkerManager.prototype.destroy = function () {
286
+ var e_3, _a, e_4, _b;
287
+ try {
288
+ // Clear all pending requests
289
+ for (var _c = __values(this.pendingTasks), _d = _c.next(); !_d.done; _d = _c.next()) {
290
+ var _e = __read(_d.value, 2), _taskId = _e[0], task = _e[1];
291
+ clearTimeout(task.timeout);
292
+ task.reject(new Error('Framework destroyed'));
293
+ }
294
+ }
295
+ catch (e_3_1) { e_3 = { error: e_3_1 }; }
296
+ finally {
297
+ try {
298
+ if (_d && !_d.done && (_a = _c.return)) _a.call(_c);
299
+ }
300
+ finally { if (e_3) throw e_3.error; }
301
+ }
302
+ this.pendingTasks.clear();
303
+ try {
304
+ // Terminate all workers
305
+ for (var _f = __values(this.workers), _g = _f.next(); !_g.done; _g = _f.next()) {
306
+ var _h = __read(_g.value, 2), _id = _h[0], instance = _h[1];
307
+ instance.worker.terminate();
308
+ }
309
+ }
310
+ catch (e_4_1) { e_4 = { error: e_4_1 }; }
311
+ finally {
312
+ try {
313
+ if (_g && !_g.done && (_b = _f.return)) _b.call(_f);
314
+ }
315
+ finally { if (e_4) throw e_4.error; }
316
+ }
317
+ this.workers.clear();
318
+ };
319
+ return AcDbWorkerManager;
320
+ }());
321
+ export { AcDbWorkerManager };
322
+ /**
323
+ * Simple API for executing tasks with worker support
324
+ */
325
+ var AcDbWorkerApi = /** @class */ (function () {
326
+ function AcDbWorkerApi(config) {
327
+ this.framework = new AcDbWorkerManager(config);
328
+ }
329
+ /**
330
+ * Execute a task with optional worker support
331
+ */
332
+ AcDbWorkerApi.prototype.execute = function (input, workerUrl) {
333
+ return __awaiter(this, void 0, void 0, function () {
334
+ return __generator(this, function (_a) {
335
+ return [2 /*return*/, this.framework.execute(input, workerUrl)];
336
+ });
337
+ });
338
+ };
339
+ /**
340
+ * Get framework statistics
341
+ */
342
+ AcDbWorkerApi.prototype.getStats = function () {
343
+ return this.framework.getStats();
344
+ };
345
+ /**
346
+ * Clean up resources
347
+ */
348
+ AcDbWorkerApi.prototype.destroy = function () {
349
+ this.framework.destroy();
350
+ };
351
+ return AcDbWorkerApi;
352
+ }());
353
+ export { AcDbWorkerApi };
354
+ /**
355
+ * Create a worker API instance
356
+ */
357
+ export function createWorkerApi(config) {
358
+ return new AcDbWorkerApi(config);
359
+ }
360
+ //# sourceMappingURL=AcDbWorkerManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AcDbWorkerManager.js","sourceRoot":"","sources":["../../../src/converter/worker/AcDbWorkerManager.ts"],"names":[],"mappings":"AAAA;;GAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyBH;;GAEG;AACH;IAaE,2BAAY,MAAwB;;QAX5B,WAAM,GAAG,CAAC,CAAA;QACV,YAAO,GAAG,IAAI,GAAG,EAA8B,CAAA;QAC/C,iBAAY,GAAG,IAAI,GAAG,EAO3B,CAAA;QAGD,IAAI,CAAC,MAAM,GAAG;YACZ,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,OAAO,EAAE,MAAA,MAAM,CAAC,OAAO,mCAAI,KAAK;YAChC,oBAAoB,EAAE,MAAA,MAAM,CAAC,oBAAoB,mCAAI,CAAC;SACvD,CAAA;IACH,CAAC;IAED;;OAEG;IACG,mCAAO,GAAb,UACE,KAAa,EACb,SAAkB;;;;;;wBAEZ,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;wBACtB,MAAM,GAAG,IAAI,CAAC,cAAc,EAAE,CAAA;;;;wBAG3B,qBAAM,IAAI,CAAC,eAAe,CAC/B,MAAM,EACN,KAAK,EACL,SAAS,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CACnC,EAAA;4BAJD,sBAAO,SAIN,EAAA;;;wBAEK,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAA;wBACvC,sBAAO;gCACL,OAAO,EAAE,KAAK;gCACd,KAAK,EAAE,OAAK,YAAY,KAAK,CAAC,CAAC,CAAC,OAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,OAAK,CAAC;gCAC7D,QAAQ,UAAA;6BACT,EAAA;;;;;KAEJ;IAED;;OAEG;IACW,2CAAe,GAA7B,UACE,MAAc,EACd,KAAa,EACb,SAAiB;;;;;gBAEX,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;gBAE5B,sBAAO,IAAI,OAAO,CAA4B,UAAC,OAAO,EAAE,MAAM;wBAC5D,uBAAuB;wBACvB,IAAM,MAAM,GAAG,KAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAA;wBAEjD,iBAAiB;wBACjB,IAAM,OAAO,GAAG,UAAU,CAAC;4BACzB,KAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAA;4BACxB,KAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAA;4BAC1B,MAAM,CACJ,IAAI,KAAK,CAAC,2CAAoC,KAAI,CAAC,MAAM,CAAC,OAAO,OAAI,CAAC,CACvE,CAAA;wBACH,CAAC,EAAE,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;wBAEvB,aAAa;wBACb,KAAI,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,EAAE;4BAC5B,OAAO,EAAE,UAAA,MAAM;gCACb,YAAY,CAAC,OAAO,CAAC,CAAA;gCACrB,KAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAA;gCAC1B,OAAO,CAAC,MAAmC,CAAC,CAAA;4BAC9C,CAAC;4BACD,MAAM,EAAE,UAAA,KAAK;gCACX,YAAY,CAAC,OAAO,CAAC,CAAA;gCACrB,KAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAA;gCAC1B,MAAM,CAAC,KAAK,CAAC,CAAA;4BACf,CAAC;4BACD,OAAO,SAAA;yBACR,CAAC,CAAA;wBAEF,yBAAyB;wBACzB,IAAM,cAAc,GAAG,UAAC,KAAmB;4BACnC,IAAA,KAA+B,KAAK,CAAC,IAAI,EAAvC,EAAE,QAAA,EAAE,OAAO,aAAA,EAAE,IAAI,UAAA,EAAE,KAAK,WAAe,CAAA;4BAC/C,IAAI,EAAE,KAAK,MAAM;gCAAE,OAAM;4BAEzB,KAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAA;4BAExB,IAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAA;4BACvC,IAAI,OAAO,EAAE,CAAC;gCACZ,OAAO,CAAC;oCACN,OAAO,EAAE,IAAI;oCACb,IAAI,EAAE,IAAe;oCACrB,QAAQ,UAAA;iCACT,CAAC,CAAA;4BACJ,CAAC;iCAAM,CAAC;gCACN,OAAO,CAAC;oCACN,OAAO,EAAE,KAAK;oCACd,KAAK,OAAA;oCACL,QAAQ,UAAA;iCACT,CAAC,CAAA;4BACJ,CAAC;wBACH,CAAC,CAAA;wBAED,IAAM,YAAY,GAAG,UAAC,KAAiB;4BACrC,KAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAA;4BACxB,MAAM,CAAC,IAAI,KAAK,CAAC,wBAAiB,KAAK,CAAC,OAAO,CAAE,CAAC,CAAC,CAAA;wBACrD,CAAC,CAAA;wBAED,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,cAAc,CAAC,CAAA;wBAClD,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAA;wBAE9C,sBAAsB;wBACtB,MAAM,CAAC,WAAW,CAAC;4BACjB,EAAE,EAAE,MAAM;4BACV,KAAK,OAAA;yBACN,CAAC,CAAA;oBACJ,CAAC,CAAC,EAAA;;;KACH;IAED;;OAEG;IACK,uCAAW,GAAnB,UAAoB,MAAc;QAChC,IAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QAC1C,IAAI,IAAI,EAAE,CAAC;YACT,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YAC1B,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QAClC,CAAC;IACH,CAAC;IAED;;OAEG;IACK,0CAAc,GAAtB;QACE,OAAO,eAAQ,EAAE,IAAI,CAAC,MAAM,cAAI,IAAI,CAAC,GAAG,EAAE,CAAE,CAAA;IAC9C,CAAC;IAED;;OAEG;IACH,+CAAmB,GAAnB;QACE,OAAO,OAAO,MAAM,KAAK,WAAW,CAAA;IACtC,CAAC;IAED;;OAEG;IACK,8CAAkB,GAA1B,UAA2B,SAAiB;;;YAC1C,wBAAwB;YACxB,KAA8B,IAAA,KAAA,SAAA,IAAI,CAAC,OAAO,CAAA,gBAAA,4BAAE,CAAC;gBAAlC,IAAA,KAAA,mBAAe,EAAd,GAAG,QAAA,EAAE,QAAQ,QAAA;gBACvB,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;oBACrB,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAA;oBACtB,OAAO,QAAQ,CAAC,MAAM,CAAA;gBACxB,CAAC;YACH,CAAC;;;;;;;;;QAED,mCAAmC;QACnC,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,oBAAoB,EAAE,CAAC;YACzD,IAAM,MAAM,GAAG,IAAI,MAAM,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAA;YACxD,IAAM,EAAE,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAA;YAClC,IAAM,QAAQ,GAAuB;gBACnC,MAAM,QAAA;gBACN,MAAM,EAAE,IAAI;gBACZ,EAAE,IAAA;gBACF,SAAS,EAAE,IAAI,IAAI,EAAE;aACtB,CAAA;YACD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAA;YAC9B,OAAO,MAAM,CAAA;QACf,CAAC;QAED,sBAAsB;QACtB,IAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CACzD,UAAC,CAAC,EAAE,CAAC,IAAK,OAAA,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,EAA7C,CAA6C,CACxD,CAAC,CAAC,CAAC,CAAA;QAEJ,YAAY,CAAC,MAAM,GAAG,IAAI,CAAA;QAC1B,OAAO,YAAY,CAAC,MAAM,CAAA;IAC5B,CAAC;IAED;;OAEG;IACK,yCAAa,GAArB,UAAsB,MAAc;;;YAClC,KAA8B,IAAA,KAAA,SAAA,IAAI,CAAC,OAAO,CAAA,gBAAA,4BAAE,CAAC;gBAAlC,IAAA,KAAA,mBAAe,EAAd,GAAG,QAAA,EAAE,QAAQ,QAAA;gBACvB,IAAI,QAAQ,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;oBAC/B,QAAQ,CAAC,MAAM,GAAG,KAAK,CAAA;oBACvB,MAAK;gBACP,CAAC;YACH,CAAC;;;;;;;;;IACH,CAAC;IAED;;OAEG;IACK,4CAAgB,GAAxB;QACE,OAAO,iBAAU,IAAI,CAAC,GAAG,EAAE,cAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAE,CAAA;IAC1E,CAAC;IAED;;OAEG;IACH,oCAAQ,GAAR;QACE,OAAO;YACL,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI;YAC/B,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,MAAM,EAAR,CAAQ,CAAC;iBACjE,MAAM;YACT,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI;YACpC,MAAM,EAAE,IAAI,CAAC,MAAM;SACpB,CAAA;IACH,CAAC;IAED;;OAEG;IACH,mCAAO,GAAP;;;YACE,6BAA6B;YAC7B,KAA8B,IAAA,KAAA,SAAA,IAAI,CAAC,YAAY,CAAA,gBAAA,4BAAE,CAAC;gBAAvC,IAAA,KAAA,mBAAe,EAAd,OAAO,QAAA,EAAE,IAAI,QAAA;gBACvB,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;gBAC1B,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC,CAAA;YAC/C,CAAC;;;;;;;;;QACD,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAA;;YAEzB,wBAAwB;YACxB,KAA8B,IAAA,KAAA,SAAA,IAAI,CAAC,OAAO,CAAA,gBAAA,4BAAE,CAAC;gBAAlC,IAAA,KAAA,mBAAe,EAAd,GAAG,QAAA,EAAE,QAAQ,QAAA;gBACvB,QAAQ,CAAC,MAAM,CAAC,SAAS,EAAE,CAAA;YAC7B,CAAC;;;;;;;;;QACD,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAA;IACtB,CAAC;IACH,wBAAC;AAAD,CAAC,AAzOD,IAyOC;;AAED;;GAEG;AACH;IAGE,uBAAY,MAAwB;QAClC,IAAI,CAAC,SAAS,GAAG,IAAI,iBAAiB,CAAC,MAAM,CAAC,CAAA;IAChD,CAAC;IAED;;OAEG;IACG,+BAAO,GAAb,UACE,KAAa,EACb,SAAkB;;;gBAElB,sBAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,SAAS,CAAC,EAAA;;;KAChD;IAED;;OAEG;IACH,gCAAQ,GAAR;QACE,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAA;IAClC,CAAC;IAED;;OAEG;IACH,+BAAO,GAAP;QACE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAA;IAC1B,CAAC;IACH,oBAAC;AAAD,CAAC,AA9BD,IA8BC;;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,MAAwB;IACtD,OAAO,IAAI,aAAa,CAAC,MAAM,CAAC,CAAA;AAClC,CAAC"}
@@ -0,0 +1,3 @@
1
+ export * from './AcDbWorkerManager';
2
+ export * from './AcDbBaseWorker';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/converter/worker/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAA;AACnC,cAAc,kBAAkB,CAAA"}
@@ -0,0 +1,3 @@
1
+ export * from './AcDbWorkerManager';
2
+ export * from './AcDbBaseWorker';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/converter/worker/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAA;AACnC,cAAc,kBAAkB,CAAA"}
@@ -1,4 +1,5 @@
1
1
  import { AcGePoint3d } from '@mlightcad/geometry-engine';
2
+ import { AcDbObjectId } from '../base/AcDbObject';
2
3
  import { AcDbEntity } from '../entity/AcDbEntity';
3
4
  import { AcDbObjectIterator } from '../misc/AcDbObjectIterator';
4
5
  import { AcDbSymbolTableRecord } from './AcDbSymbolTableRecord';
@@ -27,6 +28,8 @@ export declare class AcDbBlockTableRecord extends AcDbSymbolTableRecord {
27
28
  static PAPER_SPACE_NAME_PREFIX: string;
28
29
  /** The base point of the block in WCS coordinates */
29
30
  private _origin;
31
+ /** The object id of the associated AcDbLayout object in the Layouts dictionary.*/
32
+ private _layoutId;
30
33
  /** Map of entities indexed by their object IDs */
31
34
  private _entities;
32
35
  /**
@@ -116,6 +119,24 @@ export declare class AcDbBlockTableRecord extends AcDbSymbolTableRecord {
116
119
  */
117
120
  get origin(): AcGePoint3d;
118
121
  set origin(value: AcGePoint3d);
122
+ /**
123
+ * Gets or sets the object ID of the associated AcDbLayout object in the Layouts dictionary.
124
+ *
125
+ * This property links the block table record to its corresponding layout object,
126
+ * which defines the viewport configuration and display settings for the block.
127
+ * For model space blocks, this is typically empty, while paper space blocks
128
+ * have a corresponding layout ID.
129
+ *
130
+ * @returns The object ID of the associated layout
131
+ *
132
+ * @example
133
+ * ```typescript
134
+ * const layoutId = blockRecord.layoutId;
135
+ * blockRecord.layoutId = 'some-layout-object-id';
136
+ * ```
137
+ */
138
+ get layoutId(): AcDbObjectId;
139
+ set layoutId(value: AcDbObjectId);
119
140
  /**
120
141
  * Appends the specified entity to this block table record.
121
142
  *
@@ -1 +1 @@
1
- {"version":3,"file":"AcDbBlockTableRecord.d.ts","sourceRoot":"","sources":["../../src/database/AcDbBlockTableRecord.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AAGxD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AAE/D;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,oBAAqB,SAAQ,qBAAqB;IAC7D,uDAAuD;IACvD,MAAM,CAAC,gBAAgB,SAAiB;IACxC,sDAAsD;IACtD,MAAM,CAAC,uBAAuB,SAAiB;IAE/C,qDAAqD;IACrD,OAAO,CAAC,OAAO,CAAa;IAC5B,kDAAkD;IAClD,OAAO,CAAC,SAAS,CAA+B;IAEhD;;;;;;;;;;;;;;OAcG;IACH,MAAM,CAAC,gBAAgB,CAAC,IAAI,EAAE,MAAM;IAMpC;;;;;;;;;;;;;;OAcG;IACH,MAAM,CAAC,gBAAgB,CAAC,IAAI,EAAE,MAAM;IAMpC;;;;;;;OAOG;;IAOH;;;;;;;;;;;;;OAaG;IACH,IAAI,YAAY,YAEf;IAED;;;;;;;;;;;;;OAaG;IACH,IAAI,YAAY,YAEf;IAED;;;;;;;;;;;;;OAaG;IACH,IAAI,MAAM,IAGQ,WAAW,CAD5B;IACD,IAAI,MAAM,CAAC,KAAK,EAAE,WAAW,EAE5B;IAED;;;;;;;;;;;;;OAaG;IACH,YAAY,CAAC,MAAM,EAAE,UAAU;IAe/B;;;;;;;;;;;;OAYG;IACH,WAAW,IAAI,kBAAkB,CAAC,UAAU,CAAC;IAI7C;;;;;;;;;;;;;OAaG;IACH,OAAO,CAAC,EAAE,EAAE,MAAM;CAGnB"}
1
+ {"version":3,"file":"AcDbBlockTableRecord.d.ts","sourceRoot":"","sources":["../../src/database/AcDbBlockTableRecord.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AAExD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AAE/D;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,oBAAqB,SAAQ,qBAAqB;IAC7D,uDAAuD;IACvD,MAAM,CAAC,gBAAgB,SAAiB;IACxC,sDAAsD;IACtD,MAAM,CAAC,uBAAuB,SAAiB;IAE/C,qDAAqD;IACrD,OAAO,CAAC,OAAO,CAAa;IAC5B,kFAAkF;IAClF,OAAO,CAAC,SAAS,CAAc;IAC/B,kDAAkD;IAClD,OAAO,CAAC,SAAS,CAA+B;IAEhD;;;;;;;;;;;;;;OAcG;IACH,MAAM,CAAC,gBAAgB,CAAC,IAAI,EAAE,MAAM;IAMpC;;;;;;;;;;;;;;OAcG;IACH,MAAM,CAAC,gBAAgB,CAAC,IAAI,EAAE,MAAM;IAMpC;;;;;;;OAOG;;IAQH;;;;;;;;;;;;;OAaG;IACH,IAAI,YAAY,YAEf;IAED;;;;;;;;;;;;;OAaG;IACH,IAAI,YAAY,YAEf;IAED;;;;;;;;;;;;;OAaG;IACH,IAAI,MAAM,IAGQ,WAAW,CAD5B;IACD,IAAI,MAAM,CAAC,KAAK,EAAE,WAAW,EAE5B;IAED;;;;;;;;;;;;;;;OAeG;IACH,IAAI,QAAQ,IAGQ,YAAY,CAD/B;IACD,IAAI,QAAQ,CAAC,KAAK,EAAE,YAAY,EAE/B;IAED;;;;;;;;;;;;;OAaG;IACH,YAAY,CAAC,MAAM,EAAE,UAAU;IAe/B;;;;;;;;;;;;OAYG;IACH,WAAW,IAAI,kBAAkB,CAAC,UAAU,CAAC;IAI7C;;;;;;;;;;;;;OAaG;IACH,OAAO,CAAC,EAAE,EAAE,MAAM;CAGnB"}
@@ -47,6 +47,7 @@ var AcDbBlockTableRecord = /** @class */ (function (_super) {
47
47
  function AcDbBlockTableRecord() {
48
48
  var _this = _super.call(this) || this;
49
49
  _this._origin = new AcGePoint3d();
50
+ _this._layoutId = '';
50
51
  _this._entities = new Map();
51
52
  return _this;
52
53
  }
@@ -154,6 +155,32 @@ var AcDbBlockTableRecord = /** @class */ (function (_super) {
154
155
  enumerable: false,
155
156
  configurable: true
156
157
  });
158
+ Object.defineProperty(AcDbBlockTableRecord.prototype, "layoutId", {
159
+ /**
160
+ * Gets or sets the object ID of the associated AcDbLayout object in the Layouts dictionary.
161
+ *
162
+ * This property links the block table record to its corresponding layout object,
163
+ * which defines the viewport configuration and display settings for the block.
164
+ * For model space blocks, this is typically empty, while paper space blocks
165
+ * have a corresponding layout ID.
166
+ *
167
+ * @returns The object ID of the associated layout
168
+ *
169
+ * @example
170
+ * ```typescript
171
+ * const layoutId = blockRecord.layoutId;
172
+ * blockRecord.layoutId = 'some-layout-object-id';
173
+ * ```
174
+ */
175
+ get: function () {
176
+ return this._layoutId;
177
+ },
178
+ set: function (value) {
179
+ this._layoutId = value;
180
+ },
181
+ enumerable: false,
182
+ configurable: true
183
+ });
157
184
  /**
158
185
  * Appends the specified entity to this block table record.
159
186
  *
@@ -1 +1 @@
1
- {"version":3,"file":"AcDbBlockTableRecord.js","sourceRoot":"","sources":["../../src/database/AcDbBlockTableRecord.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AAIxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AAE/D;;;;;;;;;;;;;;;;;GAiBG;AACH;IAA0C,wCAAqB;IAqD7D;;;;;;;OAOG;IACH;QACE,YAAA,MAAK,WAAE,SAAA;QACP,KAAI,CAAC,OAAO,GAAG,IAAI,WAAW,EAAE,CAAA;QAChC,KAAI,CAAC,SAAS,GAAG,IAAI,GAAG,EAAsB,CAAA;;IAChD,CAAC;IAtDD;;;;;;;;;;;;;;OAcG;IACI,qCAAgB,GAAvB,UAAwB,IAAY;QAClC,OAAO,CACL,IAAI,CAAC,WAAW,EAAE,IAAI,oBAAoB,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAC1E,CAAA;IACH,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACI,qCAAgB,GAAvB,UAAwB,IAAY;QAClC,OAAO,IAAI;aACR,WAAW,EAAE;aACb,UAAU,CAAC,oBAAoB,CAAC,uBAAuB,CAAC,WAAW,EAAE,CAAC,CAAA;IAC3E,CAAC;IA8BD,sBAAI,8CAAY;QAdhB;;;;;;;;;;;;;WAaG;aACH;YACE,OAAO,oBAAoB,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACzD,CAAC;;;OAAA;IAgBD,sBAAI,8CAAY;QAdhB;;;;;;;;;;;;;WAaG;aACH;YACE,OAAO,oBAAoB,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACzD,CAAC;;;OAAA;IAgBD,sBAAI,wCAAM;QAdV;;;;;;;;;;;;;WAaG;aACH;YACE,OAAO,IAAI,CAAC,OAAO,CAAA;QACrB,CAAC;aACD,UAAW,KAAkB;YAC3B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAC1B,CAAC;;;OAHA;IAKD;;;;;;;;;;;;;OAaG;IACH,2CAAY,GAAZ,UAAa,MAAkB;QAC7B,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAA;QAC/B,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAA;QAC9B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;QAE3C,sGAAsG;QACtG,qFAAqF;QACrF,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YAC3C,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC;gBAC3C,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,MAAM,EAAE,MAAM;aACf,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,0CAAW,GAAX;QACE,OAAO,IAAI,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IAC/C,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,sCAAO,GAAP,UAAQ,EAAU;QAChB,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IAC/B,CAAC;IAzLD,uDAAuD;IAChD,qCAAgB,GAAG,cAAc,CAAA;IACxC,sDAAsD;IAC/C,4CAAuB,GAAG,cAAc,CAAA;IAuLjD,2BAAC;CAAA,AA3LD,CAA0C,qBAAqB,GA2L9D;SA3LY,oBAAoB"}
1
+ {"version":3,"file":"AcDbBlockTableRecord.js","sourceRoot":"","sources":["../../src/database/AcDbBlockTableRecord.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AAIxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AAE/D;;;;;;;;;;;;;;;;;GAiBG;AACH;IAA0C,wCAAqB;IAuD7D;;;;;;;OAOG;IACH;QACE,YAAA,MAAK,WAAE,SAAA;QACP,KAAI,CAAC,OAAO,GAAG,IAAI,WAAW,EAAE,CAAA;QAChC,KAAI,CAAC,SAAS,GAAG,EAAE,CAAA;QACnB,KAAI,CAAC,SAAS,GAAG,IAAI,GAAG,EAAsB,CAAA;;IAChD,CAAC;IAvDD;;;;;;;;;;;;;;OAcG;IACI,qCAAgB,GAAvB,UAAwB,IAAY;QAClC,OAAO,CACL,IAAI,CAAC,WAAW,EAAE,IAAI,oBAAoB,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAC1E,CAAA;IACH,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACI,qCAAgB,GAAvB,UAAwB,IAAY;QAClC,OAAO,IAAI;aACR,WAAW,EAAE;aACb,UAAU,CAAC,oBAAoB,CAAC,uBAAuB,CAAC,WAAW,EAAE,CAAC,CAAA;IAC3E,CAAC;IA+BD,sBAAI,8CAAY;QAdhB;;;;;;;;;;;;;WAaG;aACH;YACE,OAAO,oBAAoB,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACzD,CAAC;;;OAAA;IAgBD,sBAAI,8CAAY;QAdhB;;;;;;;;;;;;;WAaG;aACH;YACE,OAAO,oBAAoB,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACzD,CAAC;;;OAAA;IAgBD,sBAAI,wCAAM;QAdV;;;;;;;;;;;;;WAaG;aACH;YACE,OAAO,IAAI,CAAC,OAAO,CAAA;QACrB,CAAC;aACD,UAAW,KAAkB;YAC3B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAC1B,CAAC;;;OAHA;IAqBD,sBAAI,0CAAQ;QAhBZ;;;;;;;;;;;;;;;WAeG;aACH;YACE,OAAO,IAAI,CAAC,SAAS,CAAA;QACvB,CAAC;aACD,UAAa,KAAmB;YAC9B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAA;QACxB,CAAC;;;OAHA;IAKD;;;;;;;;;;;;;OAaG;IACH,2CAAY,GAAZ,UAAa,MAAkB;QAC7B,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAA;QAC/B,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAA;QAC9B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;QAE3C,sGAAsG;QACtG,qFAAqF;QACrF,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YAC3C,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC;gBAC3C,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,MAAM,EAAE,MAAM;aACf,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,0CAAW,GAAX;QACE,OAAO,IAAI,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IAC/C,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,sCAAO,GAAP,UAAQ,EAAU;QAChB,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IAC/B,CAAC;IAnND,uDAAuD;IAChD,qCAAgB,GAAG,cAAc,CAAA;IACxC,sDAAsD;IAC/C,4CAAuB,GAAG,cAAc,CAAA;IAiNjD,2BAAC;CAAA,AArND,CAA0C,qBAAqB,GAqN9D;SArNY,oBAAoB"}
@@ -12,6 +12,17 @@ import { AcDbLinetypeTable } from './AcDbLinetypeTable';
12
12
  import { AcDbTextStyleTable } from './AcDbTextStyleTable';
13
13
  import { AcDbViewportTable } from './AcDbViewportTable';
14
14
  import { AcGePoint3d, AcGePoint3dLike } from '@mlightcad/geometry-engine';
15
+ /**
16
+ * Event arguments for object events in the dictionary.
17
+ */
18
+ export interface AcDbDictObjectEventArgs {
19
+ /** The database that triggered the event */
20
+ database: AcDbDatabase;
21
+ /** The object involved in the event */
22
+ object: AcDbObject;
23
+ /** The key name of the object */
24
+ key: string;
25
+ }
15
26
  /**
16
27
  * Event arguments for entity-related events.
17
28
  */
@@ -230,6 +241,10 @@ export declare class AcDbDatabase extends AcDbObject {
230
241
  * such as entity modifications, layer changes, and progress updates.
231
242
  */
232
243
  readonly events: {
244
+ /** Fired when an object is set to the dictionary */
245
+ dictObjetSet: AcCmEventManager<AcDbDictObjectEventArgs>;
246
+ /** Fired when an object in the dictionary is removed */
247
+ dictObjectErased: AcCmEventManager<AcDbDictObjectEventArgs>;
233
248
  /** Fired when an entity is appended to the database */
234
249
  entityAppended: AcCmEventManager<AcDbEntityEventArgs>;
235
250
  /** Fired when an entity is modified in the database */
@@ -1 +1 @@
1
- {"version":3,"file":"AcDbDatabase.d.ts","sourceRoot":"","sources":["../../src/database/AcDbDatabase.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AcDbDatabase.d.ts","sourceRoot":"","sources":["../../src/database/AcDbDatabase.ts"],"names":[],"mappings":"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"}