@ifc-lite/collab 0.2.6 → 0.3.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/dist/awareness/presence.d.ts +6 -0
- package/dist/awareness/presence.d.ts.map +1 -1
- package/dist/awareness/presence.js.map +1 -1
- package/dist/doc/annotation.d.ts +54 -0
- package/dist/doc/annotation.d.ts.map +1 -0
- package/dist/doc/annotation.js +84 -0
- package/dist/doc/annotation.js.map +1 -0
- package/dist/doc/entity.d.ts +18 -2
- package/dist/doc/entity.d.ts.map +1 -1
- package/dist/doc/entity.js +161 -11
- package/dist/doc/entity.js.map +1 -1
- package/dist/doc/geometry.d.ts +8 -0
- package/dist/doc/geometry.d.ts.map +1 -1
- package/dist/doc/geometry.js +12 -0
- package/dist/doc/geometry.js.map +1 -1
- package/dist/doc/placement.d.ts +102 -0
- package/dist/doc/placement.d.ts.map +1 -0
- package/dist/doc/placement.js +118 -0
- package/dist/doc/placement.js.map +1 -0
- package/dist/doc/schema.d.ts +14 -3
- package/dist/doc/schema.d.ts.map +1 -1
- package/dist/doc/schema.js +7 -0
- package/dist/doc/schema.js.map +1 -1
- package/dist/geometry/blob-store.d.ts.map +1 -1
- package/dist/geometry/blob-store.js +5 -1
- package/dist/geometry/blob-store.js.map +1 -1
- package/dist/geometry/gc.d.ts.map +1 -1
- package/dist/geometry/gc.js +12 -3
- package/dist/geometry/gc.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/providers/webrtc.d.ts.map +1 -1
- package/dist/providers/webrtc.js +9 -1
- package/dist/providers/webrtc.js.map +1 -1
- package/dist/snapshot/from-ifcx.d.ts.map +1 -1
- package/dist/snapshot/from-ifcx.js +34 -2
- package/dist/snapshot/from-ifcx.js.map +1 -1
- package/dist/snapshot/from-step.d.ts +76 -0
- package/dist/snapshot/from-step.d.ts.map +1 -0
- package/dist/snapshot/from-step.js +70 -0
- package/dist/snapshot/from-step.js.map +1 -0
- package/dist/snapshot/index.d.ts +3 -0
- package/dist/snapshot/index.d.ts.map +1 -1
- package/dist/snapshot/index.js +3 -0
- package/dist/snapshot/index.js.map +1 -1
- package/dist/snapshot/minimal-layer.d.ts +20 -4
- package/dist/snapshot/minimal-layer.d.ts.map +1 -1
- package/dist/snapshot/minimal-layer.js +113 -70
- package/dist/snapshot/minimal-layer.js.map +1 -1
- package/dist/snapshot/publish-layer.d.ts +60 -0
- package/dist/snapshot/publish-layer.d.ts.map +1 -0
- package/dist/snapshot/publish-layer.js +43 -0
- package/dist/snapshot/publish-layer.js.map +1 -0
- package/dist/snapshot/structured-attrs.d.ts +107 -0
- package/dist/snapshot/structured-attrs.d.ts.map +1 -0
- package/dist/snapshot/structured-attrs.js +250 -0
- package/dist/snapshot/structured-attrs.js.map +1 -0
- package/dist/snapshot/to-ifcx.d.ts +4 -0
- package/dist/snapshot/to-ifcx.d.ts.map +1 -1
- package/dist/snapshot/to-ifcx.js +5 -2
- package/dist/snapshot/to-ifcx.js.map +1 -1
- package/package.json +4 -4
|
@@ -54,6 +54,12 @@ export interface PresenceState {
|
|
|
54
54
|
lastUpdate: number;
|
|
55
55
|
/** Optional model the cursor is currently in (for federated sessions). */
|
|
56
56
|
modelId?: string;
|
|
57
|
+
/**
|
|
58
|
+
* Broadcast access role ('viewer' | 'commenter' | 'editor' | 'admin'), so
|
|
59
|
+
* peers can show each other's role in the presence roster. Advisory only —
|
|
60
|
+
* the authoritative role is the server-verified token.
|
|
61
|
+
*/
|
|
62
|
+
role?: string;
|
|
57
63
|
}
|
|
58
64
|
export interface PresenceMap {
|
|
59
65
|
/** clientID → state */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"presence.d.ts","sourceRoot":"","sources":["../../src/awareness/presence.ts"],"names":[],"mappings":"AAIA;;;;;;GAMG;AAEH,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAAE,qBAAqB,EAAyB,MAAM,uBAAuB,CAAC;AACtH,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AAGzB,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,wEAAwE;IACxE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,IAAI;IACnB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED,MAAM,WAAW,IAAI;IACnB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED,MAAM,WAAW,IAAI;IACnB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,IAAI,CAAC;IACf,MAAM,EAAE,IAAI,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,YAAY,CAAC;IACnB,QAAQ,CAAC,EAAE,IAAI,CAAC;IAChB,QAAQ,CAAC,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,IAAI,CAAA;KAAE,CAAC;IAC3C,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE;QAAE,KAAK,EAAE,IAAI,CAAA;KAAE,CAAC;IAChC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,IAAI,CAAC,EAAE,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAC;IACrE,MAAM,EAAE,QAAQ,GAAG,MAAM,GAAG,SAAS,CAAC;IACtC,sDAAsD;IACtD,UAAU,EAAE,MAAM,CAAC;IACnB,0EAA0E;IAC1E,OAAO,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"presence.d.ts","sourceRoot":"","sources":["../../src/awareness/presence.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"presence.js","sourceRoot":"","sources":["../../src/awareness/presence.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAE/D;;;;;;GAMG;AAEH,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAEtH,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"presence.js","sourceRoot":"","sources":["../../src/awareness/presence.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Collaboration annotation pins (markup) — shared room overlay data.
|
|
3
|
+
*
|
|
4
|
+
* Each annotation is a flat `Y.Map` under the top-level `annotations` map,
|
|
5
|
+
* keyed by annotation id. Values are scalars / small plain objects (position),
|
|
6
|
+
* replaced atomically — annotations are simple records, not the nested
|
|
7
|
+
* sub-map structure entities use. Synced by Yjs across peers and persisted by
|
|
8
|
+
* the server, but deliberately ignored by `snapshotToIfcx` (markup ≠ BIM).
|
|
9
|
+
*
|
|
10
|
+
* The viewer's local annotation slice mirrors create/update/delete into here
|
|
11
|
+
* (and observes inbound changes back) via `lib/collab/annotation-sync`.
|
|
12
|
+
*/
|
|
13
|
+
import * as Y from 'yjs';
|
|
14
|
+
export interface AnnotationPosition {
|
|
15
|
+
x: number;
|
|
16
|
+
y: number;
|
|
17
|
+
z: number;
|
|
18
|
+
}
|
|
19
|
+
/** Mutable fields of a shared annotation. */
|
|
20
|
+
export interface AnnotationFields {
|
|
21
|
+
/** World-space pin position in the renderer's local frame. */
|
|
22
|
+
position: AnnotationPosition;
|
|
23
|
+
/** Plain-text note body. */
|
|
24
|
+
note: string;
|
|
25
|
+
/** `/<guid>` of the anchored entity, or null for an empty-space pin. */
|
|
26
|
+
entityPath?: string | null;
|
|
27
|
+
/** Author identity (ephemeral collab identity), for attribution. */
|
|
28
|
+
authorId: string;
|
|
29
|
+
authorName: string;
|
|
30
|
+
authorColor: string;
|
|
31
|
+
/** Wall-clock ms (caller-supplied so the helper stays pure/deterministic). */
|
|
32
|
+
createdAt: number;
|
|
33
|
+
updatedAt: number;
|
|
34
|
+
}
|
|
35
|
+
export interface AnnotationRecord extends AnnotationFields {
|
|
36
|
+
id: string;
|
|
37
|
+
}
|
|
38
|
+
/** Top-level accessor for the annotations collection. */
|
|
39
|
+
export declare function annotationsMap(doc: Y.Doc): Y.Map<Y.Map<unknown>>;
|
|
40
|
+
/** Create or replace an annotation by id (idempotent on the same id). */
|
|
41
|
+
export declare function createAnnotation(doc: Y.Doc, id: string, fields: AnnotationFields): Y.Map<unknown>;
|
|
42
|
+
/** Patch an existing annotation's note/position. Returns false if it's gone. */
|
|
43
|
+
export declare function updateAnnotation(doc: Y.Doc, id: string, patch: {
|
|
44
|
+
note?: string;
|
|
45
|
+
position?: AnnotationPosition;
|
|
46
|
+
updatedAt: number;
|
|
47
|
+
}): boolean;
|
|
48
|
+
/** Remove an annotation. Returns false if it didn't exist. */
|
|
49
|
+
export declare function deleteAnnotation(doc: Y.Doc, id: string): boolean;
|
|
50
|
+
export declare function getAnnotation(doc: Y.Doc, id: string): AnnotationRecord | null;
|
|
51
|
+
export declare function iterAnnotations(doc: Y.Doc): IterableIterator<AnnotationRecord>;
|
|
52
|
+
/** Plain-object view of a stored annotation Y.Map. */
|
|
53
|
+
export declare function annotationToJSON(id: string, ann: Y.Map<unknown>): AnnotationRecord;
|
|
54
|
+
//# sourceMappingURL=annotation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"annotation.d.ts","sourceRoot":"","sources":["../../src/doc/annotation.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AAGzB,MAAM,WAAW,kBAAkB;IACjC,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED,6CAA6C;AAC7C,MAAM,WAAW,gBAAgB;IAC/B,8DAA8D;IAC9D,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,4BAA4B;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,wEAAwE;IACxE,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,oEAAoE;IACpE,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,8EAA8E;IAC9E,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,gBAAiB,SAAQ,gBAAgB;IACxD,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,yDAAyD;AACzD,wBAAgB,cAAc,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAEhE;AAED,yEAAyE;AACzE,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB,GAAG,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAcjG;AAED,gFAAgF;AAChF,wBAAgB,gBAAgB,CAC9B,GAAG,EAAE,CAAC,CAAC,GAAG,EACV,EAAE,EAAE,MAAM,EACV,KAAK,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,kBAAkB,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GACzE,OAAO,CAST;AAED,8DAA8D;AAC9D,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAKhE;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,EAAE,MAAM,GAAG,gBAAgB,GAAG,IAAI,CAG7E;AAED,wBAAiB,eAAe,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,GAAG,gBAAgB,CAAC,gBAAgB,CAAC,CAI/E;AAED,sDAAsD;AACtD,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,gBAAgB,CAalF"}
|
|
@@ -0,0 +1,84 @@
|
|
|
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
|
+
* Collaboration annotation pins (markup) — shared room overlay data.
|
|
6
|
+
*
|
|
7
|
+
* Each annotation is a flat `Y.Map` under the top-level `annotations` map,
|
|
8
|
+
* keyed by annotation id. Values are scalars / small plain objects (position),
|
|
9
|
+
* replaced atomically — annotations are simple records, not the nested
|
|
10
|
+
* sub-map structure entities use. Synced by Yjs across peers and persisted by
|
|
11
|
+
* the server, but deliberately ignored by `snapshotToIfcx` (markup ≠ BIM).
|
|
12
|
+
*
|
|
13
|
+
* The viewer's local annotation slice mirrors create/update/delete into here
|
|
14
|
+
* (and observes inbound changes back) via `lib/collab/annotation-sync`.
|
|
15
|
+
*/
|
|
16
|
+
import * as Y from 'yjs';
|
|
17
|
+
import { TOP } from './schema.js';
|
|
18
|
+
/** Top-level accessor for the annotations collection. */
|
|
19
|
+
export function annotationsMap(doc) {
|
|
20
|
+
return doc.getMap(TOP.ANNOTATIONS);
|
|
21
|
+
}
|
|
22
|
+
/** Create or replace an annotation by id (idempotent on the same id). */
|
|
23
|
+
export function createAnnotation(doc, id, fields) {
|
|
24
|
+
const map = annotationsMap(doc);
|
|
25
|
+
const existing = map.get(id);
|
|
26
|
+
const ann = existing ?? new Y.Map();
|
|
27
|
+
ann.set('position', { x: fields.position.x, y: fields.position.y, z: fields.position.z });
|
|
28
|
+
ann.set('note', fields.note);
|
|
29
|
+
ann.set('entityPath', fields.entityPath ?? null);
|
|
30
|
+
ann.set('authorId', fields.authorId);
|
|
31
|
+
ann.set('authorName', fields.authorName);
|
|
32
|
+
ann.set('authorColor', fields.authorColor);
|
|
33
|
+
ann.set('createdAt', fields.createdAt);
|
|
34
|
+
ann.set('updatedAt', fields.updatedAt);
|
|
35
|
+
if (!existing)
|
|
36
|
+
map.set(id, ann);
|
|
37
|
+
return ann;
|
|
38
|
+
}
|
|
39
|
+
/** Patch an existing annotation's note/position. Returns false if it's gone. */
|
|
40
|
+
export function updateAnnotation(doc, id, patch) {
|
|
41
|
+
const ann = annotationsMap(doc).get(id);
|
|
42
|
+
if (!ann)
|
|
43
|
+
return false;
|
|
44
|
+
if (patch.note !== undefined)
|
|
45
|
+
ann.set('note', patch.note);
|
|
46
|
+
if (patch.position !== undefined) {
|
|
47
|
+
ann.set('position', { x: patch.position.x, y: patch.position.y, z: patch.position.z });
|
|
48
|
+
}
|
|
49
|
+
ann.set('updatedAt', patch.updatedAt);
|
|
50
|
+
return true;
|
|
51
|
+
}
|
|
52
|
+
/** Remove an annotation. Returns false if it didn't exist. */
|
|
53
|
+
export function deleteAnnotation(doc, id) {
|
|
54
|
+
const map = annotationsMap(doc);
|
|
55
|
+
if (!map.has(id))
|
|
56
|
+
return false;
|
|
57
|
+
map.delete(id);
|
|
58
|
+
return true;
|
|
59
|
+
}
|
|
60
|
+
export function getAnnotation(doc, id) {
|
|
61
|
+
const ann = annotationsMap(doc).get(id);
|
|
62
|
+
return ann ? annotationToJSON(id, ann) : null;
|
|
63
|
+
}
|
|
64
|
+
export function* iterAnnotations(doc) {
|
|
65
|
+
for (const [id, ann] of annotationsMap(doc).entries()) {
|
|
66
|
+
yield annotationToJSON(id, ann);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
/** Plain-object view of a stored annotation Y.Map. */
|
|
70
|
+
export function annotationToJSON(id, ann) {
|
|
71
|
+
const pos = ann.get('position') ?? { x: 0, y: 0, z: 0 };
|
|
72
|
+
return {
|
|
73
|
+
id,
|
|
74
|
+
position: { x: pos.x ?? 0, y: pos.y ?? 0, z: pos.z ?? 0 },
|
|
75
|
+
note: ann.get('note') ?? '',
|
|
76
|
+
entityPath: ann.get('entityPath') ?? null,
|
|
77
|
+
authorId: ann.get('authorId') ?? '',
|
|
78
|
+
authorName: ann.get('authorName') ?? '',
|
|
79
|
+
authorColor: ann.get('authorColor') ?? '',
|
|
80
|
+
createdAt: ann.get('createdAt') ?? 0,
|
|
81
|
+
updatedAt: ann.get('updatedAt') ?? 0,
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
//# sourceMappingURL=annotation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"annotation.js","sourceRoot":"","sources":["../../src/doc/annotation.ts"],"names":[],"mappings":"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"}
|
package/dist/doc/entity.d.ts
CHANGED
|
@@ -13,6 +13,11 @@ export interface CreateEntityOptions {
|
|
|
13
13
|
attributes?: Record<string, unknown>;
|
|
14
14
|
children?: Record<string, string>;
|
|
15
15
|
inherits?: Record<string, string>;
|
|
16
|
+
psets?: Record<string, Record<string, PropertyValue>>;
|
|
17
|
+
quantities?: Record<string, Record<string, number>>;
|
|
18
|
+
classifications?: ClassificationRef[];
|
|
19
|
+
materials?: MaterialAssignment[];
|
|
20
|
+
geometryRef?: GeometryRefRecord;
|
|
16
21
|
meta?: EntityMeta;
|
|
17
22
|
}
|
|
18
23
|
/**
|
|
@@ -53,6 +58,9 @@ export declare function getAttribute(doc: Y.Doc, path: string, name: string): un
|
|
|
53
58
|
/** Set or update a `role → child path` entry on an entity. */
|
|
54
59
|
export declare function setChild(doc: Y.Doc, path: string, role: string, childPath: string): void;
|
|
55
60
|
export declare function removeChild(doc: Y.Doc, path: string, role: string): boolean;
|
|
61
|
+
/** Set or update a `role → inherited path` entry on an entity. */
|
|
62
|
+
export declare function setInherit(doc: Y.Doc, path: string, role: string, targetPath: string): void;
|
|
63
|
+
export declare function removeInherit(doc: Y.Doc, path: string, role: string): boolean;
|
|
56
64
|
/** Move an entity's containment by updating both endpoints atomically. */
|
|
57
65
|
export declare function moveEntity(doc: Y.Doc, childPath: string, fromParentPath: string, toParentPath: string, role: string): void;
|
|
58
66
|
/** Set a property within a Pset; creates the Pset map if missing. */
|
|
@@ -60,10 +68,17 @@ export declare function setPropertyValue(doc: Y.Doc, path: string, psetName: str
|
|
|
60
68
|
export declare function deletePropertyValue(doc: Y.Doc, path: string, psetName: string, propName: string): boolean;
|
|
61
69
|
export declare function getPropertyValue(doc: Y.Doc, path: string, psetName: string, propName: string): PropertyValue | undefined;
|
|
62
70
|
export declare function setQuantityValue(doc: Y.Doc, path: string, qsetName: string, qtyName: string, value: number): void;
|
|
71
|
+
export declare function deleteQuantityValue(doc: Y.Doc, path: string, qsetName: string, qtyName: string): boolean;
|
|
72
|
+
export declare function getQuantityValue(doc: Y.Doc, path: string, qsetName: string, qtyName: string): number | undefined;
|
|
63
73
|
export declare function addClassification(doc: Y.Doc, path: string, ref: ClassificationRef): number;
|
|
74
|
+
export declare function removeClassification(doc: Y.Doc, path: string, index: number): boolean;
|
|
64
75
|
export declare function addMaterial(doc: Y.Doc, path: string, assignment: MaterialAssignment): number;
|
|
65
|
-
|
|
76
|
+
export declare function removeMaterial(doc: Y.Doc, path: string, index: number): boolean;
|
|
77
|
+
/** Point an entity at one or more entries in the top-level geometry map (replaces any existing refs). */
|
|
66
78
|
export declare function setGeometryRef(doc: Y.Doc, path: string, ref: GeometryRefRecord): void;
|
|
79
|
+
/** Append a geomId to an entity's geometry refs (idempotent — no duplicates). */
|
|
80
|
+
export declare function addGeometryRef(doc: Y.Doc, path: string, geomId: string): void;
|
|
81
|
+
export declare function clearGeometryRef(doc: Y.Doc, path: string): boolean;
|
|
67
82
|
export declare function getGeometryRef(doc: Y.Doc, path: string): GeometryRefRecord | undefined;
|
|
68
83
|
/** Iterate every (path, entity) pair currently live. */
|
|
69
84
|
export declare function iterEntities(doc: Y.Doc): IterableIterator<[string, Y.Map<unknown>]>;
|
|
@@ -76,9 +91,10 @@ export declare function entityToJSON(entity: Y.Map<unknown>): {
|
|
|
76
91
|
children: Record<string, string>;
|
|
77
92
|
inherits: Record<string, string>;
|
|
78
93
|
psets: Record<string, Record<string, PropertyValue>>;
|
|
94
|
+
quantities: Record<string, Record<string, number>>;
|
|
79
95
|
classifications: ClassificationRef[];
|
|
80
96
|
materials: MaterialAssignment[];
|
|
81
|
-
|
|
97
|
+
geometryRefs: string[];
|
|
82
98
|
meta: Record<string, unknown>;
|
|
83
99
|
};
|
|
84
100
|
//# sourceMappingURL=entity.d.ts.map
|
package/dist/doc/entity.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entity.d.ts","sourceRoot":"","sources":["../../src/doc/entity.ts"],"names":[],"mappings":"AAIA;;;;;GAKG;AAEH,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AACzB,OAAO,EAGL,KAAK,iBAAiB,EACtB,KAAK,UAAU,EACf,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,aAAa,EACnB,MAAM,aAAa,CAAC;AAErB,kCAAkC;AAClC,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAC;IAC3C,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,IAAI,CAAC,EAAE,UAAU,CAAC;CACnB;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,SAAS,CAE9E;AAED,+CAA+C;AAC/C,wBAAgB,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAE3D;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAC1B,GAAG,EAAE,CAAC,CAAC,GAAG,EACV,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,mBAAwB,GAChC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"entity.d.ts","sourceRoot":"","sources":["../../src/doc/entity.ts"],"names":[],"mappings":"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"}
|
package/dist/doc/entity.js
CHANGED
|
@@ -55,11 +55,47 @@ export function createEntity(doc, path, options = {}) {
|
|
|
55
55
|
}
|
|
56
56
|
}
|
|
57
57
|
entity.set(ENTITY_KEY.INHERITS, inherits);
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
58
|
+
const psets = new Y.Map();
|
|
59
|
+
if (options.psets) {
|
|
60
|
+
for (const [psetName, props] of Object.entries(options.psets)) {
|
|
61
|
+
assertStructuredName('pset name', psetName);
|
|
62
|
+
const pset = new Y.Map();
|
|
63
|
+
for (const [propName, value] of Object.entries(props)) {
|
|
64
|
+
assertStructuredName('property name', propName);
|
|
65
|
+
pset.set(propName, value);
|
|
66
|
+
}
|
|
67
|
+
psets.set(psetName, pset);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
entity.set(ENTITY_KEY.PSETS, psets);
|
|
71
|
+
const quantities = new Y.Map();
|
|
72
|
+
if (options.quantities) {
|
|
73
|
+
for (const [qsetName, qtys] of Object.entries(options.quantities)) {
|
|
74
|
+
assertStructuredName('quantity set name', qsetName);
|
|
75
|
+
const qset = new Y.Map();
|
|
76
|
+
for (const [qtyName, value] of Object.entries(qtys)) {
|
|
77
|
+
assertStructuredName('quantity name', qtyName);
|
|
78
|
+
qset.set(qtyName, value);
|
|
79
|
+
}
|
|
80
|
+
quantities.set(qsetName, qset);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
entity.set(ENTITY_KEY.QUANTITIES, quantities);
|
|
84
|
+
const classifications = new Y.Array();
|
|
85
|
+
if (options.classifications && options.classifications.length > 0) {
|
|
86
|
+
classifications.push([...options.classifications]);
|
|
87
|
+
}
|
|
88
|
+
entity.set(ENTITY_KEY.CLASSIFICATIONS, classifications);
|
|
89
|
+
const materials = new Y.Array();
|
|
90
|
+
if (options.materials && options.materials.length > 0) {
|
|
91
|
+
materials.push([...options.materials]);
|
|
92
|
+
}
|
|
93
|
+
entity.set(ENTITY_KEY.MATERIALS, materials);
|
|
94
|
+
const geometryRef = new Y.Map();
|
|
95
|
+
if (options.geometryRef && options.geometryRef.geomIds.length > 0) {
|
|
96
|
+
geometryRef.set('geomIds', [...options.geometryRef.geomIds]);
|
|
97
|
+
}
|
|
98
|
+
entity.set(ENTITY_KEY.GEOMETRY_REF, geometryRef);
|
|
63
99
|
const meta = new Y.Map();
|
|
64
100
|
const stamp = options.meta?.createdAt ?? new Date().toISOString();
|
|
65
101
|
if (options.ifcClass)
|
|
@@ -183,6 +219,26 @@ export function removeChild(doc, path, role) {
|
|
|
183
219
|
children.delete(role);
|
|
184
220
|
return true;
|
|
185
221
|
}
|
|
222
|
+
/** Set or update a `role → inherited path` entry on an entity. */
|
|
223
|
+
export function setInherit(doc, path, role, targetPath) {
|
|
224
|
+
const entity = getEntity(doc, path);
|
|
225
|
+
if (!entity)
|
|
226
|
+
throw new Error(`@ifc-lite/collab: entity "${path}" not found`);
|
|
227
|
+
const inherits = entity.get(ENTITY_KEY.INHERITS);
|
|
228
|
+
if (!inherits)
|
|
229
|
+
throw new Error(`@ifc-lite/collab: entity "${path}" missing inherits map`);
|
|
230
|
+
inherits.set(role, targetPath);
|
|
231
|
+
}
|
|
232
|
+
export function removeInherit(doc, path, role) {
|
|
233
|
+
const entity = getEntity(doc, path);
|
|
234
|
+
if (!entity)
|
|
235
|
+
return false;
|
|
236
|
+
const inherits = entity.get(ENTITY_KEY.INHERITS);
|
|
237
|
+
if (!inherits || !inherits.has(role))
|
|
238
|
+
return false;
|
|
239
|
+
inherits.delete(role);
|
|
240
|
+
return true;
|
|
241
|
+
}
|
|
186
242
|
/** Move an entity's containment by updating both endpoints atomically. */
|
|
187
243
|
export function moveEntity(doc, childPath, fromParentPath, toParentPath, role) {
|
|
188
244
|
doc.transact(() => {
|
|
@@ -193,8 +249,20 @@ export function moveEntity(doc, childPath, fromParentPath, toParentPath, role) {
|
|
|
193
249
|
/* ------------------------------------------------------------------ */
|
|
194
250
|
/* Property sets */
|
|
195
251
|
/* ------------------------------------------------------------------ */
|
|
252
|
+
/**
|
|
253
|
+
* Pset/quantity set and member names ride in `::`-delimited IFCX wire
|
|
254
|
+
* keys (#1031); a name containing the delimiter would flatten to an
|
|
255
|
+
* irreversible key and corrupt the structured branch on re-seed.
|
|
256
|
+
*/
|
|
257
|
+
function assertStructuredName(label, name) {
|
|
258
|
+
if (name.includes('::')) {
|
|
259
|
+
throw new Error(`@ifc-lite/collab: ${label} "${name}" must not contain "::" (IFCX namespace delimiter)`);
|
|
260
|
+
}
|
|
261
|
+
}
|
|
196
262
|
/** Set a property within a Pset; creates the Pset map if missing. */
|
|
197
263
|
export function setPropertyValue(doc, path, psetName, propName, value) {
|
|
264
|
+
assertStructuredName('pset name', psetName);
|
|
265
|
+
assertStructuredName('property name', propName);
|
|
198
266
|
const entity = getEntity(doc, path);
|
|
199
267
|
if (!entity)
|
|
200
268
|
throw new Error(`@ifc-lite/collab: entity "${path}" not found`);
|
|
@@ -227,6 +295,8 @@ export function getPropertyValue(doc, path, psetName, propName) {
|
|
|
227
295
|
/* Quantities */
|
|
228
296
|
/* ------------------------------------------------------------------ */
|
|
229
297
|
export function setQuantityValue(doc, path, qsetName, qtyName, value) {
|
|
298
|
+
assertStructuredName('quantity set name', qsetName);
|
|
299
|
+
assertStructuredName('quantity name', qtyName);
|
|
230
300
|
const entity = getEntity(doc, path);
|
|
231
301
|
if (!entity)
|
|
232
302
|
throw new Error(`@ifc-lite/collab: entity "${path}" not found`);
|
|
@@ -240,6 +310,21 @@ export function setQuantityValue(doc, path, qsetName, qtyName, value) {
|
|
|
240
310
|
}
|
|
241
311
|
qset.set(qtyName, value);
|
|
242
312
|
}
|
|
313
|
+
export function deleteQuantityValue(doc, path, qsetName, qtyName) {
|
|
314
|
+
const qsets = getEntity(doc, path)?.get(ENTITY_KEY.QUANTITIES);
|
|
315
|
+
const qset = qsets?.get(qsetName);
|
|
316
|
+
if (!qset || !qset.has(qtyName))
|
|
317
|
+
return false;
|
|
318
|
+
qset.delete(qtyName);
|
|
319
|
+
// Clean up empty qsets, mirroring deletePropertyValue.
|
|
320
|
+
if (qset.size === 0)
|
|
321
|
+
qsets.delete(qsetName);
|
|
322
|
+
return true;
|
|
323
|
+
}
|
|
324
|
+
export function getQuantityValue(doc, path, qsetName, qtyName) {
|
|
325
|
+
const qsets = getEntity(doc, path)?.get(ENTITY_KEY.QUANTITIES);
|
|
326
|
+
return qsets?.get(qsetName)?.get(qtyName);
|
|
327
|
+
}
|
|
243
328
|
/* ------------------------------------------------------------------ */
|
|
244
329
|
/* Classifications & materials */
|
|
245
330
|
/* ------------------------------------------------------------------ */
|
|
@@ -253,6 +338,13 @@ export function addClassification(doc, path, ref) {
|
|
|
253
338
|
arr.push([ref]);
|
|
254
339
|
return arr.length - 1;
|
|
255
340
|
}
|
|
341
|
+
export function removeClassification(doc, path, index) {
|
|
342
|
+
const arr = getEntity(doc, path)?.get(ENTITY_KEY.CLASSIFICATIONS);
|
|
343
|
+
if (!arr || index < 0 || index >= arr.length)
|
|
344
|
+
return false;
|
|
345
|
+
arr.delete(index, 1);
|
|
346
|
+
return true;
|
|
347
|
+
}
|
|
256
348
|
export function addMaterial(doc, path, assignment) {
|
|
257
349
|
const entity = getEntity(doc, path);
|
|
258
350
|
if (!entity)
|
|
@@ -263,10 +355,27 @@ export function addMaterial(doc, path, assignment) {
|
|
|
263
355
|
arr.push([assignment]);
|
|
264
356
|
return arr.length - 1;
|
|
265
357
|
}
|
|
358
|
+
export function removeMaterial(doc, path, index) {
|
|
359
|
+
const arr = getEntity(doc, path)?.get(ENTITY_KEY.MATERIALS);
|
|
360
|
+
if (!arr || index < 0 || index >= arr.length)
|
|
361
|
+
return false;
|
|
362
|
+
arr.delete(index, 1);
|
|
363
|
+
return true;
|
|
364
|
+
}
|
|
266
365
|
/* ------------------------------------------------------------------ */
|
|
267
366
|
/* Geometry reference */
|
|
268
367
|
/* ------------------------------------------------------------------ */
|
|
269
|
-
/**
|
|
368
|
+
/** Read the geomIds list off a geometryRef map (legacy single `geomId` wraps to one element). */
|
|
369
|
+
function readGeomIds(refMap) {
|
|
370
|
+
if (!refMap)
|
|
371
|
+
return [];
|
|
372
|
+
const ids = refMap.get('geomIds');
|
|
373
|
+
if (Array.isArray(ids))
|
|
374
|
+
return ids.filter((v) => typeof v === 'string');
|
|
375
|
+
const legacy = refMap.get('geomId');
|
|
376
|
+
return typeof legacy === 'string' ? [legacy] : [];
|
|
377
|
+
}
|
|
378
|
+
/** Point an entity at one or more entries in the top-level geometry map (replaces any existing refs). */
|
|
270
379
|
export function setGeometryRef(doc, path, ref) {
|
|
271
380
|
const entity = getEntity(doc, path);
|
|
272
381
|
if (!entity)
|
|
@@ -274,12 +383,36 @@ export function setGeometryRef(doc, path, ref) {
|
|
|
274
383
|
const refMap = entity.get(ENTITY_KEY.GEOMETRY_REF);
|
|
275
384
|
if (!refMap)
|
|
276
385
|
throw new Error(`@ifc-lite/collab: entity "${path}" missing geometryRef`);
|
|
277
|
-
refMap.set('
|
|
386
|
+
refMap.set('geomIds', [...ref.geomIds]);
|
|
387
|
+
}
|
|
388
|
+
/** Append a geomId to an entity's geometry refs (idempotent — no duplicates). */
|
|
389
|
+
export function addGeometryRef(doc, path, geomId) {
|
|
390
|
+
const entity = getEntity(doc, path);
|
|
391
|
+
if (!entity)
|
|
392
|
+
throw new Error(`@ifc-lite/collab: entity "${path}" not found`);
|
|
393
|
+
const refMap = entity.get(ENTITY_KEY.GEOMETRY_REF);
|
|
394
|
+
if (!refMap)
|
|
395
|
+
throw new Error(`@ifc-lite/collab: entity "${path}" missing geometryRef`);
|
|
396
|
+
const ids = readGeomIds(refMap);
|
|
397
|
+
if (ids.includes(geomId))
|
|
398
|
+
return;
|
|
399
|
+
refMap.set('geomIds', [...ids, geomId]);
|
|
400
|
+
}
|
|
401
|
+
export function clearGeometryRef(doc, path) {
|
|
402
|
+
const refMap = getEntity(doc, path)?.get(ENTITY_KEY.GEOMETRY_REF);
|
|
403
|
+
if (!refMap || (!refMap.has('geomIds') && !refMap.has('geomId')))
|
|
404
|
+
return false;
|
|
405
|
+
if (refMap.has('geomIds'))
|
|
406
|
+
refMap.delete('geomIds');
|
|
407
|
+
// Legacy single-id docs store `geomId`; clear both spellings.
|
|
408
|
+
if (refMap.has('geomId'))
|
|
409
|
+
refMap.delete('geomId');
|
|
410
|
+
return true;
|
|
278
411
|
}
|
|
279
412
|
export function getGeometryRef(doc, path) {
|
|
280
413
|
const refMap = getEntity(doc, path)?.get(ENTITY_KEY.GEOMETRY_REF);
|
|
281
|
-
const
|
|
282
|
-
return
|
|
414
|
+
const geomIds = readGeomIds(refMap);
|
|
415
|
+
return geomIds.length > 0 ? { geomIds } : undefined;
|
|
283
416
|
}
|
|
284
417
|
/* ------------------------------------------------------------------ */
|
|
285
418
|
/* Iteration helpers */
|
|
@@ -300,6 +433,7 @@ export function entityToJSON(entity) {
|
|
|
300
433
|
const children = entity.get(ENTITY_KEY.CHILDREN);
|
|
301
434
|
const inherits = entity.get(ENTITY_KEY.INHERITS);
|
|
302
435
|
const psets = entity.get(ENTITY_KEY.PSETS);
|
|
436
|
+
const quantities = entity.get(ENTITY_KEY.QUANTITIES);
|
|
303
437
|
const classifications = entity.get(ENTITY_KEY.CLASSIFICATIONS);
|
|
304
438
|
const materials = entity.get(ENTITY_KEY.MATERIALS);
|
|
305
439
|
const geomRef = entity.get(ENTITY_KEY.GEOMETRY_REF);
|
|
@@ -326,19 +460,35 @@ export function entityToJSON(entity) {
|
|
|
326
460
|
psetsJson[psetName] = props;
|
|
327
461
|
}
|
|
328
462
|
}
|
|
463
|
+
const quantitiesJson = {};
|
|
464
|
+
if (quantities) {
|
|
465
|
+
for (const [qsetName, qset] of quantities.entries()) {
|
|
466
|
+
const qtys = {};
|
|
467
|
+
for (const [qtyName, val] of qset.entries()) {
|
|
468
|
+
qtys[qtyName] = val;
|
|
469
|
+
}
|
|
470
|
+
quantitiesJson[qsetName] = qtys;
|
|
471
|
+
}
|
|
472
|
+
}
|
|
329
473
|
const metaJson = {};
|
|
330
474
|
if (meta)
|
|
331
475
|
for (const [k, v] of meta.entries())
|
|
332
476
|
metaJson[k] = v;
|
|
333
|
-
const
|
|
477
|
+
const geomIdsRaw = geomRef?.get('geomIds');
|
|
478
|
+
const geometryRefs = Array.isArray(geomIdsRaw)
|
|
479
|
+
? geomIdsRaw.filter((v) => typeof v === 'string')
|
|
480
|
+
: typeof geomRef?.get('geomId') === 'string'
|
|
481
|
+
? [geomRef.get('geomId')]
|
|
482
|
+
: [];
|
|
334
483
|
return {
|
|
335
484
|
attributes,
|
|
336
485
|
children: childrenJson,
|
|
337
486
|
inherits: inheritsJson,
|
|
338
487
|
psets: psetsJson,
|
|
488
|
+
quantities: quantitiesJson,
|
|
339
489
|
classifications: classifications ? classifications.toArray() : [],
|
|
340
490
|
materials: materials ? materials.toArray() : [],
|
|
341
|
-
|
|
491
|
+
geometryRefs,
|
|
342
492
|
meta: metaJson,
|
|
343
493
|
};
|
|
344
494
|
}
|
package/dist/doc/entity.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entity.js","sourceRoot":"","sources":["../../src/doc/entity.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAE/D;;;;;GAKG;AAEH,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AACzB,OAAO,EACL,UAAU,EACV,WAAW,GAMZ,MAAM,aAAa,CAAC;AAYrB;;;GAGG;AACH,MAAM,UAAU,SAAS,CAAC,GAAU,EAAE,IAAY;IAChD,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAA+B,CAAC;AAClE,CAAC;AAED,+CAA+C;AAC/C,MAAM,UAAU,SAAS,CAAC,GAAU,EAAE,IAAY;IAChD,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACpC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,YAAY,CAC1B,GAAU,EACV,IAAY,EACZ,UAA+B,EAAE;IAEjC,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;IAC9B,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAA+B,CAAC;IAC9D,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,GAAG,EAAW,CAAC;IAEpC,MAAM,UAAU,GAAG,IAAI,CAAC,CAAC,GAAG,EAAW,CAAC;IACxC,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;QACvB,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;YACxD,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACvB,CAAC;IACH,CAAC;IACD,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IAE9C,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,GAAG,EAAU,CAAC;IACrC,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;QACrB,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC9D,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;IACD,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAE1C,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,GAAG,EAAU,CAAC;IACrC,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;QACrB,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC9D,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;IACD,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAE1C,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,GAAG,EAAwB,CAAC,CAAC;IAChE,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,GAAG,EAAiB,CAAC,CAAC;IAC9D,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC,KAAK,EAAqB,CAAC,CAAC;IACzE,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,KAAK,EAAsB,CAAC,CAAC;IACpE,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC,GAAG,EAAW,CAAC,CAAC;IAE1D,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,GAAG,EAAW,CAAC;IAClC,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,EAAE,SAAS,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAClE,IAAI,OAAO,CAAC,QAAQ;QAAE,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC7D,IAAI,OAAO,CAAC,aAAa;QAAE,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;IAC5E,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IAC7B,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YAClD,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAY,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;IACD,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAElC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACvB,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,GAAU,EAAE,IAAY;IACnD,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;IAC9B,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IAClC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAClB,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAC/B,GAAU,EACV,OAAe,EACf,OAAe,EACf,WAAmB,EACnB,UAAwC,EAAE;IAE1C,MAAM,GAAG,GAAG,SAAS,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IACpC,IAAI,CAAC,GAAG;QAAE,OAAO,SAAS,CAAC;IAE3B,MAAM,QAAQ,GAAG,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,UAAU,CAA+B,CAAC;IAC9E,MAAM,WAAW,GAAG,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,QAAQ,CAA8B,CAAC;IAC9E,MAAM,OAAO,GAAG,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAA+B,CAAC;IAEvE,MAAM,OAAO,GAA4B,EAAE,CAAC;IAC5C,IAAI,OAAO,CAAC,cAAc,KAAK,KAAK,IAAI,QAAQ,EAAE,CAAC;QACjD,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAC1D,CAAC;IACD,6CAA6C;IAC7C,OAAO,CAAC,iBAAiB,CAAC,GAAG,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;IAEnD,MAAM,eAAe,GAA2B,EAAE,CAAC;IACnD,IAAI,WAAW,EAAE,CAAC;QAChB,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,WAAW,CAAC,OAAO,EAAE,EAAE,CAAC;YACnD,eAAe,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;QACjC,CAAC;IACH,CAAC;IAED,MAAM,IAAI,GAAe;QACvB,QAAQ,EAAE,WAAW;QACrB,YAAY,EAAE,OAAO;QACrB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACnC,YAAY,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KACvC,CAAC;IACF,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAC3C,IAAI,OAAO,SAAS,KAAK,QAAQ;YAAE,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAChE,CAAC;IAED,YAAY,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAC3B,OAAO,YAAY,CAAC,GAAG,EAAE,OAAO,EAAE;QAChC,QAAQ,EAAE,WAAW;QACrB,UAAU,EAAE,OAAO;QACnB,QAAQ,EAAE,eAAe;QACzB,IAAI;KACL,CAAC,CAAC;AACL,CAAC;AAED,wEAAwE;AACxE,yEAAyE;AACzE,wEAAwE;AAExE;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,GAAU,EAAE,IAAY,EAAE,IAAY,EAAE,KAAc;IACjF,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACpC,IAAI,CAAC,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,IAAI,aAAa,CAAC,CAAC;IAC7E,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,UAAU,CAA+B,CAAC;IAC9E,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,IAAI,0BAA0B,CAAC,CAAC;IACzF,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,GAAU,EAAE,IAAY,EAAE,IAAY;IACpE,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACpC,IAAI,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IAC1B,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,UAAU,CAA+B,CAAC;IAC9E,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IAC7C,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACnB,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,GAAU,EAAE,IAAY,EAAE,IAAY;IACjE,OAAQ,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,GAAG,CAAC,UAAU,CAAC,UAAU,CAAgC,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;AACrG,CAAC;AAED,wEAAwE;AACxE,yEAAyE;AACzE,wEAAwE;AAExE,8DAA8D;AAC9D,MAAM,UAAU,QAAQ,CAAC,GAAU,EAAE,IAAY,EAAE,IAAY,EAAE,SAAiB;IAChF,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACpC,IAAI,CAAC,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,IAAI,aAAa,CAAC,CAAC;IAC7E,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,QAAQ,CAA8B,CAAC;IAC9E,IAAI,CAAC,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,IAAI,wBAAwB,CAAC,CAAC;IAC1F,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,GAAU,EAAE,IAAY,EAAE,IAAY;IAChE,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACpC,IAAI,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IAC1B,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,QAAQ,CAA8B,CAAC;IAC9E,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IACnD,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACtB,OAAO,IAAI,CAAC;AACd,CAAC;AAED,0EAA0E;AAC1E,MAAM,UAAU,UAAU,CACxB,GAAU,EACV,SAAiB,EACjB,cAAsB,EACtB,YAAoB,EACpB,IAAY;IAEZ,GAAG,CAAC,QAAQ,CAAC,GAAG,EAAE;QAChB,WAAW,CAAC,GAAG,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;QACvC,QAAQ,CAAC,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;AACL,CAAC;AAED,wEAAwE;AACxE,0EAA0E;AAC1E,wEAAwE;AAExE,qEAAqE;AACrE,MAAM,UAAU,gBAAgB,CAC9B,GAAU,EACV,IAAY,EACZ,QAAgB,EAChB,QAAgB,EAChB,KAAoB;IAEpB,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACpC,IAAI,CAAC,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,IAAI,aAAa,CAAC,CAAC;IAC7E,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,CAA4C,CAAC;IACtF,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,IAAI,qBAAqB,CAAC,CAAC;IAEpF,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC/B,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,IAAI,GAAG,IAAI,CAAC,CAAC,GAAG,EAAiB,CAAC;QAClC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC5B,CAAC;IACD,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;AAC5B,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,GAAU,EACV,IAAY,EACZ,QAAgB,EAChB,QAAgB;IAEhB,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,GAAG,CAAC,UAAU,CAAC,KAAK,CAE3C,CAAC;IACd,MAAM,IAAI,GAAG,KAAK,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;IAClC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC;QAAE,OAAO,KAAK,CAAC;IAC/C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACtB,wBAAwB;IACxB,IAAI,IAAI,CAAC,IAAI,KAAK,CAAC;QAAE,KAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC7C,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,GAAU,EACV,IAAY,EACZ,QAAgB,EAChB,QAAgB;IAEhB,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,GAAG,CAAC,UAAU,CAAC,KAAK,CAE3C,CAAC;IACd,OAAO,KAAK,EAAE,GAAG,CAAC,QAAQ,CAAC,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC7C,CAAC;AAED,wEAAwE;AACxE,0EAA0E;AAC1E,wEAAwE;AAExE,MAAM,UAAU,gBAAgB,CAC9B,GAAU,EACV,IAAY,EACZ,QAAgB,EAChB,OAAe,EACf,KAAa;IAEb,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACpC,IAAI,CAAC,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,IAAI,aAAa,CAAC,CAAC;IAC7E,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,UAAU,CAAqC,CAAC;IACpF,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,IAAI,0BAA0B,CAAC,CAAC;IACzF,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC/B,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,IAAI,GAAG,IAAI,CAAC,CAAC,GAAG,EAAU,CAAC;QAC3B,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC5B,CAAC;IACD,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;AAC3B,CAAC;AAED,wEAAwE;AACxE,0EAA0E;AAC1E,wEAAwE;AAExE,MAAM,UAAU,iBAAiB,CAAC,GAAU,EAAE,IAAY,EAAE,GAAsB;IAChF,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACpC,IAAI,CAAC,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,IAAI,aAAa,CAAC,CAAC;IAC7E,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,eAAe,CAA2C,CAAC;IAC7F,IAAI,CAAC,GAAG;QAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,IAAI,2BAA2B,CAAC,CAAC;IACxF,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAChB,OAAO,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC;AACxB,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,GAAU,EAAE,IAAY,EAAE,UAA8B;IAClF,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACpC,IAAI,CAAC,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,IAAI,aAAa,CAAC,CAAC;IAC7E,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,SAAS,CAA4C,CAAC;IACxF,IAAI,CAAC,GAAG;QAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,IAAI,qBAAqB,CAAC,CAAC;IAClF,GAAG,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;IACvB,OAAO,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC;AACxB,CAAC;AAED,wEAAwE;AACxE,0EAA0E;AAC1E,wEAAwE;AAExE,yEAAyE;AACzE,MAAM,UAAU,cAAc,CAAC,GAAU,EAAE,IAAY,EAAE,GAAsB;IAC7E,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACpC,IAAI,CAAC,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,IAAI,aAAa,CAAC,CAAC;IAC7E,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,YAAY,CAA+B,CAAC;IACjF,IAAI,CAAC,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,IAAI,uBAAuB,CAAC,CAAC;IACvF,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;AACnC,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,GAAU,EAAE,IAAY;IACrD,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,GAAG,CAAC,UAAU,CAAC,YAAY,CAEnD,CAAC;IACd,MAAM,MAAM,GAAG,MAAM,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;IACrC,OAAO,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AAC7D,CAAC;AAED,wEAAwE;AACxE,0EAA0E;AAC1E,wEAAwE;AAExE,wDAAwD;AACxD,MAAM,SAAS,CAAC,CAAC,YAAY,CAC3B,GAAU;IAEV,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;IAC9B,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;QAC5C,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACvB,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,MAAsB;IAUjD,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,UAAU,CAA+B,CAAC;IAC9E,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,QAAQ,CAA8B,CAAC;IAC9E,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,QAAQ,CAA8B,CAAC;IAC9E,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,CAA4C,CAAC;IACtF,MAAM,eAAe,GAAG,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,eAAe,CAEhD,CAAC;IACd,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,SAAS,CAA4C,CAAC;IAC9F,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,YAAY,CAA+B,CAAC;IAClF,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAA+B,CAAC;IAEvE,MAAM,UAAU,GAA4B,EAAE,CAAC;IAC/C,IAAI,KAAK;QAAE,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE;YAAE,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAEnE,MAAM,YAAY,GAA2B,EAAE,CAAC;IAChD,IAAI,QAAQ;QAAE,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAE3E,MAAM,YAAY,GAA2B,EAAE,CAAC;IAChD,IAAI,QAAQ;QAAE,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAE3E,MAAM,SAAS,GAAkD,EAAE,CAAC;IACpE,IAAI,KAAK,EAAE,CAAC;QACV,KAAK,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;YAC/C,MAAM,KAAK,GAAkC,EAAE,CAAC;YAChD,KAAK,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;gBAC7C,KAAK,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC;YACxB,CAAC;YACD,SAAS,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC;QAC9B,CAAC;IACH,CAAC;IAED,MAAM,QAAQ,GAA4B,EAAE,CAAC;IAC7C,IAAI,IAAI;QAAE,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE;YAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAE/D,MAAM,MAAM,GAAG,OAAO,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;IAEtC,OAAO;QACL,UAAU;QACV,QAAQ,EAAE,YAAY;QACtB,QAAQ,EAAE,YAAY;QACtB,KAAK,EAAE,SAAS;QAChB,eAAe,EAAE,eAAe,CAAC,CAAC,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE;QACjE,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE;QAC/C,WAAW,EAAE,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;QAC5D,IAAI,EAAE,QAAQ;KACf,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"entity.js","sourceRoot":"","sources":["../../src/doc/entity.ts"],"names":[],"mappings":"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"}
|
package/dist/doc/geometry.d.ts
CHANGED
|
@@ -17,6 +17,14 @@ export interface CreateGeometryOptions {
|
|
|
17
17
|
bbox?: BBox;
|
|
18
18
|
}
|
|
19
19
|
export declare function getGeometry(doc: Y.Doc, geomId: string): Y.Map<unknown> | undefined;
|
|
20
|
+
/**
|
|
21
|
+
* Iterate every geometry node in the doc as `[geomId, node]`. Useful for a
|
|
22
|
+
* recipient hydrating all blob-backed meshes directly from the geometry store
|
|
23
|
+
* — entities may reference the same node, and a single entity can own several
|
|
24
|
+
* meshes (multi-material / multiple representation items), so walking the
|
|
25
|
+
* store is more complete than walking per-entity refs.
|
|
26
|
+
*/
|
|
27
|
+
export declare function iterGeometries(doc: Y.Doc): IterableIterator<[string, Y.Map<unknown>]>;
|
|
20
28
|
export declare function createGeometry(doc: Y.Doc, geomId: string, opts: CreateGeometryOptions): Y.Map<unknown>;
|
|
21
29
|
export declare function setGeometryParam(doc: Y.Doc, geomId: string, paramName: string, value: unknown): void;
|
|
22
30
|
export declare function setGeometryBlobHash(doc: Y.Doc, geomId: string, blobHash: string): void;
|