@ifc-lite/ids 1.15.7 → 1.15.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. package/dist/audit/ifc-schema/index.js +14 -3
  2. package/dist/audit/ifc-schema/index.js.map +1 -1
  3. package/dist/constraints/comparators.d.ts +9 -0
  4. package/dist/constraints/comparators.d.ts.map +1 -1
  5. package/dist/constraints/comparators.js +13 -0
  6. package/dist/constraints/comparators.js.map +1 -1
  7. package/dist/constraints/index.d.ts.map +1 -1
  8. package/dist/constraints/index.js +95 -3
  9. package/dist/constraints/index.js.map +1 -1
  10. package/dist/facets/entity-facet.d.ts +12 -0
  11. package/dist/facets/entity-facet.d.ts.map +1 -1
  12. package/dist/facets/entity-facet.js +47 -0
  13. package/dist/facets/entity-facet.js.map +1 -1
  14. package/dist/facets/index.d.ts +9 -0
  15. package/dist/facets/index.d.ts.map +1 -1
  16. package/dist/facets/index.js +20 -2
  17. package/dist/facets/index.js.map +1 -1
  18. package/dist/facets/property-facet.d.ts +15 -0
  19. package/dist/facets/property-facet.d.ts.map +1 -1
  20. package/dist/facets/property-facet.js +117 -3
  21. package/dist/facets/property-facet.js.map +1 -1
  22. package/dist/parser/xml-parser.d.ts.map +1 -1
  23. package/dist/parser/xml-parser.js +10 -1
  24. package/dist/parser/xml-parser.js.map +1 -1
  25. package/dist/types.d.ts +8 -0
  26. package/dist/types.d.ts.map +1 -1
  27. package/dist/validation/property-index.d.ts +43 -0
  28. package/dist/validation/property-index.d.ts.map +1 -0
  29. package/dist/validation/property-index.js +145 -0
  30. package/dist/validation/property-index.js.map +1 -0
  31. package/dist/validation/validator.d.ts +12 -0
  32. package/dist/validation/validator.d.ts.map +1 -1
  33. package/dist/validation/validator.js +186 -17
  34. package/dist/validation/validator.js.map +1 -1
  35. package/package.json +2 -2
@@ -1,13 +1,139 @@
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 { checkFacet, filterByFacet } from '../facets/index.js';
4
+ import { checkFacet, facetPasses, filterByFacet } from '../facets/index.js';
5
5
  import { formatConstraint } from '../constraints/index.js';
6
+ import { ApplicabilityPropertyIndex } from './property-index.js';
7
+ /** Memoize a single-argument accessor lookup keyed by express ID. */
8
+ function memoById(fn) {
9
+ const cache = new Map();
10
+ return (expressId) => {
11
+ if (cache.has(expressId))
12
+ return cache.get(expressId);
13
+ const value = fn(expressId);
14
+ cache.set(expressId, value);
15
+ return value;
16
+ };
17
+ }
18
+ /** Memoize a two-argument accessor lookup keyed by express ID + name. */
19
+ function memoByIdAndKey(fn) {
20
+ const cache = new Map();
21
+ return (expressId, key) => {
22
+ const cacheKey = `${expressId}\u0000${key}`;
23
+ if (cache.has(cacheKey))
24
+ return cache.get(cacheKey);
25
+ const value = fn(expressId, key);
26
+ cache.set(cacheKey, value);
27
+ return value;
28
+ };
29
+ }
30
+ /**
31
+ * Wrap an accessor so every per-entity lookup is computed at most once
32
+ * for the lifetime of one validation run.
33
+ *
34
+ * The validator re-checks the same entities once per specification, and
35
+ * real-world IDS documents carry hundreds of specifications over the
36
+ * same entity population. Most accessor implementations re-extract
37
+ * property sets from the raw source buffer on every call, which made
38
+ * validation O(specifications × entities × source-parses) — tens of
39
+ * minutes of CPU for documents that validate in seconds once cached.
40
+ */
41
+ export function createCachedAccessor(accessor) {
42
+ let allEntityIds;
43
+ const entitiesByType = new Map();
44
+ const cached = {
45
+ getEntityType: memoById((id) => accessor.getEntityType(id)),
46
+ getEntityName: memoById((id) => accessor.getEntityName(id)),
47
+ getGlobalId: memoById((id) => accessor.getGlobalId(id)),
48
+ getDescription: memoById((id) => accessor.getDescription(id)),
49
+ getObjectType: memoById((id) => accessor.getObjectType(id)),
50
+ getPropertySets: memoById((id) => accessor.getPropertySets(id)),
51
+ getClassifications: memoById((id) => accessor.getClassifications(id)),
52
+ getMaterials: memoById((id) => accessor.getMaterials(id)),
53
+ getAttribute: memoByIdAndKey((id, name) => accessor.getAttribute(id, name)),
54
+ getParent: memoByIdAndKey((id, rel) => accessor.getParent(id, rel)),
55
+ getPropertyValue: (id, psetName, propName) => accessor.getPropertyValue(id, psetName, propName),
56
+ getEntitiesByType(typeName) {
57
+ let ids = entitiesByType.get(typeName);
58
+ if (!ids) {
59
+ ids = accessor.getEntitiesByType(typeName);
60
+ entitiesByType.set(typeName, ids);
61
+ }
62
+ return ids;
63
+ },
64
+ getAllEntityIds() {
65
+ if (!allEntityIds)
66
+ allEntityIds = accessor.getAllEntityIds();
67
+ return allEntityIds;
68
+ },
69
+ };
70
+ // Optional methods: only surface them when the underlying accessor
71
+ // does — facet checkers feature-detect these.
72
+ if (accessor.getPredefinedTypeRaw) {
73
+ cached.getPredefinedTypeRaw = memoById((id) => accessor.getPredefinedTypeRaw(id));
74
+ }
75
+ if (accessor.getAttributeNames) {
76
+ cached.getAttributeNames = memoById((id) => accessor.getAttributeNames(id));
77
+ }
78
+ if (accessor.getAttributeXsdTypes) {
79
+ cached.getAttributeXsdTypes = memoByIdAndKey((id, attr) => accessor.getAttributeXsdTypes(id, attr));
80
+ }
81
+ if (accessor.getAncestors) {
82
+ cached.getAncestors = memoByIdAndKey((id, rel) => accessor.getAncestors(id, rel));
83
+ }
84
+ return cached;
85
+ }
86
+ const nowMs = () => typeof globalThis.performance?.now === 'function'
87
+ ? globalThis.performance.now()
88
+ : Date.now();
89
+ /**
90
+ * Yield control back to the event loop (browser + Node).
91
+ *
92
+ * Deliberately NOT `scheduler.yield()`: its continuation runs at
93
+ * elevated priority, ahead of the host's already-queued normal tasks —
94
+ * including React's render work — so a CPU-bound loop yielding through
95
+ * it still starves the UI (canvas rAF kept painting while the progress
96
+ * panel never committed). A MessageChannel hop is a normal-priority
97
+ * task: everything queued before it, renders included, runs first.
98
+ */
99
+ function yieldToEventLoop() {
100
+ return new Promise((resolve) => {
101
+ const channel = new MessageChannel();
102
+ channel.port1.onmessage = () => {
103
+ // Close both ports — an open MessagePort holds a libuv handle in
104
+ // Node and would keep the process alive after completion.
105
+ channel.port1.close();
106
+ channel.port2.close();
107
+ resolve();
108
+ };
109
+ channel.port2.postMessage(null);
110
+ });
111
+ }
112
+ /**
113
+ * Time-budgeted yielder. Validation is pure CPU work whose awaits all
114
+ * resolve through microtasks, so without real event-loop yields a
115
+ * browser host cannot paint a single frame for the whole run — the
116
+ * progress UI stays frozen no matter how often onProgress fires.
117
+ */
118
+ function createYielder(budgetMs) {
119
+ let lastYield = nowMs();
120
+ return () => {
121
+ if (nowMs() - lastYield < budgetMs)
122
+ return undefined;
123
+ return yieldToEventLoop().then(() => {
124
+ lastYield = nowMs();
125
+ });
126
+ };
127
+ }
6
128
  /**
7
129
  * Validate an IFC model against an IDS document
8
130
  */
9
131
  export async function validateIDS(document, accessor, modelInfo, options = {}) {
10
132
  const { translator, onProgress, includePassingEntities = true } = options;
133
+ const cachedAccessor = createCachedAccessor(accessor);
134
+ const descriptionCache = new Map();
135
+ const maybeYield = createYielder(options.yieldEveryMs ?? 40);
136
+ const propertyIndex = new ApplicabilityPropertyIndex(cachedAccessor, document);
11
137
  const specificationResults = [];
12
138
  const totalSpecs = document.specifications.length;
13
139
  for (let i = 0; i < totalSpecs; i++) {
@@ -23,7 +149,10 @@ export async function validateIDS(document, accessor, modelInfo, options = {}) {
23
149
  percentage: Math.floor((i / totalSpecs) * 100),
24
150
  });
25
151
  }
26
- const result = await validateSpecification(spec, accessor, modelInfo, options, (progress) => {
152
+ // Let the host paint between specifications even when individual
153
+ // specs are fast.
154
+ await maybeYield();
155
+ const result = await validateSpecification(spec, cachedAccessor, modelInfo, options, descriptionCache, maybeYield, propertyIndex, (progress) => {
27
156
  if (onProgress) {
28
157
  onProgress({
29
158
  ...progress,
@@ -60,11 +189,11 @@ export async function validateIDS(document, accessor, modelInfo, options = {}) {
60
189
  /**
61
190
  * Validate a single specification against the model
62
191
  */
63
- async function validateSpecification(spec, accessor, modelInfo, options, onProgress) {
192
+ async function validateSpecification(spec, accessor, modelInfo, options, descriptionCache, maybeYield, propertyIndex, onProgress) {
64
193
  const { translator, maxEntities, includePassingEntities = true } = options;
65
194
  const modelId = modelInfo.modelId;
66
195
  // Phase 1: Find applicable entities
67
- const applicableIds = findApplicableEntities(spec, accessor);
196
+ const applicableIds = await findApplicableEntities(spec, accessor, maybeYield, propertyIndex, onProgress);
68
197
  // Apply max entities limit if specified
69
198
  const idsToCheck = maxEntities
70
199
  ? applicableIds.slice(0, maxEntities)
@@ -82,7 +211,9 @@ async function validateSpecification(spec, accessor, modelInfo, options, onProgr
82
211
  totalEntities,
83
212
  });
84
213
  }
85
- const entityResult = validateEntityRequirements(spec, expressId, modelId, accessor, translator);
214
+ if ((i & 31) === 0)
215
+ await maybeYield();
216
+ const entityResult = validateEntityRequirements(spec, expressId, modelId, accessor, descriptionCache, translator);
86
217
  // Include result based on options
87
218
  if (includePassingEntities || !entityResult.passed) {
88
219
  entityResults.push(entityResult);
@@ -138,7 +269,7 @@ async function validateSpecification(spec, accessor, modelInfo, options, onProgr
138
269
  /**
139
270
  * Find entities that match the applicability criteria
140
271
  */
141
- function findApplicableEntities(spec, accessor) {
272
+ async function findApplicableEntities(spec, accessor, maybeYield, propertyIndex, onProgress) {
142
273
  const applicabilityFacets = spec.applicability.facets;
143
274
  if (applicabilityFacets.length === 0) {
144
275
  // No applicability - applies to all entities
@@ -157,13 +288,46 @@ function findApplicableEntities(spec, accessor) {
157
288
  if (candidateIds === undefined) {
158
289
  candidateIds = accessor.getAllEntityIds();
159
290
  }
160
- // Filter candidates by all applicability facets
291
+ // Index-assisted narrowing: property facets with literal pset/name
292
+ // collapse to inverted-index lookups (built once per run). The result
293
+ // is a candidate SUPERSET — the confirmation loop below remains the
294
+ // source of truth, so index conservatism can never change verdicts.
295
+ for (const facet of applicabilityFacets) {
296
+ if (facet.type !== 'property')
297
+ continue;
298
+ // Building the index over a spec's candidates is the slowest phase of
299
+ // a large run (cold property extraction) — surface its progress so
300
+ // the host UI advances during it instead of sitting frozen.
301
+ const narrowed = await propertyIndex.narrow(facet, candidateIds, maybeYield, onProgress
302
+ ? (processed, total) => onProgress({ phase: 'filtering', entitiesProcessed: processed, totalEntities: total })
303
+ : undefined);
304
+ if (narrowed !== undefined)
305
+ candidateIds = narrowed;
306
+ }
307
+ // Filter candidates by all applicability facets. With property-only
308
+ // applicability the candidate set is the whole model, so this scan is
309
+ // where large runs spend most of their time — report progress and
310
+ // yield so the host UI stays responsive.
161
311
  const applicableIds = [];
162
- for (const expressId of candidateIds) {
312
+ const totalCandidates = candidateIds.length;
313
+ for (let i = 0; i < totalCandidates; i++) {
314
+ const expressId = candidateIds[i];
315
+ if (onProgress && totalCandidates > 8192 && (i & 8191) === 0) {
316
+ onProgress({
317
+ phase: 'filtering',
318
+ entitiesProcessed: i,
319
+ totalEntities: totalCandidates,
320
+ });
321
+ }
322
+ if ((i & 255) === 0)
323
+ await maybeYield();
163
324
  let matches = true;
164
325
  for (const facet of applicabilityFacets) {
165
- const result = checkFacet(facet, expressId, accessor);
166
- if (!result.passed) {
326
+ // Boolean-only check: this loop runs per candidate entity per
327
+ // specification and only ever needs the verdict — the failure
328
+ // diagnostics the full checker builds for every miss used to
329
+ // dominate whole-run CPU.
330
+ if (!facetPasses(facet, expressId, accessor)) {
167
331
  matches = false;
168
332
  break;
169
333
  }
@@ -177,11 +341,11 @@ function findApplicableEntities(spec, accessor) {
177
341
  /**
178
342
  * Validate requirements for a single entity
179
343
  */
180
- function validateEntityRequirements(spec, expressId, modelId, accessor, translator) {
344
+ function validateEntityRequirements(spec, expressId, modelId, accessor, descriptionCache, translator) {
181
345
  const requirementResults = [];
182
346
  let allPassed = true;
183
347
  for (const requirement of spec.requirements) {
184
- const result = checkRequirement(requirement, expressId, accessor, translator);
348
+ const result = checkRequirement(requirement, expressId, accessor, descriptionCache, translator);
185
349
  requirementResults.push(result);
186
350
  if (result.status === 'fail') {
187
351
  allPassed = false;
@@ -200,7 +364,7 @@ function validateEntityRequirements(spec, expressId, modelId, accessor, translat
200
364
  /**
201
365
  * Check a single requirement against an entity
202
366
  */
203
- function checkRequirement(requirement, expressId, accessor, translator) {
367
+ function checkRequirement(requirement, expressId, accessor, descriptionCache, translator) {
204
368
  const facetResult = checkFacet(requirement.facet, expressId, accessor);
205
369
  // Apply optionality
206
370
  let status;
@@ -274,10 +438,15 @@ function checkRequirement(requirement, expressId, accessor, translator) {
274
438
  default:
275
439
  status = facetResult.passed ? 'pass' : 'fail';
276
440
  }
277
- // Generate checked description
278
- const checkedDescription = translator
279
- ? translator.describeRequirement(requirement)
280
- : formatRequirementDescription(requirement);
441
+ // Generate checked description. It is entity-independent, so format
442
+ // it once per requirement per run — not once per entity result.
443
+ let checkedDescription = descriptionCache.get(requirement);
444
+ if (checkedDescription === undefined) {
445
+ checkedDescription = translator
446
+ ? translator.describeRequirement(requirement)
447
+ : formatRequirementDescription(requirement);
448
+ descriptionCache.set(requirement, checkedDescription);
449
+ }
281
450
  return {
282
451
  requirement,
283
452
  status,
@@ -1 +1 @@
1
- {"version":3,"file":"validator.js","sourceRoot":"","sources":["../../src/validation/validator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validator.js","sourceRoot":"","sources":["../../src/validation/validator.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ifc-lite/ids",
3
- "version": "1.15.7",
3
+ "version": "1.15.9",
4
4
  "description": "IDS (Information Delivery Specification) support for IFC-Lite",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -19,7 +19,7 @@
19
19
  "dependencies": {
20
20
  "@xmldom/xmldom": "^0.9.10",
21
21
  "@ifc-lite/data": "2.0.2",
22
- "@ifc-lite/parser": "3.1.2"
22
+ "@ifc-lite/parser": "3.1.3"
23
23
  },
24
24
  "devDependencies": {
25
25
  "happy-dom": "^20.10.2",