@ifc-lite/geometry 7.7.0 → 7.9.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 +54 -0
- package/dist/byte-streaming-prepass-result.d.ts +11 -0
- package/dist/byte-streaming-prepass-result.d.ts.map +1 -1
- package/dist/domain-export-call.d.ts.map +1 -1
- package/dist/domain-export-call.js +8 -1
- package/dist/domain-export-call.js.map +1 -1
- package/dist/export-errors.d.ts +7 -0
- package/dist/export-errors.d.ts.map +1 -1
- package/dist/export-errors.js +12 -0
- package/dist/export-errors.js.map +1 -1
- package/dist/geometry-parallel-options.d.ts +15 -0
- package/dist/geometry-parallel-options.d.ts.map +1 -1
- package/dist/geometry-parallel.d.ts +2 -47
- package/dist/geometry-parallel.d.ts.map +1 -1
- package/dist/geometry-parallel.js +59 -157
- package/dist/geometry-parallel.js.map +1 -1
- package/dist/geometry-worker-pool.d.ts +72 -0
- package/dist/geometry-worker-pool.d.ts.map +1 -0
- package/dist/geometry-worker-pool.js +176 -0
- package/dist/geometry-worker-pool.js.map +1 -0
- package/dist/geometry.worker.d.ts.map +1 -1
- package/dist/geometry.worker.js +19 -25
- package/dist/geometry.worker.js.map +1 -1
- package/dist/hung-job-recovery.d.ts +26 -2
- package/dist/hung-job-recovery.d.ts.map +1 -1
- package/dist/hung-job-recovery.js +42 -7
- package/dist/hung-job-recovery.js.map +1 -1
- package/dist/ifc-lite-bridge.d.ts +13 -2
- package/dist/ifc-lite-bridge.d.ts.map +1 -1
- package/dist/ifc-lite-bridge.js +27 -26
- package/dist/ifc-lite-bridge.js.map +1 -1
- package/dist/in-call-heartbeat.d.ts +20 -0
- package/dist/in-call-heartbeat.d.ts.map +1 -0
- package/dist/in-call-heartbeat.js +39 -0
- package/dist/in-call-heartbeat.js.map +1 -0
- package/dist/index.d.ts +21 -8
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +27 -28
- package/dist/index.js.map +1 -1
- package/dist/landxml-terrain-export.d.ts +41 -0
- package/dist/landxml-terrain-export.d.ts.map +1 -0
- package/dist/landxml-terrain-export.js +14 -0
- package/dist/landxml-terrain-export.js.map +1 -0
- package/dist/main-engine-init.d.ts +5 -0
- package/dist/main-engine-init.d.ts.map +1 -0
- package/dist/main-engine-init.js +42 -0
- package/dist/main-engine-init.js.map +1 -0
- package/dist/perf-flags.d.ts +55 -0
- package/dist/perf-flags.d.ts.map +1 -0
- package/dist/perf-flags.js +66 -0
- package/dist/perf-flags.js.map +1 -0
- package/dist/prepass-routing.d.ts +53 -0
- package/dist/prepass-routing.d.ts.map +1 -0
- package/dist/prepass-routing.js +100 -0
- package/dist/prepass-routing.js.map +1 -0
- package/dist/scan-proposals.d.ts +132 -0
- package/dist/scan-proposals.d.ts.map +1 -0
- package/dist/scan-proposals.js +12 -0
- package/dist/scan-proposals.js.map +1 -0
- package/dist/scan-segmentation.d.ts +205 -0
- package/dist/scan-segmentation.d.ts.map +1 -0
- package/dist/scan-segmentation.js +17 -0
- package/dist/scan-segmentation.js.map +1 -0
- package/dist/warm-pool.d.ts +27 -0
- package/dist/warm-pool.d.ts.map +1 -0
- package/dist/warm-pool.js +48 -0
- package/dist/warm-pool.js.map +1 -0
- package/dist/wasm-shared-module.d.ts +17 -19
- package/dist/wasm-shared-module.d.ts.map +1 -1
- package/dist/wasm-shared-module.js +90 -77
- package/dist/wasm-shared-module.js.map +1 -1
- package/dist/wasm-streaming-guard.d.ts +2 -0
- package/dist/wasm-streaming-guard.d.ts.map +1 -0
- package/dist/wasm-streaming-guard.js +22 -0
- package/dist/wasm-streaming-guard.js.map +1 -0
- package/dist/worker-count.d.ts +10 -0
- package/dist/worker-count.d.ts.map +1 -1
- package/dist/worker-count.js +19 -0
- package/dist/worker-count.js.map +1 -1
- package/dist/worker-trace.d.ts +16 -0
- package/dist/worker-trace.d.ts.map +1 -0
- package/dist/worker-trace.js +39 -0
- package/dist/worker-trace.js.map +1 -0
- package/dist/world-frame.d.ts +24 -0
- package/dist/world-frame.d.ts.map +1 -1
- package/dist/world-frame.js +34 -0
- package/dist/world-frame.js.map +1 -1
- package/package.json +18 -7
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
/** The one construction site of the geometry worker bundle (Vite rewrites this URL). */
|
|
2
|
+
export declare function spawnGeometryWorker(): Worker;
|
|
3
|
+
export type PoolWorkerRole = 'geometry' | 'prepass';
|
|
4
|
+
export interface GeometryWorkerPoolLimits {
|
|
5
|
+
/** Idle workers kept at most (geometry and pre-pass roles share the pool). */
|
|
6
|
+
maxIdle: number;
|
|
7
|
+
/** Booked bytes of the idle workers kept at most. */
|
|
8
|
+
idleBytesCeiling: number;
|
|
9
|
+
/** Terminate every idle worker after this long without a lease. */
|
|
10
|
+
idleReleaseMs: number;
|
|
11
|
+
}
|
|
12
|
+
/** What a freshly instantiated engine holds: ~9 MB of initial wasm memory plus worker overhead. */
|
|
13
|
+
export declare const FRESH_WORKER_HEAP_BYTES: number;
|
|
14
|
+
export declare const DEFAULT_POOL_LIMITS: GeometryWorkerPoolLimits;
|
|
15
|
+
export interface PoolLease {
|
|
16
|
+
readonly worker: Worker;
|
|
17
|
+
/** True when the worker was prewarmed (no spawn on this load's path). */
|
|
18
|
+
readonly prewarmed: boolean;
|
|
19
|
+
}
|
|
20
|
+
export interface GeometryWorkerPoolStats {
|
|
21
|
+
idle: number;
|
|
22
|
+
idleBytes: number;
|
|
23
|
+
spawned: number;
|
|
24
|
+
prewarmed: number;
|
|
25
|
+
leasedWarm: number;
|
|
26
|
+
drained: number;
|
|
27
|
+
}
|
|
28
|
+
interface Timers {
|
|
29
|
+
setTimeout(fn: () => void, ms: number): unknown;
|
|
30
|
+
clearTimeout(handle: unknown): void;
|
|
31
|
+
}
|
|
32
|
+
export declare class GeometryWorkerPool {
|
|
33
|
+
private readonly idle;
|
|
34
|
+
private readonly roles;
|
|
35
|
+
private readonly limits;
|
|
36
|
+
private readonly spawn;
|
|
37
|
+
private readonly timers;
|
|
38
|
+
private idleTimer;
|
|
39
|
+
private counts;
|
|
40
|
+
constructor(options?: {
|
|
41
|
+
spawn?: () => Worker;
|
|
42
|
+
limits?: Partial<GeometryWorkerPoolLimits>;
|
|
43
|
+
timers?: Timers;
|
|
44
|
+
});
|
|
45
|
+
/**
|
|
46
|
+
* Lease a worker for `role`: a prewarmed one for the same engine binary
|
|
47
|
+
* (`key`) when idle, else a fresh spawn. Idle workers for a different binary
|
|
48
|
+
* are terminated, since they cannot serve this engine. The lease is the
|
|
49
|
+
* load's for good: it terminates the worker when done with it.
|
|
50
|
+
*/
|
|
51
|
+
acquire(role: PoolWorkerRole, key: string): PoolLease;
|
|
52
|
+
/**
|
|
53
|
+
* Spawn idle workers until `count` are waiting for `key`, within the limits.
|
|
54
|
+
* `init` posts the engine init, so a worker is instantiated by the time a
|
|
55
|
+
* load leases it. Returns how many were started.
|
|
56
|
+
*/
|
|
57
|
+
prewarm(count: number, key: string, init: (worker: Worker) => void): number;
|
|
58
|
+
/** Terminate every idle worker (memory pressure, a hidden tab, a large load, long idle). */
|
|
59
|
+
drain(reason?: string): number;
|
|
60
|
+
/** The role a leased worker serves (message counters are labelled by it). */
|
|
61
|
+
roleOf(worker: Worker): PoolWorkerRole;
|
|
62
|
+
stats(): GeometryWorkerPoolStats;
|
|
63
|
+
private idleBytes;
|
|
64
|
+
private create;
|
|
65
|
+
private remove;
|
|
66
|
+
private terminate;
|
|
67
|
+
private dropForeignKeys;
|
|
68
|
+
private armIdleTimer;
|
|
69
|
+
private clearIdleTimer;
|
|
70
|
+
}
|
|
71
|
+
export {};
|
|
72
|
+
//# sourceMappingURL=geometry-worker-pool.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"geometry-worker-pool.d.ts","sourceRoot":"","sources":["../src/geometry-worker-pool.ts"],"names":[],"mappings":"AAgCA,wFAAwF;AACxF,wBAAgB,mBAAmB,IAAI,MAAM,CAE5C;AAED,MAAM,MAAM,cAAc,GAAG,UAAU,GAAG,SAAS,CAAC;AAEpD,MAAM,WAAW,wBAAwB;IACvC,8EAA8E;IAC9E,OAAO,EAAE,MAAM,CAAC;IAChB,qDAAqD;IACrD,gBAAgB,EAAE,MAAM,CAAC;IACzB,mEAAmE;IACnE,aAAa,EAAE,MAAM,CAAC;CACvB;AAID,mGAAmG;AACnG,eAAO,MAAM,uBAAuB,QAAU,CAAC;AAE/C,eAAO,MAAM,mBAAmB,EAAE,wBAKjC,CAAC;AAEF,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,yEAAyE;IACzE,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;CAC7B;AAED,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;CACjB;AAID,UAAU,MAAM;IACd,UAAU,CAAC,EAAE,EAAE,MAAM,IAAI,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC;IAChD,YAAY,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAAC;CACrC;AAWD,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAoB;IACzC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAyC;IAC/D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA2B;IAClD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAe;IACrC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,SAAS,CAAiB;IAClC,OAAO,CAAC,MAAM,CAA2D;gBAE7D,OAAO,GAAE;QAAE,KAAK,CAAC,EAAE,MAAM,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAC,wBAAwB,CAAC,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAO;IAM/G;;;;;OAKG;IACH,OAAO,CAAC,IAAI,EAAE,cAAc,EAAE,GAAG,EAAE,MAAM,GAAG,SAAS;IAkBrD;;;;OAIG;IACH,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,GAAG,MAAM;IAuB3E,4FAA4F;IAC5F,KAAK,CAAC,MAAM,SAAU,GAAG,MAAM;IAQ/B,6EAA6E;IAC7E,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,cAAc;IAItC,KAAK,IAAI,uBAAuB;IAIhC,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,MAAM;IAOd,OAAO,CAAC,MAAM;IAMd,OAAO,CAAC,SAAS;IAQjB,OAAO,CAAC,eAAe;IAMvB,OAAO,CAAC,YAAY;IAQpB,OAAO,CAAC,cAAc;CAIvB"}
|
|
@@ -0,0 +1,176 @@
|
|
|
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
|
+
* Geometry/pre-pass workers spawned AHEAD of the load that uses them (#7036).
|
|
6
|
+
*
|
|
7
|
+
* `processParallel` used to spawn N geometry workers plus a pre-pass worker
|
|
8
|
+
* only once the file had been read, unwrapped and looked up in the cache, and
|
|
9
|
+
* the spawn and engine instantiation then sat on the critical path in front of
|
|
10
|
+
* the first pre-pass event. A host now calls `prewarm()` when a load is
|
|
11
|
+
* requested, so the spawn overlaps the file read, and the load leases the
|
|
12
|
+
* already-initialized workers instead of spawning.
|
|
13
|
+
*
|
|
14
|
+
* Deliberately NOT a pool that takes workers back. A wasm instance's memory
|
|
15
|
+
* never shrinks, so a worker that meshed a model keeps that heap for as long
|
|
16
|
+
* as it lives. Measured on a real GPU, retaining used workers held 100-400 MB
|
|
17
|
+
* more renderer memory after the load and raised the load's peak by as much
|
|
18
|
+
* (their heaps overlapped the main thread's finalize), to save the same
|
|
19
|
+
* ~20-45 ms that spawning during the file read already saves. So a leased
|
|
20
|
+
* worker belongs to its load and is terminated by it exactly as before, and
|
|
21
|
+
* this pool only ever holds FRESH instances:
|
|
22
|
+
* - at most `maxIdle` of them, and at most `idleBytesCeiling` bytes booked at
|
|
23
|
+
* {@link FRESH_WORKER_HEAP_BYTES} each;
|
|
24
|
+
* - all terminated after `idleReleaseMs` without a lease (a load that hit
|
|
25
|
+
* the cache never used its workers), and on `drain()`.
|
|
26
|
+
* Every worker is used by at most one load, so no load can ever receive
|
|
27
|
+
* another load's messages through it.
|
|
28
|
+
*/
|
|
29
|
+
import { accountWorkerMessages, perfCount } from '@ifc-lite/load-trace';
|
|
30
|
+
/** The one construction site of the geometry worker bundle (Vite rewrites this URL). */
|
|
31
|
+
export function spawnGeometryWorker() {
|
|
32
|
+
return new Worker(new URL('./geometry.worker.js', import.meta.url), { type: 'module' });
|
|
33
|
+
}
|
|
34
|
+
const MB = 1024 * 1024;
|
|
35
|
+
/** What a freshly instantiated engine holds: ~9 MB of initial wasm memory plus worker overhead. */
|
|
36
|
+
export const FRESH_WORKER_HEAP_BYTES = 16 * MB;
|
|
37
|
+
export const DEFAULT_POOL_LIMITS = {
|
|
38
|
+
// The 8-worker hard cap of `computeWorkerCount` plus the pre-pass worker.
|
|
39
|
+
maxIdle: 9,
|
|
40
|
+
idleBytesCeiling: 9 * FRESH_WORKER_HEAP_BYTES,
|
|
41
|
+
idleReleaseMs: 60_000,
|
|
42
|
+
};
|
|
43
|
+
const defaultTimers = {
|
|
44
|
+
setTimeout: (fn, ms) => {
|
|
45
|
+
const handle = setTimeout(fn, ms);
|
|
46
|
+
handle.unref?.();
|
|
47
|
+
return handle;
|
|
48
|
+
},
|
|
49
|
+
clearTimeout: (handle) => clearTimeout(handle),
|
|
50
|
+
};
|
|
51
|
+
export class GeometryWorkerPool {
|
|
52
|
+
idle = [];
|
|
53
|
+
roles = new WeakMap();
|
|
54
|
+
limits;
|
|
55
|
+
spawn;
|
|
56
|
+
timers;
|
|
57
|
+
idleTimer = null;
|
|
58
|
+
counts = { spawned: 0, prewarmed: 0, leasedWarm: 0, drained: 0 };
|
|
59
|
+
constructor(options = {}) {
|
|
60
|
+
this.spawn = options.spawn ?? spawnGeometryWorker;
|
|
61
|
+
this.limits = { ...DEFAULT_POOL_LIMITS, ...options.limits };
|
|
62
|
+
this.timers = options.timers ?? defaultTimers;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Lease a worker for `role`: a prewarmed one for the same engine binary
|
|
66
|
+
* (`key`) when idle, else a fresh spawn. Idle workers for a different binary
|
|
67
|
+
* are terminated, since they cannot serve this engine. The lease is the
|
|
68
|
+
* load's for good: it terminates the worker when done with it.
|
|
69
|
+
*/
|
|
70
|
+
acquire(role, key) {
|
|
71
|
+
this.dropForeignKeys(key);
|
|
72
|
+
const entry = this.idle.shift();
|
|
73
|
+
if (this.idle.length === 0)
|
|
74
|
+
this.clearIdleTimer();
|
|
75
|
+
let worker;
|
|
76
|
+
if (entry) {
|
|
77
|
+
worker = entry.worker;
|
|
78
|
+
worker.onerror = null;
|
|
79
|
+
this.counts.leasedWarm++;
|
|
80
|
+
perfCount('worker.prewarmed');
|
|
81
|
+
}
|
|
82
|
+
else {
|
|
83
|
+
worker = this.create();
|
|
84
|
+
perfCount('worker.spawned');
|
|
85
|
+
}
|
|
86
|
+
this.roles.set(worker, role);
|
|
87
|
+
return { worker, prewarmed: entry !== undefined };
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Spawn idle workers until `count` are waiting for `key`, within the limits.
|
|
91
|
+
* `init` posts the engine init, so a worker is instantiated by the time a
|
|
92
|
+
* load leases it. Returns how many were started.
|
|
93
|
+
*/
|
|
94
|
+
prewarm(count, key, init) {
|
|
95
|
+
this.dropForeignKeys(key);
|
|
96
|
+
const target = Math.min(count, this.limits.maxIdle);
|
|
97
|
+
let started = 0;
|
|
98
|
+
while (this.idle.length < target && this.idleBytes() + FRESH_WORKER_HEAP_BYTES <= this.limits.idleBytesCeiling) {
|
|
99
|
+
const worker = this.create();
|
|
100
|
+
try {
|
|
101
|
+
init(worker);
|
|
102
|
+
}
|
|
103
|
+
catch (err) {
|
|
104
|
+
console.warn('[pool] prewarm init failed; terminating the worker:', err);
|
|
105
|
+
this.terminate(worker, 'prewarm-init');
|
|
106
|
+
break;
|
|
107
|
+
}
|
|
108
|
+
// An idle worker that dies just leaves the pool; its messages go nowhere.
|
|
109
|
+
worker.onerror = () => this.remove(worker, 'idle-error');
|
|
110
|
+
this.idle.push({ worker, key });
|
|
111
|
+
this.counts.prewarmed++;
|
|
112
|
+
started++;
|
|
113
|
+
}
|
|
114
|
+
if (this.idle.length > 0 && this.idleTimer === null)
|
|
115
|
+
this.armIdleTimer();
|
|
116
|
+
return started;
|
|
117
|
+
}
|
|
118
|
+
/** Terminate every idle worker (memory pressure, a hidden tab, a large load, long idle). */
|
|
119
|
+
drain(reason = 'drain') {
|
|
120
|
+
const n = this.idle.length;
|
|
121
|
+
for (const entry of this.idle.splice(0))
|
|
122
|
+
this.terminate(entry.worker, reason);
|
|
123
|
+
this.counts.drained += n;
|
|
124
|
+
this.clearIdleTimer();
|
|
125
|
+
return n;
|
|
126
|
+
}
|
|
127
|
+
/** The role a leased worker serves (message counters are labelled by it). */
|
|
128
|
+
roleOf(worker) {
|
|
129
|
+
return this.roles.get(worker) ?? 'geometry';
|
|
130
|
+
}
|
|
131
|
+
stats() {
|
|
132
|
+
return { idle: this.idle.length, idleBytes: this.idleBytes(), ...this.counts };
|
|
133
|
+
}
|
|
134
|
+
idleBytes() {
|
|
135
|
+
return this.idle.length * FRESH_WORKER_HEAP_BYTES;
|
|
136
|
+
}
|
|
137
|
+
create() {
|
|
138
|
+
this.counts.spawned++;
|
|
139
|
+
const worker = this.spawn();
|
|
140
|
+
// #6957: a prewarmed worker learns its role only when leased.
|
|
141
|
+
return accountWorkerMessages(worker, () => this.roleOf(worker));
|
|
142
|
+
}
|
|
143
|
+
remove(worker, reason) {
|
|
144
|
+
const i = this.idle.findIndex((entry) => entry.worker === worker);
|
|
145
|
+
if (i >= 0)
|
|
146
|
+
this.idle.splice(i, 1);
|
|
147
|
+
this.terminate(worker, reason);
|
|
148
|
+
}
|
|
149
|
+
terminate(worker, reason) {
|
|
150
|
+
try {
|
|
151
|
+
worker.terminate();
|
|
152
|
+
}
|
|
153
|
+
catch (err) {
|
|
154
|
+
console.warn(`[pool] terminate (${reason}) failed:`, err);
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
dropForeignKeys(key) {
|
|
158
|
+
for (let i = this.idle.length - 1; i >= 0; i--) {
|
|
159
|
+
if (this.idle[i].key !== key)
|
|
160
|
+
this.terminate(this.idle.splice(i, 1)[0].worker, 'engine-changed');
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
armIdleTimer() {
|
|
164
|
+
this.clearIdleTimer();
|
|
165
|
+
this.idleTimer = this.timers.setTimeout(() => {
|
|
166
|
+
this.idleTimer = null;
|
|
167
|
+
this.drain('idle');
|
|
168
|
+
}, this.limits.idleReleaseMs);
|
|
169
|
+
}
|
|
170
|
+
clearIdleTimer() {
|
|
171
|
+
if (this.idleTimer !== null)
|
|
172
|
+
this.timers.clearTimeout(this.idleTimer);
|
|
173
|
+
this.idleTimer = null;
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
//# sourceMappingURL=geometry-worker-pool.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"geometry-worker-pool.js","sourceRoot":"","sources":["../src/geometry-worker-pool.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"geometry.worker.d.ts","sourceRoot":"","sources":["../src/geometry.worker.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"geometry.worker.d.ts","sourceRoot":"","sources":["../src/geometry.worker.ts"],"names":[],"mappings":"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"}
|
package/dist/geometry.worker.js
CHANGED
|
@@ -8,6 +8,8 @@ import { publishPrepassFingerprint, runPrepassWithFingerprint } from './prepass-
|
|
|
8
8
|
import { canReuseWorkerSource } from './worker-prepass-source.js';
|
|
9
9
|
import { applyStyleFinishes } from './style-finishes.js';
|
|
10
10
|
import init, { initSync, IfcAPI } from '@ifc-lite/wasm';
|
|
11
|
+
import * as wasmBindings from '@ifc-lite/wasm';
|
|
12
|
+
import { createInCallHeartbeat, installInCallHeartbeat, postWorkerHeartbeat } from './in-call-heartbeat.js';
|
|
11
13
|
import { initWasmWithRetry } from './wasm-init-retry.js';
|
|
12
14
|
import { largeFilePrepassError } from './huge-file-error.js';
|
|
13
15
|
import { isWasmRuntimeTrap } from './wasm-runtime-trap.js';
|
|
@@ -16,6 +18,7 @@ import { mergeGeometryDiagnostics, buildGeometryWorkerCompleteMessage, } from '.
|
|
|
16
18
|
import { extractGeometryFingerprints, writeGeometryAabbAt, } from './geometry-fingerprints.js';
|
|
17
19
|
import { DEFAULT_BATCH_SIZING, resolveBatchSizing, nextAdaptiveBatchJobs, } from './batch-sizing.js';
|
|
18
20
|
import { takeWasmPanicStash } from './wasm-panic-forward.js';
|
|
21
|
+
import { traceGeometryWorkerMessage, meterTypedArrayArgs, countCopy, postPrepassEvent } from './worker-trace.js'; // #6956 spans, #6957 counters
|
|
19
22
|
import { isColumnLengthRefusal } from './wasm-column-refusal.js';
|
|
20
23
|
let api = null;
|
|
21
24
|
/**
|
|
@@ -44,7 +47,15 @@ async function ensureInit() {
|
|
|
44
47
|
if (api)
|
|
45
48
|
return api;
|
|
46
49
|
await initWasmWithRetry(() => init(cachedWasmUrl), { label: 'geometry.worker' });
|
|
47
|
-
|
|
50
|
+
return installFreshApi();
|
|
51
|
+
}
|
|
52
|
+
/** Build a fresh IfcAPI on the instantiated engine and replay every cached setting onto it. */
|
|
53
|
+
function installFreshApi() {
|
|
54
|
+
installInCallHeartbeat(wasmBindings, inCallHeartbeat);
|
|
55
|
+
// A prewarmed worker (#7036) is sent `init` again by the load that leases it:
|
|
56
|
+
// free the previous handle rather than leak it in the wasm heap.
|
|
57
|
+
freeWasmInstanceQuietly(api);
|
|
58
|
+
api = meterTypedArrayArgs(new IfcAPI(), 'wasm'); // #6957: bytes copied into wasm (identity unless traced)
|
|
48
59
|
mergeLayersApplied = false;
|
|
49
60
|
applyMergeLayersToApi();
|
|
50
61
|
geometryHashApplied = false;
|
|
@@ -228,7 +239,7 @@ function viewSharedBytes(sharedBuffer) {
|
|
|
228
239
|
/** Fallback path: copy SAB into a fresh ArrayBuffer-backed Uint8Array. */
|
|
229
240
|
function materialiseSharedBytes(sharedBuffer) {
|
|
230
241
|
const local = new Uint8Array(sharedBuffer.byteLength);
|
|
231
|
-
local.set(new Uint8Array(sharedBuffer));
|
|
242
|
+
local.set(countCopy('source.materialise', new Uint8Array(sharedBuffer)));
|
|
232
243
|
return local;
|
|
233
244
|
}
|
|
234
245
|
/**
|
|
@@ -261,10 +272,7 @@ let activeSession = null;
|
|
|
261
272
|
*/
|
|
262
273
|
let batchSizing = DEFAULT_BATCH_SIZING;
|
|
263
274
|
let adaptiveBatchJobs = batchSizing.maxJobs;
|
|
264
|
-
|
|
265
|
-
function postWorkerHeartbeat() {
|
|
266
|
-
self.postMessage({ type: 'progress', processedJobs: 0, totalJobs: 0 });
|
|
267
|
-
}
|
|
275
|
+
const inCallHeartbeat = createInCallHeartbeat(postWorkerHeartbeat);
|
|
268
276
|
function startSession(input) {
|
|
269
277
|
return {
|
|
270
278
|
sharedBuffer: input.sharedBuffer,
|
|
@@ -651,7 +659,7 @@ async function processSliceStreaming(session, jobsFlat, seq, maxBatchJobs = Infi
|
|
|
651
659
|
session.diagnostics = null;
|
|
652
660
|
self.postMessage({ type: 'progress', processedJobs: jobOffset, totalJobs, seq, callJobs: jobsThisBatch, diagnostics });
|
|
653
661
|
const callStart = performance.now();
|
|
654
|
-
await processBatch(session, jobsFlat.subarray(start, end));
|
|
662
|
+
await inCallHeartbeat.run(() => processBatch(session, jobsFlat.subarray(start, end)));
|
|
655
663
|
flushPending(session);
|
|
656
664
|
// Resize the next call from this one's measured throughput so the silent
|
|
657
665
|
// window stays near TARGET_BATCH_MS regardless of CSG density (#1097).
|
|
@@ -693,7 +701,7 @@ function emitSessionEnd(session) {
|
|
|
693
701
|
*/
|
|
694
702
|
let messageTail = Promise.resolve();
|
|
695
703
|
self.onmessage = (rawEvent) => {
|
|
696
|
-
messageTail = messageTail.then(() => handleMessage(rawEvent)).catch((err) => {
|
|
704
|
+
messageTail = messageTail.then(() => traceGeometryWorkerMessage(rawEvent.data, () => handleMessage(rawEvent))).catch((err) => {
|
|
697
705
|
// #2527 follow-up: forward this realm's panic-location stash (if the
|
|
698
706
|
// failure was a wasm trap) so the main thread can re-plant it on ITS
|
|
699
707
|
// global for `attachWasmPanicLocation`. Read AFTER the throw, so a panic
|
|
@@ -763,7 +771,7 @@ async function handleMessage(e) {
|
|
|
763
771
|
const skipTypeGeometry = e.data.skipTypeGeometry === true;
|
|
764
772
|
const onEvent = (event) => {
|
|
765
773
|
publishPrepassFingerprint(sourceFingerprint, sharedBuffer.byteLength, event);
|
|
766
|
-
|
|
774
|
+
postPrepassEvent(event);
|
|
767
775
|
};
|
|
768
776
|
const run = (bytes, ids, starts, lengths, classes) => runPrepassWithFingerprint(ifcApi, [bytes, onEvent, chunkSize, disabledTypes, skipTypeGeometry], sourceFingerprint, [ids, starts, lengths, classes]);
|
|
769
777
|
try {
|
|
@@ -839,7 +847,7 @@ async function handleMessage(e) {
|
|
|
839
847
|
// wasm-bindgen rejects the view.
|
|
840
848
|
const onEvent = (event) => {
|
|
841
849
|
publishPrepassFingerprint(sourceFingerprint, sharedBuffer.byteLength, event);
|
|
842
|
-
|
|
850
|
+
postPrepassEvent(event);
|
|
843
851
|
};
|
|
844
852
|
const runPrepass = (bytes) => runPrepassWithFingerprint(ifcApi, [bytes, onEvent, chunkSize, disabledTypes, skipTypeGeometry], sourceFingerprint);
|
|
845
853
|
try {
|
|
@@ -915,21 +923,7 @@ async function handleMessage(e) {
|
|
|
915
923
|
// `undefined` and threw `new WebAssembly.Module(undefined)`, which is
|
|
916
924
|
// why the shared-module path was never actually taken.
|
|
917
925
|
initSync({ module: e.data.wasmModule });
|
|
918
|
-
|
|
919
|
-
mergeLayersApplied = false;
|
|
920
|
-
applyMergeLayersToApi();
|
|
921
|
-
geometryHashApplied = false;
|
|
922
|
-
applyComputeGeometryHashesToApi();
|
|
923
|
-
tessellationQualityApplied = false;
|
|
924
|
-
applyTessellationQualityToApi();
|
|
925
|
-
skipSmallCutsApplied = false;
|
|
926
|
-
applySkipSmallCutsToApi();
|
|
927
|
-
entityIndexApplied = false;
|
|
928
|
-
applyEntityIndexToApi();
|
|
929
|
-
prepassColumnsApplied = false;
|
|
930
|
-
applyPrepassColumnsToApi();
|
|
931
|
-
sourceBytesApplied = false;
|
|
932
|
-
applySourceBytesToApi();
|
|
926
|
+
installFreshApi();
|
|
933
927
|
}
|
|
934
928
|
else {
|
|
935
929
|
await ensureInit();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"geometry.worker.js","sourceRoot":"","sources":["../src/geometry.worker.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"geometry.worker.js","sourceRoot":"","sources":["../src/geometry.worker.ts"],"names":[],"mappings":"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"}
|
|
@@ -27,6 +27,15 @@
|
|
|
27
27
|
*
|
|
28
28
|
* The ledger is pure bookkeeping (no Worker, no timers) so the policy is
|
|
29
29
|
* unit-testable; {@link startHungJobMonitor} applies it to a live pool.
|
|
30
|
+
*
|
|
31
|
+
* Silence is measured against the worker's in-call heartbeat
|
|
32
|
+
* (`in-call-heartbeat.ts`): the kernel reports progress from inside a long
|
|
33
|
+
* call, so a slow element keeps its worker "heard" and is neither replayed nor
|
|
34
|
+
* skipped while it runs under MAX_GEOMETRY_CALL_MS. A call reaches this recovery
|
|
35
|
+
* when it stops reporting, or when it outruns that absolute cap however often it
|
|
36
|
+
* reports (then a single job is skipped, a multi-job call replayed). Without the
|
|
37
|
+
* heartbeat, the 45 s / 90 s wall-clock budgets below decided whether a slow
|
|
38
|
+
* element loaded at all, so its geometry varied with the user's CPU speed.
|
|
30
39
|
*/
|
|
31
40
|
/** Silence budget for one busy worker inside a MULTI-job call before it is
|
|
32
41
|
* replaced (the value a consumer opts in with; recovery is off by default).
|
|
@@ -38,6 +47,16 @@ export declare const DEFAULT_HUNG_JOB_TIMEOUT_MS = 45000;
|
|
|
38
47
|
/** A SINGLE-job call is only skipped after this multiple of the budget (90 s by
|
|
39
48
|
* default), so an element that is merely slow is never dropped. */
|
|
40
49
|
export declare const SINGLE_JOB_SKIP_FACTOR = 2;
|
|
50
|
+
/** Absolute bound on ONE geometry call, heartbeats or not. A call that keeps
|
|
51
|
+
* reporting progress is never treated as hung by silence, but everything
|
|
52
|
+
* queued behind it on its worker waits for it, so past this the call is
|
|
53
|
+
* recovered exactly like a silent one (a single-job call is skipped, a
|
|
54
|
+
* multi-job call is re-run one job per call). With recovery off, the pool
|
|
55
|
+
* stops forwarding its heartbeats past this bound so the consumer's stream
|
|
56
|
+
* watchdog reports the stall instead. Far above any element measured to
|
|
57
|
+
* finish (minutes on the slowest synthetic walls), so it only bounds runaway
|
|
58
|
+
* work, not slow-but-finite elements on ordinary hardware. */
|
|
59
|
+
export declare const MAX_GEOMETRY_CALL_MS = 600000;
|
|
41
60
|
/** Upper bound on worker replacements per load. A model where element after
|
|
42
61
|
* element hangs is not one bad element; past this the pool stops recovering
|
|
43
62
|
* and the consumer watchdog reports the stall as before. */
|
|
@@ -75,11 +94,16 @@ export declare class WorkerJobLedger {
|
|
|
75
94
|
onCallStart(worker: number, seq: number, fromJob: number, callJobs: number, now: number): void;
|
|
76
95
|
/** The worker finished every call of slice `seq`. */
|
|
77
96
|
onSliceDone(worker: number, seq: number, now: number): void;
|
|
78
|
-
/** The host was suspended: restart every silence clock
|
|
97
|
+
/** The host was suspended: restart every silence clock and every call's
|
|
98
|
+
* absolute clock (see SUSPEND_GAP_INTERVALS), so a sleep never counts as
|
|
99
|
+
* work against the call bound. */
|
|
79
100
|
onHostResumed(now: number): void;
|
|
101
|
+
/** True once `worker`'s current call has run past {@link MAX_GEOMETRY_CALL_MS}. */
|
|
102
|
+
callOverCap(worker: number, now: number): boolean;
|
|
80
103
|
/**
|
|
81
104
|
* Workers to replace: silent inside a multi-job call for `timeoutMs`, or inside
|
|
82
|
-
* a single-job call for `timeoutMs * SINGLE_JOB_SKIP_FACTOR
|
|
105
|
+
* a single-job call for `timeoutMs * SINGLE_JOB_SKIP_FACTOR`, or inside any
|
|
106
|
+
* call for {@link MAX_GEOMETRY_CALL_MS} however often it reported progress.
|
|
83
107
|
*/
|
|
84
108
|
findHung(now: number, timeoutMs: number): number[];
|
|
85
109
|
/** True while some busy worker is silent long enough that the consumer's
|