IFClite TypeScript API
    Preparing search index...

    Interface DropCensusInput

    interface DropCensusInput {
        alwaysRelevantTypes: Set<string>;
        categoryByType: Map<string, DropCategory>;
        knownByType: Map<string, boolean>;
        relSeenTypes: Set<string>;
        relUnindexedTypes: Set<string>;
        rootDescendantByType: Map<string, boolean>;
        scannedByType: Map<string, number>;
    }
    Index
    alwaysRelevantTypes: Set<string>

    Uppercase STEP types the categoriser explicitly intends to retain even though they are not IfcProduct/IfcRoot descendants — e.g. columnar-entity-preparation.ts's RELEVANT_NON_PRODUCT_HELPERS (IFCMATERIAL, IFCSIUNIT, IFCCLASSIFICATION, …). None of these reach IfcRoot in the schema's inheritance chain, so on isRootDescendant alone a regression that dropped one of them from that set would compute isRootDescendant: false and land in expectedSkippedClasses at info severity — indistinguishable from routine geometry/placement noise. Membership here means "the code intends to retain this class regardless of root-descendancy", so a skip is unexpectedSkippedClasses regardless of that check. Passing the set the categoriser already maintains (rather than a second, separately-hand-maintained list here) keeps the two in sync by construction.

    categoryByType: Map<string, DropCategory>

    Retention category assigned to each uppercase STEP type.

    knownByType: Map<string, boolean>

    Whether each uppercase STEP type is known to the schema registry.

    relSeenTypes: Set<string>

    Distinct IFCREL* uppercase types seen.

    relUnindexedTypes: Set<string>

    Distinct IFCREL* uppercase types seen but not indexed as an edge.

    rootDescendantByType: Map<string, boolean>

    Whether each uppercase STEP type's inheritance chain includes IfcRoot. Drives the expectedSkippedClasses / unexpectedSkippedClasses split — see ClassCensusEntry.isRootDescendant.

    scannedByType: Map<string, number>

    Records scanned, keyed by uppercase STEP type.