@ifc-lite/sdk 6.0.0 → 6.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. package/README.md +5 -0
  2. package/dist/context.d.ts +2 -0
  3. package/dist/context.d.ts.map +1 -1
  4. package/dist/context.js +4 -1
  5. package/dist/context.js.map +1 -1
  6. package/dist/cost-backend.d.ts +9 -0
  7. package/dist/cost-backend.d.ts.map +1 -0
  8. package/dist/cost-backend.js +163 -0
  9. package/dist/cost-backend.js.map +1 -0
  10. package/dist/cost-types.d.ts +159 -0
  11. package/dist/cost-types.d.ts.map +1 -0
  12. package/dist/cost-types.js +5 -0
  13. package/dist/cost-types.js.map +1 -0
  14. package/dist/index.d.ts +5 -1
  15. package/dist/index.d.ts.map +1 -1
  16. package/dist/index.js +2 -0
  17. package/dist/index.js.map +1 -1
  18. package/dist/namespaces/bcf.d.ts +24 -1
  19. package/dist/namespaces/bcf.d.ts.map +1 -1
  20. package/dist/namespaces/bcf.js +33 -2
  21. package/dist/namespaces/bcf.js.map +1 -1
  22. package/dist/namespaces/cost.d.ts +15 -0
  23. package/dist/namespaces/cost.d.ts.map +1 -0
  24. package/dist/namespaces/cost.js +19 -0
  25. package/dist/namespaces/cost.js.map +1 -0
  26. package/dist/namespaces/viewer.d.ts +1 -1
  27. package/dist/namespaces/viewer.d.ts.map +1 -1
  28. package/dist/namespaces/viewer.js +3 -1
  29. package/dist/namespaces/viewer.js.map +1 -1
  30. package/dist/schedule-types.d.ts +136 -0
  31. package/dist/schedule-types.d.ts.map +1 -0
  32. package/dist/schedule-types.js +5 -0
  33. package/dist/schedule-types.js.map +1 -0
  34. package/dist/transport/remote-backend.d.ts +2 -1
  35. package/dist/transport/remote-backend.d.ts.map +1 -1
  36. package/dist/transport/remote-backend.js +11 -2
  37. package/dist/transport/remote-backend.js.map +1 -1
  38. package/dist/types.d.ts +18 -81
  39. package/dist/types.d.ts.map +1 -1
  40. package/dist/types.js +9 -0
  41. package/dist/types.js.map +1 -1
  42. package/package.json +9 -9
@@ -1 +1 @@
1
- {"version":3,"file":"bcf.d.ts","sourceRoot":"","sources":["../../src/namespaces/bcf.ts"],"names":[],"mappings":"AAIA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,uBAAuB,EAG5B,0BAA0B,EAC1B,yBAAyB,EAKzB,KAAK,eAAe,EAIrB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD,YAAY,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,CAAC;AAC1D,OAAO,EAAE,0BAA0B,EAAE,yBAAyB,EAAE,CAAC;AAMjE,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,aAAa;IAC5B,uBAAuB;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kCAAkC;IAClC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kBAAkB;IAClB,OAAO,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC;IACxB,yDAAyD;IACzD,YAAY,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE;QAAE,GAAG,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QAAC,GAAG,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE,CAAC,CAAC;CAC9F;AAMD;;uCAEuC;AACvC,qBAAa,YAAa,SAAQ,gBAAgB;IAMhD,gCAAgC;IAC1B,aAAa,CAAC,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,KAAK,GAAG,KAAK,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAS3F,0BAA0B;IACpB,WAAW,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC;IAe1D,gCAAgC;IAC1B,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAK/D,oCAAoC;IAC9B,iBAAiB,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAS9F,4BAA4B;IACtB,aAAa,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC;IAK9D,gCAAgC;IAC1B,UAAU,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IASjE;;;;;;;;;OASG;IACG,eAAe,CAAC,OAAO,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC;IA+DnE,kCAAkC;IAC5B,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAKrE;;;;;;;;;;;OAWG;IACG,qBAAqB,CAAC,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,IAAI,GAAG,OAAO,CAAC,uBAAuB,CAAC;IA0ChG,6DAA6D;IACvD,mBAAmB,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAK5D;mFAC+E;IACzE,kBAAkB,CAAC,MAAM,EAAE,OAAO,EAAE,gBAAgB,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAKtF,6DAA6D;IACvD,mBAAmB,CAAC,WAAW,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAKjE,4DAA4D;IACtD,kBAAkB,CAAC,UAAU,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAS/D;;mEAE+D;IACzD,2BAA2B,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,GAAG,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC;IAKrG;;uEAEmE;IAC7D,2BAA2B,CAAC,aAAa,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,GAAG,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC;IAS3G,kEAAkE;IAC5D,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC;IAKtD,gEAAgE;IAC1D,KAAK,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAS5C,oFAAoF;IAC9E,mBAAmB,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC;CAKtF"}
1
+ {"version":3,"file":"bcf.d.ts","sourceRoot":"","sources":["../../src/namespaces/bcf.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,22 @@ export { IncompleteCameraStateError, MissingSectionBoundsError };
12
12
  * The GUID and color utility methods live in `bcf-guid-color.ts`'s base
13
13
  * class (module-size split, #4294). */
14
14
  export class BCFNamespace extends BCFGuidColorBase {
15
+ backend;
16
+ /**
17
+ * `backend` supplies the viewer's render-frame offset
18
+ * (`viewer.getRenderFrameOffset`). Without one (`new BCFNamespace()`, as
19
+ * the CLI's `bcf` command uses it) viewpoints are taken as already being in
20
+ * world coordinates.
21
+ */
22
+ constructor(backend) {
23
+ super();
24
+ this.backend = backend;
25
+ }
26
+ /** Render frame -> IFC world translation, IFC Z-up; zero when unknown. */
27
+ worldOffset() {
28
+ const offset = this.backend?.viewer.getRenderFrameOffset?.();
29
+ return offset ? toVec3(offset) : { x: 0, y: 0, z: 0 };
30
+ }
15
31
  // --------------------------------------------------------------------------
16
32
  // Project management
17
33
  // --------------------------------------------------------------------------
@@ -73,6 +89,13 @@ export class BCFNamespace extends BCFGuidColorBase {
73
89
  * `IncompleteCameraStateError` for a camera missing position/target/up,
74
90
  * and `MissingSectionBoundsError` for an enabled section plane with no
75
91
  * `bounds` — see #4251.
92
+ *
93
+ * `camera`, `sectionPlane` and `bounds` are read in the viewer's frame,
94
+ * the one `bim.viewer.getCamera()`/`getSection()` return. The viewpoint is
95
+ * written in IFC world coordinates, as BCF requires: for a georeferenced
96
+ * model the viewer draws shifted towards the origin, the backend's
97
+ * render-frame offset is added to the camera and clipping-plane positions
98
+ * (#4879). With no viewer (or no shift) the offset is zero.
76
99
  */
77
100
  async createViewpoint(options) {
78
101
  const mod = await loadBCF();
@@ -130,7 +153,8 @@ export class BCFNamespace extends BCFGuidColorBase {
130
153
  guids: g.components.map(c => c.GlobalId),
131
154
  }));
132
155
  }
133
- return mod.createViewpoint(bcfOptions);
156
+ const viewpoint = mod.createViewpoint(bcfOptions);
157
+ return mod.translateViewpoint(viewpoint, this.worldOffset());
134
158
  }
135
159
  /** Add a viewpoint to a topic. */
136
160
  async addViewpoint(topic, viewpoint) {
@@ -148,13 +172,20 @@ export class BCFNamespace extends BCFGuidColorBase {
148
172
  * model's AABB) to also recover `sectionPlane`; without it
149
173
  * `@ifc-lite/bcf` cannot place a clipping plane and `sectionPlane` is
150
174
  * omitted, matching `createViewpoint()`'s own bounds requirement.
175
+ *
176
+ * The viewpoint is read as IFC world coordinates and the result is in the
177
+ * viewer's frame, ready for `setCamera()`: the backend's render-frame
178
+ * offset is subtracted (#4879). A viewpoint written by ifc-lite before
179
+ * #4806, still in the render frame, is recognised against `bounds` and
180
+ * kept as it is.
151
181
  */
152
182
  async extractViewpointState(viewpoint, bounds) {
153
183
  const mod = await loadBCF();
154
184
  const bcfBounds = bounds
155
185
  ? { min: toVec3(bounds.min), max: toVec3(bounds.max) }
156
186
  : undefined;
157
- const raw = mod.extractViewpointState(viewpoint, bcfBounds);
187
+ const local = mod.viewpointFromWorld(viewpoint, this.worldOffset(), bcfBounds);
188
+ const raw = mod.extractViewpointState(local, bcfBounds);
158
189
  return {
159
190
  camera: raw.camera
160
191
  ? {
@@ -1 +1 @@
1
- {"version":3,"file":"bcf.js","sourceRoot":"","sources":["../../src/namespaces/bcf.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bcf.js","sourceRoot":"","sources":["../../src/namespaces/bcf.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAW/D,OAAO,EAKL,0BAA0B,EAC1B,yBAAyB,EACzB,qBAAqB,EACrB,MAAM,EACN,OAAO,EACP,eAAe,EAEf,0BAA0B,EAC1B,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,OAAO,EAAc,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAGvD,OAAO,EAAE,0BAA0B,EAAE,yBAAyB,EAAE,CAAC;AAmCjE,+EAA+E;AAC/E,eAAe;AACf,+EAA+E;AAE/E;;uCAEuC;AACvC,MAAM,OAAO,YAAa,SAAQ,gBAAgB;IAOnB;IAN7B;;;;;OAKG;IACH,YAA6B,OAAoC;QAC/D,KAAK,EAAE,CAAC;QADmB,YAAO,GAAP,OAAO,CAA6B;IAEjE,CAAC;IAED,0EAA0E;IAClE,WAAW;QACjB,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,oBAAoB,EAAE,EAAE,CAAC;QAC7D,OAAO,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IACxD,CAAC;IAED,6EAA6E;IAC7E,qBAAqB;IACrB,6EAA6E;IAE7E,gCAAgC;IAChC,KAAK,CAAC,aAAa,CAAC,OAAoD;QACtE,MAAM,GAAG,GAAG,MAAM,OAAO,EAAE,CAAC;QAC5B,OAAQ,GAAG,CAAC,gBAA0B,CAAC,OAAO,CAAC,CAAC;IAClD,CAAC;IAED,6EAA6E;IAC7E,mBAAmB;IACnB,6EAA6E;IAE7E,0BAA0B;IAC1B,KAAK,CAAC,WAAW,CAAC,OAAqB;QACrC,MAAM,GAAG,GAAG,MAAM,OAAO,EAAE,CAAC;QAC5B,OAAQ,GAAG,CAAC,cAAwB,CAAC;YACnC,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,WAAW,EAAE,OAAO,CAAC,MAAM;YAC3B,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,MAAM,EAAE,OAAO,CAAC,MAAM;SACvB,CAAC,CAAC;IACL,CAAC;IAED,gCAAgC;IAChC,KAAK,CAAC,QAAQ,CAAC,OAAgB,EAAE,KAAc;QAC7C,MAAM,GAAG,GAAG,MAAM,OAAO,EAAE,CAAC;QAC3B,GAAG,CAAC,iBAA2B,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACnD,CAAC;IAED,oCAAoC;IACpC,KAAK,CAAC,iBAAiB,CAAC,KAAc,EAAE,MAAc,EAAE,cAAsB;QAC5E,MAAM,GAAG,GAAG,MAAM,OAAO,EAAE,CAAC;QAC3B,GAAG,CAAC,iBAA2B,CAAC,KAAK,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC;IAClE,CAAC;IAED,6EAA6E;IAC7E,WAAW;IACX,6EAA6E;IAE7E,4BAA4B;IAC5B,KAAK,CAAC,aAAa,CAAC,OAAuB;QACzC,MAAM,GAAG,GAAG,MAAM,OAAO,EAAE,CAAC;QAC5B,OAAQ,GAAG,CAAC,gBAA0B,CAAC,OAAO,CAAC,CAAC;IAClD,CAAC;IAED,gCAAgC;IAChC,KAAK,CAAC,UAAU,CAAC,KAAc,EAAE,OAAgB;QAC/C,MAAM,GAAG,GAAG,MAAM,OAAO,EAAE,CAAC;QAC3B,GAAG,CAAC,iBAA2B,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACnD,CAAC;IAED,6EAA6E;IAC7E,aAAa;IACb,6EAA6E;IAE7E;;;;;;;;;;;;;;;;OAgBG;IACH,KAAK,CAAC,eAAe,CAAC,OAA0B;QAC9C,MAAM,GAAG,GAAG,MAAM,OAAO,EAAE,CAAC;QAE5B,MAAM,aAAa,GAAG,0BAA0B,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAClE,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,MAAM,IAAI,0BAA0B,CAAC,aAAa,CAAC,CAAC;QACtD,CAAC;QACD,MAAM,MAAM,GAAG,OAAQ,CAAC,MAAO,CAAC;QAEhC,wEAAwE;QACxE,MAAM,KAAK,GAAG,OAAO,EAAE,UAAU,CAAC;QAClC,MAAM,UAAU,GAA4B;YAC1C,MAAM,EAAE;gBACN,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,QAAS,CAAC;gBAClC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,MAAO,CAAC;gBAC9B,EAAE,EAAE,MAAM,CAAC,MAAM,CAAC,EAAG,CAAC;gBACtB,GAAG,EAAE,qBAAqB;gBAC1B,cAAc,EAAE,MAAM,CAAC,IAAI,KAAK,cAAc;aAChB;SACjC,CAAC;QAEF,IAAI,OAAO,EAAE,YAAY,EAAE,CAAC;YAC1B,MAAM,EAAE,GAAG,OAAO,CAAC,YAAY,CAAC;YAChC,IAAI,EAAE,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;gBAClC,MAAM,IAAI,yBAAyB,EAAE,CAAC;YACxC,CAAC;YACD,UAAU,CAAC,YAAY,GAAG;gBACxB,IAAI,EAAE,oBAAoB,CAAC,EAAE,CAAC,IAAI,CAAC;gBACnC,QAAQ,EAAE,EAAE,CAAC,QAAQ;gBACrB,OAAO,EAAE,EAAE,CAAC,OAAO;gBACnB,OAAO,EAAE,EAAE,CAAC,OAAO;aACY,CAAC;QACpC,CAAC;QACD,IAAI,OAAO,EAAE,MAAM,EAAE,CAAC;YACpB,UAAU,CAAC,MAAM,GAAG;gBAClB,GAAG,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC;gBAC/B,GAAG,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC;aAChC,CAAC;QACJ,CAAC;QAED,IAAI,KAAK,EAAE,SAAS,EAAE,CAAC;YACrB,UAAU,CAAC,aAAa,GAAG,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QAClE,CAAC;QACD,IAAI,KAAK,EAAE,UAAU,EAAE,CAAC;YACtB,8DAA8D;YAC9D,yEAAyE;YACzE,qEAAqE;YACrE,IAAI,KAAK,CAAC,UAAU,CAAC,iBAAiB,IAAI,IAAI,EAAE,CAAC;gBAC/C,UAAU,CAAC,WAAW,GAAG,KAAK,CAAC,UAAU,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YAC7E,CAAC;iBAAM,CAAC;gBACN,UAAU,CAAC,YAAY,GAAG,KAAK,CAAC,UAAU,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACpF,CAAC;QACH,CAAC;QACD,IAAI,KAAK,EAAE,QAAQ,EAAE,CAAC;YACpB,UAAU,CAAC,YAAY,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACjD,KAAK,EAAE,CAAC,CAAC,KAAK;gBACd,KAAK,EAAE,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;aACzC,CAAC,CAAC,CAAC;QACN,CAAC;QAED,MAAM,SAAS,GAAI,GAAG,CAAC,eAAyB,CAAC,UAAU,CAAC,CAAC;QAC7D,OAAQ,GAAG,CAAC,kBAA4B,CAAC,SAAS,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;IAC1E,CAAC;IAED,kCAAkC;IAClC,KAAK,CAAC,YAAY,CAAC,KAAc,EAAE,SAAkB;QACnD,MAAM,GAAG,GAAG,MAAM,OAAO,EAAE,CAAC;QAC3B,GAAG,CAAC,mBAA6B,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IACvD,CAAC;IAED;;;;;;;;;;;;;;;;;OAiBG;IACH,KAAK,CAAC,qBAAqB,CAAC,SAAkB,EAAE,MAAa;QAC3D,MAAM,GAAG,GAAG,MAAM,OAAO,EAAE,CAAC;QAC5B,MAAM,SAAS,GAAG,MAAM;YACtB,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;YACtD,CAAC,CAAC,SAAS,CAAC;QACd,MAAM,KAAK,GAAI,GAAG,CAAC,kBAA4B,CAAC,SAAS,EAAE,IAAI,CAAC,WAAW,EAAE,EAAE,SAAS,CAAC,CAAC;QAC1F,MAAM,GAAG,GAAI,GAAG,CAAC,qBAA+B,CAAC,KAAK,EAAE,SAAS,CAOhE,CAAC;QAEF,OAAO;YACL,MAAM,EAAE,GAAG,CAAC,MAAM;gBAChB,CAAC,CAAC;oBACE,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,aAAa;oBAChE,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC;oBACtC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC;oBAClC,EAAE,EAAE,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;iBAC3B;gBACH,CAAC,CAAC,SAAS;YACb,YAAY,EAAE,GAAG,CAAC,YAAY;gBAC5B,CAAC,CAAC;oBACE,IAAI,EAAE,oBAAoB,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC;oBACjD,QAAQ,EAAE,GAAG,CAAC,YAAY,CAAC,QAAQ;oBACnC,OAAO,EAAE,GAAG,CAAC,YAAY,CAAC,OAAO;oBACjC,OAAO,EAAE,GAAG,CAAC,YAAY,CAAC,OAAO;iBAClC;gBACH,CAAC,CAAC,SAAS;YACb,aAAa,EAAE,GAAG,CAAC,aAAa;YAChC,WAAW,EAAE,GAAG,CAAC,WAAW;YAC5B,YAAY,EAAE,GAAG,CAAC,YAAY;YAC9B,YAAY,EAAE,GAAG,CAAC,YAAY;SAC/B,CAAC;IACJ,CAAC;IAED,6EAA6E;IAC7E,4BAA4B;IAC5B,6EAA6E;IAE7E,6DAA6D;IAC7D,KAAK,CAAC,mBAAmB,CAAC,MAAe;QACvC,MAAM,GAAG,GAAG,MAAM,OAAO,EAAE,CAAC;QAC5B,OAAQ,GAAG,CAAC,mBAA6B,CAAC,MAAM,CAAC,CAAC;IACpD,CAAC;IAED;mFAC+E;IAC/E,KAAK,CAAC,kBAAkB,CAAC,MAAe,EAAE,gBAAyB;QACjE,MAAM,GAAG,GAAG,MAAM,OAAO,EAAE,CAAC;QAC5B,OAAQ,GAAG,CAAC,kBAA4B,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IACrE,CAAC;IAED,6DAA6D;IAC7D,KAAK,CAAC,mBAAmB,CAAC,WAAoB;QAC5C,MAAM,GAAG,GAAG,MAAM,OAAO,EAAE,CAAC;QAC5B,OAAQ,GAAG,CAAC,mBAA6B,CAAC,WAAW,CAAC,CAAC;IACzD,CAAC;IAED,4DAA4D;IAC5D,KAAK,CAAC,kBAAkB,CAAC,UAAmB;QAC1C,MAAM,GAAG,GAAG,MAAM,OAAO,EAAE,CAAC;QAC5B,OAAQ,GAAG,CAAC,kBAA4B,CAAC,UAAU,CAAC,CAAC;IACvD,CAAC;IAED,6EAA6E;IAC7E,2BAA2B;IAC3B,6EAA6E;IAE7E;;mEAE+D;IAC/D,KAAK,CAAC,2BAA2B,CAAC,OAAgB,EAAE,MAA8B;QAChF,MAAM,GAAG,GAAG,MAAM,OAAO,EAAE,CAAC;QAC5B,OAAQ,GAAG,CAAC,2BAAqC,CAAC,OAAO,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC;IACtF,CAAC;IAED;;uEAEmE;IACnE,KAAK,CAAC,2BAA2B,CAAC,aAAsB,EAAE,MAA8B;QACtF,MAAM,GAAG,GAAG,MAAM,OAAO,EAAE,CAAC;QAC5B,OAAQ,GAAG,CAAC,2BAAqC,CAAC,aAAa,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC;IAC5F,CAAC;IAED,6EAA6E;IAC7E,+BAA+B;IAC/B,6EAA6E;IAE7E,kEAAkE;IAClE,KAAK,CAAC,IAAI,CAAC,IAAwB;QACjC,MAAM,GAAG,GAAG,MAAM,OAAO,EAAE,CAAC;QAC5B,OAAQ,GAAG,CAAC,OAAiB,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC;IAED,gEAAgE;IAChE,KAAK,CAAC,KAAK,CAAC,OAAgB;QAC1B,MAAM,GAAG,GAAG,MAAM,OAAO,EAAE,CAAC;QAC5B,OAAQ,GAAG,CAAC,QAAkB,CAAC,OAAO,CAAkB,CAAC;IAC3D,CAAC;IAED,6EAA6E;IAC7E,uBAAuB;IACvB,6EAA6E;IAE7E,oFAAoF;IACpF,KAAK,CAAC,mBAAmB,CAAC,MAAe,EAAE,OAAuB;QAChE,MAAM,GAAG,GAAG,MAAM,OAAO,EAAE,CAAC;QAC5B,OAAQ,GAAG,CAAC,sBAAgC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChE,CAAC;CAEF"}
@@ -0,0 +1,15 @@
1
+ import type { BimBackend, EntityRef } from '../types.js';
2
+ import type { CostEvaluationOptions } from '../cost-types.js';
3
+ /** Read-only 5D cost data from the loaded IFC source snapshot. */
4
+ export declare class CostNamespace {
5
+ private backend;
6
+ constructor(backend: BimBackend);
7
+ private methods;
8
+ data(modelId?: string): import("../cost-types.js").CostGraphData;
9
+ schedules(modelId?: string): import("../cost-types.js").CostScheduleData[];
10
+ items(modelId?: string): import("../cost-types.js").CostItemData[];
11
+ values(modelId?: string): import("../cost-types.js").CostValueData[];
12
+ evaluateItem(ref: EntityRef, options?: CostEvaluationOptions): import("../cost-types.js").CostEvaluationData;
13
+ evaluateValue(ref: EntityRef, options?: CostEvaluationOptions): import("../cost-types.js").CostEvaluationData;
14
+ }
15
+ //# sourceMappingURL=cost.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cost.d.ts","sourceRoot":"","sources":["../../src/namespaces/cost.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAE9D,kEAAkE;AAClE,qBAAa,aAAa;IACZ,OAAO,CAAC,OAAO;gBAAP,OAAO,EAAE,UAAU;IACvC,OAAO,CAAC,OAAO;IACf,IAAI,CAAC,OAAO,CAAC,EAAE,MAAM;IACrB,SAAS,CAAC,OAAO,CAAC,EAAE,MAAM;IAC1B,KAAK,CAAC,OAAO,CAAC,EAAE,MAAM;IACtB,MAAM,CAAC,OAAO,CAAC,EAAE,MAAM;IACvB,YAAY,CAAC,GAAG,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,qBAAqB;IAC5D,aAAa,CAAC,GAAG,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,qBAAqB;CAC9D"}
@@ -0,0 +1,19 @@
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
+ /** Read-only 5D cost data from the loaded IFC source snapshot. */
5
+ export class CostNamespace {
6
+ backend;
7
+ constructor(backend) {
8
+ this.backend = backend;
9
+ }
10
+ methods() { const value = this.backend.cost; if (!value)
11
+ throw new Error('bim.cost is not supported by this backend'); return value; }
12
+ data(modelId) { return this.methods().data(modelId); }
13
+ schedules(modelId) { return this.methods().schedules(modelId); }
14
+ items(modelId) { return this.methods().items(modelId); }
15
+ values(modelId) { return this.methods().values(modelId); }
16
+ evaluateItem(ref, options) { return this.methods().evaluateItem(ref, options); }
17
+ evaluateValue(ref, options) { return this.methods().evaluateValue(ref, options); }
18
+ }
19
+ //# sourceMappingURL=cost.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cost.js","sourceRoot":"","sources":["../../src/namespaces/cost.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAK/D,kEAAkE;AAClE,MAAM,OAAO,aAAa;IACJ;IAApB,YAAoB,OAAmB;QAAnB,YAAO,GAAP,OAAO,CAAY;IAAG,CAAC;IACnC,OAAO,KAAK,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC;IAC9I,IAAI,CAAC,OAAgB,IAAI,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC/D,SAAS,CAAC,OAAgB,IAAI,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACzE,KAAK,CAAC,OAAgB,IAAI,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACjE,MAAM,CAAC,OAAgB,IAAI,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACnE,YAAY,CAAC,GAAc,EAAE,OAA+B,IAAI,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC,YAAY,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IACnH,aAAa,CAAC,GAAc,EAAE,OAA+B,IAAI,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC,aAAa,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;CACtH"}
@@ -12,7 +12,7 @@ export declare class ViewerNamespace {
12
12
  refs: EntityRef[];
13
13
  color: string;
14
14
  }>): void;
15
- /** Reset color overrides */
15
+ /** Reset color overrides. Omit refs for all; an explicit empty list is a no-op. */
16
16
  resetColors(refs?: EntityRef[]): void;
17
17
  /** Hide entities */
18
18
  hide(refs: EntityRef[]): void;
@@ -1 +1 @@
1
- {"version":3,"file":"viewer.d.ts","sourceRoot":"","sources":["../../src/namespaces/viewer.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAG/G,4DAA4D;AAC5D,qBAAa,eAAe;IACd,OAAO,CAAC,OAAO;gBAAP,OAAO,EAAE,UAAU;IAIvC,gDAAgD;IAChD,QAAQ,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAKhD,qCAAqC;IACrC,YAAY,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,SAAS,GAAG,IAAI;IAIvD,yEAAyE;IACzE,WAAW,CAAC,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,GAAG,IAAI;IAKvE,4BAA4B;IAC5B,WAAW,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,GAAG,IAAI;IAMrC,oBAAoB;IACpB,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,IAAI;IAI7B,sCAAsC;IACtC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,IAAI;IAI7B,8CAA8C;IAC9C,OAAO,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,IAAI;IAIhC,sCAAsC;IACtC,eAAe,IAAI,IAAI;IAMvB,0CAA0C;IAC1C,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,IAAI;IAI/B,sBAAsB;IACtB,QAAQ,IAAI,IAAI;IAIhB,4BAA4B;IAC5B,YAAY,IAAI,SAAS,EAAE;IAM3B,6CAA6C;IAC7C,KAAK,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,IAAI;IAI9B,uBAAuB;IACvB,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,IAAI;IAI5C,+BAA+B;IAC/B,SAAS,IAAI,WAAW;IAIxB,6BAA6B;IAC7B,aAAa,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI;IAMzC,0BAA0B;IAC1B,UAAU,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI;IAIvC,gCAAgC;IAChC,UAAU,IAAI,YAAY,GAAG,IAAI;IAIjC,2BAA2B;IAC3B,YAAY,IAAI,IAAI;CAGrB"}
1
+ {"version":3,"file":"viewer.d.ts","sourceRoot":"","sources":["../../src/namespaces/viewer.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAG/G,4DAA4D;AAC5D,qBAAa,eAAe;IACd,OAAO,CAAC,OAAO;gBAAP,OAAO,EAAE,UAAU;IAIvC,gDAAgD;IAChD,QAAQ,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAKhD,qCAAqC;IACrC,YAAY,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,SAAS,GAAG,IAAI;IAIvD,yEAAyE;IACzE,WAAW,CAAC,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,GAAG,IAAI;IAKvE,mFAAmF;IACnF,WAAW,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,GAAG,IAAI;IAOrC,oBAAoB;IACpB,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,IAAI;IAI7B,sCAAsC;IACtC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,IAAI;IAI7B,8CAA8C;IAC9C,OAAO,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,IAAI;IAIhC,sCAAsC;IACtC,eAAe,IAAI,IAAI;IAMvB,0CAA0C;IAC1C,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,IAAI;IAI/B,sBAAsB;IACtB,QAAQ,IAAI,IAAI;IAIhB,4BAA4B;IAC5B,YAAY,IAAI,SAAS,EAAE;IAM3B,6CAA6C;IAC7C,KAAK,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,IAAI;IAI9B,uBAAuB;IACvB,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,IAAI;IAI5C,+BAA+B;IAC/B,SAAS,IAAI,WAAW;IAIxB,6BAA6B;IAC7B,aAAa,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI;IAMzC,0BAA0B;IAC1B,UAAU,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI;IAIvC,gCAAgC;IAChC,UAAU,IAAI,YAAY,GAAG,IAAI;IAIjC,2BAA2B;IAC3B,YAAY,IAAI,IAAI;CAGrB"}
@@ -23,8 +23,10 @@ export class ViewerNamespace {
23
23
  const resolved = batches.map(b => ({ refs: b.refs, color: hexToRgba(b.color, 1.0) }));
24
24
  this.backend.viewer.colorizeAll(resolved);
25
25
  }
26
- /** Reset color overrides */
26
+ /** Reset color overrides. Omit refs for all; an explicit empty list is a no-op. */
27
27
  resetColors(refs) {
28
+ if (refs?.length === 0)
29
+ return;
28
30
  this.backend.viewer.resetColors(refs);
29
31
  }
30
32
  // ── Visibility ─────────────────────────────────────────────
@@ -1 +1 @@
1
- {"version":3,"file":"viewer.js","sourceRoot":"","sources":["../../src/namespaces/viewer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"viewer.js","sourceRoot":"","sources":["../../src/namespaces/viewer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,136 @@
1
+ /**
2
+ * Schedule (4D) data shapes — IfcTask, IfcRelSequence, IfcWorkSchedule /
3
+ * IfcWorkPlan, and IfcWorkCalendar with the IfcWorkTime /
4
+ * IfcRecurrencePattern / IfcTimePeriod entities it owns.
5
+ *
6
+ * Shapes mirror `@ifc-lite/parser`'s `ScheduleExtraction` struct so the SDK
7
+ * layer stays serializable across the sandbox/transport boundary without
8
+ * pulling the parser into consumer bundles.
9
+ *
10
+ * A sibling of `types.ts` (like `structural-types.ts` next door) rather than
11
+ * a section inside it, so that file stays under its recorded module-size
12
+ * budget. `types.ts` re-exports everything here, so no import path changes.
13
+ */
14
+ export type ScheduleSequenceType = 'START_START' | 'START_FINISH' | 'FINISH_START' | 'FINISH_FINISH' | 'USERDEFINED' | 'NOTDEFINED';
15
+ export type ScheduleTaskDurationType = 'WORKTIME' | 'ELAPSEDTIME' | 'NOTDEFINED';
16
+ export interface ScheduleTaskTimeData {
17
+ scheduleStart?: string;
18
+ scheduleFinish?: string;
19
+ scheduleDuration?: string;
20
+ actualStart?: string;
21
+ actualFinish?: string;
22
+ actualDuration?: string;
23
+ earlyStart?: string;
24
+ earlyFinish?: string;
25
+ lateStart?: string;
26
+ lateFinish?: string;
27
+ freeFloat?: string;
28
+ totalFloat?: string;
29
+ remainingTime?: string;
30
+ statusTime?: string;
31
+ durationType?: ScheduleTaskDurationType;
32
+ isCritical?: boolean;
33
+ completion?: number;
34
+ }
35
+ export interface ScheduleTaskData {
36
+ expressId: number;
37
+ globalId: string;
38
+ name: string;
39
+ description?: string;
40
+ objectType?: string;
41
+ identification?: string;
42
+ longDescription?: string;
43
+ status?: string;
44
+ workMethod?: string;
45
+ isMilestone: boolean;
46
+ priority?: number;
47
+ predefinedType?: string;
48
+ taskTime?: ScheduleTaskTimeData;
49
+ parentGlobalId?: string;
50
+ childGlobalIds: string[];
51
+ productExpressIds: number[];
52
+ productGlobalIds: string[];
53
+ controllingScheduleGlobalIds: string[];
54
+ /** IfcWorkCalendar globalIds assigned to this task via IfcRelAssignsToControl. */
55
+ calendarGlobalIds?: string[];
56
+ }
57
+ export interface ScheduleSequenceData {
58
+ globalId: string;
59
+ relatingTaskGlobalId: string;
60
+ relatedTaskGlobalId: string;
61
+ sequenceType: ScheduleSequenceType;
62
+ userDefinedSequenceType?: string;
63
+ timeLagSeconds?: number;
64
+ timeLagDuration?: string;
65
+ }
66
+ export interface WorkScheduleData {
67
+ expressId: number;
68
+ globalId: string;
69
+ kind: 'WorkSchedule' | 'WorkPlan';
70
+ name: string;
71
+ description?: string;
72
+ identification?: string;
73
+ creationDate?: string;
74
+ purpose?: string;
75
+ duration?: string;
76
+ startTime?: string;
77
+ finishTime?: string;
78
+ predefinedType?: string;
79
+ taskGlobalIds: string[];
80
+ /** IfcWorkCalendar globalIds assigned to this schedule/plan via IfcRelAssignsToControl. */
81
+ calendarGlobalIds?: string[];
82
+ }
83
+ /** One StartTime/EndTime pair from an IfcRecurrencePattern's TimePeriods list. */
84
+ export interface TimePeriodData {
85
+ start: string;
86
+ end: string;
87
+ }
88
+ /** IfcRecurrencePattern — the repeat rule an IfcWorkTime may carry. */
89
+ export interface RecurrencePatternData {
90
+ recurrenceType?: string;
91
+ dayComponent: number[];
92
+ weekdayComponent: number[];
93
+ monthComponent: number[];
94
+ position?: number;
95
+ interval?: number;
96
+ occurrences?: number;
97
+ timePeriods: TimePeriodData[];
98
+ }
99
+ /** IfcWorkTime — one working or exception period on an IfcWorkCalendar. */
100
+ export interface WorkTimeData {
101
+ name?: string;
102
+ dataOrigin?: string;
103
+ userDefinedDataOrigin?: string;
104
+ recurrencePattern?: RecurrencePatternData;
105
+ start?: string;
106
+ finish?: string;
107
+ }
108
+ export interface WorkCalendarData {
109
+ expressId: number;
110
+ globalId: string;
111
+ name: string;
112
+ description?: string;
113
+ objectType?: string;
114
+ identification?: string;
115
+ predefinedType?: string;
116
+ workingTimes: WorkTimeData[];
117
+ exceptionTimes: WorkTimeData[];
118
+ }
119
+ export interface ScheduleExtractionData {
120
+ workSchedules: WorkScheduleData[];
121
+ tasks: ScheduleTaskData[];
122
+ sequences: ScheduleSequenceData[];
123
+ workCalendars: WorkCalendarData[];
124
+ hasSchedule: boolean;
125
+ }
126
+ export interface ScheduleBackendMethods {
127
+ /** Extract the full schedule graph from the active or specified model. */
128
+ data(modelId?: string): ScheduleExtractionData;
129
+ /** Convenience — just the task list. */
130
+ tasks(modelId?: string): ScheduleTaskData[];
131
+ /** Convenience — just the work schedules / work plans. */
132
+ workSchedules(modelId?: string): WorkScheduleData[];
133
+ /** Convenience — just the task dependency edges. */
134
+ sequences(modelId?: string): ScheduleSequenceData[];
135
+ }
136
+ //# sourceMappingURL=schedule-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schedule-types.d.ts","sourceRoot":"","sources":["../src/schedule-types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
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
+ export {};
5
+ //# sourceMappingURL=schedule-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schedule-types.js","sourceRoot":"","sources":["../src/schedule-types.ts"],"names":[],"mappings":"AAAA;;+DAE+D"}
@@ -5,7 +5,7 @@
5
5
  * Each typed namespace is a Proxy that throws synchronously, since the remote transport
6
6
  * requires async implementation (future iteration).
7
7
  */
8
- import type { BimBackend, Transport, BimEventType, ModelBackendMethods, QueryBackendMethods, SelectionBackendMethods, VisibilityBackendMethods, ViewerBackendMethods, MutateBackendMethods, StoreBackendMethods, SpatialBackendMethods, ExportBackendMethods, LensBackendMethods, FilesBackendMethods, ScheduleBackendMethods, StructuralBackendMethods } from '../types.js';
8
+ import type { BimBackend, Transport, BimEventType, ModelBackendMethods, QueryBackendMethods, SelectionBackendMethods, VisibilityBackendMethods, ViewerBackendMethods, MutateBackendMethods, StoreBackendMethods, SpatialBackendMethods, ExportBackendMethods, LensBackendMethods, FilesBackendMethods, ScheduleBackendMethods, StructuralBackendMethods, CostBackendMethods } from '../types.js';
9
9
  export declare class RemoteBackend implements BimBackend {
10
10
  private transport;
11
11
  readonly model: ModelBackendMethods;
@@ -21,6 +21,7 @@ export declare class RemoteBackend implements BimBackend {
21
21
  readonly files: FilesBackendMethods;
22
22
  readonly schedule: ScheduleBackendMethods;
23
23
  readonly structural: StructuralBackendMethods;
24
+ readonly cost: CostBackendMethods;
24
25
  constructor(transport: Transport);
25
26
  subscribe(event: BimEventType, handler: (data: unknown) => void): () => void;
26
27
  }
@@ -1 +1 @@
1
- {"version":3,"file":"remote-backend.d.ts","sourceRoot":"","sources":["../../src/transport/remote-backend.ts"],"names":[],"mappings":"AAIA;;;;;;GAMG;AAEH,OAAO,KAAK,EACV,UAAU,EACV,SAAS,EACT,YAAY,EACZ,mBAAmB,EACnB,mBAAmB,EACnB,uBAAuB,EACvB,wBAAwB,EACxB,oBAAoB,EACpB,oBAAoB,EACpB,mBAAmB,EACnB,qBAAqB,EACrB,oBAAoB,EACpB,kBAAkB,EAClB,mBAAmB,EACnB,sBAAsB,EACtB,wBAAwB,EACzB,MAAM,aAAa,CAAC;AAerB,qBAAa,aAAc,YAAW,UAAU;IAelC,OAAO,CAAC,SAAS;IAd7B,QAAQ,CAAC,KAAK,EAAE,mBAAmB,CAA4B;IAC/D,QAAQ,CAAC,KAAK,EAAE,mBAAmB,CAA4B;IAC/D,QAAQ,CAAC,SAAS,EAAE,uBAAuB,CAAgC;IAC3E,QAAQ,CAAC,UAAU,EAAE,wBAAwB,CAAiC;IAC9E,QAAQ,CAAC,MAAM,EAAE,oBAAoB,CAA6B;IAClE,QAAQ,CAAC,MAAM,EAAE,oBAAoB,CAA6B;IAClE,QAAQ,CAAC,KAAK,EAAE,mBAAmB,CAA4B;IAC/D,QAAQ,CAAC,OAAO,EAAE,qBAAqB,CAA8B;IACrE,QAAQ,CAAC,MAAM,EAAE,oBAAoB,CAA6B;IAClE,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAA2B;IAC5D,QAAQ,CAAC,KAAK,EAAE,mBAAmB,CAA4B;IAC/D,QAAQ,CAAC,QAAQ,EAAE,sBAAsB,CAA+B;IACxE,QAAQ,CAAC,UAAU,EAAE,wBAAwB,CAAiC;gBAE1D,SAAS,EAAE,SAAS;IAExC,SAAS,CAAC,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,GAAG,MAAM,IAAI;CAO7E"}
1
+ {"version":3,"file":"remote-backend.d.ts","sourceRoot":"","sources":["../../src/transport/remote-backend.ts"],"names":[],"mappings":"AAIA;;;;;;GAMG;AAEH,OAAO,KAAK,EACV,UAAU,EACV,SAAS,EACT,YAAY,EACZ,mBAAmB,EACnB,mBAAmB,EACnB,uBAAuB,EACvB,wBAAwB,EACxB,oBAAoB,EACpB,oBAAoB,EACpB,mBAAmB,EACnB,qBAAqB,EACrB,oBAAoB,EACpB,kBAAkB,EAClB,mBAAmB,EACnB,sBAAsB,EACtB,wBAAwB,EACxB,kBAAkB,EACnB,MAAM,aAAa,CAAC;AAsBrB,qBAAa,aAAc,YAAW,UAAU;IAgBlC,OAAO,CAAC,SAAS;IAf7B,QAAQ,CAAC,KAAK,EAAE,mBAAmB,CAA4B;IAC/D,QAAQ,CAAC,KAAK,EAAE,mBAAmB,CAA4B;IAC/D,QAAQ,CAAC,SAAS,EAAE,uBAAuB,CAAgC;IAC3E,QAAQ,CAAC,UAAU,EAAE,wBAAwB,CAAiC;IAC9E,QAAQ,CAAC,MAAM,EAAE,oBAAoB,CAAuD;IAC5F,QAAQ,CAAC,MAAM,EAAE,oBAAoB,CAA6B;IAClE,QAAQ,CAAC,KAAK,EAAE,mBAAmB,CAA4B;IAC/D,QAAQ,CAAC,OAAO,EAAE,qBAAqB,CAA8B;IACrE,QAAQ,CAAC,MAAM,EAAE,oBAAoB,CAA6B;IAClE,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAA2B;IAC5D,QAAQ,CAAC,KAAK,EAAE,mBAAmB,CAA4B;IAC/D,QAAQ,CAAC,QAAQ,EAAE,sBAAsB,CAA+B;IACxE,QAAQ,CAAC,UAAU,EAAE,wBAAwB,CAAiC;IAC9E,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAA2B;gBAExC,SAAS,EAAE,SAAS;IAExC,SAAS,CAAC,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,GAAG,MAAM,IAAI;CAO7E"}
@@ -1,9 +1,17 @@
1
1
  /* This Source Code Form is subject to the terms of the Mozilla Public
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
- function makeRemoteProxy(namespace) {
4
+ /**
5
+ * `optional` names methods the backend contract marks optional and a remote
6
+ * backend does not provide: they read as absent, so a namespace that probes
7
+ * them (`backend.viewer.getRenderFrameOffset?.()`) falls back instead of
8
+ * throwing.
9
+ */
10
+ function makeRemoteProxy(namespace, optional = []) {
5
11
  return new Proxy(Object.create(null), {
6
12
  get(_, method) {
13
+ if (optional.includes(method))
14
+ return undefined;
7
15
  return (..._args) => {
8
16
  throw new Error(`RemoteBackend: Cannot call ${namespace}.${method}() synchronously. ` +
9
17
  `Remote transport requires async implementation.`);
@@ -17,7 +25,7 @@ export class RemoteBackend {
17
25
  query = makeRemoteProxy('query');
18
26
  selection = makeRemoteProxy('selection');
19
27
  visibility = makeRemoteProxy('visibility');
20
- viewer = makeRemoteProxy('viewer');
28
+ viewer = makeRemoteProxy('viewer', ['getRenderFrameOffset']);
21
29
  mutate = makeRemoteProxy('mutate');
22
30
  store = makeRemoteProxy('store');
23
31
  spatial = makeRemoteProxy('spatial');
@@ -26,6 +34,7 @@ export class RemoteBackend {
26
34
  files = makeRemoteProxy('files');
27
35
  schedule = makeRemoteProxy('schedule');
28
36
  structural = makeRemoteProxy('structural');
37
+ cost = makeRemoteProxy('cost');
29
38
  constructor(transport) {
30
39
  this.transport = transport;
31
40
  }
@@ -1 +1 @@
1
- {"version":3,"file":"remote-backend.js","sourceRoot":"","sources":["../../src/transport/remote-backend.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AA6B/D,SAAS,eAAe,CAAmB,SAAiB;IAC1D,OAAO,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAM,EAAE;QACzC,GAAG,CAAC,CAAC,EAAE,MAAc;YACnB,OAAO,CAAC,GAAG,KAAgB,EAAS,EAAE;gBACpC,MAAM,IAAI,KAAK,CACb,8BAA8B,SAAS,IAAI,MAAM,oBAAoB;oBACrE,iDAAiD,CAClD,CAAC;YACJ,CAAC,CAAC;QACJ,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAED,MAAM,OAAO,aAAa;IAeJ;IAdX,KAAK,GAAwB,eAAe,CAAC,OAAO,CAAC,CAAC;IACtD,KAAK,GAAwB,eAAe,CAAC,OAAO,CAAC,CAAC;IACtD,SAAS,GAA4B,eAAe,CAAC,WAAW,CAAC,CAAC;IAClE,UAAU,GAA6B,eAAe,CAAC,YAAY,CAAC,CAAC;IACrE,MAAM,GAAyB,eAAe,CAAC,QAAQ,CAAC,CAAC;IACzD,MAAM,GAAyB,eAAe,CAAC,QAAQ,CAAC,CAAC;IACzD,KAAK,GAAwB,eAAe,CAAC,OAAO,CAAC,CAAC;IACtD,OAAO,GAA0B,eAAe,CAAC,SAAS,CAAC,CAAC;IAC5D,MAAM,GAAyB,eAAe,CAAC,QAAQ,CAAC,CAAC;IACzD,IAAI,GAAuB,eAAe,CAAC,MAAM,CAAC,CAAC;IACnD,KAAK,GAAwB,eAAe,CAAC,OAAO,CAAC,CAAC;IACtD,QAAQ,GAA2B,eAAe,CAAC,UAAU,CAAC,CAAC;IAC/D,UAAU,GAA6B,eAAe,CAAC,YAAY,CAAC,CAAC;IAE9E,YAAoB,SAAoB;QAApB,cAAS,GAAT,SAAS,CAAW;IAAG,CAAC;IAE5C,SAAS,CAAC,KAAmB,EAAE,OAAgC;QAC7D,OAAO,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE,EAAE;YAC3C,IAAI,QAAQ,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;gBAC5B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACzB,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;CACF"}
1
+ {"version":3,"file":"remote-backend.js","sourceRoot":"","sources":["../../src/transport/remote-backend.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AA8B/D;;;;;GAKG;AACH,SAAS,eAAe,CAAmB,SAAiB,EAAE,WAA8B,EAAE;IAC5F,OAAO,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAM,EAAE;QACzC,GAAG,CAAC,CAAC,EAAE,MAAc;YACnB,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC;gBAAE,OAAO,SAAS,CAAC;YAChD,OAAO,CAAC,GAAG,KAAgB,EAAS,EAAE;gBACpC,MAAM,IAAI,KAAK,CACb,8BAA8B,SAAS,IAAI,MAAM,oBAAoB;oBACrE,iDAAiD,CAClD,CAAC;YACJ,CAAC,CAAC;QACJ,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAED,MAAM,OAAO,aAAa;IAgBJ;IAfX,KAAK,GAAwB,eAAe,CAAC,OAAO,CAAC,CAAC;IACtD,KAAK,GAAwB,eAAe,CAAC,OAAO,CAAC,CAAC;IACtD,SAAS,GAA4B,eAAe,CAAC,WAAW,CAAC,CAAC;IAClE,UAAU,GAA6B,eAAe,CAAC,YAAY,CAAC,CAAC;IACrE,MAAM,GAAyB,eAAe,CAAC,QAAQ,EAAE,CAAC,sBAAsB,CAAC,CAAC,CAAC;IACnF,MAAM,GAAyB,eAAe,CAAC,QAAQ,CAAC,CAAC;IACzD,KAAK,GAAwB,eAAe,CAAC,OAAO,CAAC,CAAC;IACtD,OAAO,GAA0B,eAAe,CAAC,SAAS,CAAC,CAAC;IAC5D,MAAM,GAAyB,eAAe,CAAC,QAAQ,CAAC,CAAC;IACzD,IAAI,GAAuB,eAAe,CAAC,MAAM,CAAC,CAAC;IACnD,KAAK,GAAwB,eAAe,CAAC,OAAO,CAAC,CAAC;IACtD,QAAQ,GAA2B,eAAe,CAAC,UAAU,CAAC,CAAC;IAC/D,UAAU,GAA6B,eAAe,CAAC,YAAY,CAAC,CAAC;IACrE,IAAI,GAAuB,eAAe,CAAC,MAAM,CAAC,CAAC;IAE5D,YAAoB,SAAoB;QAApB,cAAS,GAAT,SAAS,CAAW;IAAG,CAAC;IAE5C,SAAS,CAAC,KAAmB,EAAE,OAAgC;QAC7D,OAAO,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE,EAAE;YAC3C,IAAI,QAAQ,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;gBAC5B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACzB,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;CACF"}
package/dist/types.d.ts CHANGED
@@ -5,6 +5,8 @@
5
5
  * External tools (ifc-scripts, ifc-flow) depend on these types.
6
6
  */
7
7
  import type { StructuralBackendMethods } from './structural-types.js';
8
+ import type { ScheduleBackendMethods } from './schedule-types.js';
9
+ import type { CostBackendMethods } from './cost-types.js';
8
10
  import type { SpacesBackendMethods, StyleBackendMethods } from './backend-extension-types.js';
9
11
  /** Reference to a specific entity within a federated model set */
10
12
  export interface EntityRef {
@@ -295,12 +297,24 @@ export interface ViewerBackendMethods {
295
297
  refs: EntityRef[];
296
298
  color: RGBAColor;
297
299
  }>): void;
300
+ /** Omitted refs reset all overrides; an explicit empty list is a no-op. */
298
301
  resetColors(refs?: EntityRef[]): void;
299
302
  flyTo(refs: EntityRef[]): void;
300
303
  setSection(section: SectionPlane | null): void;
301
304
  getSection(): SectionPlane | null;
302
305
  setCamera(state: Partial<CameraState>): void;
303
306
  getCamera(): CameraState;
307
+ /**
308
+ * Translation from the frame `getCamera()`/`setCamera()` work in to the
309
+ * IFC world coordinates of the loaded model(s), `[x, y, z]` in IFC Z-up
310
+ * metres. A viewer shifts large-coordinate (georeferenced) models towards
311
+ * the origin before drawing them, so its camera is not in world
312
+ * coordinates; `bim.bcf.createViewpoint()` adds this offset and
313
+ * `bim.bcf.extractViewpointState()` subtracts it, so BCF viewpoints are in
314
+ * world coordinates as the BCF standard requires (#4879). Optional: a
315
+ * backend without a shifted frame omits it, which means no offset.
316
+ */
317
+ getRenderFrameOffset?(): [number, number, number];
304
318
  }
305
319
  export interface MutateBackendMethods {
306
320
  setProperty(ref: EntityRef, psetName: string, propName: string, value: string | number | boolean): void;
@@ -540,89 +554,10 @@ export interface FilesBackendMethods {
540
554
  csv(name: string): Record<string, string>[] | null;
541
555
  csvColumns(name: string): string[];
542
556
  }
543
- export type ScheduleSequenceType = 'START_START' | 'START_FINISH' | 'FINISH_START' | 'FINISH_FINISH' | 'USERDEFINED' | 'NOTDEFINED';
544
- export type ScheduleTaskDurationType = 'WORKTIME' | 'ELAPSEDTIME' | 'NOTDEFINED';
545
- export interface ScheduleTaskTimeData {
546
- scheduleStart?: string;
547
- scheduleFinish?: string;
548
- scheduleDuration?: string;
549
- actualStart?: string;
550
- actualFinish?: string;
551
- actualDuration?: string;
552
- earlyStart?: string;
553
- earlyFinish?: string;
554
- lateStart?: string;
555
- lateFinish?: string;
556
- freeFloat?: string;
557
- totalFloat?: string;
558
- remainingTime?: string;
559
- statusTime?: string;
560
- durationType?: ScheduleTaskDurationType;
561
- isCritical?: boolean;
562
- completion?: number;
563
- }
564
- export interface ScheduleTaskData {
565
- expressId: number;
566
- globalId: string;
567
- name: string;
568
- description?: string;
569
- objectType?: string;
570
- identification?: string;
571
- longDescription?: string;
572
- status?: string;
573
- workMethod?: string;
574
- isMilestone: boolean;
575
- priority?: number;
576
- predefinedType?: string;
577
- taskTime?: ScheduleTaskTimeData;
578
- parentGlobalId?: string;
579
- childGlobalIds: string[];
580
- productExpressIds: number[];
581
- productGlobalIds: string[];
582
- controllingScheduleGlobalIds: string[];
583
- }
584
- export interface ScheduleSequenceData {
585
- globalId: string;
586
- relatingTaskGlobalId: string;
587
- relatedTaskGlobalId: string;
588
- sequenceType: ScheduleSequenceType;
589
- userDefinedSequenceType?: string;
590
- timeLagSeconds?: number;
591
- timeLagDuration?: string;
592
- }
593
- export interface WorkScheduleData {
594
- expressId: number;
595
- globalId: string;
596
- kind: 'WorkSchedule' | 'WorkPlan';
597
- name: string;
598
- description?: string;
599
- identification?: string;
600
- creationDate?: string;
601
- purpose?: string;
602
- duration?: string;
603
- startTime?: string;
604
- finishTime?: string;
605
- predefinedType?: string;
606
- taskGlobalIds: string[];
607
- }
608
- export interface ScheduleExtractionData {
609
- workSchedules: WorkScheduleData[];
610
- tasks: ScheduleTaskData[];
611
- sequences: ScheduleSequenceData[];
612
- hasSchedule: boolean;
613
- }
614
- export interface ScheduleBackendMethods {
615
- /** Extract the full schedule graph from the active or specified model. */
616
- data(modelId?: string): ScheduleExtractionData;
617
- /** Convenience — just the task list. */
618
- tasks(modelId?: string): ScheduleTaskData[];
619
- /** Convenience — just the work schedules / work plans. */
620
- workSchedules(modelId?: string): WorkScheduleData[];
621
- /** Convenience — just the task dependency edges. */
622
- sequences(modelId?: string): ScheduleSequenceData[];
623
- }
557
+ export * from './schedule-types.js';
624
558
  /** Why one `Values` slot of a load configuration carries no nested load. */
625
559
  export * from './structural-types.js';
560
+ export * from './cost-types.js';
626
561
  export * from './backend-extension-types.js';
627
562
  /**
628
563
  * Abstraction over the viewer's internal state — SDK namespaces use this.
@@ -646,6 +581,8 @@ export interface BimBackend {
646
581
  readonly lens: LensBackendMethods;
647
582
  readonly files: FilesBackendMethods;
648
583
  readonly schedule: ScheduleBackendMethods;
584
+ /** IFC 5D cost reads, when the backend retains loaded source bytes. */
585
+ readonly cost?: CostBackendMethods;
649
586
  /** Structural analysis reads, when supported by the backend. */
650
587
  readonly structural?: StructuralBackendMethods;
651
588
  /** Space derivation — present only on local backends with store access. */