@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.
Files changed (64) hide show
  1. package/dist/awareness/presence.d.ts +6 -0
  2. package/dist/awareness/presence.d.ts.map +1 -1
  3. package/dist/awareness/presence.js.map +1 -1
  4. package/dist/doc/annotation.d.ts +54 -0
  5. package/dist/doc/annotation.d.ts.map +1 -0
  6. package/dist/doc/annotation.js +84 -0
  7. package/dist/doc/annotation.js.map +1 -0
  8. package/dist/doc/entity.d.ts +18 -2
  9. package/dist/doc/entity.d.ts.map +1 -1
  10. package/dist/doc/entity.js +161 -11
  11. package/dist/doc/entity.js.map +1 -1
  12. package/dist/doc/geometry.d.ts +8 -0
  13. package/dist/doc/geometry.d.ts.map +1 -1
  14. package/dist/doc/geometry.js +12 -0
  15. package/dist/doc/geometry.js.map +1 -1
  16. package/dist/doc/placement.d.ts +102 -0
  17. package/dist/doc/placement.d.ts.map +1 -0
  18. package/dist/doc/placement.js +118 -0
  19. package/dist/doc/placement.js.map +1 -0
  20. package/dist/doc/schema.d.ts +14 -3
  21. package/dist/doc/schema.d.ts.map +1 -1
  22. package/dist/doc/schema.js +7 -0
  23. package/dist/doc/schema.js.map +1 -1
  24. package/dist/geometry/blob-store.d.ts.map +1 -1
  25. package/dist/geometry/blob-store.js +5 -1
  26. package/dist/geometry/blob-store.js.map +1 -1
  27. package/dist/geometry/gc.d.ts.map +1 -1
  28. package/dist/geometry/gc.js +12 -3
  29. package/dist/geometry/gc.js.map +1 -1
  30. package/dist/index.d.ts +2 -0
  31. package/dist/index.d.ts.map +1 -1
  32. package/dist/index.js +2 -0
  33. package/dist/index.js.map +1 -1
  34. package/dist/providers/webrtc.d.ts.map +1 -1
  35. package/dist/providers/webrtc.js +9 -1
  36. package/dist/providers/webrtc.js.map +1 -1
  37. package/dist/snapshot/from-ifcx.d.ts.map +1 -1
  38. package/dist/snapshot/from-ifcx.js +34 -2
  39. package/dist/snapshot/from-ifcx.js.map +1 -1
  40. package/dist/snapshot/from-step.d.ts +76 -0
  41. package/dist/snapshot/from-step.d.ts.map +1 -0
  42. package/dist/snapshot/from-step.js +70 -0
  43. package/dist/snapshot/from-step.js.map +1 -0
  44. package/dist/snapshot/index.d.ts +3 -0
  45. package/dist/snapshot/index.d.ts.map +1 -1
  46. package/dist/snapshot/index.js +3 -0
  47. package/dist/snapshot/index.js.map +1 -1
  48. package/dist/snapshot/minimal-layer.d.ts +20 -4
  49. package/dist/snapshot/minimal-layer.d.ts.map +1 -1
  50. package/dist/snapshot/minimal-layer.js +113 -70
  51. package/dist/snapshot/minimal-layer.js.map +1 -1
  52. package/dist/snapshot/publish-layer.d.ts +60 -0
  53. package/dist/snapshot/publish-layer.d.ts.map +1 -0
  54. package/dist/snapshot/publish-layer.js +43 -0
  55. package/dist/snapshot/publish-layer.js.map +1 -0
  56. package/dist/snapshot/structured-attrs.d.ts +107 -0
  57. package/dist/snapshot/structured-attrs.d.ts.map +1 -0
  58. package/dist/snapshot/structured-attrs.js +250 -0
  59. package/dist/snapshot/structured-attrs.js.map +1 -0
  60. package/dist/snapshot/to-ifcx.d.ts +4 -0
  61. package/dist/snapshot/to-ifcx.d.ts.map +1 -1
  62. package/dist/snapshot/to-ifcx.js +5 -2
  63. package/dist/snapshot/to-ifcx.js.map +1 -1
  64. 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":"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"}
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":"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"}
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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"}
@@ -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
- /** Point an entity at a specific entry in the top-level geometry map. */
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
- geometryRef?: string;
97
+ geometryRefs: string[];
82
98
  meta: Record<string, unknown>;
83
99
  };
84
100
  //# sourceMappingURL=entity.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"entity.d.ts","sourceRoot":"","sources":["../../src/doc/entity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"entity.d.ts","sourceRoot":"","sources":["../../src/doc/entity.ts"],"names":[],"mappings":"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"}
@@ -55,11 +55,47 @@ export function createEntity(doc, path, options = {}) {
55
55
  }
56
56
  }
57
57
  entity.set(ENTITY_KEY.INHERITS, inherits);
58
- entity.set(ENTITY_KEY.PSETS, new Y.Map());
59
- entity.set(ENTITY_KEY.QUANTITIES, new Y.Map());
60
- entity.set(ENTITY_KEY.CLASSIFICATIONS, new Y.Array());
61
- entity.set(ENTITY_KEY.MATERIALS, new Y.Array());
62
- entity.set(ENTITY_KEY.GEOMETRY_REF, new Y.Map());
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
- /** Point an entity at a specific entry in the top-level geometry map. */
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('geomId', ref.geomId);
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 geomId = refMap?.get('geomId');
282
- return typeof geomId === 'string' ? { geomId } : undefined;
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 geomId = geomRef?.get('geomId');
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
- geometryRef: typeof geomId === 'string' ? geomId : undefined,
491
+ geometryRefs,
342
492
  meta: metaJson,
343
493
  };
344
494
  }
@@ -1 +1 @@
1
- {"version":3,"file":"entity.js","sourceRoot":"","sources":["../../src/doc/entity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"entity.js","sourceRoot":"","sources":["../../src/doc/entity.ts"],"names":[],"mappings":"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"}
@@ -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;