@ifc-lite/export 3.0.0 → 3.1.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 (137) hide show
  1. package/README.md +34 -0
  2. package/dist/anonymize-export.d.ts +60 -0
  3. package/dist/anonymize-export.d.ts.map +1 -0
  4. package/dist/anonymize-export.js +117 -0
  5. package/dist/anonymize-export.js.map +1 -0
  6. package/dist/anonymize-placement.d.ts +71 -0
  7. package/dist/anonymize-placement.d.ts.map +1 -0
  8. package/dist/anonymize-placement.js +266 -0
  9. package/dist/anonymize-placement.js.map +1 -0
  10. package/dist/anonymize-scrub.d.ts +64 -0
  11. package/dist/anonymize-scrub.d.ts.map +1 -0
  12. package/dist/anonymize-scrub.js +312 -0
  13. package/dist/anonymize-scrub.js.map +1 -0
  14. package/dist/anonymize-types.d.ts +212 -0
  15. package/dist/anonymize-types.d.ts.map +1 -0
  16. package/dist/anonymize-types.js +5 -0
  17. package/dist/anonymize-types.js.map +1 -0
  18. package/dist/declared-property-type.d.ts +19 -8
  19. package/dist/declared-property-type.d.ts.map +1 -1
  20. package/dist/declared-property-type.js +31 -9
  21. package/dist/declared-property-type.js.map +1 -1
  22. package/dist/entity-type-sets.d.ts +47 -0
  23. package/dist/entity-type-sets.d.ts.map +1 -0
  24. package/dist/entity-type-sets.js +91 -0
  25. package/dist/entity-type-sets.js.map +1 -0
  26. package/dist/index.d.ts +3 -0
  27. package/dist/index.d.ts.map +1 -1
  28. package/dist/index.js +5 -0
  29. package/dist/index.js.map +1 -1
  30. package/dist/merged-exporter.d.ts +19 -0
  31. package/dist/merged-exporter.d.ts.map +1 -1
  32. package/dist/merged-exporter.js +1 -1
  33. package/dist/merged-exporter.js.map +1 -1
  34. package/dist/parquet-exporter.d.ts +1 -3
  35. package/dist/parquet-exporter.d.ts.map +1 -1
  36. package/dist/parquet-exporter.js +11 -10
  37. package/dist/parquet-exporter.js.map +1 -1
  38. package/dist/property-value-serialization.d.ts +54 -0
  39. package/dist/property-value-serialization.d.ts.map +1 -0
  40. package/dist/property-value-serialization.js +134 -0
  41. package/dist/property-value-serialization.js.map +1 -0
  42. package/dist/reference-collector.d.ts +47 -0
  43. package/dist/reference-collector.d.ts.map +1 -1
  44. package/dist/reference-collector.js +88 -156
  45. package/dist/reference-collector.js.map +1 -1
  46. package/dist/related-entities.d.ts +10 -0
  47. package/dist/related-entities.d.ts.map +1 -0
  48. package/dist/related-entities.js +259 -0
  49. package/dist/related-entities.js.map +1 -0
  50. package/dist/schema-converter.d.ts.map +1 -1
  51. package/dist/schema-converter.js +46 -96
  52. package/dist/schema-converter.js.map +1 -1
  53. package/dist/source-ref-bounds.d.ts +3 -3
  54. package/dist/source-ref-bounds.js +3 -3
  55. package/dist/step-attribute-mutations.d.ts +0 -42
  56. package/dist/step-attribute-mutations.d.ts.map +1 -1
  57. package/dist/step-attribute-mutations.js +17 -147
  58. package/dist/step-attribute-mutations.js.map +1 -1
  59. package/dist/step-attribute-serializers.d.ts +41 -0
  60. package/dist/step-attribute-serializers.d.ts.map +1 -0
  61. package/dist/step-attribute-serializers.js +74 -0
  62. package/dist/step-attribute-serializers.js.map +1 -0
  63. package/dist/step-collection.d.ts +2 -2
  64. package/dist/step-collection.d.ts.map +1 -1
  65. package/dist/step-collection.js +38 -8
  66. package/dist/step-collection.js.map +1 -1
  67. package/dist/step-export-contexts.d.ts +5 -7
  68. package/dist/step-export-contexts.d.ts.map +1 -1
  69. package/dist/step-export-contexts.js +6 -7
  70. package/dist/step-export-contexts.js.map +1 -1
  71. package/dist/step-export-types.d.ts +27 -0
  72. package/dist/step-export-types.d.ts.map +1 -1
  73. package/dist/step-export-types.js.map +1 -1
  74. package/dist/step-exporter.d.ts +3 -3
  75. package/dist/step-exporter.js +4 -4
  76. package/dist/step-exporter.js.map +1 -1
  77. package/dist/step-geometry-types.d.ts +1 -17
  78. package/dist/step-geometry-types.d.ts.map +1 -1
  79. package/dist/step-geometry-types.js +51 -35
  80. package/dist/step-geometry-types.js.map +1 -1
  81. package/dist/step-georeferencing.d.ts +0 -10
  82. package/dist/step-georeferencing.d.ts.map +1 -1
  83. package/dist/step-georeferencing.js +46 -94
  84. package/dist/step-georeferencing.js.map +1 -1
  85. package/dist/step-header.d.ts +11 -1
  86. package/dist/step-header.d.ts.map +1 -1
  87. package/dist/step-header.js +2 -9
  88. package/dist/step-header.js.map +1 -1
  89. package/dist/step-map-unit.d.ts +90 -0
  90. package/dist/step-map-unit.d.ts.map +1 -0
  91. package/dist/step-map-unit.js +277 -0
  92. package/dist/step-map-unit.js.map +1 -0
  93. package/dist/step-overlay-attribute-overrides.d.ts +32 -0
  94. package/dist/step-overlay-attribute-overrides.d.ts.map +1 -0
  95. package/dist/step-overlay-attribute-overrides.js +83 -0
  96. package/dist/step-overlay-attribute-overrides.js.map +1 -0
  97. package/dist/step-overlay-entities.d.ts +3 -3
  98. package/dist/step-pass-builder.d.ts +4 -3
  99. package/dist/step-pass-builder.d.ts.map +1 -1
  100. package/dist/step-pass-builder.js.map +1 -1
  101. package/dist/step-property-set-collection.d.ts +24 -0
  102. package/dist/step-property-set-collection.d.ts.map +1 -0
  103. package/dist/step-property-set-collection.js +286 -0
  104. package/dist/step-property-set-collection.js.map +1 -0
  105. package/dist/step-property-set-generators.d.ts +20 -0
  106. package/dist/step-property-set-generators.d.ts.map +1 -0
  107. package/dist/step-property-set-generators.js +98 -0
  108. package/dist/step-property-set-generators.js.map +1 -0
  109. package/dist/step-property-set-index.d.ts +25 -0
  110. package/dist/step-property-set-index.d.ts.map +1 -0
  111. package/dist/step-property-set-index.js +69 -0
  112. package/dist/step-property-set-index.js.map +1 -0
  113. package/dist/step-property-set-readers.d.ts +158 -0
  114. package/dist/step-property-set-readers.d.ts.map +1 -0
  115. package/dist/step-property-set-readers.js +251 -0
  116. package/dist/step-property-set-readers.js.map +1 -0
  117. package/dist/step-property-sets.d.ts +2 -186
  118. package/dist/step-property-sets.d.ts.map +1 -1
  119. package/dist/step-property-sets.js +22 -674
  120. package/dist/step-property-sets.js.map +1 -1
  121. package/dist/step-serialization.d.ts +17 -51
  122. package/dist/step-serialization.d.ts.map +1 -1
  123. package/dist/step-serialization.js +19 -128
  124. package/dist/step-serialization.js.map +1 -1
  125. package/dist/step-source-iteration.d.ts +7 -5
  126. package/dist/step-source-iteration.d.ts.map +1 -1
  127. package/dist/step-source-iteration.js +3 -3
  128. package/dist/step-source-iteration.js.map +1 -1
  129. package/dist/subset-entity-reader.d.ts +103 -0
  130. package/dist/subset-entity-reader.d.ts.map +1 -0
  131. package/dist/subset-entity-reader.js +102 -0
  132. package/dist/subset-entity-reader.js.map +1 -0
  133. package/dist/subset-roots.d.ts +58 -0
  134. package/dist/subset-roots.d.ts.map +1 -0
  135. package/dist/subset-roots.js +103 -0
  136. package/dist/subset-roots.js.map +1 -0
  137. package/package.json +7 -7
@@ -25,7 +25,7 @@ export declare class StepExporter {
25
25
  /**
26
26
  * The owner-history memos the property-set and quantity-set generators read.
27
27
  *
28
- * Owned here and handed to `step-property-sets.ts` BY REFERENCE rather than
28
+ * Owned here and handed to `step-property-set-readers.ts` BY REFERENCE rather than
29
29
  * stored on its context: the reset below is an `export()`-level statement,
30
30
  * and the comment there is where "per export, not per exporter" is argued.
31
31
  * Moving the storage into a per-export context would make that reset
@@ -62,14 +62,14 @@ export declare class StepExporter {
62
62
  *
63
63
  * `allocateExpressId` hands out ids from THIS exporter's `nextExpressId`,
64
64
  * which the property-set and quantity-set generators in
65
- * `step-property-sets.ts` increment at six further sites through the same
65
+ * `step-property-set-generators.ts` increment at six further sites through the same
66
66
  * callback — hoisting the counter onto the pass would change what it
67
67
  * computes, not merely where it is named, so both phases get a callback
68
68
  * instead (#2475 step 2a).
69
69
  */
70
70
  private georefContext;
71
71
  /**
72
- * The state `step-property-sets.ts` cannot read off the pass (#2475 2b/2c).
72
+ * The state the property-set phase cannot read off the pass (#2475 2b/2c).
73
73
  *
74
74
  * `allocateExpressId` is the same callback `georefContext` hands out, over
75
75
  * the same counter, so the ids the two phases allocate stay in one sequence.
@@ -7,7 +7,7 @@ import { getCompleteEntityIndex, getMaxExpressId } from './entity-iteration.js';
7
7
  import { createSourceRefReader } from './source-ref-bounds.js';
8
8
  import { writeSourceEntityLines } from './step-source-iteration.js';
9
9
  import { writeOverlayCreatedEntities } from './step-overlay-entities.js';
10
- import { generatePropertyAndQuantitySetEntities, } from './step-property-sets.js';
10
+ import { generatePropertyAndQuantitySetEntities } from './step-property-sets.js';
11
11
  import { collectModifications } from './step-collection.js';
12
12
  import { assembleExportResult } from './step-header.js';
13
13
  import { applySourceLineMutations } from './step-attribute-mutations.js';
@@ -26,7 +26,7 @@ export class StepExporter {
26
26
  /**
27
27
  * The owner-history memos the property-set and quantity-set generators read.
28
28
  *
29
- * Owned here and handed to `step-property-sets.ts` BY REFERENCE rather than
29
+ * Owned here and handed to `step-property-set-readers.ts` BY REFERENCE rather than
30
30
  * stored on its context: the reset below is an `export()`-level statement,
31
31
  * and the comment there is where "per export, not per exporter" is argued.
32
32
  * Moving the storage into a per-export context would make that reset
@@ -205,7 +205,7 @@ export class StepExporter {
205
205
  *
206
206
  * `allocateExpressId` hands out ids from THIS exporter's `nextExpressId`,
207
207
  * which the property-set and quantity-set generators in
208
- * `step-property-sets.ts` increment at six further sites through the same
208
+ * `step-property-set-generators.ts` increment at six further sites through the same
209
209
  * callback — hoisting the counter onto the pass would change what it
210
210
  * computes, not merely where it is named, so both phases get a callback
211
211
  * instead (#2475 step 2a).
@@ -219,7 +219,7 @@ export class StepExporter {
219
219
  };
220
220
  }
221
221
  /**
222
- * The state `step-property-sets.ts` cannot read off the pass (#2475 2b/2c).
222
+ * The state the property-set phase cannot read off the pass (#2475 2b/2c).
223
223
  *
224
224
  * `allocateExpressId` is the same callback `georefContext` hands out, over
225
225
  * the same counter, so the ids the two phases allocate stay in one sequence.
@@ -1 +1 @@
1
- {"version":3,"file":"step-exporter.js","sourceRoot":"","sources":["../src/step-exporter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"step-exporter.js","sourceRoot":"","sources":["../src/step-exporter.ts"],"names":[],"mappings":"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"}
@@ -1,19 +1,3 @@
1
- /**
2
- * The entity types a STEP export treats as geometry.
3
- *
4
- * Split out of `StepExporter` for #2475. It was a private method only by
5
- * habit: it reads nothing off the instance, so every consumer already
6
- * received it as an injected callback rather than calling it through an
7
- * exporter. Moving it changes no call site -- the three inside
8
- * `step-exporter.ts` stop wrapping it in an arrow, and that is all.
9
- *
10
- * The set is the definition, not a cache of one. `includegeometry-header-count.test.ts`
11
- * and `retype-geometry-boundary.test.ts` pin what belongs in it, and
12
- * `reference-collector.ts` documents the one place a type in this set is
13
- * still reachable when geometry is excluded.
14
- */
15
- /**
16
- * Check if an entity type is a geometry-related type
17
- */
1
+ /** Check if an entity type is a geometry-related type. */
18
2
  export declare function isGeometryEntity(type: string): boolean;
19
3
  //# sourceMappingURL=step-geometry-types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"step-geometry-types.d.ts","sourceRoot":"","sources":["../src/step-geometry-types.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;GAaG;AAEH;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAmCtD"}
1
+ {"version":3,"file":"step-geometry-types.d.ts","sourceRoot":"","sources":["../src/step-geometry-types.ts"],"names":[],"mappings":"AAuEA,0DAA0D;AAC1D,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEtD"}
@@ -16,42 +16,58 @@
16
16
  * still reachable when geometry is excluded.
17
17
  */
18
18
  /**
19
- * Check if an entity type is a geometry-related type
19
+ * The set itself, at module scope rather than rebuilt per call.
20
+ *
21
+ * `isGeometryEntity` runs once per entity, through `isGeometryExcluded`, the
22
+ * source-iteration skip and `step-overlay-entities.ts` — so constructing this
23
+ * inside the function allocated a 31-string `Set` per entity on any export
24
+ * that excludes geometry. It was written that way as a private method and
25
+ * moved here verbatim; being a free function is what makes hoisting it
26
+ * trivial and obviously safe.
27
+ *
28
+ * Named PRIMITIVE deliberately. `@ifc-lite/parser` exports a `GEOMETRY_TYPES`
29
+ * of its own holding BUILDING ELEMENTS — `IFCWALL`, `IFCDOOR`, `IFCCOVERING`
30
+ * — which is close to the opposite of this set's contents: representation
31
+ * primitives like `IFCCARTESIANPOINT` and `IFCEXTRUDEDAREASOLID`. The two
32
+ * never collide as imports, since this one is module-private, but they
33
+ * collide for anyone grepping the symbol, and "the geometry types" is exactly
34
+ * the phrase that would make a reader reach for the wrong one.
20
35
  */
36
+ const GEOMETRY_PRIMITIVE_TYPES = new Set([
37
+ 'IFCCARTESIANPOINT',
38
+ 'IFCDIRECTION',
39
+ 'IFCAXIS2PLACEMENT2D',
40
+ 'IFCAXIS2PLACEMENT3D',
41
+ 'IFCLOCALPLACEMENT',
42
+ 'IFCSHAPEREPRESENTATION',
43
+ 'IFCPRODUCTDEFINITIONSHAPE',
44
+ 'IFCGEOMETRICREPRESENTATIONCONTEXT',
45
+ 'IFCGEOMETRICREPRESENTATIONSUBCONTEXT',
46
+ 'IFCEXTRUDEDAREASOLID',
47
+ 'IFCFACETEDBREP',
48
+ 'IFCPOLYLOOP',
49
+ 'IFCFACE',
50
+ 'IFCFACEOUTERBOUND',
51
+ 'IFCCLOSEDSHELL',
52
+ 'IFCRECTANGLEPROFILEDEF',
53
+ 'IFCCIRCLEPROFILEDEF',
54
+ 'IFCARBITRARYCLOSEDPROFILEDEF',
55
+ 'IFCPOLYLINE',
56
+ 'IFCTRIMMEDCURVE',
57
+ 'IFCBSPLINECURVE',
58
+ 'IFCBSPLINESURFACE',
59
+ 'IFCTRIANGULATEDFACESET',
60
+ 'IFCPOLYGONALFACE',
61
+ 'IFCINDEXEDPOLYGONALFACE',
62
+ 'IFCPOLYGONALFACESET',
63
+ 'IFCSTYLEDITEM',
64
+ 'IFCPRESENTATIONSTYLEASSIGNMENT',
65
+ 'IFCSURFACESTYLE',
66
+ 'IFCSURFACESTYLERENDERING',
67
+ 'IFCCOLOURRGB',
68
+ ]);
69
+ /** Check if an entity type is a geometry-related type. */
21
70
  export function isGeometryEntity(type) {
22
- const geometryTypes = new Set([
23
- 'IFCCARTESIANPOINT',
24
- 'IFCDIRECTION',
25
- 'IFCAXIS2PLACEMENT2D',
26
- 'IFCAXIS2PLACEMENT3D',
27
- 'IFCLOCALPLACEMENT',
28
- 'IFCSHAPEREPRESENTATION',
29
- 'IFCPRODUCTDEFINITIONSHAPE',
30
- 'IFCGEOMETRICREPRESENTATIONCONTEXT',
31
- 'IFCGEOMETRICREPRESENTATIONSUBCONTEXT',
32
- 'IFCEXTRUDEDAREASOLID',
33
- 'IFCFACETEDBREP',
34
- 'IFCPOLYLOOP',
35
- 'IFCFACE',
36
- 'IFCFACEOUTERBOUND',
37
- 'IFCCLOSEDSHELL',
38
- 'IFCRECTANGLEPROFILEDEF',
39
- 'IFCCIRCLEPROFILEDEF',
40
- 'IFCARBITRARYCLOSEDPROFILEDEF',
41
- 'IFCPOLYLINE',
42
- 'IFCTRIMMEDCURVE',
43
- 'IFCBSPLINECURVE',
44
- 'IFCBSPLINESURFACE',
45
- 'IFCTRIANGULATEDFACESET',
46
- 'IFCPOLYGONALFACE',
47
- 'IFCINDEXEDPOLYGONALFACE',
48
- 'IFCPOLYGONALFACESET',
49
- 'IFCSTYLEDITEM',
50
- 'IFCPRESENTATIONSTYLEASSIGNMENT',
51
- 'IFCSURFACESTYLE',
52
- 'IFCSURFACESTYLERENDERING',
53
- 'IFCCOLOURRGB',
54
- ]);
55
- return geometryTypes.has(type);
71
+ return GEOMETRY_PRIMITIVE_TYPES.has(type);
56
72
  }
57
73
  //# sourceMappingURL=step-geometry-types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"step-geometry-types.js","sourceRoot":"","sources":["../src/step-geometry-types.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAE/D;;;;;;;;;;;;;GAaG;AAEH;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAAY;IAC3C,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC;QAC5B,mBAAmB;QACnB,cAAc;QACd,qBAAqB;QACrB,qBAAqB;QACrB,mBAAmB;QACnB,wBAAwB;QACxB,2BAA2B;QAC3B,mCAAmC;QACnC,sCAAsC;QACtC,sBAAsB;QACtB,gBAAgB;QAChB,aAAa;QACb,SAAS;QACT,mBAAmB;QACnB,gBAAgB;QAChB,wBAAwB;QACxB,qBAAqB;QACrB,8BAA8B;QAC9B,aAAa;QACb,iBAAiB;QACjB,iBAAiB;QACjB,mBAAmB;QACnB,wBAAwB;QACxB,kBAAkB;QAClB,yBAAyB;QACzB,qBAAqB;QACrB,eAAe;QACf,gCAAgC;QAChC,iBAAiB;QACjB,0BAA0B;QAC1B,cAAc;KACf,CAAC,CAAC;IACH,OAAO,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACjC,CAAC"}
1
+ {"version":3,"file":"step-geometry-types.js","sourceRoot":"","sources":["../src/step-geometry-types.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAE/D;;;;;;;;;;;;;GAaG;AAEH;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,wBAAwB,GAAwB,IAAI,GAAG,CAAC;IAC5D,mBAAmB;IACnB,cAAc;IACd,qBAAqB;IACrB,qBAAqB;IACrB,mBAAmB;IACnB,wBAAwB;IACxB,2BAA2B;IAC3B,mCAAmC;IACnC,sCAAsC;IACtC,sBAAsB;IACtB,gBAAgB;IAChB,aAAa;IACb,SAAS;IACT,mBAAmB;IACnB,gBAAgB;IAChB,wBAAwB;IACxB,qBAAqB;IACrB,8BAA8B;IAC9B,aAAa;IACb,iBAAiB;IACjB,iBAAiB;IACjB,mBAAmB;IACnB,wBAAwB;IACxB,kBAAkB;IAClB,yBAAyB;IACzB,qBAAqB;IACrB,eAAe;IACf,gCAAgC;IAChC,iBAAiB;IACjB,0BAA0B;IAC1B,cAAc;CACf,CAAC,CAAC;AAEH,0DAA0D;AAC1D,MAAM,UAAU,gBAAgB,CAAC,IAAY;IAC3C,OAAO,wBAAwB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAC5C,CAAC"}
@@ -18,7 +18,6 @@
18
18
  * assembly loop some 330 lines later is where those lines become bytes.
19
19
  */
20
20
  import type { IfcDataStore, EntityExtractor } from '@ifc-lite/parser';
21
- import type { EffectiveEntityIndex } from './effective-index.js';
22
21
  import type { ExportPass, StepExportOptions } from './step-exporter.js';
23
22
  /**
24
23
  * The exporter state this phase cannot read off the pass.
@@ -46,13 +45,4 @@ export interface GeorefContext extends GeorefLookupContext {
46
45
  * gate; reaching here means georeferencing edits were both requested and enabled.
47
46
  */
48
47
  export declare function applyGeoreferencingMutations(pass: ExportPass, georefMutations: NonNullable<StepExportOptions['georefMutations']>, ctx: GeorefContext): void;
49
- export declare function resolveMapUnitReference(unitName: string, newGeorefLines: string[], effective: EffectiveEntityIndex, ctx: GeorefContext): number;
50
- export declare function normalizeMapUnitName(unitName: string): string;
51
- /**
52
- * `effective` filters the candidates the same way the georef reads above do:
53
- * returning a tombstoned unit id hands the caller a `#id` for a line the
54
- * export never writes. Returning null instead makes `resolveMapUnitReference`
55
- * synthesise a fresh unit, which is the outcome a deleted unit deserves.
56
- */
57
- export declare function findLengthUnitReference(preferredUnitName: string, effective: EffectiveEntityIndex, ctx: GeorefLookupContext): number | null;
58
48
  //# sourceMappingURL=step-georeferencing.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"step-georeferencing.d.ts","sourceRoot":"","sources":["../src/step-georeferencing.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACtE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAEjE,OAAO,KAAK,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAoBxE;;;;;;GAMG;AACH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,SAAS,EAAE,YAAY,CAAC;IACjC,QAAQ,CAAC,eAAe,EAAE,eAAe,GAAG,IAAI,CAAC;CAClD;AAED,MAAM,WAAW,aAAc,SAAQ,mBAAmB;IACxD,oDAAoD;IACpD,QAAQ,CAAC,iBAAiB,EAAE,MAAM,MAAM,CAAC;IACzC;;yDAEqD;IACrD,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;CAC7B;AAED;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAC1C,IAAI,EAAE,UAAU,EAChB,eAAe,EAAE,WAAW,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAAC,EAClE,GAAG,EAAE,aAAa,GACjB,IAAI,CA2IN;AAED,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,oBAAoB,EAAE,GAAG,EAAE,aAAa,GAAG,MAAM,CA8B/I;AAED,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAM7D;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,iBAAiB,EAAE,MAAM,EAAE,SAAS,EAAE,oBAAoB,EAAE,GAAG,EAAE,mBAAmB,GAAG,MAAM,GAAG,IAAI,CA6C3I"}
1
+ {"version":3,"file":"step-georeferencing.d.ts","sourceRoot":"","sources":["../src/step-georeferencing.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAGtE,OAAO,KAAK,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAkCxE;;;;;;GAMG;AACH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,SAAS,EAAE,YAAY,CAAC;IACjC,QAAQ,CAAC,eAAe,EAAE,eAAe,GAAG,IAAI,CAAC;CAClD;AAED,MAAM,WAAW,aAAc,SAAQ,mBAAmB;IACxD,oDAAoD;IACpD,QAAQ,CAAC,iBAAiB,EAAE,MAAM,MAAM,CAAC;IACzC;;yDAEqD;IACrD,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;CAC7B;AAED;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAC1C,IAAI,EAAE,UAAU,EAChB,eAAe,EAAE,WAAW,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAAC,EAClE,GAAG,EAAE,aAAa,GACjB,IAAI,CAsKN"}
@@ -2,6 +2,7 @@
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
4
  import { escapeStepString, toStepReal } from './step-serialization.js';
5
+ import { reportMapUnitUnsupported, resolveMapUnitReference } from './step-map-unit.js';
5
6
  /**
6
7
  * Message for the one refusal `export()` can report, shared by the returned
7
8
  * `stats.warnings` entry and the console line so the two cannot drift.
@@ -16,6 +17,18 @@ const MAP_CONVERSION_WITHOUT_CONTEXT_WARNING = 'Cannot create IfcMapConversion:
16
17
  * available to reference.
17
18
  */
18
19
  const MAP_CONVERSION_WITHOUT_CRS_WARNING = 'Cannot create IfcMapConversion: no IfcProjectedCRS was requested and none exists in the file to reference as TargetCRS. Nothing was written.';
20
+ /**
21
+ * Every concrete class carrying an IfcMapConversion's attributes, in the
22
+ * UPPERCASE spelling `EffectiveEntityIndex.byType` is keyed by. Kept beside
23
+ * `@ifc-lite/parser`'s `MAP_CONVERSION_TYPE_NAMES`, which is the same list in
24
+ * the mixed-case spelling the read path uses — the reader and the writer must
25
+ * agree on what counts as a map conversion, or the exporter duplicates a
26
+ * record the reader can see.
27
+ */
28
+ const MAP_CONVERSION_STEP_TYPES = [
29
+ 'IFCMAPCONVERSION',
30
+ 'IFCMAPCONVERSIONSCALED',
31
+ ];
19
32
  /**
20
33
  * Apply `options.georefMutations` to `pass`, in place.
21
34
  *
@@ -33,7 +46,17 @@ export function applyGeoreferencingMutations(pass, georefMutations, ctx) {
33
46
  // pass applies `modifiedAttributes` to, so both branches agree on which
34
47
  // georeferencing entities exist (#2048).
35
48
  const existingCrsIds = pass.effective.byType.get('IFCPROJECTEDCRS');
36
- const existingMcIds = pass.effective.byType.get('IFCMAPCONVERSION');
49
+ // `byType` is keyed by the RAW STEP type name, so the supertype key alone
50
+ // does not see IFC4X3's concrete IfcMapConversionScaled. Missing it left a
51
+ // file that HAS a map conversion looking like one that has none: the modify
52
+ // branch below found nothing, and a create branch ran instead — emitting a
53
+ // SECOND coordinate operation against the same source CRS while the file's
54
+ // own scaled one stayed put, which is not a file any consumer can read
55
+ // unambiguously. The six attributes edited below are IfcMapConversion's own
56
+ // and are edited BY NAME, which the scaled subtype inherits unchanged, so
57
+ // modifying it in place is well-defined (its extra FactorX/Y/Z sit after
58
+ // them and are left alone).
59
+ const existingMcIds = MAP_CONVERSION_STEP_TYPES.flatMap((typeName) => pass.effective.byType.get(typeName) ?? []);
37
60
  // Modify existing IfcProjectedCRS
38
61
  if (gm.projectedCRS && existingCrsIds?.length) {
39
62
  const entityId = existingCrsIds[0];
@@ -69,7 +92,17 @@ export function applyGeoreferencingMutations(pass, georefMutations, ctx) {
69
92
  }
70
93
  if (crs.mapUnit !== undefined) {
71
94
  const mapUnitRef = resolveMapUnitReference(String(crs.mapUnit), pass.newGeorefLines, pass.effective, ctx);
72
- attrMap.set('MapUnit', `#${mapUnitRef}`);
95
+ // A refused unit clears MapUnit rather than leaving the file's own in
96
+ // place: the caller asked for a DIFFERENT unit, so the one already
97
+ // there is known to be wrong, and `$` is the only honest answer this
98
+ // exporter can write (#3274).
99
+ if (mapUnitRef === null) {
100
+ reportMapUnitUnsupported(pass.warnings, String(crs.mapUnit));
101
+ attrMap.set('MapUnit', '$');
102
+ }
103
+ else {
104
+ attrMap.set('MapUnit', `#${mapUnitRef}`);
105
+ }
73
106
  changed = true;
74
107
  }
75
108
  if (changed) {
@@ -147,9 +180,17 @@ export function applyGeoreferencingMutations(pass, georefMutations, ctx) {
147
180
  const vDatum = crs.verticalDatum ? `'${escapeStepString(String(crs.verticalDatum))}'` : '$';
148
181
  const proj = crs.mapProjection ? `'${escapeStepString(String(crs.mapProjection))}'` : '$';
149
182
  const zone = crs.mapZone ? `'${escapeStepString(String(crs.mapZone))}'` : '$';
150
- const mapUnitRef = crs.mapUnit
151
- ? `#${resolveMapUnitReference(String(crs.mapUnit), pass.newGeorefLines, pass.effective, ctx)}`
152
- : '$';
183
+ let mapUnitRef = '$';
184
+ // `!== undefined`, matching the existing-CRS path above: an empty MapUnit is
185
+ // a unit this exporter cannot express, not an absent request, and the caller
186
+ // has to be told so rather than quietly getting `$`.
187
+ if (crs.mapUnit !== undefined) {
188
+ const resolved = resolveMapUnitReference(String(crs.mapUnit), pass.newGeorefLines, pass.effective, ctx);
189
+ if (resolved === null)
190
+ reportMapUnitUnsupported(pass.warnings, String(crs.mapUnit));
191
+ else
192
+ mapUnitRef = `#${resolved}`;
193
+ }
153
194
  pass.newGeorefLines.push(`#${crsId}=IFCPROJECTEDCRS(${name},${desc},${datum},${vDatum},${proj},${zone},${mapUnitRef});`);
154
195
  pass.newEntityCount++;
155
196
  // Find IfcGeometricRepresentationContext as SourceCRS for MapConversion
@@ -199,95 +240,6 @@ export function applyGeoreferencingMutations(pass, georefMutations, ctx) {
199
240
  reportMapConversionRefusedNoCrs(pass.warnings);
200
241
  }
201
242
  }
202
- export function resolveMapUnitReference(unitName, newGeorefLines, effective, ctx) {
203
- const normalized = normalizeMapUnitName(unitName);
204
- const existing = findLengthUnitReference(normalized, effective, ctx);
205
- if (existing !== null) {
206
- return existing;
207
- }
208
- if (normalized === 'METRE') {
209
- const unitId = ctx.allocateExpressId();
210
- newGeorefLines.push(`#${unitId}=IFCSIUNIT(*,.LENGTHUNIT.,$,.METRE.);`);
211
- return unitId;
212
- }
213
- if (normalized === 'FOOT' || normalized === 'US SURVEY FOOT') {
214
- const dimId = ctx.allocateExpressId();
215
- const siUnitId = ctx.allocateExpressId();
216
- const measureId = ctx.allocateExpressId();
217
- const convUnitId = ctx.allocateExpressId();
218
- const factor = normalized === 'US SURVEY FOOT' ? 1200 / 3937 : 0.3048;
219
- const name = normalized === 'US SURVEY FOOT' ? 'US SURVEY FOOT' : 'FOOT';
220
- newGeorefLines.push(`#${dimId}=IFCDIMENSIONALEXPONENTS(1,0,0,0,0,0,0);`);
221
- newGeorefLines.push(`#${siUnitId}=IFCSIUNIT(*,.LENGTHUNIT.,$,.METRE.);`);
222
- newGeorefLines.push(`#${measureId}=IFCMEASUREWITHUNIT(IFCLENGTHMEASURE(${toStepReal(factor)}),#${siUnitId});`);
223
- newGeorefLines.push(`#${convUnitId}=IFCCONVERSIONBASEDUNIT(#${dimId},.LENGTHUNIT.,'${name}',#${measureId});`);
224
- return convUnitId;
225
- }
226
- const fallbackId = ctx.allocateExpressId();
227
- newGeorefLines.push(`#${fallbackId}=IFCSIUNIT(*,.LENGTHUNIT.,$,.METRE.);`);
228
- return fallbackId;
229
- }
230
- export function normalizeMapUnitName(unitName) {
231
- const normalized = unitName.trim().toUpperCase().replace(/\s+/g, ' ');
232
- if (normalized.includes('US SURVEY FOOT'))
233
- return 'US SURVEY FOOT';
234
- if (normalized.includes('METER') || normalized.includes('METRE'))
235
- return 'METRE';
236
- if (normalized.includes('FOOT') || normalized.includes('FEET'))
237
- return 'FOOT';
238
- return normalized;
239
- }
240
- /**
241
- * `effective` filters the candidates the same way the georef reads above do:
242
- * returning a tombstoned unit id hands the caller a `#id` for a line the
243
- * export never writes. Returning null instead makes `resolveMapUnitReference`
244
- * synthesise a fresh unit, which is the outcome a deleted unit deserves.
245
- */
246
- export function findLengthUnitReference(preferredUnitName, effective, ctx) {
247
- if (!ctx.entityExtractor)
248
- return null;
249
- // Only source records carry the bytes `extractEntity` reads, so an
250
- // overlay-created project is skipped rather than shadowing the file's own.
251
- const projectId = (effective.byType.get('IFCPROJECT') ?? []).find((id) => ctx.dataStore.entityIndex.byId.has(id));
252
- const projectRef = projectId !== undefined ? ctx.dataStore.entityIndex.byId.get(projectId) : undefined;
253
- const project = projectRef ? ctx.entityExtractor.extractEntity(projectRef) : null;
254
- const unitAssignmentId = project?.attributes?.[8];
255
- if (typeof unitAssignmentId !== 'number' || effective.isDeleted(unitAssignmentId))
256
- return null;
257
- const unitAssignmentRef = ctx.dataStore.entityIndex.byId.get(unitAssignmentId);
258
- const unitAssignment = unitAssignmentRef ? ctx.entityExtractor.extractEntity(unitAssignmentRef) : null;
259
- const units = unitAssignment?.attributes?.[0];
260
- if (!Array.isArray(units))
261
- return null;
262
- for (const unitId of units) {
263
- if (typeof unitId !== 'number' || effective.isDeleted(unitId))
264
- continue;
265
- const unitRef = ctx.dataStore.entityIndex.byId.get(unitId);
266
- const unit = unitRef ? ctx.entityExtractor.extractEntity(unitRef) : null;
267
- if (!unit)
268
- continue;
269
- const typeName = unit.type.toUpperCase();
270
- const attrs = unit.attributes ?? [];
271
- const unitType = typeof attrs[1] === 'string' ? attrs[1].replace(/\./g, '').toUpperCase() : '';
272
- if (unitType !== 'LENGTHUNIT')
273
- continue;
274
- if (typeName === 'IFCSIUNIT') {
275
- const prefix = typeof attrs[2] === 'string' ? attrs[2].replace(/\./g, '').toUpperCase() : '';
276
- const name = typeof attrs[3] === 'string' ? attrs[3].replace(/\./g, '').toUpperCase() : '';
277
- const combined = prefix ? `${prefix}${name}` : name;
278
- if (preferredUnitName === 'METRE' && (combined === 'METRE' || combined === 'METER')) {
279
- return unitId;
280
- }
281
- }
282
- if (typeName === 'IFCCONVERSIONBASEDUNIT') {
283
- const name = typeof attrs[2] === 'string' ? normalizeMapUnitName(attrs[2]) : '';
284
- if (name === preferredUnitName) {
285
- return unitId;
286
- }
287
- }
288
- }
289
- return null;
290
- }
291
243
  /**
292
244
  * Record that a requested IfcMapConversion could not be written. Emitting it
293
245
  * anyway would leave `SourceCRS` pointing at nothing, so the refusal is the
@@ -1 +1 @@
1
- {"version":3,"file":"step-georeferencing.js","sourceRoot":"","sources":["../src/step-georeferencing.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"step-georeferencing.js","sourceRoot":"","sources":["../src/step-georeferencing.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAwB/D,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAEvE,OAAO,EAAE,wBAAwB,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAEvF;;;GAGG;AACH,MAAM,sCAAsC,GAC1C,iJAAiJ,CAAC;AAEpJ;;;;;;;GAOG;AACH,MAAM,kCAAkC,GACtC,8IAA8I,CAAC;AAEjJ;;;;;;;GAOG;AACH,MAAM,yBAAyB,GAAsB;IACnD,kBAAkB;IAClB,wBAAwB;CACzB,CAAC;AAuBF;;;;;GAKG;AACH,MAAM,UAAU,4BAA4B,CAC1C,IAAgB,EAChB,eAAkE,EAClE,GAAkB;IAElB,MAAM,EAAE,GAAG,eAAe,CAAC;IAC3B,sEAAsE;IACtE,wEAAwE;IACxE,6DAA6D;IAC7D,oEAAoE;IACpE,iEAAiE;IACjE,sEAAsE;IACtE,wEAAwE;IACxE,yCAAyC;IACzC,MAAM,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;IACpE,0EAA0E;IAC1E,2EAA2E;IAC3E,4EAA4E;IAC5E,2EAA2E;IAC3E,2EAA2E;IAC3E,uEAAuE;IACvE,4EAA4E;IAC5E,0EAA0E;IAC1E,yEAAyE;IACzE,4BAA4B;IAC5B,MAAM,aAAa,GAAG,yBAAyB,CAAC,OAAO,CACrD,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CACxD,CAAC;IAEF,kCAAkC;IAClC,IAAI,EAAE,CAAC,YAAY,IAAI,cAAc,EAAE,MAAM,EAAE,CAAC;QAC9C,MAAM,QAAQ,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;QACnC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC3C,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;QACnD,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAC;QACvD,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC;QAC5B,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAAC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;YAAC,OAAO,GAAG,IAAI,CAAC;QAAC,CAAC;QACtF,IAAI,GAAG,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;YAAC,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC;YAAC,OAAO,GAAG,IAAI,CAAC;QAAC,CAAC;QAC3G,IAAI,GAAG,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;YAAC,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC;YAAC,OAAO,GAAG,IAAI,CAAC;QAAC,CAAC;QACjH,IAAI,GAAG,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;YAAC,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC;YAAC,OAAO,GAAG,IAAI,CAAC;QAAC,CAAC;QACjH,IAAI,GAAG,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;YAAC,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC;YAAC,OAAO,GAAG,IAAI,CAAC;QAAC,CAAC;QACjH,IAAI,GAAG,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YAAC,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;YAAC,OAAO,GAAG,IAAI,CAAC;QAAC,CAAC;QAC/F,IAAI,GAAG,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YAC9B,MAAM,UAAU,GAAG,uBAAuB,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;YAC1G,sEAAsE;YACtE,mEAAmE;YACnE,qEAAqE;YACrE,8BAA8B;YAC9B,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;gBACxB,wBAAwB,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;gBAC7D,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;YAC9B,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,UAAU,EAAE,CAAC,CAAC;YAC3C,CAAC;YACD,OAAO,GAAG,IAAI,CAAC;QACjB,CAAC;QACD,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACpC,kEAAkE;YAClE,mEAAmE;YACnE,qEAAqE;YACrE,qEAAqE;YACrE,kEAAkE;YAClE,mEAAmE;YACnE,EAAE;YACF,qEAAqE;YACrE,qEAAqE;YACrE,+DAA+D;YAC/D,oEAAoE;YACpE,yCAAyC;YACzC,IAAI,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACzC,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBAClD,IAAI,GAAG,CAAC,SAAS;oBAAE,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;YAC7E,CAAC;QACH,CAAC;IACH,CAAC;IAED,mCAAmC;IACnC,IAAI,EAAE,CAAC,aAAa,IAAI,aAAa,EAAE,MAAM,EAAE,CAAC;QAC9C,MAAM,QAAQ,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;QAClC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC3C,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;QACnD,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAC;QACvD,MAAM,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC;QAC5B,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,IAAI,EAAE,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YAAC,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;YAAC,OAAO,GAAG,IAAI,CAAC;QAAC,CAAC;QAChG,IAAI,EAAE,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YAAC,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;YAAC,OAAO,GAAG,IAAI,CAAC;QAAC,CAAC;QACnG,IAAI,EAAE,CAAC,gBAAgB,KAAK,SAAS,EAAE,CAAC;YAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,MAAM,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC;YAAC,OAAO,GAAG,IAAI,CAAC;QAAC,CAAC;QACxH,IAAI,EAAE,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;YAAC,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,MAAM,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC;YAAC,OAAO,GAAG,IAAI,CAAC;QAAC,CAAC;QAC/G,IAAI,EAAE,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;YAAC,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,MAAM,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC;YAAC,OAAO,GAAG,IAAI,CAAC;QAAC,CAAC;QAC/G,IAAI,EAAE,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAAC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;YAAC,OAAO,GAAG,IAAI,CAAC;QAAC,CAAC;QACvF,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACpC,kEAAkE;YAClE,IAAI,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACzC,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBAClD,IAAI,GAAG,CAAC,SAAS;oBAAE,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;YAC7E,CAAC;QACH,CAAC;IACH,CAAC;IAED,gDAAgD;IAChD,IAAI,EAAE,CAAC,YAAY,IAAI,CAAC,cAAc,EAAE,MAAM,EAAE,CAAC;QAC/C,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC;QAC5B,MAAM,KAAK,GAAG,GAAG,CAAC,iBAAiB,EAAE,CAAC;QACtC,oGAAoG;QACpG,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,gBAAgB,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;QACxE,MAAM,IAAI,GAAG,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,gBAAgB,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;QACtF,MAAM,KAAK,GAAG,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,gBAAgB,CAAC,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;QAC3F,MAAM,MAAM,GAAG,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,gBAAgB,CAAC,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;QAC5F,MAAM,IAAI,GAAG,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,gBAAgB,CAAC,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;QAC1F,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,gBAAgB,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;QAC9E,IAAI,UAAU,GAAG,GAAG,CAAC;QACrB,6EAA6E;QAC7E,6EAA6E;QAC7E,qDAAqD;QACrD,IAAI,GAAG,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YAC9B,MAAM,QAAQ,GAAG,uBAAuB,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;YACxG,IAAI,QAAQ,KAAK,IAAI;gBAAE,wBAAwB,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;;gBAC/E,UAAU,GAAG,IAAI,QAAQ,EAAE,CAAC;QACnC,CAAC;QACD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,KAAK,oBAAoB,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,UAAU,IAAI,CAAC,CAAC;QACzH,IAAI,CAAC,cAAc,EAAE,CAAC;QAEtB,wEAAwE;QACxE,MAAM,SAAS,GAAG,6CAA6C,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;QAErF,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,EAAE,GAAG,EAAE,CAAC,aAAa,IAAI,EAAE,CAAC;YAClC,MAAM,IAAI,GAAG,GAAG,CAAC,iBAAiB,EAAE,CAAC;YACrC,MAAM,QAAQ,GAAG,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;YACtD,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;YACxD,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;YAC5D,MAAM,QAAQ,GAAG,EAAE,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;YAC7F,MAAM,QAAQ,GAAG,EAAE,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;YAC7F,MAAM,KAAK,GAAG,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;YAC1E,qHAAqH;YACrH,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,IAAI,sBAAsB,SAAS,KAAK,KAAK,IAAI,QAAQ,IAAI,SAAS,IAAI,MAAM,IAAI,QAAQ,IAAI,QAAQ,IAAI,KAAK,IAAI,CAAC,CAAC;YACpJ,IAAI,CAAC,cAAc,EAAE,CAAC;QACxB,CAAC;aAAM,CAAC;YACN,0BAA0B,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;SAAM,IAAI,EAAE,CAAC,aAAa,IAAI,CAAC,aAAa,EAAE,MAAM,IAAI,cAAc,EAAE,MAAM,EAAE,CAAC;QAChF,+DAA+D;QAC/D,MAAM,SAAS,GAAG,6CAA6C,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;QACrF,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC;YAC5B,MAAM,IAAI,GAAG,GAAG,CAAC,iBAAiB,EAAE,CAAC;YACrC,MAAM,QAAQ,GAAG,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;YACtD,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;YACxD,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;YAC5D,MAAM,QAAQ,GAAG,EAAE,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;YAC7F,MAAM,QAAQ,GAAG,EAAE,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;YAC7F,MAAM,KAAK,GAAG,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;YAC1E,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,IAAI,sBAAsB,SAAS,KAAK,cAAc,CAAC,CAAC,CAAC,IAAI,QAAQ,IAAI,SAAS,IAAI,MAAM,IAAI,QAAQ,IAAI,QAAQ,IAAI,KAAK,IAAI,CAAC,CAAC;YAChK,IAAI,CAAC,cAAc,EAAE,CAAC;QACxB,CAAC;aAAM,CAAC;YACN,0BAA0B,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;SAAM,IAAI,EAAE,CAAC,aAAa,IAAI,CAAC,aAAa,EAAE,MAAM,IAAI,CAAC,cAAc,EAAE,MAAM,EAAE,CAAC;QACjF,qEAAqE;QACrE,qEAAqE;QACrE,qEAAqE;QACrE,+DAA+D;QAC/D,sEAAsE;QACtE,+BAA+B,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACjD,CAAC;AACH,CAAC;AAGD;;;;;GAKG;AACH,SAAS,0BAA0B,CAAC,QAAkB;IACpD,QAAQ,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;IACtD,OAAO,CAAC,IAAI,CAAC,kBAAkB,sCAAsC,EAAE,CAAC,CAAC;AAC3E,CAAC;AAED;;;;;GAKG;AACH,SAAS,+BAA+B,CAAC,QAAkB;IACzD,QAAQ,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;IAClD,OAAO,CAAC,IAAI,CAAC,kBAAkB,kCAAkC,EAAE,CAAC,CAAC;AACvE,CAAC;AAED;;;;GAIG;AACH,SAAS,6CAA6C,CAAC,SAA+B,EAAE,GAAwB;IAC9G,IAAI,CAAC,GAAG,CAAC,eAAe;QAAE,OAAO,IAAI,CAAC;IAEtC,MAAM,UAAU,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,mCAAmC,CAAC,IAAI,EAAE,CAAC;SACjF,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IAC1D,IAAI,cAAc,GAAkB,IAAI,CAAC;IAEzC,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,MAAM,UAAU,GAAG,GAAG,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACjE,MAAM,OAAO,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAClF,IAAI,CAAC,OAAO;YAAE,SAAS;QAEvB,MAAM,KAAK,GAAG,OAAO,CAAC,UAAU,IAAI,EAAE,CAAC;QACvC,MAAM,WAAW,GAAG,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACtF,MAAM,SAAS,GAAG,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAEjE,IAAI,SAAS,KAAK,CAAC,IAAI,cAAc,KAAK,IAAI,EAAE,CAAC;YAC/C,cAAc,GAAG,SAAS,CAAC;QAC7B,CAAC;QAED,IAAI,WAAW,KAAK,OAAO,IAAI,SAAS,KAAK,CAAC,EAAE,CAAC;YAC/C,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IAED,OAAO,cAAc,IAAI,UAAU,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;AACjD,CAAC"}
@@ -33,7 +33,17 @@ import type { ExportPass, StepExportOptions, StepExportResult } from './step-exp
33
33
  * {@link assembleExportResult} below) — so the provenance item it appends
34
34
  * reflects what this export actually wrote, not a guess made at setup time.
35
35
  */
36
- export declare function buildStepHeader(options: StepExportOptions, sourceHeader: IfcSourceHeader | undefined, schemaToken: string, modifications: number): string;
36
+ /**
37
+ * The subset of {@link StepExportOptions} the header actually reads.
38
+ *
39
+ * `schema` is deliberately NOT part of it: the token written into FILE_SCHEMA
40
+ * arrives separately as `schemaToken`, so requiring it here would force every
41
+ * caller — and every parity vector, which supplies the token from its own
42
+ * field — to spell out a value this function never consults. Spelled-out
43
+ * values are how two implementations' defaults drift apart unnoticed.
44
+ */
45
+ export type StepHeaderOptions = Pick<StepExportOptions, 'description' | 'author' | 'organization' | 'authorization' | 'originatingSystem' | 'application' | 'filename' | 'timeStamp'>;
46
+ export declare function buildStepHeader(options: StepHeaderOptions, sourceHeader: IfcSourceHeader | undefined, schemaToken: string, modifications: number): string;
37
47
  /**
38
48
  * Settle the delta ledger, build the header against the settled count, and
39
49
  * assemble the finished bytes. The header is built last so its provenance
@@ -1 +1 @@
1
- {"version":3,"file":"step-header.d.ts","sourceRoot":"","sources":["../src/step-header.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAGxD,OAAO,KAAK,EAAE,UAAU,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAE1F;;;;;;GAMG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,iBAAiB,EAC1B,YAAY,EAAE,eAAe,GAAG,SAAS,EACzC,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,MAAM,GACpB,MAAM,CA+BR;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,UAAU,GAAG,gBAAgB,CAwBvE"}
1
+ {"version":3,"file":"step-header.d.ts","sourceRoot":"","sources":["../src/step-header.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAGxD,OAAO,KAAK,EAAE,UAAU,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAE1F;;;;;;GAMG;AACH;;;;;;;;GAQG;AACH,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAClC,iBAAiB,EACf,aAAa,GAAG,QAAQ,GAAG,cAAc,GAAG,eAAe,GAAG,mBAAmB,GACjF,aAAa,GAAG,UAAU,GAAG,WAAW,CAC3C,CAAC;AAEF,wBAAgB,eAAe,CAC7B,OAAO,EAAE,iBAAiB,EAC1B,YAAY,EAAE,eAAe,GAAG,SAAS,EACzC,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,MAAM,GACpB,MAAM,CA+BR;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,UAAU,GAAG,gBAAgB,CAwBvE"}
@@ -3,13 +3,6 @@
3
3
  * file, You can obtain one at https://mozilla.org/MPL/2.0/. */
4
4
  import { generateHeader } from '@ifc-lite/parser';
5
5
  import { assembleStepBytes } from './step-file-assembly.js';
6
- /**
7
- * Build the STEP HEADER section text. `modifications` is read last, at each
8
- * call site, once the real count is known — see the two callers in
9
- * `step-exporter.ts` (the `deltaOnly`-empty early return, and
10
- * {@link assembleExportResult} below) — so the provenance item it appends
11
- * reflects what this export actually wrote, not a guess made at setup time.
12
- */
13
6
  export function buildStepHeader(options, sourceHeader, schemaToken, modifications) {
14
7
  // FILE_DESCRIPTION items: an explicit option wins, else the source items
15
8
  // verbatim, else the generic default.
@@ -32,8 +25,8 @@ export function buildStepHeader(options, sourceHeader, schemaToken, modification
32
25
  // preprocessor_version = the tool that WROTE this file (ifc-lite);
33
26
  // originating_system keeps the source authoring tool so it isn't erased.
34
27
  preprocessorVersion: options.application ?? 'ifc-lite',
35
- originatingSystem: sourceHeader?.originatingSystem,
36
- authorization: sourceHeader?.authorization,
28
+ originatingSystem: options.originatingSystem ?? sourceHeader?.originatingSystem,
29
+ authorization: options.authorization ?? sourceHeader?.authorization,
37
30
  application: options.application ?? 'ifc-lite',
38
31
  filename: options.filename ?? 'export.ifc',
39
32
  timeStamp: options.timeStamp,
@@ -1 +1 @@
1
- {"version":3,"file":"step-header.js","sourceRoot":"","sources":["../src/step-header.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AA8B/D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAG5D;;;;;;GAMG;AACH,MAAM,UAAU,eAAe,CAC7B,OAA0B,EAC1B,YAAyC,EACzC,WAAmB,EACnB,aAAqB;IAErB,yEAAyE;IACzE,sCAAsC;IACtC,MAAM,WAAW,GACf,OAAO,CAAC,WAAW,KAAK,SAAS;QAC/B,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC;QACvB,CAAC,CAAC,YAAY,IAAI,YAAY,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC;YACnD,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,WAAW,CAAC;YAC/B,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC;IACnC,wEAAwE;IACxE,+DAA+D;IAC/D,IAAI,aAAa,GAAG,CAAC,EAAE,CAAC;QACtB,WAAW,CAAC,IAAI,CACd,4BAA4B,aAAa,gBAAgB,aAAa,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAC1F,CAAC;IACJ,CAAC;IACD,OAAO,cAAc,CAAC;QACpB,MAAM,EAAE,WAAW;QACnB,WAAW;QACX,mBAAmB,EAAE,YAAY,EAAE,mBAAmB;QACtD,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,YAAY,EAAE,MAAM;QAC9C,YAAY,EAAE,OAAO,CAAC,YAAY,IAAI,YAAY,EAAE,YAAY;QAChE,mEAAmE;QACnE,yEAAyE;QACzE,mBAAmB,EAAE,OAAO,CAAC,WAAW,IAAI,UAAU;QACtD,iBAAiB,EAAE,YAAY,EAAE,iBAAiB;QAClD,aAAa,EAAE,YAAY,EAAE,aAAa;QAC1C,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,UAAU;QAC9C,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,YAAY;QAC1C,SAAS,EAAE,OAAO,CAAC,SAAS;KAC7B,CAAC,CAAC;AACL,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAAC,IAAgB;IACnD,yEAAyE;IACzE,yEAAyE;IACzE,4EAA4E;IAC5E,4EAA4E;IAC5E,6CAA6C;IAC7C,MAAM,EAAE,mBAAmB,EAAE,QAAQ,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;IACrF,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,CAAC;IAErC,4EAA4E;IAC5E,2EAA2E;IAC3E,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,cAAc,GAAG,mBAAmB,CAAC,CAAC;IAC3E,MAAM,OAAO,GAAG,iBAAiB,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IAEzD,OAAO;QACL,OAAO;QACP,KAAK,EAAE;YACL,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM;YACjC,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,mBAAmB;YACnB,QAAQ,EAAE,OAAO,CAAC,UAAU;YAC5B,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACxB;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"step-header.js","sourceRoot":"","sources":["../src/step-header.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AA8B/D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAyB5D,MAAM,UAAU,eAAe,CAC7B,OAA0B,EAC1B,YAAyC,EACzC,WAAmB,EACnB,aAAqB;IAErB,yEAAyE;IACzE,sCAAsC;IACtC,MAAM,WAAW,GACf,OAAO,CAAC,WAAW,KAAK,SAAS;QAC/B,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC;QACvB,CAAC,CAAC,YAAY,IAAI,YAAY,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC;YACnD,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,WAAW,CAAC;YAC/B,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC;IACnC,wEAAwE;IACxE,+DAA+D;IAC/D,IAAI,aAAa,GAAG,CAAC,EAAE,CAAC;QACtB,WAAW,CAAC,IAAI,CACd,4BAA4B,aAAa,gBAAgB,aAAa,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAC1F,CAAC;IACJ,CAAC;IACD,OAAO,cAAc,CAAC;QACpB,MAAM,EAAE,WAAW;QACnB,WAAW;QACX,mBAAmB,EAAE,YAAY,EAAE,mBAAmB;QACtD,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,YAAY,EAAE,MAAM;QAC9C,YAAY,EAAE,OAAO,CAAC,YAAY,IAAI,YAAY,EAAE,YAAY;QAChE,mEAAmE;QACnE,yEAAyE;QACzE,mBAAmB,EAAE,OAAO,CAAC,WAAW,IAAI,UAAU;QACtD,iBAAiB,EAAE,OAAO,CAAC,iBAAiB,IAAI,YAAY,EAAE,iBAAiB;QAC/E,aAAa,EAAE,OAAO,CAAC,aAAa,IAAI,YAAY,EAAE,aAAa;QACnE,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,UAAU;QAC9C,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,YAAY;QAC1C,SAAS,EAAE,OAAO,CAAC,SAAS;KAC7B,CAAC,CAAC;AACL,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAAC,IAAgB;IACnD,yEAAyE;IACzE,yEAAyE;IACzE,4EAA4E;IAC5E,4EAA4E;IAC5E,6CAA6C;IAC7C,MAAM,EAAE,mBAAmB,EAAE,QAAQ,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;IACrF,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,CAAC;IAErC,4EAA4E;IAC5E,2EAA2E;IAC3E,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,cAAc,GAAG,mBAAmB,CAAC,CAAC;IAC3E,MAAM,OAAO,GAAG,iBAAiB,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IAEzD,OAAO;QACL,OAAO;QACP,KAAK,EAAE;YACL,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM;YACjC,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,mBAAmB;YACnB,QAAQ,EAAE,OAAO,CAAC,UAAU;YAC5B,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACxB;KACF,CAAC;AACJ,CAAC"}