@ifc-lite/geometry 7.5.2 → 7.7.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.
- package/README.md +10 -0
- package/dist/analytic-descriptions.d.ts +54 -0
- package/dist/analytic-descriptions.d.ts.map +1 -0
- package/dist/analytic-descriptions.js +5 -0
- package/dist/analytic-descriptions.js.map +1 -0
- package/dist/byte-streaming-prepass-result.d.ts +3 -0
- package/dist/byte-streaming-prepass-result.d.ts.map +1 -1
- package/dist/domain-export-call.d.ts +4 -0
- package/dist/domain-export-call.d.ts.map +1 -0
- package/dist/domain-export-call.js +19 -0
- package/dist/domain-export-call.js.map +1 -0
- package/dist/geometry-coordinate.d.ts.map +1 -1
- package/dist/geometry-coordinate.js +3 -0
- package/dist/geometry-coordinate.js.map +1 -1
- package/dist/geometry-parallel.d.ts.map +1 -1
- package/dist/geometry-parallel.js +12 -41
- package/dist/geometry-parallel.js.map +1 -1
- package/dist/geometry.worker.d.ts +3 -0
- package/dist/geometry.worker.d.ts.map +1 -1
- package/dist/geometry.worker.js +31 -17
- package/dist/geometry.worker.js.map +1 -1
- package/dist/huge-file-error.d.ts +1 -2
- package/dist/huge-file-error.d.ts.map +1 -1
- package/dist/huge-file-error.js +4 -5
- package/dist/huge-file-error.js.map +1 -1
- package/dist/ifc-lite-bridge.d.ts +12 -16
- package/dist/ifc-lite-bridge.d.ts.map +1 -1
- package/dist/ifc-lite-bridge.js +21 -28
- package/dist/ifc-lite-bridge.js.map +1 -1
- package/dist/index.d.ts +13 -16
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +24 -37
- package/dist/index.js.map +1 -1
- package/dist/map-normalization-capability.d.ts +7 -0
- package/dist/map-normalization-capability.d.ts.map +1 -0
- package/dist/map-normalization-capability.js +32 -0
- package/dist/map-normalization-capability.js.map +1 -0
- package/dist/mesh-specular.d.ts +15 -0
- package/dist/mesh-specular.d.ts.map +1 -0
- package/dist/mesh-specular.js +20 -0
- package/dist/mesh-specular.js.map +1 -0
- package/dist/native-bridge.d.ts +1 -0
- package/dist/native-bridge.d.ts.map +1 -1
- package/dist/native-bridge.js +1 -0
- package/dist/native-bridge.js.map +1 -1
- package/dist/packed-instanced-decoder.d.ts +9 -0
- package/dist/packed-instanced-decoder.d.ts.map +1 -1
- package/dist/packed-instanced-decoder.js +12 -1
- package/dist/packed-instanced-decoder.js.map +1 -1
- package/dist/platform-bridge.d.ts +2 -0
- package/dist/platform-bridge.d.ts.map +1 -1
- package/dist/platform-bridge.js.map +1 -1
- package/dist/remesh/index.d.ts +7 -0
- package/dist/remesh/index.d.ts.map +1 -0
- package/dist/remesh/index.js +10 -0
- package/dist/remesh/index.js.map +1 -0
- package/dist/remesh/remesh-client.d.ts +60 -0
- package/dist/remesh/remesh-client.d.ts.map +1 -0
- package/dist/remesh/remesh-client.js +135 -0
- package/dist/remesh/remesh-client.js.map +1 -0
- package/dist/remesh/remesh-core.d.ts +96 -0
- package/dist/remesh/remesh-core.d.ts.map +1 -0
- package/dist/remesh/remesh-core.js +112 -0
- package/dist/remesh/remesh-core.js.map +1 -0
- package/dist/remesh/remesh-protocol.d.ts +56 -0
- package/dist/remesh/remesh-protocol.d.ts.map +1 -0
- package/dist/remesh/remesh-protocol.js +32 -0
- package/dist/remesh/remesh-protocol.js.map +1 -0
- package/dist/remesh/remesh.worker.d.ts +2 -0
- package/dist/remesh/remesh.worker.d.ts.map +1 -0
- package/dist/remesh/remesh.worker.js +117 -0
- package/dist/remesh/remesh.worker.js.map +1 -0
- package/dist/shard-style-merge.d.ts +27 -0
- package/dist/shard-style-merge.d.ts.map +1 -0
- package/dist/shard-style-merge.js +54 -0
- package/dist/shard-style-merge.js.map +1 -0
- package/dist/style-finishes.d.ts +25 -0
- package/dist/style-finishes.d.ts.map +1 -0
- package/dist/style-finishes.js +32 -0
- package/dist/style-finishes.js.map +1 -0
- package/dist/types.d.ts +11 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/dist/worker-prepass-source.d.ts +9 -0
- package/dist/worker-prepass-source.d.ts.map +1 -1
- package/dist/worker-prepass-source.js.map +1 -1
- package/package.json +10 -5
package/dist/native-bridge.js
CHANGED
|
@@ -30,6 +30,7 @@ function sleep(ms) {
|
|
|
30
30
|
* ifc-lite-core and ifc-lite-geometry directly (no WASM overhead).
|
|
31
31
|
*/
|
|
32
32
|
export class NativeBridge {
|
|
33
|
+
planMapConversionNormalization(_content) { throw new Error('Map geometry normalization is not supported by the native platform bridge.'); }
|
|
33
34
|
initialized = false;
|
|
34
35
|
invoke = null;
|
|
35
36
|
listen = null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"native-bridge.js","sourceRoot":"","sources":["../src/native-bridge.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"native-bridge.js","sourceRoot":"","sources":["../src/native-bridge.ts"],"names":[],"mappings":"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"}
|
|
@@ -27,6 +27,11 @@ export interface DecodedInstance {
|
|
|
27
27
|
* trailing item-id field (a v1 shard, or a model whose producer named no
|
|
28
28
|
* item at all) and when this record's own id is the `0` sentinel. */
|
|
29
29
|
itemId?: number;
|
|
30
|
+
/** IFC-authored metallic / roughness (#5984), the same finish a flat mesh
|
|
31
|
+
* carries as `MeshData.material`. Undefined where unauthored and on a shard
|
|
32
|
+
* whose stride stops short of trailing field 2. `0` is a value. */
|
|
33
|
+
metallic?: number;
|
|
34
|
+
roughness?: number;
|
|
30
35
|
}
|
|
31
36
|
/** A decoded instanced shard. */
|
|
32
37
|
export interface DecodedInstancedShard {
|
|
@@ -40,6 +45,10 @@ export interface DecodedInstancedShard {
|
|
|
40
45
|
* it from the data, so `false` means no occurrence in the shard names an
|
|
41
46
|
* item, not merely that this build cannot see them. */
|
|
42
47
|
carriesItemIds: boolean;
|
|
48
|
+
/** Whether the stride reaches trailing field 2, the finish (#5984). Optional
|
|
49
|
+
* so a shard built by hand before it existed still type-checks; the decoder
|
|
50
|
+
* always sets it. */
|
|
51
|
+
carriesFinishes?: boolean;
|
|
43
52
|
}
|
|
44
53
|
/** Whether a payload's leading magic marks it as an instanced ("IFNS") shard. */
|
|
45
54
|
export declare function isInstancedShard(payload: unknown): boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"packed-instanced-decoder.d.ts","sourceRoot":"","sources":["../src/packed-instanced-decoder.ts"],"names":[],"mappings":"AAyEA,wEAAwE;AACxE,eAAO,MAAM,qBAAqB,aAAc,CAAC;AACjD;;;6CAG6C;AAC7C,eAAO,MAAM,uBAAuB,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"packed-instanced-decoder.d.ts","sourceRoot":"","sources":["../src/packed-instanced-decoder.ts"],"names":[],"mappings":"AAyEA,wEAAwE;AACxE,eAAO,MAAM,qBAAqB,aAAc,CAAC;AACjD;;;6CAG6C;AAC7C,eAAO,MAAM,uBAAuB,IAAI,CAAC;AAkBzC,yEAAyE;AACzE,MAAM,WAAW,wBAAwB;IACvC,SAAS,EAAE,YAAY,CAAC;IACxB,OAAO,EAAE,YAAY,CAAC;IACtB,OAAO,EAAE,WAAW,CAAC;IACrB,uFAAuF;IACvF,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC;AAED,4CAA4C;AAC5C,MAAM,WAAW,eAAe;IAC9B,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,mBAAmB;IACnB,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,iFAAiF;IACjF,SAAS,EAAE,YAAY,CAAC;IACxB;;;;0EAIsE;IACtE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;wEAEoE;IACpE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,iCAAiC;AACjC,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,wBAAwB,EAAE,CAAC;IACtC,SAAS,EAAE,eAAe,EAAE,CAAC;IAC7B;;;;;;4DAMwD;IACxD,cAAc,EAAE,OAAO,CAAC;IACxB;;0BAEsB;IACtB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,iFAAiF;AACjF,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAQ1D;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,qBAAqB,CAwJ5E"}
|
|
@@ -85,6 +85,11 @@ const INSTANCE_RECORD_BASE_BYTES = 88;
|
|
|
85
85
|
const INSTANCE_ITEM_ID_OFFSET = INSTANCE_RECORD_BASE_BYTES;
|
|
86
86
|
/** Stride of a record carrying trailing field 1 (itemId) and nothing after it. */
|
|
87
87
|
const INSTANCE_RECORD_ITEM_ID_BYTES = INSTANCE_ITEM_ID_OFFSET + 4;
|
|
88
|
+
/** Trailing field 2 (#5984, written as v3): the occurrence's IFC-authored
|
|
89
|
+
* finish, metallic(f32) + roughness(f32), NaN where unauthored. Mirrors
|
|
90
|
+
* `INSTANCE_FINISH_OFFSET` in wire.rs. */
|
|
91
|
+
const INSTANCE_FINISH_OFFSET = INSTANCE_RECORD_ITEM_ID_BYTES;
|
|
92
|
+
const INSTANCE_RECORD_FINISH_BYTES = INSTANCE_FINISH_OFFSET + 8;
|
|
88
93
|
/** Whether a payload's leading magic marks it as an instanced ("IFNS") shard. */
|
|
89
94
|
export function isInstancedShard(payload) {
|
|
90
95
|
try {
|
|
@@ -146,6 +151,7 @@ export function decodeInstancedShard(payload) {
|
|
|
146
151
|
throw new Error(`Instanced shard instance stride ${instanceRecordStride} is not a multiple of 4`);
|
|
147
152
|
}
|
|
148
153
|
const carriesItemIds = instanceRecordStride >= INSTANCE_RECORD_ITEM_ID_BYTES;
|
|
154
|
+
const carriesFinishes = instanceRecordStride >= INSTANCE_RECORD_FINISH_BYTES;
|
|
149
155
|
const templateTableOffset = HEADER_WORDS * 4;
|
|
150
156
|
const instanceTableOffset = templateTableOffset + templateCount * TEMPLATE_RECORD_BYTES;
|
|
151
157
|
const dataOffset = instanceTableOffset + instanceCount * instanceRecordStride;
|
|
@@ -215,6 +221,9 @@ export function decodeInstancedShard(payload) {
|
|
|
215
221
|
// at all — both surface as absent, so a consumer cannot tell an absent id
|
|
216
222
|
// apart from a fabricated #0.
|
|
217
223
|
const itemId = carriesItemIds ? view.getUint32(base + INSTANCE_ITEM_ID_OFFSET, true) : 0;
|
|
224
|
+
// Trailing field 2 (#5984): NaN is the producer's "unauthored".
|
|
225
|
+
const metallic = carriesFinishes ? view.getFloat32(base + INSTANCE_FINISH_OFFSET, true) : NaN;
|
|
226
|
+
const roughness = carriesFinishes ? view.getFloat32(base + INSTANCE_FINISH_OFFSET + 4, true) : NaN;
|
|
218
227
|
// One object SHAPE for every instance. A conditional spread allocates a
|
|
219
228
|
// throwaway object per occurrence and gives DecodedInstance two hidden
|
|
220
229
|
// classes, which the consumer then reads in a tight loop
|
|
@@ -226,8 +235,10 @@ export function decodeInstancedShard(payload) {
|
|
|
226
235
|
color,
|
|
227
236
|
transform,
|
|
228
237
|
itemId: itemId !== 0 ? itemId : undefined,
|
|
238
|
+
metallic: Number.isFinite(metallic) ? metallic : undefined,
|
|
239
|
+
roughness: Number.isFinite(roughness) ? roughness : undefined,
|
|
229
240
|
});
|
|
230
241
|
}
|
|
231
|
-
return { templates, instances, carriesItemIds };
|
|
242
|
+
return { templates, instances, carriesItemIds, carriesFinishes };
|
|
232
243
|
}
|
|
233
244
|
//# sourceMappingURL=packed-instanced-decoder.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"packed-instanced-decoder.js","sourceRoot":"","sources":["../src/packed-instanced-decoder.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAE/D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiEG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAE7D,wEAAwE;AACxE,MAAM,CAAC,MAAM,qBAAqB,GAAG,WAAW,CAAC;AACjD;;;6CAG6C;AAC7C,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC;AAEzC,MAAM,YAAY,GAAG,CAAC,CAAC;AACvB,MAAM,qBAAqB,GAAG,EAAE,CAAC;AACjC;;wDAEwD;AACxD,MAAM,0BAA0B,GAAG,EAAE,CAAC;AACtC,0EAA0E;AAC1E,MAAM,uBAAuB,GAAG,0BAA0B,CAAC;AAC3D,kFAAkF;AAClF,MAAM,6BAA6B,GAAG,uBAAuB,GAAG,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"packed-instanced-decoder.js","sourceRoot":"","sources":["../src/packed-instanced-decoder.ts"],"names":[],"mappings":"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"}
|
|
@@ -122,6 +122,8 @@ export interface StreamingOptions {
|
|
|
122
122
|
* Platform bridge interface - abstracts WASM vs native processing
|
|
123
123
|
*/
|
|
124
124
|
export interface IPlatformBridge {
|
|
125
|
+
/** Optional canonical coordinate compatibility export capability. */
|
|
126
|
+
planMapConversionNormalization?(content: Uint8Array): string;
|
|
125
127
|
/**
|
|
126
128
|
* Initialize the bridge (WASM loading for web, no-op for native)
|
|
127
129
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"platform-bridge.d.ts","sourceRoot":"","sources":["../src/platform-bridge.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"platform-bridge.d.ts","sourceRoot":"","sources":["../src/platform-bridge.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"platform-bridge.js","sourceRoot":"","sources":["../src/platform-bridge.ts"],"names":[],"mappings":"AAAA;;+DAE+D;
|
|
1
|
+
{"version":3,"file":"platform-bridge.js","sourceRoot":"","sources":["../src/platform-bridge.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AA0L/D;;GAEG;AACH,MAAM,UAAU,OAAO;IACrB,OAAO,OAAO,MAAM,KAAK,WAAW,IAAI,qBAAqB,IAAI,MAAM,CAAC;AAC1E,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB;IACxC,IAAI,OAAO,EAAE,EAAE,CAAC;QACd,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;QAC5D,OAAO,IAAI,YAAY,EAAE,CAAC;IAC5B,CAAC;IACD,MAAM,IAAI,KAAK,CACb,mGAAmG,CACpG,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `@ifc-lite/geometry/remesh`: re-mesh edited elements in a long-lived wasm
|
|
3
|
+
* worker, in the frame and style of the model's load (#6232 WP1).
|
|
4
|
+
*/
|
|
5
|
+
export { RemeshClient, type RemeshClientOptions } from './remesh-client.js';
|
|
6
|
+
export { filterStyleWire, type RemeshConfig, type RemeshRequest, type RemeshResult, type StyleWire, } from './remesh-core.js';
|
|
7
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/remesh/index.ts"],"names":[],"mappings":"AAIA;;;GAGG;AAEH,OAAO,EAAE,YAAY,EAAE,KAAK,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC5E,OAAO,EACL,eAAe,EACf,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,SAAS,GACf,MAAM,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
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
|
+
* `@ifc-lite/geometry/remesh`: re-mesh edited elements in a long-lived wasm
|
|
6
|
+
* worker, in the frame and style of the model's load (#6232 WP1).
|
|
7
|
+
*/
|
|
8
|
+
export { RemeshClient } from './remesh-client.js';
|
|
9
|
+
export { filterStyleWire, } from './remesh-core.js';
|
|
10
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/remesh/index.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAE/D;;;GAGG;AAEH,OAAO,EAAE,YAAY,EAA4B,MAAM,oBAAoB,CAAC;AAC5E,OAAO,EACL,eAAe,GAKhB,MAAM,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Main-thread handle on one long-lived re-mesh worker (#6232 WP1).
|
|
3
|
+
*
|
|
4
|
+
* One client per open Model workspace: `create` spawns the worker and waits
|
|
5
|
+
* until its wasm engine is up, `remesh` meshes a subgraph buffer in the
|
|
6
|
+
* model's load frame, and `dispose` terminates the worker and rejects any
|
|
7
|
+
* request still in flight. Requests are answered in the order they were sent.
|
|
8
|
+
*/
|
|
9
|
+
import type { RemeshConfig, RemeshRequest, RemeshResult, StyleWire } from './remesh-core.js';
|
|
10
|
+
export interface RemeshClientOptions {
|
|
11
|
+
/** A compiled engine module to instantiate instead of fetching one. */
|
|
12
|
+
wasmModule?: WebAssembly.Module;
|
|
13
|
+
/** Engine binary URL, for hosts whose bundler does not rewrite wasm-bindgen's. */
|
|
14
|
+
wasmUrl?: string;
|
|
15
|
+
/** Worker factory; defaults to the package's own `remesh.worker`. */
|
|
16
|
+
createWorker?: () => Worker;
|
|
17
|
+
/**
|
|
18
|
+
* How long one request may take before the client gives up on the worker.
|
|
19
|
+
* A wasm call cannot be interrupted, so a request past this deadline kills
|
|
20
|
+
* the worker and the client; the caller creates a new one. Default 30 s.
|
|
21
|
+
*/
|
|
22
|
+
requestTimeoutMs?: number;
|
|
23
|
+
}
|
|
24
|
+
export declare class RemeshClient {
|
|
25
|
+
private readonly worker;
|
|
26
|
+
private readonly timeoutMs;
|
|
27
|
+
private readonly pending;
|
|
28
|
+
private nextRequestId;
|
|
29
|
+
/** Why the client can no longer answer: disposed, or its worker died. */
|
|
30
|
+
private dead;
|
|
31
|
+
private constructor();
|
|
32
|
+
/** False once disposed or once its worker failed; create a new client then. */
|
|
33
|
+
get alive(): boolean;
|
|
34
|
+
/** Spawn the worker and resolve once its engine is instantiated. */
|
|
35
|
+
static create(config: RemeshConfig, options?: RemeshClientOptions): Promise<RemeshClient>;
|
|
36
|
+
private start;
|
|
37
|
+
/**
|
|
38
|
+
* Mesh `request.targets` from `request.buffer`. The buffer's memory is
|
|
39
|
+
* TRANSFERRED to the worker when it spans a whole `ArrayBuffer`, so the
|
|
40
|
+
* caller must not read it afterwards.
|
|
41
|
+
*/
|
|
42
|
+
remesh(request: RemeshRequest): Promise<RemeshResult>;
|
|
43
|
+
/**
|
|
44
|
+
* The style wire a whole-file pre-pass resolves for `source`, for a model
|
|
45
|
+
* whose load did not keep one. The source is COPIED to the worker (the
|
|
46
|
+
* caller's model still owns it), and the pre-pass cache is released after.
|
|
47
|
+
*/
|
|
48
|
+
styleWire(source: Uint8Array): Promise<StyleWire>;
|
|
49
|
+
private request;
|
|
50
|
+
/** Change the load toggles; applies to every request sent after this call. */
|
|
51
|
+
setConfig(config: RemeshConfig): void;
|
|
52
|
+
/** Terminate the worker and reject whatever is still in flight. Idempotent. */
|
|
53
|
+
dispose(): void;
|
|
54
|
+
/** Mark the client dead (first reason wins), stop the worker, reject everything pending. */
|
|
55
|
+
private kill;
|
|
56
|
+
private post;
|
|
57
|
+
private settle;
|
|
58
|
+
private failAll;
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=remesh-client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"remesh-client.d.ts","sourceRoot":"","sources":["../../src/remesh/remesh-client.ts"],"names":[],"mappings":"AAIA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAI7F,MAAM,WAAW,mBAAmB;IAClC,uEAAuE;IACvE,UAAU,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC;IAChC,kFAAkF;IAClF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,qEAAqE;IACrE,YAAY,CAAC,EAAE,MAAM,MAAM,CAAC;IAC5B;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAMD,qBAAa,YAAY;IAMH,OAAO,CAAC,QAAQ,CAAC,MAAM;IAAU,OAAO,CAAC,QAAQ,CAAC,SAAS;IAL/E,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA8B;IACtD,OAAO,CAAC,aAAa,CAAK;IAC1B,yEAAyE;IACzE,OAAO,CAAC,IAAI,CAAsB;IAElC,OAAO;IAEP,+EAA+E;IAC/E,IAAI,KAAK,IAAI,OAAO,CAEnB;IAED,oEAAoE;WACvD,MAAM,CAAC,MAAM,EAAE,YAAY,EAAE,OAAO,GAAE,mBAAwB,GAAG,OAAO,CAAC,YAAY,CAAC;IAanG,OAAO,CAAC,KAAK;IAsBb;;;;OAIG;IACH,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC;IASrD;;;;OAIG;IACH,SAAS,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC;IAIjD,OAAO,CAAC,OAAO;IAoBf,8EAA8E;IAC9E,SAAS,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI;IAKrC,+EAA+E;IAC/E,OAAO,IAAI,IAAI;IAIf,4FAA4F;IAC5F,OAAO,CAAC,IAAI;IAOZ,OAAO,CAAC,IAAI;IAIZ,OAAO,CAAC,MAAM;IAad,OAAO,CAAC,OAAO;CAIhB"}
|
|
@@ -0,0 +1,135 @@
|
|
|
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
|
+
import { restashWasmPanicLocation } from '../wasm-panic-forward.js';
|
|
5
|
+
const DEFAULT_REQUEST_TIMEOUT_MS = 30_000;
|
|
6
|
+
export class RemeshClient {
|
|
7
|
+
worker;
|
|
8
|
+
timeoutMs;
|
|
9
|
+
pending = new Map();
|
|
10
|
+
nextRequestId = 1;
|
|
11
|
+
/** Why the client can no longer answer: disposed, or its worker died. */
|
|
12
|
+
dead = null;
|
|
13
|
+
constructor(worker, timeoutMs) {
|
|
14
|
+
this.worker = worker;
|
|
15
|
+
this.timeoutMs = timeoutMs;
|
|
16
|
+
}
|
|
17
|
+
/** False once disposed or once its worker failed; create a new client then. */
|
|
18
|
+
get alive() {
|
|
19
|
+
return this.dead === null;
|
|
20
|
+
}
|
|
21
|
+
/** Spawn the worker and resolve once its engine is instantiated. */
|
|
22
|
+
static async create(config, options = {}) {
|
|
23
|
+
const worker = options.createWorker?.()
|
|
24
|
+
?? new Worker(new URL('./remesh.worker.js', import.meta.url), { type: 'module' });
|
|
25
|
+
const client = new RemeshClient(worker, options.requestTimeoutMs ?? DEFAULT_REQUEST_TIMEOUT_MS);
|
|
26
|
+
try {
|
|
27
|
+
await client.start(config, options);
|
|
28
|
+
}
|
|
29
|
+
catch (error) {
|
|
30
|
+
client.dispose();
|
|
31
|
+
throw error;
|
|
32
|
+
}
|
|
33
|
+
return client;
|
|
34
|
+
}
|
|
35
|
+
start(config, options) {
|
|
36
|
+
return new Promise((resolve, reject) => {
|
|
37
|
+
this.worker.onmessage = (event) => {
|
|
38
|
+
const message = event.data;
|
|
39
|
+
if (message.type === 'ready') {
|
|
40
|
+
this.worker.onmessage = (next) => this.settle(next.data);
|
|
41
|
+
resolve();
|
|
42
|
+
}
|
|
43
|
+
else if (message.type === 'init-error') {
|
|
44
|
+
restashWasmPanicLocation(globalThis, message.wasmPanicLocation, message.wasmPanicAt, message.message);
|
|
45
|
+
reject(new Error(`Re-mesh engine failed to start: ${message.message}`));
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
this.worker.onerror = (event) => {
|
|
49
|
+
const error = new Error(`Re-mesh worker failed: ${event.message}`);
|
|
50
|
+
reject(error);
|
|
51
|
+
this.kill(error);
|
|
52
|
+
};
|
|
53
|
+
this.worker.onmessageerror = () => this.kill(new Error('Re-mesh worker sent a message that could not be read'));
|
|
54
|
+
this.post({ type: 'init', config, wasmModule: options.wasmModule, wasmUrl: options.wasmUrl });
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Mesh `request.targets` from `request.buffer`. The buffer's memory is
|
|
59
|
+
* TRANSFERRED to the worker when it spans a whole `ArrayBuffer`, so the
|
|
60
|
+
* caller must not read it afterwards.
|
|
61
|
+
*/
|
|
62
|
+
remesh(request) {
|
|
63
|
+
const { buffer } = request;
|
|
64
|
+
const transfer = buffer.buffer instanceof ArrayBuffer
|
|
65
|
+
&& buffer.byteOffset === 0 && buffer.byteLength === buffer.buffer.byteLength
|
|
66
|
+
? [buffer.buffer]
|
|
67
|
+
: [];
|
|
68
|
+
return this.request((requestId) => ({ type: 'remesh', requestId, request }), transfer);
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* The style wire a whole-file pre-pass resolves for `source`, for a model
|
|
72
|
+
* whose load did not keep one. The source is COPIED to the worker (the
|
|
73
|
+
* caller's model still owns it), and the pre-pass cache is released after.
|
|
74
|
+
*/
|
|
75
|
+
styleWire(source) {
|
|
76
|
+
return this.request((requestId) => ({ type: 'style-wire', requestId, source }));
|
|
77
|
+
}
|
|
78
|
+
request(message, transfer = []) {
|
|
79
|
+
if (this.dead)
|
|
80
|
+
return Promise.reject(this.dead);
|
|
81
|
+
const requestId = this.nextRequestId++;
|
|
82
|
+
return new Promise((resolve, reject) => {
|
|
83
|
+
const timer = setTimeout(() => this.kill(new Error(`Re-mesh worker did not answer within ${this.timeoutMs} ms`)), this.timeoutMs);
|
|
84
|
+
const settle = (fn) => (value) => { clearTimeout(timer); fn(value); };
|
|
85
|
+
this.pending.set(requestId, {
|
|
86
|
+
resolve: settle(resolve),
|
|
87
|
+
reject: settle(reject),
|
|
88
|
+
});
|
|
89
|
+
this.post(message(requestId), transfer);
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
/** Change the load toggles; applies to every request sent after this call. */
|
|
93
|
+
setConfig(config) {
|
|
94
|
+
if (this.dead)
|
|
95
|
+
return;
|
|
96
|
+
this.post({ type: 'config', config });
|
|
97
|
+
}
|
|
98
|
+
/** Terminate the worker and reject whatever is still in flight. Idempotent. */
|
|
99
|
+
dispose() {
|
|
100
|
+
this.kill(new Error('RemeshClient is disposed'));
|
|
101
|
+
}
|
|
102
|
+
/** Mark the client dead (first reason wins), stop the worker, reject everything pending. */
|
|
103
|
+
kill(reason) {
|
|
104
|
+
if (this.dead)
|
|
105
|
+
return;
|
|
106
|
+
this.dead = reason;
|
|
107
|
+
this.worker.terminate();
|
|
108
|
+
this.failAll(reason);
|
|
109
|
+
}
|
|
110
|
+
post(message, transfer = []) {
|
|
111
|
+
this.worker.postMessage(message, transfer);
|
|
112
|
+
}
|
|
113
|
+
settle(message) {
|
|
114
|
+
if (message.type === 'ready' || message.type === 'init-error')
|
|
115
|
+
return;
|
|
116
|
+
const pending = this.pending.get(message.requestId);
|
|
117
|
+
if (!pending)
|
|
118
|
+
return;
|
|
119
|
+
this.pending.delete(message.requestId);
|
|
120
|
+
if (message.type === 'result')
|
|
121
|
+
pending.resolve(message.result);
|
|
122
|
+
else if (message.type === 'style-wire')
|
|
123
|
+
pending.resolve(message.wire);
|
|
124
|
+
else {
|
|
125
|
+
restashWasmPanicLocation(globalThis, message.wasmPanicLocation, message.wasmPanicAt, message.message);
|
|
126
|
+
pending.reject(new Error(`Re-mesh failed: ${message.message}`));
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
failAll(error) {
|
|
130
|
+
for (const pending of this.pending.values())
|
|
131
|
+
pending.reject(error);
|
|
132
|
+
this.pending.clear();
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
//# sourceMappingURL=remesh-client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"remesh-client.js","sourceRoot":"","sources":["../../src/remesh/remesh-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Re-mesh a few elements from a subgraph buffer (#6232 WP1): the body of
|
|
3
|
+
* `remesh.worker.ts`, kept free of the wasm import so the real-wasm contract
|
|
4
|
+
* test (`scripts/lib/wasm-remesh-contracts.mjs`) runs this exact code.
|
|
5
|
+
*
|
|
6
|
+
* It calls the same wasm entry points as the load path
|
|
7
|
+
* (`buildPrePassOnce` → `processGeometryBatch` → `convertMeshCollectionToBatch`),
|
|
8
|
+
* with two inputs pinned to the model's load: the RTC frame the model was
|
|
9
|
+
* meshed in, and the style wire resolved from the whole file. The subgraph
|
|
10
|
+
* cannot produce either (styles are not in it, and the RTC detector would
|
|
11
|
+
* pick a different anchor from a handful of entities).
|
|
12
|
+
*/
|
|
13
|
+
import type { MeshCollection } from '@ifc-lite/wasm';
|
|
14
|
+
import type { RtcFrame } from '../rtc-frame.js';
|
|
15
|
+
import type { MeshData, TessellationQuality } from '../types.js';
|
|
16
|
+
/**
|
|
17
|
+
* The load-time toggles that change mesh output. Mirror the model's load, or
|
|
18
|
+
* a re-meshed element disagrees with its neighbours.
|
|
19
|
+
*/
|
|
20
|
+
export interface RemeshConfig {
|
|
21
|
+
mergeLayers: boolean;
|
|
22
|
+
/** `null` keeps the engine default (`medium`), as on load. */
|
|
23
|
+
tessellationQuality: TessellationQuality | null;
|
|
24
|
+
skipSmallCuts: boolean;
|
|
25
|
+
/** The engine default is on; the load path never turns it off. */
|
|
26
|
+
rectParamFastPath: boolean;
|
|
27
|
+
}
|
|
28
|
+
export interface RemeshRequest {
|
|
29
|
+
/** A standalone STEP buffer (`serializeEntitySubgraph` in `@ifc-lite/export`). */
|
|
30
|
+
buffer: Uint8Array;
|
|
31
|
+
/** Express ids to mesh; other products in the buffer are context only. */
|
|
32
|
+
targets: Uint32Array;
|
|
33
|
+
/** The frame the model was meshed in on load. */
|
|
34
|
+
frame: RtcFrame;
|
|
35
|
+
/** Load-time style wire (item or element id → RGBA, 4 bytes each). */
|
|
36
|
+
styleIds: Uint32Array;
|
|
37
|
+
styleColors: Uint8Array;
|
|
38
|
+
materialElementIds?: Uint32Array;
|
|
39
|
+
materialColorCounts?: Uint32Array;
|
|
40
|
+
materialColors?: Uint8Array;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* The style and material colour wire a whole-file pre-pass resolves: what a
|
|
44
|
+
* re-mesh request must carry, since a subgraph holds no styles.
|
|
45
|
+
*/
|
|
46
|
+
export interface StyleWire {
|
|
47
|
+
styleIds: Uint32Array;
|
|
48
|
+
styleColors: Uint8Array;
|
|
49
|
+
materialElementIds: Uint32Array;
|
|
50
|
+
materialColorCounts: Uint32Array;
|
|
51
|
+
materialColors: Uint8Array;
|
|
52
|
+
}
|
|
53
|
+
export interface RemeshResult {
|
|
54
|
+
meshes: MeshData[];
|
|
55
|
+
csgFailures: number;
|
|
56
|
+
ms: {
|
|
57
|
+
prepass: number;
|
|
58
|
+
produce: number;
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
/** The slice of `IfcAPI` the re-mesh path calls. */
|
|
62
|
+
export interface RemeshApi {
|
|
63
|
+
buildPrePassOnce(data: Uint8Array): unknown;
|
|
64
|
+
processGeometryBatch(data: Uint8Array, jobs: Uint32Array, unitScale: number, rtcX: number, rtcY: number, rtcZ: number, needsShift: boolean, voidKeys: Uint32Array, voidCounts: Uint32Array, voidValues: Uint32Array, styleIds: Uint32Array, styleColors: Uint8Array, planeAngleToRadians?: number | null, materialElementIds?: Uint32Array | null, materialColorCounts?: Uint32Array | null, materialColors?: Uint8Array | null): MeshCollection;
|
|
65
|
+
clearPrePassCache(): void;
|
|
66
|
+
setMergeLayers(enabled: boolean): void;
|
|
67
|
+
setTessellationQuality(level?: string | null): void;
|
|
68
|
+
setSkipSmallCuts(on: boolean): void;
|
|
69
|
+
setRectParamFastPath(enabled: boolean): void;
|
|
70
|
+
}
|
|
71
|
+
/** Apply every config field, so a changed field can never be left stale. */
|
|
72
|
+
export declare function applyRemeshConfig(api: RemeshApi, config: RemeshConfig): void;
|
|
73
|
+
/** Keep the `(id, start, end)` job triplets whose id is a target. */
|
|
74
|
+
export declare function filterJobsToTargets(jobs: Uint32Array, targets: Uint32Array): Uint32Array;
|
|
75
|
+
/**
|
|
76
|
+
* Narrow the model's style wire to the ids a subgraph holds. The engine
|
|
77
|
+
* builds a colour map from every entry it is sent, so sending a large model's
|
|
78
|
+
* whole wire costs a map build per re-mesh. The wire is keyed by item and
|
|
79
|
+
* element ids, and both are in the subgraph when they matter.
|
|
80
|
+
*/
|
|
81
|
+
export declare function filterStyleWire(styleIds: Uint32Array, styleColors: Uint8Array, keep: ReadonlySet<number>): {
|
|
82
|
+
styleIds: Uint32Array;
|
|
83
|
+
styleColors: Uint8Array;
|
|
84
|
+
};
|
|
85
|
+
/**
|
|
86
|
+
* Pre-pass the subgraph, mesh the targets in the load frame, and release the
|
|
87
|
+
* pre-pass cache on every exit (the per-content caches are keyed to this
|
|
88
|
+
* buffer and would otherwise leak into the next request).
|
|
89
|
+
*/
|
|
90
|
+
export declare function remeshOnApi(api: RemeshApi, req: RemeshRequest, now?: () => number): RemeshResult;
|
|
91
|
+
/**
|
|
92
|
+
* Pre-pass a whole model once and keep only its style wire, releasing the
|
|
93
|
+
* pre-pass cache. Copies each array so nothing aliases the wasm heap.
|
|
94
|
+
*/
|
|
95
|
+
export declare function styleWireOnApi(api: RemeshApi, source: Uint8Array): StyleWire;
|
|
96
|
+
//# sourceMappingURL=remesh-core.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"remesh-core.d.ts","sourceRoot":"","sources":["../../src/remesh/remesh-core.ts"],"names":[],"mappings":"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"}
|