@mlightcad/data-model 1.12.2 → 1.12.4

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 (69) hide show
  1. package/README.md +4 -9
  2. package/dist/data-model.cjs +15 -15
  3. package/lib/acis/AcDbAcisGeometry.d.ts +3 -0
  4. package/lib/acis/AcDbAcisGeometry.d.ts.map +1 -1
  5. package/lib/acis/AcDbAcisGeometry.js +117 -3
  6. package/lib/acis/AcDbAcisGeometry.js.map +1 -1
  7. package/lib/acis/AcDbAcisSatWireframe.d.ts +3 -0
  8. package/lib/acis/AcDbAcisSatWireframe.d.ts.map +1 -1
  9. package/lib/acis/AcDbAcisSatWireframe.js +157 -4
  10. package/lib/acis/AcDbAcisSatWireframe.js.map +1 -1
  11. package/lib/acis/AcDbAcisTransform.d.ts +99 -0
  12. package/lib/acis/AcDbAcisTransform.d.ts.map +1 -0
  13. package/lib/acis/AcDbAcisTransform.js +260 -0
  14. package/lib/acis/AcDbAcisTransform.js.map +1 -0
  15. package/lib/acis/AcDbAcisWireframe.d.ts.map +1 -1
  16. package/lib/acis/AcDbAcisWireframe.js +36 -19
  17. package/lib/acis/AcDbAcisWireframe.js.map +1 -1
  18. package/lib/acis/index.d.ts +2 -0
  19. package/lib/acis/index.d.ts.map +1 -1
  20. package/lib/acis/index.js +1 -0
  21. package/lib/acis/index.js.map +1 -1
  22. package/lib/converter/AcDbRegenerator.d.ts +0 -6
  23. package/lib/converter/AcDbRegenerator.d.ts.map +1 -1
  24. package/lib/converter/AcDbRegenerator.js +0 -8
  25. package/lib/converter/AcDbRegenerator.js.map +1 -1
  26. package/lib/converter/index.d.ts +0 -2
  27. package/lib/converter/index.d.ts.map +1 -1
  28. package/lib/converter/index.js +0 -1
  29. package/lib/converter/index.js.map +1 -1
  30. package/lib/database/AcDbDatabase.d.ts +1 -78
  31. package/lib/database/AcDbDatabase.d.ts.map +1 -1
  32. package/lib/database/AcDbDatabase.js +30 -111
  33. package/lib/database/AcDbDatabase.js.map +1 -1
  34. package/lib/database/AcDbDatabaseConverter.d.ts +32 -16
  35. package/lib/database/AcDbDatabaseConverter.d.ts.map +1 -1
  36. package/lib/database/AcDbDatabaseConverter.js +10 -26
  37. package/lib/database/AcDbDatabaseConverter.js.map +1 -1
  38. package/lib/database/AcDbDatabaseConverterManager.d.ts +2 -2
  39. package/lib/database/AcDbDatabaseConverterManager.js +2 -2
  40. package/lib/database/AcDbSystemVariables.d.ts +1 -1
  41. package/lib/database/AcDbSystemVariables.js +1 -1
  42. package/lib/database/AcDbTextStyleTable.d.ts +7 -0
  43. package/lib/database/AcDbTextStyleTable.d.ts.map +1 -1
  44. package/lib/database/AcDbTextStyleTable.js +18 -3
  45. package/lib/database/AcDbTextStyleTable.js.map +1 -1
  46. package/lib/database/index.d.ts +2 -2
  47. package/lib/database/index.d.ts.map +1 -1
  48. package/lib/database/index.js.map +1 -1
  49. package/lib/dxf/AcDbDxfDocumentReader.d.ts +1 -10
  50. package/lib/dxf/AcDbDxfDocumentReader.d.ts.map +1 -1
  51. package/lib/dxf/AcDbDxfDocumentReader.js +13 -102
  52. package/lib/dxf/AcDbDxfDocumentReader.js.map +1 -1
  53. package/lib/dxf/AcDbNativeDxfConverter.d.ts +6 -8
  54. package/lib/dxf/AcDbNativeDxfConverter.d.ts.map +1 -1
  55. package/lib/dxf/AcDbNativeDxfConverter.js +45 -57
  56. package/lib/dxf/AcDbNativeDxfConverter.js.map +1 -1
  57. package/lib/index.d.ts +3 -3
  58. package/lib/index.d.ts.map +1 -1
  59. package/lib/index.js +1 -1
  60. package/lib/index.js.map +1 -1
  61. package/lib/misc/AcDbRenderingCache.d.ts +22 -6
  62. package/lib/misc/AcDbRenderingCache.d.ts.map +1 -1
  63. package/lib/misc/AcDbRenderingCache.js +199 -45
  64. package/lib/misc/AcDbRenderingCache.js.map +1 -1
  65. package/package.json +4 -4
  66. package/lib/converter/AcDbFontNameCollector.d.ts +0 -72
  67. package/lib/converter/AcDbFontNameCollector.d.ts.map +0 -1
  68. package/lib/converter/AcDbFontNameCollector.js +0 -329
  69. package/lib/converter/AcDbFontNameCollector.js.map +0 -1
package/lib/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  export { AcDbDxfCode, AcDbDxfFiler, AcDbDxfFilerStatus, AcDbHostApplicationServices, AcDbObject, AcDbOpenMode, AcDbResultBuffer, TEMP_OBJECT_ID_PREFIX, acdbCreateDxfPairReader, acdbHostApplicationServices, acdbIsBinaryDxf, acdbMakeAsciiDxfPairReader, acdbMakeBinaryDxfPairReader, acdbMakeUtf8AsciiDxfPairReader, acdbPeekDxfHeaderInfo, acdbAssignWorkingDatabase, acdbGetWorkingDatabase, acdbSetHostApplicationServicesProvider, acdbSetLayoutManagerFactory, acdbDxfValueType, ACDB_DXF_MTEXT_CHUNK_CHARS, ACDB_DXF_XDATA_BINARY_MAX_BYTES, ACDB_DXF_XDATA_STRING_MAX_BYTES, acdbChunkBinaryByMaxBytes, acdbChunkDxfMTextContents, acdbChunkUtf8ByMaxBytes } from './base/';
2
2
  export { AcDbDxfDocumentReader, AcDbDxfObjectsReader, AcDbNativeDxfConverter, acdbCreateEntityForDxfIn, acdbDxfInEntity, acdbDxfInHeader } from './dxf';
3
- export { AcDbBaseWorker, AcDbBatchProcessing, AcDbFontNameCollector, AcDbRegenerator, AcDbWorkerApi, AcDbWorkerManager, acdbCreateWorkerApi } from './converter';
3
+ export { AcDbBaseWorker, AcDbBatchProcessing, AcDbRegenerator, AcDbWorkerApi, AcDbWorkerManager, acdbCreateWorkerApi } from './converter';
4
4
  export { AC_DB_SYSTEM_VARIABLE_NAMES, AcDbAbstractViewTableRecord, AcDbBlockScaling, AcDbBlockTable, AcDbBlockTableRecord, AcDbBlockTableRecordFlag, AcDbDatabase, AcDbDatabaseConverter, AcDbDatabaseConverterManager, AcDbDimStyleTable, AcDbDimStyleTableRecord, AcDbDimTextHorizontal, AcDbDimTextVertical, AcDbDimVerticalJustification, AcDbDimZeroSuppression, AcDbDimZeroSuppressionAngular, AcDbDwgVersion, AcDbFileType, AcDbLayerTable, AcDbLayerTableRecord, AcDbLinetypeTable, AcDbLinetypeTableRecord, AcDbRegAppTable, AcDbRegAppTableRecord, AcDbSymbolTable, AcDbSymbolTableRecord, AcDbSysVarManager, AcDbSystemVariables, AcDbChangeApplier, AcDbChangeRecorder, AcDbDatabaseTransaction, AcDbDatabaseTransactionManager, AcDbTransaction, AcDbTransactionManager, AcDbUndoStack, acdbCollectChangeEntities, AcDbOpenDatabaseError, AcDbTextStyleTable, AcDbTextStyleTableRecord, AcDbUcsTable, AcDbUcsTableRecord, AcDbViewTable, AcDbViewTableRecord, AcDbViewportTable, AcDbViewportTableRecord } from './database';
5
5
  export { AcDb2dPolyline, AcDb2dVertex, AcDb2dVertexType, AcDb3PointAngularDimension, AcDb3dPolyline, AcDb3dSolid, AcDb3dVertex, AcDb3dVertexType, AcDbAlignedDimension, AcDbArc, AcDbArcDimension, AcDbAttribute, AcDbAttributeDefinition, AcDbAttributeFlags, AcDbAttributeMTextFlag, AcDbBlockReference, AcDbCircle, AcDbCurve, AcDbDiametricDimension, AcDbDimension, AcDbEllipse, AcDbEntity, AcDbFace, AcDbFcf, AcDbFrame, AcDbGradientPatternType, AcDbHatch, AcDbHatchObjectType, AcDbHatchPatternType, AcDbHatchStyle, AcDbLeader, AcDbLeaderAnnotationType, AcDbLine, AcDbLineSpacingStyle, AcDbMLeader, AcDbMLeaderContentType, AcDbMLeaderDirectionType, AcDbMLeaderLineType, AcDbMLeaderTextAttachmentDirection, AcDbMLine, AcDbMLineFlags, AcDbMLineJustification, AcDbMText, AcDbOle2Frame, AcDbOleFrame, AcDbOleObjectType, AcDbOleTileMode, AcDbOrdinateDimension, AcDbPoint, AcDbPoly2dType, AcDbPoly3dType, AcDbPolyFaceMesh, AcDbPolyFaceMeshFace, AcDbPolyFaceMeshVertex, AcDbPolygonMesh, AcDbPolygonMeshVertex, AcDbPolyline, AcDbProxyEntity, AcDbRadialDimension, AcDbRasterImage, AcDbRasterImageClipBoundaryType, AcDbRasterImageImageDisplayOpt, AcDbRay, AcDbRotatedDimension, AcDbShape, AcDbSolid, AcDbSpline, AcDbTable, AcDbText, AcDbTextHorizontalMode, AcDbTextVerticalMode, AcDbTrace, AcDbViewport, AcDbWipeout, AcDbXline } from './entity';
6
6
  export { ACAD_APPID, ACDB_GRIPCOLOR_DEFAULT, ACDB_GRIPCOLOR_MAX, ACDB_GRIPCOLOR_MIN, ACDB_GRIPHOT_DEFAULT, ACDB_GRIPHOT_MAX, ACDB_GRIPHOT_MIN, ACDB_GRIPS_MAX, ACDB_GRIPS_MIN, ACDB_GRIPSIZE_DEFAULT, ACDB_GRIPSIZE_MAX, ACDB_GRIPSIZE_MIN, ACDB_GRIPOBJLIMIT_MAX, ACDB_GRIPOBJLIMIT_MIN, ACTIVE_VPORT_NAME, AcDbAngleUnits, AcDbCodePage, AcDbDataGenerator, AcDbDimArrowType, AcDbFormatter, AcDbLinearUnits, AcDbObjectIterator, AcDbOsnapMode, acdbEstimateDatabaseMemory, acdbFormatMemoryEstimate, AcDbPatParser, AcDbPatSvgRenderer, AcDbPredefinedAcadIsoPat, AcDbPredefinedAcadPat, AcDbProxyGraphic, AcDbProxyGraphicBitStream, AcDbProxyGraphicByteStream, AcDbProxyGraphicEndOfBufferError, AcDbProxyGraphicType, ACDB_PROXY_GRAPHIC_CHUNK_SIZE, AcDbRenderingCache, AcDbUnitsValue, ByBlock, ByLayer, DEFAULT_GRADIENT_HATCH_NAME, DEFAULT_HATCH_PATTERN_IMPERIAL, DEFAULT_HATCH_PATTERN_METRIC, DEFAULT_LINE_TYPE, DEFAULT_MLEADER_STYLE, DEFAULT_MLINE_STYLE, DEFAULT_TEXT_STYLE, HATCH_PATTERN_SOLID, HATCH_PATTERN_USER, MLIGHTCAD_APPID, RAW_COLOR_TYPE_ACI, RAW_COLOR_TYPE_BY_BLOCK, RAW_COLOR_TYPE_BY_LAYER, RAW_COLOR_TYPE_RGB, RAW_COLOR_TYPE_WINDOW_BG, VPORT_FALLBACK_CENTER_2D, VPORT_FALLBACK_LLC, VPORT_FALLBACK_URC, VPORT_FALLBACK_VIEW_DIR, VPORT_FALLBACK_VIEW_TARGET, acdbHexStringsToBytes, acdbPreviewIconToDataUrl, acdbThumbnailImageToDataUrl, acdbHasOsnapMode, acdbMaskToOsnapModes, acdbOsnapModesToMask, acdbToggleOsnapMode, acdbDecodeMLeaderStyleRawColor, acdbDwgCodePageToEncoding } from './misc';
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -71,8 +71,10 @@ export interface AcDbRenderingCacheProfileStats {
71
71
  * Blocks that contain ByBlock entities still key by block name and color because
72
72
  * different INSERT colors produce different materials.
73
73
  *
74
- * Templates are compacted (same-material leaves merged) before caching so each
75
- * INSERT clones O(material) geometries instead of O(entity) geometries.
74
+ * Templates may be compacted (same-material leaves merged) before or on first
75
+ * reuse so each INSERT clones O(material) geometries instead of O(entity)
76
+ * geometries. Mid-size templates defer compaction until the first cache hit so
77
+ * one-shot blocks skip merge work; tiny templates never compact.
76
78
  *
77
79
  * @internal
78
80
  *
@@ -162,12 +164,15 @@ export declare class AcDbRenderingCache {
162
164
  /**
163
165
  * Stores rendering results of a block in the cache.
164
166
  *
165
- * Deep-clones `group` so later mutations of the live instance cannot corrupt
166
- * the cached template.
167
+ * Stores `group` by reference as an immutable template. Callers must not
168
+ * mutate the stored object after this call; {@link get} / miss-path draws
169
+ * return {@link AcGiEntity.fastDeepClone} instances for scene use. Compacted
170
+ * templates share geometry buffers across clones (see three-renderer
171
+ * `AcTrGroup.fastDeepClone`).
167
172
  *
168
173
  * @param key - The key for the rendering results
169
174
  * @param group - The rendering results to store
170
- * @returns The stored rendering results (deep cloned)
175
+ * @returns The stored rendering results (same reference as `group`)
171
176
  *
172
177
  * @example
173
178
  * ```typescript
@@ -179,7 +184,8 @@ export declare class AcDbRenderingCache {
179
184
  * Gets rendering results with the specified key.
180
185
  *
181
186
  * Returns a deep clone so callers can transform the instance without
182
- * mutating the cached template.
187
+ * mutating the cached template. Compacted templates share geometry buffers
188
+ * with the clone (Object3D wrappers are still unique per INSERT).
183
189
  *
184
190
  * @param name - The key of the rendering results
185
191
  * @returns The cloned rendering results, or `undefined` if not found
@@ -291,5 +297,15 @@ export declare class AcDbRenderingCache {
291
297
  * @param source - Source database entity.
292
298
  */
293
299
  private attachEntityInfo;
300
+ /**
301
+ * Optionally runs {@link AcGiEntity.compactForInstancing} using the adaptive
302
+ * thresholds in {@link shouldCompactTemplate}.
303
+ *
304
+ * @param entity - Block template group to consider compacting.
305
+ * @param onCacheHit - When true, mid-size templates become eligible (first
306
+ * reuse). When false, only huge templates compact eagerly on miss.
307
+ * @returns `true` when compaction ran.
308
+ */
309
+ private maybeCompactTemplate;
294
310
  }
295
311
  //# sourceMappingURL=AcDbRenderingCache.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AcDbRenderingCache.d.ts","sourceRoot":"","sources":["../../src/misc/AcDbRenderingCache.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AcDbRenderingCache.d.ts","sourceRoot":"","sources":["../../src/misc/AcDbRenderingCache.ts"],"names":[],"mappings":"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"}
@@ -88,8 +88,10 @@ var emptyProfileStats = function () { return ({
88
88
  * Blocks that contain ByBlock entities still key by block name and color because
89
89
  * different INSERT colors produce different materials.
90
90
  *
91
- * Templates are compacted (same-material leaves merged) before caching so each
92
- * INSERT clones O(material) geometries instead of O(entity) geometries.
91
+ * Templates may be compacted (same-material leaves merged) before or on first
92
+ * reuse so each INSERT clones O(material) geometries instead of O(entity)
93
+ * geometries. Mid-size templates defer compaction until the first cache hit so
94
+ * one-shot blocks skip merge work; tiny templates never compact.
93
95
  *
94
96
  * @internal
95
97
  *
@@ -195,12 +197,15 @@ var AcDbRenderingCache = /** @class */ (function () {
195
197
  /**
196
198
  * Stores rendering results of a block in the cache.
197
199
  *
198
- * Deep-clones `group` so later mutations of the live instance cannot corrupt
199
- * the cached template.
200
+ * Stores `group` by reference as an immutable template. Callers must not
201
+ * mutate the stored object after this call; {@link get} / miss-path draws
202
+ * return {@link AcGiEntity.fastDeepClone} instances for scene use. Compacted
203
+ * templates share geometry buffers across clones (see three-renderer
204
+ * `AcTrGroup.fastDeepClone`).
200
205
  *
201
206
  * @param key - The key for the rendering results
202
207
  * @param group - The rendering results to store
203
- * @returns The stored rendering results (deep cloned)
208
+ * @returns The stored rendering results (same reference as `group`)
204
209
  *
205
210
  * @example
206
211
  * ```typescript
@@ -208,18 +213,8 @@ var AcDbRenderingCache = /** @class */ (function () {
208
213
  * ```
209
214
  */
210
215
  AcDbRenderingCache.prototype.set = function (key, group) {
211
- if (AcDbRenderingCache.profiling) {
212
- var t0 = performance.now();
213
- group = group.fastDeepClone();
214
- var dt = performance.now() - t0;
215
- AcDbRenderingCache._profileStats.setCloneMs += dt;
216
- if (AcDbRenderingCache._drawDepth === 1) {
217
- AcDbRenderingCache._profileStats.topLevel.setCloneMs += dt;
218
- }
219
- }
220
- else {
221
- group = group.fastDeepClone();
222
- }
216
+ // Templates are immutable after insert. Avoid a deep clone here — miss
217
+ // path returns a per-INSERT clone, and compacted clones share buffers.
223
218
  this._blocks.set(key, group);
224
219
  return group;
225
220
  };
@@ -227,7 +222,8 @@ var AcDbRenderingCache = /** @class */ (function () {
227
222
  * Gets rendering results with the specified key.
228
223
  *
229
224
  * Returns a deep clone so callers can transform the instance without
230
- * mutating the cached template.
225
+ * mutating the cached template. Compacted templates share geometry buffers
226
+ * with the clone (Object3D wrappers are still unique per INSERT).
231
227
  *
232
228
  * @param name - The key of the rendering results
233
229
  * @returns The cloned rendering results, or `undefined` if not found
@@ -241,22 +237,33 @@ var AcDbRenderingCache = /** @class */ (function () {
241
237
  * ```
242
238
  */
243
239
  AcDbRenderingCache.prototype.get = function (name) {
244
- var block = this._blocks.get(name);
245
- if (block) {
246
- if (AcDbRenderingCache.profiling) {
247
- var t0 = performance.now();
248
- block = block.fastDeepClone();
249
- var dt = performance.now() - t0;
250
- AcDbRenderingCache._profileStats.cloneMs += dt;
240
+ var template = this._blocks.get(name);
241
+ if (!template) {
242
+ return undefined;
243
+ }
244
+ // Compact mid-size templates on first reuse so one-shot blocks never pay
245
+ // compactForInstancing, while repeated INSERTs still clone O(material) leaves.
246
+ if (AcDbRenderingCache.profiling) {
247
+ var tCompact0 = performance.now();
248
+ var compacted = this.maybeCompactTemplate(template, true);
249
+ if (compacted) {
250
+ var dt_1 = performance.now() - tCompact0;
251
+ AcDbRenderingCache._profileStats.missCompactMs += dt_1;
251
252
  if (AcDbRenderingCache._drawDepth === 1) {
252
- AcDbRenderingCache._profileStats.topLevel.cloneMs += dt;
253
+ AcDbRenderingCache._profileStats.topLevel.missCompactMs += dt_1;
253
254
  }
254
255
  }
255
- else {
256
- block = block.fastDeepClone();
256
+ var t0 = performance.now();
257
+ var block = template.fastDeepClone();
258
+ var dt = performance.now() - t0;
259
+ AcDbRenderingCache._profileStats.cloneMs += dt;
260
+ if (AcDbRenderingCache._drawDepth === 1) {
261
+ AcDbRenderingCache._profileStats.topLevel.cloneMs += dt;
257
262
  }
263
+ return block;
258
264
  }
259
- return block;
265
+ this.maybeCompactTemplate(template, true);
266
+ return template.fastDeepClone();
260
267
  };
261
268
  /**
262
269
  * Checks if rendering results with the specified key exist in the cache.
@@ -417,10 +424,22 @@ var AcDbRenderingCache = /** @class */ (function () {
417
424
  try {
418
425
  if (blockTableRecord != null) {
419
426
  var blockRgb = (_b = blockColor.RGB) !== null && _b !== void 0 ? _b : 0;
420
- var hasByBlockColor = this.blockHasByBlockColor(blockTableRecord);
421
- var key = this.createCacheKey(blockTableRecord.name, blockColor, hasByBlockColor);
427
+ var blockName = blockTableRecord.name;
428
+ // Resolve cache hits without scanning block entities for ByBlock color.
429
+ // Color-independent templates are keyed by name; ByBlock templates use
430
+ // name+color. Miss path discovers ByBlock while building (one walk).
431
+ var key = void 0;
432
+ if (blockName && this.has(blockName)) {
433
+ key = blockName;
434
+ }
435
+ else if (blockName) {
436
+ var colorKey = this.createKey(blockName, blockColor);
437
+ if (this.has(colorKey)) {
438
+ key = colorKey;
439
+ }
440
+ }
422
441
  var block_1;
423
- if (this.has(key)) {
442
+ if (key !== undefined) {
424
443
  var tHit0 = profile ? performance.now() : 0;
425
444
  block_1 = this.get(key);
426
445
  if (profile) {
@@ -435,6 +454,7 @@ var AcDbRenderingCache = /** @class */ (function () {
435
454
  }
436
455
  else {
437
456
  var tBuild0 = profile ? performance.now() : 0;
457
+ var sawByBlockColor = false;
438
458
  var entities = blockTableRecord.newIterator();
439
459
  try {
440
460
  for (var entities_1 = __values(entities), entities_1_1 = entities_1.next(); !entities_1_1.done; entities_1_1 = entities_1.next()) {
@@ -443,10 +463,10 @@ var AcDbRenderingCache = /** @class */ (function () {
443
463
  continue;
444
464
  }
445
465
  // ByBlock entities temporarily inherit the INSERT color for material
446
- // creation. Use a local saved color so nested draw() calls cannot
447
- // corrupt a shared module-level scratch buffer.
466
+ // creation. Scratch stack is nest-safe across recursive draw().
448
467
  if (entity.color.isByBlock) {
449
- var savedColor = new AcCmColor().copy(entity.color);
468
+ sawByBlockColor = true;
469
+ var savedColor = pushByBlockColorScratch(entity.color);
450
470
  try {
451
471
  if (blockColor.isForeground) {
452
472
  entity.color.setForeground();
@@ -458,6 +478,7 @@ var AcDbRenderingCache = /** @class */ (function () {
458
478
  }
459
479
  finally {
460
480
  entity.color.copy(savedColor);
481
+ popByBlockColorScratch(savedColor);
461
482
  }
462
483
  }
463
484
  else {
@@ -481,12 +502,17 @@ var AcDbRenderingCache = /** @class */ (function () {
481
502
  stats.topLevel.missBuildMs += buildMs;
482
503
  }
483
504
  }
484
- // Merge same-material leaves before caching so INSERT clones are cheap.
505
+ // Adaptive compact for cached templates only:
506
+ // - Tiny: never compact.
507
+ // - Huge: compact eagerly on miss (clone cost dominates).
508
+ // - Mid-size: defer until first cache hit so one-shot blocks skip it.
509
+ // Anonymous *U / cache:false draws are one-shot — never compact.
485
510
  var compactMs = 0;
486
- if (block_1 === null || block_1 === void 0 ? void 0 : block_1.compactForInstancing) {
511
+ var willCache = !!cache && !!blockName && !blockName.startsWith('*U');
512
+ if (block_1 && willCache) {
487
513
  var tCompact0 = profile ? performance.now() : 0;
488
- block_1.compactForInstancing();
489
- if (profile) {
514
+ var compacted = this.maybeCompactTemplate(block_1, false);
515
+ if (profile && compacted) {
490
516
  compactMs = performance.now() - tCompact0;
491
517
  stats.missCompactMs += compactMs;
492
518
  if (isTop) {
@@ -494,12 +520,24 @@ var AcDbRenderingCache = /** @class */ (function () {
494
520
  }
495
521
  }
496
522
  }
523
+ key = this.createCacheKey(blockName, blockColor, sawByBlockColor);
497
524
  var setCloneBefore = profile ? stats.setCloneMs : 0;
498
- if (block_1 && cache) {
499
- // Transient anonymous blocks (*U…) are not reused across INSERTs.
500
- if (blockTableRecord.name &&
501
- !blockTableRecord.name.startsWith('*U')) {
502
- this.set(key, block_1);
525
+ if (block_1 && willCache) {
526
+ prepareCacheTemplate(block_1);
527
+ // Store the immutable template by reference, then hand the scene a
528
+ // per-INSERT clone so applyMatrix cannot mutate the cache entry.
529
+ this.set(key, block_1);
530
+ if (profile) {
531
+ var tClone0 = performance.now();
532
+ block_1 = block_1.fastDeepClone();
533
+ var dt = performance.now() - tClone0;
534
+ stats.setCloneMs += dt;
535
+ if (isTop) {
536
+ stats.topLevel.setCloneMs += dt;
537
+ }
538
+ }
539
+ else {
540
+ block_1 = block_1.fastDeepClone();
503
541
  }
504
542
  }
505
543
  if (profile) {
@@ -508,7 +546,7 @@ var AcDbRenderingCache = /** @class */ (function () {
508
546
  stats.topLevel.misses++;
509
547
  }
510
548
  stats.blockMisses.push({
511
- blockName: blockTableRecord.name || '(unnamed)',
549
+ blockName: blockName || '(unnamed)',
512
550
  buildMs: buildMs,
513
551
  compactMs: compactMs,
514
552
  setCloneMs: stats.setCloneMs - setCloneBefore
@@ -651,6 +689,28 @@ var AcDbRenderingCache = /** @class */ (function () {
651
689
  target.layerName = source.layer;
652
690
  target.visible = source.visibility;
653
691
  };
692
+ /**
693
+ * Optionally runs {@link AcGiEntity.compactForInstancing} using the adaptive
694
+ * thresholds in {@link shouldCompactTemplate}.
695
+ *
696
+ * @param entity - Block template group to consider compacting.
697
+ * @param onCacheHit - When true, mid-size templates become eligible (first
698
+ * reuse). When false, only huge templates compact eagerly on miss.
699
+ * @returns `true` when compaction ran.
700
+ */
701
+ AcDbRenderingCache.prototype.maybeCompactTemplate = function (entity, onCacheHit) {
702
+ if (!entity.compactForInstancing) {
703
+ return false;
704
+ }
705
+ if (isTemplateCompacted(entity)) {
706
+ return false;
707
+ }
708
+ if (!shouldCompactTemplate(entity, onCacheHit)) {
709
+ return false;
710
+ }
711
+ entity.compactForInstancing();
712
+ return true;
713
+ };
654
714
  /**
655
715
  * When true, {@link draw} / {@link get} / {@link set} accumulate
656
716
  * {@link profileStats}. Off by default (zero overhead when false).
@@ -671,4 +731,98 @@ var _tmpWorldTransform = /*@__PURE__*/ new AcGeMatrix3d();
671
731
  var _tmpExtrusion = /*@__PURE__*/ new AcGeMatrix3d();
672
732
  /** Scratch inverse of the world transform used to bring ATTRIB geometry into block space. */
673
733
  var _tmpInverse = /*@__PURE__*/ new AcGeMatrix3d();
734
+ /**
735
+ * Minimum direct child count before {@link AcGiEntity.compactForInstancing} is
736
+ * worth running on a block template.
737
+ *
738
+ * Raised above the historical value of 3 so high-block-count drawings with many
739
+ * tiny symbols skip classify/merge work that never pays back on clone.
740
+ */
741
+ var MIN_CHILDREN_TO_COMPACT = 8;
742
+ /**
743
+ * Direct child count at which compaction runs eagerly on cache miss.
744
+ *
745
+ * Below this (but at/above {@link MIN_CHILDREN_TO_COMPACT}), compaction is
746
+ * deferred until the first cache hit so one-shot blocks skip it entirely.
747
+ */
748
+ var EAGER_COMPACT_CHILDREN = 32;
749
+ /**
750
+ * Nest-safe ByBlock color save/restore pool for {@link AcDbRenderingCache.draw}.
751
+ * Avoids allocating a new {@link AcCmColor} per ByBlock entity on cache misses.
752
+ */
753
+ var _byBlockColorScratch = [];
754
+ /**
755
+ * Returns the direct child count of a graphic entity when available.
756
+ *
757
+ * @param entity - Group or entity produced by the renderer.
758
+ * @returns {@link AcGiEntity.childCount}, or a large sentinel when unknown
759
+ * (favor compacting).
760
+ */
761
+ function entityChildCount(entity) {
762
+ var count = entity.childCount;
763
+ return typeof count === 'number' ? count : Number.POSITIVE_INFINITY;
764
+ }
765
+ /**
766
+ * Returns whether `entity` has already been compacted for instancing.
767
+ *
768
+ * Duck-types optional `isCompacted` from three-renderer `AcTrGroup`.
769
+ *
770
+ * @param entity - Cached or freshly built block template.
771
+ * @returns `true` when compaction has already run.
772
+ */
773
+ function isTemplateCompacted(entity) {
774
+ var flag = entity.isCompacted;
775
+ return flag === true;
776
+ }
777
+ /**
778
+ * Decides whether a template should run {@link AcGiEntity.compactForInstancing}.
779
+ *
780
+ * @param entity - Block template to evaluate.
781
+ * @param onCacheHit - When true, mid-size templates are eligible (lazy compact).
782
+ * @returns `true` when compaction should run now.
783
+ */
784
+ function shouldCompactTemplate(entity, onCacheHit) {
785
+ var count = entityChildCount(entity);
786
+ if (count < MIN_CHILDREN_TO_COMPACT) {
787
+ return false;
788
+ }
789
+ if (count >= EAGER_COMPACT_CHILDREN) {
790
+ return true;
791
+ }
792
+ // Mid-size: only on first cache hit so one-shot blocks skip merge work.
793
+ return onCacheHit;
794
+ }
795
+ /**
796
+ * Finalizes deferred geometry and drops detached source shells before caching.
797
+ *
798
+ * Duck-types optional `prepareCacheTemplate` from three-renderer `AcTrGroup`.
799
+ *
800
+ * @param entity - Block template about to be stored in the cache.
801
+ */
802
+ function prepareCacheTemplate(entity) {
803
+ var prepare = entity.prepareCacheTemplate;
804
+ if (typeof prepare === 'function') {
805
+ prepare.call(entity);
806
+ }
807
+ }
808
+ /**
809
+ * Copies `color` into a pooled scratch and returns it.
810
+ *
811
+ * @param color - Entity color to snapshot before temporary ByBlock override.
812
+ * @returns Pooled color holding a copy of `color`.
813
+ */
814
+ function pushByBlockColorScratch(color) {
815
+ var _a;
816
+ var scratch = (_a = _byBlockColorScratch.pop()) !== null && _a !== void 0 ? _a : new AcCmColor();
817
+ scratch.copy(color);
818
+ return scratch;
819
+ }
820
+ /**
821
+ * Returns a scratch color from {@link pushByBlockColorScratch} to the pool.
822
+ *
823
+ * @param scratch - Color previously returned by {@link pushByBlockColorScratch}.
824
+ */
825
+ function popByBlockColorScratch(scratch) {
826
+ _byBlockColorScratch.push(scratch);
827
+ }
674
828
  //# sourceMappingURL=AcDbRenderingCache.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AcDbRenderingCache.js","sourceRoot":"","sources":["../../src/misc/AcDbRenderingCache.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AcDbRenderingCache.js","sourceRoot":"","sources":["../../src/misc/AcDbRenderingCache.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mlightcad/data-model",
3
- "version": "1.12.2",
3
+ "version": "1.12.4",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "repository": {
@@ -36,9 +36,9 @@
36
36
  },
37
37
  "dependencies": {
38
38
  "uid": "^2.0.2",
39
- "@mlightcad/geometry-engine": "3.12.2",
40
- "@mlightcad/graphic-interface": "3.12.2",
41
- "@mlightcad/common": "1.12.2"
39
+ "@mlightcad/common": "1.12.4",
40
+ "@mlightcad/geometry-engine": "3.12.4",
41
+ "@mlightcad/graphic-interface": "3.12.4"
42
42
  },
43
43
  "scripts": {
44
44
  "analyze": "pnpm run analyze:lib",
@@ -1,72 +0,0 @@
1
- /** STYLE table entry protocol used when collecting fonts before conversion. */
2
- export type AcDbFontNameCollectorStyleEntry = {
3
- name: string;
4
- font?: string;
5
- bigFont?: string;
6
- extendedFont?: string;
7
- standardFlag?: number;
8
- };
9
- /**
10
- * Font-related fields extracted from one parsed entity.
11
- *
12
- * The collector resolves {@link styleName} against the STYLE table and parses
13
- * inline font overrides from {@link formattedText}.
14
- */
15
- export type AcDbFontNameCollectorEntityFontInfo = {
16
- styleName?: string;
17
- formattedText?: string;
18
- blockName?: string;
19
- /** When true, resolve fonts via STYLE table fallbacks. */
20
- resolveStyle?: boolean;
21
- };
22
- /** Callbacks that map a host-specific entity model to collector input. */
23
- export type AcDbFontNameCollectorAdapter<TEntity> = {
24
- getEntityFontInfo(entity: TEntity): AcDbFontNameCollectorEntityFontInfo | null;
25
- getBlockEntities?(blockName: string): TEntity[] | undefined;
26
- };
27
- export type AcDbFontNameCollectorOptions = {
28
- styles: AcDbFontNameCollectorStyleEntry[];
29
- textStyleVar?: string;
30
- };
31
- /**
32
- * Collects normalized font names from parsed drawing data before conversion.
33
- *
34
- * Host converters supply STYLE table entries plus an adapter that describes
35
- * each entity's font usage and nested block structure.
36
- */
37
- export declare class AcDbFontNameCollector {
38
- private readonly styles;
39
- private readonly styleMap;
40
- private readonly textStyleVar;
41
- constructor(options: AcDbFontNameCollectorOptions);
42
- /**
43
- * Walks entities and returns all normalized font names referenced by the drawing.
44
- */
45
- collect<TEntity>(entities: TEntity[], adapter: AcDbFontNameCollectorAdapter<TEntity>): string[];
46
- /**
47
- * Normalizes a font file name for font loading: strips the extension and lowercases.
48
- */
49
- static normalizeFontFileName(fontFileName?: string): string | undefined;
50
- private collectFromEntities;
51
- /**
52
- * Resolves font names for a text entity style using the same fallbacks as
53
- * {@link AcDbTextStyleTable.resolveAt}.
54
- */
55
- private resolveStyleFontNames;
56
- private addResolvedStyleFonts;
57
- private static buildStyleFontMap;
58
- private static collectStyleEntryFontNames;
59
- /**
60
- * Collects primary, big, and extended fonts from every named STYLE entry.
61
- * Ensures fonts referenced only in the style table (or in blocks not reached
62
- * from model space) are still preloaded when opening a drawing.
63
- */
64
- private static collectNamedStyleTableFonts;
65
- private static collectShapeDefinitionFonts;
66
- private static extractInlineMTextFonts;
67
- /**
68
- * Extracts normalized font names from MTEXT inline overrides (`\f…|` / `\F…;`).
69
- */
70
- static collectInlineMTextFonts(text: string): string[];
71
- }
72
- //# sourceMappingURL=AcDbFontNameCollector.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AcDbFontNameCollector.d.ts","sourceRoot":"","sources":["../../src/converter/AcDbFontNameCollector.ts"],"names":[],"mappings":"AAOA,+EAA+E;AAC/E,MAAM,MAAM,+BAA+B,GAAG;IAC5C,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB,CAAA;AAED;;;;;GAKG;AACH,MAAM,MAAM,mCAAmC,GAAG;IAChD,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,0DAA0D;IAC1D,YAAY,CAAC,EAAE,OAAO,CAAA;CACvB,CAAA;AAED,0EAA0E;AAC1E,MAAM,MAAM,4BAA4B,CAAC,OAAO,IAAI;IAClD,iBAAiB,CAAC,MAAM,EAAE,OAAO,GAAG,mCAAmC,GAAG,IAAI,CAAA;IAC9E,gBAAgB,CAAC,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,EAAE,GAAG,SAAS,CAAA;CAC5D,CAAA;AAED,MAAM,MAAM,4BAA4B,GAAG;IACzC,MAAM,EAAE,+BAA+B,EAAE,CAAA;IACzC,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB,CAAA;AAED;;;;;GAKG;AACH,qBAAa,qBAAqB;IAChC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAmC;IAC1D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAuB;IAChD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAQ;gBAEzB,OAAO,EAAE,4BAA4B;IAMjD;;OAEG;IACH,OAAO,CAAC,OAAO,EACb,QAAQ,EAAE,OAAO,EAAE,EACnB,OAAO,EAAE,4BAA4B,CAAC,OAAO,CAAC,GAC7C,MAAM,EAAE;IAgBX;;OAEG;IACH,MAAM,CAAC,qBAAqB,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAWvE,OAAO,CAAC,mBAAmB;IAgC3B;;;OAGG;IACH,OAAO,CAAC,qBAAqB;IA+B7B,OAAO,CAAC,qBAAqB;IAQ7B,OAAO,CAAC,MAAM,CAAC,iBAAiB;IAahC,OAAO,CAAC,MAAM,CAAC,0BAA0B;IAgBzC;;;;OAIG;IACH,OAAO,CAAC,MAAM,CAAC,2BAA2B;IAa1C,OAAO,CAAC,MAAM,CAAC,2BAA2B;IAmB1C,OAAO,CAAC,MAAM,CAAC,uBAAuB;IAWtC;;OAEG;IACH,MAAM,CAAC,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE;CAGvD"}