@mlightcad/data-model 1.10.0 → 1.10.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (73) hide show
  1. package/README.md +17 -0
  2. package/dist/data-model.cjs +8 -7
  3. package/lib/converter/index.d.ts +1 -1
  4. package/lib/converter/index.d.ts.map +1 -1
  5. package/lib/converter/worker/AcDbBaseWorker.d.ts +22 -0
  6. package/lib/converter/worker/AcDbBaseWorker.d.ts.map +1 -1
  7. package/lib/converter/worker/AcDbBaseWorker.js +26 -3
  8. package/lib/converter/worker/AcDbBaseWorker.js.map +1 -1
  9. package/lib/converter/worker/AcDbWorkerManager.d.ts +3 -0
  10. package/lib/converter/worker/AcDbWorkerManager.d.ts.map +1 -1
  11. package/lib/converter/worker/AcDbWorkerManager.js +8 -3
  12. package/lib/converter/worker/AcDbWorkerManager.js.map +1 -1
  13. package/lib/converter/worker/index.d.ts +1 -1
  14. package/lib/converter/worker/index.d.ts.map +1 -1
  15. package/lib/database/AcDbBlockTable.d.ts +2 -1
  16. package/lib/database/AcDbBlockTable.d.ts.map +1 -1
  17. package/lib/database/AcDbBlockTable.js +14 -25
  18. package/lib/database/AcDbBlockTable.js.map +1 -1
  19. package/lib/database/AcDbBlockTableRecord.d.ts +7 -1
  20. package/lib/database/AcDbBlockTableRecord.d.ts.map +1 -1
  21. package/lib/database/AcDbBlockTableRecord.js +48 -13
  22. package/lib/database/AcDbBlockTableRecord.js.map +1 -1
  23. package/lib/database/AcDbDatabase.d.ts +92 -12
  24. package/lib/database/AcDbDatabase.d.ts.map +1 -1
  25. package/lib/database/AcDbDatabase.js +323 -199
  26. package/lib/database/AcDbDatabase.js.map +1 -1
  27. package/lib/database/AcDbOpenDatabaseError.d.ts +113 -0
  28. package/lib/database/AcDbOpenDatabaseError.d.ts.map +1 -0
  29. package/lib/database/AcDbOpenDatabaseError.js +156 -0
  30. package/lib/database/AcDbOpenDatabaseError.js.map +1 -0
  31. package/lib/database/AcDbSymbolTable.d.ts +27 -6
  32. package/lib/database/AcDbSymbolTable.d.ts.map +1 -1
  33. package/lib/database/AcDbSymbolTable.js +128 -15
  34. package/lib/database/AcDbSymbolTable.js.map +1 -1
  35. package/lib/database/AcDbSymbolTableRecord.d.ts.map +1 -1
  36. package/lib/database/AcDbSymbolTableRecord.js +1 -2
  37. package/lib/database/AcDbSymbolTableRecord.js.map +1 -1
  38. package/lib/database/AcDbTextStyleTable.js +1 -1
  39. package/lib/database/AcDbTextStyleTable.js.map +1 -1
  40. package/lib/database/AcDbViewportTable.d.ts.map +1 -1
  41. package/lib/database/AcDbViewportTable.js +3 -2
  42. package/lib/database/AcDbViewportTable.js.map +1 -1
  43. package/lib/database/index.d.ts +3 -1
  44. package/lib/database/index.d.ts.map +1 -1
  45. package/lib/database/index.js +1 -0
  46. package/lib/database/index.js.map +1 -1
  47. package/lib/entity/AcDbLeader.d.ts +44 -0
  48. package/lib/entity/AcDbLeader.d.ts.map +1 -1
  49. package/lib/entity/AcDbLeader.js +238 -10
  50. package/lib/entity/AcDbLeader.js.map +1 -1
  51. package/lib/entity/AcDbMText.d.ts +10 -0
  52. package/lib/entity/AcDbMText.d.ts.map +1 -1
  53. package/lib/entity/AcDbMText.js +28 -3
  54. package/lib/entity/AcDbMText.js.map +1 -1
  55. package/lib/entity/AcDbPolyline.js +210 -19
  56. package/lib/entity/AcDbPolyline.js.map +1 -1
  57. package/lib/entity/AcDbTextExtentsHelpers.d.ts +104 -1
  58. package/lib/entity/AcDbTextExtentsHelpers.d.ts.map +1 -1
  59. package/lib/entity/AcDbTextExtentsHelpers.js +126 -0
  60. package/lib/entity/AcDbTextExtentsHelpers.js.map +1 -1
  61. package/lib/index.d.ts +3 -3
  62. package/lib/index.d.ts.map +1 -1
  63. package/lib/index.js +1 -1
  64. package/lib/index.js.map +1 -1
  65. package/lib/misc/AcDbObjectIterator.d.ts +5 -4
  66. package/lib/misc/AcDbObjectIterator.d.ts.map +1 -1
  67. package/lib/misc/AcDbObjectIterator.js +50 -5
  68. package/lib/misc/AcDbObjectIterator.js.map +1 -1
  69. package/lib/object/AcDbDictionary.d.ts +0 -2
  70. package/lib/object/AcDbDictionary.d.ts.map +1 -1
  71. package/lib/object/AcDbDictionary.js +21 -12
  72. package/lib/object/AcDbDictionary.js.map +1 -1
  73. package/package.json +4 -4
@@ -38,6 +38,17 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
38
38
  }
39
39
  return to.concat(ar || Array.prototype.slice.call(from));
40
40
  };
41
+ var __values = (this && this.__values) || function(o) {
42
+ var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
43
+ if (m) return m.call(o);
44
+ if (o && typeof o.length === "number") return {
45
+ next: function () {
46
+ if (o && i >= o.length) o = void 0;
47
+ return { value: o && o[i++], done: !o };
48
+ }
49
+ };
50
+ throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
51
+ };
41
52
  import { AcGeArea2d, AcGeBox3d, AcGeCircArc2d, AcGePoint2d, AcGePoint3d, AcGePolyline2d, offsetVertexPath } from '@mlightcad/geometry-engine';
42
53
  import { AcDbSystemVariables } from '../database/AcDbSystemVariables';
43
54
  import { AcDbSysVarManager } from '../database/AcDbSysVarManager';
@@ -777,12 +788,15 @@ export function offsetVertexPathAsPolyline(points, closed, offsetDist) {
777
788
  }
778
789
  var WIDTH_EPSILON = 1e-6;
779
790
  var MITER_LIMIT = 4;
791
+ var INNER_TO_OUTER_MAX_RATIO = 0.75;
780
792
  /**
781
793
  * Builds a renderable filled area for a wide polyline.
782
794
  *
783
- * Open wide polylines are represented as a single stitched shell loop. Closed
784
- * wide polylines are represented as two loops (outer + inner hole) so the
785
- * stroke ring does not degenerate into a self-intersecting polygon.
795
+ * Open wide polylines are tessellated into per-segment quads so the stroke band
796
+ * follows the centerline without enclosing interior regions when the path bends
797
+ * back on itself. Closed wide polylines are represented as two loops (outer +
798
+ * inner hole) so the stroke ring does not degenerate into a self-intersecting
799
+ * polygon.
786
800
  *
787
801
  * @param points - Centerline samples with per-point widths.
788
802
  * @param closed - Whether the source polyline is topologically closed.
@@ -790,31 +804,168 @@ var MITER_LIMIT = 4;
790
804
  * be constructed.
791
805
  */
792
806
  function createWidePolylineArea(points, closed) {
807
+ var e_1, _a, e_2, _b;
793
808
  if (points.length < 2)
794
809
  return null;
810
+ if (closed) {
811
+ return createWidePolylineAreaForSingleProfile(points, true);
812
+ }
813
+ var subpaths = splitWidePolylineProfileAtRevisits(points);
814
+ if (subpaths.length === 1) {
815
+ return createWidePolylineAreaForSingleProfile(subpaths[0], false);
816
+ }
817
+ var area = new AcGeArea2d();
818
+ var added = false;
819
+ try {
820
+ for (var subpaths_1 = __values(subpaths), subpaths_1_1 = subpaths_1.next(); !subpaths_1_1.done; subpaths_1_1 = subpaths_1.next()) {
821
+ var subpath = subpaths_1_1.value;
822
+ var part = createWidePolylineAreaForSingleProfile(subpath, false);
823
+ if (part == null) {
824
+ continue;
825
+ }
826
+ try {
827
+ for (var _c = (e_2 = void 0, __values(part.loops)), _d = _c.next(); !_d.done; _d = _c.next()) {
828
+ var loop = _d.value;
829
+ area.add(loop);
830
+ }
831
+ }
832
+ catch (e_2_1) { e_2 = { error: e_2_1 }; }
833
+ finally {
834
+ try {
835
+ if (_d && !_d.done && (_b = _c.return)) _b.call(_c);
836
+ }
837
+ finally { if (e_2) throw e_2.error; }
838
+ }
839
+ added = true;
840
+ }
841
+ }
842
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
843
+ finally {
844
+ try {
845
+ if (subpaths_1_1 && !subpaths_1_1.done && (_a = subpaths_1.return)) _a.call(subpaths_1);
846
+ }
847
+ finally { if (e_1) throw e_1.error; }
848
+ }
849
+ return added ? area : null;
850
+ }
851
+ function createWidePolylineAreaForSingleProfile(points, closed) {
795
852
  var centerline = normalizeCenterline(points, closed);
796
853
  if (centerline.length < 2)
797
854
  return null;
798
855
  var _a = createWidePolylineBoundaries(centerline, closed), left = _a.left, right = _a.right;
799
- if (left.length < 2 || right.length < 2)
856
+ if (countBoundaryPoints(left) < 2 || countBoundaryPoints(right) < 2) {
800
857
  return null;
858
+ }
801
859
  var area = new AcGeArea2d();
802
860
  if (closed) {
803
- if (!isRenderableLoop(left) || !isRenderableLoop(right)) {
861
+ var leftLoop = compactBoundaryLoop(left);
862
+ var rightLoop = compactBoundaryLoop(right);
863
+ if (!isRenderableLoop(leftLoop) || !isRenderableLoop(rightLoop)) {
804
864
  return null;
805
865
  }
806
- var leftArea = Math.abs(calculateSignedArea(left));
807
- var rightArea = Math.abs(calculateSignedArea(right));
808
- var _b = __read(leftArea >= rightArea ? [left, right] : [right, left], 2), outer = _b[0], inner = _b[1];
866
+ var leftArea = Math.abs(calculateSignedArea(leftLoop));
867
+ var rightArea = Math.abs(calculateSignedArea(rightLoop));
868
+ var _b = __read(leftArea >= rightArea ? [leftLoop, rightLoop] : [rightLoop, leftLoop], 2), outer = _b[0], inner = _b[1];
809
869
  area.add(new AcGePolyline2d(outer, true));
810
870
  area.add(new AcGePolyline2d(inner, true));
811
871
  return area;
812
872
  }
813
- var loop = __spreadArray(__spreadArray([], __read(left), false), __read(right.reverse()), false);
814
- if (!isRenderableLoop(loop))
815
- return null;
816
- area.add(new AcGePolyline2d(loop, true));
817
- return area;
873
+ if ((isNearlyClosedWidePolyline(centerline) &&
874
+ tryAddClosedOffsetWidePolylineRing(area, centerline)) ||
875
+ addOpenWidePolylineBand(area, left, right)) {
876
+ return area;
877
+ }
878
+ return null;
879
+ }
880
+ /**
881
+ * Splits a sampled centerline when it revisits the same point so each subpath
882
+ * can be stroked independently without forming one enclosing fill region.
883
+ */
884
+ function splitWidePolylineProfileAtRevisits(points) {
885
+ if (points.length < 2) {
886
+ return [points];
887
+ }
888
+ var subpaths = [];
889
+ var segmentStart = 0;
890
+ var firstIndexByKey = new Map();
891
+ for (var i = 0; i < points.length; i++) {
892
+ var key = widePolylinePointKey(points[i]);
893
+ var firstIndex = firstIndexByKey.get(key);
894
+ if (firstIndex != null && i - firstIndex > 1) {
895
+ var subpath = points.slice(segmentStart, i + 1);
896
+ if (subpath.length >= 2) {
897
+ subpaths.push(subpath);
898
+ }
899
+ segmentStart = firstIndex;
900
+ firstIndexByKey.clear();
901
+ for (var j = segmentStart; j <= i; j++) {
902
+ firstIndexByKey.set(widePolylinePointKey(points[j]), j);
903
+ }
904
+ continue;
905
+ }
906
+ firstIndexByKey.set(key, i);
907
+ }
908
+ var tail = points.slice(segmentStart);
909
+ if (tail.length >= 2) {
910
+ subpaths.push(tail);
911
+ }
912
+ return subpaths.length > 0 ? subpaths : [points];
913
+ }
914
+ function widePolylinePointKey(point) {
915
+ return "".concat(point.x.toFixed(4), ":").concat(point.y.toFixed(4));
916
+ }
917
+ /**
918
+ * Validates that two offset loops form a thin ring rather than a near-solid slab.
919
+ */
920
+ function isValidWidePolylineRing(outerArea, innerArea) {
921
+ var outer = Math.max(outerArea, innerArea);
922
+ var inner = Math.min(outerArea, innerArea);
923
+ if (outer <= WIDTH_EPSILON) {
924
+ return false;
925
+ }
926
+ var ringArea = outer - inner;
927
+ if (ringArea <= WIDTH_EPSILON) {
928
+ return false;
929
+ }
930
+ return inner / outer <= INNER_TO_OUTER_MAX_RATIO;
931
+ }
932
+ /**
933
+ * Returns true when an open polyline's endpoints are close enough to be treated
934
+ * as a nearly-closed stirrup outline.
935
+ */
936
+ function isNearlyClosedWidePolyline(centerline) {
937
+ var first = centerline[0];
938
+ var last = centerline[centerline.length - 1];
939
+ var gap = Math.hypot(last.x - first.x, last.y - first.y);
940
+ if (gap <= WIDTH_EPSILON) {
941
+ return true;
942
+ }
943
+ var maxWidth = Math.max.apply(Math, __spreadArray([], __read(centerline.map(function (point) { return point.width; })), false));
944
+ if (maxWidth <= WIDTH_EPSILON) {
945
+ return false;
946
+ }
947
+ return gap <= maxWidth * 4;
948
+ }
949
+ /**
950
+ * Attempts to render an open wide polyline as a closed-offset ring. This matches
951
+ * stirrup-like paths whose endpoints are separated by a small gap.
952
+ */
953
+ function tryAddClosedOffsetWidePolylineRing(area, centerline) {
954
+ var _a = createWidePolylineBoundaries(centerline, true), left = _a.left, right = _a.right;
955
+ var leftLoop = compactBoundaryLoop(left);
956
+ var rightLoop = compactBoundaryLoop(right);
957
+ if (!isRenderableLoop(leftLoop) || !isRenderableLoop(rightLoop)) {
958
+ return false;
959
+ }
960
+ var leftArea = Math.abs(calculateSignedArea(leftLoop));
961
+ var rightArea = Math.abs(calculateSignedArea(rightLoop));
962
+ if (!isValidWidePolylineRing(leftArea, rightArea)) {
963
+ return false;
964
+ }
965
+ var _b = __read(leftArea >= rightArea ? [leftLoop, rightLoop] : [rightLoop, leftLoop], 2), outer = _b[0], inner = _b[1];
966
+ area.add(new AcGePolyline2d(outer, true));
967
+ area.add(new AcGePolyline2d(inner, true));
968
+ return true;
818
969
  }
819
970
  /**
820
971
  * Computes offset boundaries on the left and right sides of a sampled
@@ -825,29 +976,69 @@ function createWidePolylineArea(points, closed) {
825
976
  * @returns Left and right boundary vertices.
826
977
  */
827
978
  function createWidePolylineBoundaries(centerline, closed) {
828
- var left = [];
829
- var right = [];
979
+ var left = new Array(centerline.length);
980
+ var right = new Array(centerline.length);
830
981
  for (var i = 0; i < centerline.length; i++) {
831
982
  var point = centerline[i];
832
983
  var halfWidth = Math.max(0, point.width) / 2;
833
984
  if (halfWidth <= WIDTH_EPSILON) {
985
+ left[i] = null;
986
+ right[i] = null;
834
987
  continue;
835
988
  }
836
989
  var offset = computeOffsetDirection(centerline, i, closed);
837
990
  if (offset == null) {
991
+ left[i] = null;
992
+ right[i] = null;
838
993
  continue;
839
994
  }
840
- left.push({
995
+ left[i] = {
841
996
  x: point.x + offset.x * halfWidth,
842
997
  y: point.y + offset.y * halfWidth
843
- });
844
- right.push({
998
+ };
999
+ right[i] = {
845
1000
  x: point.x - offset.x * halfWidth,
846
1001
  y: point.y - offset.y * halfWidth
847
- });
1002
+ };
848
1003
  }
849
1004
  return { left: left, right: right };
850
1005
  }
1006
+ /**
1007
+ * Adds one segment quad to an open wide-polyline band area.
1008
+ */
1009
+ function addOpenWidePolylineSegmentQuad(area, leftStart, leftEnd, rightEnd, rightStart) {
1010
+ var quad = [leftStart, leftEnd, rightEnd, rightStart];
1011
+ if (!isRenderableLoop(quad)) {
1012
+ return false;
1013
+ }
1014
+ area.add(new AcGePolyline2d(quad, true));
1015
+ return true;
1016
+ }
1017
+ /**
1018
+ * Tessellates an open wide polyline into segment quads with flat end caps.
1019
+ */
1020
+ function addOpenWidePolylineBand(area, left, right) {
1021
+ var added = false;
1022
+ for (var i = 0; i < left.length - 1; i++) {
1023
+ var leftStart = left[i];
1024
+ var leftEnd = left[i + 1];
1025
+ var rightStart = right[i];
1026
+ var rightEnd = right[i + 1];
1027
+ if (leftStart == null || leftEnd == null || rightStart == null || rightEnd == null) {
1028
+ continue;
1029
+ }
1030
+ if (addOpenWidePolylineSegmentQuad(area, leftStart, leftEnd, rightEnd, rightStart)) {
1031
+ added = true;
1032
+ }
1033
+ }
1034
+ return added;
1035
+ }
1036
+ function countBoundaryPoints(boundary) {
1037
+ return boundary.reduce(function (count, point) { return (point == null ? count : count + 1); }, 0);
1038
+ }
1039
+ function compactBoundaryLoop(boundary) {
1040
+ return boundary.filter(function (point) { return point != null; });
1041
+ }
851
1042
  /**
852
1043
  * Removes redundant centerline samples and normalizes closed-end duplication.
853
1044
  *
@@ -1 +1 @@
1
- {"version":3,"file":"AcDbPolyline.js","sourceRoot":"","sources":["../../src/entity/AcDbPolyline.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AcDbPolyline.js","sourceRoot":"","sources":["../../src/entity/AcDbPolyline.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { AcGeBox3d, AcGePoint3dLike, AcGeVector3dLike } from '@mlightcad/geometry-engine';
1
+ import { AcGeBox3d, AcGePoint3d, AcGePoint3dLike, AcGeVector3d, AcGeVector3dLike } from '@mlightcad/geometry-engine';
2
2
  import { AcGiMTextAttachmentPoint } from '@mlightcad/graphic-interface';
3
3
  /**
4
4
  * Strips MTEXT control codes and returns plain text for width/line estimation.
@@ -33,5 +33,108 @@ export declare function acdbGetLocalBoundsFromAttachment(width: number, height:
33
33
  * Expands a box with an oriented text rectangle anchored at `anchor`.
34
34
  */
35
35
  export declare function acdbExpandBoxByOrientedTextRect(box: AcGeBox3d, anchor: AcGePoint3dLike, width: number, height: number, attachment: AcGiMTextAttachmentPoint, rotation?: number, direction?: AcGeVector3dLike): AcGeBox3d;
36
+ /**
37
+ * Resolved layout metrics for an oriented MTEXT rectangle.
38
+ *
39
+ * All width/height values are expressed in drawing units. Local axes follow
40
+ * AutoCAD MTEXT semantics: the X axis aligns with {@link AcDbMTextLayoutMetrics.direction}
41
+ * (or {@link AcDbMTextLayoutMetrics.rotation} when direction is unset), and the Y axis
42
+ * is the 90-degree counter-clockwise perpendicular in the text plane.
43
+ */
44
+ export interface AcDbMTextLayoutMetrics {
45
+ /** Effective text width used for layout, preferring actual extents when available. */
46
+ width: number;
47
+ /** Estimated total text height from line count and line spacing. */
48
+ height: number;
49
+ /** Attachment point that anchors the local bounds to {@link AcDbMTextLayoutMetrics.location}. */
50
+ attachment: AcGiMTextAttachmentPoint;
51
+ /** Rotation angle in radians relative to the text OCS X axis. */
52
+ rotation: number;
53
+ /** Optional direction vector overriding {@link AcDbMTextLayoutMetrics.rotation}. */
54
+ direction?: AcGeVector3d;
55
+ /** Insertion/anchor point of the MTEXT entity in world coordinates. */
56
+ location: AcGePoint3d;
57
+ }
58
+ /**
59
+ * Padding applied in MTEXT-local coordinates when scoring annotation association.
60
+ *
61
+ * Padding extends the oriented text bounds along local axes:
62
+ * `padX` on local X, `padYAbove` toward local +Y, and `padYBelow` toward local -Y.
63
+ */
64
+ export interface AcDbMTextAssociationPadding {
65
+ /** Extra tolerance along the local X axis on both sides of the text bounds. */
66
+ padX: number;
67
+ /** Extra tolerance toward local +Y (above the oriented top edge). */
68
+ padYAbove: number;
69
+ /** Extra tolerance toward local -Y (below the oriented bottom edge). */
70
+ padYBelow: number;
71
+ }
72
+ /**
73
+ * Resolves oriented MTEXT layout metrics used for association and hook-line math.
74
+ *
75
+ * Width resolution order matches {@link AcDbMText.geometricExtents}:
76
+ * `extentsWidth` → `width` → estimated plain-text width.
77
+ *
78
+ * @param input - Raw MTEXT properties used to derive oriented layout metrics.
79
+ * @param input.contents - MTEXT contents, used for line-count and width estimation.
80
+ * @param input.height - Text height in drawing units.
81
+ * @param input.width - Reference/wrap width from the entity.
82
+ * @param input.extentsWidth - Cached actual rendered width from the source file.
83
+ * @param input.lineSpacingFactor - Line spacing factor (DXF group 44 semantics).
84
+ * @param input.attachmentPoint - Attachment point for local bound anchoring.
85
+ * @param input.rotation - Text rotation in radians.
86
+ * @param input.direction - Text direction vector; takes precedence over rotation when non-zero.
87
+ * @param input.location - MTEXT insertion point in world coordinates.
88
+ * @returns Normalized layout metrics with cloned direction/location values.
89
+ */
90
+ export declare function acdbResolveMTextLayoutMetrics(input: {
91
+ contents: string;
92
+ height: number;
93
+ width: number;
94
+ extentsWidth: number;
95
+ lineSpacingFactor: number;
96
+ attachmentPoint: AcGiMTextAttachmentPoint;
97
+ rotation: number;
98
+ direction: AcGeVector3d;
99
+ location: AcGePoint3dLike;
100
+ }): AcDbMTextLayoutMetrics;
101
+ /**
102
+ * Converts a world-space point into MTEXT-local coordinates.
103
+ *
104
+ * Local X/Y are dot-product projections onto the oriented text axes derived
105
+ * from {@link AcDbMTextLayoutMetrics.rotation} and
106
+ * {@link AcDbMTextLayoutMetrics.direction}.
107
+ *
108
+ * @param point - Point to convert, typically a leader landing vertex.
109
+ * @param layout - Resolved MTEXT layout metrics.
110
+ * @returns Local coordinates `{ x, y }` relative to {@link AcDbMTextLayoutMetrics.location}.
111
+ */
112
+ export declare function acdbWorldPointToMTextLocal(point: AcGePoint3dLike, layout: AcDbMTextLayoutMetrics): {
113
+ x: number;
114
+ y: number;
115
+ };
116
+ /**
117
+ * Returns the four corners of an oriented MTEXT rectangle in world space.
118
+ *
119
+ * Corners are ordered counter-clockwise starting from
120
+ * `(minX, minY)` in local coordinates.
121
+ *
122
+ * @param layout - Resolved MTEXT layout metrics.
123
+ * @returns World-space corner points of the oriented text bounds.
124
+ */
125
+ export declare function acdbCollectMTextOrientedCorners(layout: AcDbMTextLayoutMetrics): AcGePoint3d[];
126
+ /**
127
+ * Scores how closely one world point matches an oriented MTEXT annotation.
128
+ *
129
+ * The score is the Manhattan distance from the point to the inner text bounds
130
+ * in local coordinates. A score of `0` means the point lies inside the
131
+ * oriented bounds; larger values indicate proximity within the padded region.
132
+ *
133
+ * @param point - Candidate association point, usually a leader landing vertex.
134
+ * @param layout - Resolved MTEXT layout metrics.
135
+ * @param padding - Local-axis padding applied before rejecting a candidate.
136
+ * @returns Association score, or `null` when the point is outside padded bounds.
137
+ */
138
+ export declare function acdbScorePointAgainstMTextLayout(point: AcGePoint3dLike, layout: AcDbMTextLayoutMetrics, padding: AcDbMTextAssociationPadding): number | null;
36
139
  export {};
37
140
  //# sourceMappingURL=AcDbTextExtentsHelpers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AcDbTextExtentsHelpers.d.ts","sourceRoot":"","sources":["../../src/entity/AcDbTextExtentsHelpers.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EAET,eAAe,EAEf,gBAAgB,EACjB,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAA;AAIvE;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAK/D;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CACxC,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM,EAClB,WAAW,SAAI,GACd,MAAM,CAcR;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAGxD;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,iBAAiB,EAAE,MAAM,GACxB,MAAM,CAMR;AAED,UAAU,WAAW;IACnB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;CACb;AAED;;GAEG;AACH,wBAAgB,gCAAgC,CAC9C,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,wBAAwB,GACnC,WAAW,CAkDb;AAoBD;;GAEG;AACH,wBAAgB,+BAA+B,CAC7C,GAAG,EAAE,SAAS,EACd,MAAM,EAAE,eAAe,EACvB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,wBAAwB,EACpC,QAAQ,SAAI,EACZ,SAAS,CAAC,EAAE,gBAAgB,aAiC7B"}
1
+ {"version":3,"file":"AcDbTextExtentsHelpers.d.ts","sourceRoot":"","sources":["../../src/entity/AcDbTextExtentsHelpers.ts"],"names":[],"mappings":"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"}