@ifc-lite/collab 0.2.6 → 0.2.7

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 (45) 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 +4 -2
  9. package/dist/doc/entity.d.ts.map +1 -1
  10. package/dist/doc/entity.js +34 -6
  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-step.d.ts +76 -0
  38. package/dist/snapshot/from-step.d.ts.map +1 -0
  39. package/dist/snapshot/from-step.js +70 -0
  40. package/dist/snapshot/from-step.js.map +1 -0
  41. package/dist/snapshot/index.d.ts +1 -0
  42. package/dist/snapshot/index.d.ts.map +1 -1
  43. package/dist/snapshot/index.js +1 -0
  44. package/dist/snapshot/index.js.map +1 -1
  45. package/package.json +4 -4
@@ -0,0 +1,118 @@
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 { ENTITY_KEY, entitiesMap } from './schema.js';
5
+ /** IFCX/USD transform attribute key (mirrors `@ifc-lite/ifcx` `ATTR.TRANSFORM`). */
6
+ export const USD_XFORMOP = 'usd::xformop';
7
+ const EPS = 1e-9;
8
+ function normalize(v) {
9
+ const len = Math.hypot(v[0], v[1], v[2]);
10
+ if (len < EPS)
11
+ return [0, 0, 0];
12
+ return [v[0] / len, v[1] / len, v[2] / len];
13
+ }
14
+ function dot(a, b) {
15
+ return a[0] * b[0] + a[1] * b[1] + a[2] * b[2];
16
+ }
17
+ function cross(a, b) {
18
+ return [
19
+ a[1] * b[2] - a[2] * b[1],
20
+ a[2] * b[0] - a[0] * b[2],
21
+ a[0] * b[1] - a[1] * b[0],
22
+ ];
23
+ }
24
+ /**
25
+ * Build a 4×4 (row-vector) matrix from a normalized local placement.
26
+ * Rows 0/1/2 carry the orthonormal local X/Y/Z basis; row 3 the origin.
27
+ */
28
+ export function placementToMatrix(p) {
29
+ const z = normalize((p.axis ?? [0, 0, 1]));
30
+ const zAxis = z[0] === 0 && z[1] === 0 && z[2] === 0 ? [0, 0, 1] : z;
31
+ const refRaw = (p.refDirection ?? [1, 0, 0]);
32
+ // Gram–Schmidt: project refDirection off the Z axis so X ⟂ Z.
33
+ const d = dot(refRaw, zAxis);
34
+ let x = normalize([refRaw[0] - d * zAxis[0], refRaw[1] - d * zAxis[1], refRaw[2] - d * zAxis[2]]);
35
+ if (x[0] === 0 && x[1] === 0 && x[2] === 0) {
36
+ // refDirection was parallel to Z — fall back to a stable perpendicular.
37
+ x = Math.abs(zAxis[0]) < 0.9 ? normalize(cross([1, 0, 0], zAxis)) : normalize(cross([0, 1, 0], zAxis));
38
+ }
39
+ const y = cross(zAxis, x);
40
+ const [lx, ly, lz] = p.location;
41
+ return [
42
+ [x[0], x[1], x[2], 0],
43
+ [y[0], y[1], y[2], 0],
44
+ [zAxis[0], zAxis[1], zAxis[2], 0],
45
+ [lx, ly, lz, 1],
46
+ ];
47
+ }
48
+ /** Decompose a (row-vector) matrix back to a normalized local placement. */
49
+ export function matrixToPlacement(m) {
50
+ return {
51
+ location: [m[3]?.[0] ?? 0, m[3]?.[1] ?? 0, m[3]?.[2] ?? 0],
52
+ axis: [m[2]?.[0] ?? 0, m[2]?.[1] ?? 0, m[2]?.[2] ?? 1],
53
+ refDirection: [m[0]?.[0] ?? 1, m[0]?.[1] ?? 0, m[0]?.[2] ?? 0],
54
+ };
55
+ }
56
+ /* ------------------------------------------------------------------ */
57
+ /* Y.Doc accessors */
58
+ /* ------------------------------------------------------------------ */
59
+ function getEntity(doc, path) {
60
+ return entitiesMap(doc).get(path);
61
+ }
62
+ /**
63
+ * Write an entity's local placement as the `usd::xformop` attribute. Stored as
64
+ * a plain JSON matrix (replaced atomically — a placement has no meaningful
65
+ * partial update at the IFC level). No-op if the entity is missing.
66
+ */
67
+ export function setEntityPlacement(doc, path, placement) {
68
+ const entity = getEntity(doc, path);
69
+ if (!entity)
70
+ return;
71
+ const attrs = entity.get(ENTITY_KEY.ATTRIBUTES);
72
+ if (!attrs)
73
+ return;
74
+ const matrix = placementToMatrix(placement);
75
+ attrs.set(USD_XFORMOP, { transform: matrix.map((row) => [...row]) });
76
+ }
77
+ /** Read an entity's local placement from `usd::xformop`, or null if absent. */
78
+ export function getEntityPlacement(doc, path) {
79
+ const attrs = getEntity(doc, path)?.get(ENTITY_KEY.ATTRIBUTES);
80
+ const xform = attrs?.get(USD_XFORMOP);
81
+ if (!xform || !Array.isArray(xform.transform))
82
+ return null;
83
+ return matrixToPlacement(xform.transform);
84
+ }
85
+ /**
86
+ * `meta.placementBaseline` key — the `usd::xformop` value an entity's geometry
87
+ * blob was baked at. Lives in the entity's `meta` map, which is **room-only**:
88
+ * `snapshotToIfcx` emits attributes/children/inherits but not `meta`, so this
89
+ * never pollutes the IFCX wire. Every client renders `blob + (current xformop
90
+ * relative to this baseline)`, so a late joiner that hydrates a blob baked at
91
+ * M₀ while `usd::xformop` already reads M₁ still places it correctly.
92
+ */
93
+ export const PLACEMENT_BASELINE_META = 'placementBaseline';
94
+ /**
95
+ * Record the placement an entity's geometry blob was baked at (the value of
96
+ * `usd::xformop` when the blob was seeded — identity for legacy STEP models
97
+ * whose geometry is baked world-absolute). Idempotent: only the first write
98
+ * sticks, so re-seeding never moves the baseline out from under live edits.
99
+ */
100
+ export function setPlacementBaseline(doc, path, placement) {
101
+ const entity = getEntity(doc, path);
102
+ if (!entity)
103
+ return;
104
+ const meta = entity.get(ENTITY_KEY.META);
105
+ if (!meta || meta.has(PLACEMENT_BASELINE_META))
106
+ return;
107
+ const matrix = placementToMatrix(placement);
108
+ meta.set(PLACEMENT_BASELINE_META, { transform: matrix.map((row) => [...row]) });
109
+ }
110
+ /** Read the baked-baseline placement, or null if none was recorded. */
111
+ export function getPlacementBaseline(doc, path) {
112
+ const meta = getEntity(doc, path)?.get(ENTITY_KEY.META);
113
+ const xform = meta?.get(PLACEMENT_BASELINE_META);
114
+ if (!xform || !Array.isArray(xform.transform))
115
+ return null;
116
+ return matrixToPlacement(xform.transform);
117
+ }
118
+ //# sourceMappingURL=placement.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"placement.js","sourceRoot":"","sources":["../../src/doc/placement.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,12 @@ export declare const TOP: {
11
11
  readonly RELATIONSHIPS: "relationships";
12
12
  readonly GEOMETRY: "geometry";
13
13
  readonly META: "meta";
14
+ /**
15
+ * Collaboration annotation pins (markup), keyed by annotation id. Synced by
16
+ * Yjs alongside the model but intentionally NOT part of the IFCX snapshot/seed
17
+ * (snapshotToIfcx only walks ENTITIES) — markup is room overlay data, not BIM.
18
+ */
19
+ readonly ANNOTATIONS: "annotations";
14
20
  };
15
21
  /** Origin tag used for transactions originated by the local CollabSession. */
16
22
  export declare const LOCAL_ORIGIN: unique symbol;
@@ -89,10 +95,15 @@ export interface MaterialAssignment {
89
95
  thickness?: number;
90
96
  fraction?: number;
91
97
  }
92
- /** Geometry reference stored on each entity. */
98
+ /**
99
+ * Geometry reference stored on each entity. A single entity can own several
100
+ * meshes (multi-material / multiple representation items), so this holds an
101
+ * ordered list of pointers into the `geometry` top-level map (each == that
102
+ * entry's geomId). Older docs stored a single `geomId`; readers fall back to
103
+ * wrapping it as a one-element list.
104
+ */
93
105
  export interface GeometryRefRecord {
94
- /** Pointer into the `geometry` top-level map (== that entry's geomId). */
95
- geomId: string;
106
+ geomIds: string[];
96
107
  }
97
108
  /** Entity metadata. */
98
109
  export interface EntityMeta {
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/doc/schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/doc/schema.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,12 @@ export const TOP = {
14
14
  RELATIONSHIPS: 'relationships',
15
15
  GEOMETRY: 'geometry',
16
16
  META: 'meta',
17
+ /**
18
+ * Collaboration annotation pins (markup), keyed by annotation id. Synced by
19
+ * Yjs alongside the model but intentionally NOT part of the IFCX snapshot/seed
20
+ * (snapshotToIfcx only walks ENTITIES) — markup is room overlay data, not BIM.
21
+ */
22
+ ANNOTATIONS: 'annotations',
17
23
  };
18
24
  /** Origin tag used for transactions originated by the local CollabSession. */
19
25
  export const LOCAL_ORIGIN = Symbol.for('@ifc-lite/collab/local-origin');
@@ -79,6 +85,7 @@ export function createCollabDoc(opts = {}) {
79
85
  doc.getMap(TOP.RELATIONSHIPS);
80
86
  doc.getMap(TOP.GEOMETRY);
81
87
  doc.getMap(TOP.META);
88
+ doc.getMap(TOP.ANNOTATIONS);
82
89
  return doc;
83
90
  }
84
91
  /** Top-level accessors. Centralized so refactors stay safe. */
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/doc/schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/doc/schema.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAE/D;;;;;GAKG;AAEH,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AAEzB,mCAAmC;AACnC,MAAM,CAAC,MAAM,GAAG,GAAG;IACjB,QAAQ,EAAE,UAAU;IACpB,aAAa,EAAE,eAAe;IAC9B,QAAQ,EAAE,UAAU;IACpB,IAAI,EAAE,MAAM;IACZ;;;;OAIG;IACH,WAAW,EAAE,aAAa;CAClB,CAAC;AAEX,8EAA8E;AAC9E,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;AAExE,kEAAkE;AAClE,MAAM,CAAC,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;AAEtE,2DAA2D;AAC3D,MAAM,CAAC,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;AAEtE;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,iEAAiE;IACjE,UAAU,EAAE,YAAY;IACxB,qCAAqC;IACrC,QAAQ,EAAE,UAAU;IACpB,qCAAqC;IACrC,QAAQ,EAAE,UAAU;IACpB,mEAAmE;IACnE,KAAK,EAAE,OAAO;IACd,uDAAuD;IACvD,UAAU,EAAE,YAAY;IACxB,qCAAqC;IACrC,eAAe,EAAE,iBAAiB;IAClC,sCAAsC;IACtC,SAAS,EAAE,WAAW;IACtB,mDAAmD;IACnD,YAAY,EAAE,aAAa;IAC3B,oEAAoE;IACpE,IAAI,EAAE,MAAM;CACJ,CAAC;AAEX,mCAAmC;AACnC,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,SAAS,EAAE,UAAU;IACrB,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,SAAS;IAClB,UAAU,EAAE,YAAY;CAChB,CAAC;AAEX,+BAA+B;AAC/B,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;IAChB,SAAS,EAAE,UAAU;IACrB,IAAI,EAAE,MAAM;IACZ,cAAc,EAAE,eAAe;CACvB,CAAC;AAkEX;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAC,OAAyB,EAAE;IACzD,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;IAC/C,wEAAwE;IACxE,sEAAsE;IACtE,iBAAiB;IACjB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACzB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IAC9B,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACzB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACrB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAC5B,OAAO,GAAG,CAAC;AACb,CAAC;AAED,+DAA+D;AAC/D,MAAM,UAAU,WAAW,CAAC,GAAU;IACpC,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAA0B,CAAC;AAC3D,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,GAAU;IACzC,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,aAAa,CAA0B,CAAC;AAChE,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,GAAU;IACpC,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAA0B,CAAC;AAC3D,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,GAAU;IAChC,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAC9B,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,sBAAsB,CAAC,GAAU;IAC/C,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACzC,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IAC9C,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACzC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,YAAY,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CAAC,8CAA8C,GAAG,CAAC,QAAQ,GAAG,CAAC,CAAC;IACjF,CAAC;IACD,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,YAAY,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CAAC,8CAA8C,GAAG,CAAC,aAAa,GAAG,CAAC,CAAC;IACtF,CAAC;IACD,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,YAAY,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CAAC,8CAA8C,GAAG,CAAC,QAAQ,GAAG,CAAC,CAAC;IACjF,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"blob-store.d.ts","sourceRoot":"","sources":["../../src/geometry/blob-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"blob-store.d.ts","sourceRoot":"","sources":["../../src/geometry/blob-store.ts"],"names":[],"mappings":"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"}
@@ -131,7 +131,11 @@ export class HttpBlobStore {
131
131
  constructor(opts) {
132
132
  this.opts = opts;
133
133
  this.hasher = opts.hasher ?? fnv128;
134
- this.fetchImpl = opts.fetch ?? fetch;
134
+ // The global `fetch` must be invoked with `this` bound to the realm global
135
+ // (Window / globalThis). Storing the bare reference and later calling it as
136
+ // `this.fetchImpl(...)` would invoke it with `this` = this store instance,
137
+ // which browsers reject with "Illegal invocation". Bind the default.
138
+ this.fetchImpl = opts.fetch ?? globalThis.fetch.bind(globalThis);
135
139
  }
136
140
  url(hash) {
137
141
  return `${this.opts.baseUrl.replace(/\/$/, '')}/blobs/${hash}`;
@@ -1 +1 @@
1
- {"version":3,"file":"blob-store.js","sourceRoot":"","sources":["../../src/geometry/blob-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"blob-store.js","sourceRoot":"","sources":["../../src/geometry/blob-store.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"gc.d.ts","sourceRoot":"","sources":["../../src/geometry/gc.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AAOzB,OAAO,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAErE;;;;;;;;GAQG;AACH,wBAAgB,2BAA2B,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,QAAQ,CAAC,CAuBrE;AAgBD,MAAM,WAAW,YAAY;IAC3B;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mDAAmD;IACnD,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IACnB;;;;;OAKG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,QAAQ,EAAE,CAAC;IACjB,mHAAmH;IACnH,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;;;;GAKG;AACH,wBAAsB,aAAa,CACjC,KAAK,EAAE,SAAS,EAChB,UAAU,EAAE,GAAG,CAAC,QAAQ,CAAC,EACzB,OAAO,GAAE,YAAY,GAAG;IACtB,2EAA2E;IAC3E,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;CACxD,GACL,OAAO,CAAC,aAAa,CAAC,CA4BxB;AAoBD,kEAAkE;AAClE,wBAAsB,UAAU,CAAC,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,CAQ3F"}
1
+ {"version":3,"file":"gc.d.ts","sourceRoot":"","sources":["../../src/geometry/gc.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AAOzB,OAAO,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAErE;;;;;;;;GAQG;AACH,wBAAgB,2BAA2B,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,QAAQ,CAAC,CAgCrE;AAgBD,MAAM,WAAW,YAAY;IAC3B;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mDAAmD;IACnD,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IACnB;;;;;OAKG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,QAAQ,EAAE,CAAC;IACjB,mHAAmH;IACnH,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;;;;GAKG;AACH,wBAAsB,aAAa,CACjC,KAAK,EAAE,SAAS,EAChB,UAAU,EAAE,GAAG,CAAC,QAAQ,CAAC,EACzB,OAAO,GAAE,YAAY,GAAG;IACtB,2EAA2E;IAC3E,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;CACxD,GACL,OAAO,CAAC,aAAa,CAAC,CA4BxB;AAoBD,kEAAkE;AAClE,wBAAsB,UAAU,CAAC,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,CAQ3F"}
@@ -19,10 +19,19 @@ export function collectReferencedBlobHashes(doc) {
19
19
  ents.forEach((entUntyped) => {
20
20
  const entity = entUntyped;
21
21
  const refMap = entity.get(ENTITY_KEY.GEOMETRY_REF);
22
- const geomId = refMap?.get('geomId');
23
- if (typeof geomId !== 'string')
22
+ if (!refMap)
24
23
  return;
25
- addBlobHashesFromGeometry(geom.get(geomId), referenced);
24
+ // An entity may reference several geometry nodes (multi-material); older
25
+ // docs stored a single `geomId`. Resolve all of them.
26
+ const idsRaw = refMap.get('geomIds');
27
+ const geomIds = Array.isArray(idsRaw)
28
+ ? idsRaw.filter((v) => typeof v === 'string')
29
+ : typeof refMap.get('geomId') === 'string'
30
+ ? [refMap.get('geomId')]
31
+ : [];
32
+ for (const geomId of geomIds) {
33
+ addBlobHashesFromGeometry(geom.get(geomId), referenced);
34
+ }
26
35
  });
27
36
  // 2. Also include unreferenced-by-entity geometry entries' blobs —
28
37
  // they are reachable via `geometry` and may get a fresh entity ref
@@ -1 +1 @@
1
- {"version":3,"file":"gc.js","sourceRoot":"","sources":["../../src/geometry/gc.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gc.js","sourceRoot":"","sources":["../../src/geometry/gc.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -5,8 +5,10 @@
5
5
  */
6
6
  export * from './doc/schema.js';
7
7
  export * from './doc/entity.js';
8
+ export * from './doc/placement.js';
8
9
  export * from './doc/relationship.js';
9
10
  export * from './doc/geometry.js';
11
+ export * from './doc/annotation.js';
10
12
  export * from './snapshot/index.js';
11
13
  export { createIndexedDbProvider, createMemoryProvider, type IndexedDbProvider, type IndexedDbOptions, } from './providers/indexeddb.js';
12
14
  export { createWebSocketProvider, type WebSocketProvider, type WebSocketProviderOptions, type WebSocketStatus, } from './providers/websocket.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA;;;;GAIG;AAGH,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAGlC,cAAc,qBAAqB,CAAC;AAGpC,OAAO,EACL,uBAAuB,EACvB,oBAAoB,EACpB,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,GACtB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,uBAAuB,EACvB,KAAK,iBAAiB,EACtB,KAAK,wBAAwB,EAC7B,KAAK,eAAe,GACrB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,oBAAoB,EACpB,KAAK,cAAc,EACnB,KAAK,qBAAqB,EAC1B,KAAK,YAAY,GAClB,MAAM,uBAAuB,CAAC;AAG/B,cAAc,gBAAgB,CAAC;AAG/B,cAAc,sBAAsB,CAAC;AAGrC,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,KAAK,WAAW,EAAE,KAAK,cAAc,EAAE,MAAM,WAAW,CAAC;AAGlG,cAAc,sBAAsB,CAAC;AAGrC,cAAc,qBAAqB,CAAC;AAGpC,cAAc,uBAAuB,CAAC;AAGtC,cAAc,mBAAmB,CAAC;AAGlC,cAAc,sBAAsB,CAAC;AAGrC,cAAc,oBAAoB,CAAC;AAGnC,cAAc,cAAc,CAAC;AAG7B,cAAc,qBAAqB,CAAC;AAGpC,cAAc,iBAAiB,CAAC;AAGhC,OAAO,EACL,mBAAmB,EACnB,KAAK,aAAa,EAClB,KAAK,oBAAoB,EACzB,KAAK,YAAY,GAClB,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA;;;;GAIG;AAGH,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AAGpC,cAAc,qBAAqB,CAAC;AAGpC,OAAO,EACL,uBAAuB,EACvB,oBAAoB,EACpB,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,GACtB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,uBAAuB,EACvB,KAAK,iBAAiB,EACtB,KAAK,wBAAwB,EAC7B,KAAK,eAAe,GACrB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,oBAAoB,EACpB,KAAK,cAAc,EACnB,KAAK,qBAAqB,EAC1B,KAAK,YAAY,GAClB,MAAM,uBAAuB,CAAC;AAG/B,cAAc,gBAAgB,CAAC;AAG/B,cAAc,sBAAsB,CAAC;AAGrC,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,KAAK,WAAW,EAAE,KAAK,cAAc,EAAE,MAAM,WAAW,CAAC;AAGlG,cAAc,sBAAsB,CAAC;AAGrC,cAAc,qBAAqB,CAAC;AAGpC,cAAc,uBAAuB,CAAC;AAGtC,cAAc,mBAAmB,CAAC;AAGlC,cAAc,sBAAsB,CAAC;AAGrC,cAAc,oBAAoB,CAAC;AAGnC,cAAc,cAAc,CAAC;AAG7B,cAAc,qBAAqB,CAAC;AAGpC,cAAc,iBAAiB,CAAC;AAGhC,OAAO,EACL,mBAAmB,EACnB,KAAK,aAAa,EAClB,KAAK,oBAAoB,EACzB,KAAK,YAAY,GAClB,MAAM,cAAc,CAAC"}
package/dist/index.js CHANGED
@@ -9,8 +9,10 @@
9
9
  // Doc model
10
10
  export * from './doc/schema.js';
11
11
  export * from './doc/entity.js';
12
+ export * from './doc/placement.js';
12
13
  export * from './doc/relationship.js';
13
14
  export * from './doc/geometry.js';
15
+ export * from './doc/annotation.js';
14
16
  // Snapshot / IFCX bridge
15
17
  export * from './snapshot/index.js';
16
18
  // Providers
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAE/D;;;;GAIG;AAEH,YAAY;AACZ,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAElC,yBAAyB;AACzB,cAAc,qBAAqB,CAAC;AAEpC,YAAY;AACZ,OAAO,EACL,uBAAuB,EACvB,oBAAoB,GAGrB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,uBAAuB,GAIxB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,oBAAoB,GAIrB,MAAM,uBAAuB,CAAC;AAE/B,eAAe;AACf,cAAc,gBAAgB,CAAC;AAE/B,uBAAuB;AACvB,cAAc,sBAAsB,CAAC;AAErC,cAAc;AACd,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAyC,MAAM,WAAW,CAAC;AAElG,qBAAqB;AACrB,cAAc,sBAAsB,CAAC;AAErC,uCAAuC;AACvC,cAAc,qBAAqB,CAAC;AAEpC,aAAa;AACb,cAAc,uBAAuB,CAAC;AAEtC,2BAA2B;AAC3B,cAAc,mBAAmB,CAAC;AAElC,gCAAgC;AAChC,cAAc,sBAAsB,CAAC;AAErC,0CAA0C;AAC1C,cAAc,oBAAoB,CAAC;AAEnC,gCAAgC;AAChC,cAAc,cAAc,CAAC;AAE7B,0CAA0C;AAC1C,cAAc,qBAAqB,CAAC;AAEpC,kCAAkC;AAClC,cAAc,iBAAiB,CAAC;AAEhC,2BAA2B;AAC3B,OAAO,EACL,mBAAmB,GAIpB,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAE/D;;;;GAIG;AAEH,YAAY;AACZ,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AAEpC,yBAAyB;AACzB,cAAc,qBAAqB,CAAC;AAEpC,YAAY;AACZ,OAAO,EACL,uBAAuB,EACvB,oBAAoB,GAGrB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,uBAAuB,GAIxB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,oBAAoB,GAIrB,MAAM,uBAAuB,CAAC;AAE/B,eAAe;AACf,cAAc,gBAAgB,CAAC;AAE/B,uBAAuB;AACvB,cAAc,sBAAsB,CAAC;AAErC,cAAc;AACd,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAyC,MAAM,WAAW,CAAC;AAElG,qBAAqB;AACrB,cAAc,sBAAsB,CAAC;AAErC,uCAAuC;AACvC,cAAc,qBAAqB,CAAC;AAEpC,aAAa;AACb,cAAc,uBAAuB,CAAC;AAEtC,2BAA2B;AAC3B,cAAc,mBAAmB,CAAC;AAElC,gCAAgC;AAChC,cAAc,sBAAsB,CAAC;AAErC,0CAA0C;AAC1C,cAAc,oBAAoB,CAAC;AAEnC,gCAAgC;AAChC,cAAc,cAAc,CAAC;AAE7B,0CAA0C;AAC1C,cAAc,qBAAqB,CAAC;AAEpC,kCAAkC;AAClC,cAAc,iBAAiB,CAAC;AAEhC,2BAA2B;AAC3B,OAAO,EACL,mBAAmB,GAIpB,MAAM,cAAc,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"webrtc.d.ts","sourceRoot":"","sources":["../../src/providers/webrtc.ts"],"names":[],"mappings":"AAIA;;;;;;;GAOG;AAEH,OAAO,KAAK,KAAK,CAAC,MAAM,KAAK,CAAC;AAC9B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAEvD,MAAM,MAAM,YAAY,GAAG,YAAY,GAAG,WAAW,GAAG,cAAc,CAAC;AAEvE,MAAM,WAAW,qBAAqB;IACpC,6DAA6D;IAC7D,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,mDAAmD;IACnD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,2DAA2D;IAC3D,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,2CAA2C;IAC3C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,+DAA+D;IAC/D,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,8CAA8C;IAC9C,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,YAAY,KAAK,IAAI,GAAG,MAAM,IAAI,CAAC;IAC1D,UAAU,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1B,OAAO,IAAI,IAAI,CAAC;IAChB,UAAU,IAAI,IAAI,CAAC;IACnB,OAAO,IAAI,IAAI,CAAC;CACjB;AAED;;;GAGG;AACH,wBAAsB,oBAAoB,CACxC,GAAG,EAAE,CAAC,CAAC,GAAG,EACV,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC,cAAc,CAAC,CAqFzB"}
1
+ {"version":3,"file":"webrtc.d.ts","sourceRoot":"","sources":["../../src/providers/webrtc.ts"],"names":[],"mappings":"AAIA;;;;;;;GAOG;AAEH,OAAO,KAAK,KAAK,CAAC,MAAM,KAAK,CAAC;AAC9B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAEvD,MAAM,MAAM,YAAY,GAAG,YAAY,GAAG,WAAW,GAAG,cAAc,CAAC;AAEvE,MAAM,WAAW,qBAAqB;IACpC,6DAA6D;IAC7D,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,mDAAmD;IACnD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,2DAA2D;IAC3D,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,2CAA2C;IAC3C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,+DAA+D;IAC/D,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,8CAA8C;IAC9C,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,YAAY,KAAK,IAAI,GAAG,MAAM,IAAI,CAAC;IAC1D,UAAU,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1B,OAAO,IAAI,IAAI,CAAC;IAChB,UAAU,IAAI,IAAI,CAAC;IACnB,OAAO,IAAI,IAAI,CAAC;CACjB;AAED;;;GAGG;AACH,wBAAsB,oBAAoB,CACxC,GAAG,EAAE,CAAC,CAAC,GAAG,EACV,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC,cAAc,CAAC,CA6FzB"}
@@ -6,7 +6,15 @@
6
6
  * who don't use this provider don't pay its bundle cost.
7
7
  */
8
8
  export async function createWebRtcProvider(doc, roomId, options = {}) {
9
- const mod = await import('y-webrtc').catch(() => null);
9
+ // Hide the specifier from bundler static analysis: y-webrtc is an OPTIONAL
10
+ // dependency, and consumers that never construct the WebRTC provider (the
11
+ // viewer, viewer-embed, downstream apps) must not be forced to resolve or
12
+ // stub it at build time. A literal `import('y-webrtc')` is still resolved
13
+ // statically by Rollup/Rolldown/Vite even inside a .catch; routing it
14
+ // through a variable (+ @vite-ignore) leaves it as a plain runtime dynamic
15
+ // import that the catch below turns into the friendly error.
16
+ const specifier = 'y-webrtc';
17
+ const mod = await import(/* @vite-ignore */ specifier).catch(() => null);
10
18
  if (!mod) {
11
19
  throw new Error('@ifc-lite/collab: y-webrtc is not installed. Run `pnpm add y-webrtc` and retry.');
12
20
  }
@@ -1 +1 @@
1
- {"version":3,"file":"webrtc.js","sourceRoot":"","sources":["../../src/providers/webrtc.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"webrtc.js","sourceRoot":"","sources":["../../src/providers/webrtc.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,76 @@
1
+ /**
2
+ * Legacy STEP IFC → Y.Doc seeding (plan §4.1, §4.2).
3
+ *
4
+ * STEP IFC (IFC2X3 / IFC4 / IFC4X3) has no IFCX paths — only file-local,
5
+ * unstable express ids (`#123`). The stable, file-independent key is the
6
+ * `IfcGloballyUniqueId` (GUID). This seeder keys CRDT entities on the GUID
7
+ * (`/<guid>`), so concurrent edits from peers converge regardless of how
8
+ * each peer's parser numbered the file.
9
+ *
10
+ * Crucially, `@ifc-lite/collab` stays parser-independent: rather than depend
11
+ * on `@ifc-lite/parser` and walk its columnar tables, this takes a minimal
12
+ * structural `StepSeedSource`. The consumer (the viewer, which already has
13
+ * the parser) adapts its `IfcDataStore` into this shape. Geometry is handled
14
+ * separately (hybrid re-tessellation / mesh blobs — plan §4.2 consequence 2),
15
+ * so this seeds entities, attributes, and property sets only.
16
+ */
17
+ import type * as Y from 'yjs';
18
+ import type { PropertyValue } from '../doc/schema.js';
19
+ /** Schema versions the CRDT entity meta accepts (see `EntityMeta`). */
20
+ export type CollabSchemaVersion = 'ifc4' | 'ifc4x3' | 'ifc5';
21
+ /** A single STEP entity reduced to what the CRDT needs. */
22
+ export interface StepSeedEntity {
23
+ /** IfcGloballyUniqueId (22-char). Entities without one are skipped. */
24
+ guid: string;
25
+ /** IFC class name, e.g. `IfcWallStandardCase`. */
26
+ ifcClass: string;
27
+ /**
28
+ * IFCX-native flat attributes (`bsi::ifc::class`, `bsi::ifc::prop::*`, …).
29
+ * Shaped this way so a recipient can reconstruct the model through the same
30
+ * IFCX path as IFC5 rooms — see the viewer's `buildStepSeedSource`.
31
+ */
32
+ attributes?: Record<string, unknown>;
33
+ /**
34
+ * Spatial containment + decomposition as IFCX children: a unique key → the
35
+ * child entity's path (`/<guid>`). Lets the recipient rebuild the spatial
36
+ * tree (Project → Site → Building → Storey → elements).
37
+ */
38
+ children?: Record<string, string>;
39
+ /** Property sets: psetName → propName → value. */
40
+ psets?: Record<string, Record<string, PropertyValue>>;
41
+ }
42
+ /** Minimal model view the seeder consumes (the viewer adapts its store to this). */
43
+ export interface StepSeedSource {
44
+ entities: Iterable<StepSeedEntity>;
45
+ /** Optional file-level metadata mirrored into the doc meta map. */
46
+ header?: {
47
+ schema?: string;
48
+ author?: string;
49
+ timestamp?: string;
50
+ fileName?: string;
51
+ };
52
+ }
53
+ export interface SeedFromStepOptions {
54
+ /** Origin tag for the seeding transaction. Defaults to `SEED_ORIGIN`. */
55
+ origin?: unknown;
56
+ /**
57
+ * Map a raw IFC schema string (`IFC4`, `IFC4X3`, …) to the value stored as
58
+ * the entity `schemaVersion`. Defaults to {@link defaultSchemaVersion}.
59
+ */
60
+ schemaVersionFor?: (schema: string | undefined) => CollabSchemaVersion;
61
+ }
62
+ export interface SeedFromStepResult {
63
+ /** Number of entities seeded (those with a GUID). */
64
+ seeded: number;
65
+ /** Number of source entities skipped (no GUID). */
66
+ skipped: number;
67
+ }
68
+ /** Path key for a STEP entity. Exported so the viewer's `resolveEntity` matches. */
69
+ export declare function guidToPath(guid: string): string;
70
+ /**
71
+ * Seed `doc` from a legacy STEP model. Idempotent: re-seeding the same source
72
+ * into a doc that already has those GUIDs is a no-op (`createEntity` returns
73
+ * the existing entity). Returns seed/skip counts.
74
+ */
75
+ export declare function seedFromStep(doc: Y.Doc, source: StepSeedSource, opts?: SeedFromStepOptions): SeedFromStepResult;
76
+ //# sourceMappingURL=from-step.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"from-step.d.ts","sourceRoot":"","sources":["../../src/snapshot/from-step.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,KAAK,CAAC,MAAM,KAAK,CAAC;AAG9B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEtD,uEAAuE;AACvE,MAAM,MAAM,mBAAmB,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAC;AAkB7D,2DAA2D;AAC3D,MAAM,WAAW,cAAc;IAC7B,uEAAuE;IACvE,IAAI,EAAE,MAAM,CAAC;IACb,kDAAkD;IAClD,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,kDAAkD;IAClD,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC;CACvD;AAED,oFAAoF;AACpF,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,QAAQ,CAAC,cAAc,CAAC,CAAC;IACnC,mEAAmE;IACnE,MAAM,CAAC,EAAE;QACP,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;CACH;AAED,MAAM,WAAW,mBAAmB;IAClC,yEAAyE;IACzE,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,KAAK,mBAAmB,CAAC;CACxE;AAED,MAAM,WAAW,kBAAkB;IACjC,qDAAqD;IACrD,MAAM,EAAE,MAAM,CAAC;IACf,mDAAmD;IACnD,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,oFAAoF;AACpF,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE/C;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAC1B,GAAG,EAAE,CAAC,CAAC,GAAG,EACV,MAAM,EAAE,cAAc,EACtB,IAAI,GAAE,mBAAwB,GAC7B,kBAAkB,CA2CpB"}
@@ -0,0 +1,70 @@
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 { createEntity, setPropertyValue } from '../doc/entity.js';
5
+ import { SEED_ORIGIN, assertSchemaInvariants, metaMap } from '../doc/schema.js';
6
+ /**
7
+ * Map a raw STEP schema string to the CRDT's supported set. Legacy IFC2X3 and
8
+ * IFC4 both map to `ifc4` (the spec's editing baseline); IFC4X3 → `ifc4x3`;
9
+ * IFC5 → `ifc5`. Unknown → `ifc4`.
10
+ */
11
+ function defaultSchemaVersion(schema) {
12
+ switch ((schema ?? '').toUpperCase()) {
13
+ case 'IFC4X3':
14
+ return 'ifc4x3';
15
+ case 'IFC5':
16
+ return 'ifc5';
17
+ default:
18
+ return 'ifc4';
19
+ }
20
+ }
21
+ /** Path key for a STEP entity. Exported so the viewer's `resolveEntity` matches. */
22
+ export function guidToPath(guid) {
23
+ return `/${guid}`;
24
+ }
25
+ /**
26
+ * Seed `doc` from a legacy STEP model. Idempotent: re-seeding the same source
27
+ * into a doc that already has those GUIDs is a no-op (`createEntity` returns
28
+ * the existing entity). Returns seed/skip counts.
29
+ */
30
+ export function seedFromStep(doc, source, opts = {}) {
31
+ assertSchemaInvariants(doc);
32
+ const schemaVersionFor = opts.schemaVersionFor ?? defaultSchemaVersion;
33
+ const schemaVersion = schemaVersionFor(source.header?.schema);
34
+ let seeded = 0;
35
+ let skipped = 0;
36
+ doc.transact(() => {
37
+ const meta = metaMap(doc);
38
+ if (source.header)
39
+ meta.set('stepHeader', source.header);
40
+ for (const ent of source.entities) {
41
+ if (!ent.guid) {
42
+ skipped++;
43
+ continue;
44
+ }
45
+ const path = guidToPath(ent.guid);
46
+ createEntity(doc, path, {
47
+ ifcClass: ent.ifcClass,
48
+ attributes: ent.attributes ?? {},
49
+ children: ent.children,
50
+ schemaVersion,
51
+ meta: {
52
+ ifcClass: ent.ifcClass,
53
+ schemaVersion,
54
+ createdAt: source.header?.timestamp ?? new Date().toISOString(),
55
+ createdBy: source.header?.author,
56
+ },
57
+ });
58
+ if (ent.psets) {
59
+ for (const [psetName, props] of Object.entries(ent.psets)) {
60
+ for (const [propName, value] of Object.entries(props)) {
61
+ setPropertyValue(doc, path, psetName, propName, value);
62
+ }
63
+ }
64
+ }
65
+ seeded++;
66
+ }
67
+ }, opts.origin ?? SEED_ORIGIN);
68
+ return { seeded, skipped };
69
+ }
70
+ //# sourceMappingURL=from-step.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"from-step.js","sourceRoot":"","sources":["../../src/snapshot/from-step.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAoB/D,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,sBAAsB,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAMhF;;;;GAIG;AACH,SAAS,oBAAoB,CAAC,MAA0B;IACtD,QAAQ,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;QACrC,KAAK,QAAQ;YACX,OAAO,QAAQ,CAAC;QAClB,KAAK,MAAM;YACT,OAAO,MAAM,CAAC;QAChB;YACE,OAAO,MAAM,CAAC;IAClB,CAAC;AACH,CAAC;AAqDD,oFAAoF;AACpF,MAAM,UAAU,UAAU,CAAC,IAAY;IACrC,OAAO,IAAI,IAAI,EAAE,CAAC;AACpB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAC1B,GAAU,EACV,MAAsB,EACtB,OAA4B,EAAE;IAE9B,sBAAsB,CAAC,GAAG,CAAC,CAAC;IAC5B,MAAM,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,IAAI,oBAAoB,CAAC;IACvE,MAAM,aAAa,GAAG,gBAAgB,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAE9D,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,IAAI,OAAO,GAAG,CAAC,CAAC;IAEhB,GAAG,CAAC,QAAQ,CAAC,GAAG,EAAE;QAChB,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;QAC1B,IAAI,MAAM,CAAC,MAAM;YAAE,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;QAEzD,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YAClC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;gBACd,OAAO,EAAE,CAAC;gBACV,SAAS;YACX,CAAC;YACD,MAAM,IAAI,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAClC,YAAY,CAAC,GAAG,EAAE,IAAI,EAAE;gBACtB,QAAQ,EAAE,GAAG,CAAC,QAAQ;gBACtB,UAAU,EAAE,GAAG,CAAC,UAAU,IAAI,EAAE;gBAChC,QAAQ,EAAE,GAAG,CAAC,QAAQ;gBACtB,aAAa;gBACb,IAAI,EAAE;oBACJ,QAAQ,EAAE,GAAG,CAAC,QAAQ;oBACtB,aAAa;oBACb,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;oBAC/D,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM;iBACjC;aACF,CAAC,CAAC;YAEH,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;gBACd,KAAK,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;oBAC1D,KAAK,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;wBACtD,gBAAgB,CAAC,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;oBACzD,CAAC;gBACH,CAAC;YACH,CAAC;YACD,MAAM,EAAE,CAAC;QACX,CAAC;IACH,CAAC,EAAE,IAAI,CAAC,MAAM,IAAI,WAAW,CAAC,CAAC;IAE/B,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;AAC7B,CAAC"}
@@ -1,4 +1,5 @@
1
1
  export { seedFromIfcx, parseIfcxInput, type SeedOptions, type IfcxInput, } from './from-ifcx.js';
2
+ export { seedFromStep, guidToPath, type StepSeedEntity, type StepSeedSource, type SeedFromStepOptions, type SeedFromStepResult, type CollabSchemaVersion, } from './from-step.js';
2
3
  export { snapshotToIfcx, serializeIfcx, type SnapshotOptions } from './to-ifcx.js';
3
4
  export { captureBaseline, extractUserLayer, filterUpdateByClient, } from './layers.js';
4
5
  export { extractMinimalLayer, type ExtractMinimalLayerOptions, } from './minimal-layer.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/snapshot/index.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,YAAY,EACZ,cAAc,EACd,KAAK,WAAW,EAChB,KAAK,SAAS,GACf,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,KAAK,eAAe,EAAE,MAAM,cAAc,CAAC;AACnF,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,mBAAmB,EACnB,KAAK,0BAA0B,GAChC,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,iBAAiB,EACjB,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,eAAe,GACrB,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/snapshot/index.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,YAAY,EACZ,cAAc,EACd,KAAK,WAAW,EAChB,KAAK,SAAS,GACf,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,YAAY,EACZ,UAAU,EACV,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,GACzB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,KAAK,eAAe,EAAE,MAAM,cAAc,CAAC;AACnF,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,mBAAmB,EACnB,KAAK,0BAA0B,GAChC,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,iBAAiB,EACjB,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,eAAe,GACrB,MAAM,aAAa,CAAC"}
@@ -2,6 +2,7 @@
2
2
  * License, v. 2.0. If a copy of the MPL was not distributed with this
3
3
  * file, You can obtain one at https://mozilla.org/MPL/2.0/. */
4
4
  export { seedFromIfcx, parseIfcxInput, } from './from-ifcx.js';
5
+ export { seedFromStep, guidToPath, } from './from-step.js';
5
6
  export { snapshotToIfcx, serializeIfcx } from './to-ifcx.js';
6
7
  export { captureBaseline, extractUserLayer, filterUpdateByClient, } from './layers.js';
7
8
  export { extractMinimalLayer, } from './minimal-layer.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/snapshot/index.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAE/D,OAAO,EACL,YAAY,EACZ,cAAc,GAGf,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,cAAc,EAAE,aAAa,EAAwB,MAAM,cAAc,CAAC;AACnF,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,mBAAmB,GAEpB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,iBAAiB,GAIlB,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/snapshot/index.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAE/D,OAAO,EACL,YAAY,EACZ,cAAc,GAGf,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,YAAY,EACZ,UAAU,GAMX,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,cAAc,EAAE,aAAa,EAAwB,MAAM,cAAc,CAAC;AACnF,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,mBAAmB,GAEpB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,iBAAiB,GAIlB,MAAM,aAAa,CAAC"}