@ifc-lite/drawing-2d 3.1.0 → 4.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 (39) hide show
  1. package/README.md +13 -4
  2. package/dist/dxf/encoding.d.ts +14 -0
  3. package/dist/dxf/encoding.d.ts.map +1 -0
  4. package/dist/dxf/encoding.js +84 -0
  5. package/dist/dxf/encoding.js.map +1 -0
  6. package/dist/dxf/writer.js +2 -2
  7. package/dist/dxf/writer.js.map +1 -1
  8. package/dist/dxf-exporter.d.ts.map +1 -1
  9. package/dist/dxf-exporter.js +17 -3
  10. package/dist/dxf-exporter.js.map +1 -1
  11. package/dist/feature-elements.d.ts.map +1 -1
  12. package/dist/feature-elements.js +10 -3
  13. package/dist/feature-elements.js.map +1 -1
  14. package/dist/graphic-overrides/rule-engine.d.ts.map +1 -1
  15. package/dist/graphic-overrides/rule-engine.js +0 -12
  16. package/dist/graphic-overrides/rule-engine.js.map +1 -1
  17. package/dist/graphic-overrides/types.d.ts +1 -9
  18. package/dist/graphic-overrides/types.d.ts.map +1 -1
  19. package/dist/hatch-generator.d.ts +0 -9
  20. package/dist/hatch-generator.d.ts.map +1 -1
  21. package/dist/hatch-generator.js +87 -103
  22. package/dist/hatch-generator.js.map +1 -1
  23. package/dist/index.d.ts +1 -0
  24. package/dist/index.d.ts.map +1 -1
  25. package/dist/index.js +3 -3
  26. package/dist/index.js.map +1 -1
  27. package/dist/openings/opening-relationship-builder.d.ts +1 -0
  28. package/dist/openings/opening-relationship-builder.d.ts.map +1 -1
  29. package/dist/openings/opening-relationship-builder.js +17 -0
  30. package/dist/openings/opening-relationship-builder.js.map +1 -1
  31. package/dist/svg-exporter.d.ts +0 -13
  32. package/dist/svg-exporter.d.ts.map +1 -1
  33. package/dist/svg-exporter.js +55 -104
  34. package/dist/svg-exporter.js.map +1 -1
  35. package/dist/svg-transform.d.ts +41 -0
  36. package/dist/svg-transform.d.ts.map +1 -0
  37. package/dist/svg-transform.js +95 -0
  38. package/dist/svg-transform.js.map +1 -0
  39. package/package.json +5 -5
@@ -140,123 +140,107 @@ export class HatchGenerator {
140
140
  * @param inside If true, keep segments inside ring. If false, keep segments outside.
141
141
  */
142
142
  clipLineToRing(line, ring, inside) {
143
- // Find all intersections with ring edges
144
- const intersections = [];
145
143
  const dx = line.end.x - line.start.x;
146
144
  const dy = line.end.y - line.start.y;
145
+ // Signed side of the (infinite) hatch line a ring vertex falls on. An
146
+ // edge counts as a crossing only when its two endpoints have opposite
147
+ // signs, with the tie-break "not > 0" applied to whatever the sign
148
+ // actually computes as. That is what makes a ring VERTEX sitting on the
149
+ // hatch line resolve correctly however it occurs: at a tangent spike
150
+ // (the ring stays on one side and only touches) the two adjacent edges
151
+ // contribute an EVEN number of crossings — zero when the vertex buckets
152
+ // with its neighbours, two when it buckets against them — so parity is
153
+ // unchanged; at a genuine pass-through (neighbours on opposite sides)
154
+ // exactly one of the two adjacent edges crosses, net 1. The previous
155
+ // implementation computed a literal geometric intersection per EDGE
156
+ // regardless of side and de-duplicated near-equal `t` values, which
157
+ // collapsed a spike's two touching intersections into ONE instead of
158
+ // zero, inverting the inside/outside sense of every segment built past
159
+ // it — including the final "run off the far end of the line" segment,
160
+ // which is how a hatch line ended up running dozens of units outside
161
+ // the polygon it was clipped to.
162
+ //
163
+ // The tie-break reads as an infinitesimal displacement of the hatch line
164
+ // BACKWARDS along the sweep direction — `sideOf`'s `> 0` half-plane is
165
+ // the `-perp` one, and `generateParallelLines` steps along `+perp` from
166
+ // the bounding-box minimum. Every ring is nudged by that same amount in
167
+ // that same direction, so a row lying exactly on an edge resolves to
168
+ // whichever side of the ring the sweep has not reached yet: the sweep's
169
+ // first line sits on the outer ring's minimum-side edge and falls
170
+ // outside the polygon, a line flush with a hole's minimum-side edge
171
+ // falls outside that hole and is kept, and a line flush with a hole's
172
+ // far edge falls inside it and is subtracted. All three are the one
173
+ // rule, and none of them moves a line off the boundary into an
174
+ // interior.
175
+ const sideOf = (p) => dx * (p.y - line.start.y) - dy * (p.x - line.start.x);
176
+ const lenSq = dx * dx + dy * dy;
177
+ // Crossings anywhere on the INFINITE line, not only the stretch between
178
+ // `line.start` and `line.end`. That is what lets the walk below seed
179
+ // itself: the ring is closed, so its vertices end in the bucket they
180
+ // started in, the crossing count is therefore even, and the state out at
181
+ // `t = -Infinity` is "outside the ring" for any ring whatever. The
182
+ // earlier version kept only crossings within `[0, 1]` and seeded the
183
+ // walk by ray-casting `line.start` instead, which decides a point lying
184
+ // exactly ON the ring by its own rule — the opposite of the tie-break
185
+ // above. On a row flush with a hole's edge the two disagreed: no
186
+ // crossings by side, `inside` by ray cast, so the whole row was thrown
187
+ // away, taking interior fill with it that never touched the hole.
188
+ const ts = [];
147
189
  for (let i = 0; i < ring.length; i++) {
148
190
  const j = (i + 1) % ring.length;
149
- const p1 = ring[i];
150
- const p2 = ring[j];
151
- const intersection = this.lineLineIntersection(line.start, line.end, p1, p2);
152
- if (intersection !== null && intersection.t >= 0 && intersection.t <= 1) {
153
- // Determine if entering or leaving the polygon
154
- // Using edge normal direction
155
- const edgeNormalX = -(p2.y - p1.y);
156
- const edgeNormalY = p2.x - p1.x;
157
- const entering = dx * edgeNormalX + dy * edgeNormalY > 0;
158
- intersections.push({ t: intersection.t, entering });
159
- }
160
- }
161
- // Sort by t parameter
162
- intersections.sort((a, b) => a.t - b.t);
163
- // Remove duplicate intersections (at same t)
164
- const uniqueIntersections = [];
165
- for (const int of intersections) {
166
- if (uniqueIntersections.length === 0 ||
167
- Math.abs(int.t - uniqueIntersections[uniqueIntersections.length - 1].t) > EPSILON) {
168
- uniqueIntersections.push(int);
169
- }
170
- }
171
- if (uniqueIntersections.length === 0) {
172
- // No intersections - line is either entirely inside or outside
173
- const midpoint = {
174
- x: (line.start.x + line.end.x) / 2,
175
- y: (line.start.y + line.end.y) / 2,
176
- };
177
- const isInside = this.pointInRing(midpoint, ring);
178
- if (isInside === inside) {
179
- return [line];
180
- }
181
- return [];
191
+ const sa = sideOf(ring[i]);
192
+ const sb = sideOf(ring[j]);
193
+ if (sa > 0 === sb > 0)
194
+ continue;
195
+ // Locate the crossing by interpolating the very side values the test
196
+ // above used, then project it back onto the line. Deriving `t` from a
197
+ // separate segment-intersection solve instead would let the two
198
+ // disagree: an edge nominally COLLINEAR with the hatch line still has
199
+ // endpoints a few ULPs either side of it, so the side test calls it a
200
+ // crossing while a cross-product test calls it parallel and drops it —
201
+ // one lost crossing inverts parity for the rest of the line.
202
+ const u = sa / (sa - sb);
203
+ const px = ring[i].x + u * (ring[j].x - ring[i].x);
204
+ const py = ring[i].y + u * (ring[j].y - ring[i].y);
205
+ ts.push(((px - line.start.x) * dx + (py - line.start.y) * dy) / lenSq);
182
206
  }
183
- // Build segments based on intersections
207
+ ts.sort((a, b) => a - b);
208
+ // `t <= 0` and `t >= 1` return copies of the line's own endpoints rather
209
+ // than `start + t * d`, which in floating point is not exactly the
210
+ // endpoint. A segment handed on to the next ring's clip therefore
211
+ // carries the coordinates it arrived with, unrounded.
212
+ const pointAt = (t) => {
213
+ if (t <= 0)
214
+ return { x: line.start.x, y: line.start.y };
215
+ if (t >= 1)
216
+ return { x: line.end.x, y: line.end.y };
217
+ return { x: line.start.x + t * dx, y: line.start.y + t * dy };
218
+ };
184
219
  const segments = [];
185
- // Check if we start inside
186
- let currentlyInside = this.pointInRing(line.start, ring);
187
- let lastT = 0;
188
- for (const int of uniqueIntersections) {
189
- if (currentlyInside === inside) {
190
- // Add segment from lastT to this intersection
191
- segments.push({
192
- start: {
193
- x: line.start.x + lastT * dx,
194
- y: line.start.y + lastT * dy,
195
- },
196
- end: {
197
- x: line.start.x + int.t * dx,
198
- y: line.start.y + int.t * dy,
199
- },
200
- });
201
- }
202
- lastT = int.t;
220
+ const keep = (from, to) => {
221
+ const lo = Math.max(from, 0);
222
+ const hi = Math.min(to, 1);
223
+ if (hi > lo)
224
+ segments.push({ start: pointAt(lo), end: pointAt(hi) });
225
+ };
226
+ // Walk the whole line from `t = -Infinity`, where every ring is outside,
227
+ // and clip each kept run back to the `[0, 1]` stretch that was asked for.
228
+ let currentlyInside = false;
229
+ let lastT = -Infinity;
230
+ for (const t of ts) {
231
+ if (currentlyInside === inside)
232
+ keep(lastT, t);
233
+ lastT = t;
203
234
  currentlyInside = !currentlyInside;
204
235
  }
205
- // Handle final segment to end
206
- if (currentlyInside === inside) {
207
- segments.push({
208
- start: {
209
- x: line.start.x + lastT * dx,
210
- y: line.start.y + lastT * dy,
211
- },
212
- end: line.end,
213
- });
214
- }
236
+ if (currentlyInside === inside)
237
+ keep(lastT, Infinity);
215
238
  // Filter out degenerate segments
216
239
  return segments.filter((seg) => {
217
240
  const len = Math.abs(seg.end.x - seg.start.x) + Math.abs(seg.end.y - seg.start.y);
218
241
  return len > EPSILON;
219
242
  });
220
243
  }
221
- /**
222
- * Line-line intersection
223
- * Returns t parameter on first line, or null if no intersection
224
- */
225
- lineLineIntersection(p1, p2, p3, p4) {
226
- const d1x = p2.x - p1.x;
227
- const d1y = p2.y - p1.y;
228
- const d2x = p4.x - p3.x;
229
- const d2y = p4.y - p3.y;
230
- const cross = d1x * d2y - d1y * d2x;
231
- if (Math.abs(cross) < EPSILON) {
232
- return null; // Parallel
233
- }
234
- const dx = p3.x - p1.x;
235
- const dy = p3.y - p1.y;
236
- const t = (dx * d2y - dy * d2x) / cross;
237
- const u = (dx * d1y - dy * d1x) / cross;
238
- // Check if intersection is within edge segment
239
- if (u < 0 || u > 1) {
240
- return null;
241
- }
242
- return { t, u };
243
- }
244
- /**
245
- * Point in polygon ring test (ray casting)
246
- */
247
- pointInRing(point, ring) {
248
- let inside = false;
249
- const n = ring.length;
250
- for (let i = 0, j = n - 1; i < n; j = i++) {
251
- const pi = ring[i];
252
- const pj = ring[j];
253
- if (pi.y > point.y !== pj.y > point.y &&
254
- point.x < ((pj.x - pi.x) * (point.y - pi.y)) / (pj.y - pi.y) + pi.x) {
255
- inside = !inside;
256
- }
257
- }
258
- return inside;
259
- }
260
244
  /**
261
245
  * Compute bounding box of polygon
262
246
  */
@@ -1 +1 @@
1
- {"version":3,"file":"hatch-generator.js","sourceRoot":"","sources":["../src/hatch-generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hatch-generator.js","sourceRoot":"","sources":["../src/hatch-generator.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAW/D,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAqCpC,MAAM,OAAO,cAAc;IACzB;;;;;OAKG;IACH,aAAa,CACX,OAAuB,EACvB,QAAgB,GAAG,EACnB,cAAoC;QAEpC,gEAAgE;QAChE,MAAM,WAAW,GAAG,eAAe,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACrD,MAAM,OAAO,GAAiB,cAAc;YAC1C,CAAC,CAAC;gBACE,GAAG,WAAW;gBACd,IAAI,EAAE,cAAc,CAAC,IAAI;gBACzB,OAAO,EAAE,cAAc,CAAC,OAAO,IAAI,WAAW,CAAC,OAAO;gBACtD,KAAK,EAAE,cAAc,CAAC,KAAK,IAAI,WAAW,CAAC,KAAK;gBAChD,cAAc,EAAE,cAAc,CAAC,cAAc,IAAI,WAAW,CAAC,cAAc;aAC5E;YACH,CAAC,CAAC,WAAW,CAAC;QAEhB,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YACpF,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;QACzC,CAAC;QAED,mCAAmC;QACnC,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC;QAEhD,IAAI,KAAK,GAAgB,EAAE,CAAC;QAE5B,mCAAmC;QACnC,MAAM,YAAY,GAAG,IAAI,CAAC,qBAAqB,CAC7C,OAAO,CAAC,OAAO,EACf,OAAO,EACP,OAAO,CAAC,KAAK,EACb,OAAO,CAAC,QAAQ,EAChB,OAAO,CAAC,OAAO,EACf,OAAO,CAAC,UAAU,CACnB,CAAC;QACF,KAAK,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,CAAC;QAE5B,+CAA+C;QAC/C,IAAI,OAAO,CAAC,IAAI,KAAK,aAAa,IAAI,OAAO,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;YAC3E,MAAM,cAAc,GAAG,IAAI,CAAC,qBAAqB,CAC/C,OAAO,CAAC,OAAO,EACf,OAAO,EACP,OAAO,CAAC,cAAc,EACtB,OAAO,CAAC,QAAQ,EAChB,OAAO,CAAC,OAAO,EACf,OAAO,CAAC,UAAU,CACnB,CAAC;YACF,KAAK,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,CAAC;QAChC,CAAC;QAED,mBAAmB;QACnB,IAAI,OAAO,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YAChC,2EAA2E;YAC3E,MAAM,WAAW,GAAG,IAAI,CAAC,qBAAqB,CAC5C,OAAO,CAAC,OAAO,EACf,OAAO,GAAG,GAAG,EACb,OAAO,CAAC,KAAK,GAAG,EAAE,EAClB,OAAO,CAAC,QAAQ,EAChB,OAAO,CAAC,OAAO,EACf,OAAO,CAAC,UAAU,CACnB,CAAC;YACF,KAAK,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,CAAC;QAC7B,CAAC;QAED,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;IACrC,CAAC;IAED;;;;;OAKG;IACH,eAAe,CACb,QAA0B,EAC1B,QAAgB,GAAG,EACnB,iBAAgF;QAEhF,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;YAC9B,MAAM,cAAc,GAAG,iBAAiB,EAAE,CAAC,OAAO,CAAC,CAAC;YACpD,OAAO,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC;QAC5D,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACK,qBAAqB,CAC3B,OAAkB,EAClB,OAAe,EACf,YAAoB,EACpB,QAAgB,EAChB,OAAe,EACf,UAAkB;QAElB,IAAI,OAAO,GAAG,OAAO;YAAE,OAAO,EAAE,CAAC;QAEjC,MAAM,QAAQ,GAAG,CAAC,YAAY,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC;QAEhD,wDAAwD;QACxD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACjC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAEjC,8BAA8B;QAC9B,MAAM,MAAM,GAAG,CAAC,KAAK,CAAC;QACtB,MAAM,MAAM,GAAG,KAAK,CAAC;QAErB,4BAA4B;QAC5B,MAAM,MAAM,GAAG,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;QAClD,IAAI,CAAC,MAAM;YAAE,OAAO,EAAE,CAAC;QAEvB,6DAA6D;QAC7D,MAAM,OAAO,GAAG;YACd,EAAE,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE;YACpC,EAAE,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE;YACpC,EAAE,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE;YACpC,EAAE,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE;SACrC,CAAC;QAEF,IAAI,IAAI,GAAG,QAAQ,CAAC;QACpB,IAAI,IAAI,GAAG,CAAC,QAAQ,CAAC;QACrB,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;YACxB,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;YACpC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YACzB,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QAC3B,CAAC;QAED,wCAAwC;QACxC,MAAM,MAAM,GACV,IAAI,CAAC,IAAI,CACP,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CACpF,GAAG,GAAG,CAAC;QAEV,MAAM,KAAK,GAAgB,EAAE,CAAC;QAE9B,sCAAsC;QACtC,KAAK,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,IAAI,OAAO,EAAE,CAAC;YAC3C,2CAA2C;YAC3C,MAAM,OAAO,GAAG,CAAC,GAAG,KAAK,CAAC;YAC1B,MAAM,OAAO,GAAG,CAAC,GAAG,KAAK,CAAC;YAE1B,8CAA8C;YAC9C,MAAM,SAAS,GAAY;gBACzB,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM;gBAC5B,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM;aAC7B,CAAC;YACF,MAAM,OAAO,GAAY;gBACvB,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM;gBAC5B,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM;aAC7B,CAAC;YAEF,4BAA4B;YAC5B,MAAM,eAAe,GAAG,IAAI,CAAC,iBAAiB,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC,CAAC;YAE5F,KAAK,MAAM,OAAO,IAAI,eAAe,EAAE,CAAC;gBACtC,KAAK,CAAC,IAAI,CAAC;oBACT,IAAI,EAAE,OAAO;oBACb,QAAQ;oBACR,OAAO;oBACP,UAAU;iBACX,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;OAGG;IACK,iBAAiB,CAAC,IAAY,EAAE,OAAkB;QACxD,+BAA+B;QAC/B,IAAI,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAE9D,sBAAsB;QACtB,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YACjC,MAAM,WAAW,GAAa,EAAE,CAAC;YACjC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC/B,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;gBAC1D,WAAW,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC;YAC/B,CAAC;YACD,QAAQ,GAAG,WAAW,CAAC;QACzB,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;OAGG;IACK,cAAc,CAAC,IAAY,EAAE,IAAe,EAAE,MAAe;QACnE,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QACrC,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QAErC,sEAAsE;QACtE,sEAAsE;QACtE,mEAAmE;QACnE,wEAAwE;QACxE,qEAAqE;QACrE,uEAAuE;QACvE,wEAAwE;QACxE,uEAAuE;QACvE,sEAAsE;QACtE,qEAAqE;QACrE,oEAAoE;QACpE,oEAAoE;QACpE,qEAAqE;QACrE,uEAAuE;QACvE,sEAAsE;QACtE,qEAAqE;QACrE,iCAAiC;QACjC,EAAE;QACF,yEAAyE;QACzE,uEAAuE;QACvE,wEAAwE;QACxE,wEAAwE;QACxE,qEAAqE;QACrE,wEAAwE;QACxE,kEAAkE;QAClE,oEAAoE;QACpE,sEAAsE;QACtE,oEAAoE;QACpE,+DAA+D;QAC/D,YAAY;QACZ,MAAM,MAAM,GAAG,CAAC,CAAU,EAAU,EAAE,CACpC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAExD,MAAM,KAAK,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;QAChC,wEAAwE;QACxE,qEAAqE;QACrE,qEAAqE;QACrE,yEAAyE;QACzE,mEAAmE;QACnE,qEAAqE;QACrE,wEAAwE;QACxE,sEAAsE;QACtE,iEAAiE;QACjE,uEAAuE;QACvE,kEAAkE;QAClE,MAAM,EAAE,GAAa,EAAE,CAAC;QACxB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACrC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;YAChC,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3B,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3B,IAAI,EAAE,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC;gBAAE,SAAS;YAChC,qEAAqE;YACrE,sEAAsE;YACtE,gEAAgE;YAChE,sEAAsE;YACtE,sEAAsE;YACtE,uEAAuE;YACvE,6DAA6D;YAC7D,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;YACzB,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACnD,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACnD,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC;QACzE,CAAC;QACD,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAEzB,yEAAyE;QACzE,mEAAmE;QACnE,kEAAkE;QAClE,sDAAsD;QACtD,MAAM,OAAO,GAAG,CAAC,CAAS,EAAW,EAAE;YACrC,IAAI,CAAC,IAAI,CAAC;gBAAE,OAAO,EAAE,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;YACxD,IAAI,CAAC,IAAI,CAAC;gBAAE,OAAO,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YACpD,OAAO,EAAE,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC;QAChE,CAAC,CAAC;QAEF,MAAM,QAAQ,GAAa,EAAE,CAAC;QAC9B,MAAM,IAAI,GAAG,CAAC,IAAY,EAAE,EAAU,EAAQ,EAAE;YAC9C,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YAC7B,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;YAC3B,IAAI,EAAE,GAAG,EAAE;gBAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACvE,CAAC,CAAC;QAEF,yEAAyE;QACzE,0EAA0E;QAC1E,IAAI,eAAe,GAAG,KAAK,CAAC;QAC5B,IAAI,KAAK,GAAG,CAAC,QAAQ,CAAC;QACtB,KAAK,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;YACnB,IAAI,eAAe,KAAK,MAAM;gBAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YAC/C,KAAK,GAAG,CAAC,CAAC;YACV,eAAe,GAAG,CAAC,eAAe,CAAC;QACrC,CAAC;QACD,IAAI,eAAe,KAAK,MAAM;YAAE,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QAEtD,iCAAiC;QACjC,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE;YAC7B,MAAM,GAAG,GACP,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACxE,OAAO,GAAG,GAAG,OAAO,CAAC;QACvB,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACK,oBAAoB,CAAC,OAAkB;QAC7C,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QAE5C,IAAI,IAAI,GAAG,QAAQ,CAAC;QACpB,IAAI,IAAI,GAAG,QAAQ,CAAC;QACpB,IAAI,IAAI,GAAG,CAAC,QAAQ,CAAC;QACrB,IAAI,IAAI,GAAG,CAAC,QAAQ,CAAC;QAErB,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YAC9B,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3B,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3B,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3B,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7B,CAAC;QAED,OAAO;YACL,GAAG,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE;YACzB,GAAG,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE;SAC1B,CAAC;IACJ,CAAC;CACF"}
package/dist/index.d.ts CHANGED
@@ -44,6 +44,7 @@ export { buildColorRaster, fitRasterPixels, DEFAULT_SHADING_DPI, MAX_SHADING_PIX
44
44
  export type { ColorRaster, ColorRasterOptions, RasterFit } from './color-raster.js';
45
45
  export { DXFExporter, exportToDXF } from './dxf-exporter.js';
46
46
  export type { DXFExportOptions, DXFUnderlayOptions } from './dxf-exporter.js';
47
+ export { encodeDxfCp1252, type Cp1252EncodeResult } from './dxf/encoding.js';
47
48
  export { GPUSectionCutter, isGPUComputeAvailable } from './gpu-section-cutter.js';
48
49
  export { Drawing2DGenerator, createSectionConfig, generateFloorPlan, generateSection, } from './drawing-generator.js';
49
50
  export type { GeneratorOptions, GeneratorProgress } from './drawing-generator.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -81,10 +81,10 @@ export { buildColorRaster, fitRasterPixels, DEFAULT_SHADING_DPI, MAX_SHADING_PIX
81
81
  // DXF EXPORT (issue #1861)
82
82
  // ═══════════════════════════════════════════════════════════════════════════
83
83
  // Only the exporter facade is public. The low-level writer internals
84
- // (DxfWriter, sanitizeDxfLayerName, cssToAci, the linetype/justification
85
- // types) stay package-private: no external consumer exists, and an unused
86
- // public export is permanent semver liability (PR #1871 review).
84
+ // (DxfWriter, sanitizeDxfLayerName, cssToAci, linetype/justification types)
85
+ // stay package-private: an unused public export is permanent semver liability.
87
86
  export { DXFExporter, exportToDXF } from './dxf-exporter.js';
87
+ export { encodeDxfCp1252 } from './dxf/encoding.js'; // public: $DWGCODEPAGE ANSI_1252, not UTF-8
88
88
  // ═══════════════════════════════════════════════════════════════════════════
89
89
  // GPU ACCELERATION
90
90
  // ═══════════════════════════════════════════════════════════════════════════
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -27,6 +27,7 @@ export declare class OpeningRelationshipBuilder {
27
27
  build(modelIndex?: number): OpeningRelationships;
28
28
  private determineOpeningType;
29
29
  private extractDoorOperation;
30
+ private extractWindowPartitioning;
30
31
  }
31
32
  /**
32
33
  * Create OpeningRelationships from raw data
@@ -1 +1 @@
1
- {"version":3,"file":"opening-relationship-builder.d.ts","sourceRoot":"","sources":["../../src/openings/opening-relationship-builder.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,EACV,oBAAoB,EAEpB,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EAGf,MAAM,aAAa,CAAC;AAErB;;GAEG;AACH,qBAAa,0BAA0B;IACrC,OAAO,CAAC,QAAQ,CAA+B;IAC/C,OAAO,CAAC,QAAQ,CAA6B;IAC7C,OAAO,CAAC,WAAW,CAAkC;IACrD,OAAO,CAAC,cAAc,CAA8B;gBAExC,cAAc,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC;IAIxD;;;OAGG;IACH,oBAAoB,CAAC,KAAK,EAAE,gBAAgB,EAAE,GAAG,IAAI;IAYrD;;;OAGG;IACH,oBAAoB,CAAC,KAAK,EAAE,gBAAgB,EAAE,GAAG,IAAI;IAOrD;;OAEG;IACH,KAAK,CAAC,UAAU,GAAE,MAAU,GAAG,oBAAoB;IAoDnD,OAAO,CAAC,oBAAoB;IAQ5B,OAAO,CAAC,oBAAoB;CAe7B;AAED;;GAEG;AACH,wBAAgB,iCAAiC,CAC/C,KAAK,EAAE,gBAAgB,EAAE,EACzB,KAAK,EAAE,gBAAgB,EAAE,EACzB,cAAc,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,EAC5C,UAAU,GAAE,MAAU,GACrB,oBAAoB,CAKtB"}
1
+ {"version":3,"file":"opening-relationship-builder.d.ts","sourceRoot":"","sources":["../../src/openings/opening-relationship-builder.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,EACV,oBAAoB,EAEpB,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EAIf,MAAM,aAAa,CAAC;AAErB;;GAEG;AACH,qBAAa,0BAA0B;IACrC,OAAO,CAAC,QAAQ,CAA+B;IAC/C,OAAO,CAAC,QAAQ,CAA6B;IAC7C,OAAO,CAAC,WAAW,CAAkC;IACrD,OAAO,CAAC,cAAc,CAA8B;gBAExC,cAAc,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC;IAIxD;;;OAGG;IACH,oBAAoB,CAAC,KAAK,EAAE,gBAAgB,EAAE,GAAG,IAAI;IAYrD;;;OAGG;IACH,oBAAoB,CAAC,KAAK,EAAE,gBAAgB,EAAE,GAAG,IAAI;IAOrD;;OAEG;IACH,KAAK,CAAC,UAAU,GAAE,MAAU,GAAG,oBAAoB;IAyDnD,OAAO,CAAC,oBAAoB;IAQ5B,OAAO,CAAC,oBAAoB;IAgB5B,OAAO,CAAC,yBAAyB;CAelC;AAED;;GAEG;AACH,wBAAgB,iCAAiC,CAC/C,KAAK,EAAE,gBAAgB,EAAE,EACzB,KAAK,EAAE,gBAAgB,EAAE,EACzB,cAAc,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,EAC5C,UAAU,GAAE,MAAU,GACrB,oBAAoB,CAKtB"}
@@ -72,6 +72,10 @@ export class OpeningRelationshipBuilder {
72
72
  if (type === 'door' && fillingMeta?.properties) {
73
73
  info.doorOperation = this.extractDoorOperation(fillingMeta.properties);
74
74
  }
75
+ // Add window partitioning type if available
76
+ if (type === 'window' && fillingMeta?.properties) {
77
+ info.windowPartitioning = this.extractWindowPartitioning(fillingMeta.properties);
78
+ }
75
79
  this.openingInfo.set(openingId, info);
76
80
  // Also map filling element to same info for easy lookup
77
81
  if (fillingElementId) {
@@ -108,6 +112,19 @@ export class OpeningRelationshipBuilder {
108
112
  }
109
113
  return 'SINGLE_SWING_LEFT'; // Default
110
114
  }
115
+ extractWindowPartitioning(properties) {
116
+ // Look for PartitioningType in properties (IfcWindow's own attribute)
117
+ const partitioningType = properties['PartitioningType'];
118
+ if (partitioningType) {
119
+ return partitioningType;
120
+ }
121
+ // Look in nested property sets
122
+ const psets = properties['Pset_WindowCommon'];
123
+ if (psets?.['PartitioningType']) {
124
+ return psets['PartitioningType'];
125
+ }
126
+ return 'SINGLE_PANEL'; // Default
127
+ }
111
128
  }
112
129
  /**
113
130
  * Create OpeningRelationships from raw data
@@ -1 +1 @@
1
- {"version":3,"file":"opening-relationship-builder.js","sourceRoot":"","sources":["../../src/openings/opening-relationship-builder.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAgB/D;;GAEG;AACH,MAAM,OAAO,0BAA0B;IAC7B,QAAQ,GAAG,IAAI,GAAG,EAAoB,CAAC;IACvC,QAAQ,GAAG,IAAI,GAAG,EAAkB,CAAC;IACrC,WAAW,GAAG,IAAI,GAAG,EAAuB,CAAC;IAC7C,cAAc,CAA8B;IAEpD,YAAY,cAA4C;QACtD,IAAI,CAAC,cAAc,GAAG,cAAc,IAAI,IAAI,GAAG,EAAE,CAAC;IACpD,CAAC;IAED;;;OAGG;IACH,oBAAoB,CAAC,KAAyB;QAC5C,KAAK,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,KAAK,EAAE,CAAC;YAC1C,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAC3C,IAAI,QAAQ,EAAE,CAAC;gBACb,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC3B,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;YACzC,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;OAGG;IACH,oBAAoB,CAAC,KAAyB;QAC5C,KAAK,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,KAAK,EAAE,CAAC;YAC7C,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAC1C,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,aAAqB,CAAC;QAC1B,qCAAqC;QACrC,KAAK,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACjD,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;gBACnC,MAAM,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBACtD,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBACvD,MAAM,WAAW,GAAG,gBAAgB;oBAClC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,gBAAgB,CAAC;oBAC3C,CAAC,CAAC,SAAS,CAAC;gBAEd,8CAA8C;gBAC9C,MAAM,IAAI,GAAG,IAAI,CAAC,oBAAoB,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;gBAE7D,2CAA2C;gBAC3C,MAAM,MAAM,GAAG,WAAW,EAAE,MAAM,IAAI,WAAW,EAAE,MAAM,IAAI;oBAC3D,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;oBACzB,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE;iBAC5B,CAAC;gBAEF,MAAM,IAAI,GAAgB;oBACxB,IAAI;oBACJ,SAAS;oBACT,aAAa,EAAE,MAAM;oBACrB,gBAAgB;oBAChB,WAAW,EAAE,WAAW,EAAE,OAAO;oBACjC,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;oBAClC,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;oBACnC,QAAQ,EAAE,MAAM;oBAChB,UAAU;iBACX,CAAC;gBAEF,uCAAuC;gBACvC,IAAI,IAAI,KAAK,MAAM,IAAI,WAAW,EAAE,UAAU,EAAE,CAAC;oBAC/C,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;gBACzE,CAAC;gBAED,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;gBAEtC,wDAAwD;gBACxD,IAAI,gBAAgB,EAAE,CAAC;oBACrB,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC;gBAC/C,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO;YACL,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,WAAW,EAAE,IAAI,CAAC,WAAW;SAC9B,CAAC;IACJ,CAAC;IAEO,oBAAoB,CAAC,OAAgB;QAC3C,IAAI,CAAC,OAAO;YAAE,OAAO,SAAS,CAAC;QAC/B,MAAM,KAAK,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;QACpC,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAE,OAAO,MAAM,CAAC;QAC1C,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAAE,OAAO,QAAQ,CAAC;QAC9C,OAAO,SAAS,CAAC;IACnB,CAAC;IAEO,oBAAoB,CAAC,UAAmC;QAC9D,uCAAuC;QACvC,MAAM,aAAa,GAAG,UAAU,CAAC,eAAe,CAAuB,CAAC;QACxE,IAAI,aAAa,EAAE,CAAC;YAClB,OAAO,aAAkC,CAAC;QAC5C,CAAC;QAED,+BAA+B;QAC/B,MAAM,KAAK,GAAG,UAAU,CAAC,iBAAiB,CAAwC,CAAC;QACnF,IAAI,KAAK,EAAE,CAAC,eAAe,CAAC,EAAE,CAAC;YAC7B,OAAO,KAAK,CAAC,eAAe,CAAsB,CAAC;QACrD,CAAC;QAED,OAAO,mBAAmB,CAAC,CAAC,UAAU;IACxC,CAAC;CACF;AAED;;GAEG;AACH,MAAM,UAAU,iCAAiC,CAC/C,KAAyB,EACzB,KAAyB,EACzB,cAA4C,EAC5C,aAAqB,CAAC;IAEtB,OAAO,IAAI,0BAA0B,CAAC,cAAc,CAAC;SAClD,oBAAoB,CAAC,KAAK,CAAC;SAC3B,oBAAoB,CAAC,KAAK,CAAC;SAC3B,KAAK,CAAC,UAAU,CAAC,CAAC;AACvB,CAAC"}
1
+ {"version":3,"file":"opening-relationship-builder.js","sourceRoot":"","sources":["../../src/openings/opening-relationship-builder.ts"],"names":[],"mappings":"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"}
@@ -62,19 +62,6 @@ export declare class SVGExporter {
62
62
  * Export just the cut polygons with hatching (for section fills)
63
63
  */
64
64
  exportPolygons(polygons: DrawingPolygon[], bounds: Bounds2D, options?: SVGExportOptions): string;
65
- private computeTransform;
66
- /**
67
- * Label printed in the title block's "Scale:" line.
68
- *
69
- * When the drawing was not clamped, the exact requested `scale.name` is
70
- * returned unchanged (no floating-point round-trip on the common path, so
71
- * "1:100" never regresses to something like "1:100.0000001"). When the
72
- * effective scale was shrunk to honour the padding guarantee, the label is
73
- * re-derived from the *actual* `worldToMm` so a clamped sheet never claims
74
- * the scale it was requested at but did not render at (PR #2131 review).
75
- */
76
- private scaleLabel;
77
- private transformPoint;
78
65
  private createHeader;
79
66
  private createDefs;
80
67
  private createPolygonDefs;
@@ -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;;;;;;;;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"}
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;AAQrB,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;AA6BD,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,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;IA2BxB;;;;;;;;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"}