@ifc-lite/drawing-2d 2.1.1 → 3.0.0

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 (41) hide show
  1. package/README.md +2 -3
  2. package/dist/dxf/convert.d.ts.map +1 -1
  3. package/dist/dxf/convert.js +16 -0
  4. package/dist/dxf/convert.js.map +1 -1
  5. package/dist/index.d.ts +2 -2
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.js +2 -2
  8. package/dist/index.js.map +1 -1
  9. package/dist/openings/opening-filter.d.ts +10 -1
  10. package/dist/openings/opening-filter.d.ts.map +1 -1
  11. package/dist/openings/opening-filter.js.map +1 -1
  12. package/dist/sheet/index.d.ts +2 -4
  13. package/dist/sheet/index.d.ts.map +1 -1
  14. package/dist/sheet/index.js +1 -2
  15. package/dist/sheet/index.js.map +1 -1
  16. package/dist/sheet/scale-bar-types.d.ts +66 -36
  17. package/dist/sheet/scale-bar-types.d.ts.map +1 -1
  18. package/dist/sheet/scale-bar-types.js +79 -12
  19. package/dist/sheet/scale-bar-types.js.map +1 -1
  20. package/dist/sheet/sheet-types.d.ts +53 -0
  21. package/dist/sheet/sheet-types.d.ts.map +1 -1
  22. package/dist/sheet/sheet-types.js +53 -0
  23. package/dist/sheet/sheet-types.js.map +1 -1
  24. package/dist/sheet/title-block-renderer.d.ts.map +1 -1
  25. package/dist/sheet/title-block-renderer.js +111 -11
  26. package/dist/sheet/title-block-renderer.js.map +1 -1
  27. package/dist/styles.d.ts +22 -3
  28. package/dist/styles.d.ts.map +1 -1
  29. package/dist/styles.js +39 -8
  30. package/dist/styles.js.map +1 -1
  31. package/dist/svg-exporter.d.ts +9 -1
  32. package/dist/svg-exporter.d.ts.map +1 -1
  33. package/dist/svg-exporter.js.map +1 -1
  34. package/dist/symbols/door-symbol.d.ts +9 -1
  35. package/dist/symbols/door-symbol.d.ts.map +1 -1
  36. package/dist/symbols/door-symbol.js.map +1 -1
  37. package/package.json +3 -2
  38. package/dist/sheet/scale-bar-renderer.d.ts +0 -29
  39. package/dist/sheet/scale-bar-renderer.d.ts.map +0 -1
  40. package/dist/sheet/scale-bar-renderer.js +0 -287
  41. package/dist/sheet/scale-bar-renderer.js.map +0 -1
@@ -81,4 +81,57 @@ export declare function calculateDrawingTransform(drawingBounds: {
81
81
  translateY: number;
82
82
  scaleFactor: number;
83
83
  };
84
+ /**
85
+ * `calculateDrawingTransform` always derives `translateY` assuming the
86
+ * caller will map model Y to paper Y with a sign flip (`adjustedY = -y`,
87
+ * matching a plan view drawn with north/Y+ up on paper) — it centers using
88
+ * `drawingBounds.maxY` for exactly that reason (see the "Flip Y" comment
89
+ * above).
90
+ *
91
+ * Plan ('down') sections do NOT flip Y (see `Drawing2DCanvas.tsx`'s
92
+ * `flipY = sectionAxis !== 'down'`): they map `adjustedY = y` directly, so
93
+ * north stays up without a sign flip. Reusing the flipped `translateY`
94
+ * unmodified in that case still centers the WIDTH but shifts the centered Y
95
+ * off by `(minY + maxY) * scaleFactor` — the drawing lands off-center on the
96
+ * sheet, worse the further the section's bounds sit from being symmetric
97
+ * about Y=0. This offset was found diverging between the sheet PREVIEW
98
+ * (`Drawing2DCanvas.tsx`, which already carried this correction) and the
99
+ * sheet PRINT/EXPORT path (`useDrawingExport.ts`'s `generateSheetSVG`, which
100
+ * did not) — issue #2940.
101
+ *
102
+ * Call this instead of `calculateDrawingTransform` directly wherever the
103
+ * axis's flip behavior is known, so every sheet consumer (screen preview,
104
+ * print, SVG/PDF export) derives the flip correction from one place rather
105
+ * than each re-deriving it. Note this function is the geometry only: it
106
+ * takes no view state, so two callers still agree only insofar as they pass
107
+ * the same `flipY`/`flipX` AND resolve any cached/pinned placement the same
108
+ * way. The viewer routes both sheet consumers through one resolver
109
+ * (`apps/viewer/src/lib/drawing/sheet-transform.ts`) for exactly that
110
+ * reason.
111
+ *
112
+ * `translateX` needs the mirror-image correction, but gated the OPPOSITE
113
+ * way from `translateY`: `calculateDrawingTransform`'s `translateX` bakes
114
+ * in the assumption that the caller maps model X to paper X with NO sign
115
+ * flip (`adjustedX = x`) — unlike `translateY`, which bakes in a flip. So
116
+ * `translateX` is only wrong when `flipX` is actually true (`adjustedX =
117
+ * -x`, used for 'side' sections to view from the conventional direction,
118
+ * see `Drawing2DCanvas.tsx` / `useDrawingExport.ts`'s `flipX = sectionAxis
119
+ * === 'side'`): flipping negates and reverses the drawing's X extent to
120
+ * `[-maxX, -minX]`, so the base translate (keyed off `-minX`) shifts the
121
+ * centered box by `(minX + maxX) * scaleFactor` — the drawing lands off
122
+ * the left/right edge of the sheet, worse the further the section's bounds
123
+ * sit from being symmetric about X=0. Confirmed unfixed prior to this
124
+ * change (issue #2940's X-axis half): a 'side' section with bounds minX=2,
125
+ * maxX=12 on a 190mm-wide viewport landed 140mm off-center.
126
+ */
127
+ export declare function calculateDrawingTransformForAxis(drawingBounds: {
128
+ minX: number;
129
+ minY: number;
130
+ maxX: number;
131
+ maxY: number;
132
+ }, viewportBounds: ViewportBounds, scale: DrawingScale, flipY: boolean, flipX?: boolean): {
133
+ translateX: number;
134
+ translateY: number;
135
+ scaleFactor: number;
136
+ };
84
137
  //# sourceMappingURL=sheet-types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sheet-types.d.ts","sourceRoot":"","sources":["../../src/sheet/sheet-types.ts"],"names":[],"mappings":"AAIA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC9E,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC7E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEjD,kEAAkE;AAClE,MAAM,WAAW,cAAc;IAC7B,8CAA8C;IAC9C,CAAC,EAAE,MAAM,CAAC;IACV,6CAA6C;IAC7C,CAAC,EAAE,MAAM,CAAC;IACV,0BAA0B;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,2BAA2B;IAC3B,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,2CAA2C;AAC3C,MAAM,WAAW,YAAY;IAC3B,8BAA8B;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,6BAA6B;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,+BAA+B;IAC/B,KAAK,EAAE,mBAAmB,CAAC;IAC3B,kCAAkC;IAClC,KAAK,EAAE,YAAY,CAAC;IACpB,gCAAgC;IAChC,UAAU,EAAE,gBAAgB,CAAC;IAC7B,8BAA8B;IAC9B,QAAQ,EAAE,cAAc,CAAC;IACzB,oBAAoB;IACpB,KAAK,EAAE,YAAY,CAAC;IACpB,gCAAgC;IAChC,UAAU,EAAE,gBAAgB,CAAC;IAC7B,8DAA8D;IAC9D,cAAc,EAAE,cAAc,CAAC;IAC/B,uBAAuB;IACvB,SAAS,EAAE,aAAa,EAAE,CAAC;CAC5B;AAED,6BAA6B;AAC7B,MAAM,WAAW,oBAAoB;IACnC,2CAA2C;IAC3C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kBAAkB;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,yBAAyB;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,oBAAoB;IACpB,KAAK,CAAC,EAAE,YAAY,CAAC;CACtB;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,mBAAmB,EAC1B,KAAK,EAAE,YAAY,EACnB,UAAU,EAAE,gBAAgB,GAC3B,cAAc,CA4ChB;AAED;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,CACvC,aAAa,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EACzE,cAAc,EAAE,cAAc,EAC9B,KAAK,EAAE,YAAY,GAClB;IACD,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;CACrB,CAgCA"}
1
+ {"version":3,"file":"sheet-types.d.ts","sourceRoot":"","sources":["../../src/sheet/sheet-types.ts"],"names":[],"mappings":"AAIA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC9E,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC7E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEjD,kEAAkE;AAClE,MAAM,WAAW,cAAc;IAC7B,8CAA8C;IAC9C,CAAC,EAAE,MAAM,CAAC;IACV,6CAA6C;IAC7C,CAAC,EAAE,MAAM,CAAC;IACV,0BAA0B;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,2BAA2B;IAC3B,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,2CAA2C;AAC3C,MAAM,WAAW,YAAY;IAC3B,8BAA8B;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,6BAA6B;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,+BAA+B;IAC/B,KAAK,EAAE,mBAAmB,CAAC;IAC3B,kCAAkC;IAClC,KAAK,EAAE,YAAY,CAAC;IACpB,gCAAgC;IAChC,UAAU,EAAE,gBAAgB,CAAC;IAC7B,8BAA8B;IAC9B,QAAQ,EAAE,cAAc,CAAC;IACzB,oBAAoB;IACpB,KAAK,EAAE,YAAY,CAAC;IACpB,gCAAgC;IAChC,UAAU,EAAE,gBAAgB,CAAC;IAC7B,8DAA8D;IAC9D,cAAc,EAAE,cAAc,CAAC;IAC/B,uBAAuB;IACvB,SAAS,EAAE,aAAa,EAAE,CAAC;CAC5B;AAED,6BAA6B;AAC7B,MAAM,WAAW,oBAAoB;IACnC,2CAA2C;IAC3C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kBAAkB;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,yBAAyB;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,oBAAoB;IACpB,KAAK,CAAC,EAAE,YAAY,CAAC;CACtB;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,mBAAmB,EAC1B,KAAK,EAAE,YAAY,EACnB,UAAU,EAAE,gBAAgB,GAC3B,cAAc,CA4ChB;AAED;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,CACvC,aAAa,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EACzE,cAAc,EAAE,cAAc,EAC9B,KAAK,EAAE,YAAY,GAClB;IACD,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;CACrB,CAgCA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH,wBAAgB,gCAAgC,CAC9C,aAAa,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EACzE,cAAc,EAAE,cAAc,EAC9B,KAAK,EAAE,YAAY,EACnB,KAAK,EAAE,OAAO,EACd,KAAK,UAAQ,GACZ;IACD,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;CACrB,CASA"}
@@ -74,4 +74,57 @@ export function calculateDrawingTransform(drawingBounds, viewportBounds, scale)
74
74
  drawingBounds.maxY * scaleFactor; // Flip Y
75
75
  return { translateX, translateY, scaleFactor };
76
76
  }
77
+ /**
78
+ * `calculateDrawingTransform` always derives `translateY` assuming the
79
+ * caller will map model Y to paper Y with a sign flip (`adjustedY = -y`,
80
+ * matching a plan view drawn with north/Y+ up on paper) — it centers using
81
+ * `drawingBounds.maxY` for exactly that reason (see the "Flip Y" comment
82
+ * above).
83
+ *
84
+ * Plan ('down') sections do NOT flip Y (see `Drawing2DCanvas.tsx`'s
85
+ * `flipY = sectionAxis !== 'down'`): they map `adjustedY = y` directly, so
86
+ * north stays up without a sign flip. Reusing the flipped `translateY`
87
+ * unmodified in that case still centers the WIDTH but shifts the centered Y
88
+ * off by `(minY + maxY) * scaleFactor` — the drawing lands off-center on the
89
+ * sheet, worse the further the section's bounds sit from being symmetric
90
+ * about Y=0. This offset was found diverging between the sheet PREVIEW
91
+ * (`Drawing2DCanvas.tsx`, which already carried this correction) and the
92
+ * sheet PRINT/EXPORT path (`useDrawingExport.ts`'s `generateSheetSVG`, which
93
+ * did not) — issue #2940.
94
+ *
95
+ * Call this instead of `calculateDrawingTransform` directly wherever the
96
+ * axis's flip behavior is known, so every sheet consumer (screen preview,
97
+ * print, SVG/PDF export) derives the flip correction from one place rather
98
+ * than each re-deriving it. Note this function is the geometry only: it
99
+ * takes no view state, so two callers still agree only insofar as they pass
100
+ * the same `flipY`/`flipX` AND resolve any cached/pinned placement the same
101
+ * way. The viewer routes both sheet consumers through one resolver
102
+ * (`apps/viewer/src/lib/drawing/sheet-transform.ts`) for exactly that
103
+ * reason.
104
+ *
105
+ * `translateX` needs the mirror-image correction, but gated the OPPOSITE
106
+ * way from `translateY`: `calculateDrawingTransform`'s `translateX` bakes
107
+ * in the assumption that the caller maps model X to paper X with NO sign
108
+ * flip (`adjustedX = x`) — unlike `translateY`, which bakes in a flip. So
109
+ * `translateX` is only wrong when `flipX` is actually true (`adjustedX =
110
+ * -x`, used for 'side' sections to view from the conventional direction,
111
+ * see `Drawing2DCanvas.tsx` / `useDrawingExport.ts`'s `flipX = sectionAxis
112
+ * === 'side'`): flipping negates and reverses the drawing's X extent to
113
+ * `[-maxX, -minX]`, so the base translate (keyed off `-minX`) shifts the
114
+ * centered box by `(minX + maxX) * scaleFactor` — the drawing lands off
115
+ * the left/right edge of the sheet, worse the further the section's bounds
116
+ * sit from being symmetric about X=0. Confirmed unfixed prior to this
117
+ * change (issue #2940's X-axis half): a 'side' section with bounds minX=2,
118
+ * maxX=12 on a 190mm-wide viewport landed 140mm off-center.
119
+ */
120
+ export function calculateDrawingTransformForAxis(drawingBounds, viewportBounds, scale, flipY, flipX = false) {
121
+ const base = calculateDrawingTransform(drawingBounds, viewportBounds, scale);
122
+ const translateY = flipY
123
+ ? base.translateY
124
+ : base.translateY - (drawingBounds.maxY + drawingBounds.minY) * base.scaleFactor;
125
+ const translateX = flipX
126
+ ? base.translateX + (drawingBounds.minX + drawingBounds.maxX) * base.scaleFactor
127
+ : base.translateX;
128
+ return { ...base, translateX, translateY };
129
+ }
77
130
  //# sourceMappingURL=sheet-types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sheet-types.js","sourceRoot":"","sources":["../../src/sheet/sheet-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sheet-types.js","sourceRoot":"","sources":["../../src/sheet/sheet-types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"title-block-renderer.d.ts","sourceRoot":"","sources":["../../src/sheet/title-block-renderer.ts"],"names":[],"mappings":"AAIA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAsB,MAAM,wBAAwB,CAAC;AAClG,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC7E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEjD,kEAAkE;AAClE,MAAM,WAAW,gBAAgB;IAC/B,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,qEAAqE;AACrE,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,oGAAoG;IACpG,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,sCAAsC;AACtC,MAAM,WAAW,sBAAsB;IACrC,uCAAuC;IACvC,WAAW,EAAE,MAAM,CAAC;IACpB,uDAAuD;IACvD,MAAM,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CACjE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,gBAAgB,EACxB,gBAAgB,EAAE,gBAAgB,EAClC,SAAS,GAAE,aAAa,EAAO,EAC/B,MAAM,CAAC,EAAE,gBAAgB,GACxB,sBAAsB,CAgFxB"}
1
+ {"version":3,"file":"title-block-renderer.d.ts","sourceRoot":"","sources":["../../src/sheet/title-block-renderer.ts"],"names":[],"mappings":"AAIA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAsB,MAAM,wBAAwB,CAAC;AAElG,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC7E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEjD,kEAAkE;AAClE,MAAM,WAAW,gBAAgB;IAC/B,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,qEAAqE;AACrE,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,oGAAoG;IACpG,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,sCAAsC;AACtC,MAAM,WAAW,sBAAsB;IACrC,uCAAuC;IACvC,WAAW,EAAE,MAAM,CAAC;IACpB,uDAAuD;IACvD,MAAM,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CACjE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,gBAAgB,EACxB,gBAAgB,EAAE,gBAAgB,EAClC,SAAS,GAAE,aAAa,EAAO,EAC/B,MAAM,CAAC,EAAE,gBAAgB,GACxB,sBAAsB,CAgFxB"}
@@ -1,6 +1,7 @@
1
1
  /* This Source Code Form is subject to the terms of the Mozilla Public
2
2
  * License, v. 2.0. If a copy of the MPL was not distributed with this
3
3
  * file, You can obtain one at https://mozilla.org/MPL/2.0/. */
4
+ import { NICE_BAR_LENGTHS_M, barLabelIsExact, formatBarLabel, MIN_BAR_SEGMENT_MM } from './scale-bar-types.js';
4
5
  /**
5
6
  * Render a title block to SVG
6
7
  */
@@ -257,18 +258,116 @@ function renderRevisionHistory(revisions, x, y, w, h, config) {
257
258
  */
258
259
  function renderScaleBarInTitleBlock(scaleBar, scale, x, y, w, h, _hasLogo, effectiveScaleFactor) {
259
260
  let svg = ' <g id="title-block-scale-bar">\n';
260
- // Use effective scale factor if provided (for dynamic scaling), otherwise use configured scale
261
- const scaleFactor = effectiveScaleFactor ?? scale.factor;
261
+ // These two arguments are in RECIPROCAL units, and this function used to
262
+ // substitute one for the other in a single formula:
263
+ //
264
+ // effectiveScaleFactor millimetres per metre (10 at 1:100)
265
+ // scale.factor the N of 1:N (100 at 1:100)
266
+ //
267
+ // `calculateDrawingTransform` returns the former — `sheet-types.ts` uses it
268
+ // as `drawingWidth * scaleFactor` to get millimetres — its own doc says "mm
269
+ // per meter", and `useDrawingExport` passes it on EVERY export. So the branch
270
+ // the exporter always takes was the wrong one, and every exported bar was
271
+ // labelled wrong at every scale: a 5 m bar read 0.5 m at 1:100, and 0.1 m at
272
+ // 1:500 where 25 m is right. Normalise to one unit so there is one formula.
273
+ const mmPerMetre = effectiveScaleFactor ?? 1000 / scale.factor;
262
274
  // Position: bottom left with small margin
263
275
  const barX = x + 3;
264
276
  const barY = y + h - 8; // 8mm from bottom (leaves room for label)
265
277
  const maxBarWidth = Math.min(w * 0.3, 50);
266
- const barLengthMm = (scaleBar.totalLengthM * 1000) / scaleFactor;
267
- const actualBarLength = Math.min(barLengthMm, maxBarWidth);
268
- const barHeight = Math.min(scaleBar.heightMm, 3);
269
- const actualTotalLength = (actualBarLength * scaleFactor) / 1000;
270
- // Draw alternating bar segments
271
- const divisions = scaleBar.primaryDivisions;
278
+ const barLengthMm = scaleBar.totalLengthM * mmPerMetre;
279
+ // Checked BEFORE the clamp, and the ordering is load-bearing: testing the
280
+ // clamped result loses the infinite case, because `Math.min(Infinity, 50)`
281
+ // is a perfectly finite 50.
282
+ //
283
+ // `mmPerMetre > 0` is checked SEPARATELY and is not redundant with
284
+ // `barLengthMm > 0`. An earlier version claimed one check on the product
285
+ // covered "any combination" of the two operands. It does not: two negatives
286
+ // cancel, so `totalLengthM: -5` with `effectiveScaleFactor: -10` gives
287
+ // `barLengthMm` 50 and passes every clause, after which the labels print
288
+ // NEGATIVE distances on a bar that draws normally. That is worse than the
289
+ // malformed rect this guard was written to stop, because nothing about the
290
+ // output looks wrong. Credit to CodeRabbit for the case and to
291
+ // @bimvoice-01 for relaying it.
292
+ //
293
+ // Deliberately not recording which of the sign checks in this file is
294
+ // load-bearing. Three versions of this paragraph did — "the snap masks
295
+ // this", then "this is load-bearing", then "three things reject it" — and
296
+ // each was a correct measurement made false by the next commit, twice by my
297
+ // own hand within one session and once by a revert. A mutation result is a
298
+ // fact about the whole program, so anything anywhere invalidates it, while
299
+ // it reads like a durable property. The commit message is where such a
300
+ // measurement belongs, pinned to a tree.
301
+ //
302
+ // Without this the bar emitted `<rect width="-10.00">`, invalid SVG dressed
303
+ // as a drawing. Drawing nothing is the honest degradation: a missing scale
304
+ // bar is visibly missing.
305
+ if (!(mmPerMetre > 0) ||
306
+ !(barLengthMm > 0) ||
307
+ !Number.isFinite(barLengthMm) ||
308
+ !(maxBarWidth > 0)) {
309
+ return '';
310
+ }
311
+ // Snap to a ROUND distance that fits, rather than clamping to the cell width
312
+ // and rounding the label afterwards. Folding the clamp into the label is not
313
+ // enough on its own: the label prints to 0 dp, so a 120 mm title block (a
314
+ // shipped preset) caps a 5 m bar at 36 mm = 3.6 m and prints "4m" — 11% off
315
+ // on a printed sheet, and up to ~33% for a bar landing near 1.5 m.
316
+ //
317
+ // Choosing the distance first makes the label exact by construction.
318
+ //
319
+ // It does NOT yet make the export agree with the on-screen preview, and an
320
+ // earlier version of this comment claimed it did. Measured over nine common
321
+ // (block width x scale) pairs with the default 5 m bar, six disagree:
322
+ // `Drawing2DCanvas` halves/doubles from the configured length, clamps to the
323
+ // cell, and rounds the label from the clamped value — the same clamp-then-
324
+ // round shape this function just stopped doing, so at a 120 mm block and
325
+ // 1:100 the preview still prints "3m" over a 2.5 m bar while the export
326
+ // prints an exact "2m". Unifying them means moving the preview onto
327
+ // `NICE_BAR_LENGTHS_M` too, which is a viewer change and not this diff.
328
+ // `divisions`, bounded at BOTH ends. The low end stops 0 dividing and 2.5 drawing three
329
+ // segments of width L/2.5 (the loop runs while `i < 2.5`), overflowing the
330
+ // bar by 20%. The high end matters too: 100000 divisions emits an 11.5 MB
331
+ // group of 0.0005 mm rects, and 1e7 is about a gigabyte — it hangs the export
332
+ // rather than drawing a bad bar. Nothing legible needs more than 20.
333
+ const divisions = Number.isFinite(scaleBar.primaryDivisions)
334
+ ? Math.min(20, Math.max(1, Math.floor(scaleBar.primaryDivisions)))
335
+ : 1;
336
+ const requestedM = scaleBar.totalLengthM;
337
+ // Fits the cell AND draws segments that survive `toFixed(2)`. Without the
338
+ // lower bound a bar can be chosen whose segments all print `width="0.00"`
339
+ // under a confident label — a label with no bar, which is the dishonesty
340
+ // this function refuses everywhere else. Reachable at 1:1 on a large model,
341
+ // where the transform gives well under 1 mm per metre.
342
+ const fits = (m) => m * mmPerMetre <= maxBarWidth + 1e-9 &&
343
+ (m * mmPerMetre) / divisions >= MIN_BAR_SEGMENT_MM - 1e-12;
344
+ // Keep the requested length when it already fits AND already labels exactly.
345
+ // Snapping unconditionally shrank bars that were fine: a 4 m bar at 1:100 is
346
+ // 40 mm in a 50 mm cell and prints "4m" exactly, and snapping it to the
347
+ // nearest ladder value below halved it to 2 m for no reason.
348
+ let actualTotalLength = fits(requestedM) && barLabelIsExact(requestedM)
349
+ ? requestedM
350
+ : undefined;
351
+ if (actualTotalLength === undefined) {
352
+ // Otherwise take the largest round distance that fits and does not claim
353
+ // more than was asked for.
354
+ const candidates = NICE_BAR_LENGTHS_M.filter((m) => m <= requestedM + 1e-9 && fits(m));
355
+ actualTotalLength = candidates[candidates.length - 1];
356
+ }
357
+ if (actualTotalLength === undefined) {
358
+ // Not even the smallest round distance fits the cell. A missing bar is
359
+ // visibly missing; a bar labelled with a distance it does not span is not.
360
+ return '';
361
+ }
362
+ const actualBarLength = actualTotalLength * mmPerMetre;
363
+ // `heightMm` reaches the emitted `height=` attribute, so it needs the same
364
+ // treatment as the length: NaN printed `height="NaN"` on every rect and
365
+ // `y="NaN"` on both labels, and a negative printed `height="-5.00"`. Guarding
366
+ // one of two attributes that reach the SVG is not guarding.
367
+ const barHeight = Number.isFinite(scaleBar.heightMm)
368
+ ? Math.min(Math.max(scaleBar.heightMm, 0.1), 3)
369
+ : 3;
370
+ // Draw alternating bar segments; `divisions` was normalised above.
272
371
  const divWidth = actualBarLength / divisions;
273
372
  for (let i = 0; i < divisions; i++) {
274
373
  const segX = barX + i * divWidth;
@@ -283,9 +382,10 @@ function renderScaleBarInTitleBlock(scaleBar, scale, x, y, w, h, _hasLogo, effec
283
382
  svg += ` <text x="${barX.toFixed(2)}" y="${labelY.toFixed(2)}" `;
284
383
  svg += `font-family="Arial, sans-serif" font-size="${fontSize}" `;
285
384
  svg += `text-anchor="start" fill="#000000">0</text>\n`;
286
- const endLabel = actualTotalLength < 1
287
- ? `${(actualTotalLength * 100).toFixed(0)}cm`
288
- : `${actualTotalLength.toFixed(0)}m`;
385
+ // Shared with `barLabelIsExact`, which decides whether a length CAN be
386
+ // printed without lying. Those two have to agree, and an inline copy here is
387
+ // exactly how they would stop agreeing.
388
+ const endLabel = formatBarLabel(actualTotalLength);
289
389
  svg += ` <text x="${(barX + actualBarLength).toFixed(2)}" y="${labelY.toFixed(2)}" `;
290
390
  svg += `font-family="Arial, sans-serif" font-size="${fontSize}" `;
291
391
  svg += `text-anchor="end" fill="#000000">${endLabel}</text>\n`;
@@ -1 +1 @@
1
- {"version":3,"file":"title-block-renderer.js","sourceRoot":"","sources":["../../src/sheet/title-block-renderer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"title-block-renderer.js","sourceRoot":"","sources":["../../src/sheet/title-block-renderer.ts"],"names":[],"mappings":"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"}
package/dist/styles.d.ts CHANGED
@@ -64,10 +64,29 @@ export interface DrawingScale {
64
64
  }
65
65
  export declare const COMMON_SCALES: DrawingScale[];
66
66
  /**
67
- * Get recommended scale for a given bounding box size
67
+ * Pick the tightest common scale at which a model of `boundsWidth` x
68
+ * `boundsHeight` fits the paper, or the coarsest scale in the table if none
69
+ * of them do.
70
+ *
71
+ * That second clause is a real limitation, not a formality. The table stops at
72
+ * 1:1000, so a model past roughly 378 x 267 m has no fitting entry and gets
73
+ * 1:1000 anyway: a 500 x 300 m site comes back as 1:1000, which puts 500 mm on
74
+ * 378 mm of usable A3 and overruns by a third. The caller cannot tell that
75
+ * apart from a fitting answer, which is the same complaint that motivates the
76
+ * throw below, and it is left this way only because narrowing the return type
77
+ * is a bigger change than this fix. Check the result yourself if your models
78
+ * can be that large.
79
+ *
80
+ * UNITS, because the two arguments are not in the same one: the BOUNDS are
81
+ * metres (model space) and the PAPER is millimetres (drawing space). At 1:100
82
+ * a 30 m wall is 300 mm on paper, so the conversion is `metres * 1000 / factor`.
83
+ *
84
+ * Throws on a non-finite or non-positive input rather than returning a scale.
85
+ * A scale has no safe default: the coarsest entry is a real scale, and for a
86
+ * large site it is even the right one, so a caller cannot tell a fallback
87
+ * apart from an answer.
68
88
  */
69
- export declare function getRecommendedScale(boundsWidth: number, boundsHeight: number, paperWidth?: number, // A3 landscape
70
- paperHeight?: number): DrawingScale;
89
+ export declare function getRecommendedScale(boundsWidth: number, boundsHeight: number, paperWidth?: number, paperHeight?: number): DrawingScale;
71
90
  export interface PaperSize {
72
91
  name: string;
73
92
  width: number;
@@ -1 +1 @@
1
- {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../src/styles.ts"],"names":[],"mappings":"AAIA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAM/C,MAAM,MAAM,gBAAgB,GACxB,OAAO,GACP,UAAU,GACV,aAAa,GACb,YAAY,GACZ,UAAU,GACV,OAAO,GACP,UAAU,GACV,YAAY,GACZ,OAAO,GACP,MAAM,GACN,OAAO,GACP,OAAO,GACP,MAAM,CAAC;AAEX,MAAM,WAAW,YAAY;IAC3B,mBAAmB;IACnB,IAAI,EAAE,gBAAgB,CAAC;IACvB,sCAAsC;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,+BAA+B;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,wBAAwB;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,uBAAuB;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,kDAAkD;IAClD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,+CAA+C;IAC/C,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;;GAGG;AACH,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAwNvD,CAAC;AAEF;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY,CAE7D;AAMD,MAAM,WAAW,SAAS;IACxB,wBAAwB;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,yBAAyB;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,yDAAyD;IACzD,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,qBAAqB;IACrB,OAAO,EAAE,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC;IACrC,sBAAsB;IACtB,QAAQ,EAAE,OAAO,GAAG,OAAO,GAAG,OAAO,CAAC;CACvC;AAED;;GAEG;AACH,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,YAAY,EAAE,SAAS,CAkDvD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,CAYnF,CAAC;AAEF;;GAEG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAWhF;AAMD,MAAM,WAAW,YAAY;IAC3B,mBAAmB;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,yCAAyC;IACzC,MAAM,EAAE,MAAM,CAAC;IACf,uBAAuB;IACvB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,eAAO,MAAM,aAAa,EAAE,YAAY,EAWvC,CAAC;AAEF;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,EACpB,UAAU,GAAE,MAAY,EAAE,eAAe;AACzC,WAAW,GAAE,MAAY,GACxB,YAAY,CAcd;AAMD,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAWjD,CAAC"}
1
+ {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../src/styles.ts"],"names":[],"mappings":"AAIA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAM/C,MAAM,MAAM,gBAAgB,GACxB,OAAO,GACP,UAAU,GACV,aAAa,GACb,YAAY,GACZ,UAAU,GACV,OAAO,GACP,UAAU,GACV,YAAY,GACZ,OAAO,GACP,MAAM,GACN,OAAO,GACP,OAAO,GACP,MAAM,CAAC;AAEX,MAAM,WAAW,YAAY;IAC3B,mBAAmB;IACnB,IAAI,EAAE,gBAAgB,CAAC;IACvB,sCAAsC;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,+BAA+B;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,wBAAwB;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,uBAAuB;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,kDAAkD;IAClD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,+CAA+C;IAC/C,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;;GAGG;AACH,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAwNvD,CAAC;AAEF;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY,CAE7D;AAMD,MAAM,WAAW,SAAS;IACxB,wBAAwB;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,yBAAyB;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,yDAAyD;IACzD,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,qBAAqB;IACrB,OAAO,EAAE,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC;IACrC,sBAAsB;IACtB,QAAQ,EAAE,OAAO,GAAG,OAAO,GAAG,OAAO,CAAC;CACvC;AAED;;GAEG;AACH,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,YAAY,EAAE,SAAS,CAkDvD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,CAYnF,CAAC;AAEF;;GAEG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAWhF;AAMD,MAAM,WAAW,YAAY;IAC3B,mBAAmB;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,yCAAyC;IACzC,MAAM,EAAE,MAAM,CAAC;IACf,uBAAuB;IACvB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,eAAO,MAAM,aAAa,EAAE,YAAY,EAWvC,CAAC;AAKF;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,mBAAmB,CACjC,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,EACpB,UAAU,GAAE,MAAuC,EACnD,WAAW,GAAE,MAAwC,GACpD,YAAY,CA0Bd;AAMD,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAWjD,CAAC"}
package/dist/styles.js CHANGED
@@ -316,17 +316,48 @@ export const COMMON_SCALES = [
316
316
  { name: '1:500', factor: 500, useCase: 'Site context' },
317
317
  { name: '1:1000', factor: 1000, useCase: 'Urban context' },
318
318
  ];
319
+ /** Fraction of the sheet a drawing may occupy, leaving a 10% margin. */
320
+ const FIT_MARGIN = 0.9;
319
321
  /**
320
- * Get recommended scale for a given bounding box size
322
+ * Pick the tightest common scale at which a model of `boundsWidth` x
323
+ * `boundsHeight` fits the paper, or the coarsest scale in the table if none
324
+ * of them do.
325
+ *
326
+ * That second clause is a real limitation, not a formality. The table stops at
327
+ * 1:1000, so a model past roughly 378 x 267 m has no fitting entry and gets
328
+ * 1:1000 anyway: a 500 x 300 m site comes back as 1:1000, which puts 500 mm on
329
+ * 378 mm of usable A3 and overruns by a third. The caller cannot tell that
330
+ * apart from a fitting answer, which is the same complaint that motivates the
331
+ * throw below, and it is left this way only because narrowing the return type
332
+ * is a bigger change than this fix. Check the result yourself if your models
333
+ * can be that large.
334
+ *
335
+ * UNITS, because the two arguments are not in the same one: the BOUNDS are
336
+ * metres (model space) and the PAPER is millimetres (drawing space). At 1:100
337
+ * a 30 m wall is 300 mm on paper, so the conversion is `metres * 1000 / factor`.
338
+ *
339
+ * Throws on a non-finite or non-positive input rather than returning a scale.
340
+ * A scale has no safe default: the coarsest entry is a real scale, and for a
341
+ * large site it is even the right one, so a caller cannot tell a fallback
342
+ * apart from an answer.
321
343
  */
322
- export function getRecommendedScale(boundsWidth, boundsHeight, paperWidth = 420, // A3 landscape
323
- paperHeight = 297) {
324
- const maxDimension = Math.max(boundsWidth, boundsHeight);
325
- // Find smallest scale that fits
344
+ export function getRecommendedScale(boundsWidth, boundsHeight, paperWidth = PAPER_SIZES.A3_LANDSCAPE.width, paperHeight = PAPER_SIZES.A3_LANDSCAPE.height) {
345
+ for (const [label, value] of Object.entries({ boundsWidth, boundsHeight, paperWidth, paperHeight })) {
346
+ if (!Number.isFinite(value) || value <= 0) {
347
+ throw new Error(`Invalid ${label} for getRecommendedScale: ${value}. ` +
348
+ `Expected a positive finite number (bounds in metres, paper in millimetres).`);
349
+ }
350
+ }
351
+ const usableWidth = paperWidth * FIT_MARGIN;
352
+ const usableHeight = paperHeight * FIT_MARGIN;
353
+ // COMMON_SCALES runs finest (1:1) to coarsest (1:1000), so the first fit is
354
+ // the tightest one.
326
355
  for (const scale of COMMON_SCALES) {
327
- const scaledWidth = boundsWidth / scale.factor;
328
- const scaledHeight = boundsHeight / scale.factor;
329
- if (scaledWidth <= paperWidth * 0.9 && scaledHeight <= paperHeight * 0.9) {
356
+ // `1000 / factor` is how the rest of the package spells metres-to-paper-mm
357
+ // (pdf-scale.ts, sheet-types.ts, svg-exporter.ts). Kept identical so a grep
358
+ // for it finds every site.
359
+ const worldToMm = 1000 / scale.factor;
360
+ if (boundsWidth * worldToMm <= usableWidth && boundsHeight * worldToMm <= usableHeight) {
330
361
  return scale;
331
362
  }
332
363
  }
@@ -1 +1 @@
1
- {"version":3,"file":"styles.js","sourceRoot":"","sources":["../src/styles.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"styles.js","sourceRoot":"","sources":["../src/styles.ts"],"names":[],"mappings":"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"}
@@ -29,7 +29,15 @@ export interface SVGExportOptions {
29
29
  projectName?: string;
30
30
  /** Background color (default: white) */
31
31
  backgroundColor?: string;
32
- /** Units for dimension display */
32
+ /**
33
+ * Declared but never read. `export()` does not destructure `units` and no
34
+ * other code path consults it, so setting it has no effect on the emitted
35
+ * SVG. The exporter emits no dimension annotations at all, and the sheet
36
+ * itself is always sized in millimetres (`width="…mm"`), so there is no
37
+ * substitute option to reach for. Slated for removal; see issue #2731.
38
+ *
39
+ * @deprecated Ignored by the exporter — see above.
40
+ */
33
41
  units?: 'mm' | 'm';
34
42
  /** DXF reference underlays rendered beneath the drawing (issue #1782) */
35
43
  underlays?: SVGUnderlayOptions[];
@@ -1 +1 @@
1
- {"version":3,"file":"svg-exporter.d.ts","sourceRoot":"","sources":["../src/svg-exporter.ts"],"names":[],"mappings":"AAIA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EACV,SAAS,EAET,cAAc,EAEd,QAAQ,EAET,MAAM,YAAY,CAAC;AAGpB,OAAO,EAKL,KAAK,SAAS,EACd,KAAK,YAAY,EAElB,MAAM,aAAa,CAAC;AAIrB,OAAO,EAAyB,KAAK,YAAY,EAAE,KAAK,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAM5F,MAAM,WAAW,gBAAgB;IAC/B,iBAAiB;IACjB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,2DAA2D;IAC3D,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,mCAAmC;IACnC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,2BAA2B;IAC3B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,uBAAuB;IACvB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,0BAA0B;IAC1B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,oBAAoB;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,mBAAmB;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,wCAAwC;IACxC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,kCAAkC;IAClC,KAAK,CAAC,EAAE,IAAI,GAAG,GAAG,CAAC;IACnB,yEAAyE;IACzE,SAAS,CAAC,EAAE,kBAAkB,EAAE,CAAC;CAClC;AAED,iEAAiE;AACjE,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,WAAW,CAAC;IACtB,yDAAyD;IACzD,SAAS,CAAC,EAAE,YAAY,CAAC;IACzB,wEAAwE;IACxE,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC1C,mCAAmC;IACnC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAqBD,qBAAa,WAAW;IACtB,OAAO,CAAC,cAAc,CAAwB;IAE9C;;OAEG;IACH,MAAM,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,GAAE,gBAAqB,GAAG,MAAM;IAyElE;;OAEG;IACH,cAAc,CAAC,QAAQ,EAAE,cAAc,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,GAAE,gBAAqB,GAAG,MAAM;IAsBpG,OAAO,CAAC,gBAAgB;IA+DxB;;;;;;;;;OASG;IACH,OAAO,CAAC,UAAU;IAQlB,OAAO,CAAC,cAAc;IAStB,OAAO,CAAC,YAAY;IAWpB,OAAO,CAAC,UAAU;IAOlB,OAAO,CAAC,iBAAiB;IAOzB,OAAO,CAAC,sBAAsB;IAwC9B,OAAO,CAAC,eAAe;IAgBvB,OAAO,CAAC,UAAU;IAclB,OAAO,CAAC,mBAAmB;IA4B3B,OAAO,CAAC,aAAa;IAwBrB,OAAO,CAAC,aAAa;IA8BrB,OAAO,CAAC,eAAe;IAYvB,OAAO,CAAC,gBAAgB;IAyBxB;;;;;;;;OAQG;IACH,OAAO,CAAC,mBAAmB;IAsE3B,OAAO,CAAC,SAAS;CAQlB;AAMD;;GAEG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,MAAM,CAGlF"}
1
+ {"version":3,"file":"svg-exporter.d.ts","sourceRoot":"","sources":["../src/svg-exporter.ts"],"names":[],"mappings":"AAIA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EACV,SAAS,EAET,cAAc,EAEd,QAAQ,EAET,MAAM,YAAY,CAAC;AAGpB,OAAO,EAKL,KAAK,SAAS,EACd,KAAK,YAAY,EAElB,MAAM,aAAa,CAAC;AAIrB,OAAO,EAAyB,KAAK,YAAY,EAAE,KAAK,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAM5F,MAAM,WAAW,gBAAgB;IAC/B,iBAAiB;IACjB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,2DAA2D;IAC3D,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,mCAAmC;IACnC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,2BAA2B;IAC3B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,uBAAuB;IACvB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,0BAA0B;IAC1B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,oBAAoB;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,mBAAmB;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,wCAAwC;IACxC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;;;;;;OAQG;IACH,KAAK,CAAC,EAAE,IAAI,GAAG,GAAG,CAAC;IACnB,yEAAyE;IACzE,SAAS,CAAC,EAAE,kBAAkB,EAAE,CAAC;CAClC;AAED,iEAAiE;AACjE,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,WAAW,CAAC;IACtB,yDAAyD;IACzD,SAAS,CAAC,EAAE,YAAY,CAAC;IACzB,wEAAwE;IACxE,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC1C,mCAAmC;IACnC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAqBD,qBAAa,WAAW;IACtB,OAAO,CAAC,cAAc,CAAwB;IAE9C;;OAEG;IACH,MAAM,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,GAAE,gBAAqB,GAAG,MAAM;IAyElE;;OAEG;IACH,cAAc,CAAC,QAAQ,EAAE,cAAc,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,GAAE,gBAAqB,GAAG,MAAM;IAsBpG,OAAO,CAAC,gBAAgB;IA+DxB;;;;;;;;;OASG;IACH,OAAO,CAAC,UAAU;IAQlB,OAAO,CAAC,cAAc;IAStB,OAAO,CAAC,YAAY;IAWpB,OAAO,CAAC,UAAU;IAOlB,OAAO,CAAC,iBAAiB;IAOzB,OAAO,CAAC,sBAAsB;IAwC9B,OAAO,CAAC,eAAe;IAgBvB,OAAO,CAAC,UAAU;IAclB,OAAO,CAAC,mBAAmB;IA4B3B,OAAO,CAAC,aAAa;IAwBrB,OAAO,CAAC,aAAa;IA8BrB,OAAO,CAAC,eAAe;IAYvB,OAAO,CAAC,gBAAgB;IAyBxB;;;;;;;;OAQG;IACH,OAAO,CAAC,mBAAmB;IAsE3B,OAAO,CAAC,SAAS;CAQlB;AAMD;;GAEG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,MAAM,CAGlF"}