@ifc-lite/parser 9.2.0 → 9.4.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.
- package/README.md +31 -0
- package/dist/abort-error.d.ts +7 -0
- package/dist/abort-error.d.ts.map +1 -0
- package/dist/abort-error.js +17 -0
- package/dist/abort-error.js.map +1 -0
- package/dist/classification-overlay.d.ts +13 -0
- package/dist/classification-overlay.d.ts.map +1 -0
- package/dist/classification-overlay.js +65 -0
- package/dist/classification-overlay.js.map +1 -0
- package/dist/classification-resolver.d.ts +13 -9
- package/dist/classification-resolver.d.ts.map +1 -1
- package/dist/classification-resolver.js +109 -74
- package/dist/classification-resolver.js.map +1 -1
- package/dist/columnar-parser-attributes.d.ts +1 -1
- package/dist/columnar-parser-attributes.d.ts.map +1 -1
- package/dist/columnar-parser-attributes.js +16 -6
- package/dist/columnar-parser-attributes.js.map +1 -1
- package/dist/columnar-parser-root-attributes.d.ts +15 -1
- package/dist/columnar-parser-root-attributes.d.ts.map +1 -1
- package/dist/columnar-parser-root-attributes.js +26 -11
- package/dist/columnar-parser-root-attributes.js.map +1 -1
- package/dist/columnar-parser.d.ts +9 -8
- package/dist/columnar-parser.d.ts.map +1 -1
- package/dist/columnar-parser.js +11 -23
- package/dist/columnar-parser.js.map +1 -1
- package/dist/current-occurrence-quantities.d.ts +13 -0
- package/dist/current-occurrence-quantities.d.ts.map +1 -0
- package/dist/current-occurrence-quantities.js +69 -0
- package/dist/current-occurrence-quantities.js.map +1 -0
- package/dist/current-project-units.d.ts +11 -0
- package/dist/current-project-units.d.ts.map +1 -0
- package/dist/current-project-units.js +41 -0
- package/dist/current-project-units.js.map +1 -0
- package/dist/current-type-quantities.d.ts +13 -0
- package/dist/current-type-quantities.d.ts.map +1 -0
- package/dist/current-type-quantities.js +274 -0
- package/dist/current-type-quantities.js.map +1 -0
- package/dist/data-store-transport.d.ts +1 -0
- package/dist/data-store-transport.d.ts.map +1 -1
- package/dist/data-store-transport.js +2 -0
- package/dist/data-store-transport.js.map +1 -1
- package/dist/document-resolver.d.ts +23 -0
- package/dist/document-resolver.d.ts.map +1 -0
- package/dist/document-resolver.js +122 -0
- package/dist/document-resolver.js.map +1 -0
- package/dist/effective-entity-record.d.ts +3 -2
- package/dist/effective-entity-record.d.ts.map +1 -1
- package/dist/effective-entity-record.js +5 -5
- package/dist/effective-entity-record.js.map +1 -1
- package/dist/effective-metadata-record.d.ts +23 -0
- package/dist/effective-metadata-record.d.ts.map +1 -0
- package/dist/effective-metadata-record.js +50 -0
- package/dist/effective-metadata-record.js.map +1 -0
- package/dist/entity-scanner.d.ts +6 -8
- package/dist/entity-scanner.d.ts.map +1 -1
- package/dist/entity-scanner.js +26 -13
- package/dist/entity-scanner.js.map +1 -1
- package/dist/ifc-schema.d.ts +2 -1
- package/dist/ifc-schema.d.ts.map +1 -1
- package/dist/ifc-schema.js +4 -3
- package/dist/ifc-schema.js.map +1 -1
- package/dist/index.d.ts +8 -11
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -10
- package/dist/index.js.map +1 -1
- package/dist/length-unit-source.d.ts +25 -0
- package/dist/length-unit-source.d.ts.map +1 -0
- package/dist/length-unit-source.js +14 -0
- package/dist/length-unit-source.js.map +1 -0
- package/dist/material-definitions.d.ts +10 -0
- package/dist/material-definitions.d.ts.map +1 -0
- package/dist/material-definitions.js +224 -0
- package/dist/material-definitions.js.map +1 -0
- package/dist/material-overlay.d.ts +38 -0
- package/dist/material-overlay.d.ts.map +1 -0
- package/dist/material-overlay.js +146 -0
- package/dist/material-overlay.js.map +1 -0
- package/dist/material-properties-extractor.d.ts +2 -11
- package/dist/material-properties-extractor.d.ts.map +1 -1
- package/dist/material-properties-extractor.js +21 -38
- package/dist/material-properties-extractor.js.map +1 -1
- package/dist/material-resolver.d.ts +6 -4
- package/dist/material-resolver.d.ts.map +1 -1
- package/dist/material-resolver.js +176 -386
- package/dist/material-resolver.js.map +1 -1
- package/dist/measure-unit-scale.d.ts +2 -0
- package/dist/measure-unit-scale.d.ts.map +1 -1
- package/dist/measure-unit-scale.js +7 -1
- package/dist/measure-unit-scale.js.map +1 -1
- package/dist/metadata-edit-value.d.ts +4 -0
- package/dist/metadata-edit-value.d.ts.map +1 -0
- package/dist/metadata-edit-value.js +57 -0
- package/dist/metadata-edit-value.js.map +1 -0
- package/dist/native-metadata-public.d.ts +9 -0
- package/dist/native-metadata-public.d.ts.map +1 -0
- package/dist/native-metadata-public.js +12 -0
- package/dist/native-metadata-public.js.map +1 -0
- package/dist/occurrence-quantity-read-error.d.ts +7 -0
- package/dist/occurrence-quantity-read-error.d.ts.map +1 -0
- package/dist/occurrence-quantity-read-error.js +13 -0
- package/dist/occurrence-quantity-read-error.js.map +1 -0
- package/dist/on-demand-extractors.d.ts +3 -38
- package/dist/on-demand-extractors.d.ts.map +1 -1
- package/dist/on-demand-extractors.js +4 -184
- package/dist/on-demand-extractors.js.map +1 -1
- package/dist/parser-worker-trace.d.ts +18 -0
- package/dist/parser-worker-trace.d.ts.map +1 -0
- package/dist/parser-worker-trace.js +32 -0
- package/dist/parser-worker-trace.js.map +1 -0
- package/dist/parser.worker.d.ts.map +1 -1
- package/dist/parser.worker.js +34 -13
- package/dist/parser.worker.js.map +1 -1
- package/dist/project-units.d.ts +17 -4
- package/dist/project-units.d.ts.map +1 -1
- package/dist/project-units.js +104 -37
- package/dist/project-units.js.map +1 -1
- package/dist/property-complex-value.d.ts.map +1 -1
- package/dist/property-complex-value.js +1 -0
- package/dist/property-complex-value.js.map +1 -1
- package/dist/property-unit.d.ts +2 -0
- package/dist/property-unit.d.ts.map +1 -1
- package/dist/property-unit.js +4 -1
- package/dist/property-unit.js.map +1 -1
- package/dist/property-value-parser.d.ts +14 -1
- package/dist/property-value-parser.d.ts.map +1 -1
- package/dist/property-value-parser.js +42 -22
- package/dist/property-value-parser.js.map +1 -1
- package/dist/quantity-collect.d.ts +14 -2
- package/dist/quantity-collect.d.ts.map +1 -1
- package/dist/quantity-collect.js +19 -8
- package/dist/quantity-collect.js.map +1 -1
- package/dist/relationship-schema-slots.d.ts.map +1 -1
- package/dist/relationship-schema-slots.js +2 -1
- package/dist/relationship-schema-slots.js.map +1 -1
- package/dist/scan-worker-inline.d.ts.map +1 -1
- package/dist/scan-worker-inline.js +2 -1
- package/dist/scan-worker-inline.js.map +1 -1
- package/dist/schedule-extractor.d.ts +2 -1
- package/dist/schedule-extractor.d.ts.map +1 -1
- package/dist/schedule-extractor.js +11 -2
- package/dist/schedule-extractor.js.map +1 -1
- package/dist/schedule-serializer-builders.d.ts +7 -0
- package/dist/schedule-serializer-builders.d.ts.map +1 -1
- package/dist/schedule-serializer-builders.js +17 -17
- package/dist/schedule-serializer-builders.js.map +1 -1
- package/dist/schedule-serializer.d.ts +8 -3
- package/dist/schedule-serializer.d.ts.map +1 -1
- package/dist/schedule-serializer.js +36 -1
- package/dist/schedule-serializer.js.map +1 -1
- package/dist/schedule-task-products.d.ts +38 -0
- package/dist/schedule-task-products.d.ts.map +1 -0
- package/dist/schedule-task-products.js +69 -0
- package/dist/schedule-task-products.js.map +1 -0
- package/dist/schedule-types.d.ts +11 -1
- package/dist/schedule-types.d.ts.map +1 -1
- package/dist/schedule-types.js.map +1 -1
- package/dist/schema-entity-name.d.ts +14 -0
- package/dist/schema-entity-name.d.ts.map +1 -0
- package/dist/schema-entity-name.js +34 -0
- package/dist/schema-entity-name.js.map +1 -0
- package/dist/schema-exports.d.ts +7 -0
- package/dist/schema-exports.d.ts.map +1 -0
- package/dist/schema-exports.js +10 -0
- package/dist/schema-exports.js.map +1 -0
- package/dist/source-project-length-unit.d.ts +53 -0
- package/dist/source-project-length-unit.d.ts.map +1 -0
- package/dist/source-project-length-unit.js +201 -0
- package/dist/source-project-length-unit.js.map +1 -0
- package/dist/structural-extractor.js +2 -2
- package/dist/structural-extractor.js.map +1 -1
- package/dist/structural-load-extractor.d.ts +9 -3
- package/dist/structural-load-extractor.d.ts.map +1 -1
- package/dist/structural-load-extractor.js +26 -20
- package/dist/structural-load-extractor.js.map +1 -1
- package/dist/structural-step-values.d.ts +0 -9
- package/dist/structural-step-values.d.ts.map +1 -1
- package/dist/structural-step-values.js +13 -1
- package/dist/structural-step-values.js.map +1 -1
- package/dist/type-own-quantity-source.d.ts +37 -0
- package/dist/type-own-quantity-source.d.ts.map +1 -0
- package/dist/type-own-quantity-source.js +204 -0
- package/dist/type-own-quantity-source.js.map +1 -0
- package/dist/unit-extractor.d.ts +13 -0
- package/dist/unit-extractor.d.ts.map +1 -1
- package/dist/unit-extractor.js +32 -29
- package/dist/unit-extractor.js.map +1 -1
- package/dist/worker-parser.d.ts +7 -0
- package/dist/worker-parser.d.ts.map +1 -1
- package/dist/worker-parser.js +14 -16
- package/dist/worker-parser.js.map +1 -1
- package/package.json +6 -5
package/dist/index.d.ts
CHANGED
|
@@ -18,11 +18,12 @@ export { PropertyExtractor } from './property-extractor.js';
|
|
|
18
18
|
export { QuantityExtractor } from './quantity-extractor.js';
|
|
19
19
|
export { RelationshipExtractor } from './relationship-extractor.js';
|
|
20
20
|
export { SpatialHierarchyBuilder } from './spatial-hierarchy-builder.js';
|
|
21
|
-
export { SI_PREFIX_MULTIPLIERS, extractLengthUnitScale, resolveEntityLengthUnitScale, resolveOwningIfcProjectId, } from './unit-extractor.js';
|
|
21
|
+
export { SI_PREFIX_MULTIPLIERS, extractLengthUnitScale, resolveEntityLengthUnitScale, resolveOwningIfcProjectId, type LengthUnitSource, } from './unit-extractor.js';
|
|
22
22
|
export { extractProjectUnits, measureUnit, ProjectUnits, type ResolvedUnit, type MeasureUnit, } from './project-units.js';
|
|
23
23
|
export { quantitySiScale } from './quantity-collect.js';
|
|
24
24
|
export { scaleMeasureValue, scaledPropertyValue, roundToScale } from './measure-unit-scale.js';
|
|
25
|
-
export { ColumnarParser, type IfcDataStore, type EntityByIdIndex, extractPropertiesOnDemand, extractQuantitiesOnDemand, extractEntityAttributesOnDemand, extractAllEntityAttributes, getRawNamedAttributes, extractRootAttributesFromEntity, extractClassificationsOnDemand, extractClassificationSystemsOnDemand, extractMaterialsOnDemand, extractAllMaterialsOnDemand, extractMaterialPropertiesOnDemand, extractMaterialPropertiesForMaterialId, resolveMaterialDefId, resolveAllMaterialDefIds, collectMaterialLeaves, buildMaterialUsageIndex, getMaterialDisplay, extractTypePropertiesOnDemand, extractTypeEntityOwnProperties, extractTypeQuantitiesOnDemand, mergeInheritedPropertySets, mergeInheritedQuantitySets, extractDocumentsOnDemand, extractRelationshipsOnDemand, extractExactRelatedIds, extractGroupMembersOnDemand, extractGroupAssignmentFactorOnDemand, extractGeoreferencingOnDemand, type ClassificationInfo, type ClassificationSystemNames, type MaterialInfo, type MaterialLayerInfo, type MaterialProfileInfo, type MaterialConstituentInfo, type MaterialPsetGroup, type MaterialLeaf, type MaterialUsage, type TypePropertyInfo, type TypeQuantityInfo, type DocumentInfo, type EntityRelationships, type GroupMember } from './columnar-parser.js';
|
|
25
|
+
export { ColumnarParser, type IfcDataStore, type EntityByIdIndex, extractPropertiesOnDemand, extractQuantitiesOnDemand, extractEntityAttributesOnDemand, extractAllEntityAttributes, getRawNamedAttributes, extractRootAttributesFromEntity, extractClassificationsOnDemand, extractClassificationSystemsOnDemand, extractMaterialsOnDemand, extractAllMaterialsOnDemand, extractMaterialPropertiesOnDemand, extractMaterialPropertiesForMaterialId, resolveMaterialDefId, resolveAllMaterialDefIds, collectMaterialLeaves, buildMaterialUsageIndex, getMaterialDisplay, extractTypePropertiesOnDemand, extractTypeEntityOwnProperties, extractTypeQuantitiesOnDemand, extractTypeEntityOwnQuantities, mergeInheritedPropertySets, mergeInheritedQuantitySets, extractDocumentsOnDemand, extractRelationshipsOnDemand, extractExactRelatedIds, extractGroupMembersOnDemand, extractGroupAssignmentFactorOnDemand, extractGeoreferencingOnDemand, type ClassificationInfo, type ClassificationSystemNames, type MaterialInfo, type MaterialLayerInfo, type MaterialProfileInfo, type MaterialConstituentInfo, type MaterialPsetGroup, type MaterialLeaf, type MaterialUsage, type TypePropertyInfo, type TypeQuantityInfo, type DocumentInfo, type EntityRelationships, type GroupMember } from './columnar-parser.js';
|
|
26
|
+
export { OccurrenceQuantityReadError } from './occurrence-quantity-read-error.js';
|
|
26
27
|
export type { MaterialPropertiesView } from './on-demand-extractors.js';
|
|
27
28
|
export type { IfcStoreBase, IfcSourceHeader, SpatialHierarchy, EntityTable } from '@ifc-lite/data';
|
|
28
29
|
export { parseSourceHeader } from './source-header.js';
|
|
@@ -32,25 +33,20 @@ export { buildDropCensus, type DropCensus, type DropCensusInput, type ClassCensu
|
|
|
32
33
|
export { createSyntheticDataStore, type SyntheticDataStoreOptions, type SyntheticEntity } from './synthetic-data-store.js';
|
|
33
34
|
export { parseIfcx, parseFederatedIfcx, addIfcxOverlay, detectFormat, composeIfcx, composeFederated, createLayerStack, createPathIndex, parsePath, type IfcxParseResult, type FederatedIfcxParseResult, type FederatedFileInput, type FederatedParseOptions, type IfcxFile, type IfcxNode, type ComposedNode, type ComposedNodeWithSources, type IfcxLayer, type LayerStack, type PathIndex, type MeshData as IfcxMeshData, type PointCloudExtraction, } from '@ifc-lite/ifcx';
|
|
34
35
|
export { extractMaterials, getMaterialForElement, getMaterialNameForElement, type MaterialsData, type Material, type MaterialLayer, type MaterialLayerSet } from './material-extractor.js';
|
|
36
|
+
export { materialAssignmentsAvailable } from './material-overlay.js';
|
|
35
37
|
export { extractGeoreferencing, computeTransformMatrix, transformToWorld, transformToLocal, getCoordinateSystemDescription, computeAngleToGridNorth, type GeoreferenceInfo, type MapConversion, type ProjectedCRS } from './georef-extractor.js';
|
|
36
38
|
export { extractClassifications, getClassificationsForElement, getClassificationCodeForElement, getClassificationPath, groupElementsByClassification, type ClassificationsData, type Classification, type ClassificationReference } from './classification-extractor.js';
|
|
37
|
-
export { extractScheduleOnDemand, parseIso8601Duration, type ScheduleExtraction, type ScheduleTaskInfo, type ScheduleTaskTimeInfo, type ScheduleSequenceInfo, type WorkScheduleInfo, type WorkCalendarInfo, type WorkTimeInfo, type RecurrencePatternInfo, type TimePeriodInfo, type SequenceTypeEnum, type TaskDurationType, } from './schedule-extractor.js';
|
|
39
|
+
export { extractScheduleOnDemand, parseIso8601Duration, taskProductExpressIds, taskProductGlobalIds, type ScheduleExtraction, type ScheduleTaskInfo, type ScheduleTaskTimeInfo, type ScheduleSequenceInfo, type WorkScheduleInfo, type WorkCalendarInfo, type WorkTimeInfo, type RecurrencePatternInfo, type TimePeriodInfo, type SequenceTypeEnum, type TaskDurationType, } from './schedule-extractor.js';
|
|
38
40
|
export { extractStructuralOnDemand, type StructuralExtraction, type StructuralAnalysisModelInfo, type StructuralMemberInfo, type StructuralConnectionInfo, type StructuralActivityInfo, type StructuralLoadGroupInfo, type StructuralResultGroupInfo, type StructuralLoadInfo, type StructuralLoadConfigurationInfo, type StructuralLoadConfigurationEntry, type StructuralLoadDropReason, type StructuralExtractionView, type BoundaryConditionInfo, } from './structural-extractor.js';
|
|
39
41
|
export { serializeScheduleToStep, type SerializeScheduleOptions, type SerializeScheduleResult, } from './schedule-serializer.js';
|
|
40
42
|
export * from './cost.js';
|
|
41
43
|
export { secondsToIso8601Duration } from './iso8601-duration.js';
|
|
42
44
|
export { deterministicGlobalId } from './deterministic-global-id.js';
|
|
43
|
-
export
|
|
44
|
-
export { getSchemaRegistryForVersion, type SchemaVersionWithRegistry, type SchemaRegistry, } from './generated/schema-registry-by-version.js';
|
|
45
|
-
export type * from './generated/entities.js';
|
|
46
|
-
export * from './generated/enums.js';
|
|
45
|
+
export * from './schema-exports.js';
|
|
47
46
|
export { serializeValue, toStepLine, generateHeader, generateStepFile, parseStepValue, ref, enumVal, isEntityRef, isEnumValue, type StepValue, type StepEntity, type EntityRef as StepEntityRef, type EnumValue, } from './generated/serializers.js';
|
|
48
47
|
export * from './types.js';
|
|
49
48
|
export { getAttributeNames, getAttributeNamesAcrossSchemas, getAttributeNamesForSchema, getAttributeTypeForSchema, getAttributeNameAt, isKnownType, isInstantiable, isQueryableObjectType, normalizeIfcTypeName, resolveEntityNameAlias, getInheritanceChain as getInheritanceChainAcrossSchemas } from './ifc-schema.js';
|
|
50
|
-
export
|
|
51
|
-
export { resolveEffectiveRelationshipOverlay, effectiveRelationshipEdges, type EffectiveRelationship, type EffectiveRelationshipOverlay, type RelationshipOverlayReader } from './effective-relationship-overlay.js';
|
|
52
|
-
export { effectiveSpatialMemberIds, type EffectiveSpatialContext } from './effective-spatial-members.js';
|
|
53
|
-
export { effectiveStoreyId } from './effective-storey.js';
|
|
49
|
+
export * from './native-metadata-public.js';
|
|
54
50
|
import type { ParseResult } from './types.js';
|
|
55
51
|
import { type IfcDataStore } from './columnar-parser.js';
|
|
56
52
|
import { type PreScannedEntityIndex, type WasmScanApi } from './entity-scanner.js';
|
|
@@ -120,4 +116,5 @@ export type AutoParseResult = {
|
|
|
120
116
|
* Returns unified result with format indicator.
|
|
121
117
|
*/
|
|
122
118
|
export declare function parseAuto(buffer: ArrayBuffer, options?: ParseOptions): Promise<AutoParseResult>;
|
|
119
|
+
export { findSourceProjectLengthUnit, normalizeMapUnitName } from './source-project-length-unit.js';
|
|
123
120
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AACxF,YAAY,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,KAAK,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACzH,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAQ/C,OAAO,EACL,aAAa,EACb,qBAAqB,EACrB,aAAa,EACb,2BAA2B,EAC3B,qBAAqB,EACrB,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,cAAc,EACd,oBAAoB,EACpB,qBAAqB,EACrB,KAAK,gBAAgB,GACtB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,KAAK,cAAc,EACnB,KAAK,kBAAkB,GACxB,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC3E,OAAO,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACnH,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,YAAY,EAAE,cAAc,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAChH,OAAO,EAAE,YAAY,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACzG,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AACxF,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,EACL,qBAAqB,EAAE,sBAAsB,EAC7C,4BAA4B,EAC5B,yBAAyB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -40,7 +40,8 @@ export { SI_PREFIX_MULTIPLIERS, extractLengthUnitScale, resolveEntityLengthUnitS
|
|
|
40
40
|
export { extractProjectUnits, measureUnit, ProjectUnits, } from './project-units.js';
|
|
41
41
|
export { quantitySiScale } from './quantity-collect.js';
|
|
42
42
|
export { scaleMeasureValue, scaledPropertyValue, roundToScale } from './measure-unit-scale.js';
|
|
43
|
-
export { ColumnarParser, extractPropertiesOnDemand, extractQuantitiesOnDemand, extractEntityAttributesOnDemand, extractAllEntityAttributes, getRawNamedAttributes, extractRootAttributesFromEntity, extractClassificationsOnDemand, extractClassificationSystemsOnDemand, extractMaterialsOnDemand, extractAllMaterialsOnDemand, extractMaterialPropertiesOnDemand, extractMaterialPropertiesForMaterialId, resolveMaterialDefId, resolveAllMaterialDefIds, collectMaterialLeaves, buildMaterialUsageIndex, getMaterialDisplay, extractTypePropertiesOnDemand, extractTypeEntityOwnProperties, extractTypeQuantitiesOnDemand, mergeInheritedPropertySets, mergeInheritedQuantitySets, extractDocumentsOnDemand, extractRelationshipsOnDemand, extractExactRelatedIds, extractGroupMembersOnDemand, extractGroupAssignmentFactorOnDemand, extractGeoreferencingOnDemand } from './columnar-parser.js';
|
|
43
|
+
export { ColumnarParser, extractPropertiesOnDemand, extractQuantitiesOnDemand, extractEntityAttributesOnDemand, extractAllEntityAttributes, getRawNamedAttributes, extractRootAttributesFromEntity, extractClassificationsOnDemand, extractClassificationSystemsOnDemand, extractMaterialsOnDemand, extractAllMaterialsOnDemand, extractMaterialPropertiesOnDemand, extractMaterialPropertiesForMaterialId, resolveMaterialDefId, resolveAllMaterialDefIds, collectMaterialLeaves, buildMaterialUsageIndex, getMaterialDisplay, extractTypePropertiesOnDemand, extractTypeEntityOwnProperties, extractTypeQuantitiesOnDemand, extractTypeEntityOwnQuantities, mergeInheritedPropertySets, mergeInheritedQuantitySets, extractDocumentsOnDemand, extractRelationshipsOnDemand, extractExactRelatedIds, extractGroupMembersOnDemand, extractGroupAssignmentFactorOnDemand, extractGeoreferencingOnDemand } from './columnar-parser.js';
|
|
44
|
+
export { OccurrenceQuantityReadError } from './occurrence-quantity-read-error.js';
|
|
44
45
|
export { parseSourceHeader } from './source-header.js';
|
|
45
46
|
export { attachDataStoreAccessors } from './data-store-accessors.js';
|
|
46
47
|
export { buildDropCensus } from './drop-census.js';
|
|
@@ -51,10 +52,11 @@ export { createSyntheticDataStore } from './synthetic-data-store.js';
|
|
|
51
52
|
export { parseIfcx, parseFederatedIfcx, addIfcxOverlay, detectFormat, composeIfcx, composeFederated, createLayerStack, createPathIndex, parsePath, } from '@ifc-lite/ifcx';
|
|
52
53
|
// New extractors with 100% schema coverage
|
|
53
54
|
export { extractMaterials, getMaterialForElement, getMaterialNameForElement } from './material-extractor.js';
|
|
55
|
+
export { materialAssignmentsAvailable } from './material-overlay.js';
|
|
54
56
|
export { extractGeoreferencing, computeTransformMatrix, transformToWorld, transformToLocal, getCoordinateSystemDescription, computeAngleToGridNorth } from './georef-extractor.js';
|
|
55
57
|
export { extractClassifications, getClassificationsForElement, getClassificationCodeForElement, getClassificationPath, groupElementsByClassification } from './classification-extractor.js';
|
|
56
58
|
// 4D scheduling extractor: tasks, sequences, schedules, calendars and recurrence data.
|
|
57
|
-
export { extractScheduleOnDemand, parseIso8601Duration, } from './schedule-extractor.js';
|
|
59
|
+
export { extractScheduleOnDemand, parseIso8601Duration, taskProductExpressIds, taskProductGlobalIds, } from './schedule-extractor.js';
|
|
58
60
|
// Structural analysis extractor — IfcStructuralAnalysisModel, the
|
|
59
61
|
// IfcStructuralMember / IfcStructuralConnection / IfcStructuralActivity
|
|
60
62
|
// branches, IfcStructuralLoadGroup / IfcStructuralLoadCase,
|
|
@@ -77,10 +79,7 @@ export { secondsToIso8601Duration } from './iso8601-duration.js';
|
|
|
77
79
|
// generator, user-authored tasks). Never re-implement this; always
|
|
78
80
|
// import from here.
|
|
79
81
|
export { deterministicGlobalId } from './deterministic-global-id.js';
|
|
80
|
-
|
|
81
|
-
export { SCHEMA_REGISTRY, getEntityMetadata, getAllAttributesForEntity, getInheritanceChainForEntity, isKnownEntity } from './generated/schema-registry.js';
|
|
82
|
-
export { getSchemaRegistryForVersion, } from './generated/schema-registry-by-version.js';
|
|
83
|
-
export * from './generated/enums.js';
|
|
82
|
+
export * from './schema-exports.js';
|
|
84
83
|
// STEP serialization support for IFC export
|
|
85
84
|
export { serializeValue, toStepLine, generateHeader, generateStepFile, parseStepValue, ref, enumVal, isEntityRef, isEnumValue, } from './generated/serializers.js';
|
|
86
85
|
export * from './types.js';
|
|
@@ -102,10 +101,7 @@ export * from './types.js';
|
|
|
102
101
|
// choice is the safe one. That is a rename across every consumer and does not
|
|
103
102
|
// belong in a fix PR; it needs its own.
|
|
104
103
|
export { getAttributeNames, getAttributeNamesAcrossSchemas, getAttributeNamesForSchema, getAttributeTypeForSchema, getAttributeNameAt, isKnownType, isInstantiable, isQueryableObjectType, normalizeIfcTypeName, resolveEntityNameAlias, getInheritanceChain as getInheritanceChainAcrossSchemas } from './ifc-schema.js';
|
|
105
|
-
export
|
|
106
|
-
export { resolveEffectiveRelationshipOverlay, effectiveRelationshipEdges } from './effective-relationship-overlay.js';
|
|
107
|
-
export { effectiveSpatialMemberIds } from './effective-spatial-members.js';
|
|
108
|
-
export { effectiveStoreyId } from './effective-storey.js';
|
|
104
|
+
export * from './native-metadata-public.js';
|
|
109
105
|
import { EntityIndexBuilder } from './entity-index.js';
|
|
110
106
|
import { EntityExtractor } from './entity-extractor.js';
|
|
111
107
|
import { PropertyExtractor } from './property-extractor.js';
|
|
@@ -219,4 +215,5 @@ export async function parseAuto(buffer, options = {}) {
|
|
|
219
215
|
}
|
|
220
216
|
throw new Error('Unknown file format. Expected IFC (STEP) or IFCX (JSON).');
|
|
221
217
|
}
|
|
218
|
+
export { findSourceProjectLengthUnit, normalizeMapUnitName } from './source-project-length-unit.js';
|
|
222
219
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAE/D;;;GAGG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,gFAAgF;AAChF,wEAAwE;AACxE,0EAA0E;AAC1E,8EAA8E;AAC9E,wBAAwB;AACxB,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAExF,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,oBAAoB,EAAwB,MAAM,qBAAqB,CAAC;AACzH,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,0EAA0E;AAC1E,8EAA8E;AAC9E,6EAA6E;AAC7E,+EAA+E;AAC/E,2EAA2E;AAC3E,6EAA6E;AAC7E,sEAAsE;AACtE,OAAO,EACL,aAAa,EACb,qBAAqB,EACrB,aAAa,EACb,2BAA2B,EAC3B,qBAAqB,EACrB,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,cAAc,EACd,oBAAoB,EACpB,qBAAqB,GAEtB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,kBAAkB,EAClB,mBAAmB,GAGpB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACnH,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,OAAO,EAAE,YAAY,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACzG,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AACxF,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,EACL,qBAAqB,EAAE,sBAAsB,EAC7C,4BAA4B,EAC5B,yBAAyB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAE/D;;;GAGG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,gFAAgF;AAChF,wEAAwE;AACxE,0EAA0E;AAC1E,8EAA8E;AAC9E,wBAAwB;AACxB,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAExF,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,oBAAoB,EAAwB,MAAM,qBAAqB,CAAC;AACzH,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,0EAA0E;AAC1E,8EAA8E;AAC9E,6EAA6E;AAC7E,+EAA+E;AAC/E,2EAA2E;AAC3E,6EAA6E;AAC7E,sEAAsE;AACtE,OAAO,EACL,aAAa,EACb,qBAAqB,EACrB,aAAa,EACb,2BAA2B,EAC3B,qBAAqB,EACrB,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,cAAc,EACd,oBAAoB,EACpB,qBAAqB,GAEtB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,kBAAkB,EAClB,mBAAmB,GAGpB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACnH,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,OAAO,EAAE,YAAY,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACzG,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AACxF,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,EACL,qBAAqB,EAAE,sBAAsB,EAC7C,4BAA4B,EAC5B,yBAAyB,GAE1B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,mBAAmB,EACnB,WAAW,EACX,YAAY,GAGb,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC/F,OAAO,EAAE,cAAc,EAA2C,yBAAyB,EAAE,yBAAyB,EAAE,+BAA+B,EAAE,0BAA0B,EAAE,qBAAqB,EAAE,+BAA+B,EAAE,8BAA8B,EAAE,oCAAoC,EAAE,wBAAwB,EAAE,2BAA2B,EAAE,iCAAiC,EAAE,sCAAsC,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,6BAA6B,EAAE,8BAA8B,EAAE,6BAA6B,EAAE,8BAA8B,EAAE,0BAA0B,EAAE,0BAA0B,EAAE,wBAAwB,EAAE,4BAA4B,EAAE,sBAAsB,EAAE,2BAA2B,EAAE,oCAAoC,EAAE,6BAA6B,EAA0U,MAAM,sBAAsB,CAAC;AACtvC,OAAO,EAAE,2BAA2B,EAAE,MAAM,qCAAqC,CAAC;AAGlF,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAEvD,OAAO,EAAE,wBAAwB,EAAqB,MAAM,2BAA2B,CAAC;AACxF,OAAO,EAAE,eAAe,EAAmF,MAAM,kBAAkB,CAAC;AACpI,OAAO,EAAE,wBAAwB,EAAwD,MAAM,2BAA2B,CAAC;AAC3H,0DAA0D;AAC1D,iDAAiD;AAEjD,sDAAsD;AACtD,OAAO,EACL,SAAS,EACT,kBAAkB,EAClB,cAAc,EACd,YAAY,EACZ,WAAW,EACX,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,SAAS,GAcV,MAAM,gBAAgB,CAAC;AACxB,2CAA2C;AAC3C,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,yBAAyB,EAAgF,MAAM,yBAAyB,CAAC;AAC3L,OAAO,EAAE,4BAA4B,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,8BAA8B,EAAE,uBAAuB,EAAgE,MAAM,uBAAuB,CAAC;AACjP,OAAO,EAAE,sBAAsB,EAAE,4BAA4B,EAAE,+BAA+B,EAAE,qBAAqB,EAAE,6BAA6B,EAA+E,MAAM,+BAA+B,CAAC;AAEzQ,uFAAuF;AACvF,OAAO,EACL,uBAAuB,EACvB,oBAAoB,EAAE,qBAAqB,EAAE,oBAAoB,GASlE,MAAM,yBAAyB,CAAC;AAEjC,kEAAkE;AAClE,wEAAwE;AACxE,4DAA4D;AAC5D,yEAAyE;AACzE,0BAA0B;AAC1B,OAAO,EACL,yBAAyB,GAc1B,MAAM,2BAA2B,CAAC;AAEnC,wEAAwE;AACxE,sDAAsD;AACtD,OAAO,EACL,uBAAuB,GAGxB,MAAM,0BAA0B,CAAC;AAElC,iFAAiF;AACjF,gEAAgE;AAChE,cAAc,WAAW,CAAC;AAE1B,6EAA6E;AAC7E,4EAA4E;AAC5E,yEAAyE;AACzE,oDAAoD;AACpD,OAAO,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAEjE,uEAAuE;AACvE,qEAAqE;AACrE,mEAAmE;AACnE,oBAAoB;AACpB,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAErE,cAAc,qBAAqB,CAAC;AAEpC,4CAA4C;AAC5C,OAAO,EACL,cAAc,EACd,UAAU,EACV,cAAc,EACd,gBAAgB,EAChB,cAAc,EACd,GAAG,EACH,OAAO,EACP,WAAW,EACX,WAAW,GAKZ,MAAM,4BAA4B,CAAC;AAEpC,cAAc,YAAY,CAAC;AAC3B,2DAA2D;AAC3D,wEAAwE;AACxE,+EAA+E;AAC/E,8EAA8E;AAC9E,gFAAgF;AAChF,6EAA6E;AAC7E,6EAA6E;AAC7E,sDAAsD;AACtD,EAAE;AACF,6EAA6E;AAC7E,8EAA8E;AAC9E,gFAAgF;AAChF,iFAAiF;AACjF,mEAAmE;AACnE,gFAAgF;AAChF,8EAA8E;AAC9E,wCAAwC;AACxC,OAAO,EAAE,iBAAiB,EAAE,8BAA8B,EAAE,0BAA0B,EAAE,yBAAyB,EAAE,kBAAkB,EAAE,WAAW,EAAE,cAAc,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,mBAAmB,IAAI,gCAAgC,EAAE,MAAM,iBAAiB,CAAC;AAC1T,cAAc,6BAA6B,CAAC;AAE5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAqB,MAAM,sBAAsB,CAAC;AAC7E,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAgD,MAAM,qBAAqB,CAAC;AAyB1H,MAAM,SAAS,GAAG,YAAY,CAAC,WAAW,CAAC,CAAC;AAE5C;;GAEG;AACH,MAAM,OAAO,SAAS;IACpB;;;;;OAKG;IACH,KAAK,CAAC,KAAK,CAAC,MAAmB,EAAE,UAAwB,EAAE;QACzD,MAAM,WAAW,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC;QAE3C,6BAA6B;QAC7B,OAAO,CAAC,UAAU,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;QACpD,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,eAAe,CAAC,MAAM,EAAE;YACnD,GAAG,OAAO;YACV,UAAU,EAAE,SAAS;YACrB,YAAY,EAAE,SAAS;SACxB,CAAC,CAAC;QACH,MAAM,YAAY,GAAG,IAAI,kBAAkB,EAAE,CAAC;QAC9C,KAAK,MAAM,GAAG,IAAI,UAAU;YAAE,YAAY,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QAE1D,MAAM,WAAW,GAAG,YAAY,CAAC,KAAK,EAAE,CAAC;QACzC,OAAO,CAAC,UAAU,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;QAEtD,4BAA4B;QAC5B,OAAO,CAAC,UAAU,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;QACvD,MAAM,SAAS,GAAG,IAAI,eAAe,CAAC,WAAW,CAAC,CAAC;QACnD,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAqB,CAAC;QAE9C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC3C,MAAM,GAAG,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;YAC1B,MAAM,MAAM,GAAG,SAAS,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;YAC5C,IAAI,MAAM,EAAE,CAAC;gBACX,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;YACtC,CAAC;YACD,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,KAAK,CAAC,EAAE,CAAC;gBACzB,OAAO,CAAC,UAAU,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC;YAC3F,CAAC;QACH,CAAC;QAED,OAAO,CAAC,UAAU,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;QAEzD,8BAA8B;QAC9B,OAAO,CAAC,UAAU,EAAE,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;QAC1D,MAAM,iBAAiB,GAAG,IAAI,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QAC1D,MAAM,YAAY,GAAG,iBAAiB,CAAC,mBAAmB,EAAE,CAAC;QAC7D,OAAO,CAAC,UAAU,EAAE,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;QAE5D,iCAAiC;QACjC,OAAO,CAAC,UAAU,EAAE,CAAC,EAAE,KAAK,EAAE,eAAe,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;QAC7D,MAAM,qBAAqB,GAAG,IAAI,qBAAqB,CAAC,QAAQ,CAAC,CAAC;QAClE,MAAM,aAAa,GAAG,qBAAqB,CAAC,oBAAoB,EAAE,CAAC;QACnE,OAAO,CAAC,UAAU,EAAE,CAAC,EAAE,KAAK,EAAE,eAAe,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;QAE/D,OAAO;YACL,QAAQ;YACR,YAAY;YACZ,aAAa;YACb,WAAW;YACX,QAAQ,EAAE,MAAM,CAAC,UAAU;YAC3B,WAAW,EAAE,QAAQ,CAAC,IAAI;SAC3B,CAAC;IACJ,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,aAAa,CACjB,MAAuC,EACvC,UAAwB,EAAE;QAE1B,MAAM,EAAE,UAAU,EAAE,aAAa,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,MAAM,oBAAoB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAClH,SAAS,CAAC,KAAK,CAAC,cAAc,SAAS,gBAAgB,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,QAAQ,GAAG,CAAC,CAAC;QAEpG,+DAA+D;QAC/D,MAAM,SAAS,GAAG,MAAM,kBAAkB,CAAC,MAAM,EAAE,aAAa,IAAI,UAAU,EAAE,OAAO,CAAC,CAAC;QACzF,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAED,yBAAyB;AACzB,OAAO,EAAE,SAAS,EAAE,YAAY,EAAuD,MAAM,gBAAgB,CAAC;AAe9G;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,MAAmB,EACnB,UAAwB,EAAE;IAE1B,uEAAuE;IACvE,uEAAuE;IACvE,mBAAmB;IACnB,MAAM,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC,CAAC;IACpC,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IAEpC,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;QACtB,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAChD,OAAO;YACL,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,MAAM;YACZ,MAAM,EAAE,MAAM,CAAC,MAAM;SACtB,CAAC;IACJ,CAAC;IAED,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;QACrB,MAAM,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;QAC/B,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACzD,OAAO;YACL,MAAM,EAAE,KAAK;YACb,IAAI;SACL,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;AAC9E,CAAC;AAED,OAAO,EAAE,2BAA2B,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Where a project length-unit scale came from (#7395), shared by the unit
|
|
3
|
+
* walk in `unit-extractor.ts` and the parse in `columnar-parser.ts`.
|
|
4
|
+
*
|
|
5
|
+
* `declared` when the project's IFCUNITASSIGNMENT declares a LENGTHUNIT
|
|
6
|
+
* that resolves; `default` when the scale is the unconfirmed 1.0 (metres)
|
|
7
|
+
* every other path falls back to (#2104).
|
|
8
|
+
*/
|
|
9
|
+
export type LengthUnitSource = 'declared' | 'default';
|
|
10
|
+
/** A resolved project length unit: its scale, where it came from, and why it defaulted. */
|
|
11
|
+
export interface ResolvedLengthUnit {
|
|
12
|
+
scale: number;
|
|
13
|
+
source: LengthUnitSource;
|
|
14
|
+
/** Why the scale defaulted to metres; set only when `source` is `default`. */
|
|
15
|
+
reason?: string;
|
|
16
|
+
}
|
|
17
|
+
export declare const declared: (scale: number) => ResolvedLengthUnit;
|
|
18
|
+
export declare const defaulted: (reason: string) => ResolvedLengthUnit;
|
|
19
|
+
/**
|
|
20
|
+
* The sentence both channels carry for a unit that defaulted to metres: the
|
|
21
|
+
* console prefixes it with `[UnitExtractor] ` (unchanged since #2104), and
|
|
22
|
+
* `onDiagnostic` with `units: `, so the two cannot drift apart.
|
|
23
|
+
*/
|
|
24
|
+
export declare function unknownUnitMessage(reason: string): string;
|
|
25
|
+
//# sourceMappingURL=length-unit-source.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"length-unit-source.d.ts","sourceRoot":"","sources":["../src/length-unit-source.ts"],"names":[],"mappings":"AAIA;;;;;;;GAOG;AACH,MAAM,MAAM,gBAAgB,GAAG,UAAU,GAAG,SAAS,CAAC;AAEtD,2FAA2F;AAC3F,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,gBAAgB,CAAC;IACzB,8EAA8E;IAC9E,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,eAAO,MAAM,QAAQ,GAAI,OAAO,MAAM,KAAG,kBAAqD,CAAC;AAC/F,eAAO,MAAM,SAAS,GAAI,QAAQ,MAAM,KAAG,kBAAiE,CAAC;AAE7G;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAEzD"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
2
|
+
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
3
|
+
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
|
|
4
|
+
export const declared = (scale) => ({ scale, source: 'declared' });
|
|
5
|
+
export const defaulted = (reason) => ({ scale: 1.0, source: 'default', reason });
|
|
6
|
+
/**
|
|
7
|
+
* The sentence both channels carry for a unit that defaulted to metres: the
|
|
8
|
+
* console prefixes it with `[UnitExtractor] ` (unchanged since #2104), and
|
|
9
|
+
* `onDiagnostic` with `units: `, so the two cannot drift apart.
|
|
10
|
+
*/
|
|
11
|
+
export function unknownUnitMessage(reason) {
|
|
12
|
+
return `${reason}, defaulting to meters (unconfirmed — see issue #2104)`;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=length-unit-source.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"length-unit-source.js","sourceRoot":"","sources":["../src/length-unit-source.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAoB/D,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,KAAa,EAAsB,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;AAC/F,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,MAAc,EAAsB,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC;AAE7G;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,MAAc;IAC/C,OAAO,GAAG,MAAM,wDAAwD,CAAC;AAC3E,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { IfcDataStore } from './columnar-parser.js';
|
|
2
|
+
import type { MaterialRecordReader } from './material-overlay.js';
|
|
3
|
+
import type { MaterialInfo } from './material-resolver.js';
|
|
4
|
+
/**
|
|
5
|
+
* Resolve a material entity by ID, handling all IFC material types. `visited`
|
|
6
|
+
* guards cyclic *Usage references; `originEntityId` (the calling element/type)
|
|
7
|
+
* lets a layer's thickness resolve its own project's unit scale below.
|
|
8
|
+
*/
|
|
9
|
+
export declare function resolveMaterial(store: IfcDataStore, read: MaterialRecordReader, materialId: number, visited?: Set<number>, originEntityId?: number): MaterialInfo | null;
|
|
10
|
+
//# sourceMappingURL=material-definitions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"material-definitions.d.ts","sourceRoot":"","sources":["../src/material-definitions.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,KAAK,EAAE,YAAY,EAAmE,MAAM,wBAAwB,CAAC;AAE5H;;;;GAIG;AACH,wBAAgB,eAAe,CAC3B,KAAK,EAAE,YAAY,EACnB,IAAI,EAAE,oBAAoB,EAC1B,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE,GAAG,CAAC,MAAM,CAAa,EAAE,cAAc,CAAC,EAAE,MAAM,GAC1D,YAAY,GAAG,IAAI,CAkNrB"}
|
|
@@ -0,0 +1,224 @@
|
|
|
1
|
+
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
2
|
+
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
3
|
+
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
|
|
4
|
+
/** The existing native material shape decoder, fed by canonical effective records (#7119). */
|
|
5
|
+
import { getBoolean, getNumber, getReference, getReferences } from './attribute-helpers.js';
|
|
6
|
+
import { resolveEntityLengthUnitScale } from './unit-extractor.js';
|
|
7
|
+
/**
|
|
8
|
+
* Resolve a material entity by ID, handling all IFC material types. `visited`
|
|
9
|
+
* guards cyclic *Usage references; `originEntityId` (the calling element/type)
|
|
10
|
+
* lets a layer's thickness resolve its own project's unit scale below.
|
|
11
|
+
*/
|
|
12
|
+
export function resolveMaterial(store, read, materialId, visited = new Set(), originEntityId) {
|
|
13
|
+
while (true) {
|
|
14
|
+
if (visited.has(materialId))
|
|
15
|
+
return null;
|
|
16
|
+
visited.add(materialId);
|
|
17
|
+
const entity = read(materialId);
|
|
18
|
+
if (!entity)
|
|
19
|
+
return null;
|
|
20
|
+
const typeUpper = entity.type.toUpperCase();
|
|
21
|
+
const attrs = entity.attributes || [];
|
|
22
|
+
let unresolved = false;
|
|
23
|
+
if (typeUpper === 'IFCMATERIALLAYERSETUSAGE' || typeUpper === 'IFCMATERIALPROFILESETUSAGE') {
|
|
24
|
+
const next = getReference(attrs[0]);
|
|
25
|
+
if (next === undefined)
|
|
26
|
+
return null;
|
|
27
|
+
materialId = next;
|
|
28
|
+
continue;
|
|
29
|
+
}
|
|
30
|
+
switch (typeUpper) {
|
|
31
|
+
case 'IFCMATERIAL': {
|
|
32
|
+
// IfcMaterial: [Name, Description, Category]
|
|
33
|
+
return {
|
|
34
|
+
type: 'Material',
|
|
35
|
+
name: typeof attrs[0] === 'string' ? attrs[0] : undefined,
|
|
36
|
+
description: typeof attrs[1] === 'string' ? attrs[1] : undefined,
|
|
37
|
+
category: typeof attrs[2] === 'string' ? attrs[2] : undefined,
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
case 'IFCMATERIALLAYERSET': {
|
|
41
|
+
// IfcMaterialLayerSet: [MaterialLayers, LayerSetName, Description]
|
|
42
|
+
const layerIds = getReferences(attrs[0]) ?? [];
|
|
43
|
+
const layers = [];
|
|
44
|
+
for (const layerId of layerIds) {
|
|
45
|
+
// @raw-entity-enumeration-ok decode this material set's referenced layer record
|
|
46
|
+
const layerRef = read(layerId);
|
|
47
|
+
if (!layerRef || layerRef.type.toUpperCase() !== 'IFCMATERIALLAYER') {
|
|
48
|
+
unresolved = true;
|
|
49
|
+
continue;
|
|
50
|
+
}
|
|
51
|
+
const layerEntity = layerRef;
|
|
52
|
+
if (!layerEntity)
|
|
53
|
+
continue;
|
|
54
|
+
const la = layerEntity.attributes || [];
|
|
55
|
+
// IfcMaterialLayer: [Material, LayerThickness, IsVentilated, Name, Description, Category, Priority]
|
|
56
|
+
const matId = getReference(la[0]);
|
|
57
|
+
let materialName;
|
|
58
|
+
let materialCategory;
|
|
59
|
+
if (matId && read(matId)?.type.toUpperCase() !== 'IFCMATERIAL')
|
|
60
|
+
unresolved = true;
|
|
61
|
+
if (matId) {
|
|
62
|
+
// @raw-entity-enumeration-ok decode the layer's referenced material record
|
|
63
|
+
const matRef = read(matId);
|
|
64
|
+
if (matRef?.type.toUpperCase() === 'IFCMATERIAL') {
|
|
65
|
+
const matEntity = matRef;
|
|
66
|
+
if (matEntity) {
|
|
67
|
+
materialName = typeof matEntity.attributes?.[0] === 'string' ? matEntity.attributes[0] : undefined;
|
|
68
|
+
materialCategory = typeof matEntity.attributes?.[2] === 'string' ? matEntity.attributes[2] : undefined;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
// Convert raw IFC value to metres (a 60 mm slab must not read
|
|
73
|
+
// "60.0 m"). `store.lengthUnitScale` answers for the file's
|
|
74
|
+
// FIRST IfcProject only, wrong for a MergedExporter federated
|
|
75
|
+
// layer in a LATER project — resolve per `originEntityId`.
|
|
76
|
+
const rawThickness = getNumber(la[1]);
|
|
77
|
+
const scale = originEntityId !== undefined ? resolveEntityLengthUnitScale(store.source, store.entityIndex, store.relationships, originEntityId) : (store.lengthUnitScale ?? 1);
|
|
78
|
+
const thickness = rawThickness !== undefined ? rawThickness * scale : undefined;
|
|
79
|
+
layers.push({
|
|
80
|
+
materialName,
|
|
81
|
+
thickness,
|
|
82
|
+
isVentilated: getBoolean(la[2]),
|
|
83
|
+
name: typeof la[3] === 'string' ? la[3] : undefined,
|
|
84
|
+
category: typeof la[5] === 'string' ? la[5] : undefined,
|
|
85
|
+
materialCategory,
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
return {
|
|
89
|
+
type: 'MaterialLayerSet',
|
|
90
|
+
name: typeof attrs[1] === 'string' ? attrs[1] : undefined,
|
|
91
|
+
description: typeof attrs[2] === 'string' ? attrs[2] : undefined,
|
|
92
|
+
layers, ...(unresolved ? { unresolved: true } : {}),
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
case 'IFCMATERIALPROFILESET': {
|
|
96
|
+
// IfcMaterialProfileSet: [Name, Description, MaterialProfiles, CompositeProfile]
|
|
97
|
+
const profileIds = getReferences(attrs[2]) ?? [];
|
|
98
|
+
const profiles = [];
|
|
99
|
+
for (const profId of profileIds) {
|
|
100
|
+
// @raw-entity-enumeration-ok decode this profile set's referenced profile record
|
|
101
|
+
const profRef = read(profId);
|
|
102
|
+
if (!profRef || profRef.type.toUpperCase() !== 'IFCMATERIALPROFILE') {
|
|
103
|
+
unresolved = true;
|
|
104
|
+
continue;
|
|
105
|
+
}
|
|
106
|
+
const profEntity = profRef;
|
|
107
|
+
if (!profEntity)
|
|
108
|
+
continue;
|
|
109
|
+
const pa = profEntity.attributes || [];
|
|
110
|
+
// IfcMaterialProfile: [Name, Description, Material, Profile, Priority, Category]
|
|
111
|
+
const matId = getReference(pa[2]);
|
|
112
|
+
let materialName;
|
|
113
|
+
let materialCategory;
|
|
114
|
+
if (matId && read(matId)?.type.toUpperCase() !== 'IFCMATERIAL')
|
|
115
|
+
unresolved = true;
|
|
116
|
+
if (matId) {
|
|
117
|
+
// @raw-entity-enumeration-ok decode the profile's referenced material record
|
|
118
|
+
const matRef = read(matId);
|
|
119
|
+
if (matRef?.type.toUpperCase() === 'IFCMATERIAL') {
|
|
120
|
+
const matEntity = matRef;
|
|
121
|
+
if (matEntity) {
|
|
122
|
+
materialName = typeof matEntity.attributes?.[0] === 'string' ? matEntity.attributes[0] : undefined;
|
|
123
|
+
materialCategory = typeof matEntity.attributes?.[2] === 'string' ? matEntity.attributes[2] : undefined;
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
profiles.push({
|
|
128
|
+
materialName,
|
|
129
|
+
name: typeof pa[0] === 'string' ? pa[0] : undefined,
|
|
130
|
+
category: typeof pa[5] === 'string' ? pa[5] : undefined,
|
|
131
|
+
materialCategory,
|
|
132
|
+
});
|
|
133
|
+
}
|
|
134
|
+
return {
|
|
135
|
+
type: 'MaterialProfileSet',
|
|
136
|
+
name: typeof attrs[0] === 'string' ? attrs[0] : undefined,
|
|
137
|
+
description: typeof attrs[1] === 'string' ? attrs[1] : undefined,
|
|
138
|
+
profiles, ...(unresolved ? { unresolved: true } : {}),
|
|
139
|
+
};
|
|
140
|
+
}
|
|
141
|
+
case 'IFCMATERIALCONSTITUENTSET': {
|
|
142
|
+
// IfcMaterialConstituentSet: [Name, Description, MaterialConstituents]
|
|
143
|
+
const constituentIds = getReferences(attrs[2]) ?? [];
|
|
144
|
+
const constituents = [];
|
|
145
|
+
for (const constId of constituentIds) {
|
|
146
|
+
// @raw-entity-enumeration-ok decode this constituent set's referenced constituent record
|
|
147
|
+
const constRef = read(constId);
|
|
148
|
+
if (!constRef || constRef.type.toUpperCase() !== 'IFCMATERIALCONSTITUENT') {
|
|
149
|
+
unresolved = true;
|
|
150
|
+
continue;
|
|
151
|
+
}
|
|
152
|
+
const constEntity = constRef;
|
|
153
|
+
if (!constEntity)
|
|
154
|
+
continue;
|
|
155
|
+
const ca = constEntity.attributes || [];
|
|
156
|
+
// IfcMaterialConstituent: [Name, Description, Material, Fraction, Category]
|
|
157
|
+
const matId = getReference(ca[2]);
|
|
158
|
+
let materialName;
|
|
159
|
+
let materialCategory;
|
|
160
|
+
if (matId && read(matId)?.type.toUpperCase() !== 'IFCMATERIAL')
|
|
161
|
+
unresolved = true;
|
|
162
|
+
if (matId) {
|
|
163
|
+
// @raw-entity-enumeration-ok decode the constituent's referenced material record
|
|
164
|
+
const matRef = read(matId);
|
|
165
|
+
if (matRef?.type.toUpperCase() === 'IFCMATERIAL') {
|
|
166
|
+
const matEntity = matRef;
|
|
167
|
+
if (matEntity) {
|
|
168
|
+
materialName = typeof matEntity.attributes?.[0] === 'string' ? matEntity.attributes[0] : undefined;
|
|
169
|
+
// IfcMaterial: [Name, Description, Category] — IDS material
|
|
170
|
+
// checks consider both the constituent's own category AND
|
|
171
|
+
// the underlying IfcMaterial.Category as candidates for
|
|
172
|
+
// a value match.
|
|
173
|
+
materialCategory = typeof matEntity.attributes?.[2] === 'string' ? matEntity.attributes[2] : undefined;
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
constituents.push({
|
|
178
|
+
materialName,
|
|
179
|
+
name: typeof ca[0] === 'string' ? ca[0] : undefined,
|
|
180
|
+
fraction: getNumber(ca[3]),
|
|
181
|
+
category: typeof ca[4] === 'string' ? ca[4] : undefined,
|
|
182
|
+
materialCategory,
|
|
183
|
+
});
|
|
184
|
+
}
|
|
185
|
+
return {
|
|
186
|
+
type: 'MaterialConstituentSet',
|
|
187
|
+
name: typeof attrs[0] === 'string' ? attrs[0] : undefined,
|
|
188
|
+
description: typeof attrs[1] === 'string' ? attrs[1] : undefined,
|
|
189
|
+
constituents, ...(unresolved ? { unresolved: true } : {}),
|
|
190
|
+
};
|
|
191
|
+
}
|
|
192
|
+
case 'IFCMATERIALLIST': {
|
|
193
|
+
// IfcMaterialList: [Materials]
|
|
194
|
+
const matIds = getReferences(attrs[0]) ?? [];
|
|
195
|
+
const materials = [];
|
|
196
|
+
for (const matId of matIds) {
|
|
197
|
+
// @raw-entity-enumeration-ok decode this material list's referenced material record
|
|
198
|
+
const matRef = read(matId);
|
|
199
|
+
if (!matRef || matRef.type.toUpperCase() !== 'IFCMATERIAL') {
|
|
200
|
+
unresolved = true;
|
|
201
|
+
continue;
|
|
202
|
+
}
|
|
203
|
+
const matEntity = matRef;
|
|
204
|
+
if (matEntity) {
|
|
205
|
+
// STEP null is a fully read unset Name, not missing material data (#7211).
|
|
206
|
+
if (matEntity.attributes?.[0] !== null && typeof matEntity.attributes?.[0] !== 'string')
|
|
207
|
+
unresolved = true;
|
|
208
|
+
const name = typeof matEntity.attributes?.[0] === 'string'
|
|
209
|
+
? matEntity.attributes[0] : `Material #${matId}`;
|
|
210
|
+
const category = typeof matEntity.attributes?.[2] === 'string' ? matEntity.attributes[2] : undefined;
|
|
211
|
+
materials.push({ name, ...(category ? { category } : {}) });
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
return {
|
|
215
|
+
type: 'MaterialList',
|
|
216
|
+
materials, ...(unresolved ? { unresolved: true } : {}),
|
|
217
|
+
};
|
|
218
|
+
}
|
|
219
|
+
default:
|
|
220
|
+
return null;
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
//# sourceMappingURL=material-definitions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"material-definitions.js","sourceRoot":"","sources":["../src/material-definitions.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAE/D,8FAA8F;AAC9F,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC5F,OAAO,EAAE,4BAA4B,EAAE,MAAM,qBAAqB,CAAC;AAKnE;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAC3B,KAAmB,EACnB,IAA0B,EAC1B,UAAkB,EAClB,UAAuB,IAAI,GAAG,EAAE,EAAE,cAAuB;IAEzD,OAAO,IAAI,EAAE,CAAC;QACd,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC;YAAE,OAAO,IAAI,CAAC;QACzC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAExB,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC;QAChC,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC;QAEzB,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QAC5C,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC;QACtC,IAAI,UAAU,GAAG,KAAK,CAAC;QAEvB,IAAI,SAAS,KAAK,0BAA0B,IAAI,SAAS,KAAK,4BAA4B,EAAE,CAAC;YACzF,MAAM,IAAI,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACpC,IAAI,IAAI,KAAK,SAAS;gBAAE,OAAO,IAAI,CAAC;YACpC,UAAU,GAAG,IAAI,CAAC;YAAC,SAAS;QAChC,CAAC;QACD,QAAQ,SAAS,EAAE,CAAC;YAChB,KAAK,aAAa,CAAC,CAAC,CAAC;gBACjB,6CAA6C;gBAC7C,OAAO;oBACH,IAAI,EAAE,UAAU;oBAChB,IAAI,EAAE,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;oBACzD,WAAW,EAAE,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;oBAChE,QAAQ,EAAE,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;iBAChE,CAAC;YACN,CAAC;YAED,KAAK,qBAAqB,CAAC,CAAC,CAAC;gBACzB,mEAAmE;gBACnE,MAAM,QAAQ,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBAC/C,MAAM,MAAM,GAAwB,EAAE,CAAC;gBAEvC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;oBAC7B,gFAAgF;oBAChF,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;oBAC/B,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,kBAAkB,EAAE,CAAC;wBAAC,UAAU,GAAG,IAAI,CAAC;wBAAC,SAAS;oBAAC,CAAC;oBACrG,MAAM,WAAW,GAAG,QAAQ,CAAC;oBAC7B,IAAI,CAAC,WAAW;wBAAE,SAAS;oBAE3B,MAAM,EAAE,GAAG,WAAW,CAAC,UAAU,IAAI,EAAE,CAAC;oBACxC,oGAAoG;oBACpG,MAAM,KAAK,GAAG,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;oBAClC,IAAI,YAAgC,CAAC;oBACrC,IAAI,gBAAoC,CAAC;oBACzC,IAAI,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,WAAW,EAAE,KAAK,aAAa;wBAAE,UAAU,GAAG,IAAI,CAAC;oBAClF,IAAI,KAAK,EAAE,CAAC;wBACR,2EAA2E;wBAC3E,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;wBAC3B,IAAI,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,KAAK,aAAa,EAAE,CAAC;4BAC/C,MAAM,SAAS,GAAG,MAAM,CAAC;4BACzB,IAAI,SAAS,EAAE,CAAC;gCACZ,YAAY,GAAG,OAAO,SAAS,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gCACnG,gBAAgB,GAAG,OAAO,SAAS,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;4BAC3G,CAAC;wBACL,CAAC;oBACL,CAAC;oBAED,8DAA8D;oBAC9D,4DAA4D;oBAC5D,8DAA8D;oBAC9D,2DAA2D;oBAC3D,MAAM,YAAY,GAAG,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;oBACtC,MAAM,KAAK,GAAG,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,4BAA4B,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,eAAe,IAAI,CAAC,CAAC,CAAC;oBAC/K,MAAM,SAAS,GAAG,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,YAAY,GAAG,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;oBAChF,MAAM,CAAC,IAAI,CAAC;wBACR,YAAY;wBACZ,SAAS;wBACT,YAAY,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;wBAC/B,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;wBACnD,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;wBACvD,gBAAgB;qBACnB,CAAC,CAAC;gBACP,CAAC;gBAED,OAAO;oBACH,IAAI,EAAE,kBAAkB;oBACxB,IAAI,EAAE,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;oBACzD,WAAW,EAAE,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;oBAChE,MAAM,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACtD,CAAC;YACN,CAAC;YAED,KAAK,uBAAuB,CAAC,CAAC,CAAC;gBAC3B,iFAAiF;gBACjF,MAAM,UAAU,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBACjD,MAAM,QAAQ,GAA0B,EAAE,CAAC;gBAE3C,KAAK,MAAM,MAAM,IAAI,UAAU,EAAE,CAAC;oBAC9B,iFAAiF;oBACjF,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;oBAC7B,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,oBAAoB,EAAE,CAAC;wBAAC,UAAU,GAAG,IAAI,CAAC;wBAAC,SAAS;oBAAC,CAAC;oBACrG,MAAM,UAAU,GAAG,OAAO,CAAC;oBAC3B,IAAI,CAAC,UAAU;wBAAE,SAAS;oBAE1B,MAAM,EAAE,GAAG,UAAU,CAAC,UAAU,IAAI,EAAE,CAAC;oBACvC,iFAAiF;oBACjF,MAAM,KAAK,GAAG,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;oBAClC,IAAI,YAAgC,CAAC;oBACrC,IAAI,gBAAoC,CAAC;oBACzC,IAAI,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,WAAW,EAAE,KAAK,aAAa;wBAAE,UAAU,GAAG,IAAI,CAAC;oBAClF,IAAI,KAAK,EAAE,CAAC;wBACR,6EAA6E;wBAC7E,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;wBAC3B,IAAI,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,KAAK,aAAa,EAAE,CAAC;4BAC/C,MAAM,SAAS,GAAG,MAAM,CAAC;4BACzB,IAAI,SAAS,EAAE,CAAC;gCACZ,YAAY,GAAG,OAAO,SAAS,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gCACnG,gBAAgB,GAAG,OAAO,SAAS,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;4BAC3G,CAAC;wBACL,CAAC;oBACL,CAAC;oBAED,QAAQ,CAAC,IAAI,CAAC;wBACV,YAAY;wBACZ,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;wBACnD,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;wBACvD,gBAAgB;qBACnB,CAAC,CAAC;gBACP,CAAC;gBAED,OAAO;oBACH,IAAI,EAAE,oBAAoB;oBAC1B,IAAI,EAAE,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;oBACzD,WAAW,EAAE,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;oBAChE,QAAQ,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACxD,CAAC;YACN,CAAC;YAED,KAAK,2BAA2B,CAAC,CAAC,CAAC;gBAC/B,uEAAuE;gBACvE,MAAM,cAAc,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBACrD,MAAM,YAAY,GAA8B,EAAE,CAAC;gBAEnD,KAAK,MAAM,OAAO,IAAI,cAAc,EAAE,CAAC;oBACnC,yFAAyF;oBACzF,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;oBAC/B,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,wBAAwB,EAAE,CAAC;wBAAC,UAAU,GAAG,IAAI,CAAC;wBAAC,SAAS;oBAAC,CAAC;oBAC3G,MAAM,WAAW,GAAG,QAAQ,CAAC;oBAC7B,IAAI,CAAC,WAAW;wBAAE,SAAS;oBAE3B,MAAM,EAAE,GAAG,WAAW,CAAC,UAAU,IAAI,EAAE,CAAC;oBACxC,4EAA4E;oBAC5E,MAAM,KAAK,GAAG,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;oBAClC,IAAI,YAAgC,CAAC;oBACrC,IAAI,gBAAoC,CAAC;oBACzC,IAAI,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,WAAW,EAAE,KAAK,aAAa;wBAAE,UAAU,GAAG,IAAI,CAAC;oBAClF,IAAI,KAAK,EAAE,CAAC;wBACR,iFAAiF;wBACjF,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;wBAC3B,IAAI,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,KAAK,aAAa,EAAE,CAAC;4BAC/C,MAAM,SAAS,GAAG,MAAM,CAAC;4BACzB,IAAI,SAAS,EAAE,CAAC;gCACZ,YAAY,GAAG,OAAO,SAAS,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gCACnG,4DAA4D;gCAC5D,0DAA0D;gCAC1D,wDAAwD;gCACxD,iBAAiB;gCACjB,gBAAgB,GAAG,OAAO,SAAS,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;4BAC3G,CAAC;wBACL,CAAC;oBACL,CAAC;oBAED,YAAY,CAAC,IAAI,CAAC;wBACd,YAAY;wBACZ,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;wBACnD,QAAQ,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;wBAC1B,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;wBACvD,gBAAgB;qBACnB,CAAC,CAAC;gBACP,CAAC;gBAED,OAAO;oBACH,IAAI,EAAE,wBAAwB;oBAC9B,IAAI,EAAE,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;oBACzD,WAAW,EAAE,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;oBAChE,YAAY,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAC5D,CAAC;YACN,CAAC;YAED,KAAK,iBAAiB,CAAC,CAAC,CAAC;gBACrB,+BAA+B;gBAC/B,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBAC7C,MAAM,SAAS,GAA+C,EAAE,CAAC;gBAEjE,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;oBACzB,oFAAoF;oBACpF,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;oBAC3B,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,aAAa,EAAE,CAAC;wBAAC,UAAU,GAAG,IAAI,CAAC;wBAAC,SAAS;oBAAC,CAAC;oBAC5F,MAAM,SAAS,GAAG,MAAM,CAAC;oBACzB,IAAI,SAAS,EAAE,CAAC;wBACZ,2EAA2E;wBAC3E,IAAI,SAAS,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,OAAO,SAAS,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,KAAK,QAAQ;4BAAE,UAAU,GAAG,IAAI,CAAC;wBAC3G,MAAM,IAAI,GAAG,OAAO,SAAS,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,KAAK,QAAQ;4BACtD,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,KAAK,EAAE,CAAC;wBACrD,MAAM,QAAQ,GAAG,OAAO,SAAS,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;wBACrG,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;oBAChE,CAAC;gBACL,CAAC;gBAED,OAAO;oBACH,IAAI,EAAE,cAAc;oBACpB,SAAS,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACzD,CAAC;YACN,CAAC;YAED;gBACI,OAAO,IAAI,CAAC;QACpB,CAAC;IACD,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/** Effective native material records and assignments, shared by all material readers (#7119). */
|
|
2
|
+
import { type EffectiveEntityOverlay } from '@ifc-lite/data';
|
|
3
|
+
import type { IfcDataStore } from './columnar-parser.js';
|
|
4
|
+
import { type EffectiveEntityRecord } from './effective-entity-record.js';
|
|
5
|
+
export interface MaterialReadView extends EffectiveEntityOverlay {
|
|
6
|
+
getNewEntities(): ReadonlyArray<{
|
|
7
|
+
readonly expressId: number;
|
|
8
|
+
readonly type: string;
|
|
9
|
+
readonly attributes?: readonly unknown[];
|
|
10
|
+
}>;
|
|
11
|
+
getNewEntity?(id: number): {
|
|
12
|
+
readonly type: string;
|
|
13
|
+
readonly attributes?: readonly unknown[];
|
|
14
|
+
} | null;
|
|
15
|
+
getPositionalMutationsForEntity?(id: number): ReadonlyMap<number, unknown> | null;
|
|
16
|
+
getAttributeMutationsForEntity?(id: number): ReadonlyArray<{
|
|
17
|
+
name: string;
|
|
18
|
+
value: string;
|
|
19
|
+
}>;
|
|
20
|
+
getMutationRevision?(): number;
|
|
21
|
+
getEffectiveChanges?(): ReadonlyArray<{
|
|
22
|
+
entityId: number;
|
|
23
|
+
kind: string;
|
|
24
|
+
}>;
|
|
25
|
+
resolveBaseEntityId?(id: number): number;
|
|
26
|
+
}
|
|
27
|
+
export type MaterialRecordReader = (id: number) => EffectiveEntityRecord | null;
|
|
28
|
+
/** Source-empty accessors may retain closures over bytes the transport did not supply. */
|
|
29
|
+
export declare function materialRecordReader(store: IfcDataStore, view?: MaterialReadView | null): MaterialRecordReader;
|
|
30
|
+
/** Known full membership requires a graph, or a proven overriding occurrence list. */
|
|
31
|
+
export declare function materialAssignmentState(store: IfcDataStore, entityId: number, view?: MaterialReadView | null): {
|
|
32
|
+
ownerId: number;
|
|
33
|
+
defIds: number[];
|
|
34
|
+
complete: boolean;
|
|
35
|
+
};
|
|
36
|
+
/** Whether the supplied model can prove the selected element’s complete material membership. */
|
|
37
|
+
export declare function materialAssignmentsAvailable(store: IfcDataStore, entityId: number, view?: MaterialReadView | null): boolean;
|
|
38
|
+
//# sourceMappingURL=material-overlay.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"material-overlay.d.ts","sourceRoot":"","sources":["../src/material-overlay.ts"],"names":[],"mappings":"AAIA,iGAAiG;AACjG,OAAO,EAA4C,KAAK,sBAAsB,EAAkB,MAAM,gBAAgB,CAAC;AAIvH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAgC,KAAK,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAGxG,MAAM,WAAW,gBAAiB,SAAQ,sBAAsB;IAC9D,cAAc,IAAI,aAAa,CAAC;QAAE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,OAAO,EAAE,CAAA;KAAE,CAAC,CAAC;IACjI,YAAY,CAAC,CAAC,EAAE,EAAE,MAAM,GAAG;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,OAAO,EAAE,CAAA;KAAE,GAAG,IAAI,CAAC;IACtG,+BAA+B,CAAC,CAAC,EAAE,EAAE,MAAM,GAAG,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAClF,8BAA8B,CAAC,CAAC,EAAE,EAAE,MAAM,GAAG,aAAa,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC5F,mBAAmB,CAAC,IAAI,MAAM,CAAC;IAC/B,mBAAmB,CAAC,IAAI,aAAa,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC1E,mBAAmB,CAAC,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;CAC1C;AACD,MAAM,MAAM,oBAAoB,GAAG,CAAC,EAAE,EAAE,MAAM,KAAK,qBAAqB,GAAG,IAAI,CAAC;AAShF,0FAA0F;AAC1F,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,YAAY,EAAE,IAAI,CAAC,EAAE,gBAAgB,GAAG,IAAI,GAAG,oBAAoB,CA6B9G;AAiDD,sFAAsF;AACtF,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,gBAAgB,GAAG,IAAI;;;;EAwB5G;AAED,gGAAgG;AAChG,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,gBAAgB,GAAG,IAAI,GAAG,OAAO,CAE3H"}
|