@ifc-lite/cli 0.24.1 → 0.24.3
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/dist/commands/clash.d.ts +11 -0
- package/dist/commands/clash.d.ts.map +1 -1
- package/dist/commands/clash.js +91 -6
- package/dist/commands/clash.js.map +1 -1
- package/dist/commands/diff-test-helpers.d.ts +27 -0
- package/dist/commands/diff-test-helpers.d.ts.map +1 -1
- package/dist/commands/diff-test-helpers.js +54 -0
- package/dist/commands/diff-test-helpers.js.map +1 -1
- package/package.json +15 -15
package/dist/commands/clash.d.ts
CHANGED
|
@@ -1,2 +1,13 @@
|
|
|
1
|
+
import { type Clash } from '@ifc-lite/clash';
|
|
2
|
+
/**
|
|
3
|
+
* One clash as a human-readable row.
|
|
4
|
+
*
|
|
5
|
+
* A penetration whose `distanceKind` is `'estimate'` was read off the element
|
|
6
|
+
* AABBs, not measured on the meshes, so it is printed as an approximation and
|
|
7
|
+
* labelled. Calling it a flat "penetration" is the overclaim this label exists
|
|
8
|
+
* to stop: for stacked layers that number is a box dimension, and it can equal
|
|
9
|
+
* an element's own thickness. Exported for direct unit testing.
|
|
10
|
+
*/
|
|
11
|
+
export declare function formatClashRow(clash: Clash): string;
|
|
1
12
|
export declare function clashCommand(args: string[]): Promise<void>;
|
|
2
13
|
//# sourceMappingURL=clash.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clash.d.ts","sourceRoot":"","sources":["../../src/commands/clash.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"clash.d.ts","sourceRoot":"","sources":["../../src/commands/clash.ts"],"names":[],"mappings":"AAoBA,OAAO,EAOL,KAAK,KAAK,EAIX,MAAM,iBAAiB,CAAC;AAqGzB;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAWnD;AA0FD,wBAAsB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA4HhE"}
|
package/dist/commands/clash.js
CHANGED
|
@@ -15,7 +15,7 @@ import { basename } from 'node:path';
|
|
|
15
15
|
import { createHeadlessContext } from '../loader.js';
|
|
16
16
|
import { getFlag, hasFlag, fatal, printJson, routeConsoleDiagnosticsToStderr } from '../output.js';
|
|
17
17
|
import { GeometryProcessor } from '@ifc-lite/geometry';
|
|
18
|
-
import { createClashEngine, disciplineMatrixRules, groupClashes, isClusterGroupingIneffective, } from '@ifc-lite/clash';
|
|
18
|
+
import { createClashEngine, disciplineMatrixRules, groupClashes, isClusterGroupingIneffective, classifyRuleCoverage, ruleHadNoMatch, } from '@ifc-lite/clash';
|
|
19
19
|
import { elementsFromStep } from '@ifc-lite/clash/step';
|
|
20
20
|
import { createBCFFromClashResult } from '@ifc-lite/clash/bcf';
|
|
21
21
|
import { writeBCF } from '@ifc-lite/bcf';
|
|
@@ -107,15 +107,86 @@ function buildRules(args, mode, tolerance, clearance) {
|
|
|
107
107
|
rule.clearance = clearance;
|
|
108
108
|
return [rule];
|
|
109
109
|
}
|
|
110
|
-
|
|
110
|
+
/**
|
|
111
|
+
* One clash as a human-readable row.
|
|
112
|
+
*
|
|
113
|
+
* A penetration whose `distanceKind` is `'estimate'` was read off the element
|
|
114
|
+
* AABBs, not measured on the meshes, so it is printed as an approximation and
|
|
115
|
+
* labelled. Calling it a flat "penetration" is the overclaim this label exists
|
|
116
|
+
* to stop: for stacked layers that number is a box dimension, and it can equal
|
|
117
|
+
* an element's own thickness. Exported for direct unit testing.
|
|
118
|
+
*/
|
|
119
|
+
export function formatClashRow(clash) {
|
|
111
120
|
const aName = clash.a.name ? `${clash.a.tag} "${clash.a.name}"` : clash.a.tag;
|
|
112
121
|
const bName = clash.b.name ? `${clash.b.tag} "${clash.b.name}"` : clash.b.tag;
|
|
122
|
+
// Absent `distanceKind` means "unknown provenance" (a clash rehydrated from
|
|
123
|
+
// a pre-label run, or a producer that has not been updated yet), never
|
|
124
|
+
// "measured" — so only an explicit 'mesh' renders unqualified.
|
|
125
|
+
const estimated = clash.distanceKind !== 'mesh';
|
|
113
126
|
const distance = clash.distance < 0
|
|
114
|
-
? `penetration ${Math.abs(clash.distance).toFixed(3)}m`
|
|
127
|
+
? `penetration ${estimated ? '~' : ''}${Math.abs(clash.distance).toFixed(3)}m${estimated ? ' (AABB estimate)' : ''}`
|
|
115
128
|
: `gap ${clash.distance.toFixed(3)}m`;
|
|
116
129
|
return ` [${clash.severity}] ${aName} x ${bName} (${clash.status}, ${distance})`;
|
|
117
130
|
}
|
|
118
|
-
|
|
131
|
+
/**
|
|
132
|
+
* Rule ids whose selectors matched nothing to compare (on either side) in
|
|
133
|
+
* THIS model, described by WHICH side(s) were empty — never blames "the
|
|
134
|
+
* matrix" when the run had no matrix to blame (the default `--a`/`--b` path
|
|
135
|
+
* has exactly one hand-built rule; only `--matrix` runs the discipline
|
|
136
|
+
* matrix).
|
|
137
|
+
*/
|
|
138
|
+
function emptyRuleDescriptions(result) {
|
|
139
|
+
const rules = new Map(result.rulesRun.map((r) => [r.id, r]));
|
|
140
|
+
return (result.ruleCoverage ?? [])
|
|
141
|
+
.filter(ruleHadNoMatch)
|
|
142
|
+
.map((c) => {
|
|
143
|
+
const rule = rules.get(c.rule);
|
|
144
|
+
if (!rule)
|
|
145
|
+
return c.rule;
|
|
146
|
+
const emptySides = [];
|
|
147
|
+
if (c.matchedA === 0)
|
|
148
|
+
emptySides.push(`selector A ("${rule.a}")`);
|
|
149
|
+
if (c.matchedB === 0)
|
|
150
|
+
emptySides.push(`selector B ("${rule.b}")`);
|
|
151
|
+
const sides = emptySides.length > 0 ? emptySides.join(' and ') : 'a selector';
|
|
152
|
+
return `"${rule.name}": ${sides} matched 0 elements`;
|
|
153
|
+
});
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* Case (c) from the design: distinguish "ran and found zero" from "no rule
|
|
157
|
+
* matched anything, so the check never really ran". Reported as a warning,
|
|
158
|
+
* never as an error — zero clashes is a legitimate outcome, this only says
|
|
159
|
+
* which kind of zero it is. See {@link classifyRuleCoverage}.
|
|
160
|
+
*
|
|
161
|
+
* `isMatrix` gates the matrix-specific wording: the discipline matrix
|
|
162
|
+
* (`--matrix`) runs many rules and its "no-match" case really does mean the
|
|
163
|
+
* matrix as a whole never ran. The default `--a`/`--b` path builds exactly
|
|
164
|
+
* one ad-hoc rule — when that rule's selector matches nothing on one side
|
|
165
|
+
* (e.g. `--a IfcWall --b IfcRoof` on a model with no roofs), the OTHER side
|
|
166
|
+
* still matched and no matrix was ever involved, so the message must name
|
|
167
|
+
* the empty selector instead of claiming the matrix didn't run.
|
|
168
|
+
*/
|
|
169
|
+
function printCoverageWarning(result, isMatrix) {
|
|
170
|
+
const outcome = classifyRuleCoverage(result);
|
|
171
|
+
if (outcome === 'no-match') {
|
|
172
|
+
if (isMatrix) {
|
|
173
|
+
process.stdout.write(`\n WARNING: none of the ${result.rulesRun.length} rule(s) matched any elements in this model.\n` +
|
|
174
|
+
` The clash matrix did NOT run — "${result.summary.total} clashes" means nothing was checked,\n` +
|
|
175
|
+
` not that the model is clean. This matrix is shaped for MEP/HVAC/electrical/fire coordination;\n` +
|
|
176
|
+
` it may simply not describe this model's disciplines (e.g. an infrastructure model).\n` +
|
|
177
|
+
` Empty rules: ${emptyRuleDescriptions(result).join(', ')}\n`);
|
|
178
|
+
}
|
|
179
|
+
else {
|
|
180
|
+
process.stdout.write(`\n WARNING: ${emptyRuleDescriptions(result).join(', ')} — no comparison ran, so\n` +
|
|
181
|
+
` "${result.summary.total} clashes" means nothing was checked, not that the model is clean.\n`);
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
else if (outcome === 'partial') {
|
|
185
|
+
process.stdout.write(`\n Note: ${emptyRuleDescriptions(result).length} of ${result.rulesRun.length} rule(s) never ran a ` +
|
|
186
|
+
`comparison: ${emptyRuleDescriptions(result).join(', ')}\n`);
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
function printHumanSummary(result, isMatrix) {
|
|
119
190
|
const { summary } = result;
|
|
120
191
|
process.stdout.write(`\n Clash Detection Results\n`);
|
|
121
192
|
process.stdout.write(` -----------------------\n`);
|
|
@@ -124,6 +195,7 @@ function printHumanSummary(result) {
|
|
|
124
195
|
if (result.truncated) {
|
|
125
196
|
process.stdout.write(` Truncated: ${result.truncated.reason} (${result.truncated.droppedPairs} pairs dropped)\n`);
|
|
126
197
|
}
|
|
198
|
+
printCoverageWarning(result, isMatrix);
|
|
127
199
|
if (summary.total > 0) {
|
|
128
200
|
const shown = result.clashes.slice(0, HUMAN_CLASH_CAP);
|
|
129
201
|
process.stdout.write(`\n Top ${shown.length} of ${summary.total} clashes:\n`);
|
|
@@ -150,6 +222,7 @@ export async function clashCommand(args) {
|
|
|
150
222
|
fatal('Usage: ifc-lite clash <file.ifc> [--a <selector>] [--b <selector>] [--mode hard|clearance] [--tolerance N] [--clearance N] [--matrix] [--bcf <out.bcfzip>] [--group cluster|rule|typePair|element] [--bcf-status <status>] [--max-topics N] [--json]');
|
|
151
223
|
}
|
|
152
224
|
const jsonOutput = hasFlag(args, '--json');
|
|
225
|
+
const isMatrix = hasFlag(args, '--matrix');
|
|
153
226
|
const mode = parseMode(getFlag(args, '--mode'));
|
|
154
227
|
const tolerance = parseNumberFlag(getFlag(args, '--tolerance'), '--tolerance');
|
|
155
228
|
const clearance = parseNumberFlag(getFlag(args, '--clearance'), '--clearance');
|
|
@@ -210,10 +283,22 @@ export async function clashCommand(args) {
|
|
|
210
283
|
const truncated = total > clashes.length
|
|
211
284
|
? { reason: `capped at ${JSON_CLASH_CAP} clashes for display`, dropped: total - clashes.length }
|
|
212
285
|
: null;
|
|
213
|
-
|
|
286
|
+
// `ruleCoverageOutcome` is the machine-readable form of the same signal
|
|
287
|
+
// printed by `printCoverageWarning` in the human summary: 'no-match'
|
|
288
|
+
// means no rule in `rulesRun` matched any elements — the matrix never
|
|
289
|
+
// ran a real comparison, so `summary.total === 0` here does NOT mean
|
|
290
|
+
// "model is clean". Never fails the command; consumers decide what to
|
|
291
|
+
// do with it.
|
|
292
|
+
printJson({
|
|
293
|
+
summary: result.summary,
|
|
294
|
+
truncated,
|
|
295
|
+
ruleCoverageOutcome: classifyRuleCoverage(result),
|
|
296
|
+
ruleCoverage: result.ruleCoverage ?? null,
|
|
297
|
+
clashes,
|
|
298
|
+
});
|
|
214
299
|
return;
|
|
215
300
|
}
|
|
216
|
-
printHumanSummary(result);
|
|
301
|
+
printHumanSummary(result, isMatrix);
|
|
217
302
|
}
|
|
218
303
|
finally {
|
|
219
304
|
// Reset BEFORE disposing, and never let a cleanup failure escape.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clash.js","sourceRoot":"","sources":["../../src/commands/clash.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"clash.js","sourceRoot":"","sources":["../../src/commands/clash.ts"],"names":[],"mappings":"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"}
|
|
@@ -64,6 +64,33 @@ export declare function typeTagModel(): string;
|
|
|
64
64
|
* IFC4. Same pinned-registry family as #2001/#2003.
|
|
65
65
|
*/
|
|
66
66
|
export declare function railTypeModel(): string;
|
|
67
|
+
/**
|
|
68
|
+
* The infrastructure-revision fixture: one IFC4X3 model in two revisions,
|
|
69
|
+
* carrying the four edit shapes an externally-corroborated comparison of a real
|
|
70
|
+
* infrastructure certification sample pair found, and nothing else.
|
|
71
|
+
*
|
|
72
|
+
* Each element is one shape, so a miss names itself:
|
|
73
|
+
*
|
|
74
|
+
* - `COUR` (`IfcCourse`) — **`PredefinedType` cleared** (`.PAVING.` → `$`) and
|
|
75
|
+
* nothing else touched. This is the shape that dominated the real pair (19 of
|
|
76
|
+
* its 23 modified products), and the one the IFC4 codegen pin hides: an
|
|
77
|
+
* `IfcCourse` is IFC4X3-only, so a `PredefinedType` read that names attributes
|
|
78
|
+
* through the pin finds no attribute list at all and reports the element
|
|
79
|
+
* unchanged. See {@link railTypeModel} for the same defect on `Tag`.
|
|
80
|
+
* - `PAVE` (`IfcPavement`) — byte-identical in both revisions. The bounding
|
|
81
|
+
* control on the other side: widening what the fingerprint can see must not
|
|
82
|
+
* start reporting an untouched IFC4X3 element as modified.
|
|
83
|
+
* - `PROX` (`IfcBuildingElementProxy` → `IfcGeographicElement`) —
|
|
84
|
+
* **reclassified**, with a new Description and ObjectType, keeping its
|
|
85
|
+
* GlobalId. Four of the real pair's 23 were exactly this.
|
|
86
|
+
* - `KERB` (`IfcKerb`) — deleted. `SIGN` (`IfcSignal`) — added.
|
|
87
|
+
*
|
|
88
|
+
* `PROX` is deliberately an IFC4 class in both revisions: it proves the
|
|
89
|
+
* comparison still sees a class/description/object-type edit through the pinned
|
|
90
|
+
* path, so a failure on `COUR` alone localises to the attribute-name lookup
|
|
91
|
+
* rather than to the fingerprint or the engine.
|
|
92
|
+
*/
|
|
93
|
+
export declare function infraRevisionModel(revision: 1 | 2): string;
|
|
67
94
|
export declare const BASE_MODEL: string;
|
|
68
95
|
/** Same building, re-exported: the two walls carry brand-new GlobalIds. */
|
|
69
96
|
export declare const HEAD_MODEL: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diff-test-helpers.d.ts","sourceRoot":"","sources":["../../src/commands/diff-test-helpers.ts"],"names":[],"mappings":"AAIA,kFAAkF;AAElF,yDAAyD;AACzD,wBAAgB,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAE7C;AAED;;wDAEwD;AACxD,wBAAgB,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CA4B1D;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CA+BtD;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CA0B5D;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,YAAY,IAAI,MAAM,CAwBrC;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,IAAI,MAAM,CAmBtC;AAED,eAAO,MAAM,UAAU,QAAoC,CAAC;AAC5D,2EAA2E;AAC3E,eAAO,MAAM,UAAU,QAAoC,CAAC"}
|
|
1
|
+
{"version":3,"file":"diff-test-helpers.d.ts","sourceRoot":"","sources":["../../src/commands/diff-test-helpers.ts"],"names":[],"mappings":"AAIA,kFAAkF;AAElF,yDAAyD;AACzD,wBAAgB,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAE7C;AAED;;wDAEwD;AACxD,wBAAgB,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CA4B1D;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CA+BtD;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CA0B5D;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,YAAY,IAAI,MAAM,CAwBrC;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,IAAI,MAAM,CAmBtC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,GAAG,MAAM,CA+B1D;AAED,eAAO,MAAM,UAAU,QAAoC,CAAC;AAC5D,2EAA2E;AAC3E,eAAO,MAAM,UAAU,QAAoC,CAAC"}
|
|
@@ -197,6 +197,60 @@ ENDSEC;
|
|
|
197
197
|
END-ISO-10303-21;
|
|
198
198
|
`;
|
|
199
199
|
}
|
|
200
|
+
/**
|
|
201
|
+
* The infrastructure-revision fixture: one IFC4X3 model in two revisions,
|
|
202
|
+
* carrying the four edit shapes an externally-corroborated comparison of a real
|
|
203
|
+
* infrastructure certification sample pair found, and nothing else.
|
|
204
|
+
*
|
|
205
|
+
* Each element is one shape, so a miss names itself:
|
|
206
|
+
*
|
|
207
|
+
* - `COUR` (`IfcCourse`) — **`PredefinedType` cleared** (`.PAVING.` → `$`) and
|
|
208
|
+
* nothing else touched. This is the shape that dominated the real pair (19 of
|
|
209
|
+
* its 23 modified products), and the one the IFC4 codegen pin hides: an
|
|
210
|
+
* `IfcCourse` is IFC4X3-only, so a `PredefinedType` read that names attributes
|
|
211
|
+
* through the pin finds no attribute list at all and reports the element
|
|
212
|
+
* unchanged. See {@link railTypeModel} for the same defect on `Tag`.
|
|
213
|
+
* - `PAVE` (`IfcPavement`) — byte-identical in both revisions. The bounding
|
|
214
|
+
* control on the other side: widening what the fingerprint can see must not
|
|
215
|
+
* start reporting an untouched IFC4X3 element as modified.
|
|
216
|
+
* - `PROX` (`IfcBuildingElementProxy` → `IfcGeographicElement`) —
|
|
217
|
+
* **reclassified**, with a new Description and ObjectType, keeping its
|
|
218
|
+
* GlobalId. Four of the real pair's 23 were exactly this.
|
|
219
|
+
* - `KERB` (`IfcKerb`) — deleted. `SIGN` (`IfcSignal`) — added.
|
|
220
|
+
*
|
|
221
|
+
* `PROX` is deliberately an IFC4 class in both revisions: it proves the
|
|
222
|
+
* comparison still sees a class/description/object-type edit through the pinned
|
|
223
|
+
* path, so a failure on `COUR` alone localises to the attribute-name lookup
|
|
224
|
+
* rather than to the fingerprint or the engine.
|
|
225
|
+
*/
|
|
226
|
+
export function infraRevisionModel(revision) {
|
|
227
|
+
const head = revision === 2;
|
|
228
|
+
return `ISO-10303-21;
|
|
229
|
+
HEADER;
|
|
230
|
+
FILE_DESCRIPTION((''),'2;1');
|
|
231
|
+
FILE_NAME('m','2026',(''),(''),'','','');
|
|
232
|
+
FILE_SCHEMA(('IFC4X3'));
|
|
233
|
+
ENDSEC;
|
|
234
|
+
DATA;
|
|
235
|
+
#1= IFCPROJECT('${guid('PROJ')}',$,'Proj',$,$,$,$,(#20),#30);
|
|
236
|
+
#20= IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,1.E-5,#21,$);
|
|
237
|
+
#21= IFCAXIS2PLACEMENT3D(#22,$,$);
|
|
238
|
+
#22= IFCCARTESIANPOINT((0.,0.,0.));
|
|
239
|
+
#30= IFCUNITASSIGNMENT((#31));
|
|
240
|
+
#31= IFCSIUNIT(*,.LENGTHUNIT.,$,.METRE.);
|
|
241
|
+
#40= IFCLOCALPLACEMENT($,#21);
|
|
242
|
+
#50= IFCCOURSE('${guid('COUR')}',$,'Base course',$,$,#40,$,'c1',${head ? '$' : '.PAVING.'});
|
|
243
|
+
#51= IFCPAVEMENT('${guid('PAVE')}',$,'Wearing course',$,$,#40,$,'p1',.FLEXIBLE.);
|
|
244
|
+
${head
|
|
245
|
+
? `#52= IFCGEOGRAPHICELEMENT('${guid('PROX')}',$,'Marker','terrain marker','geographic',#40,$,'x1',.TERRAIN.);`
|
|
246
|
+
: `#52= IFCBUILDINGELEMENTPROXY('${guid('PROX')}',$,'Marker',$,$,#40,$,'x1',.ELEMENT.);`}
|
|
247
|
+
${head
|
|
248
|
+
? `#53= IFCSIGNAL('${guid('SIGN')}',$,'Signal',$,$,#40,$,'s1',.VISUAL.);`
|
|
249
|
+
: `#53= IFCKERB('${guid('KERB')}',$,'Kerb',$,$,#40,$,'k1',.USERDEFINED.);`}
|
|
250
|
+
ENDSEC;
|
|
251
|
+
END-ISO-10303-21;
|
|
252
|
+
`;
|
|
253
|
+
}
|
|
200
254
|
export const BASE_MODEL = model(guid('OLDA'), guid('OLDB'));
|
|
201
255
|
/** Same building, re-exported: the two walls carry brand-new GlobalIds. */
|
|
202
256
|
export const HEAD_MODEL = model(guid('NEWA'), guid('NEWB'));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diff-test-helpers.js","sourceRoot":"","sources":["../../src/commands/diff-test-helpers.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAE/D,kFAAkF;AAElF,yDAAyD;AACzD,MAAM,UAAU,IAAI,CAAC,QAAgB;IACnC,OAAO,CAAC,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAClD,CAAC;AAED;;wDAEwD;AACxD,MAAM,UAAU,KAAK,CAAC,KAAa,EAAE,KAAa;IAChD,OAAO;;;;;;;kBAOS,IAAI,CAAC,MAAM,CAAC;;;;;;;0BAOJ,IAAI,CAAC,MAAM,CAAC;;;;;;;gBAOtB,KAAK;gBACL,KAAK;0CACqB,IAAI,CAAC,MAAM,CAAC;;;CAGrD,CAAC;AACF,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,aAAa,CAAC,QAAgB;IAC5C,OAAO;;;;;;;kBAOS,IAAI,CAAC,MAAM,CAAC;;;;;;;0BAOJ,IAAI,CAAC,MAAM,CAAC;gBACtB,IAAI,CAAC,MAAM,CAAC;;uBAEL,IAAI,CAAC,MAAM,CAAC;;kCAED,IAAI,CAAC,MAAM,CAAC;gBAC9B,QAAQ;iBACP,IAAI,CAAC,MAAM,CAAC;;0CAEa,IAAI,CAAC,MAAM,CAAC;sBAChC,IAAI,CAAC,MAAM,CAAC;0BACR,IAAI,CAAC,MAAM,CAAC;yBACb,IAAI,CAAC,MAAM,CAAC;;;CAGpC,CAAC;AACF,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,mBAAmB,CAAC,QAAgB;IAClD,OAAO;;;;;;;kBAOS,IAAI,CAAC,MAAM,CAAC;;;;;;;0BAOJ,IAAI,CAAC,MAAM,CAAC;4BACV,IAAI,CAAC,MAAM,CAAC;gBACxB,QAAQ;wBACA,IAAI,CAAC,MAAM,CAAC;;;2BAGT,IAAI,CAAC,MAAM,CAAC;0CACG,IAAI,CAAC,MAAM,CAAC;;;CAGrD,CAAC;AACF,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,YAAY;IAC1B,OAAO;;;;;;;kBAOS,IAAI,CAAC,MAAM,CAAC;;;;;;;0BAOJ,IAAI,CAAC,MAAM,CAAC;oBAClB,IAAI,CAAC,MAAM,CAAC;oBACZ,IAAI,CAAC,MAAM,CAAC;gBAChB,IAAI,CAAC,MAAM,CAAC;gBACZ,IAAI,CAAC,MAAM,CAAC;0CACc,IAAI,CAAC,MAAM,CAAC;;;CAGrD,CAAC;AACF,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,aAAa;IAC3B,OAAO;;;;;;;kBAOS,IAAI,CAAC,MAAM,CAAC;;;;;;oBAMV,IAAI,CAAC,MAAM,CAAC;oBACZ,IAAI,CAAC,MAAM,CAAC;;;CAG/B,CAAC;AACF,CAAC;AAED,MAAM,CAAC,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;AAC5D,2EAA2E;AAC3E,MAAM,CAAC,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"diff-test-helpers.js","sourceRoot":"","sources":["../../src/commands/diff-test-helpers.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAE/D,kFAAkF;AAElF,yDAAyD;AACzD,MAAM,UAAU,IAAI,CAAC,QAAgB;IACnC,OAAO,CAAC,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAClD,CAAC;AAED;;wDAEwD;AACxD,MAAM,UAAU,KAAK,CAAC,KAAa,EAAE,KAAa;IAChD,OAAO;;;;;;;kBAOS,IAAI,CAAC,MAAM,CAAC;;;;;;;0BAOJ,IAAI,CAAC,MAAM,CAAC;;;;;;;gBAOtB,KAAK;gBACL,KAAK;0CACqB,IAAI,CAAC,MAAM,CAAC;;;CAGrD,CAAC;AACF,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,aAAa,CAAC,QAAgB;IAC5C,OAAO;;;;;;;kBAOS,IAAI,CAAC,MAAM,CAAC;;;;;;;0BAOJ,IAAI,CAAC,MAAM,CAAC;gBACtB,IAAI,CAAC,MAAM,CAAC;;uBAEL,IAAI,CAAC,MAAM,CAAC;;kCAED,IAAI,CAAC,MAAM,CAAC;gBAC9B,QAAQ;iBACP,IAAI,CAAC,MAAM,CAAC;;0CAEa,IAAI,CAAC,MAAM,CAAC;sBAChC,IAAI,CAAC,MAAM,CAAC;0BACR,IAAI,CAAC,MAAM,CAAC;yBACb,IAAI,CAAC,MAAM,CAAC;;;CAGpC,CAAC;AACF,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,mBAAmB,CAAC,QAAgB;IAClD,OAAO;;;;;;;kBAOS,IAAI,CAAC,MAAM,CAAC;;;;;;;0BAOJ,IAAI,CAAC,MAAM,CAAC;4BACV,IAAI,CAAC,MAAM,CAAC;gBACxB,QAAQ;wBACA,IAAI,CAAC,MAAM,CAAC;;;2BAGT,IAAI,CAAC,MAAM,CAAC;0CACG,IAAI,CAAC,MAAM,CAAC;;;CAGrD,CAAC;AACF,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,YAAY;IAC1B,OAAO;;;;;;;kBAOS,IAAI,CAAC,MAAM,CAAC;;;;;;;0BAOJ,IAAI,CAAC,MAAM,CAAC;oBAClB,IAAI,CAAC,MAAM,CAAC;oBACZ,IAAI,CAAC,MAAM,CAAC;gBAChB,IAAI,CAAC,MAAM,CAAC;gBACZ,IAAI,CAAC,MAAM,CAAC;0CACc,IAAI,CAAC,MAAM,CAAC;;;CAGrD,CAAC;AACF,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,aAAa;IAC3B,OAAO;;;;;;;kBAOS,IAAI,CAAC,MAAM,CAAC;;;;;;oBAMV,IAAI,CAAC,MAAM,CAAC;oBACZ,IAAI,CAAC,MAAM,CAAC;;;CAG/B,CAAC;AACF,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,UAAU,kBAAkB,CAAC,QAAe;IAChD,MAAM,IAAI,GAAG,QAAQ,KAAK,CAAC,CAAC;IAC5B,OAAO;;;;;;;kBAOS,IAAI,CAAC,MAAM,CAAC;;;;;;;kBAOZ,IAAI,CAAC,MAAM,CAAC,oCAAoC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU;oBACrE,IAAI,CAAC,MAAM,CAAC;EAE9B,IAAI;QACF,CAAC,CAAC,8BAA8B,IAAI,CAAC,MAAM,CAAC,mEAAmE;QAC/G,CAAC,CAAC,iCAAiC,IAAI,CAAC,MAAM,CAAC,yCACnD;EAEE,IAAI;QACF,CAAC,CAAC,mBAAmB,IAAI,CAAC,MAAM,CAAC,wCAAwC;QACzE,CAAC,CAAC,iBAAiB,IAAI,CAAC,MAAM,CAAC,2CACnC;;;CAGC,CAAC;AACF,CAAC;AAED,MAAM,CAAC,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;AAC5D,2EAA2E;AAC3E,MAAM,CAAC,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ifc-lite/cli",
|
|
3
|
-
"version": "0.24.
|
|
3
|
+
"version": "0.24.3",
|
|
4
4
|
"description": "CLI toolkit for IFC files — query, validate, export, create, and script BIM data",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -21,24 +21,24 @@
|
|
|
21
21
|
],
|
|
22
22
|
"dependencies": {
|
|
23
23
|
"@ifc-lite/bcf": "^1.18.1",
|
|
24
|
-
"@ifc-lite/clash": "^1.
|
|
24
|
+
"@ifc-lite/clash": "^1.8.0",
|
|
25
|
+
"@ifc-lite/create": "^2.1.1",
|
|
25
26
|
"@ifc-lite/data": "^3.3.0",
|
|
26
|
-
"@ifc-lite/
|
|
27
|
-
"@ifc-lite/
|
|
28
|
-
"@ifc-lite/
|
|
29
|
-
"@ifc-lite/
|
|
30
|
-
"@ifc-lite/
|
|
31
|
-
"@ifc-lite/
|
|
32
|
-
"@ifc-lite/merge": "^0.4.
|
|
33
|
-
"@ifc-lite/
|
|
34
|
-
"@ifc-lite/mcp": "^0.11.1",
|
|
27
|
+
"@ifc-lite/diff": "^0.7.0",
|
|
28
|
+
"@ifc-lite/export": "^2.9.3",
|
|
29
|
+
"@ifc-lite/extensions": "^0.4.2",
|
|
30
|
+
"@ifc-lite/geometry": "^3.8.3",
|
|
31
|
+
"@ifc-lite/ids": "^1.15.47",
|
|
32
|
+
"@ifc-lite/ifcx": "^2.3.6",
|
|
33
|
+
"@ifc-lite/merge": "^0.4.2",
|
|
34
|
+
"@ifc-lite/mcp": "^0.11.2",
|
|
35
35
|
"@ifc-lite/mutations": "^1.26.0",
|
|
36
|
-
"@ifc-lite/parser": "^4.0
|
|
37
|
-
"@ifc-lite/sandbox": "^2.2.0",
|
|
36
|
+
"@ifc-lite/parser": "^4.1.0",
|
|
38
37
|
"@ifc-lite/query": "^1.14.16",
|
|
39
|
-
"@ifc-lite/
|
|
38
|
+
"@ifc-lite/sandbox": "^2.2.0",
|
|
39
|
+
"@ifc-lite/sdk": "^2.1.2",
|
|
40
40
|
"@ifc-lite/viewer-core": "^0.2.12",
|
|
41
|
-
"@ifc-lite/wasm": "^4.
|
|
41
|
+
"@ifc-lite/wasm": "^4.7.0"
|
|
42
42
|
},
|
|
43
43
|
"devDependencies": {
|
|
44
44
|
"@types/node": "^26.1.2",
|