@bldrs-ai/conway 1.433.1298 → 1.435.1309
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/compiled/Dist/ConwayGeomWasmNode.js +0 -0
- package/compiled/Dist/ConwayGeomWasmNodeMT.js +0 -0
- package/compiled/Dist/ConwayGeomWasmWeb.js +0 -0
- package/compiled/Dist/ConwayGeomWasmWebMT.js +1 -1
- package/compiled/Dist/ConwayGeomWasmWebMT.wasm +0 -0
- package/compiled/dependencies/conway-geom/Dist/ConwayGeomWasmNode.js +0 -0
- package/compiled/dependencies/conway-geom/Dist/ConwayGeomWasmNodeMT.js +0 -0
- package/compiled/dependencies/conway-geom/Dist/ConwayGeomWasmWeb.js +0 -0
- package/compiled/dependencies/conway-geom/Dist/ConwayGeomWasmWebMT.js +1 -1
- package/compiled/dependencies/conway-geom/Dist/ConwayGeomWasmWebMT.wasm +0 -0
- package/compiled/examples/browser-bundled.cjs +1 -1
- package/compiled/examples/cli-bundled.cjs +23 -30
- package/compiled/examples/cli-step-bundled.cjs +42 -37
- package/compiled/examples/validator-bundled.cjs +1 -1
- package/compiled/src/AP214E3_2010/ap214_geometry_extraction.d.ts +8 -0
- package/compiled/src/AP214E3_2010/ap214_geometry_extraction.d.ts.map +1 -1
- package/compiled/src/AP214E3_2010/ap214_geometry_extraction.js +36 -19
- package/compiled/src/AP214E3_2010/ap214_geometry_extraction.test.js +4 -1
- package/compiled/src/compat/web-ifc/coordination_f64.d.ts +74 -0
- package/compiled/src/compat/web-ifc/coordination_f64.d.ts.map +1 -0
- package/compiled/src/compat/web-ifc/coordination_f64.js +153 -0
- package/compiled/src/compat/web-ifc/coordination_f64.test.d.ts +2 -0
- package/compiled/src/compat/web-ifc/coordination_f64.test.d.ts.map +1 -0
- package/compiled/src/compat/web-ifc/coordination_f64.test.js +140 -0
- package/compiled/src/compat/web-ifc/ifc_api_proxy_ap214.d.ts +1 -1
- package/compiled/src/compat/web-ifc/ifc_api_proxy_ap214.d.ts.map +1 -1
- package/compiled/src/compat/web-ifc/ifc_api_proxy_ap214.js +34 -110
- package/compiled/src/compat/web-ifc/ifc_api_proxy_ifc.d.ts +1 -1
- package/compiled/src/compat/web-ifc/ifc_api_proxy_ifc.d.ts.map +1 -1
- package/compiled/src/compat/web-ifc/ifc_api_proxy_ifc.js +31 -175
- package/compiled/src/compat/web-ifc/streamed_preview_channel.d.ts +1 -2
- package/compiled/src/compat/web-ifc/streamed_preview_channel.d.ts.map +1 -1
- package/compiled/src/compat/web-ifc/streamed_preview_channel.js +18 -39
- package/compiled/src/ifc/ifc_geometry_extraction.d.ts +8 -0
- package/compiled/src/ifc/ifc_geometry_extraction.d.ts.map +1 -1
- package/compiled/src/ifc/ifc_geometry_extraction.js +9 -12
- package/compiled/src/version/version.js +1 -1
- package/compiled/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
|
@@ -944,7 +944,7 @@ var EntityTypesIfcCount = 909;
|
|
|
944
944
|
var entity_types_ifc_gen_default = EntityTypesIfc;
|
|
945
945
|
|
|
946
946
|
// compiled/src/version/version.js
|
|
947
|
-
var versionString = "Conway v1.
|
|
947
|
+
var versionString = "Conway v1.435.1309";
|
|
948
948
|
|
|
949
949
|
// compiled/dependencies/conway-geom/interface/conway_geometry.js
|
|
950
950
|
var wasmType = "";
|
|
@@ -84,6 +84,14 @@ export declare class AP214GeometryExtraction {
|
|
|
84
84
|
* or the maximum level for CSG memoization if it is not.
|
|
85
85
|
* @param lowMemoryMode Whether to enable low memory mode for geometry extraction.
|
|
86
86
|
*/
|
|
87
|
+
/** When true, per-record recoverable errors (dangling styled items,
|
|
88
|
+
* child-representation failures, stack mismatches) are not logged.
|
|
89
|
+
* Set by the parse-time preview channel's throwaway PREFIX
|
|
90
|
+
* extractions, where truncated-tail records make those errors
|
|
91
|
+
* expected by construction — several generations over a large STEP
|
|
92
|
+
* file otherwise flood the load report with thousands of warnings
|
|
93
|
+
* (Arty: 5k+). Durable extractions keep full logging. */
|
|
94
|
+
quietRecoverableLogging: boolean;
|
|
87
95
|
constructor(conwayModel: ConwayGeometry, model: AP214StepModel, limitCSGDepth?: boolean, csgDepthLimit?: number, lowMemoryMode?: boolean);
|
|
88
96
|
/**
|
|
89
97
|
* Flush any staged (deferred) face tessellation jobs, tessellating them in
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ap214_geometry_extraction.d.ts","sourceRoot":"","sources":["../../../src/AP214E3_2010/ap214_geometry_extraction.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ap214_geometry_extraction.d.ts","sourceRoot":"","sources":["../../../src/AP214E3_2010/ap214_geometry_extraction.ts"],"names":[],"mappings":"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"}
|
|
@@ -59,16 +59,6 @@ export function extractColorOrFactor(from, surfaceColor, alpha = 1) {
|
|
|
59
59
|
* Can export to OBJ, GLTF (Draco), GLB (Draco)
|
|
60
60
|
*/
|
|
61
61
|
export class AP214GeometryExtraction {
|
|
62
|
-
/**
|
|
63
|
-
* Construct a geometry extraction from an AP214 step model and conway model
|
|
64
|
-
*
|
|
65
|
-
* @param conwayModel
|
|
66
|
-
* @param model
|
|
67
|
-
* @param limitCSGDepth Whether to limit the depth of CSG operations.
|
|
68
|
-
* @param csgDepthLimit The maximum depth for CSG operations when limit CSG depth is used,
|
|
69
|
-
* or the maximum level for CSG memoization if it is not.
|
|
70
|
-
* @param lowMemoryMode Whether to enable low memory mode for geometry extraction.
|
|
71
|
-
*/
|
|
72
62
|
constructor(conwayModel, model, limitCSGDepth = true, csgDepthLimit = 20, lowMemoryMode = false) {
|
|
73
63
|
this.conwayModel = conwayModel;
|
|
74
64
|
this.model = model;
|
|
@@ -90,6 +80,7 @@ export class AP214GeometryExtraction {
|
|
|
90
80
|
this.geometryTypeCounts = new Map();
|
|
91
81
|
this.demandCursor_ = 0;
|
|
92
82
|
this.csgMemoization = !this.lowMemoryMode;
|
|
83
|
+
this.quietRecoverableLogging = false;
|
|
93
84
|
this.materials = model.materials;
|
|
94
85
|
this.scene = new AP214SceneBuilder(model, conwayModel, this.materials);
|
|
95
86
|
this.productShapeMap = new AP214ProductShapeMap();
|
|
@@ -2347,11 +2338,24 @@ export class AP214GeometryExtraction {
|
|
|
2347
2338
|
* @param nativeSurface
|
|
2348
2339
|
*/
|
|
2349
2340
|
extractSurfaceOfLinearExtrusion(from, nativeSurface) {
|
|
2350
|
-
|
|
2351
|
-
|
|
2341
|
+
// AP214's swept_curve is a bare curve, not a profile_def, so it goes
|
|
2342
|
+
// through extractCurve + createNativeIfcProfile like the revolution
|
|
2343
|
+
// path does. extractProfile() never fills nativeProfile for bare
|
|
2344
|
+
// curves, which silently dropped every linear-extrusion face (1,370
|
|
2345
|
+
// faces on the Jetenginestep compressor shaft alone).
|
|
2346
|
+
const nativeCurve = this.extractCurve(from.swept_curve);
|
|
2347
|
+
if (nativeCurve === void 0) {
|
|
2352
2348
|
Logger.warning("Couldn't get curve profile for linear extrusion surface");
|
|
2353
2349
|
return;
|
|
2354
2350
|
}
|
|
2351
|
+
const parameters = {
|
|
2352
|
+
curve: nativeCurve,
|
|
2353
|
+
holes: this.nativeVectorCurve(),
|
|
2354
|
+
isConvex: false,
|
|
2355
|
+
isComposite: false,
|
|
2356
|
+
profiles: this.nativeVectorProfile(),
|
|
2357
|
+
};
|
|
2358
|
+
const nativeProfile = this.conwayModel.createNativeIfcProfile(parameters);
|
|
2355
2359
|
const extrusionAxis = from.extrusion_axis;
|
|
2356
2360
|
const depth = extrusionAxis.magnitude;
|
|
2357
2361
|
const directionCoords = extrusionAxis.orientation.direction_ratios;
|
|
@@ -2363,7 +2367,7 @@ export class AP214GeometryExtraction {
|
|
|
2363
2367
|
y: directionCoords[1],
|
|
2364
2368
|
z: directionCoords[2],
|
|
2365
2369
|
},
|
|
2366
|
-
profile:
|
|
2370
|
+
profile: nativeProfile,
|
|
2367
2371
|
};
|
|
2368
2372
|
}
|
|
2369
2373
|
/**
|
|
@@ -2810,7 +2814,9 @@ export class AP214GeometryExtraction {
|
|
|
2810
2814
|
}
|
|
2811
2815
|
}
|
|
2812
2816
|
catch (error) {
|
|
2813
|
-
|
|
2817
|
+
if (!this.quietRecoverableLogging) {
|
|
2818
|
+
Logger.error(`Error populating styled item map for item ${styledItem.localID}: ${error}`);
|
|
2819
|
+
}
|
|
2814
2820
|
}
|
|
2815
2821
|
}
|
|
2816
2822
|
for (const overridingStyledItem of overridingStyledItems) {
|
|
@@ -2820,7 +2826,9 @@ export class AP214GeometryExtraction {
|
|
|
2820
2826
|
}
|
|
2821
2827
|
}
|
|
2822
2828
|
catch (error) {
|
|
2823
|
-
|
|
2829
|
+
if (!this.quietRecoverableLogging) {
|
|
2830
|
+
Logger.error(`Error populating styled item map for item ${overridingStyledItem.localID}: ${error}`);
|
|
2831
|
+
}
|
|
2824
2832
|
}
|
|
2825
2833
|
}
|
|
2826
2834
|
}
|
|
@@ -2971,7 +2979,10 @@ export class AP214GeometryExtraction {
|
|
|
2971
2979
|
mappedChild.thunk(childOwningLocalID, childTransform);
|
|
2972
2980
|
}
|
|
2973
2981
|
catch (ex) {
|
|
2974
|
-
if (
|
|
2982
|
+
if (this.quietRecoverableLogging) {
|
|
2983
|
+
// Preview prefix: dangling children are expected — skip quietly.
|
|
2984
|
+
}
|
|
2985
|
+
else if (ex instanceof Error) {
|
|
2975
2986
|
Logger.error(`Error processing child shape_representation: \n\t${ex.name}\n\t${ex.message}\n\texpressID: #${this.model.getExpressIDByLocalID(childLocalID)}`);
|
|
2976
2987
|
}
|
|
2977
2988
|
else {
|
|
@@ -2982,7 +2993,8 @@ export class AP214GeometryExtraction {
|
|
|
2982
2993
|
while (this.scene.stackLength > enterChildStackDepth) {
|
|
2983
2994
|
this.scene.popTransform();
|
|
2984
2995
|
}
|
|
2985
|
-
if (this.scene.stackLength !== enterChildStackDepth ||
|
|
2996
|
+
if ((this.scene.stackLength !== enterChildStackDepth ||
|
|
2997
|
+
this.scene.currentParent !== enterChildParent) && !this.quietRecoverableLogging) {
|
|
2986
2998
|
Logger.error(`Stack length mismatch after processing child shape_representation ${this.scene.currentParent} ${enterChildParent} expressID: #${representation.expressID}`);
|
|
2987
2999
|
}
|
|
2988
3000
|
}
|
|
@@ -3022,7 +3034,8 @@ export class AP214GeometryExtraction {
|
|
|
3022
3034
|
while (this.scene.stackLength > entryTransformDepth) {
|
|
3023
3035
|
this.scene.popTransform();
|
|
3024
3036
|
}
|
|
3025
|
-
if (this.scene.stackLength !== entryTransformDepth ||
|
|
3037
|
+
if ((this.scene.stackLength !== entryTransformDepth ||
|
|
3038
|
+
this.scene.currentParent !== currentParent) && !this.quietRecoverableLogging) {
|
|
3026
3039
|
Logger.error(`Stack length mismatch after processing shape_representation ${this.scene.currentParent} ${currentParent} expressID: #${representation.expressID}`);
|
|
3027
3040
|
}
|
|
3028
3041
|
};
|
|
@@ -3387,7 +3400,11 @@ export class AP214GeometryExtraction {
|
|
|
3387
3400
|
++executed;
|
|
3388
3401
|
}
|
|
3389
3402
|
catch (ex) {
|
|
3390
|
-
if (
|
|
3403
|
+
if (this.quietRecoverableLogging) {
|
|
3404
|
+
// Preview prefix: failing units are expected — retried on a
|
|
3405
|
+
// richer generation, and the durable extraction re-runs all.
|
|
3406
|
+
}
|
|
3407
|
+
else if (ex instanceof Error) {
|
|
3391
3408
|
Logger.error(`Error processing demand unit: \n\t${ex.name}\n\t${ex.message}`);
|
|
3392
3409
|
}
|
|
3393
3410
|
else {
|
|
@@ -105,7 +105,10 @@ describe("AP214 Geometry Extraction", () => {
|
|
|
105
105
|
expect(extractGearGeometry()).toBe(ExtractResult.COMPLETE);
|
|
106
106
|
});
|
|
107
107
|
test("tubeGeometryArrayLength()", () => {
|
|
108
|
-
|
|
108
|
+
// Dropped from 9108 with conway-geom#153: cylindrical faces CDT their
|
|
109
|
+
// trim loops in a (theta, z) unwrap instead of refining earcut chords
|
|
110
|
+
// until the triangle budget ran out.
|
|
111
|
+
const testParameter = 828;
|
|
109
112
|
expect(getTubeMeshSize()).toBe(testParameter);
|
|
110
113
|
});
|
|
111
114
|
test("gearGeometryArrayLength()", () => {
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Float64 coordinate-to-origin (COORDINATE_TO_ORIGIN) math.
|
|
3
|
+
*
|
|
4
|
+
* gl-matrix's `mat4`/`vec4` are backed by `Float32Array`
|
|
5
|
+
* (`ARRAY_TYPE = Float32Array` in gl-matrix/common.js), so the recentre
|
|
6
|
+
* derivation — which subtracts a large world reference point
|
|
7
|
+
* (`transformedPt = placement * nativePoint`, on the order of 1e5 m for a
|
|
8
|
+
* Swiss/CHE georeferenced IFC, up to ~2.6e6 m in LV95 easting/northing) —
|
|
9
|
+
* loses precision: float32 ULP is ~7.6 mm at 100 km and ~60 mm at 2.6 M m.
|
|
10
|
+
* Baked into the emitted FlatMesh transform that quantization forms a
|
|
11
|
+
* spatial grid that reads as rotational jitter when the camera is zoomed
|
|
12
|
+
* to detail.
|
|
13
|
+
*
|
|
14
|
+
* The native placement crosses the wasm boundary as `glm::dmat4` and the
|
|
15
|
+
* reference point as `glm::dvec3` — both full float64 (see
|
|
16
|
+
* conway-api.cpp `getMatrixValues4x4` / the `glmdVec3` value object), so
|
|
17
|
+
* `nativeTransform.getValues()` and `geometry.getPoint()` deliver doubles.
|
|
18
|
+
* Feeding those doubles straight through a double-precision composition
|
|
19
|
+
* (rather than gl-matrix's float32 path, and without the intermediate
|
|
20
|
+
* `mat4.fromValues` truncation to `Float32Array`) fully recovers the
|
|
21
|
+
* precision for georeferenced models.
|
|
22
|
+
*
|
|
23
|
+
* All layout/multiply conventions match gl-matrix exactly (column-major,
|
|
24
|
+
* `out = a * b`), so near-origin models — where float32 and float64 agree
|
|
25
|
+
* to well under a micron — stay bit-comparable across the
|
|
26
|
+
* classic / deferred / preview paths that share this recentre.
|
|
27
|
+
*/
|
|
28
|
+
/**
|
|
29
|
+
* A 3D point with double-precision components, as delivered by
|
|
30
|
+
* conway-geom's `getPoint` / `normalize` (glm::dvec3 across the boundary).
|
|
31
|
+
*/
|
|
32
|
+
export interface Point3Like {
|
|
33
|
+
x: number;
|
|
34
|
+
y: number;
|
|
35
|
+
z: number;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Multiply two column-major 4x4 matrices in float64.
|
|
39
|
+
*
|
|
40
|
+
* Computes `out = a * b`, the identical formula (and operand order) to
|
|
41
|
+
* gl-matrix `mat4.multiply(out, a, b)`, but retaining double precision.
|
|
42
|
+
*
|
|
43
|
+
* @param a Left matrix (16 elements, column-major).
|
|
44
|
+
* @param b Right matrix (16 elements, column-major).
|
|
45
|
+
* @return {number[]} The product as a fresh 16-element `number[]`.
|
|
46
|
+
*/
|
|
47
|
+
export declare function mat4MultiplyF64(a: ArrayLike<number>, b: ArrayLike<number>): number[];
|
|
48
|
+
/**
|
|
49
|
+
* Derive the coordination (recentre) matrix in float64, matching the
|
|
50
|
+
* gl-matrix op sequence exactly:
|
|
51
|
+
* `scale * NormalizeMat * translate(-(placement * point))`.
|
|
52
|
+
*
|
|
53
|
+
* @param placement The native placement (16 elements, column-major
|
|
54
|
+
* float64 from `getValues()`); `undefined` is treated as identity.
|
|
55
|
+
* @param point The world reference point (`getPoint(0)`), float64.
|
|
56
|
+
* @param normalizeMat The Z-up -> Y-up normalize matrix (16 elements).
|
|
57
|
+
* @param scaleFactor The linear scaling factor.
|
|
58
|
+
* @return {number[]} The coordination matrix as a 16-element `number[]`.
|
|
59
|
+
*/
|
|
60
|
+
export declare function deriveCoordinationF64(placement: ArrayLike<number> | undefined, point: Point3Like, normalizeMat: ArrayLike<number>, scaleFactor: number): number[];
|
|
61
|
+
/**
|
|
62
|
+
* Compose the emitted world transform in float64:
|
|
63
|
+
* `coordination * placement [ * translate(geomCenter) ]`.
|
|
64
|
+
*
|
|
65
|
+
* @param coordination The coordination matrix (16 elements).
|
|
66
|
+
* @param placement The native placement (16 elements, column-major
|
|
67
|
+
* float64 from `getValues()`); `undefined` is treated as identity.
|
|
68
|
+
* @param geomCenter The per-leaf normalize centre; omit for the bare
|
|
69
|
+
* composition used by the AP214 shared-buffer path (issue #308).
|
|
70
|
+
* @return {number[]} The flat transform as a 16-element `number[]`,
|
|
71
|
+
* ready to hand back as a FlatMesh `flatTransformation`.
|
|
72
|
+
*/
|
|
73
|
+
export declare function composeTransformF64(coordination: ArrayLike<number>, placement: ArrayLike<number> | undefined, geomCenter?: Point3Like): number[];
|
|
74
|
+
//# sourceMappingURL=coordination_f64.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"coordination_f64.d.ts","sourceRoot":"","sources":["../../../../src/compat/web-ifc/coordination_f64.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAiDH;;;GAGG;AACH,MAAM,WAAW,UAAU;IACzB,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;CACV;AAED;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAC3B,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,GAAG,MAAM,EAAE,CAkBxD;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,qBAAqB,CACjC,SAAS,EAAE,SAAS,CAAC,MAAM,CAAC,GAAG,SAAS,EACxC,KAAK,EAAE,UAAU,EACjB,YAAY,EAAE,SAAS,CAAC,MAAM,CAAC,EAC/B,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,CA0BjC;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,mBAAmB,CAC/B,YAAY,EAAE,SAAS,CAAC,MAAM,CAAC,EAC/B,SAAS,EAAE,SAAS,CAAC,MAAM,CAAC,GAAG,SAAS,EACxC,UAAU,CAAC,EAAE,UAAU,GAAG,MAAM,EAAE,CAerC"}
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Float64 coordinate-to-origin (COORDINATE_TO_ORIGIN) math.
|
|
3
|
+
*
|
|
4
|
+
* gl-matrix's `mat4`/`vec4` are backed by `Float32Array`
|
|
5
|
+
* (`ARRAY_TYPE = Float32Array` in gl-matrix/common.js), so the recentre
|
|
6
|
+
* derivation — which subtracts a large world reference point
|
|
7
|
+
* (`transformedPt = placement * nativePoint`, on the order of 1e5 m for a
|
|
8
|
+
* Swiss/CHE georeferenced IFC, up to ~2.6e6 m in LV95 easting/northing) —
|
|
9
|
+
* loses precision: float32 ULP is ~7.6 mm at 100 km and ~60 mm at 2.6 M m.
|
|
10
|
+
* Baked into the emitted FlatMesh transform that quantization forms a
|
|
11
|
+
* spatial grid that reads as rotational jitter when the camera is zoomed
|
|
12
|
+
* to detail.
|
|
13
|
+
*
|
|
14
|
+
* The native placement crosses the wasm boundary as `glm::dmat4` and the
|
|
15
|
+
* reference point as `glm::dvec3` — both full float64 (see
|
|
16
|
+
* conway-api.cpp `getMatrixValues4x4` / the `glmdVec3` value object), so
|
|
17
|
+
* `nativeTransform.getValues()` and `geometry.getPoint()` deliver doubles.
|
|
18
|
+
* Feeding those doubles straight through a double-precision composition
|
|
19
|
+
* (rather than gl-matrix's float32 path, and without the intermediate
|
|
20
|
+
* `mat4.fromValues` truncation to `Float32Array`) fully recovers the
|
|
21
|
+
* precision for georeferenced models.
|
|
22
|
+
*
|
|
23
|
+
* All layout/multiply conventions match gl-matrix exactly (column-major,
|
|
24
|
+
* `out = a * b`), so near-origin models — where float32 and float64 agree
|
|
25
|
+
* to well under a micron — stay bit-comparable across the
|
|
26
|
+
* classic / deferred / preview paths that share this recentre.
|
|
27
|
+
*/
|
|
28
|
+
const IDENTITY = [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1];
|
|
29
|
+
/**
|
|
30
|
+
* Smallest positive magnitude representable in single precision
|
|
31
|
+
* (2 ** -149, the smallest float32 subnormal). The previous code path
|
|
32
|
+
* built the placement with gl-matrix `mat4.fromValues(...)` — a
|
|
33
|
+
* `Float32Array` — so any transform component below this magnitude was
|
|
34
|
+
* stored as exactly zero. Valid geometry never produces a non-zero
|
|
35
|
+
* component this small (positions are metres/kilometres, rotation and
|
|
36
|
+
* scale terms are O(1) or exactly zero), so the only inputs it affects
|
|
37
|
+
* are denormal garbage from degenerate/uninitialised native transforms
|
|
38
|
+
* (e.g. a released-then-reopened model whose `getValues()` returns
|
|
39
|
+
* subnormals). Flushing those to zero here keeps the classic, deferred
|
|
40
|
+
* and preview paths bit-identical on such inputs — matching the old
|
|
41
|
+
* Float32Array behaviour — while leaving every valid value at full
|
|
42
|
+
* double precision.
|
|
43
|
+
*/
|
|
44
|
+
const FLOAT32_MIN_SUBNORMAL = 2 ** -149;
|
|
45
|
+
/**
|
|
46
|
+
* Flush non-finite and float32-underflow garbage to zero; pass every
|
|
47
|
+
* valid value through untouched at full double precision.
|
|
48
|
+
*
|
|
49
|
+
* @param v A transform component.
|
|
50
|
+
* @return {number} v, or 0 if it is non-finite or below float32 range.
|
|
51
|
+
*/
|
|
52
|
+
function flushGarbage(v) {
|
|
53
|
+
return Number.isFinite(v) &&
|
|
54
|
+
(v === 0 || Math.abs(v) >= FLOAT32_MIN_SUBNORMAL) ? v : 0;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Copy 16 matrix components into a fresh `number[]`, flushing float32
|
|
58
|
+
* underflow / non-finite garbage to zero (see FLOAT32_MIN_SUBNORMAL).
|
|
59
|
+
*
|
|
60
|
+
* @param m A 16-element matrix.
|
|
61
|
+
* @return {number[]} The sanitized copy.
|
|
62
|
+
*/
|
|
63
|
+
function sanitize16(m) {
|
|
64
|
+
const out = new Array(16);
|
|
65
|
+
for (let i = 0; i < 16; ++i) {
|
|
66
|
+
out[i] = flushGarbage(m[i]);
|
|
67
|
+
}
|
|
68
|
+
return out;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Multiply two column-major 4x4 matrices in float64.
|
|
72
|
+
*
|
|
73
|
+
* Computes `out = a * b`, the identical formula (and operand order) to
|
|
74
|
+
* gl-matrix `mat4.multiply(out, a, b)`, but retaining double precision.
|
|
75
|
+
*
|
|
76
|
+
* @param a Left matrix (16 elements, column-major).
|
|
77
|
+
* @param b Right matrix (16 elements, column-major).
|
|
78
|
+
* @return {number[]} The product as a fresh 16-element `number[]`.
|
|
79
|
+
*/
|
|
80
|
+
export function mat4MultiplyF64(a, b) {
|
|
81
|
+
const a00 = a[0], a01 = a[1], a02 = a[2], a03 = a[3];
|
|
82
|
+
const a10 = a[4], a11 = a[5], a12 = a[6], a13 = a[7];
|
|
83
|
+
const a20 = a[8], a21 = a[9], a22 = a[10], a23 = a[11];
|
|
84
|
+
const a30 = a[12], a31 = a[13], a32 = a[14], a33 = a[15];
|
|
85
|
+
const out = new Array(16);
|
|
86
|
+
for (let i = 0; i < 4; ++i) {
|
|
87
|
+
const b0 = b[i * 4], b1 = b[i * 4 + 1], b2 = b[i * 4 + 2], b3 = b[i * 4 + 3];
|
|
88
|
+
out[i * 4] = b0 * a00 + b1 * a10 + b2 * a20 + b3 * a30;
|
|
89
|
+
out[i * 4 + 1] = b0 * a01 + b1 * a11 + b2 * a21 + b3 * a31;
|
|
90
|
+
out[i * 4 + 2] = b0 * a02 + b1 * a12 + b2 * a22 + b3 * a32;
|
|
91
|
+
out[i * 4 + 3] = b0 * a03 + b1 * a13 + b2 * a23 + b3 * a33;
|
|
92
|
+
}
|
|
93
|
+
return out;
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Derive the coordination (recentre) matrix in float64, matching the
|
|
97
|
+
* gl-matrix op sequence exactly:
|
|
98
|
+
* `scale * NormalizeMat * translate(-(placement * point))`.
|
|
99
|
+
*
|
|
100
|
+
* @param placement The native placement (16 elements, column-major
|
|
101
|
+
* float64 from `getValues()`); `undefined` is treated as identity.
|
|
102
|
+
* @param point The world reference point (`getPoint(0)`), float64.
|
|
103
|
+
* @param normalizeMat The Z-up -> Y-up normalize matrix (16 elements).
|
|
104
|
+
* @param scaleFactor The linear scaling factor.
|
|
105
|
+
* @return {number[]} The coordination matrix as a 16-element `number[]`.
|
|
106
|
+
*/
|
|
107
|
+
export function deriveCoordinationF64(placement, point, normalizeMat, scaleFactor) {
|
|
108
|
+
const p = placement !== undefined ? sanitize16(placement) : IDENTITY;
|
|
109
|
+
const { x, y, z } = point;
|
|
110
|
+
// transformedPt = placement * (x, y, z, 1)
|
|
111
|
+
const tx = p[0] * x + p[4] * y + p[8] * z + p[12];
|
|
112
|
+
const ty = p[1] * x + p[5] * y + p[9] * z + p[13];
|
|
113
|
+
const tz = p[2] * x + p[6] * y + p[10] * z + p[14];
|
|
114
|
+
// translate(-transformedPt)
|
|
115
|
+
const translate = IDENTITY.slice();
|
|
116
|
+
translate[12] = -tx;
|
|
117
|
+
translate[13] = -ty;
|
|
118
|
+
translate[14] = -tz;
|
|
119
|
+
// scale(scaleFactor)
|
|
120
|
+
const scale = [
|
|
121
|
+
scaleFactor, 0, 0, 0,
|
|
122
|
+
0, scaleFactor, 0, 0,
|
|
123
|
+
0, 0, scaleFactor, 0,
|
|
124
|
+
0, 0, 0, 1,
|
|
125
|
+
];
|
|
126
|
+
// scale * (NormalizeMat * translate)
|
|
127
|
+
return mat4MultiplyF64(scale, mat4MultiplyF64(normalizeMat, translate));
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* Compose the emitted world transform in float64:
|
|
131
|
+
* `coordination * placement [ * translate(geomCenter) ]`.
|
|
132
|
+
*
|
|
133
|
+
* @param coordination The coordination matrix (16 elements).
|
|
134
|
+
* @param placement The native placement (16 elements, column-major
|
|
135
|
+
* float64 from `getValues()`); `undefined` is treated as identity.
|
|
136
|
+
* @param geomCenter The per-leaf normalize centre; omit for the bare
|
|
137
|
+
* composition used by the AP214 shared-buffer path (issue #308).
|
|
138
|
+
* @return {number[]} The flat transform as a 16-element `number[]`,
|
|
139
|
+
* ready to hand back as a FlatMesh `flatTransformation`.
|
|
140
|
+
*/
|
|
141
|
+
export function composeTransformF64(coordination, placement, geomCenter) {
|
|
142
|
+
let out = placement !== undefined ?
|
|
143
|
+
mat4MultiplyF64(coordination, sanitize16(placement)) :
|
|
144
|
+
Array.from(coordination);
|
|
145
|
+
if (geomCenter !== undefined) {
|
|
146
|
+
const gm = IDENTITY.slice();
|
|
147
|
+
gm[12] = geomCenter.x;
|
|
148
|
+
gm[13] = geomCenter.y;
|
|
149
|
+
gm[14] = geomCenter.z;
|
|
150
|
+
out = mat4MultiplyF64(out, gm);
|
|
151
|
+
}
|
|
152
|
+
return out;
|
|
153
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"coordination_f64.test.d.ts","sourceRoot":"","sources":["../../../../src/compat/web-ifc/coordination_f64.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
/* eslint-disable no-magic-numbers */
|
|
2
|
+
import { describe, expect, test } from "@jest/globals";
|
|
3
|
+
import * as glmatrix from "gl-matrix";
|
|
4
|
+
import { composeTransformF64, deriveCoordinationF64, mat4MultiplyF64, } from "./coordination_f64.js";
|
|
5
|
+
// The Z-up -> Y-up normalize matrix the proxies pass in (column-major).
|
|
6
|
+
const NORMALIZE_MAT = [
|
|
7
|
+
1,
|
|
8
|
+
0,
|
|
9
|
+
0,
|
|
10
|
+
0,
|
|
11
|
+
0,
|
|
12
|
+
0,
|
|
13
|
+
-1,
|
|
14
|
+
0,
|
|
15
|
+
0,
|
|
16
|
+
1,
|
|
17
|
+
0,
|
|
18
|
+
0,
|
|
19
|
+
0,
|
|
20
|
+
0,
|
|
21
|
+
0,
|
|
22
|
+
1,
|
|
23
|
+
];
|
|
24
|
+
/**
|
|
25
|
+
* A pseudo-random but deterministic 4x4 (no Math.random — stable runs).
|
|
26
|
+
*
|
|
27
|
+
* @param seed Any integer seed.
|
|
28
|
+
* @return {number[]} 16 column-major components in [-1, 1).
|
|
29
|
+
*/
|
|
30
|
+
function pseudoMat(seed) {
|
|
31
|
+
const out = new Array(16);
|
|
32
|
+
let state = seed;
|
|
33
|
+
for (let i = 0; i < 16; ++i) {
|
|
34
|
+
// xorshift-ish; deterministic.
|
|
35
|
+
state = (state * 1103515245 + 12345) & 2147483647;
|
|
36
|
+
out[i] = (state / 2147483647) * 2 - 1;
|
|
37
|
+
}
|
|
38
|
+
return out;
|
|
39
|
+
}
|
|
40
|
+
describe("coordination_f64", () => {
|
|
41
|
+
test("mat4MultiplyF64 matches gl-matrix multiply for arbitrary inputs", () => {
|
|
42
|
+
for (let seed = 1; seed <= 8; ++seed) {
|
|
43
|
+
const a = pseudoMat(seed);
|
|
44
|
+
const b = pseudoMat(seed * 31 + 7);
|
|
45
|
+
const mine = mat4MultiplyF64(a, b);
|
|
46
|
+
const ref = glmatrix.mat4.create();
|
|
47
|
+
glmatrix.mat4.multiply(ref, a, b);
|
|
48
|
+
for (let i = 0; i < 16; ++i) {
|
|
49
|
+
// float32 gl-matrix vs float64 mine: agree to float32 precision.
|
|
50
|
+
expect(mine[i]).toBeCloseTo(ref[i], 4);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
});
|
|
54
|
+
test("recentres a LV95-magnitude reference exactly where float32 mis-lands it", () => {
|
|
55
|
+
// The georeferencing jitter mechanism: the recentre translation
|
|
56
|
+
// negates a reference point at Swiss LV95 magnitude (~2.6M easting).
|
|
57
|
+
// Stored in a Float32Array it quantizes to the ~0.31 m grid (float32
|
|
58
|
+
// ULP at 2.6M), so the reference lands cm-to-dm off the origin — a
|
|
59
|
+
// per-model positional error baked into every emitted transform. The
|
|
60
|
+
// float64 recentre lands it exactly.
|
|
61
|
+
const identity = glmatrix.mat4.create(); // placement; world via the point
|
|
62
|
+
const ref = { x: 2600000.31, y: 1200000.17, z: 412.5 };
|
|
63
|
+
/**
|
|
64
|
+
* Apply a column-major 4x4 to a point.
|
|
65
|
+
*
|
|
66
|
+
* @param m 16-element matrix.
|
|
67
|
+
* @param p The point.
|
|
68
|
+
* @return {number} The transformed point's distance from origin.
|
|
69
|
+
*/
|
|
70
|
+
const originDist = (m) => Math.hypot(m[0] * ref.x + m[4] * ref.y + m[8] * ref.z + m[12], m[1] * ref.x + m[5] * ref.y + m[9] * ref.z + m[13], m[2] * ref.x + m[6] * ref.y + m[10] * ref.z + m[14]);
|
|
71
|
+
// float64 recentre (the fix).
|
|
72
|
+
const distF64 = originDist(deriveCoordinationF64(identity, ref, NORMALIZE_MAT, 1));
|
|
73
|
+
// Old float32 gl-matrix recentre: the translation is stored in a
|
|
74
|
+
// Float32Array, quantizing the -2.6M component.
|
|
75
|
+
const tp = glmatrix.vec4.create();
|
|
76
|
+
glmatrix.vec4.transformMat4(tp, [ref.x, ref.y, ref.z, 1], identity);
|
|
77
|
+
const coordF32 = glmatrix.mat4.create();
|
|
78
|
+
glmatrix.mat4.fromTranslation(coordF32, [-tp[0], -tp[1], -tp[2]]);
|
|
79
|
+
glmatrix.mat4.multiply(coordF32, NORMALIZE_MAT, coordF32);
|
|
80
|
+
const distF32 = originDist(coordF32);
|
|
81
|
+
// float64 lands sub-micron; float32 is off by cm+.
|
|
82
|
+
expect(distF64).toBeLessThan(0.000001);
|
|
83
|
+
expect(distF32).toBeGreaterThan(0.01);
|
|
84
|
+
});
|
|
85
|
+
test("near origin float64 and float32 agree (fixtures unaffected)", () => {
|
|
86
|
+
const placement = pseudoMat(99);
|
|
87
|
+
// Keep it a valid affine-ish transform near origin.
|
|
88
|
+
placement[12] = 3;
|
|
89
|
+
placement[13] = -2;
|
|
90
|
+
placement[14] = 5;
|
|
91
|
+
placement[3] = 0;
|
|
92
|
+
placement[7] = 0;
|
|
93
|
+
placement[11] = 0;
|
|
94
|
+
placement[15] = 1;
|
|
95
|
+
const point = { x: 0.5, y: 0.25, z: -0.75 };
|
|
96
|
+
const f64 = deriveCoordinationF64(placement, point, NORMALIZE_MAT, 1);
|
|
97
|
+
const composed = composeTransformF64(f64, placement, { x: 0.1, y: 0.2, z: 0.3 });
|
|
98
|
+
expect(composed).toHaveLength(16);
|
|
99
|
+
// Sanity: finite, bounded.
|
|
100
|
+
for (const v of composed) {
|
|
101
|
+
expect(Number.isFinite(v)).toBe(true);
|
|
102
|
+
}
|
|
103
|
+
});
|
|
104
|
+
test("flushes non-finite and float32-underflow garbage to zero (reopen parity)", () => {
|
|
105
|
+
// A degenerate/reopened-model placement whose getValues() returns
|
|
106
|
+
// subnormal garbage + a NaN. The old Float32Array path zeroed the
|
|
107
|
+
// subnormals; we zero those AND NaN/Inf so parity holds and no NaN
|
|
108
|
+
// leaks into a transform.
|
|
109
|
+
const garbage = [
|
|
110
|
+
1,
|
|
111
|
+
0,
|
|
112
|
+
0,
|
|
113
|
+
0,
|
|
114
|
+
0,
|
|
115
|
+
1,
|
|
116
|
+
0,
|
|
117
|
+
0,
|
|
118
|
+
0,
|
|
119
|
+
0,
|
|
120
|
+
1,
|
|
121
|
+
0,
|
|
122
|
+
1.29e-304,
|
|
123
|
+
NaN,
|
|
124
|
+
Infinity,
|
|
125
|
+
1,
|
|
126
|
+
];
|
|
127
|
+
const out = composeTransformF64([1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1], garbage);
|
|
128
|
+
expect(out[12]).toBe(0); // subnormal -> 0
|
|
129
|
+
expect(out[13]).toBe(0); // NaN -> 0
|
|
130
|
+
expect(out[14]).toBe(0); // Infinity -> 0
|
|
131
|
+
for (const v of out) {
|
|
132
|
+
expect(Number.isFinite(v)).toBe(true);
|
|
133
|
+
}
|
|
134
|
+
});
|
|
135
|
+
test("undefined placement is treated as identity", () => {
|
|
136
|
+
const coord = [2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 1];
|
|
137
|
+
const out = composeTransformF64(coord, void 0);
|
|
138
|
+
expect(Array.from(out)).toEqual(coord);
|
|
139
|
+
});
|
|
140
|
+
});
|
|
@@ -21,7 +21,7 @@ interface Ap214ProxyLoadState {
|
|
|
21
21
|
deferred?: boolean;
|
|
22
22
|
/** Coordination matrix the parse-time preview channel derived —
|
|
23
23
|
* adopted by the durable capture so both share one frame. */
|
|
24
|
-
previewCoordinationMatrix?:
|
|
24
|
+
previewCoordinationMatrix?: number[];
|
|
25
25
|
allTimeStart: number;
|
|
26
26
|
stepHeader: StepHeader;
|
|
27
27
|
model: AP214StepModel;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ifc_api_proxy_ap214.d.ts","sourceRoot":"","sources":["../../../../src/compat/web-ifc/ifc_api_proxy_ap214.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,cAAc,EACf,MAAM,aAAa,CAAA;AAEpB,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAC/C,OAAO,EACL,QAAQ,EACR,WAAW,EACX,WAAW,EACX,cAAc,EACd,cAAc,EACd,WAAW,EACX,MAAM,EACP,MAAM,WAAW,CAAA;AAClB,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAA;AACvE,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAA;AACpE,OAAO,KAAK,QAAQ,MAAM,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"ifc_api_proxy_ap214.d.ts","sourceRoot":"","sources":["../../../../src/compat/web-ifc/ifc_api_proxy_ap214.ts"],"names":[],"mappings":"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"}
|