@ifc-lite/renderer 3.1.0 → 3.2.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 +22 -0
- package/dist/appearance-preview.d.ts +2 -0
- package/dist/appearance-preview.d.ts.map +1 -1
- package/dist/appearance-preview.js +4 -0
- package/dist/appearance-preview.js.map +1 -1
- package/dist/camera-animation-immediate.d.ts +5 -0
- package/dist/camera-animation-immediate.d.ts.map +1 -0
- package/dist/camera-animation-immediate.js +16 -0
- package/dist/camera-animation-immediate.js.map +1 -0
- package/dist/camera-animation.d.ts +3 -9
- package/dist/camera-animation.d.ts.map +1 -1
- package/dist/camera-animation.js +14 -9
- package/dist/camera-animation.js.map +1 -1
- package/dist/device-recovery.d.ts +60 -0
- package/dist/device-recovery.d.ts.map +1 -0
- package/dist/device-recovery.js +153 -0
- package/dist/device-recovery.js.map +1 -0
- package/dist/device.d.ts +2 -0
- package/dist/device.d.ts.map +1 -1
- package/dist/device.js +12 -0
- package/dist/device.js.map +1 -1
- package/dist/gpu-upload-guard.d.ts +106 -0
- package/dist/gpu-upload-guard.d.ts.map +1 -0
- package/dist/gpu-upload-guard.js +102 -0
- package/dist/gpu-upload-guard.js.map +1 -0
- package/dist/index.d.ts +43 -21
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +155 -139
- package/dist/index.js.map +1 -1
- package/dist/instanced-override-color.d.ts +8 -0
- package/dist/instanced-override-color.d.ts.map +1 -1
- package/dist/instanced-override-color.js +10 -0
- package/dist/instanced-override-color.js.map +1 -1
- package/dist/merged-mesh-extract.d.ts.map +1 -1
- package/dist/merged-mesh-extract.js +5 -0
- package/dist/merged-mesh-extract.js.map +1 -1
- package/dist/model-translation.d.ts +39 -1
- package/dist/model-translation.d.ts.map +1 -1
- package/dist/model-translation.js +103 -16
- package/dist/model-translation.js.map +1 -1
- package/dist/picking-manager.d.ts +2 -1
- package/dist/picking-manager.d.ts.map +1 -1
- package/dist/picking-manager.js +11 -2
- package/dist/picking-manager.js.map +1 -1
- package/dist/reference-images.d.ts +2 -0
- package/dist/reference-images.d.ts.map +1 -1
- package/dist/reference-images.js +2 -0
- package/dist/reference-images.js.map +1 -1
- package/dist/renderer-overlays.d.ts +3 -0
- package/dist/renderer-overlays.d.ts.map +1 -1
- package/dist/renderer-overlays.js +13 -0
- package/dist/renderer-overlays.js.map +1 -1
- package/dist/renderer-symbolic-overlays.d.ts +1 -0
- package/dist/renderer-symbolic-overlays.d.ts.map +1 -1
- package/dist/renderer-symbolic-overlays.js +3 -0
- package/dist/renderer-symbolic-overlays.js.map +1 -1
- package/dist/scene-appearance-preview.d.ts +2 -0
- package/dist/scene-appearance-preview.d.ts.map +1 -1
- package/dist/scene-appearance-preview.js +9 -0
- package/dist/scene-appearance-preview.js.map +1 -1
- package/dist/scene-authored-owner.d.ts +10 -0
- package/dist/scene-authored-owner.d.ts.map +1 -1
- package/dist/scene-authored-owner.js +44 -5
- package/dist/scene-authored-owner.js.map +1 -1
- package/dist/scene-batch-rebuild.d.ts +18 -0
- package/dist/scene-batch-rebuild.d.ts.map +1 -0
- package/dist/scene-batch-rebuild.js +49 -0
- package/dist/scene-batch-rebuild.js.map +1 -0
- package/dist/scene-batch-upload.d.ts +4 -1
- package/dist/scene-batch-upload.d.ts.map +1 -1
- package/dist/scene-batch-upload.js +17 -0
- package/dist/scene-batch-upload.js.map +1 -1
- package/dist/scene-bucket-routing.d.ts +21 -0
- package/dist/scene-bucket-routing.d.ts.map +1 -0
- package/dist/scene-bucket-routing.js +44 -0
- package/dist/scene-bucket-routing.js.map +1 -0
- package/dist/scene-contents.d.ts +8 -0
- package/dist/scene-contents.d.ts.map +1 -1
- package/dist/scene-derived-mesh-provenance.d.ts +13 -0
- package/dist/scene-derived-mesh-provenance.d.ts.map +1 -0
- package/dist/scene-derived-mesh-provenance.js +30 -0
- package/dist/scene-derived-mesh-provenance.js.map +1 -0
- package/dist/scene-device-recovery.d.ts +103 -0
- package/dist/scene-device-recovery.d.ts.map +1 -0
- package/dist/scene-device-recovery.js +299 -0
- package/dist/scene-device-recovery.js.map +1 -0
- package/dist/scene-geometry.d.ts +1 -0
- package/dist/scene-geometry.d.ts.map +1 -1
- package/dist/scene-geometry.js +3 -23
- package/dist/scene-geometry.js.map +1 -1
- package/dist/scene-model-translation.d.ts +11 -1
- package/dist/scene-model-translation.d.ts.map +1 -1
- package/dist/scene-model-translation.js +22 -0
- package/dist/scene-model-translation.js.map +1 -1
- package/dist/scene-precision.d.ts +16 -0
- package/dist/scene-precision.d.ts.map +1 -0
- package/dist/scene-precision.js +73 -0
- package/dist/scene-precision.js.map +1 -0
- package/dist/scene.d.ts +25 -20
- package/dist/scene.d.ts.map +1 -1
- package/dist/scene.js +149 -137
- package/dist/scene.js.map +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -28,6 +28,28 @@ renderer.requestRender();
|
|
|
28
28
|
|
|
29
29
|
`loadGeometry()` accepts a `GeometryResult` from `@ifc-lite/geometry` or a raw `MeshData[]`. The renderer keeps geometry in GPU buffers; subsequent `requestRender()` calls coalesce into a single frame.
|
|
30
30
|
|
|
31
|
+
## Recover from GPU device loss
|
|
32
|
+
|
|
33
|
+
```typescript
|
|
34
|
+
renderer.onDeviceLost(async () => {
|
|
35
|
+
const result = await renderer.recoverDevice();
|
|
36
|
+
if (result.ok === false) {
|
|
37
|
+
console.error('Renderer recovery failed:', result.reason);
|
|
38
|
+
} else if (result.omissions.length > 0) {
|
|
39
|
+
console.warn('Recovered with transient layers cleared:', result.omissions);
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
`recoverDevice()` requests a replacement adapter/device and rebuilds the GPU
|
|
45
|
+
scene in place, preserving the `Renderer`, camera, IFC geometry, model
|
|
46
|
+
placements, visibility, selection and colour overrides. Concurrent calls share
|
|
47
|
+
one attempt. It returns a typed failure instead of presenting an incomplete
|
|
48
|
+
scene when CPU geometry has been released, streaming has not settled, cold
|
|
49
|
+
geometry cannot be restored, or public `addMesh()` content has no CPU source.
|
|
50
|
+
Point clouds, reference images and transient overlay layers are reported in
|
|
51
|
+
`omissions` when they must be reloaded by the host.
|
|
52
|
+
|
|
31
53
|
## Pick an entity
|
|
32
54
|
|
|
33
55
|
```typescript
|
|
@@ -85,6 +85,8 @@ export declare class AppearancePreviewController<Resource> implements Appearance
|
|
|
85
85
|
prepareCommit(tokens: readonly AppearanceToken[]): () => AppearanceChange[];
|
|
86
86
|
private finished;
|
|
87
87
|
owns(expressId: number): boolean;
|
|
88
|
+
/** True while detached GPU originals are owned by an unfinished preview. */
|
|
89
|
+
hasActiveDrafts(): boolean;
|
|
88
90
|
/** End drafts, then validate every surviving history owner before GPU reset. */
|
|
89
91
|
prepareRebuild(geometry: readonly MeshData[], models: ReadonlySet<number>): Set<number>;
|
|
90
92
|
finishRebuild(retained: ReadonlySet<number>): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"appearance-preview.d.ts","sourceRoot":"","sources":["../src/appearance-preview.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"appearance-preview.d.ts","sourceRoot":"","sources":["../src/appearance-preview.ts"],"names":[],"mappings":"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"}
|
|
@@ -245,6 +245,10 @@ export class AppearancePreviewController {
|
|
|
245
245
|
owns(expressId) {
|
|
246
246
|
return this.drafts.has(expressId);
|
|
247
247
|
}
|
|
248
|
+
/** True while detached GPU originals are owned by an unfinished preview. */
|
|
249
|
+
hasActiveDrafts() {
|
|
250
|
+
return this.drafts.size > 0;
|
|
251
|
+
}
|
|
248
252
|
/** End drafts, then validate every surviving history owner before GPU reset. */
|
|
249
253
|
prepareRebuild(geometry, models) {
|
|
250
254
|
// cancel() deletes from this.drafts while we iterate, so iterate a copy.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"appearance-preview.js","sourceRoot":"","sources":["../src/appearance-preview.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,4BAA4B,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,yBAAyB,EAAE,2BAA2B,EAA4B,MAAM,2BAA2B,CAAC;AAC7H,qFAAqF;AACrF,OAAO,EAAE,yBAAyB,EAAE,2BAA2B,EAA0D,MAAM,2BAA2B,CAAC;AAiF3J,wFAAwF;AACxF,MAAM,OAAO,2BAA2B;IAKT;IAFrB,MAAM,GAAG,IAAI,GAAG,EAA2B,CAAC;IAC5C,MAAM,GAAG,IAAI,OAAO,EAAmB,CAAC;IAChD,YAA6B,OAAoC;QAApC,YAAO,GAAP,OAAO,CAA6B;IAAG,CAAC;IAErE,KAAK,CAAC,KAAsB,EAAE,OAAkC;QAC9D,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC;YAClC,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;QACpE,IAAI,OAAO,EAAE,eAAe,IAAI,CAAC,OAAO,CAAC,kBAAkB;YAAE,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAC;QAC1I,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,qBAAqB,EAAE,OAAO,EAAE,kBAAkB,EAAE,OAAO,EAAE,eAAe,CAAC,CAAC;QACpI,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,OAAO,EAAE,kBAAkB,IAAI,EAAE,CAAC;YACjD,MAAM,UAAU,GAAG,QAAQ,CAAC,kBAAkB,IAAI,OAAO,EAAE,kBAAkB,CAAC;YAC9E,IAAI,UAAU,IAAI,CAAC,CAAC,UAAU,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,IAAI,OAAO,EAAE,qBAAqB;mBACnF,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjF,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;YAC3D,CAAC;YACD,IAAI,MAAM,CAAC,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM;gBAAE,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;YACpH,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;YAC3E,MAAM,SAAS,GAAG,OAAO,EAAE,SAAS,IAAI,yBAAyB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YACrF,IAAI,SAAS,EAAE,CAAC;gBACd,qEAAqE;gBACrE,4DAA4D;gBAC5D,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;gBAClE,IAAI,MAAM,CAAC,MAAM,IAAI,UAAU,IAAI,SAAS,CAAC,MAAM,CAAC,MAAM,KAAK,QAAQ,CAAC,KAAK,CAAC,MAAM;uBAC/E,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,KAAK,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,cAAc,CAAC;uBACpG,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,KAAK,CAAC,MAAM;uBACvC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,IAAI,CAAC,cAAc,IAAI,CAAC;2BACjG,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC;oBAC3C,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;gBAClD,CAAC;YACH,CAAC;YACD,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,EAAE,EAAE,GAAG,IAAI,GAAG,EAAU,CAAC;YACvD,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;gBAC1B,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;uBACjE,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE;uBACvD,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;uBACnE,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;oBAAE,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;gBACvF,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACvC,CAAC;YACD,MAAM,kBAAkB,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YACzF,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;YACpE,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAC1B,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC,CACzD,CAAC;YACF,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACvB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,EAAE;gBAC/B,KAAK;gBACL,MAAM;gBACN,QAAQ,EAAE,QAAQ,CAAC,SAAS;gBAC5B,KAAK,EAAE,MAAM;gBACb,OAAO,EAAE,QAAQ,CAAC,SAAS;gBAC3B,kBAAkB;gBAClB,kBAAkB,EAAE,UAAU,IAAI,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC;gBACnG,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACpC,CAAC,CAAC;YACH,OAAO,KAAK,CAAC;QACf,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC;YAAC,MAAM,KAAK,CAAC;QAAC,CAAC;IACxD,CAAC;IAED,QAAQ,CAAC,KAAsB,IAAqC,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACzG,YAAY,CAAC,KAAsB,IAAgB,OAAO,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAErG,KAAK,CAAC,KAAsB;QAClC,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACrD,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,KAAK,KAAK;YACjC,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;QAC/D,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,CAAC,KAAsB,EAAE,KAA0B;QACvD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAChC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACrC,IAAI,KAAK,CAAC,kBAAkB,EAAE,CAAC;YAC7B,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,KAAK,CAAC,kBAAkB,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;YACxJ,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAC3E,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YAChC,OAAO;QACT,CAAC;QACD,IAAI,KAAK,CAAC,SAAS;YAAE,2BAA2B,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;aAClF,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,CAAC,MAAM;YAC3C,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;QAC1E,MAAM,SAAS,GAAG,IAAI,GAAG,EAAmC,CAAC;QAC7D,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,MAAM;YAC5B,IAAI,GAAG,CAAC,UAAU;gBAChB,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,SAAS,EAAE,GAAG,CAAC,aAAa,CAAC,CAAC;QAC/D,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,KAAK;YAC3B,IAAI,GAAG,CAAC,UAAU;gBAChB,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,SAAS,EAAE,GAAG,CAAC,aAAa,CAAC,CAAC;QAC/D,uEAAuE;QACvE,iEAAiE;QACjE,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;YACrB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACtC,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,EAChB,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBACtB,IACE,CAAC,CAAC,SAAS,KAAK,CAAC,CAAC,SAAS;oBAC3B,CAAC,CAAC,UAAU,KAAK,CAAC,CAAC,UAAU;oBAC7B,CAAC,4BAA4B,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC;oBACjE,CAAC,CAAC,SAAS,KAAK,CAAC,CAAC,SAAS;oBAC3B,CAAC,CAAC,cAAc,KAAK,CAAC,KAAK,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,CAAC,cAAc,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,cAAc,CAAC;oBACpH,CAAC,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,SAAS,CAAC,MAAM;oBACvC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,EACjC,CAAC;oBACD,MAAM,IAAI,KAAK,CACb,wDAAwD,CACzD,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;YACtB,IACE,CAAC,CAAC,CAAC,OAAO;gBACV,CAAC,CAAC,UAAU;gBACZ,CAAC,CAAC,aAAa;gBACf,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC;gBACrC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,aAAa,EACzD,CAAC;gBACD,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;YACvE,CAAC;YACD,IAAI,CAAC,CAAC,UAAU;gBAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC;YACzE,IACE,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,aAAa,CAAC;gBAC9C,CAAC,CAAC,CAAC,CAAC,GAAG;oBACL,CAAC,CAAC,GAAG,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC;oBAC7C,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC;oBAC7B,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EACpD,CAAC;gBACD,MAAM,IAAI,KAAK,CACb,4EAA4E,CAC7E,CAAC;YACJ,CAAC;QACH,CAAC;QACD,wEAAwE;QACxE,uEAAuE;QACvE,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CACzB,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CACxB,MAAM,CAAC,MAAM,CAAC;YACZ,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YAC5C,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;YACvC,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,aAAa,EAAE,IAAI,CAAC,aAAa;SAClC,CAAC,CACH,CACF,CAAC;QACF,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAClC,CAAC;IAEO,YAAY,CAAC,KAAsB,EAAE,KAA0B;QACrE,0EAA0E;QAC1E,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC5C,IAAI,CAAC;YACH,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;QAC5D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAChC,MAAM,KAAK,CAAC;QACd,CAAC;QACD,IAAI,KAAK,CAAC,OAAO,KAAK,KAAK,CAAC,QAAQ;YAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC1E,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;QACpB,KAAK,CAAC,OAAO,GAAG,SAAS,CAAC;IAC5B,CAAC;IAED,MAAM,CAAC,KAAsB;QAC3B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;QACtD,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,KAAK,KAAK,KAAK;YAAE,OAAO;QACpE,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAChC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACrC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;QAChE,IAAI,KAAK,CAAC,OAAO,KAAK,KAAK,CAAC,QAAQ;YAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC1E,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAC1C,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;IAED,MAAM,CAAC,KAAsB;QAC3B,OAAO,IAAI,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC1C,CAAC;IAED,aAAa,CAAC,MAAkC;QAC9C,IAAI,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,MAAM;YACxC,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;QACvD,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YACpC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAChC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACrC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC;QAC/D,CAAC,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,CAChD,MAAM,CAAC,MAAM,CAAC;YACZ,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK;YACxB,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,KAAK;YACL,GAAG,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,kBAAkB,EAAE,KAAK,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACrF,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,IAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACxG,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,IAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAChG,GAAG,CAAC,KAAK,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,kBAAkB,EAAE,KAAK,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5F,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC3D,CAAC,CACH,CAAC;QACF,IAAI,SAAS,GAAG,KAAK,CAAC;QACtB,OAAO,GAAG,EAAE;YACV,IAAI,SAAS;gBAAE,OAAO,OAAO,CAAC;YAC9B,uEAAuE;YACvE,KAAK,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,QAAQ,EAAE,CAAC;gBACjD,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBAC3C,IACE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,KAAK;oBACjC,KAAK,CAAC,OAAO,KAAK,OAAO;oBACzB,KAAK,CAAC,KAAK,KAAK,KAAK,EACrB,CAAC;oBACD,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;gBACnE,CAAC;YACH,CAAC;YACD,KAAK,MAAM,EAAE,KAAK,EAAE,IAAI,QAAQ;gBAC9B,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YAClD,SAAS,GAAG,IAAI,CAAC;YACjB,yEAAyE;YACzE,yEAAyE;YACzE,KAAK,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,QAAQ,EAAE,CAAC;gBAC1C,IAAI,OAAO,KAAK,KAAK,CAAC,QAAQ;oBAAE,SAAS;gBACzC,IAAI,CAAC;oBACH,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;gBACvC,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,CAAC,IAAI,CACV,4DAA4D,EAC5D,KAAK,CACN,CAAC;gBACJ,CAAC;YACH,CAAC;YACD,KAAK,MAAM,EAAE,KAAK,EAAE,IAAI,QAAQ;gBAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACnE,OAAO,OAAO,CAAC;QACjB,CAAC,CAAC;IACJ,CAAC;IAEO,QAAQ,CAAC,KAAsB;QACrC,IAAI,CAAC;YACH,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,CAAC;QACjC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CACV,sEAAsE,EACtE,KAAK,CACN,CAAC;QACJ,CAAC;IACH,CAAC;IAED,IAAI,CAAC,SAAiB;QACpB,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACpC,CAAC;IAED,gFAAgF;IAChF,cAAc,CAAC,QAA6B,EAAE,MAA2B;QACvE,yEAAyE;QACzE,qDAAqD;QACrD,KAAK,MAAM,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACxE,OAAO,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,IAAI,GAAG,EAAE,CAAC;IACtE,CAAC;IACD,aAAa,CAAC,QAA6B,IAAU,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC9F,mBAAmB,CAAC,QAA6B,IAAuB,OAAO,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAEpI,gEAAgE;IAChE,SAAS,CAAC,SAAiB;QACzB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACzC,IAAI,KAAK;YAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACtC,CAAC;IAED,kFAAkF;IAClF,MAAM,CAAC,SAAkB;QACvB,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC;QACjC,KAAK,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACtC,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,EAAE;gBAAE,SAAS;YAC1D,IAAI,KAAK,CAAC,OAAO,KAAK,KAAK,CAAC,QAAQ;gBAClC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YACvC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"appearance-preview.js","sourceRoot":"","sources":["../src/appearance-preview.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,4BAA4B,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,yBAAyB,EAAE,2BAA2B,EAA4B,MAAM,2BAA2B,CAAC;AAC7H,qFAAqF;AACrF,OAAO,EAAE,yBAAyB,EAAE,2BAA2B,EAA0D,MAAM,2BAA2B,CAAC;AAiF3J,wFAAwF;AACxF,MAAM,OAAO,2BAA2B;IAKT;IAFrB,MAAM,GAAG,IAAI,GAAG,EAA2B,CAAC;IAC5C,MAAM,GAAG,IAAI,OAAO,EAAmB,CAAC;IAChD,YAA6B,OAAoC;QAApC,YAAO,GAAP,OAAO,CAA6B;IAAG,CAAC;IAErE,KAAK,CAAC,KAAsB,EAAE,OAAkC;QAC9D,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC;YAClC,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;QACpE,IAAI,OAAO,EAAE,eAAe,IAAI,CAAC,OAAO,CAAC,kBAAkB;YAAE,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAC;QAC1I,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,qBAAqB,EAAE,OAAO,EAAE,kBAAkB,EAAE,OAAO,EAAE,eAAe,CAAC,CAAC;QACpI,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,OAAO,EAAE,kBAAkB,IAAI,EAAE,CAAC;YACjD,MAAM,UAAU,GAAG,QAAQ,CAAC,kBAAkB,IAAI,OAAO,EAAE,kBAAkB,CAAC;YAC9E,IAAI,UAAU,IAAI,CAAC,CAAC,UAAU,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,IAAI,OAAO,EAAE,qBAAqB;mBACnF,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjF,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;YAC3D,CAAC;YACD,IAAI,MAAM,CAAC,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM;gBAAE,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;YACpH,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;YAC3E,MAAM,SAAS,GAAG,OAAO,EAAE,SAAS,IAAI,yBAAyB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YACrF,IAAI,SAAS,EAAE,CAAC;gBACd,qEAAqE;gBACrE,4DAA4D;gBAC5D,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;gBAClE,IAAI,MAAM,CAAC,MAAM,IAAI,UAAU,IAAI,SAAS,CAAC,MAAM,CAAC,MAAM,KAAK,QAAQ,CAAC,KAAK,CAAC,MAAM;uBAC/E,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,KAAK,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,cAAc,CAAC;uBACpG,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,KAAK,CAAC,MAAM;uBACvC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,IAAI,CAAC,cAAc,IAAI,CAAC;2BACjG,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC;oBAC3C,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;gBAClD,CAAC;YACH,CAAC;YACD,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,EAAE,EAAE,GAAG,IAAI,GAAG,EAAU,CAAC;YACvD,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;gBAC1B,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;uBACjE,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE;uBACvD,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;uBACnE,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;oBAAE,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;gBACvF,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACvC,CAAC;YACD,MAAM,kBAAkB,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YACzF,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;YACpE,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAC1B,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC,CACzD,CAAC;YACF,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACvB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,EAAE;gBAC/B,KAAK;gBACL,MAAM;gBACN,QAAQ,EAAE,QAAQ,CAAC,SAAS;gBAC5B,KAAK,EAAE,MAAM;gBACb,OAAO,EAAE,QAAQ,CAAC,SAAS;gBAC3B,kBAAkB;gBAClB,kBAAkB,EAAE,UAAU,IAAI,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC;gBACnG,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACpC,CAAC,CAAC;YACH,OAAO,KAAK,CAAC;QACf,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC;YAAC,MAAM,KAAK,CAAC;QAAC,CAAC;IACxD,CAAC;IAED,QAAQ,CAAC,KAAsB,IAAqC,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACzG,YAAY,CAAC,KAAsB,IAAgB,OAAO,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAErG,KAAK,CAAC,KAAsB;QAClC,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACrD,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,KAAK,KAAK;YACjC,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;QAC/D,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,CAAC,KAAsB,EAAE,KAA0B;QACvD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAChC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACrC,IAAI,KAAK,CAAC,kBAAkB,EAAE,CAAC;YAC7B,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,KAAK,CAAC,kBAAkB,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;YACxJ,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAC3E,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YAChC,OAAO;QACT,CAAC;QACD,IAAI,KAAK,CAAC,SAAS;YAAE,2BAA2B,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;aAClF,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,CAAC,MAAM;YAC3C,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;QAC1E,MAAM,SAAS,GAAG,IAAI,GAAG,EAAmC,CAAC;QAC7D,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,MAAM;YAC5B,IAAI,GAAG,CAAC,UAAU;gBAChB,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,SAAS,EAAE,GAAG,CAAC,aAAa,CAAC,CAAC;QAC/D,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,KAAK;YAC3B,IAAI,GAAG,CAAC,UAAU;gBAChB,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,SAAS,EAAE,GAAG,CAAC,aAAa,CAAC,CAAC;QAC/D,uEAAuE;QACvE,iEAAiE;QACjE,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;YACrB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACtC,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,EAChB,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBACtB,IACE,CAAC,CAAC,SAAS,KAAK,CAAC,CAAC,SAAS;oBAC3B,CAAC,CAAC,UAAU,KAAK,CAAC,CAAC,UAAU;oBAC7B,CAAC,4BAA4B,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC;oBACjE,CAAC,CAAC,SAAS,KAAK,CAAC,CAAC,SAAS;oBAC3B,CAAC,CAAC,cAAc,KAAK,CAAC,KAAK,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,CAAC,cAAc,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,cAAc,CAAC;oBACpH,CAAC,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,SAAS,CAAC,MAAM;oBACvC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,EACjC,CAAC;oBACD,MAAM,IAAI,KAAK,CACb,wDAAwD,CACzD,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;YACtB,IACE,CAAC,CAAC,CAAC,OAAO;gBACV,CAAC,CAAC,UAAU;gBACZ,CAAC,CAAC,aAAa;gBACf,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC;gBACrC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,aAAa,EACzD,CAAC;gBACD,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;YACvE,CAAC;YACD,IAAI,CAAC,CAAC,UAAU;gBAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC;YACzE,IACE,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,aAAa,CAAC;gBAC9C,CAAC,CAAC,CAAC,CAAC,GAAG;oBACL,CAAC,CAAC,GAAG,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC;oBAC7C,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC;oBAC7B,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EACpD,CAAC;gBACD,MAAM,IAAI,KAAK,CACb,4EAA4E,CAC7E,CAAC;YACJ,CAAC;QACH,CAAC;QACD,wEAAwE;QACxE,uEAAuE;QACvE,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CACzB,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CACxB,MAAM,CAAC,MAAM,CAAC;YACZ,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YAC5C,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;YACvC,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,aAAa,EAAE,IAAI,CAAC,aAAa;SAClC,CAAC,CACH,CACF,CAAC;QACF,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAClC,CAAC;IAEO,YAAY,CAAC,KAAsB,EAAE,KAA0B;QACrE,0EAA0E;QAC1E,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC5C,IAAI,CAAC;YACH,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;QAC5D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAChC,MAAM,KAAK,CAAC;QACd,CAAC;QACD,IAAI,KAAK,CAAC,OAAO,KAAK,KAAK,CAAC,QAAQ;YAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC1E,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;QACpB,KAAK,CAAC,OAAO,GAAG,SAAS,CAAC;IAC5B,CAAC;IAED,MAAM,CAAC,KAAsB;QAC3B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;QACtD,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,KAAK,KAAK,KAAK;YAAE,OAAO;QACpE,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAChC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACrC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;QAChE,IAAI,KAAK,CAAC,OAAO,KAAK,KAAK,CAAC,QAAQ;YAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC1E,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAC1C,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;IAED,MAAM,CAAC,KAAsB;QAC3B,OAAO,IAAI,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC1C,CAAC;IAED,aAAa,CAAC,MAAkC;QAC9C,IAAI,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,MAAM;YACxC,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;QACvD,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YACpC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAChC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACrC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC;QAC/D,CAAC,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,CAChD,MAAM,CAAC,MAAM,CAAC;YACZ,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK;YACxB,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,KAAK;YACL,GAAG,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,kBAAkB,EAAE,KAAK,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACrF,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,IAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACxG,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,IAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAChG,GAAG,CAAC,KAAK,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,kBAAkB,EAAE,KAAK,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5F,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC3D,CAAC,CACH,CAAC;QACF,IAAI,SAAS,GAAG,KAAK,CAAC;QACtB,OAAO,GAAG,EAAE;YACV,IAAI,SAAS;gBAAE,OAAO,OAAO,CAAC;YAC9B,uEAAuE;YACvE,KAAK,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,QAAQ,EAAE,CAAC;gBACjD,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBAC3C,IACE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,KAAK;oBACjC,KAAK,CAAC,OAAO,KAAK,OAAO;oBACzB,KAAK,CAAC,KAAK,KAAK,KAAK,EACrB,CAAC;oBACD,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;gBACnE,CAAC;YACH,CAAC;YACD,KAAK,MAAM,EAAE,KAAK,EAAE,IAAI,QAAQ;gBAC9B,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YAClD,SAAS,GAAG,IAAI,CAAC;YACjB,yEAAyE;YACzE,yEAAyE;YACzE,KAAK,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,QAAQ,EAAE,CAAC;gBAC1C,IAAI,OAAO,KAAK,KAAK,CAAC,QAAQ;oBAAE,SAAS;gBACzC,IAAI,CAAC;oBACH,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;gBACvC,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,CAAC,IAAI,CACV,4DAA4D,EAC5D,KAAK,CACN,CAAC;gBACJ,CAAC;YACH,CAAC;YACD,KAAK,MAAM,EAAE,KAAK,EAAE,IAAI,QAAQ;gBAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACnE,OAAO,OAAO,CAAC;QACjB,CAAC,CAAC;IACJ,CAAC;IAEO,QAAQ,CAAC,KAAsB;QACrC,IAAI,CAAC;YACH,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,CAAC;QACjC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CACV,sEAAsE,EACtE,KAAK,CACN,CAAC;QACJ,CAAC;IACH,CAAC;IAED,IAAI,CAAC,SAAiB;QACpB,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACpC,CAAC;IAED,4EAA4E;IAC5E,eAAe;QACb,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC;IAC9B,CAAC;IAED,gFAAgF;IAChF,cAAc,CAAC,QAA6B,EAAE,MAA2B;QACvE,yEAAyE;QACzE,qDAAqD;QACrD,KAAK,MAAM,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACxE,OAAO,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,IAAI,GAAG,EAAE,CAAC;IACtE,CAAC;IACD,aAAa,CAAC,QAA6B,IAAU,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC9F,mBAAmB,CAAC,QAA6B,IAAuB,OAAO,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAEpI,gEAAgE;IAChE,SAAS,CAAC,SAAiB;QACzB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACzC,IAAI,KAAK;YAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACtC,CAAC;IAED,kFAAkF;IAClF,MAAM,CAAC,SAAkB;QACvB,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC;QACjC,KAAK,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACtC,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,EAAE;gBAAE,SAAS;YAC1D,IAAI,KAAK,CAAC,OAAO,KAAK,KAAK,CAAC,QAAQ;gBAClC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YACvC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;CACF"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { Vec3 } from './types.js';
|
|
2
|
+
import type { CameraInternalState } from './camera-state.js';
|
|
3
|
+
/** Apply a capture-specific camera pose without entering the shared tween state. */
|
|
4
|
+
export declare function applyImmediateCameraPose(state: CameraInternalState, position: Vec3, target: Vec3, up: Vec3 | null, orthoSize: number | undefined, updateMatrices: () => void): void;
|
|
5
|
+
//# sourceMappingURL=camera-animation-immediate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"camera-animation-immediate.d.ts","sourceRoot":"","sources":["../src/camera-animation-immediate.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAG7D,oFAAoF;AACpF,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,mBAAmB,EAC1B,QAAQ,EAAE,IAAI,EACd,MAAM,EAAE,IAAI,EACZ,EAAE,EAAE,IAAI,GAAG,IAAI,EACf,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,cAAc,EAAE,MAAM,IAAI,GACzB,IAAI,CAON"}
|
|
@@ -0,0 +1,16 @@
|
|
|
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 { usableOrthoSize } from './camera-guards.js';
|
|
5
|
+
/** Apply a capture-specific camera pose without entering the shared tween state. */
|
|
6
|
+
export function applyImmediateCameraPose(state, position, target, up, orthoSize, updateMatrices) {
|
|
7
|
+
state.camera.position = { ...position };
|
|
8
|
+
state.camera.target = { ...target };
|
|
9
|
+
if (up)
|
|
10
|
+
state.camera.up = { ...up };
|
|
11
|
+
const nextOrthoSize = orthoSize === undefined ? null : usableOrthoSize(orthoSize);
|
|
12
|
+
if (nextOrthoSize !== null)
|
|
13
|
+
state.orthoSize = nextOrthoSize;
|
|
14
|
+
updateMatrices();
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=camera-animation-immediate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"camera-animation-immediate.js","sourceRoot":"","sources":["../src/camera-animation-immediate.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAI/D,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,oFAAoF;AACpF,MAAM,UAAU,wBAAwB,CACtC,KAA0B,EAC1B,QAAc,EACd,MAAY,EACZ,EAAe,EACf,SAA6B,EAC7B,cAA0B;IAE1B,KAAK,CAAC,MAAM,CAAC,QAAQ,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAC;IACxC,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,EAAE,GAAG,MAAM,EAAE,CAAC;IACpC,IAAI,EAAE;QAAE,KAAK,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC;IACpC,MAAM,aAAa,GAAG,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;IAClF,IAAI,aAAa,KAAK,IAAI;QAAE,KAAK,CAAC,SAAS,GAAG,aAAa,CAAC;IAC5D,cAAc,EAAE,CAAC;AACnB,CAAC"}
|
|
@@ -72,17 +72,11 @@ export declare class CameraAnimator {
|
|
|
72
72
|
* @param buildingRotation Optional building rotation in radians (from IfcSite placement)
|
|
73
73
|
*/
|
|
74
74
|
setPresetView(view: 'top' | 'bottom' | 'front' | 'back' | 'left' | 'right', bounds?: FramingBounds, buildingRotation?: number): void;
|
|
75
|
-
/**
|
|
76
|
-
* Animate camera to position and target
|
|
77
|
-
*/
|
|
75
|
+
/** Animate camera to position and target. */
|
|
78
76
|
animateTo(endPos: Vec3, endTarget: Vec3, duration?: number, endOrthoSize?: number): Promise<void>;
|
|
79
|
-
/**
|
|
80
|
-
* Animate camera to position, target, and up vector (for orthogonal preset views)
|
|
81
|
-
*/
|
|
77
|
+
/** Animate camera to position, target, and up vector (for orthogonal preset views). */
|
|
82
78
|
animateToWithUp(endPos: Vec3, endTarget: Vec3, endUp: Vec3, duration?: number): Promise<void>;
|
|
83
|
-
/**
|
|
84
|
-
* Easing function: easeOutCubic
|
|
85
|
-
*/
|
|
79
|
+
/** Easing function: easeOutCubic. */
|
|
86
80
|
private easeOutCubic;
|
|
87
81
|
/**
|
|
88
82
|
* Reset velocity (stop inertia)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"camera-animation.d.ts","sourceRoot":"","sources":["../src/camera-animation.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAEvC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAIL,KAAK,aAAa,EACnB,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"camera-animation.d.ts","sourceRoot":"","sources":["../src/camera-animation.ts"],"names":[],"mappings":"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"}
|
package/dist/camera-animation.js
CHANGED
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
import { areFiniteNumbers, usableOrthoSize } from './camera-guards.js';
|
|
5
5
|
import { frameBoundsTarget, framePointTarget, zoomExtentTarget, } from './camera-framing.js';
|
|
6
6
|
import { presetViewTarget, resolvePresetBounds } from './camera-preset-view.js';
|
|
7
|
+
import { applyImmediateCameraPose } from './camera-animation-immediate.js';
|
|
7
8
|
/**
|
|
8
9
|
* Manages camera animations: tweened transitions between positions,
|
|
9
10
|
* inertia/momentum after user interaction, and preset view switching
|
|
@@ -246,10 +247,13 @@ export class CameraAnimator {
|
|
|
246
247
|
const fit = presetViewTarget(this.state, view, useBounds, this.presetViewRotation, buildingRotation);
|
|
247
248
|
this.animateToWithUp(fit.position, fit.target, fit.up, 300);
|
|
248
249
|
}
|
|
249
|
-
/**
|
|
250
|
-
* Animate camera to position and target
|
|
251
|
-
*/
|
|
250
|
+
/** Animate camera to position and target. */
|
|
252
251
|
async animateTo(endPos, endTarget, duration = 500, endOrthoSize) {
|
|
252
|
+
if (duration <= 0) {
|
|
253
|
+
this.reset();
|
|
254
|
+
applyImmediateCameraPose(this.state, endPos, endTarget, null, endOrthoSize, this.updateMatrices);
|
|
255
|
+
return;
|
|
256
|
+
}
|
|
253
257
|
this.animationStartPos = { ...this.state.camera.position };
|
|
254
258
|
this.animationStartTarget = { ...this.state.camera.target };
|
|
255
259
|
this.animationEndPos = endPos;
|
|
@@ -280,10 +284,13 @@ export class CameraAnimator {
|
|
|
280
284
|
checkAnimation();
|
|
281
285
|
});
|
|
282
286
|
}
|
|
283
|
-
/**
|
|
284
|
-
* Animate camera to position, target, and up vector (for orthogonal preset views)
|
|
285
|
-
*/
|
|
287
|
+
/** Animate camera to position, target, and up vector (for orthogonal preset views). */
|
|
286
288
|
async animateToWithUp(endPos, endTarget, endUp, duration = 500) {
|
|
289
|
+
if (duration <= 0) {
|
|
290
|
+
this.reset();
|
|
291
|
+
applyImmediateCameraPose(this.state, endPos, endTarget, endUp, undefined, this.updateMatrices);
|
|
292
|
+
return;
|
|
293
|
+
}
|
|
287
294
|
// Clear all velocities to prevent inertia from interfering with animation
|
|
288
295
|
this.velocity.orbit.x = 0;
|
|
289
296
|
this.velocity.orbit.y = 0;
|
|
@@ -314,9 +321,7 @@ export class CameraAnimator {
|
|
|
314
321
|
checkAnimation();
|
|
315
322
|
});
|
|
316
323
|
}
|
|
317
|
-
/**
|
|
318
|
-
* Easing function: easeOutCubic
|
|
319
|
-
*/
|
|
324
|
+
/** Easing function: easeOutCubic. */
|
|
320
325
|
easeOutCubic(t) {
|
|
321
326
|
return 1 - Math.pow(1 - t, 3);
|
|
322
327
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"camera-animation.js","sourceRoot":"","sources":["../src/camera-animation.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"camera-animation.js","sourceRoot":"","sources":["../src/camera-animation.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { WebGPUDevice } from './device.js';
|
|
2
|
+
import type { RenderPipeline } from './pipeline.js';
|
|
3
|
+
import type { PointCloudRenderer, ResolvedPointCloudRenderOptions } from './pointcloud/point-cloud-renderer.js';
|
|
4
|
+
import type { Scene } from './scene.js';
|
|
5
|
+
/** GPU-only content that cannot be reconstructed after a device loss. */
|
|
6
|
+
export type DeviceRecoveryOmission = 'point-clouds' | 'reference-images' | 'line-overlays' | 'symbolic-overlays' | 'section-2d-overlay';
|
|
7
|
+
/** Stable failure categories returned by {@link Renderer.recoverDevice}. */
|
|
8
|
+
export type DeviceRecoveryFailureReason = 'not-lost' | 'cpu-geometry-released' | 'scene-not-settled' | 'unsupported-authored-meshes' | 'cold-restore-failed' | 'device-init-failed' | 'scene-restore-failed' | 'renderer-destroyed';
|
|
9
|
+
/** Result of rebuilding a lost renderer in place. */
|
|
10
|
+
export type DeviceRecoveryResult = {
|
|
11
|
+
ok: true;
|
|
12
|
+
omissions: readonly DeviceRecoveryOmission[];
|
|
13
|
+
} | {
|
|
14
|
+
ok: false;
|
|
15
|
+
reason: DeviceRecoveryFailureReason;
|
|
16
|
+
error?: unknown;
|
|
17
|
+
};
|
|
18
|
+
/** Internal friend surface used to keep the recovery lifecycle out of Renderer. */
|
|
19
|
+
export interface RendererRecoveryHost {
|
|
20
|
+
device: WebGPUDevice;
|
|
21
|
+
pipeline: RenderPipeline | null;
|
|
22
|
+
scene: Scene;
|
|
23
|
+
overlays: {
|
|
24
|
+
recoveryOmissions(): DeviceRecoveryOmission[];
|
|
25
|
+
};
|
|
26
|
+
pointCloudRenderer: Pick<PointCloudRenderer, 'hasAssets' | 'getOptions' | 'setOptions'> | null;
|
|
27
|
+
recovery: {
|
|
28
|
+
inFlight: Promise<DeviceRecoveryResult> | null;
|
|
29
|
+
lostReferenceImages: boolean;
|
|
30
|
+
quantizedBatchesRequested: boolean;
|
|
31
|
+
omissions: Set<DeviceRecoveryOmission>;
|
|
32
|
+
/** Point-cloud presentation captured before the first attempt tore the renderer down. */
|
|
33
|
+
pointCloudOptions: Readonly<ResolvedPointCloudRenderOptions> | null;
|
|
34
|
+
};
|
|
35
|
+
deviceLost: boolean;
|
|
36
|
+
destroyed: boolean;
|
|
37
|
+
ready: boolean;
|
|
38
|
+
initGeneration: number;
|
|
39
|
+
deviceLostGeneration: number | null;
|
|
40
|
+
initChain: Promise<void>;
|
|
41
|
+
deviceLossSequence: number;
|
|
42
|
+
deviceLostInfo: {
|
|
43
|
+
message: string;
|
|
44
|
+
reason: string;
|
|
45
|
+
} | null;
|
|
46
|
+
rejectReadyWaiters(error: Error): void;
|
|
47
|
+
teardown(clearScene?: boolean): void;
|
|
48
|
+
initOnce(generation: number, options?: {
|
|
49
|
+
clearDeviceLost?: boolean;
|
|
50
|
+
publishReady?: boolean;
|
|
51
|
+
}): Promise<void>;
|
|
52
|
+
markReady(generation: number): void;
|
|
53
|
+
refreshPlacementBounds(): void;
|
|
54
|
+
requestRender(): void;
|
|
55
|
+
}
|
|
56
|
+
/** Internal stable error used by readiness and recovery. */
|
|
57
|
+
export declare function rendererDeviceLostError(): Error;
|
|
58
|
+
/** Coalesce and serialize recovery with the renderer's ordinary init lifecycle. */
|
|
59
|
+
export declare function recoverRendererDevice(host: RendererRecoveryHost): Promise<DeviceRecoveryResult>;
|
|
60
|
+
//# sourceMappingURL=device-recovery.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"device-recovery.d.ts","sourceRoot":"","sources":["../src/device-recovery.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,KAAK,EAAE,kBAAkB,EAAE,+BAA+B,EAAE,MAAM,sCAAsC,CAAC;AAChH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAExC,yEAAyE;AACzE,MAAM,MAAM,sBAAsB,GAC9B,cAAc,GACd,kBAAkB,GAClB,eAAe,GACf,mBAAmB,GACnB,oBAAoB,CAAC;AAEzB,4EAA4E;AAC5E,MAAM,MAAM,2BAA2B,GACnC,UAAU,GACV,uBAAuB,GACvB,mBAAmB,GACnB,6BAA6B,GAC7B,qBAAqB,GACrB,oBAAoB,GACpB,sBAAsB,GACtB,oBAAoB,CAAC;AAEzB,qDAAqD;AACrD,MAAM,MAAM,oBAAoB,GAC5B;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,SAAS,EAAE,SAAS,sBAAsB,EAAE,CAAA;CAAE,GAC1D;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,2BAA2B,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC;AAExE,mFAAmF;AACnF,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,YAAY,CAAC;IACrB,QAAQ,EAAE,cAAc,GAAG,IAAI,CAAC;IAChC,KAAK,EAAE,KAAK,CAAC;IACb,QAAQ,EAAE;QAAE,iBAAiB,IAAI,sBAAsB,EAAE,CAAA;KAAE,CAAC;IAC5D,kBAAkB,EAAE,IAAI,CAAC,kBAAkB,EAAE,WAAW,GAAG,YAAY,GAAG,YAAY,CAAC,GAAG,IAAI,CAAC;IAC/F,QAAQ,EAAE;QACR,QAAQ,EAAE,OAAO,CAAC,oBAAoB,CAAC,GAAG,IAAI,CAAC;QAC/C,mBAAmB,EAAE,OAAO,CAAC;QAC7B,yBAAyB,EAAE,OAAO,CAAC;QACnC,SAAS,EAAE,GAAG,CAAC,sBAAsB,CAAC,CAAC;QACvC,yFAAyF;QACzF,iBAAiB,EAAE,QAAQ,CAAC,+BAA+B,CAAC,GAAG,IAAI,CAAC;KACrE,CAAC;IACF,UAAU,EAAE,OAAO,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,OAAO,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;IACvB,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,SAAS,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IACzB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,cAAc,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAC3D,kBAAkB,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACvC,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IACrC,QAAQ,CACN,UAAU,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE;QAAE,eAAe,CAAC,EAAE,OAAO,CAAC;QAAC,YAAY,CAAC,EAAE,OAAO,CAAA;KAAE,GAC9D,OAAO,CAAC,IAAI,CAAC,CAAC;IACjB,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,sBAAsB,IAAI,IAAI,CAAC;IAC/B,aAAa,IAAI,IAAI,CAAC;CACvB;AAED,4DAA4D;AAC5D,wBAAgB,uBAAuB,IAAI,KAAK,CAI/C;AAED,mFAAmF;AACnF,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAoB/F"}
|
|
@@ -0,0 +1,153 @@
|
|
|
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 { WebGPUDevice } from './device.js';
|
|
5
|
+
/** Internal stable error used by readiness and recovery. */
|
|
6
|
+
export function rendererDeviceLostError() {
|
|
7
|
+
const error = new Error('GPU device was lost before the renderer became ready');
|
|
8
|
+
error.name = 'RendererDeviceLostError';
|
|
9
|
+
return error;
|
|
10
|
+
}
|
|
11
|
+
/** Coalesce and serialize recovery with the renderer's ordinary init lifecycle. */
|
|
12
|
+
export function recoverRendererDevice(host) {
|
|
13
|
+
if (host.recovery.inFlight)
|
|
14
|
+
return host.recovery.inFlight;
|
|
15
|
+
if (!host.deviceLost)
|
|
16
|
+
return Promise.resolve({ ok: false, reason: 'not-lost' });
|
|
17
|
+
if (host.destroyed)
|
|
18
|
+
return Promise.resolve({ ok: false, reason: 'renderer-destroyed' });
|
|
19
|
+
const generation = ++host.initGeneration;
|
|
20
|
+
host.ready = false;
|
|
21
|
+
host.deviceLostGeneration = generation;
|
|
22
|
+
host.rejectReadyWaiters(rendererDeviceLostError());
|
|
23
|
+
const run = host.initChain.then(() => recoverRendererDeviceOnce(host, generation), () => recoverRendererDeviceOnce(host, generation));
|
|
24
|
+
host.initChain = run.then(() => undefined, () => undefined);
|
|
25
|
+
host.recovery.inFlight = run;
|
|
26
|
+
const clearInFlight = () => {
|
|
27
|
+
if (host.recovery.inFlight === run)
|
|
28
|
+
host.recovery.inFlight = null;
|
|
29
|
+
};
|
|
30
|
+
void run.then(clearInFlight, clearInFlight);
|
|
31
|
+
return run;
|
|
32
|
+
}
|
|
33
|
+
async function recoverRendererDeviceOnce(host, generation) {
|
|
34
|
+
const lossSequence = host.deviceLossSequence;
|
|
35
|
+
if (generation !== host.initGeneration || host.destroyed) {
|
|
36
|
+
return { ok: false, reason: 'renderer-destroyed' };
|
|
37
|
+
}
|
|
38
|
+
let prepared;
|
|
39
|
+
try {
|
|
40
|
+
prepared = host.scene.prepareDeviceRecovery();
|
|
41
|
+
}
|
|
42
|
+
catch (error) {
|
|
43
|
+
console.error('[Renderer] Failed to prepare the CPU scene for device recovery:', error);
|
|
44
|
+
return { ok: false, reason: 'cold-restore-failed', error };
|
|
45
|
+
}
|
|
46
|
+
if (!prepared.ok)
|
|
47
|
+
return prepared;
|
|
48
|
+
if (generation !== host.initGeneration || host.destroyed) {
|
|
49
|
+
return { ok: false, reason: 'renderer-destroyed' };
|
|
50
|
+
}
|
|
51
|
+
for (const omission of host.overlays.recoveryOmissions())
|
|
52
|
+
host.recovery.omissions.add(omission);
|
|
53
|
+
if (host.recovery.lostReferenceImages)
|
|
54
|
+
host.recovery.omissions.add('reference-images');
|
|
55
|
+
if (host.pointCloudRenderer?.hasAssets())
|
|
56
|
+
host.recovery.omissions.add('point-clouds');
|
|
57
|
+
// Assets are GPU-only and intentionally omitted, but their presentation is
|
|
58
|
+
// durable UI state. The replacement renderer must receive the old options
|
|
59
|
+
// before the viewer re-uploads its CPU-backed IFCx point clouds; its sync
|
|
60
|
+
// effect depends on preference values and will not rerun merely because the
|
|
61
|
+
// renderer instance changed. A failed attempt tears the old renderer down,
|
|
62
|
+
// so the snapshot lives in recovery state until an attempt succeeds.
|
|
63
|
+
const pointCloudOptions = host.pointCloudRenderer?.getOptions() ?? host.recovery.pointCloudOptions;
|
|
64
|
+
host.recovery.pointCloudOptions = pointCloudOptions ?? null;
|
|
65
|
+
let phase = 'scene';
|
|
66
|
+
try {
|
|
67
|
+
host.scene.discardGpuResourcesForRecovery();
|
|
68
|
+
host.teardown(false);
|
|
69
|
+
host.device = new WebGPUDevice();
|
|
70
|
+
phase = 'device';
|
|
71
|
+
await host.initOnce(generation, { clearDeviceLost: false, publishReady: false });
|
|
72
|
+
if (pointCloudOptions)
|
|
73
|
+
host.pointCloudRenderer?.setOptions(pointCloudOptions);
|
|
74
|
+
if (generation !== host.initGeneration || host.destroyed) {
|
|
75
|
+
// A newer public init/destroy owns the next lifecycle. Recovery already
|
|
76
|
+
// discarded the old scene's GPU handles, and teardown(false) would also
|
|
77
|
+
// null the replacement pipeline; the queued init would then skip its
|
|
78
|
+
// normal scene-clearing teardown and inherit stale CPU buckets. Give the
|
|
79
|
+
// superseding ordinary lifecycle the same empty-scene starting point it
|
|
80
|
+
// gets when it replaces any completed init.
|
|
81
|
+
host.teardown(true);
|
|
82
|
+
return { ok: false, reason: 'renderer-destroyed' };
|
|
83
|
+
}
|
|
84
|
+
if (host.deviceLossSequence !== lossSequence) {
|
|
85
|
+
throw new Error('Replacement GPU device was lost during initialization');
|
|
86
|
+
}
|
|
87
|
+
const initializedPreparation = host.scene.prepareDeviceRecovery();
|
|
88
|
+
if (!initializedPreparation.ok) {
|
|
89
|
+
host.deviceLost = true;
|
|
90
|
+
host.ready = false;
|
|
91
|
+
host.teardown(false);
|
|
92
|
+
return initializedPreparation;
|
|
93
|
+
}
|
|
94
|
+
if (host.recovery.quantizedBatchesRequested && host.pipeline) {
|
|
95
|
+
const quantized = await host.pipeline.ensureQuantizedPipelines();
|
|
96
|
+
host.scene.setQuantizedBatches(quantized);
|
|
97
|
+
}
|
|
98
|
+
phase = 'scene';
|
|
99
|
+
if (!host.pipeline)
|
|
100
|
+
throw new Error('Replacement render pipeline was not initialized');
|
|
101
|
+
host.scene.restoreGpuResourcesAfterRecovery(host.device.getDevice(), host.pipeline);
|
|
102
|
+
// A loss which settles during the synchronous restore cannot run its
|
|
103
|
+
// device.lost callback until this continuation yields. Let it latch before
|
|
104
|
+
// readiness is published, then revalidate because the yield also permits a
|
|
105
|
+
// caller to mutate the scene.
|
|
106
|
+
await Promise.resolve();
|
|
107
|
+
if (generation !== host.initGeneration || host.destroyed) {
|
|
108
|
+
host.teardown(true);
|
|
109
|
+
return { ok: false, reason: 'renderer-destroyed' };
|
|
110
|
+
}
|
|
111
|
+
if (host.deviceLossSequence !== lossSequence) {
|
|
112
|
+
throw new Error('Replacement GPU device was lost during scene restore');
|
|
113
|
+
}
|
|
114
|
+
const restoredPreparation = host.scene.prepareDeviceRecovery();
|
|
115
|
+
if (!restoredPreparation.ok) {
|
|
116
|
+
host.deviceLost = true;
|
|
117
|
+
host.ready = false;
|
|
118
|
+
host.teardown(false);
|
|
119
|
+
return restoredPreparation;
|
|
120
|
+
}
|
|
121
|
+
// teardown(false) deliberately drops GPU-only point clouds and overlays.
|
|
122
|
+
// Rebuild the authoritative bounds from the restored IFC scene before
|
|
123
|
+
// readiness is observable, so fit-to-view and sections cannot retain the
|
|
124
|
+
// vanished layers' extents.
|
|
125
|
+
host.refreshPlacementBounds();
|
|
126
|
+
host.deviceLost = false;
|
|
127
|
+
host.deviceLostInfo = null;
|
|
128
|
+
host.recovery.lostReferenceImages = false;
|
|
129
|
+
host.recovery.pointCloudOptions = null;
|
|
130
|
+
const omissions = [...host.recovery.omissions];
|
|
131
|
+
host.recovery.omissions.clear();
|
|
132
|
+
host.markReady(generation);
|
|
133
|
+
host.requestRender();
|
|
134
|
+
return { ok: true, omissions };
|
|
135
|
+
}
|
|
136
|
+
catch (error) {
|
|
137
|
+
console.error(`[Renderer] Device recovery failed during ${phase} restore:`, error);
|
|
138
|
+
host.deviceLost = true;
|
|
139
|
+
host.ready = false;
|
|
140
|
+
try {
|
|
141
|
+
host.teardown(false);
|
|
142
|
+
}
|
|
143
|
+
catch (teardownError) {
|
|
144
|
+
console.warn('[Renderer] Failed to dispose a partial recovery attempt:', teardownError);
|
|
145
|
+
}
|
|
146
|
+
return {
|
|
147
|
+
ok: false,
|
|
148
|
+
reason: phase === 'device' ? 'device-init-failed' : 'scene-restore-failed',
|
|
149
|
+
error,
|
|
150
|
+
};
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
//# sourceMappingURL=device-recovery.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"device-recovery.js","sourceRoot":"","sources":["../src/device-recovery.ts"],"names":[],"mappings":"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"}
|
package/dist/device.d.ts
CHANGED
|
@@ -39,6 +39,8 @@ export declare class WebGPUDevice {
|
|
|
39
39
|
private deviceLostHandler;
|
|
40
40
|
/** Guards against firing the handler more than once for a single device. */
|
|
41
41
|
private deviceLostFired;
|
|
42
|
+
/** Invalidates delayed `lost` settlements from a superseded GPUDevice. */
|
|
43
|
+
private deviceLifetime;
|
|
42
44
|
/** See `getAdapterInfo()`. Null until `init()` succeeds in reading it. */
|
|
43
45
|
private adapterInfoSnapshot;
|
|
44
46
|
/**
|
package/dist/device.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"device.d.ts","sourceRoot":"","sources":["../src/device.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH;;;;;;GAMG;AACH,MAAM,WAAW,mBAAmB;IAClC,gEAAgE;IAChE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kEAAkE;IAClE,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,qBAAa,YAAY;IACvB,OAAO,CAAC,OAAO,CAA2B;IAC1C,OAAO,CAAC,MAAM,CAA0B;IACxC,OAAO,CAAC,OAAO,CAAiC;IAChD,OAAO,CAAC,MAAM,CAAkC;IAChD,OAAO,CAAC,MAAM,CAAkC;IAChD,OAAO,CAAC,SAAS,CAAa;IAC9B,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,iBAAiB,CAAkB;IAC3C,OAAO,CAAC,UAAU,CAAa;IAC/B,4DAA4D;IAC5D,qBAAqB,EAAE,MAAM,CAAK;IAClC,oBAAoB,EAAE,MAAM,CAAM;IAElC;;;;;;;;OAQG;IACH,OAAO,CAAC,iBAAiB,CAAsE;IAC/F,4EAA4E;IAC5E,OAAO,CAAC,eAAe,CAAkB;IACzC,0EAA0E;IAC1E,OAAO,CAAC,mBAAmB,CAAoC;IAE/D;;OAEG;IACG,IAAI,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"device.d.ts","sourceRoot":"","sources":["../src/device.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH;;;;;;GAMG;AACH,MAAM,WAAW,mBAAmB;IAClC,gEAAgE;IAChE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kEAAkE;IAClE,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,qBAAa,YAAY;IACvB,OAAO,CAAC,OAAO,CAA2B;IAC1C,OAAO,CAAC,MAAM,CAA0B;IACxC,OAAO,CAAC,OAAO,CAAiC;IAChD,OAAO,CAAC,MAAM,CAAkC;IAChD,OAAO,CAAC,MAAM,CAAkC;IAChD,OAAO,CAAC,SAAS,CAAa;IAC9B,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,iBAAiB,CAAkB;IAC3C,OAAO,CAAC,UAAU,CAAa;IAC/B,4DAA4D;IAC5D,qBAAqB,EAAE,MAAM,CAAK;IAClC,oBAAoB,EAAE,MAAM,CAAM;IAElC;;;;;;;;OAQG;IACH,OAAO,CAAC,iBAAiB,CAAsE;IAC/F,4EAA4E;IAC5E,OAAO,CAAC,eAAe,CAAkB;IACzC,0EAA0E;IAC1E,OAAO,CAAC,cAAc,CAAa;IACnC,0EAA0E;IAC1E,OAAO,CAAC,mBAAmB,CAAoC;IAE/D;;OAEG;IACG,IAAI,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IA4KpD;;;OAGG;IACH,gBAAgB,IAAI,IAAI;IAoBxB;;OAEG;IACH,gBAAgB,IAAI,OAAO;IAM3B;;OAEG;IACH,iBAAiB,IAAI,IAAI;IAIzB;;;OAGG;IACH,aAAa,IAAI,OAAO;IAWxB;;;OAGG;IACH,iBAAiB,IAAI,UAAU,GAAG,IAAI;IAgBtC,SAAS,IAAI,SAAS;IAOtB;;;;;OAKG;IACH,YAAY,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,GAAG,IAAI;IAIhF;;;;OAIG;IACH,sBAAsB,IAAI,MAAM;IAIhC;;;;;;OAMG;IACH,cAAc,IAAI,mBAAmB,GAAG,IAAI;IAI5C;;;;;;;;;OASG;IACH,wBAAwB,IAAI,OAAO;IAInC,UAAU,IAAI,gBAAgB;IAO9B,SAAS,IAAI,gBAAgB;IAI7B,aAAa,IAAI,OAAO;IAIxB;;;;;;;;OAQG;IACH,OAAO,IAAI,IAAI;CAoBhB"}
|
package/dist/device.js
CHANGED
|
@@ -26,12 +26,15 @@ export class WebGPUDevice {
|
|
|
26
26
|
deviceLostHandler = null;
|
|
27
27
|
/** Guards against firing the handler more than once for a single device. */
|
|
28
28
|
deviceLostFired = false;
|
|
29
|
+
/** Invalidates delayed `lost` settlements from a superseded GPUDevice. */
|
|
30
|
+
deviceLifetime = 0;
|
|
29
31
|
/** See `getAdapterInfo()`. Null until `init()` succeeds in reading it. */
|
|
30
32
|
adapterInfoSnapshot = null;
|
|
31
33
|
/**
|
|
32
34
|
* Initialize WebGPU device and canvas context
|
|
33
35
|
*/
|
|
34
36
|
async init(canvas) {
|
|
37
|
+
const deviceLifetime = ++this.deviceLifetime;
|
|
35
38
|
// Each init() begins a fresh GPUDevice lifetime. Clear the once-per-device
|
|
36
39
|
// guard so a destroy()+init() re-entry can still report a later loss (the
|
|
37
40
|
// previous device's `lost` promise already resolved and set this true).
|
|
@@ -166,6 +169,12 @@ export class WebGPUDevice {
|
|
|
166
169
|
const deviceWithLost = this.device;
|
|
167
170
|
if (deviceWithLost.lost) {
|
|
168
171
|
deviceWithLost.lost.then((info) => {
|
|
172
|
+
// A destroyed GPUDevice is allowed to settle its `lost` promise after
|
|
173
|
+
// this wrapper has already initialized a replacement. Never let that
|
|
174
|
+
// stale settlement invalidate the replacement context or notify its
|
|
175
|
+
// recovery subscriber (#4885).
|
|
176
|
+
if (deviceLifetime !== this.deviceLifetime)
|
|
177
|
+
return;
|
|
169
178
|
const reason = info.reason ?? 'unknown';
|
|
170
179
|
console.warn('[WebGPU] Device lost:', info.message, `(reason: ${reason})`);
|
|
171
180
|
this.contextConfigured = false;
|
|
@@ -319,6 +328,9 @@ export class WebGPUDevice {
|
|
|
319
328
|
* rendering until a fresh `init()`. Idempotent — safe to call more than once.
|
|
320
329
|
*/
|
|
321
330
|
destroy() {
|
|
331
|
+
// Invalidate the current GPUDevice before asking it to destroy. Its `lost`
|
|
332
|
+
// promise settles asynchronously and may otherwise race a later init().
|
|
333
|
+
this.deviceLifetime++;
|
|
322
334
|
if (this.device) {
|
|
323
335
|
try {
|
|
324
336
|
this.device.destroy();
|