@mlightcad/data-model 1.7.30 → 1.7.32

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 (51) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +224 -224
  3. package/dist/data-model.cjs +6 -6
  4. package/dist/data-model.js +14034 -13461
  5. package/lib/base/AcDbDxfFiler.d.ts.map +1 -1
  6. package/lib/base/AcDbDxfFiler.js +4 -1
  7. package/lib/base/AcDbDxfFiler.js.map +1 -1
  8. package/lib/converter/AcDbDxfConverter.d.ts.map +1 -1
  9. package/lib/converter/AcDbDxfConverter.js +19 -1
  10. package/lib/converter/AcDbDxfConverter.js.map +1 -1
  11. package/lib/converter/AcDbEntitiyConverter.d.ts.map +1 -1
  12. package/lib/converter/AcDbEntitiyConverter.js +31 -5
  13. package/lib/converter/AcDbEntitiyConverter.js.map +1 -1
  14. package/lib/database/AcDbDatabase.d.ts +38 -1
  15. package/lib/database/AcDbDatabase.d.ts.map +1 -1
  16. package/lib/database/AcDbDatabase.js +116 -1
  17. package/lib/database/AcDbDatabase.js.map +1 -1
  18. package/lib/database/AcDbSysVarManager.d.ts +5 -3
  19. package/lib/database/AcDbSysVarManager.d.ts.map +1 -1
  20. package/lib/database/AcDbSysVarManager.js +161 -5
  21. package/lib/database/AcDbSysVarManager.js.map +1 -1
  22. package/lib/database/AcDbSystemVariables.d.ts +25 -1
  23. package/lib/database/AcDbSystemVariables.d.ts.map +1 -1
  24. package/lib/database/AcDbSystemVariables.js +24 -0
  25. package/lib/database/AcDbSystemVariables.js.map +1 -1
  26. package/lib/entity/AcDbEntity.d.ts +26 -0
  27. package/lib/entity/AcDbEntity.d.ts.map +1 -1
  28. package/lib/entity/AcDbEntity.js +51 -12
  29. package/lib/entity/AcDbEntity.js.map +1 -1
  30. package/lib/entity/AcDbHatch.d.ts +84 -0
  31. package/lib/entity/AcDbHatch.d.ts.map +1 -1
  32. package/lib/entity/AcDbHatch.js +373 -11
  33. package/lib/entity/AcDbHatch.js.map +1 -1
  34. package/lib/entity/AcDbText.d.ts +46 -1
  35. package/lib/entity/AcDbText.d.ts.map +1 -1
  36. package/lib/entity/AcDbText.js +133 -3
  37. package/lib/entity/AcDbText.js.map +1 -1
  38. package/lib/misc/AcDbConstants.d.ts +20 -0
  39. package/lib/misc/AcDbConstants.d.ts.map +1 -1
  40. package/lib/misc/AcDbConstants.js +20 -0
  41. package/lib/misc/AcDbConstants.js.map +1 -1
  42. package/lib/misc/AcDbDataGenerator.js +2 -2
  43. package/lib/misc/AcDbDataGenerator.js.map +1 -1
  44. package/lib/misc/pat/AcDbPatPredefined.d.ts.map +1 -1
  45. package/lib/misc/pat/AcDbPatPredefined.js +85 -105
  46. package/lib/misc/pat/AcDbPatPredefined.js.map +1 -1
  47. package/lib/misc/pat/AcDbPatSvgRenderer.d.ts +170 -10
  48. package/lib/misc/pat/AcDbPatSvgRenderer.d.ts.map +1 -1
  49. package/lib/misc/pat/AcDbPatSvgRenderer.js +280 -17
  50. package/lib/misc/pat/AcDbPatSvgRenderer.js.map +1 -1
  51. package/package.json +4 -4
@@ -1,4 +1,54 @@
1
+ import type { AcDbGradientName } from '../../entity/AcDbHatch';
1
2
  import type { AcDbPatPattern, AcDbPatPreviewOptions } from './AcDbPatDefinition';
3
+ export type AcDbPatGradientColor = number | string;
4
+ /**
5
+ * Optional preview options when rendering an AutoCAD hatch gradient to SVG.
6
+ */
7
+ export interface AcDbPatGradientPreviewOptions {
8
+ /**
9
+ * SVG viewport width in pixels.
10
+ */
11
+ width?: number;
12
+ /**
13
+ * SVG viewport height in pixels.
14
+ */
15
+ height?: number;
16
+ /**
17
+ * First gradient color.
18
+ *
19
+ * A number is treated as packed RGB (`0xRRGGBB`). A string is emitted as a
20
+ * CSS color value.
21
+ */
22
+ startColor?: AcDbPatGradientColor;
23
+ /**
24
+ * Second gradient color.
25
+ *
26
+ * A number is treated as packed RGB (`0xRRGGBB`). A string is emitted as a
27
+ * CSS color value.
28
+ */
29
+ endColor?: AcDbPatGradientColor;
30
+ /**
31
+ * Background fill color shown behind the gradient rectangle.
32
+ */
33
+ background?: string;
34
+ /**
35
+ * Gradient angle in radians, matching {@link AcDbHatch.gradientAngle}.
36
+ */
37
+ angle?: number;
38
+ /**
39
+ * Relative shift applied to the gradient focus or midpoint.
40
+ */
41
+ shift?: number;
42
+ /**
43
+ * Whether the gradient uses one base color plus a shade/tint variant.
44
+ */
45
+ oneColorMode?: boolean;
46
+ /**
47
+ * Shade/tint value used in one-color mode. `0` maps to black, `0.5` keeps the
48
+ * base color, and `1` maps to white.
49
+ */
50
+ shadeTintValue?: number;
51
+ }
2
52
  /**
3
53
  * Renders an {@link AcDbPatPattern} into a standalone SVG preview string.
4
54
  *
@@ -9,22 +59,79 @@ import type { AcDbPatPattern, AcDbPatPreviewOptions } from './AcDbPatDefinition'
9
59
  export declare class AcDbPatSvgRenderer {
10
60
  /** Numerical tolerance used to avoid division-by-zero and near-zero noise. */
11
61
  private static readonly EPSILON;
62
+ private static gradientIdCounter;
63
+ /**
64
+ * Builds an SVG-local ID that avoids collisions when multiple previews are
65
+ * injected into the same document.
66
+ *
67
+ * @param name - Gradient pattern name.
68
+ * @returns Unique gradient ID.
69
+ */
70
+ private static nextGradientId;
71
+ /**
72
+ * Converts a packed RGB value to a CSS hex color.
73
+ *
74
+ * @param rgb - Packed RGB value.
75
+ * @returns CSS hex color.
76
+ */
77
+ private static packedRgbToCss;
78
+ /**
79
+ * Converts either packed RGB or CSS color input to a CSS color string.
80
+ *
81
+ * @param color - Source color.
82
+ * @param fallback - Color used when source is undefined.
83
+ * @returns CSS color.
84
+ */
85
+ private static gradientColorToCss;
86
+ /**
87
+ * Computes the shade/tint variant used by one-color gradient hatches.
88
+ *
89
+ * @param rgb - Packed base RGB value.
90
+ * @param shadeTintValue - Interpolation from black (`0`) through base
91
+ * (`0.5`) to white (`1`).
92
+ * @returns Packed RGB shade/tint value.
93
+ */
94
+ private static applyShadeTint;
95
+ /**
96
+ * Resolves the two CSS colors used by gradient stops.
97
+ *
98
+ * @param options - Gradient preview options.
99
+ * @returns CSS start and end colors.
100
+ */
101
+ private static resolveGradientColors;
102
+ /**
103
+ * Converts normalized stop data to SVG `<stop>` elements.
104
+ *
105
+ * @param stops - Gradient stops.
106
+ * @returns SVG stop markup.
107
+ */
108
+ private static renderGradientStops;
109
+ /**
110
+ * Gets the SVG coordinate direction for a gradient angle.
111
+ *
112
+ * @param angle - Angle in radians, measured in CAD coordinates.
113
+ * @returns Unit vector in SVG coordinates.
114
+ */
115
+ private static getGradientVector;
12
116
  /**
13
- * Converts an angle from degrees to radians.
117
+ * Checks whether a pattern is the reserved AutoCAD solid-fill pattern.
118
+ *
119
+ * `SOLID` has no PAT line descriptors; its preview is an area fill instead
120
+ * of generated hatch linework.
14
121
  *
15
- * @param degrees - Angle in degrees.
16
- * @returns The same angle expressed in radians.
122
+ * @param pattern - Pattern to inspect.
123
+ * @returns `true` when the pattern name resolves to `SOLID`.
17
124
  */
18
- private static toRadians;
125
+ private static isSolidPattern;
19
126
  /**
20
- * Clamps a value into an inclusive range.
127
+ * Renders an SVG background rectangle.
21
128
  *
22
- * @param value - Source value.
23
- * @param min - Lower bound (inclusive).
24
- * @param max - Upper bound (inclusive).
25
- * @returns `value` projected into `[min, max]`.
129
+ * @param width - SVG viewport width in pixels.
130
+ * @param height - SVG viewport height in pixels.
131
+ * @param background - CSS fill for the preview background.
132
+ * @returns SVG `<rect>` markup.
26
133
  */
27
- private static clamp;
134
+ private static renderBackground;
28
135
  /**
29
136
  * Estimates a representative unit length for the pattern.
30
137
  *
@@ -74,6 +181,45 @@ export declare class AcDbPatSvgRenderer {
74
181
  * @returns SVG `<path>` markup containing all generated segments.
75
182
  */
76
183
  private static renderFamily;
184
+ /**
185
+ * Renders an SVG `<linearGradient>` definition.
186
+ *
187
+ * @param id - Gradient ID.
188
+ * @param angle - Gradient angle in radians.
189
+ * @param shift - Relative shift applied along the gradient axis.
190
+ * @param extent - Coordinate extent covering the viewport.
191
+ * @param stops - Color stops.
192
+ * @returns SVG gradient definition.
193
+ */
194
+ private static renderLinearGradientDef;
195
+ /**
196
+ * Renders an SVG `<radialGradient>` definition.
197
+ *
198
+ * @param id - Gradient ID.
199
+ * @param cx - Center X coordinate.
200
+ * @param cy - Center Y coordinate.
201
+ * @param radius - Gradient radius.
202
+ * @param stops - Color stops.
203
+ * @returns SVG gradient definition.
204
+ */
205
+ private static renderRadialGradientDef;
206
+ /**
207
+ * Builds the SVG definition for a hatch gradient pattern.
208
+ *
209
+ * SVG supports linear and radial gradients natively, so AutoCAD-specific
210
+ * shapes such as CYLINDER and CURVED are represented with mirrored stops or
211
+ * offset radial gradients.
212
+ *
213
+ * @param id - Gradient ID.
214
+ * @param name - AutoCAD gradient name.
215
+ * @param colors - Resolved gradient colors.
216
+ * @param angle - Gradient angle in radians.
217
+ * @param shift - Relative shift.
218
+ * @param width - SVG viewport width.
219
+ * @param height - SVG viewport height.
220
+ * @returns SVG gradient definition.
221
+ */
222
+ private static renderGradientDef;
77
223
  /**
78
224
  * Renders a PAT pattern preview as a complete SVG document string.
79
225
  *
@@ -87,5 +233,19 @@ export declare class AcDbPatSvgRenderer {
87
233
  * saved as a `.svg` asset.
88
234
  */
89
235
  renderPattern(pattern: AcDbPatPattern, options?: AcDbPatPreviewOptions): string;
236
+ /**
237
+ * Renders an AutoCAD hatch gradient preview as a complete SVG document
238
+ * string.
239
+ *
240
+ * The method uses native SVG linear/radial gradients where possible and
241
+ * approximates AutoCAD-only gradient shapes with mirrored stops or offset
242
+ * radial centers.
243
+ *
244
+ * @param name - AutoCAD gradient name.
245
+ * @param options - Optional preview style and size settings.
246
+ * @returns Standalone SVG markup that can be injected directly into DOM or
247
+ * saved as a `.svg` asset.
248
+ */
249
+ renderGradient(name: AcDbGradientName, options?: AcDbPatGradientPreviewOptions): string;
90
250
  }
91
251
  //# sourceMappingURL=AcDbPatSvgRenderer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AcDbPatSvgRenderer.d.ts","sourceRoot":"","sources":["../../../src/misc/pat/AcDbPatSvgRenderer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,cAAc,EACd,qBAAqB,EACtB,MAAM,qBAAqB,CAAA;AAiB5B;;;;;;GAMG;AACH,qBAAa,kBAAkB;IAC7B,8EAA8E;IAC9E,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAO;IAEtC;;;;;OAKG;IACH,OAAO,CAAC,MAAM,CAAC,SAAS;IAIxB;;;;;;;OAOG;IACH,OAAO,CAAC,MAAM,CAAC,KAAK;IAIpB;;;;;;;;;OASG;IACH,OAAO,CAAC,MAAM,CAAC,iBAAiB;IAgBhC;;;;;;;OAOG;IACH,OAAO,CAAC,MAAM,CAAC,gBAAgB;IAI/B;;;;;;;;;;;;;;;;;OAiBG;IACH,OAAO,CAAC,MAAM,CAAC,iBAAiB;IAsFhC;;;;;;;;OAQG;IACH,OAAO,CAAC,MAAM,CAAC,YAAY;IAyC3B;;;;;;;;;;;OAWG;IACH,aAAa,CAAC,OAAO,EAAE,cAAc,EAAE,OAAO,GAAE,qBAA0B;CAuC3E"}
1
+ {"version":3,"file":"AcDbPatSvgRenderer.d.ts","sourceRoot":"","sources":["../../../src/misc/pat/AcDbPatSvgRenderer.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAE9D,OAAO,KAAK,EAEV,cAAc,EACd,qBAAqB,EACtB,MAAM,qBAAqB,CAAA;AAiB5B,MAAM,MAAM,oBAAoB,GAAG,MAAM,GAAG,MAAM,CAAA;AAElD;;GAEG;AACH,MAAM,WAAW,6BAA6B;IAC5C;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;IAEd;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IAEf;;;;;OAKG;IACH,UAAU,CAAC,EAAE,oBAAoB,CAAA;IAEjC;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,oBAAoB,CAAA;IAE/B;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;IAEnB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;IAEd;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;IAEd;;OAEG;IACH,YAAY,CAAC,EAAE,OAAO,CAAA;IAEtB;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB;AAYD;;;;;;GAMG;AACH,qBAAa,kBAAkB;IAC7B,8EAA8E;IAC9E,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAO;IACtC,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAAI;IAEpC;;;;;;OAMG;IACH,OAAO,CAAC,MAAM,CAAC,cAAc;IAK7B;;;;;OAKG;IACH,OAAO,CAAC,MAAM,CAAC,cAAc;IAI7B;;;;;;OAMG;IACH,OAAO,CAAC,MAAM,CAAC,kBAAkB;IASjC;;;;;;;OAOG;IACH,OAAO,CAAC,MAAM,CAAC,cAAc;IAkB7B;;;;;OAKG;IACH,OAAO,CAAC,MAAM,CAAC,qBAAqB;IAkCpC;;;;;OAKG;IACH,OAAO,CAAC,MAAM,CAAC,mBAAmB;IASlC;;;;;OAKG;IACH,OAAO,CAAC,MAAM,CAAC,iBAAiB;IAOhC;;;;;;;;OAQG;IACH,OAAO,CAAC,MAAM,CAAC,cAAc;IAI7B;;;;;;;OAOG;IACH,OAAO,CAAC,MAAM,CAAC,gBAAgB;IAQ/B;;;;;;;;;OASG;IACH,OAAO,CAAC,MAAM,CAAC,iBAAiB;IAgBhC;;;;;;;OAOG;IACH,OAAO,CAAC,MAAM,CAAC,gBAAgB;IAI/B;;;;;;;;;;;;;;;;;OAiBG;IACH,OAAO,CAAC,MAAM,CAAC,iBAAiB;IAkFhC;;;;;;;;OAQG;IACH,OAAO,CAAC,MAAM,CAAC,YAAY;IAyC3B;;;;;;;;;OASG;IACH,OAAO,CAAC,MAAM,CAAC,uBAAuB;IAuBtC;;;;;;;;;OASG;IACH,OAAO,CAAC,MAAM,CAAC,uBAAuB;IAgBtC;;;;;;;;;;;;;;;OAeG;IACH,OAAO,CAAC,MAAM,CAAC,iBAAiB;IAqFhC;;;;;;;;;;;OAWG;IACH,aAAa,CAAC,OAAO,EAAE,cAAc,EAAE,OAAO,GAAE,qBAA0B;IAiD1E;;;;;;;;;;;;OAYG;IACH,cAAc,CACZ,IAAI,EAAE,gBAAgB,EACtB,OAAO,GAAE,6BAAkC;CA8B9C"}
@@ -20,6 +20,8 @@ var __values = (this && this.__values) || function(o) {
20
20
  };
21
21
  throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
22
22
  };
23
+ import { AcGeMathUtil } from '@mlightcad/geometry-engine';
24
+ import { HATCH_PATTERN_SOLID } from '../AcDbConstants';
23
25
  /**
24
26
  * Renders an {@link AcDbPatPattern} into a standalone SVG preview string.
25
27
  *
@@ -31,24 +33,136 @@ var AcDbPatSvgRenderer = /** @class */ (function () {
31
33
  function AcDbPatSvgRenderer() {
32
34
  }
33
35
  /**
34
- * Converts an angle from degrees to radians.
36
+ * Builds an SVG-local ID that avoids collisions when multiple previews are
37
+ * injected into the same document.
35
38
  *
36
- * @param degrees - Angle in degrees.
37
- * @returns The same angle expressed in radians.
39
+ * @param name - Gradient pattern name.
40
+ * @returns Unique gradient ID.
38
41
  */
39
- AcDbPatSvgRenderer.toRadians = function (degrees) {
40
- return (degrees * Math.PI) / 180;
42
+ AcDbPatSvgRenderer.nextGradientId = function (name) {
43
+ AcDbPatSvgRenderer.gradientIdCounter += 1;
44
+ return "acdb-pat-gradient-".concat(name.toLowerCase(), "-").concat(AcDbPatSvgRenderer.gradientIdCounter);
41
45
  };
42
46
  /**
43
- * Clamps a value into an inclusive range.
47
+ * Converts a packed RGB value to a CSS hex color.
44
48
  *
45
- * @param value - Source value.
46
- * @param min - Lower bound (inclusive).
47
- * @param max - Upper bound (inclusive).
48
- * @returns `value` projected into `[min, max]`.
49
+ * @param rgb - Packed RGB value.
50
+ * @returns CSS hex color.
49
51
  */
50
- AcDbPatSvgRenderer.clamp = function (value, min, max) {
51
- return Math.min(max, Math.max(min, value));
52
+ AcDbPatSvgRenderer.packedRgbToCss = function (rgb) {
53
+ return "#".concat((rgb & 0xffffff).toString(16).padStart(6, '0'));
54
+ };
55
+ /**
56
+ * Converts either packed RGB or CSS color input to a CSS color string.
57
+ *
58
+ * @param color - Source color.
59
+ * @param fallback - Color used when source is undefined.
60
+ * @returns CSS color.
61
+ */
62
+ AcDbPatSvgRenderer.gradientColorToCss = function (color, fallback) {
63
+ return typeof color === 'number'
64
+ ? AcDbPatSvgRenderer.packedRgbToCss(color)
65
+ : (color !== null && color !== void 0 ? color : fallback);
66
+ };
67
+ /**
68
+ * Computes the shade/tint variant used by one-color gradient hatches.
69
+ *
70
+ * @param rgb - Packed base RGB value.
71
+ * @param shadeTintValue - Interpolation from black (`0`) through base
72
+ * (`0.5`) to white (`1`).
73
+ * @returns Packed RGB shade/tint value.
74
+ */
75
+ AcDbPatSvgRenderer.applyShadeTint = function (rgb, shadeTintValue) {
76
+ var value = AcGeMathUtil.clamp(shadeTintValue, 0, 1);
77
+ var target = value < 0.5 ? 0x000000 : 0xffffff;
78
+ var amount = value < 0.5 ? 1 - value * 2 : value * 2 - 1;
79
+ var r = (rgb >> 16) & 0xff;
80
+ var g = (rgb >> 8) & 0xff;
81
+ var b = rgb & 0xff;
82
+ var targetR = (target >> 16) & 0xff;
83
+ var targetG = (target >> 8) & 0xff;
84
+ var targetB = target & 0xff;
85
+ return (Math.round(r + (targetR - r) * amount) * 0x10000 +
86
+ Math.round(g + (targetG - g) * amount) * 0x100 +
87
+ Math.round(b + (targetB - b) * amount));
88
+ };
89
+ /**
90
+ * Resolves the two CSS colors used by gradient stops.
91
+ *
92
+ * @param options - Gradient preview options.
93
+ * @returns CSS start and end colors.
94
+ */
95
+ AcDbPatSvgRenderer.resolveGradientColors = function (options) {
96
+ var _a, _b;
97
+ var fallbackStart = '#2563eb';
98
+ var fallbackEnd = '#f8fafc';
99
+ var start = AcDbPatSvgRenderer.gradientColorToCss(options.startColor, fallbackStart);
100
+ if (options.oneColorMode && options.endColor == null) {
101
+ if (typeof options.startColor === 'number') {
102
+ var tinted = AcDbPatSvgRenderer.applyShadeTint(options.startColor, (_a = options.shadeTintValue) !== null && _a !== void 0 ? _a : 0.5);
103
+ return {
104
+ start: start,
105
+ end: AcDbPatSvgRenderer.packedRgbToCss(tinted)
106
+ };
107
+ }
108
+ return {
109
+ start: start,
110
+ end: ((_b = options.shadeTintValue) !== null && _b !== void 0 ? _b : 0.5) < 0.5 ? '#000000' : '#ffffff'
111
+ };
112
+ }
113
+ return {
114
+ start: start,
115
+ end: AcDbPatSvgRenderer.gradientColorToCss(options.endColor, fallbackEnd)
116
+ };
117
+ };
118
+ /**
119
+ * Converts normalized stop data to SVG `<stop>` elements.
120
+ *
121
+ * @param stops - Gradient stops.
122
+ * @returns SVG stop markup.
123
+ */
124
+ AcDbPatSvgRenderer.renderGradientStops = function (stops) {
125
+ return stops
126
+ .map(function (stop) {
127
+ var offset = AcGeMathUtil.clamp(stop.offset, 0, 1) * 100;
128
+ return "<stop offset=\"".concat(offset.toFixed(2), "%\" stop-color=\"").concat(stop.color, "\" />");
129
+ })
130
+ .join('');
131
+ };
132
+ /**
133
+ * Gets the SVG coordinate direction for a gradient angle.
134
+ *
135
+ * @param angle - Angle in radians, measured in CAD coordinates.
136
+ * @returns Unit vector in SVG coordinates.
137
+ */
138
+ AcDbPatSvgRenderer.getGradientVector = function (angle) {
139
+ return {
140
+ x: Math.cos(angle),
141
+ y: -Math.sin(angle)
142
+ };
143
+ };
144
+ /**
145
+ * Checks whether a pattern is the reserved AutoCAD solid-fill pattern.
146
+ *
147
+ * `SOLID` has no PAT line descriptors; its preview is an area fill instead
148
+ * of generated hatch linework.
149
+ *
150
+ * @param pattern - Pattern to inspect.
151
+ * @returns `true` when the pattern name resolves to `SOLID`.
152
+ */
153
+ AcDbPatSvgRenderer.isSolidPattern = function (pattern) {
154
+ return pattern.name.trim().toUpperCase() === HATCH_PATTERN_SOLID;
155
+ };
156
+ /**
157
+ * Renders an SVG background rectangle.
158
+ *
159
+ * @param width - SVG viewport width in pixels.
160
+ * @param height - SVG viewport height in pixels.
161
+ * @param background - CSS fill for the preview background.
162
+ * @returns SVG `<rect>` markup.
163
+ */
164
+ AcDbPatSvgRenderer.renderBackground = function (width, height, background) {
165
+ return "<rect x=\"".concat(-width / 2, "\" y=\"").concat(-height / 2, "\" width=\"").concat(width, "\" height=\"").concat(height, "\" fill=\"").concat(background, "\" />");
52
166
  };
53
167
  /**
54
168
  * Estimates a representative unit length for the pattern.
@@ -159,8 +273,8 @@ var AcDbPatSvgRenderer = /** @class */ (function () {
159
273
  var length_1 = Math.abs(dashValue);
160
274
  var nextCursor = cursor + length_1;
161
275
  if (dashValue > 0 || dashValue === 0) {
162
- var drawStart = AcDbPatSvgRenderer.clamp(cursor, startAlong, endAlong);
163
- var drawEnd = AcDbPatSvgRenderer.clamp(nextCursor, startAlong, endAlong);
276
+ var drawStart = AcGeMathUtil.clamp(cursor, startAlong, endAlong);
277
+ var drawEnd = AcGeMathUtil.clamp(nextCursor, startAlong, endAlong);
164
278
  if (drawEnd > drawStart) {
165
279
  segments.push({
166
280
  x1: originX + dirX * drawStart,
@@ -206,7 +320,7 @@ var AcDbPatSvgRenderer = /** @class */ (function () {
206
320
  */
207
321
  AcDbPatSvgRenderer.renderFamily = function (line, maxRadius) {
208
322
  var e_4, _a;
209
- var angle = AcDbPatSvgRenderer.toRadians(line.angle);
323
+ var angle = AcGeMathUtil.degToRad(line.angle);
210
324
  var dirX = Math.cos(angle);
211
325
  var dirY = Math.sin(angle);
212
326
  var normalX = -dirY;
@@ -241,6 +355,111 @@ var AcDbPatSvgRenderer = /** @class */ (function () {
241
355
  }
242
356
  return "<path d=\"".concat(paths.join(' '), "\" fill=\"none\" />");
243
357
  };
358
+ /**
359
+ * Renders an SVG `<linearGradient>` definition.
360
+ *
361
+ * @param id - Gradient ID.
362
+ * @param angle - Gradient angle in radians.
363
+ * @param shift - Relative shift applied along the gradient axis.
364
+ * @param extent - Coordinate extent covering the viewport.
365
+ * @param stops - Color stops.
366
+ * @returns SVG gradient definition.
367
+ */
368
+ AcDbPatSvgRenderer.renderLinearGradientDef = function (id, angle, shift, extent, stops) {
369
+ var dir = AcDbPatSvgRenderer.getGradientVector(angle);
370
+ var shiftDistance = AcGeMathUtil.clamp(shift, -1, 1) * extent * 0.5;
371
+ var offsetX = dir.x * shiftDistance;
372
+ var offsetY = dir.y * shiftDistance;
373
+ return [
374
+ "<linearGradient id=\"".concat(id, "\" gradientUnits=\"userSpaceOnUse\""),
375
+ " x1=\"".concat((-dir.x * extent + offsetX).toFixed(2), "\""),
376
+ " y1=\"".concat((-dir.y * extent + offsetY).toFixed(2), "\""),
377
+ " x2=\"".concat((dir.x * extent + offsetX).toFixed(2), "\""),
378
+ " y2=\"".concat((dir.y * extent + offsetY).toFixed(2), "\">"),
379
+ AcDbPatSvgRenderer.renderGradientStops(stops),
380
+ '</linearGradient>'
381
+ ].join('');
382
+ };
383
+ /**
384
+ * Renders an SVG `<radialGradient>` definition.
385
+ *
386
+ * @param id - Gradient ID.
387
+ * @param cx - Center X coordinate.
388
+ * @param cy - Center Y coordinate.
389
+ * @param radius - Gradient radius.
390
+ * @param stops - Color stops.
391
+ * @returns SVG gradient definition.
392
+ */
393
+ AcDbPatSvgRenderer.renderRadialGradientDef = function (id, cx, cy, radius, stops) {
394
+ return [
395
+ "<radialGradient id=\"".concat(id, "\" gradientUnits=\"userSpaceOnUse\""),
396
+ " cx=\"".concat(cx.toFixed(2), "\" cy=\"").concat(cy.toFixed(2), "\" r=\"").concat(radius.toFixed(2), "\""),
397
+ " fx=\"".concat(cx.toFixed(2), "\" fy=\"").concat(cy.toFixed(2), "\">"),
398
+ AcDbPatSvgRenderer.renderGradientStops(stops),
399
+ '</radialGradient>'
400
+ ].join('');
401
+ };
402
+ /**
403
+ * Builds the SVG definition for a hatch gradient pattern.
404
+ *
405
+ * SVG supports linear and radial gradients natively, so AutoCAD-specific
406
+ * shapes such as CYLINDER and CURVED are represented with mirrored stops or
407
+ * offset radial gradients.
408
+ *
409
+ * @param id - Gradient ID.
410
+ * @param name - AutoCAD gradient name.
411
+ * @param colors - Resolved gradient colors.
412
+ * @param angle - Gradient angle in radians.
413
+ * @param shift - Relative shift.
414
+ * @param width - SVG viewport width.
415
+ * @param height - SVG viewport height.
416
+ * @returns SVG gradient definition.
417
+ */
418
+ AcDbPatSvgRenderer.renderGradientDef = function (id, name, colors, angle, shift, width, height) {
419
+ var gradientName = name.toUpperCase();
420
+ var inverse = gradientName.startsWith('INV');
421
+ var baseName = gradientName.replace(/^INV/, '');
422
+ var first = inverse ? colors.end : colors.start;
423
+ var second = inverse ? colors.start : colors.end;
424
+ var extent = Math.hypot(width, height) / 2;
425
+ var dir = AcDbPatSvgRenderer.getGradientVector(angle);
426
+ var centerShift = AcGeMathUtil.clamp(shift, -1, 1);
427
+ var centerX = dir.x * centerShift * width * 0.25;
428
+ var centerY = dir.y * centerShift * height * 0.25;
429
+ switch (baseName) {
430
+ case 'CYLINDER': {
431
+ var middle = AcGeMathUtil.clamp(0.5 + centerShift * 0.45, 0.05, 0.95);
432
+ return AcDbPatSvgRenderer.renderLinearGradientDef(id, angle, 0, extent, [
433
+ { offset: 0, color: first },
434
+ { offset: middle, color: second },
435
+ { offset: 1, color: first }
436
+ ]);
437
+ }
438
+ case 'SPHERICAL':
439
+ return AcDbPatSvgRenderer.renderRadialGradientDef(id, centerX, centerY, extent, [
440
+ { offset: 0, color: second },
441
+ { offset: 1, color: first }
442
+ ]);
443
+ case 'HEMISPHERICAL':
444
+ return AcDbPatSvgRenderer.renderRadialGradientDef(id, centerX + dir.x * width * 0.18, centerY + dir.y * height * 0.18, extent * 0.92, [
445
+ { offset: 0, color: second },
446
+ { offset: 0.72, color: first },
447
+ { offset: 1, color: first }
448
+ ]);
449
+ case 'CURVED':
450
+ return AcDbPatSvgRenderer.renderRadialGradientDef(id, -dir.x * width * 0.95 + centerX, -dir.y * height * 0.95 + centerY, extent * 1.65, [
451
+ { offset: 0, color: first },
452
+ { offset: 0.55, color: first },
453
+ { offset: 1, color: second }
454
+ ]);
455
+ case 'LINEAR':
456
+ default:
457
+ return AcDbPatSvgRenderer.renderLinearGradientDef(id, angle, shift, extent, [
458
+ { offset: 0, color: first },
459
+ { offset: 1, color: second }
460
+ ]);
461
+ }
462
+ };
244
463
  /**
245
464
  * Renders a PAT pattern preview as a complete SVG document string.
246
465
  *
@@ -261,6 +480,15 @@ var AcDbPatSvgRenderer = /** @class */ (function () {
261
480
  var stroke = (_c = options.stroke) !== null && _c !== void 0 ? _c : '#1f2937';
262
481
  var strokeWidth = (_d = options.strokeWidth) !== null && _d !== void 0 ? _d : 1.3;
263
482
  var background = (_e = options.background) !== null && _e !== void 0 ? _e : '#ffffff';
483
+ var viewBox = "".concat(-width / 2, " ").concat(-height / 2, " ").concat(width, " ").concat(height);
484
+ if (AcDbPatSvgRenderer.isSolidPattern(pattern)) {
485
+ return [
486
+ "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"".concat(viewBox, "\" width=\"").concat(width, "\" height=\"").concat(height, "\">"),
487
+ AcDbPatSvgRenderer.renderBackground(width, height, background),
488
+ "<rect x=\"".concat(-width / 2, "\" y=\"").concat(-height / 2, "\" width=\"").concat(width, "\" height=\"").concat(height, "\" fill=\"").concat(stroke, "\" />"),
489
+ '</svg>'
490
+ ].join('');
491
+ }
264
492
  var scaleUnit = AcDbPatSvgRenderer.estimateUnitScale(pattern);
265
493
  var baseScale = Math.min(width, height) * 0.18;
266
494
  var unitToPixel = baseScale / Math.max(scaleUnit, AcDbPatSvgRenderer.EPSILON);
@@ -269,18 +497,53 @@ var AcDbPatSvgRenderer = /** @class */ (function () {
269
497
  var content = scaledPattern.lines
270
498
  .map(function (line) { return AcDbPatSvgRenderer.renderFamily(line, maxRadius); })
271
499
  .join('');
272
- var viewBox = "".concat(-width / 2, " ").concat(-height / 2, " ").concat(width, " ").concat(height);
273
500
  return [
274
501
  "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"".concat(viewBox, "\" width=\"").concat(width, "\" height=\"").concat(height, "\">"),
275
- "<rect x=\"".concat(-width / 2, "\" y=\"").concat(-height / 2, "\" width=\"").concat(width, "\" height=\"").concat(height, "\" fill=\"").concat(background, "\" />"),
502
+ AcDbPatSvgRenderer.renderBackground(width, height, background),
276
503
  "<g stroke=\"".concat(stroke, "\" stroke-width=\"").concat(strokeWidth.toFixed(2), "\" stroke-linecap=\"round\">"),
277
504
  content,
278
505
  '</g>',
279
506
  '</svg>'
280
507
  ].join('');
281
508
  };
509
+ /**
510
+ * Renders an AutoCAD hatch gradient preview as a complete SVG document
511
+ * string.
512
+ *
513
+ * The method uses native SVG linear/radial gradients where possible and
514
+ * approximates AutoCAD-only gradient shapes with mirrored stops or offset
515
+ * radial centers.
516
+ *
517
+ * @param name - AutoCAD gradient name.
518
+ * @param options - Optional preview style and size settings.
519
+ * @returns Standalone SVG markup that can be injected directly into DOM or
520
+ * saved as a `.svg` asset.
521
+ */
522
+ AcDbPatSvgRenderer.prototype.renderGradient = function (name, options) {
523
+ var _a, _b, _c, _d, _e;
524
+ if (options === void 0) { options = {}; }
525
+ var width = (_a = options.width) !== null && _a !== void 0 ? _a : 260;
526
+ var height = (_b = options.height) !== null && _b !== void 0 ? _b : 160;
527
+ var background = (_c = options.background) !== null && _c !== void 0 ? _c : '#ffffff';
528
+ var angle = (_d = options.angle) !== null && _d !== void 0 ? _d : 0;
529
+ var shift = (_e = options.shift) !== null && _e !== void 0 ? _e : 0;
530
+ var viewBox = "".concat(-width / 2, " ").concat(-height / 2, " ").concat(width, " ").concat(height);
531
+ var id = AcDbPatSvgRenderer.nextGradientId(name);
532
+ var colors = AcDbPatSvgRenderer.resolveGradientColors(options);
533
+ var gradientDef = AcDbPatSvgRenderer.renderGradientDef(id, name, colors, angle, shift, width, height);
534
+ return [
535
+ "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"".concat(viewBox, "\" width=\"").concat(width, "\" height=\"").concat(height, "\">"),
536
+ AcDbPatSvgRenderer.renderBackground(width, height, background),
537
+ '<defs>',
538
+ gradientDef,
539
+ '</defs>',
540
+ "<rect x=\"".concat(-width / 2, "\" y=\"").concat(-height / 2, "\" width=\"").concat(width, "\" height=\"").concat(height, "\" fill=\"url(#").concat(id, ")\" />"),
541
+ '</svg>'
542
+ ].join('');
543
+ };
282
544
  /** Numerical tolerance used to avoid division-by-zero and near-zero noise. */
283
545
  AcDbPatSvgRenderer.EPSILON = 1e-9;
546
+ AcDbPatSvgRenderer.gradientIdCounter = 0;
284
547
  return AcDbPatSvgRenderer;
285
548
  }());
286
549
  export { AcDbPatSvgRenderer };
@@ -1 +1 @@
1
- {"version":3,"file":"AcDbPatSvgRenderer.js","sourceRoot":"","sources":["../../../src/misc/pat/AcDbPatSvgRenderer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AcDbPatSvgRenderer.js","sourceRoot":"","sources":["../../../src/misc/pat/AcDbPatSvgRenderer.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.7.30",
3
+ "version": "1.7.32",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "repository": {
@@ -35,9 +35,9 @@
35
35
  "@mlightcad/dxf-json": "^1.2.0",
36
36
  "iconv-lite": "^0.7.0",
37
37
  "uid": "^2.0.2",
38
- "@mlightcad/common": "1.4.30",
39
- "@mlightcad/graphic-interface": "3.3.30",
40
- "@mlightcad/geometry-engine": "3.2.30"
38
+ "@mlightcad/common": "1.4.32",
39
+ "@mlightcad/geometry-engine": "3.2.32",
40
+ "@mlightcad/graphic-interface": "3.3.32"
41
41
  },
42
42
  "scripts": {
43
43
  "analyze": "pnpm run analyze:lib && pnpm run analyze:worker",