@ifc-lite/data 2.8.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.
@@ -26,13 +26,38 @@ interface RelationshipGraph {
26
26
  inverse: RelationshipEdges;
27
27
  getRelated(entityId: number, relType: RelationshipType, direction: 'forward' | 'inverse'): number[];
28
28
  }
29
+ /**
30
+ * The structural minimum a store's property table must satisfy — deliberately
31
+ * narrower than the columnar `PropertyTable` in `property-table.ts` so that
32
+ * duck-typed stores (server-converted, cache-restored, synthetic) can satisfy
33
+ * `IfcStoreBase` without owning TypedArray columns.
34
+ *
35
+ * `count` is the number of materialised rows, and it is optional because a
36
+ * duck-typed table need not track one. Consumers may therefore only read an
37
+ * **explicit `count === 0`** as "this table has no rows and so cannot answer
38
+ * `findByProperty`" — a STEP parse leaves the table empty on purpose and reads
39
+ * through `IfcStoreBase.getProperties` instead (issue #577). An absent `count`
40
+ * says nothing and must be treated as "ask `findByProperty`", because every
41
+ * store written before `count` existed on this interface implements
42
+ * `findByProperty` for real.
43
+ */
29
44
  interface PropertyTable {
45
+ readonly count?: number;
30
46
  getForEntity(expressId: number): PropertySet[];
31
47
  getPropertyValue(expressId: number, psetName: string, propName: string): PropertyValue | null;
32
48
  findByProperty(propName: string, operator: string, value: PropertyValue, psetName?: string): number[];
33
49
  }
50
+ /** Structural minimum for a store's quantity table; see {@link PropertyTable}. */
34
51
  interface QuantityTable {
52
+ readonly count?: number;
35
53
  getForEntity(expressId: number): QuantitySet[];
54
+ /**
55
+ * Indexed quantity filter, mirroring `PropertyTable.findByProperty`. Optional:
56
+ * a table that omits it is resolved per candidate through
57
+ * `IfcStoreBase.getQuantities` instead — the same answer, more work. See the
58
+ * columnar implementation in `quantity-table.ts`.
59
+ */
60
+ findByQuantity?(quantityName: string, operator: string, value: PropertyValue, qsetName?: string): number[];
36
61
  }
37
62
  /**
38
63
  * Verbatim HEADER fields captured from a parsed IFC file so a round-trip
@@ -1 +1 @@
1
- {"version":3,"file":"data-store.d.ts","sourceRoot":"","sources":["../src/data-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"data-store.d.ts","sourceRoot":"","sources":["../src/data-store.ts"],"names":[],"mappings":"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"}
@@ -52,8 +52,6 @@ export interface EntityTable {
52
52
  setTypeOverride(expressId: number, typeName: string | null): void;
53
53
  /** Get expressId by IFC GlobalId string (22-char GUID). Returns -1 if not found. */
54
54
  getExpressIdByGlobalId(globalId: string): number;
55
- /** Get all GlobalId → expressId mappings (for BCF integration) */
56
- getGlobalIdMap(): Map<string, number>;
57
55
  }
58
56
  export declare class EntityTableBuilder {
59
57
  private count;
@@ -1 +1 @@
1
- {"version":3,"file":"entity-table.d.ts","sourceRoot":"","sources":["../src/entity-table.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"entity-table.d.ts","sourceRoot":"","sources":["../src/entity-table.ts"],"names":[],"mappings":"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"}
@@ -212,7 +212,6 @@ export function entityTableFromColumns(columns, strings) {
212
212
  typeOverrides.set(id, typeName);
213
213
  },
214
214
  getExpressIdByGlobalId: (gid) => globalIdToExpressId.get(gid) ?? -1,
215
- getGlobalIdMap: () => new Map(globalIdToExpressId),
216
215
  };
217
216
  }
218
217
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"entity-table.js","sourceRoot":"","sources":["../src/entity-table.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"entity-table.js","sourceRoot":"","sources":["../src/entity-table.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -4,7 +4,7 @@
4
4
  export { StringTable } from './string-table.js';
5
5
  export { EntityTableBuilder, entityTableFromColumns, entityTableToColumns } from './entity-table.js';
6
6
  export type { EntityTable, EntityTableColumns } from './entity-table.js';
7
- export { PropertyTableBuilder, propertyTableFromColumns, propertyTableToColumns } from './property-table.js';
7
+ export { PropertyTableBuilder, propertyTableFromColumns, propertyTableToColumns, comparePropertyValues } from './property-table.js';
8
8
  export type { PropertyTable, PropertyTableColumns, PropertySet, Property, PropertyValue } from './property-table.js';
9
9
  export { QuantityTableBuilder, quantityTableFromColumns, quantityTableToColumns } from './quantity-table.js';
10
10
  export type { QuantityTable, QuantityTableColumns, QuantitySet, Quantity } from './quantity-table.js';
@@ -13,6 +13,7 @@ export type { RelationshipGraph, RelationshipEdges, RelationshipEdgesColumns, Re
13
13
  export * from './types.js';
14
14
  export { IfcTypeEnum, PropertyValueType, QuantityType, RelationshipType, EntityFlags } from './types.js';
15
15
  export type { SpatialNode, SpatialHierarchy } from './types.js';
16
+ export { IFC_BUILDING_STOREY_ELEVATION_INDEX, IFC_BUILDING_STOREY_PLACEMENT_INDEX, STOREY_ELEVATION_MATCH_TOLERANCE_M, findStoreyByElevation, } from './storey-elevation.js';
16
17
  export type { IfcStoreBase, IfcSourceHeader } from './data-store.js';
17
18
  export { isEntityRef, isEnumValue, ref, enumVal, serializeValue, formatStepReal, toStepLineWithRegistry, generateHeader, generateStepFileWithRegistry, parseStepValue, } from './step-serializers.js';
18
19
  export type { StepValue, EntityRef, EnumValue, StepEntity, StepSchemaRegistry, } from './step-serializers.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACrG,YAAY,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACzE,OAAO,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAC7G,YAAY,EAAE,aAAa,EAAE,oBAAoB,EAAE,WAAW,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACrH,OAAO,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAC7G,YAAY,EAAE,aAAa,EAAE,oBAAoB,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACtG,OAAO,EACL,wBAAwB,EACxB,QAAQ,EACR,4BAA4B,EAC5B,0BAA0B,EAC1B,4BAA4B,EAC5B,0BAA0B,GAC3B,MAAM,yBAAyB,CAAC;AACjC,YAAY,EACV,iBAAiB,EACjB,iBAAiB,EACjB,wBAAwB,EACxB,wBAAwB,EACxB,IAAI,EACJ,gBAAgB,GACjB,MAAM,yBAAyB,CAAC;AACjC,cAAc,YAAY,CAAC;AAE3B,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,YAAY,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzG,YAAY,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAChE,YAAY,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAGrE,OAAO,EACL,WAAW,EACX,WAAW,EACX,GAAG,EACH,OAAO,EACP,cAAc,EACd,cAAc,EACd,sBAAsB,EACtB,cAAc,EACd,4BAA4B,EAC5B,cAAc,GACf,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EACV,SAAS,EACT,SAAS,EACT,SAAS,EACT,UAAU,EACV,kBAAkB,GACnB,MAAM,uBAAuB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,OAAO,EACL,aAAa,EACb,mBAAmB,EACnB,2BAA2B,EAC3B,gBAAgB,EAChB,WAAW,EACX,eAAe,GAChB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAGzD,OAAO,EACL,WAAW,EACX,eAAe,EACf,kBAAkB,EAClB,YAAY,EACZ,aAAa,EACb,UAAU,EACV,eAAe,EACf,YAAY,EACZ,aAAa,EACb,oBAAoB,EACpB,mBAAmB,EACnB,iBAAiB,EACjB,sBAAsB,GACvB,MAAM,uBAAuB,CAAC;AAM/B,OAAO,EAAE,eAAe,EAAE,MAAM,2CAA2C,CAAC;AAC5E,OAAO,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,2CAA2C,CAAC;AAC5E,YAAY,EACV,gBAAgB,EAChB,eAAe,EACf,aAAa,EACb,eAAe,EACf,kBAAkB,EAClB,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,KAAK,QAAQ,EAAE,KAAK,UAAU,EAAE,MAAM,aAAa,CAAC;AAMnF,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACrG,YAAY,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACzE,OAAO,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AACpI,YAAY,EAAE,aAAa,EAAE,oBAAoB,EAAE,WAAW,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACrH,OAAO,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAC7G,YAAY,EAAE,aAAa,EAAE,oBAAoB,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACtG,OAAO,EACL,wBAAwB,EACxB,QAAQ,EACR,4BAA4B,EAC5B,0BAA0B,EAC1B,4BAA4B,EAC5B,0BAA0B,GAC3B,MAAM,yBAAyB,CAAC;AACjC,YAAY,EACV,iBAAiB,EACjB,iBAAiB,EACjB,wBAAwB,EACxB,wBAAwB,EACxB,IAAI,EACJ,gBAAgB,GACjB,MAAM,yBAAyB,CAAC;AACjC,cAAc,YAAY,CAAC;AAE3B,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,YAAY,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzG,YAAY,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAChE,OAAO,EACL,mCAAmC,EACnC,mCAAmC,EACnC,kCAAkC,EAClC,qBAAqB,GACtB,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAGrE,OAAO,EACL,WAAW,EACX,WAAW,EACX,GAAG,EACH,OAAO,EACP,cAAc,EACd,cAAc,EACd,sBAAsB,EACtB,cAAc,EACd,4BAA4B,EAC5B,cAAc,GACf,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EACV,SAAS,EACT,SAAS,EACT,SAAS,EACT,UAAU,EACV,kBAAkB,GACnB,MAAM,uBAAuB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,OAAO,EACL,aAAa,EACb,mBAAmB,EACnB,2BAA2B,EAC3B,gBAAgB,EAChB,WAAW,EACX,eAAe,GAChB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAGzD,OAAO,EACL,WAAW,EACX,eAAe,EACf,kBAAkB,EAClB,YAAY,EACZ,aAAa,EACb,UAAU,EACV,eAAe,EACf,YAAY,EACZ,aAAa,EACb,oBAAoB,EACpB,mBAAmB,EACnB,iBAAiB,EACjB,sBAAsB,GACvB,MAAM,uBAAuB,CAAC;AAM/B,OAAO,EAAE,eAAe,EAAE,MAAM,2CAA2C,CAAC;AAC5E,OAAO,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,2CAA2C,CAAC;AAC5E,YAAY,EACV,gBAAgB,EAChB,eAAe,EACf,aAAa,EACb,eAAe,EACf,kBAAkB,EAClB,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,KAAK,QAAQ,EAAE,KAAK,UAAU,EAAE,MAAM,aAAa,CAAC;AAMnF,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC"}
package/dist/index.js CHANGED
@@ -6,12 +6,13 @@
6
6
  */
7
7
  export { StringTable } from './string-table.js';
8
8
  export { EntityTableBuilder, entityTableFromColumns, entityTableToColumns } from './entity-table.js';
9
- export { PropertyTableBuilder, propertyTableFromColumns, propertyTableToColumns } from './property-table.js';
9
+ export { PropertyTableBuilder, propertyTableFromColumns, propertyTableToColumns, comparePropertyValues } from './property-table.js';
10
10
  export { QuantityTableBuilder, quantityTableFromColumns, quantityTableToColumns } from './quantity-table.js';
11
11
  export { RelationshipGraphBuilder, buildCSR, relationshipEdgesFromColumns, relationshipGraphFromEdges, relationshipGraphFromColumns, relationshipGraphToColumns, } from './relationship-graph.js';
12
12
  export * from './types.js';
13
13
  // Explicitly export const enums for runtime use
14
14
  export { IfcTypeEnum, PropertyValueType, QuantityType, RelationshipType, EntityFlags } from './types.js';
15
+ export { IFC_BUILDING_STOREY_ELEVATION_INDEX, IFC_BUILDING_STOREY_PLACEMENT_INDEX, STOREY_ELEVATION_MATCH_TOLERANCE_M, findStoreyByElevation, } from './storey-elevation.js';
15
16
  // Schema-agnostic STEP serialization primitives — the single source of truth
16
17
  // re-exported by the per-schema serializer bundles (parser runtime + codegen).
17
18
  export { isEntityRef, isEnumValue, ref, enumVal, serializeValue, formatStepReal, toStepLineWithRegistry, generateHeader, generateStepFileWithRegistry, parseStepValue, } from './step-serializers.js';
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;;GAEG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAErG,OAAO,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAE7G,OAAO,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAE7G,OAAO,EACL,wBAAwB,EACxB,QAAQ,EACR,4BAA4B,EAC5B,0BAA0B,EAC1B,4BAA4B,EAC5B,0BAA0B,GAC3B,MAAM,yBAAyB,CAAC;AASjC,cAAc,YAAY,CAAC;AAC3B,gDAAgD;AAChD,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,YAAY,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAGzG,6EAA6E;AAC7E,+EAA+E;AAC/E,OAAO,EACL,WAAW,EACX,WAAW,EACX,GAAG,EACH,OAAO,EACP,cAAc,EACd,cAAc,EACd,sBAAsB,EACtB,cAAc,EACd,4BAA4B,EAC5B,cAAc,GACf,MAAM,uBAAuB,CAAC;AAQ/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,OAAO,EACL,aAAa,EACb,mBAAmB,EACnB,2BAA2B,EAC3B,gBAAgB,EAChB,WAAW,EACX,eAAe,GAChB,MAAM,iBAAiB,CAAC;AAEzB,+CAA+C;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD,gEAAgE;AAChE,OAAO,EACL,WAAW,EACX,eAAe,EACf,kBAAkB,EAClB,YAAY,EACZ,aAAa,EACb,UAAU,EACV,eAAe,EACf,YAAY,EACZ,aAAa,EACb,oBAAoB,EACpB,mBAAmB,EACnB,iBAAiB,EACjB,sBAAsB,GACvB,MAAM,uBAAuB,CAAC;AAE/B,uEAAuE;AACvE,uEAAuE;AACvE,uEAAuE;AACvE,gBAAgB;AAChB,OAAO,EAAE,eAAe,EAAE,MAAM,2CAA2C,CAAC;AAC5E,OAAO,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,2CAA2C,CAAC;AAW5E,oBAAoB;AACpB,OAAO,EAAE,YAAY,EAAE,MAAM,EAAkC,MAAM,aAAa,CAAC;AAEnF,gEAAgE;AAChE,gEAAgE;AAChE,oEAAoE;AACpE,4DAA4D;AAC5D,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAE/D;;GAEG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAErG,OAAO,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAEpI,OAAO,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAE7G,OAAO,EACL,wBAAwB,EACxB,QAAQ,EACR,4BAA4B,EAC5B,0BAA0B,EAC1B,4BAA4B,EAC5B,0BAA0B,GAC3B,MAAM,yBAAyB,CAAC;AASjC,cAAc,YAAY,CAAC;AAC3B,gDAAgD;AAChD,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,YAAY,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzG,OAAO,EACL,mCAAmC,EACnC,mCAAmC,EACnC,kCAAkC,EAClC,qBAAqB,GACtB,MAAM,uBAAuB,CAAC;AAE/B,6EAA6E;AAC7E,+EAA+E;AAC/E,OAAO,EACL,WAAW,EACX,WAAW,EACX,GAAG,EACH,OAAO,EACP,cAAc,EACd,cAAc,EACd,sBAAsB,EACtB,cAAc,EACd,4BAA4B,EAC5B,cAAc,GACf,MAAM,uBAAuB,CAAC;AAQ/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,OAAO,EACL,aAAa,EACb,mBAAmB,EACnB,2BAA2B,EAC3B,gBAAgB,EAChB,WAAW,EACX,eAAe,GAChB,MAAM,iBAAiB,CAAC;AAEzB,+CAA+C;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD,gEAAgE;AAChE,OAAO,EACL,WAAW,EACX,eAAe,EACf,kBAAkB,EAClB,YAAY,EACZ,aAAa,EACb,UAAU,EACV,eAAe,EACf,YAAY,EACZ,aAAa,EACb,oBAAoB,EACpB,mBAAmB,EACnB,iBAAiB,EACjB,sBAAsB,GACvB,MAAM,uBAAuB,CAAC;AAE/B,uEAAuE;AACvE,uEAAuE;AACvE,uEAAuE;AACvE,gBAAgB;AAChB,OAAO,EAAE,eAAe,EAAE,MAAM,2CAA2C,CAAC;AAC5E,OAAO,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,2CAA2C,CAAC;AAW5E,oBAAoB;AACpB,OAAO,EAAE,YAAY,EAAE,MAAM,EAAkC,MAAM,aAAa,CAAC;AAEnF,gEAAgE;AAChE,gEAAgE;AAChE,oEAAoE;AACpE,4DAA4D;AAC5D,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC"}
@@ -86,5 +86,24 @@ interface PropertyRow {
86
86
  value: PropertyValue;
87
87
  unitId?: number;
88
88
  }
89
+ /**
90
+ * Compare a stored property value against a filter value. The single
91
+ * definition of `whereProperty` / `findByProperty` semantics: same-type only
92
+ * (no coercion, so `'60' = 60` is false), `null` on either side never matches
93
+ * (including `!=`), `==` aliases `=`, and `contains` / `startsWith` are
94
+ * string-only. Every *store-level* property filter routes through here — the
95
+ * indexed table, the on-demand fallback in `@ifc-lite/query`, the
96
+ * cache-restored and server-converted tables — so the same query cannot answer
97
+ * differently on different stores.
98
+ *
99
+ * Deliberately NOT routed through here: `ifc-lite query --where`
100
+ * (`packages/cli/src/commands/query.ts`). Its values arrive from argv as
101
+ * strings, so it coerces (`String(a) === String(b)`, `Number(a) > Number(b)`)
102
+ * and normalises IFC booleans (`.T.`/`'true'`); it also adds an `exists`
103
+ * operator and is first-match rather than any-match. Same-type-only semantics
104
+ * would make every numeric CLI filter match nothing, so unifying it is a
105
+ * behaviour change for CLI users and out of scope here.
106
+ */
107
+ export declare function comparePropertyValues(propValue: PropertyValue, operator: string, value: PropertyValue): boolean;
89
108
  export {};
90
109
  //# sourceMappingURL=property-table.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"property-table.d.ts","sourceRoot":"","sources":["../src/property-table.ts"],"names":[],"mappings":"AAIA;;;GAGG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAG/C,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,QAAQ,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,iBAAiB,CAAC;IACxB,KAAK,EAAE,aAAa,CAAC;IACrB;;mDAE+C;IAC/C,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;yFAEqF;IACrF,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,aAAa,EAAE,CAAC;AAE/E,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAEvB,QAAQ,EAAE,WAAW,CAAC;IACtB,QAAQ,EAAE,WAAW,CAAC;IACtB,YAAY,EAAE,WAAW,CAAC;IAC1B,QAAQ,EAAE,WAAW,CAAC;IACtB,QAAQ,EAAE,UAAU,CAAC;IACrB,WAAW,EAAE,WAAW,CAAC;IACzB,SAAS,EAAE,YAAY,CAAC;IACxB,QAAQ,EAAE,UAAU,CAAC;IACrB,SAAS,EAAE,UAAU,CAAC;IACtB,MAAM,EAAE,UAAU,CAAC;IAEnB,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACnC,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACjC,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAEjC,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,WAAW,EAAE,CAAC;IAC/C,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CAAC;IAC9F;;;;OAIG;IACH,cAAc,CACZ,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,aAAa,EACpB,QAAQ,CAAC,EAAE,MAAM,GAChB,MAAM,EAAE,CAAC;CACb;AAED,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,OAAO,CAAc;IAC7B,OAAO,CAAC,IAAI,CAAqB;gBAErB,OAAO,EAAE,WAAW;IAIhC,GAAG,CAAC,GAAG,EAAE,WAAW,GAAG,IAAI;IAI3B,KAAK,IAAI,aAAa;CA2EvB;AAED;;;;GAIG;AACH,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,WAAW,CAAC;IACtB,QAAQ,EAAE,WAAW,CAAC;IACtB,YAAY,EAAE,WAAW,CAAC;IAC1B,QAAQ,EAAE,WAAW,CAAC;IACtB,QAAQ,EAAE,UAAU,CAAC;IACrB,WAAW,EAAE,WAAW,CAAC;IACzB,SAAS,EAAE,YAAY,CAAC;IACxB,QAAQ,EAAE,UAAU,CAAC;IACrB,SAAS,EAAE,UAAU,CAAC;IACtB,MAAM,EAAE,UAAU,CAAC;CACpB;AAED,4EAA4E;AAC5E,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,oBAAoB,EAAE,OAAO,EAAE,WAAW,GAAG,aAAa,CA6F3G;AAED,gEAAgE;AAChE,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,aAAa,GAAG,oBAAoB,CAcjF;AAED,UAAU,WAAW;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,KAAK,EAAE,aAAa,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB"}
1
+ {"version":3,"file":"property-table.d.ts","sourceRoot":"","sources":["../src/property-table.ts"],"names":[],"mappings":"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"}
@@ -149,7 +149,7 @@ export function propertyTableFromColumns(columns, strings) {
149
149
  if (psetIdx >= 0 && psetName[idx] !== psetIdx)
150
150
  continue;
151
151
  const propValue = getPropertyValue(table, idx, strings);
152
- if (compareValues(propValue, operator, value)) {
152
+ if (comparePropertyValues(propValue, operator, value)) {
153
153
  results.push(entityId[idx]);
154
154
  }
155
155
  }
@@ -215,7 +215,25 @@ function getPropertyValue(table, idx, strings) {
215
215
  return null;
216
216
  }
217
217
  }
218
- function compareValues(propValue, operator, value) {
218
+ /**
219
+ * Compare a stored property value against a filter value. The single
220
+ * definition of `whereProperty` / `findByProperty` semantics: same-type only
221
+ * (no coercion, so `'60' = 60` is false), `null` on either side never matches
222
+ * (including `!=`), `==` aliases `=`, and `contains` / `startsWith` are
223
+ * string-only. Every *store-level* property filter routes through here — the
224
+ * indexed table, the on-demand fallback in `@ifc-lite/query`, the
225
+ * cache-restored and server-converted tables — so the same query cannot answer
226
+ * differently on different stores.
227
+ *
228
+ * Deliberately NOT routed through here: `ifc-lite query --where`
229
+ * (`packages/cli/src/commands/query.ts`). Its values arrive from argv as
230
+ * strings, so it coerces (`String(a) === String(b)`, `Number(a) > Number(b)`)
231
+ * and normalises IFC booleans (`.T.`/`'true'`); it also adds an `exists`
232
+ * operator and is first-match rather than any-match. Same-type-only semantics
233
+ * would make every numeric CLI filter match nothing, so unifying it is a
234
+ * behaviour change for CLI users and out of scope here.
235
+ */
236
+ export function comparePropertyValues(propValue, operator, value) {
219
237
  if (propValue === null || value === null)
220
238
  return false;
221
239
  if (typeof propValue === 'number' && typeof value === 'number') {
@@ -1 +1 @@
1
- {"version":3,"file":"property-table.js","sourceRoot":"","sources":["../src/property-table.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"property-table.js","sourceRoot":"","sources":["../src/property-table.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@
3
3
  * Similar to properties but always numeric
4
4
  */
5
5
  import type { StringTable } from './string-table.js';
6
+ import { type PropertyValue } from './property-table.js';
6
7
  import { QuantityType } from './types.js';
7
8
  export interface QuantitySet {
8
9
  name: string;
@@ -29,6 +30,20 @@ export interface QuantityTable {
29
30
  quantityIndex: Map<number, number[]>;
30
31
  getForEntity(expressId: number): QuantitySet[];
31
32
  getQuantityValue(expressId: number, qsetName: string, quantName: string): number | null;
33
+ /**
34
+ * Find entity ids whose quantity `quantityName` satisfies `operator`/`value`.
35
+ * When `qsetName` is given, only matches within that quantity set; an unknown
36
+ * quantity-set name matches nothing. The quantity mirror of
37
+ * `PropertyTable.findByProperty`: same `comparePropertyValues` semantics, and
38
+ * answered off `quantityIndex`, so the cost scales with the number of rows
39
+ * carrying that quantity name rather than with the number of entities being
40
+ * filtered.
41
+ *
42
+ * Optional so a duck-typed quantity table stays valid without it.
43
+ * `EntityQuery.whereProperty` then resolves quantity sets per candidate
44
+ * through `IfcStoreBase.getQuantities` instead — the same answer, more work.
45
+ */
46
+ findByQuantity?(quantityName: string, operator: string, value: PropertyValue, qsetName?: string): number[];
32
47
  sumByType(quantityName: string, elementType?: number): number;
33
48
  }
34
49
  export declare class QuantityTableBuilder {
@@ -1 +1 @@
1
- {"version":3,"file":"quantity-table.d.ts","sourceRoot":"","sources":["../src/quantity-table.ts"],"names":[],"mappings":"AAIA;;;GAGG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1C,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,QAAQ,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,YAAY,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAEvB,QAAQ,EAAE,WAAW,CAAC;IACtB,QAAQ,EAAE,WAAW,CAAC;IACtB,YAAY,EAAE,WAAW,CAAC;IAC1B,YAAY,EAAE,UAAU,CAAC;IACzB,KAAK,EAAE,YAAY,CAAC;IACpB,MAAM,EAAE,UAAU,CAAC;IACnB,OAAO,EAAE,WAAW,CAAC;IAErB,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACnC,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACjC,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAErC,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,WAAW,EAAE,CAAC;IAC/C,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACxF,SAAS,CAAC,YAAY,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CAC/D;AAED,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,OAAO,CAAc;IAC7B,OAAO,CAAC,IAAI,CAAqB;gBAErB,OAAO,EAAE,WAAW;IAIhC,GAAG,CAAC,GAAG,EAAE,WAAW,GAAG,IAAI;IAI3B,KAAK,IAAI,aAAa;CA2BvB;AAED;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,WAAW,CAAC;IACtB,QAAQ,EAAE,WAAW,CAAC;IACtB,YAAY,EAAE,WAAW,CAAC;IAC1B,YAAY,EAAE,UAAU,CAAC;IACzB,KAAK,EAAE,YAAY,CAAC;IACpB,MAAM,EAAE,UAAU,CAAC;IACnB,OAAO,EAAE,WAAW,CAAC;CACtB;AAED,4EAA4E;AAC5E,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,oBAAoB,EAAE,OAAO,EAAE,WAAW,GAAG,aAAa,CAkE3G;AAED,gEAAgE;AAChE,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,aAAa,GAAG,oBAAoB,CAWjF;AAED,UAAU,WAAW;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,YAAY,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB"}
1
+ {"version":3,"file":"quantity-table.d.ts","sourceRoot":"","sources":["../src/quantity-table.ts"],"names":[],"mappings":"AAIA;;;GAGG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAyB,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAChF,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1C,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,QAAQ,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,YAAY,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAEvB,QAAQ,EAAE,WAAW,CAAC;IACtB,QAAQ,EAAE,WAAW,CAAC;IACtB,YAAY,EAAE,WAAW,CAAC;IAC1B,YAAY,EAAE,UAAU,CAAC;IACzB,KAAK,EAAE,YAAY,CAAC;IACpB,MAAM,EAAE,UAAU,CAAC;IACnB,OAAO,EAAE,WAAW,CAAC;IAErB,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACnC,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACjC,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAErC,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,WAAW,EAAE,CAAC;IAC/C,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACxF;;;;;;;;;;;;OAYG;IACH,cAAc,CAAC,CACb,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,aAAa,EACpB,QAAQ,CAAC,EAAE,MAAM,GAChB,MAAM,EAAE,CAAC;IACZ,SAAS,CAAC,YAAY,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CAC/D;AAED,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,OAAO,CAAc;IAC7B,OAAO,CAAC,IAAI,CAAqB;gBAErB,OAAO,EAAE,WAAW;IAIhC,GAAG,CAAC,GAAG,EAAE,WAAW,GAAG,IAAI;IAI3B,KAAK,IAAI,aAAa;CA2BvB;AAED;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,WAAW,CAAC;IACtB,QAAQ,EAAE,WAAW,CAAC;IACtB,YAAY,EAAE,WAAW,CAAC;IAC1B,YAAY,EAAE,UAAU,CAAC;IACzB,KAAK,EAAE,YAAY,CAAC;IACpB,MAAM,EAAE,UAAU,CAAC;IACnB,OAAO,EAAE,WAAW,CAAC;CACtB;AAED,4EAA4E;AAC5E,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,oBAAoB,EAAE,OAAO,EAAE,WAAW,GAAG,aAAa,CAgF3G;AAED,gEAAgE;AAChE,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,aAAa,GAAG,oBAAoB,CAWjF;AAED,UAAU,WAAW;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,YAAY,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB"}
@@ -1,6 +1,7 @@
1
1
  /* This Source Code Form is subject to the terms of the Mozilla Public
2
2
  * License, v. 2.0. If a copy of the MPL was not distributed with this
3
3
  * file, You can obtain one at https://mozilla.org/MPL/2.0/. */
4
+ import { comparePropertyValues } from './property-table.js';
4
5
  export class QuantityTableBuilder {
5
6
  strings;
6
7
  rows = [];
@@ -87,6 +88,23 @@ export function quantityTableFromColumns(columns, strings) {
87
88
  }
88
89
  return null;
89
90
  },
91
+ findByQuantity: (quantName, operator, filterValue, qset) => {
92
+ const quantIdx = strings.indexOf(quantName);
93
+ if (quantIdx < 0)
94
+ return [];
95
+ const qsetIdx = qset === undefined ? -1 : strings.indexOf(qset);
96
+ if (qset !== undefined && qsetIdx < 0)
97
+ return [];
98
+ const rowIndices = quantityIndex.get(quantIdx) || [];
99
+ const results = [];
100
+ for (const idx of rowIndices) {
101
+ if (qsetIdx >= 0 && qsetName[idx] !== qsetIdx)
102
+ continue;
103
+ if (comparePropertyValues(value[idx], operator, filterValue))
104
+ results.push(entityId[idx]);
105
+ }
106
+ return results;
107
+ },
90
108
  sumByType: (quantName) => {
91
109
  const quantIdx = strings.indexOf(quantName);
92
110
  if (quantIdx < 0)
@@ -1 +1 @@
1
- {"version":3,"file":"quantity-table.js","sourceRoot":"","sources":["../src/quantity-table.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"quantity-table.js","sourceRoot":"","sources":["../src/quantity-table.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,52 @@
1
+ /**
2
+ * The ONE definition of storey-elevation semantics (issue #1841).
3
+ *
4
+ * "Which storey is at this Z?" was answered twice: the parser path applied a 1m
5
+ * tolerance and returned null outside it, while the viewer's server-loaded path
6
+ * always snapped to the nearest storey. Same model, same Z, different storey,
7
+ * depending only on which entry path produced it. Both now call in here.
8
+ */
9
+ /**
10
+ * Attribute index of `IfcBuildingStorey.Elevation`, the same in IFC2X3 and IFC4:
11
+ *
12
+ * ```
13
+ * [0] GlobalId [1] OwnerHistory [2] Name [3] Description
14
+ * [4] ObjectType [5] ObjectPlacement [6] Representation [7] LongName
15
+ * [8] CompositionType [9] Elevation
16
+ * ```
17
+ *
18
+ * Getting this wrong is silent: slots 7 and 8 hold a string and an enum, so an
19
+ * off-by-one read yields "no elevation" and the UI shows 0 rather than failing.
20
+ * The server's `extract_elevation_if_storey` (Rust) must stay in step with this.
21
+ */
22
+ export declare const IFC_BUILDING_STOREY_ELEVATION_INDEX = 9;
23
+ /**
24
+ * Attribute index of `IfcBuildingStorey.ObjectPlacement`, used for the fallback
25
+ * when `Elevation` is null (common in Revit / ArchiCAD exports, see #1289).
26
+ */
27
+ export declare const IFC_BUILDING_STOREY_PLACEMENT_INDEX = 5;
28
+ /**
29
+ * How far a Z may sit from a storey's elevation and still resolve to it, in
30
+ * metres.
31
+ *
32
+ * Beyond this the answer is "no storey" rather than "the least-bad storey": a
33
+ * point 40m above the top floor belongs to no storey, and snapping it to the
34
+ * roof silently corrupts storey grouping, floorplan placement, and section cuts.
35
+ */
36
+ export declare const STOREY_ELEVATION_MATCH_TOLERANCE_M = 1;
37
+ /**
38
+ * Resolve the storey whose elevation is nearest `z`, or `null` when none is
39
+ * within {@link STOREY_ELEVATION_MATCH_TOLERANCE_M}.
40
+ *
41
+ * Exact-distance ties resolve to the lower `storeyId`, NOT to iteration order.
42
+ * That determinism is the point of this being one shared function: the parser
43
+ * and the server-loaded path insert storeys into their maps in different
44
+ * orders, so an order-dependent tie-break would let the same building still
45
+ * answer differently across entry paths — the exact drift #1841 is about.
46
+ *
47
+ * @param storeyElevations - storeyId -> elevation in metres. An empty collection
48
+ * (the cache-restore path, which has no source buffer) yields `null`.
49
+ * @param z - elevation to match, in metres.
50
+ */
51
+ export declare function findStoreyByElevation(storeyElevations: Iterable<readonly [number, number]>, z: number): number | null;
52
+ //# sourceMappingURL=storey-elevation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storey-elevation.d.ts","sourceRoot":"","sources":["../src/storey-elevation.ts"],"names":[],"mappings":"AAIA;;;;;;;GAOG;AAEH;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,mCAAmC,IAAI,CAAC;AAErD;;;GAGG;AACH,eAAO,MAAM,mCAAmC,IAAI,CAAC;AAErD;;;;;;;GAOG;AACH,eAAO,MAAM,kCAAkC,IAAM,CAAC;AAEtD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,qBAAqB,CACnC,gBAAgB,EAAE,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,EACrD,CAAC,EAAE,MAAM,GACR,MAAM,GAAG,IAAI,CAcf"}
@@ -0,0 +1,67 @@
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
+ /**
5
+ * The ONE definition of storey-elevation semantics (issue #1841).
6
+ *
7
+ * "Which storey is at this Z?" was answered twice: the parser path applied a 1m
8
+ * tolerance and returned null outside it, while the viewer's server-loaded path
9
+ * always snapped to the nearest storey. Same model, same Z, different storey,
10
+ * depending only on which entry path produced it. Both now call in here.
11
+ */
12
+ /**
13
+ * Attribute index of `IfcBuildingStorey.Elevation`, the same in IFC2X3 and IFC4:
14
+ *
15
+ * ```
16
+ * [0] GlobalId [1] OwnerHistory [2] Name [3] Description
17
+ * [4] ObjectType [5] ObjectPlacement [6] Representation [7] LongName
18
+ * [8] CompositionType [9] Elevation
19
+ * ```
20
+ *
21
+ * Getting this wrong is silent: slots 7 and 8 hold a string and an enum, so an
22
+ * off-by-one read yields "no elevation" and the UI shows 0 rather than failing.
23
+ * The server's `extract_elevation_if_storey` (Rust) must stay in step with this.
24
+ */
25
+ export const IFC_BUILDING_STOREY_ELEVATION_INDEX = 9;
26
+ /**
27
+ * Attribute index of `IfcBuildingStorey.ObjectPlacement`, used for the fallback
28
+ * when `Elevation` is null (common in Revit / ArchiCAD exports, see #1289).
29
+ */
30
+ export const IFC_BUILDING_STOREY_PLACEMENT_INDEX = 5;
31
+ /**
32
+ * How far a Z may sit from a storey's elevation and still resolve to it, in
33
+ * metres.
34
+ *
35
+ * Beyond this the answer is "no storey" rather than "the least-bad storey": a
36
+ * point 40m above the top floor belongs to no storey, and snapping it to the
37
+ * roof silently corrupts storey grouping, floorplan placement, and section cuts.
38
+ */
39
+ export const STOREY_ELEVATION_MATCH_TOLERANCE_M = 1.0;
40
+ /**
41
+ * Resolve the storey whose elevation is nearest `z`, or `null` when none is
42
+ * within {@link STOREY_ELEVATION_MATCH_TOLERANCE_M}.
43
+ *
44
+ * Exact-distance ties resolve to the lower `storeyId`, NOT to iteration order.
45
+ * That determinism is the point of this being one shared function: the parser
46
+ * and the server-loaded path insert storeys into their maps in different
47
+ * orders, so an order-dependent tie-break would let the same building still
48
+ * answer differently across entry paths — the exact drift #1841 is about.
49
+ *
50
+ * @param storeyElevations - storeyId -> elevation in metres. An empty collection
51
+ * (the cache-restore path, which has no source buffer) yields `null`.
52
+ * @param z - elevation to match, in metres.
53
+ */
54
+ export function findStoreyByElevation(storeyElevations, z) {
55
+ let closestStorey = null;
56
+ let closestDistance = Infinity;
57
+ for (const [storeyId, elevation] of storeyElevations) {
58
+ const distance = Math.abs(elevation - z);
59
+ if (distance < closestDistance ||
60
+ (distance === closestDistance && closestStorey !== null && storeyId < closestStorey)) {
61
+ closestDistance = distance;
62
+ closestStorey = storeyId;
63
+ }
64
+ }
65
+ return closestDistance < STOREY_ELEVATION_MATCH_TOLERANCE_M ? closestStorey : null;
66
+ }
67
+ //# sourceMappingURL=storey-elevation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storey-elevation.js","sourceRoot":"","sources":["../src/storey-elevation.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,sEAAsE;AACtE,4DAA4D;AAE5D;;;;;;;GAOG;AAEH;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,mCAAmC,GAAG,CAAC,CAAC;AAErD;;;GAGG;AACH,MAAM,CAAC,MAAM,mCAAmC,GAAG,CAAC,CAAC;AAErD;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,kCAAkC,GAAG,GAAG,CAAC;AAEtD;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,qBAAqB,CACnC,gBAAqD,EACrD,CAAS;IAET,IAAI,aAAa,GAAkB,IAAI,CAAC;IACxC,IAAI,eAAe,GAAG,QAAQ,CAAC;IAC/B,KAAK,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,IAAI,gBAAgB,EAAE,CAAC;QACrD,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;QACzC,IACE,QAAQ,GAAG,eAAe;YAC1B,CAAC,QAAQ,KAAK,eAAe,IAAI,aAAa,KAAK,IAAI,IAAI,QAAQ,GAAG,aAAa,CAAC,EACpF,CAAC;YACD,eAAe,GAAG,QAAQ,CAAC;YAC3B,aAAa,GAAG,QAAQ,CAAC;QAC3B,CAAC;IACH,CAAC;IACD,OAAO,eAAe,GAAG,kCAAkC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC;AACrF,CAAC"}
package/dist/types.d.ts CHANGED
@@ -220,14 +220,30 @@ export declare function IfcTypeEnumToString(type: IfcTypeEnum): string;
220
220
  /**
221
221
  * IFC STEP attribute value as extracted from a STEP argument list.
222
222
  *
223
- * The `{ real: number }` variant is a WRITE-ONLY marker (never produced by
224
- * extraction): entity-authoring code wraps a coordinate in it to force STEP
225
- * REAL serialization with a decimal point for whole numbers (`5.` not `5`),
226
- * which typed measures like `IfcLengthMeasure` require. Plain `number` keeps
227
- * the historical integer-when-whole behavior.
223
+ * Two WRITE-ONLY markers (never produced by extraction) let authoring code
224
+ * pin the exact STEP token for a value whose type a bare JS primitive cannot
225
+ * convey:
226
+ *
227
+ * - `{ real: number }` forces a STEP REAL literal with a decimal point for
228
+ * whole numbers (`5.` not `5`), which typed measures like `IfcLengthMeasure`
229
+ * require. Plain `number` keeps the historical integer-when-whole behavior.
230
+ *
231
+ * - `{ typed: { type, value } }` forces a type-QUALIFIED value
232
+ * `IFC<TYPE>(<value>)` — required for a SELECT member that is a defined type
233
+ * (`IFCBOOLEAN(.T.)` in an `IfcTranslationalStiffnessSelect` slot) and for the
234
+ * `IfcValue` family (`IFCLABEL('x')`, `IFCLENGTHMEASURE(3.)`). `type` is the
235
+ * IFC type name (`'IfcBoolean'`, `'IfcLengthMeasure'`). It generalizes
236
+ * `{ real }` (`{ typed: { type: 'IfcReal', value: 450 } }`). The exporter also
237
+ * auto-qualifies unambiguous SELECT slots without a marker; this is the escape
238
+ * hatch for the ambiguous ones (a select with several REAL-backed members).
228
239
  */
229
240
  export type IfcAttributeValue = string | number | boolean | null | {
230
241
  real: number;
242
+ } | {
243
+ typed: {
244
+ type: string;
245
+ value: string | number | boolean;
246
+ };
231
247
  } | IfcAttributeValue[];
232
248
  export interface IfcEntity {
233
249
  expressId: number;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ifc-lite/data",
3
- "version": "2.8.0",
3
+ "version": "3.1.0",
4
4
  "description": "Columnar data structures for IFC-Lite",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -13,8 +13,8 @@
13
13
  }
14
14
  },
15
15
  "devDependencies": {
16
- "@types/node": "^26.1.1",
17
- "proj4": "^2.20.9",
16
+ "@types/node": "^26.1.2",
17
+ "proj4": "^2.21.0",
18
18
  "typescript": "^6.0.3",
19
19
  "vitest": "^4.1.10"
20
20
  },