@ifc-lite/collab 0.7.0 → 0.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/doc/entity.js +4 -4
- package/dist/doc/entity.js.map +1 -1
- package/dist/doc/model-slot.d.ts +98 -0
- package/dist/doc/model-slot.d.ts.map +1 -0
- package/dist/doc/model-slot.js +124 -0
- package/dist/doc/model-slot.js.map +1 -0
- package/dist/doc/schema.d.ts +10 -0
- package/dist/doc/schema.d.ts.map +1 -1
- package/dist/doc/schema.js +13 -0
- package/dist/doc/schema.js.map +1 -1
- package/dist/geometry/blob-store.d.ts +5 -0
- package/dist/geometry/blob-store.d.ts.map +1 -1
- package/dist/geometry/blob-store.js +18 -0
- package/dist/geometry/blob-store.js.map +1 -1
- package/dist/geometry/gc.d.ts +8 -8
- package/dist/geometry/gc.d.ts.map +1 -1
- package/dist/geometry/gc.js +16 -6
- package/dist/geometry/gc.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/providers/relay-state.d.ts +29 -0
- package/dist/providers/relay-state.d.ts.map +1 -0
- package/dist/providers/relay-state.js +95 -0
- package/dist/providers/relay-state.js.map +1 -0
- package/dist/snapshot/from-ifcx.d.ts +9 -0
- package/dist/snapshot/from-ifcx.d.ts.map +1 -1
- package/dist/snapshot/from-ifcx.js +5 -8
- package/dist/snapshot/from-ifcx.js.map +1 -1
- package/dist/snapshot/from-step.d.ts +18 -3
- package/dist/snapshot/from-step.d.ts.map +1 -1
- package/dist/snapshot/from-step.js +20 -5
- package/dist/snapshot/from-step.js.map +1 -1
- package/dist/snapshot/slot-ifcx.d.ts +52 -0
- package/dist/snapshot/slot-ifcx.d.ts.map +1 -0
- package/dist/snapshot/slot-ifcx.js +114 -0
- package/dist/snapshot/slot-ifcx.js.map +1 -0
- package/dist/snapshot/structured-attrs.js +6 -6
- package/dist/snapshot/structured-attrs.js.map +1 -1
- package/dist/snapshot/to-ifcx.d.ts +9 -0
- package/dist/snapshot/to-ifcx.d.ts.map +1 -1
- package/dist/snapshot/to-ifcx.js +8 -4
- package/dist/snapshot/to-ifcx.js.map +1 -1
- package/package.json +4 -4
package/dist/doc/entity.js
CHANGED
|
@@ -478,20 +478,20 @@ export function entityToJSON(entity) {
|
|
|
478
478
|
if (inherits)
|
|
479
479
|
for (const [k, v] of inherits.entries())
|
|
480
480
|
inheritsJson[k] = v;
|
|
481
|
-
const psetsJson =
|
|
481
|
+
const psetsJson = Object.create(null);
|
|
482
482
|
if (psets) {
|
|
483
483
|
for (const [psetName, pset] of psets.entries()) {
|
|
484
|
-
const props =
|
|
484
|
+
const props = Object.create(null);
|
|
485
485
|
for (const [propName, val] of pset.entries()) {
|
|
486
486
|
props[propName] = val;
|
|
487
487
|
}
|
|
488
488
|
psetsJson[psetName] = props;
|
|
489
489
|
}
|
|
490
490
|
}
|
|
491
|
-
const quantitiesJson =
|
|
491
|
+
const quantitiesJson = Object.create(null);
|
|
492
492
|
if (quantities) {
|
|
493
493
|
for (const [qsetName, qset] of quantities.entries()) {
|
|
494
|
-
const qtys =
|
|
494
|
+
const qtys = Object.create(null);
|
|
495
495
|
for (const [qtyName, val] of qset.entries()) {
|
|
496
496
|
qtys[qtyName] = val;
|
|
497
497
|
}
|
package/dist/doc/entity.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entity.js","sourceRoot":"","sources":["../../src/doc/entity.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAE/D;;;;;GAKG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AACtC,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AACzB,OAAO,EACL,UAAU,EACV,WAAW,GAMZ,MAAM,aAAa,CAAC;AA6BrB;;;GAGG;AACH,MAAM,UAAU,SAAS,CAAC,GAAU,EAAE,IAAY;IAChD,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAA+B,CAAC;AAClE,CAAC;AAED,+CAA+C;AAC/C,MAAM,UAAU,SAAS,CAAC,GAAU,EAAE,IAAY;IAChD,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACpC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,YAAY,CAC1B,GAAU,EACV,IAAY,EACZ,UAA+B,EAAE;IAEjC,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;IAC9B,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAA+B,CAAC;IAC9D,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,GAAG,EAAW,CAAC;IAEpC,MAAM,UAAU,GAAG,IAAI,CAAC,CAAC,GAAG,EAAW,CAAC;IACxC,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;QACvB,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;YACxD,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACvB,CAAC;IACH,CAAC;IACD,yEAAyE;IACzE,yEAAyE;IACzE,kEAAkE;IAClE,uEAAuE;IACvE,uEAAuE;IACvE,sEAAsE;IACtE,uEAAuE;IACvE,wEAAwE;IACxE,sEAAsE;IACtE,IAAI,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,SAAS,EAAE,CAAC;QACvE,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IACzD,CAAC;IACD,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IAE9C,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,GAAG,EAAU,CAAC;IACrC,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;QACrB,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC9D,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;IACD,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAE1C,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,GAAG,EAAU,CAAC;IACrC,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;QACrB,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC9D,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;IACD,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAE1C,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,GAAG,EAAwB,CAAC;IAChD,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QAClB,KAAK,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9D,oBAAoB,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;YAC5C,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,GAAG,EAAiB,CAAC;YACxC,KAAK,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBACtD,oBAAoB,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC;gBAChD,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;YAC5B,CAAC;YACD,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;IACD,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAEpC,MAAM,UAAU,GAAG,IAAI,CAAC,CAAC,GAAG,EAAiB,CAAC;IAC9C,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;QACvB,KAAK,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;YAClE,oBAAoB,CAAC,mBAAmB,EAAE,QAAQ,CAAC,CAAC;YACpD,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,GAAG,EAAU,CAAC;YACjC,KAAK,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBACpD,oBAAoB,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;gBAC/C,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YAC3B,CAAC;YACD,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IACD,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IAE9C,MAAM,eAAe,GAAG,IAAI,CAAC,CAAC,KAAK,EAAqB,CAAC;IACzD,IAAI,OAAO,CAAC,eAAe,IAAI,OAAO,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAClE,eAAe,CAAC,IAAI,CAAC,CAAC,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC;IACrD,CAAC;IACD,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,eAAe,EAAE,eAAe,CAAC,CAAC;IAExD,MAAM,SAAS,GAAG,IAAI,CAAC,CAAC,KAAK,EAAsB,CAAC;IACpD,IAAI,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtD,SAAS,CAAC,IAAI,CAAC,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;IACzC,CAAC;IACD,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAE5C,MAAM,WAAW,GAAG,IAAI,CAAC,CAAC,GAAG,EAAW,CAAC;IACzC,IAAI,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAClE,WAAW,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC;IAC/D,CAAC;IACD,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;IAEjD,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,GAAG,EAAW,CAAC;IAClC,MAAM,KAAK,GACT,OAAO,CAAC,IAAI,EAAE,SAAS;QACvB,CAAC,OAAO,CAAC,cAAc,KAAK,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;IAC5E,IAAI,OAAO,CAAC,QAAQ;QAAE,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC7D,IAAI,OAAO,CAAC,aAAa;QAAE,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;IAC5E,IAAI,KAAK,KAAK,SAAS;QAAE,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IACtD,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YAClD,kEAAkE;YAClE,kEAAkE;YAClE,gEAAgE;YAChE,oBAAoB;YACpB,IAAI,CAAC,KAAK,SAAS;gBAAE,SAAS;YAC9B,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAY,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;IACD,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAElC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACvB,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,GAAU,EAAE,IAAY;IACnD,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;IAC9B,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IAClC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAClB,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAC/B,GAAU,EACV,OAAe,EACf,OAAe,EACf,WAAmB,EACnB,UAAwC,EAAE;IAE1C,MAAM,GAAG,GAAG,SAAS,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IACpC,IAAI,CAAC,GAAG;QAAE,OAAO,SAAS,CAAC;IAC3B,yEAAyE;IACzE,wEAAwE;IACxE,qEAAqE;IACrE,oEAAoE;IACpE,IAAI,SAAS,CAAC,GAAG,EAAE,OAAO,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CACb,+CAA+C,OAAO,kBAAkB,CACzE,CAAC;IACJ,CAAC;IAED,MAAM,QAAQ,GAAG,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,UAAU,CAA+B,CAAC;IAC9E,MAAM,WAAW,GAAG,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,QAAQ,CAA8B,CAAC;IAC9E,MAAM,OAAO,GAAG,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAA+B,CAAC;IAEvE,MAAM,OAAO,GAA4B,EAAE,CAAC;IAC5C,IAAI,OAAO,CAAC,cAAc,KAAK,KAAK,IAAI,QAAQ,EAAE,CAAC;QACjD,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAC1D,CAAC;IACD,6CAA6C;IAC7C,OAAO,CAAC,iBAAiB,CAAC,GAAG,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;IAEnD,MAAM,eAAe,GAA2B,EAAE,CAAC;IACnD,IAAI,WAAW,EAAE,CAAC;QAChB,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,WAAW,CAAC,OAAO,EAAE,EAAE,CAAC;YACnD,eAAe,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;QACjC,CAAC;IACH,CAAC;IAED,MAAM,IAAI,GAAe;QACvB,QAAQ,EAAE,WAAW;QACrB,YAAY,EAAE,OAAO;QACrB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACnC,YAAY,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KACvC,CAAC;IACF,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAC3C,IAAI,OAAO,SAAS,KAAK,QAAQ;YAAE,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAChE,CAAC;IAED,YAAY,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAC3B,OAAO,YAAY,CAAC,GAAG,EAAE,OAAO,EAAE;QAChC,QAAQ,EAAE,WAAW;QACrB,UAAU,EAAE,OAAO;QACnB,QAAQ,EAAE,eAAe;QACzB,IAAI;KACL,CAAC,CAAC;AACL,CAAC;AAED,wEAAwE;AACxE,yEAAyE;AACzE,wEAAwE;AAExE;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,GAAU,EAAE,IAAY,EAAE,IAAY,EAAE,KAAc;IACjF,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACpC,IAAI,CAAC,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,IAAI,aAAa,CAAC,CAAC;IAC7E,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,UAAU,CAA+B,CAAC;IAC9E,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,IAAI,0BAA0B,CAAC,CAAC;IACzF,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,GAAU,EAAE,IAAY,EAAE,IAAY;IACpE,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACpC,IAAI,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IAC1B,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,UAAU,CAA+B,CAAC;IAC9E,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IAC7C,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACnB,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,GAAU,EAAE,IAAY,EAAE,IAAY;IACjE,OAAQ,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,GAAG,CAAC,UAAU,CAAC,UAAU,CAAgC,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;AACrG,CAAC;AAED,wEAAwE;AACxE,yEAAyE;AACzE,wEAAwE;AAExE,8DAA8D;AAC9D,MAAM,UAAU,QAAQ,CAAC,GAAU,EAAE,IAAY,EAAE,IAAY,EAAE,SAAiB;IAChF,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACpC,IAAI,CAAC,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,IAAI,aAAa,CAAC,CAAC;IAC7E,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,QAAQ,CAA8B,CAAC;IAC9E,IAAI,CAAC,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,IAAI,wBAAwB,CAAC,CAAC;IAC1F,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,GAAU,EAAE,IAAY,EAAE,IAAY;IAChE,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACpC,IAAI,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IAC1B,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,QAAQ,CAA8B,CAAC;IAC9E,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IACnD,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACtB,OAAO,IAAI,CAAC;AACd,CAAC;AAED,kEAAkE;AAClE,MAAM,UAAU,UAAU,CAAC,GAAU,EAAE,IAAY,EAAE,IAAY,EAAE,UAAkB;IACnF,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACpC,IAAI,CAAC,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,IAAI,aAAa,CAAC,CAAC;IAC7E,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,QAAQ,CAA8B,CAAC;IAC9E,IAAI,CAAC,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,IAAI,wBAAwB,CAAC,CAAC;IAC1F,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,GAAU,EAAE,IAAY,EAAE,IAAY;IAClE,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACpC,IAAI,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IAC1B,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,QAAQ,CAA8B,CAAC;IAC9E,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IACnD,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACtB,OAAO,IAAI,CAAC;AACd,CAAC;AAED,0EAA0E;AAC1E,MAAM,UAAU,UAAU,CACxB,GAAU,EACV,SAAiB,EACjB,cAAsB,EACtB,YAAoB,EACpB,IAAY;IAEZ,GAAG,CAAC,QAAQ,CAAC,GAAG,EAAE;QAChB,WAAW,CAAC,GAAG,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;QACvC,QAAQ,CAAC,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;AACL,CAAC;AAED,wEAAwE;AACxE,0EAA0E;AAC1E,wEAAwE;AAExE;;;;GAIG;AACH,SAAS,oBAAoB,CAAC,KAAa,EAAE,IAAY;IACvD,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CACb,qBAAqB,KAAK,KAAK,IAAI,oDAAoD,CACxF,CAAC;IACJ,CAAC;AACH,CAAC;AAED,qEAAqE;AACrE,MAAM,UAAU,gBAAgB,CAC9B,GAAU,EACV,IAAY,EACZ,QAAgB,EAChB,QAAgB,EAChB,KAAoB;IAEpB,oBAAoB,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IAC5C,oBAAoB,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC;IAChD,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACpC,IAAI,CAAC,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,IAAI,aAAa,CAAC,CAAC;IAC7E,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,CAA4C,CAAC;IACtF,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,IAAI,qBAAqB,CAAC,CAAC;IAEpF,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC/B,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,IAAI,GAAG,IAAI,CAAC,CAAC,GAAG,EAAiB,CAAC;QAClC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC5B,CAAC;IACD,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;AAC5B,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,GAAU,EACV,IAAY,EACZ,QAAgB,EAChB,QAAgB;IAEhB,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,GAAG,CAAC,UAAU,CAAC,KAAK,CAE3C,CAAC;IACd,MAAM,IAAI,GAAG,KAAK,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;IAClC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC;QAAE,OAAO,KAAK,CAAC;IAC/C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACtB,wBAAwB;IACxB,IAAI,IAAI,CAAC,IAAI,KAAK,CAAC;QAAE,KAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC7C,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,GAAU,EACV,IAAY,EACZ,QAAgB,EAChB,QAAgB;IAEhB,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,GAAG,CAAC,UAAU,CAAC,KAAK,CAE3C,CAAC;IACd,OAAO,KAAK,EAAE,GAAG,CAAC,QAAQ,CAAC,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC7C,CAAC;AAED,wEAAwE;AACxE,0EAA0E;AAC1E,wEAAwE;AAExE,MAAM,UAAU,gBAAgB,CAC9B,GAAU,EACV,IAAY,EACZ,QAAgB,EAChB,OAAe,EACf,KAAa;IAEb,oBAAoB,CAAC,mBAAmB,EAAE,QAAQ,CAAC,CAAC;IACpD,oBAAoB,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;IAC/C,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACpC,IAAI,CAAC,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,IAAI,aAAa,CAAC,CAAC;IAC7E,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,UAAU,CAAqC,CAAC;IACpF,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,IAAI,0BAA0B,CAAC,CAAC;IACzF,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC/B,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,IAAI,GAAG,IAAI,CAAC,CAAC,GAAG,EAAU,CAAC;QAC3B,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC5B,CAAC;IACD,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,GAAU,EACV,IAAY,EACZ,QAAgB,EAChB,OAAe;IAEf,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,GAAG,CAAC,UAAU,CAAC,UAAU,CAEhD,CAAC;IACd,MAAM,IAAI,GAAG,KAAK,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;IAClC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC;QAAE,OAAO,KAAK,CAAC;IAC9C,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACrB,uDAAuD;IACvD,IAAI,IAAI,CAAC,IAAI,KAAK,CAAC;QAAE,KAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC7C,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,GAAU,EACV,IAAY,EACZ,QAAgB,EAChB,OAAe;IAEf,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,GAAG,CAAC,UAAU,CAAC,UAAU,CAEhD,CAAC;IACd,OAAO,KAAK,EAAE,GAAG,CAAC,QAAQ,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;AAC5C,CAAC;AAED,wEAAwE;AACxE,0EAA0E;AAC1E,wEAAwE;AAExE,MAAM,UAAU,iBAAiB,CAAC,GAAU,EAAE,IAAY,EAAE,GAAsB;IAChF,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACpC,IAAI,CAAC,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,IAAI,aAAa,CAAC,CAAC;IAC7E,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,eAAe,CAA2C,CAAC;IAC7F,IAAI,CAAC,GAAG;QAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,IAAI,2BAA2B,CAAC,CAAC;IACxF,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAChB,OAAO,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC;AACxB,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,GAAU,EAAE,IAAY,EAAE,KAAa;IAC1E,MAAM,GAAG,GAAG,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,GAAG,CAAC,UAAU,CAAC,eAAe,CAEnD,CAAC;IACd,IAAI,CAAC,GAAG,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,IAAI,GAAG,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IAC3D,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IACrB,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,GAAU,EAAE,IAAY,EAAE,UAA8B;IAClF,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACpC,IAAI,CAAC,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,IAAI,aAAa,CAAC,CAAC;IAC7E,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,SAAS,CAA4C,CAAC;IACxF,IAAI,CAAC,GAAG;QAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,IAAI,qBAAqB,CAAC,CAAC;IAClF,GAAG,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;IACvB,OAAO,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC;AACxB,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,GAAU,EAAE,IAAY,EAAE,KAAa;IACpE,MAAM,GAAG,GAAG,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,GAAG,CAAC,UAAU,CAAC,SAAS,CAE7C,CAAC;IACd,IAAI,CAAC,GAAG,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,IAAI,GAAG,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IAC3D,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IACrB,OAAO,IAAI,CAAC;AACd,CAAC;AAED,wEAAwE;AACxE,0EAA0E;AAC1E,wEAAwE;AAExE,iGAAiG;AACjG,SAAS,WAAW,CAAC,MAAkC;IACrD,IAAI,CAAC,MAAM;QAAE,OAAO,EAAE,CAAC;IACvB,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAClC,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;QAAE,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC;IACrF,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACpC,OAAO,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACpD,CAAC;AAED,yGAAyG;AACzG,MAAM,UAAU,cAAc,CAAC,GAAU,EAAE,IAAY,EAAE,GAAsB;IAC7E,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACpC,IAAI,CAAC,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,IAAI,aAAa,CAAC,CAAC;IAC7E,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,YAAY,CAA+B,CAAC;IACjF,IAAI,CAAC,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,IAAI,uBAAuB,CAAC,CAAC;IACvF,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;AAC1C,CAAC;AAED,iFAAiF;AACjF,MAAM,UAAU,cAAc,CAAC,GAAU,EAAE,IAAY,EAAE,MAAc;IACrE,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACpC,IAAI,CAAC,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,IAAI,aAAa,CAAC,CAAC;IAC7E,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,YAAY,CAA+B,CAAC;IACjF,IAAI,CAAC,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,IAAI,uBAAuB,CAAC,CAAC;IACvF,MAAM,GAAG,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;IAChC,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO;IACjC,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,GAAG,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC;AAC1C,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,GAAU,EAAE,IAAY;IACvD,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,GAAG,CAAC,UAAU,CAAC,YAAY,CAEnD,CAAC;IACd,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IAC/E,IAAI,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC;QAAE,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACpD,8DAA8D;IAC9D,IAAI,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAClD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,GAAU,EAAE,IAAY;IACrD,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,GAAG,CAAC,UAAU,CAAC,YAAY,CAEnD,CAAC;IACd,MAAM,OAAO,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;IACpC,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AACtD,CAAC;AAED,wEAAwE;AACxE,0EAA0E;AAC1E,wEAAwE;AAExE,wDAAwD;AACxD,MAAM,SAAS,CAAC,CAAC,YAAY,CAC3B,GAAU;IAEV,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;IAC9B,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;QAC5C,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACvB,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,MAAsB;IAWjD,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,UAAU,CAA+B,CAAC;IAC9E,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,QAAQ,CAA8B,CAAC;IAC9E,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,QAAQ,CAA8B,CAAC;IAC9E,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,CAA4C,CAAC;IACtF,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,UAAU,CAAqC,CAAC;IACzF,MAAM,eAAe,GAAG,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,eAAe,CAEhD,CAAC;IACd,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,SAAS,CAA4C,CAAC;IAC9F,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,YAAY,CAA+B,CAAC;IAClF,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAA+B,CAAC;IAEvE,MAAM,UAAU,GAA4B,EAAE,CAAC;IAC/C,IAAI,KAAK;QAAE,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE;YAAE,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAEnE,MAAM,YAAY,GAA2B,EAAE,CAAC;IAChD,IAAI,QAAQ;QAAE,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAE3E,MAAM,YAAY,GAA2B,EAAE,CAAC;IAChD,IAAI,QAAQ;QAAE,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,QAAQ,CAAC,OAAO,EAAE;YAAE,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAE3E,MAAM,SAAS,GAAkD,EAAE,CAAC;IACpE,IAAI,KAAK,EAAE,CAAC;QACV,KAAK,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;YAC/C,MAAM,KAAK,GAAkC,EAAE,CAAC;YAChD,KAAK,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;gBAC7C,KAAK,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC;YACxB,CAAC;YACD,SAAS,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC;QAC9B,CAAC;IACH,CAAC;IAED,MAAM,cAAc,GAA2C,EAAE,CAAC;IAClE,IAAI,UAAU,EAAE,CAAC;QACf,KAAK,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC;YACpD,MAAM,IAAI,GAA2B,EAAE,CAAC;YACxC,KAAK,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;gBAC5C,IAAI,CAAC,OAAO,CAAC,GAAG,GAAG,CAAC;YACtB,CAAC;YACD,cAAc,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;QAClC,CAAC;IACH,CAAC;IAED,MAAM,QAAQ,GAA4B,EAAE,CAAC;IAC7C,IAAI,IAAI;QAAE,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE;YAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAE/D,MAAM,UAAU,GAAG,OAAO,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;IAC3C,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC;QAC5C,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC;QAC9D,CAAC,CAAC,OAAO,OAAO,EAAE,GAAG,CAAC,QAAQ,CAAC,KAAK,QAAQ;YAC1C,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAW,CAAC;YACnC,CAAC,CAAC,EAAE,CAAC;IAET,OAAO;QACL,UAAU;QACV,QAAQ,EAAE,YAAY;QACtB,QAAQ,EAAE,YAAY;QACtB,KAAK,EAAE,SAAS;QAChB,UAAU,EAAE,cAAc;QAC1B,eAAe,EAAE,eAAe,CAAC,CAAC,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE;QACjE,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE;QAC/C,YAAY;QACZ,IAAI,EAAE,QAAQ;KACf,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"entity.js","sourceRoot":"","sources":["../../src/doc/entity.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Model slots: how one room carries several models (#4444).
|
|
3
|
+
*
|
|
4
|
+
* A room used to hold exactly one model, and every entity was keyed by its
|
|
5
|
+
* IFC `GlobalId` alone (`/<GlobalId>`). Two loaded copies of the same file —
|
|
6
|
+
* a legitimate workspace: the same building with two appearance sources
|
|
7
|
+
* applied — therefore could not both be shared: `createEntity` is idempotent
|
|
8
|
+
* on the path, so the second copy silently merged into the first and its
|
|
9
|
+
* meshes were appended to the first copy's `geometryRef`.
|
|
10
|
+
*
|
|
11
|
+
* A slot is the room's name for one shared model. Slot ids are minted per
|
|
12
|
+
* seed in share order (`m0`, `m1`, …) and never derived from a filename,
|
|
13
|
+
* source bytes or a GlobalId, so identical inputs still get distinct slots.
|
|
14
|
+
* Entity paths are qualified by slot: `/<slotId>/<GlobalId>` for STEP seeds,
|
|
15
|
+
* `/<slotId>` prepended to the file's own path for IFCX seeds (whose own
|
|
16
|
+
* header / imports / schemas are recorded per slot too, see
|
|
17
|
+
* `snapshot/slot-ifcx.ts`). `geometry` stays content-hash keyed, and
|
|
18
|
+
* the `geometryRef` that points at it is per entity path, i.e. per slot:
|
|
19
|
+
* byte-identical blobs would dedupe across copies, but STEP mesh blobs
|
|
20
|
+
* encode the federation-global expressId, so two copies of one file carry
|
|
21
|
+
* two blob sets.
|
|
22
|
+
*
|
|
23
|
+
* Known limit: an IFCX seed re-homes `children` / `inherits` references
|
|
24
|
+
* under the slot but not path-valued ATTRIBUTES of a custom schema — the
|
|
25
|
+
* runtime cannot tell those from strings, so they keep the file's
|
|
26
|
+
* unqualified path (see `qualifyNode` in `snapshot/slot-ifcx.ts`).
|
|
27
|
+
*
|
|
28
|
+
* Rooms seeded before slots existed have an empty `models` map and
|
|
29
|
+
* unqualified paths. They are read as ONE implicit slot whose path prefix is
|
|
30
|
+
* empty (`legacyModelSlot`), so `slotPath` / `pathInSlot` reduce to the old
|
|
31
|
+
* `/<GlobalId>` scheme and nothing on disk needs rewriting — a CRDT
|
|
32
|
+
* migration that moved every entity to a new path would be a delete+create
|
|
33
|
+
* that every client raced to perform on join.
|
|
34
|
+
*/
|
|
35
|
+
import type * as Y from 'yjs';
|
|
36
|
+
/** The two things a path needs to know about a slot. */
|
|
37
|
+
export interface ModelSlotRef {
|
|
38
|
+
slotId: string;
|
|
39
|
+
/** `/<slotId>` for a real slot; `''` for the implicit legacy slot. */
|
|
40
|
+
pathPrefix: string;
|
|
41
|
+
}
|
|
42
|
+
/** What the owner records about a shared model, stored under `models/<slotId>`. */
|
|
43
|
+
export interface ModelSlotRecord {
|
|
44
|
+
/** Display name (the viewer's model name, usually the filename). */
|
|
45
|
+
name: string;
|
|
46
|
+
fileName?: string;
|
|
47
|
+
/** Raw schema string as the source reported it (`IFC4`, `IFC2X3`, `IFC5`, …). */
|
|
48
|
+
schemaVersion?: string;
|
|
49
|
+
/** Seed order; also the slot's index. */
|
|
50
|
+
order: number;
|
|
51
|
+
/** Durable source identity when the owner has one (never used to key a slot). */
|
|
52
|
+
sourceFingerprint?: string;
|
|
53
|
+
/**
|
|
54
|
+
* Content-addressed blob containing a complete portable STEP source for
|
|
55
|
+
* this slot. Recipients may parse it to retain representation-level data
|
|
56
|
+
* (for example IfcAnnotation symbolic geometry) that the root-only IFCX
|
|
57
|
+
* collaboration snapshot cannot express.
|
|
58
|
+
*/
|
|
59
|
+
stepSourceBlobHash?: string;
|
|
60
|
+
/** Encoding of `stepSourceBlobHash`; absent records are plain STEP. */
|
|
61
|
+
stepSourceFormat?: 'step' | 'ifczip';
|
|
62
|
+
}
|
|
63
|
+
export interface ModelSlot extends ModelSlotRef, ModelSlotRecord {
|
|
64
|
+
/** True for the implicit single slot of a room seeded before `models` existed. */
|
|
65
|
+
legacy: boolean;
|
|
66
|
+
}
|
|
67
|
+
/** Slot id of the implicit slot a pre-slot room is read as. */
|
|
68
|
+
export declare const LEGACY_MODEL_SLOT_ID = "m0";
|
|
69
|
+
/** Mint the slot id for the `index`-th model of a seed (`m0`, `m1`, …). */
|
|
70
|
+
export declare function modelSlotId(index: number): string;
|
|
71
|
+
/** A path-building reference for a real (non-legacy) slot. */
|
|
72
|
+
export declare function modelSlotRef(slotId: string): ModelSlotRef;
|
|
73
|
+
/** The implicit single slot of a room whose `models` map is empty. */
|
|
74
|
+
export declare function legacyModelSlot(name?: string): ModelSlot;
|
|
75
|
+
/** Entity path for a GlobalId-keyed (STEP) entity in `slot`. */
|
|
76
|
+
export declare function slotPath(slot: ModelSlotRef, guid: string): string;
|
|
77
|
+
/**
|
|
78
|
+
* Qualify a file-defined IFCX path with the slot. IFCX paths may or may not
|
|
79
|
+
* carry a leading slash; the result always has the form `<prefix>/<rest>` so
|
|
80
|
+
* `pathInSlot` recognises it, and the original spelling is kept verbatim
|
|
81
|
+
* after the prefix (a legacy slot returns the path unchanged).
|
|
82
|
+
*/
|
|
83
|
+
export declare function prefixPathForSlot(slot: ModelSlotRef, path: string): string;
|
|
84
|
+
/** Whether an entity path belongs to `slot` (every path belongs to the legacy slot). */
|
|
85
|
+
export declare function pathInSlot(slot: ModelSlotRef, path: string): boolean;
|
|
86
|
+
/** The slot id a qualified path names, or `null` for an unqualified (legacy) path. */
|
|
87
|
+
export declare function slotIdOfPath(path: string): string | null;
|
|
88
|
+
/** Record a slot in the doc. Idempotent on `slotId`: an existing record wins. */
|
|
89
|
+
export declare function createModelSlot(doc: Y.Doc, slotId: string, record: ModelSlotRecord): ModelSlot;
|
|
90
|
+
export declare function getModelSlot(doc: Y.Doc, slotId: string): ModelSlot | undefined;
|
|
91
|
+
/**
|
|
92
|
+
* Every slot of the room, in seed order. A room with no `models` entries —
|
|
93
|
+
* seeded before slots existed, or still empty — is one legacy slot named
|
|
94
|
+
* after whatever the seed recorded (`meta.stepHeader.fileName` for a STEP
|
|
95
|
+
* room), so a joiner of an old room reconstructs exactly what it did before.
|
|
96
|
+
*/
|
|
97
|
+
export declare function listModelSlots(doc: Y.Doc): ModelSlot[];
|
|
98
|
+
//# sourceMappingURL=model-slot.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model-slot.d.ts","sourceRoot":"","sources":["../../src/doc/model-slot.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAEH,OAAO,KAAK,KAAK,CAAC,MAAM,KAAK,CAAC;AAG9B,wDAAwD;AACxD,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,sEAAsE;IACtE,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,mFAAmF;AACnF,MAAM,WAAW,eAAe;IAC9B,oEAAoE;IACpE,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iFAAiF;IACjF,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,yCAAyC;IACzC,KAAK,EAAE,MAAM,CAAC;IACd,iFAAiF;IACjF,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;;;;OAKG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,uEAAuE;IACvE,gBAAgB,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC;CACtC;AAED,MAAM,WAAW,SAAU,SAAQ,YAAY,EAAE,eAAe;IAC9D,kFAAkF;IAClF,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,+DAA+D;AAC/D,eAAO,MAAM,oBAAoB,OAAO,CAAC;AAEzC,2EAA2E;AAC3E,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAKjD;AAKD,8DAA8D;AAC9D,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,CAKzD;AAED,sEAAsE;AACtE,wBAAgB,eAAe,CAAC,IAAI,SAAiB,GAAG,SAAS,CAEhE;AAED,gEAAgE;AAChE,wBAAgB,QAAQ,CAAC,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAEjE;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAG1E;AAED,wFAAwF;AACxF,wBAAgB,UAAU,CAAC,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAGpE;AAED,sFAAsF;AACtF,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAGxD;AAED,iFAAiF;AACjF,wBAAgB,eAAe,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,GAAG,SAAS,CAa9F;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAI9E;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,GAAG,SAAS,EAAE,CAetD"}
|
|
@@ -0,0 +1,124 @@
|
|
|
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 { modelsMap, metaMap } from './schema.js';
|
|
5
|
+
/** Slot id of the implicit slot a pre-slot room is read as. */
|
|
6
|
+
export const LEGACY_MODEL_SLOT_ID = 'm0';
|
|
7
|
+
/** Mint the slot id for the `index`-th model of a seed (`m0`, `m1`, …). */
|
|
8
|
+
export function modelSlotId(index) {
|
|
9
|
+
if (!Number.isInteger(index) || index < 0) {
|
|
10
|
+
throw new Error(`@ifc-lite/collab: invalid model slot index ${index}`);
|
|
11
|
+
}
|
|
12
|
+
return `m${index}`;
|
|
13
|
+
}
|
|
14
|
+
const SLOT_ID_RE = /^m\d+$/;
|
|
15
|
+
const SLOT_PATH_RE = /^\/(m\d+)\//;
|
|
16
|
+
/** A path-building reference for a real (non-legacy) slot. */
|
|
17
|
+
export function modelSlotRef(slotId) {
|
|
18
|
+
if (!SLOT_ID_RE.test(slotId)) {
|
|
19
|
+
throw new Error(`@ifc-lite/collab: invalid model slot id "${slotId}"`);
|
|
20
|
+
}
|
|
21
|
+
return { slotId, pathPrefix: `/${slotId}` };
|
|
22
|
+
}
|
|
23
|
+
/** The implicit single slot of a room whose `models` map is empty. */
|
|
24
|
+
export function legacyModelSlot(name = 'Shared model') {
|
|
25
|
+
return { slotId: LEGACY_MODEL_SLOT_ID, pathPrefix: '', name, order: 0, legacy: true };
|
|
26
|
+
}
|
|
27
|
+
/** Entity path for a GlobalId-keyed (STEP) entity in `slot`. */
|
|
28
|
+
export function slotPath(slot, guid) {
|
|
29
|
+
return `${slot.pathPrefix}/${guid}`;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Qualify a file-defined IFCX path with the slot. IFCX paths may or may not
|
|
33
|
+
* carry a leading slash; the result always has the form `<prefix>/<rest>` so
|
|
34
|
+
* `pathInSlot` recognises it, and the original spelling is kept verbatim
|
|
35
|
+
* after the prefix (a legacy slot returns the path unchanged).
|
|
36
|
+
*/
|
|
37
|
+
export function prefixPathForSlot(slot, path) {
|
|
38
|
+
if (slot.pathPrefix === '')
|
|
39
|
+
return path;
|
|
40
|
+
return path.startsWith('/') ? `${slot.pathPrefix}${path}` : `${slot.pathPrefix}/${path}`;
|
|
41
|
+
}
|
|
42
|
+
/** Whether an entity path belongs to `slot` (every path belongs to the legacy slot). */
|
|
43
|
+
export function pathInSlot(slot, path) {
|
|
44
|
+
if (slot.pathPrefix === '')
|
|
45
|
+
return true;
|
|
46
|
+
return path.startsWith(`${slot.pathPrefix}/`);
|
|
47
|
+
}
|
|
48
|
+
/** The slot id a qualified path names, or `null` for an unqualified (legacy) path. */
|
|
49
|
+
export function slotIdOfPath(path) {
|
|
50
|
+
const m = SLOT_PATH_RE.exec(path);
|
|
51
|
+
return m ? m[1] : null;
|
|
52
|
+
}
|
|
53
|
+
/** Record a slot in the doc. Idempotent on `slotId`: an existing record wins. */
|
|
54
|
+
export function createModelSlot(doc, slotId, record) {
|
|
55
|
+
const ref = modelSlotRef(slotId);
|
|
56
|
+
const models = modelsMap(doc);
|
|
57
|
+
const existing = readRecord(models.get(slotId));
|
|
58
|
+
if (existing)
|
|
59
|
+
return { ...ref, ...existing, legacy: false };
|
|
60
|
+
const stored = { name: record.name, order: record.order };
|
|
61
|
+
if (record.fileName !== undefined)
|
|
62
|
+
stored.fileName = record.fileName;
|
|
63
|
+
if (record.schemaVersion !== undefined)
|
|
64
|
+
stored.schemaVersion = record.schemaVersion;
|
|
65
|
+
if (record.sourceFingerprint !== undefined)
|
|
66
|
+
stored.sourceFingerprint = record.sourceFingerprint;
|
|
67
|
+
if (record.stepSourceBlobHash !== undefined)
|
|
68
|
+
stored.stepSourceBlobHash = record.stepSourceBlobHash;
|
|
69
|
+
if (record.stepSourceFormat !== undefined)
|
|
70
|
+
stored.stepSourceFormat = record.stepSourceFormat;
|
|
71
|
+
models.set(slotId, stored);
|
|
72
|
+
return { ...ref, ...stored, legacy: false };
|
|
73
|
+
}
|
|
74
|
+
export function getModelSlot(doc, slotId) {
|
|
75
|
+
const record = readRecord(modelsMap(doc).get(slotId));
|
|
76
|
+
if (!record || !SLOT_ID_RE.test(slotId))
|
|
77
|
+
return undefined;
|
|
78
|
+
return { ...modelSlotRef(slotId), ...record, legacy: false };
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Every slot of the room, in seed order. A room with no `models` entries —
|
|
82
|
+
* seeded before slots existed, or still empty — is one legacy slot named
|
|
83
|
+
* after whatever the seed recorded (`meta.stepHeader.fileName` for a STEP
|
|
84
|
+
* room), so a joiner of an old room reconstructs exactly what it did before.
|
|
85
|
+
*/
|
|
86
|
+
export function listModelSlots(doc) {
|
|
87
|
+
const models = modelsMap(doc);
|
|
88
|
+
const out = [];
|
|
89
|
+
for (const [slotId, raw] of models.entries()) {
|
|
90
|
+
const record = readRecord(raw);
|
|
91
|
+
if (!record || !SLOT_ID_RE.test(slotId))
|
|
92
|
+
continue;
|
|
93
|
+
out.push({ ...modelSlotRef(slotId), ...record, legacy: false });
|
|
94
|
+
}
|
|
95
|
+
if (out.length === 0) {
|
|
96
|
+
const header = metaMap(doc).get('stepHeader');
|
|
97
|
+
const fileName = typeof header?.fileName === 'string' && header.fileName ? header.fileName : undefined;
|
|
98
|
+
return [legacyModelSlot(fileName)];
|
|
99
|
+
}
|
|
100
|
+
out.sort((a, b) => a.order - b.order || (a.slotId < b.slotId ? -1 : 1));
|
|
101
|
+
return out;
|
|
102
|
+
}
|
|
103
|
+
function readRecord(raw) {
|
|
104
|
+
if (!raw || typeof raw !== 'object')
|
|
105
|
+
return null;
|
|
106
|
+
const r = raw;
|
|
107
|
+
if (typeof r.name !== 'string' || typeof r.order !== 'number')
|
|
108
|
+
return null;
|
|
109
|
+
const record = { name: r.name, order: r.order };
|
|
110
|
+
if (typeof r.fileName === 'string')
|
|
111
|
+
record.fileName = r.fileName;
|
|
112
|
+
if (typeof r.schemaVersion === 'string')
|
|
113
|
+
record.schemaVersion = r.schemaVersion;
|
|
114
|
+
if (typeof r.sourceFingerprint === 'string')
|
|
115
|
+
record.sourceFingerprint = r.sourceFingerprint;
|
|
116
|
+
if (typeof r.stepSourceBlobHash === 'string' && /^[0-9a-f]{32}$/.test(r.stepSourceBlobHash)) {
|
|
117
|
+
record.stepSourceBlobHash = r.stepSourceBlobHash;
|
|
118
|
+
}
|
|
119
|
+
if (r.stepSourceFormat === 'step' || r.stepSourceFormat === 'ifczip') {
|
|
120
|
+
record.stepSourceFormat = r.stepSourceFormat;
|
|
121
|
+
}
|
|
122
|
+
return record;
|
|
123
|
+
}
|
|
124
|
+
//# sourceMappingURL=model-slot.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model-slot.js","sourceRoot":"","sources":["../../src/doc/model-slot.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAsC/D,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAoCjD,+DAA+D;AAC/D,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAI,CAAC;AAEzC,2EAA2E;AAC3E,MAAM,UAAU,WAAW,CAAC,KAAa;IACvC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QAC1C,MAAM,IAAI,KAAK,CAAC,8CAA8C,KAAK,EAAE,CAAC,CAAC;IACzE,CAAC;IACD,OAAO,IAAI,KAAK,EAAE,CAAC;AACrB,CAAC;AAED,MAAM,UAAU,GAAG,QAAQ,CAAC;AAC5B,MAAM,YAAY,GAAG,aAAa,CAAC;AAEnC,8DAA8D;AAC9D,MAAM,UAAU,YAAY,CAAC,MAAc;IACzC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CAAC,4CAA4C,MAAM,GAAG,CAAC,CAAC;IACzE,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,MAAM,EAAE,EAAE,CAAC;AAC9C,CAAC;AAED,sEAAsE;AACtE,MAAM,UAAU,eAAe,CAAC,IAAI,GAAG,cAAc;IACnD,OAAO,EAAE,MAAM,EAAE,oBAAoB,EAAE,UAAU,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;AACxF,CAAC;AAED,gEAAgE;AAChE,MAAM,UAAU,QAAQ,CAAC,IAAkB,EAAE,IAAY;IACvD,OAAO,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,EAAE,CAAC;AACtC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAAkB,EAAE,IAAY;IAChE,IAAI,IAAI,CAAC,UAAU,KAAK,EAAE;QAAE,OAAO,IAAI,CAAC;IACxC,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,EAAE,CAAC;AAC3F,CAAC;AAED,wFAAwF;AACxF,MAAM,UAAU,UAAU,CAAC,IAAkB,EAAE,IAAY;IACzD,IAAI,IAAI,CAAC,UAAU,KAAK,EAAE;QAAE,OAAO,IAAI,CAAC;IACxC,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;AAChD,CAAC;AAED,sFAAsF;AACtF,MAAM,UAAU,YAAY,CAAC,IAAY;IACvC,MAAM,CAAC,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACzB,CAAC;AAED,iFAAiF;AACjF,MAAM,UAAU,eAAe,CAAC,GAAU,EAAE,MAAc,EAAE,MAAuB;IACjF,MAAM,GAAG,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IACjC,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;IAC9B,MAAM,QAAQ,GAAG,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IAChD,IAAI,QAAQ;QAAE,OAAO,EAAE,GAAG,GAAG,EAAE,GAAG,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IAC5D,MAAM,MAAM,GAAoB,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;IAC3E,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS;QAAE,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;IACrE,IAAI,MAAM,CAAC,aAAa,KAAK,SAAS;QAAE,MAAM,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;IACpF,IAAI,MAAM,CAAC,iBAAiB,KAAK,SAAS;QAAE,MAAM,CAAC,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,CAAC;IAChG,IAAI,MAAM,CAAC,kBAAkB,KAAK,SAAS;QAAE,MAAM,CAAC,kBAAkB,GAAG,MAAM,CAAC,kBAAkB,CAAC;IACnG,IAAI,MAAM,CAAC,gBAAgB,KAAK,SAAS;QAAE,MAAM,CAAC,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,CAAC;IAC7F,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3B,OAAO,EAAE,GAAG,GAAG,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;AAC9C,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,GAAU,EAAE,MAAc;IACrD,MAAM,MAAM,GAAG,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IACtD,IAAI,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC;QAAE,OAAO,SAAS,CAAC;IAC1D,OAAO,EAAE,GAAG,YAAY,CAAC,MAAM,CAAC,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;AAC/D,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAAC,GAAU;IACvC,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;IAC9B,MAAM,GAAG,GAAgB,EAAE,CAAC;IAC5B,KAAK,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC;QAC7C,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;QAC/B,IAAI,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC;YAAE,SAAS;QAClD,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,YAAY,CAAC,MAAM,CAAC,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IAClE,CAAC;IACD,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrB,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,YAAY,CAAuC,CAAC;QACpF,MAAM,QAAQ,GAAG,OAAO,MAAM,EAAE,QAAQ,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;QACvG,OAAO,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC;IACrC,CAAC;IACD,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACxE,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,UAAU,CAAC,GAAY;IAC9B,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IACjD,MAAM,CAAC,GAAG,GAA8B,CAAC;IACzC,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,CAAC,CAAC,KAAK,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC3E,MAAM,MAAM,GAAoB,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;IACjE,IAAI,OAAO,CAAC,CAAC,QAAQ,KAAK,QAAQ;QAAE,MAAM,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC;IACjE,IAAI,OAAO,CAAC,CAAC,aAAa,KAAK,QAAQ;QAAE,MAAM,CAAC,aAAa,GAAG,CAAC,CAAC,aAAa,CAAC;IAChF,IAAI,OAAO,CAAC,CAAC,iBAAiB,KAAK,QAAQ;QAAE,MAAM,CAAC,iBAAiB,GAAG,CAAC,CAAC,iBAAiB,CAAC;IAC5F,IAAI,OAAO,CAAC,CAAC,kBAAkB,KAAK,QAAQ,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,kBAAkB,CAAC,EAAE,CAAC;QAC5F,MAAM,CAAC,kBAAkB,GAAG,CAAC,CAAC,kBAAkB,CAAC;IACnD,CAAC;IACD,IAAI,CAAC,CAAC,gBAAgB,KAAK,MAAM,IAAI,CAAC,CAAC,gBAAgB,KAAK,QAAQ,EAAE,CAAC;QACrE,MAAM,CAAC,gBAAgB,GAAG,CAAC,CAAC,gBAAgB,CAAC;IAC/C,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
package/dist/doc/schema.d.ts
CHANGED
|
@@ -17,6 +17,15 @@ export declare const TOP: {
|
|
|
17
17
|
* (snapshotToIfcx only walks ENTITIES) — markup is room overlay data, not BIM.
|
|
18
18
|
*/
|
|
19
19
|
readonly ANNOTATIONS: "annotations";
|
|
20
|
+
/**
|
|
21
|
+
* Model slots (#4444): `slotId → ModelSlotRecord`, one per model the owner
|
|
22
|
+
* shared into the room. Entity paths are qualified by slot
|
|
23
|
+
* (`/<slotId>/<GlobalId>`, see `model-slot.ts`), so two copies of one file
|
|
24
|
+
* — same bytes, same GlobalIds — are two slots and never one merged entity
|
|
25
|
+
* set. A room seeded before slots existed has an empty map; readers treat
|
|
26
|
+
* that as a single implicit slot over the unqualified `/<GlobalId>` paths.
|
|
27
|
+
*/
|
|
28
|
+
readonly MODELS: "models";
|
|
20
29
|
};
|
|
21
30
|
/** Origin tag used for transactions originated by the local CollabSession. */
|
|
22
31
|
export declare const LOCAL_ORIGIN: unique symbol;
|
|
@@ -132,6 +141,7 @@ export declare function entitiesMap(doc: Y.Doc): Y.Map<Y.Map<unknown>>;
|
|
|
132
141
|
export declare function relationshipsMap(doc: Y.Doc): Y.Map<Y.Map<unknown>>;
|
|
133
142
|
export declare function geometryMap(doc: Y.Doc): Y.Map<Y.Map<unknown>>;
|
|
134
143
|
export declare function metaMap(doc: Y.Doc): Y.Map<unknown>;
|
|
144
|
+
export declare function modelsMap(doc: Y.Doc): Y.Map<unknown>;
|
|
135
145
|
/**
|
|
136
146
|
* Runtime invariant check used by tests and seeding.
|
|
137
147
|
*
|
package/dist/doc/schema.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/doc/schema.ts"],"names":[],"mappings":"AAIA;;;;;GAKG;AAEH,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AAEzB,mCAAmC;AACnC,eAAO,MAAM,GAAG;;;;;IAKd;;;;OAIG;;CAEK,CAAC;AAEX,8EAA8E;AAC9E,eAAO,MAAM,YAAY,eAA8C,CAAC;AAExE,kEAAkE;AAClE,eAAO,MAAM,WAAW,eAA6C,CAAC;AAEtE,2DAA2D;AAC3D,eAAO,MAAM,WAAW,eAA6C,CAAC;AAEtE;;;;;;GAMG;AACH,eAAO,MAAM,UAAU;IACrB,iEAAiE;;IAEjE,qCAAqC;;IAErC,qCAAqC;;IAErC,mEAAmE;;IAEnE,uDAAuD;;IAEvD,qCAAqC;;IAErC,sCAAsC;;IAEtC,mDAAmD;;IAEnD,oEAAoE;;CAE5D,CAAC;AAEX,mCAAmC;AACnC,eAAO,MAAM,gBAAgB;;;;;CAKnB,CAAC;AAEX,+BAA+B;AAC/B,eAAO,MAAM,YAAY;;;;;;;CAOf,CAAC;AAEX;;;;;;GAMG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,EACA,UAAU,GACV,SAAS,GACT,SAAS,GACT,YAAY,GACZ,YAAY,GACZ,YAAY,GACZ,eAAe,GACf,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;IACxC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,wEAAwE;IACxE,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,gCAAgC;AAChC,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,kCAAkC;AAClC,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,uBAAuB;AACvB,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAC;IAC3C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,8DAA8D;IAC9D,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,qCAAqC;IACrC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,IAAI,GAAE;IAAE,EAAE,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG,CAAC,CAAC,GAAG,
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/doc/schema.ts"],"names":[],"mappings":"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"}
|
package/dist/doc/schema.js
CHANGED
|
@@ -20,6 +20,15 @@ export const TOP = {
|
|
|
20
20
|
* (snapshotToIfcx only walks ENTITIES) — markup is room overlay data, not BIM.
|
|
21
21
|
*/
|
|
22
22
|
ANNOTATIONS: 'annotations',
|
|
23
|
+
/**
|
|
24
|
+
* Model slots (#4444): `slotId → ModelSlotRecord`, one per model the owner
|
|
25
|
+
* shared into the room. Entity paths are qualified by slot
|
|
26
|
+
* (`/<slotId>/<GlobalId>`, see `model-slot.ts`), so two copies of one file
|
|
27
|
+
* — same bytes, same GlobalIds — are two slots and never one merged entity
|
|
28
|
+
* set. A room seeded before slots existed has an empty map; readers treat
|
|
29
|
+
* that as a single implicit slot over the unqualified `/<GlobalId>` paths.
|
|
30
|
+
*/
|
|
31
|
+
MODELS: 'models',
|
|
23
32
|
};
|
|
24
33
|
/** Origin tag used for transactions originated by the local CollabSession. */
|
|
25
34
|
export const LOCAL_ORIGIN = Symbol.for('@ifc-lite/collab/local-origin');
|
|
@@ -86,6 +95,7 @@ export function createCollabDoc(opts = {}) {
|
|
|
86
95
|
doc.getMap(TOP.GEOMETRY);
|
|
87
96
|
doc.getMap(TOP.META);
|
|
88
97
|
doc.getMap(TOP.ANNOTATIONS);
|
|
98
|
+
doc.getMap(TOP.MODELS);
|
|
89
99
|
return doc;
|
|
90
100
|
}
|
|
91
101
|
/** Top-level accessors. Centralized so refactors stay safe. */
|
|
@@ -101,6 +111,9 @@ export function geometryMap(doc) {
|
|
|
101
111
|
export function metaMap(doc) {
|
|
102
112
|
return doc.getMap(TOP.META);
|
|
103
113
|
}
|
|
114
|
+
export function modelsMap(doc) {
|
|
115
|
+
return doc.getMap(TOP.MODELS);
|
|
116
|
+
}
|
|
104
117
|
/**
|
|
105
118
|
* Runtime invariant check used by tests and seeding.
|
|
106
119
|
*
|
package/dist/doc/schema.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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;
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/doc/schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -39,6 +39,8 @@ export interface BlobPutOptions {
|
|
|
39
39
|
readonly signal?: AbortSignal;
|
|
40
40
|
}
|
|
41
41
|
export interface BlobStore {
|
|
42
|
+
/** Recompute this backend's content identity without writing the blob. */
|
|
43
|
+
hashBytes?(bytes: Uint8Array): BlobHash;
|
|
42
44
|
put(bytes: Uint8Array, contentType?: string, options?: BlobPutOptions): Promise<BlobMeta>;
|
|
43
45
|
get(hash: BlobHash): Promise<Uint8Array | null>;
|
|
44
46
|
has(hash: BlobHash): Promise<boolean>;
|
|
@@ -62,6 +64,7 @@ export declare class MemoryBlobStore implements BlobStore {
|
|
|
62
64
|
private readonly hasher;
|
|
63
65
|
private readonly blobs;
|
|
64
66
|
constructor(hasher?: BlobHasher);
|
|
67
|
+
hashBytes(bytes: Uint8Array): BlobHash;
|
|
65
68
|
put(bytes: Uint8Array, contentType?: string): Promise<BlobMeta>;
|
|
66
69
|
get(hash: BlobHash): Promise<Uint8Array | null>;
|
|
67
70
|
has(hash: BlobHash): Promise<boolean>;
|
|
@@ -95,6 +98,7 @@ export declare class HttpBlobStore implements BlobStore {
|
|
|
95
98
|
constructor(opts: HttpBlobStoreOptions);
|
|
96
99
|
private url;
|
|
97
100
|
private headers;
|
|
101
|
+
hashBytes(bytes: Uint8Array): BlobHash;
|
|
98
102
|
put(bytes: Uint8Array, contentType?: string, options?: BlobPutOptions): Promise<BlobMeta>;
|
|
99
103
|
get(hash: BlobHash): Promise<Uint8Array | null>;
|
|
100
104
|
has(hash: BlobHash): Promise<boolean>;
|
|
@@ -114,6 +118,7 @@ export declare class LayeredBlobStore implements BlobStore {
|
|
|
114
118
|
private readonly local;
|
|
115
119
|
private readonly remote;
|
|
116
120
|
constructor(local: BlobStore, remote: BlobStore);
|
|
121
|
+
hashBytes(bytes: Uint8Array): BlobHash;
|
|
117
122
|
put(bytes: Uint8Array, contentType?: string, options?: BlobPutOptions): Promise<BlobMeta>;
|
|
118
123
|
get(hash: BlobHash): Promise<Uint8Array | null>;
|
|
119
124
|
has(hash: BlobHash): Promise<boolean>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blob-store.d.ts","sourceRoot":"","sources":["../../src/geometry/blob-store.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;GAeG;AAEH,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC;AAE9B,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,QAAQ,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,kDAAkD;AAClD,MAAM,WAAW,cAAc;IAC7B;;;;;;;;;;;;OAYG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;CAC/B;AAED,MAAM,WAAW,SAAS;IACxB,GAAG,CAAC,KAAK,EAAE,UAAU,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC1F,GAAG,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC;IAChD,GAAG,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACtC,MAAM,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACzC,4EAA4E;IAC5E,IAAI,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC5B;;;;OAIG;IACH,IAAI,CAAC,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;CACjD;AAMD,MAAM,MAAM,UAAU,GAAG,CAAC,KAAK,EAAE,UAAU,KAAK,QAAQ,CAAC;AAEzD;;;GAGG;AACH,eAAO,MAAM,MAAM,EAAE,UAYpB,CAAC;AAMF,qBAAa,eAAgB,YAAW,SAAS;IAEnC,OAAO,CAAC,QAAQ,CAAC,MAAM;IADnC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA8D;gBACvD,MAAM,GAAE,UAAmB;
|
|
1
|
+
{"version":3,"file":"blob-store.d.ts","sourceRoot":"","sources":["../../src/geometry/blob-store.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;GAeG;AAEH,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC;AAE9B,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,QAAQ,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,kDAAkD;AAClD,MAAM,WAAW,cAAc;IAC7B;;;;;;;;;;;;OAYG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;CAC/B;AAED,MAAM,WAAW,SAAS;IACxB,0EAA0E;IAC1E,SAAS,CAAC,CAAC,KAAK,EAAE,UAAU,GAAG,QAAQ,CAAC;IACxC,GAAG,CAAC,KAAK,EAAE,UAAU,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC1F,GAAG,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC;IAChD,GAAG,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACtC,MAAM,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACzC,4EAA4E;IAC5E,IAAI,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC5B;;;;OAIG;IACH,IAAI,CAAC,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;CACjD;AAMD,MAAM,MAAM,UAAU,GAAG,CAAC,KAAK,EAAE,UAAU,KAAK,QAAQ,CAAC;AAEzD;;;GAGG;AACH,eAAO,MAAM,MAAM,EAAE,UAYpB,CAAC;AAMF,qBAAa,eAAgB,YAAW,SAAS;IAEnC,OAAO,CAAC,QAAQ,CAAC,MAAM;IADnC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA8D;gBACvD,MAAM,GAAE,UAAmB;IAExD,SAAS,CAAC,KAAK,EAAE,UAAU,GAAG,QAAQ;IAEhC,GAAG,CAAC,KAAK,EAAE,UAAU,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAoB/D,GAAG,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAI/C,GAAG,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC;IAGrC,MAAM,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC;IAGxC,IAAI,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;IAG3B,IAAI,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;CAIrD;AAMD,MAAM,WAAW,yBAAyB;IACxC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;GAGG;AACH,wBAAsB,wBAAwB,CAC5C,IAAI,GAAE,yBAA8B,EACpC,MAAM,GAAE,UAAmB,GAC1B,OAAO,CAAC,SAAS,CAAC,CAmEpB;AAMD,MAAM,WAAW,oBAAoB;IACnC,6EAA6E;IAC7E,OAAO,EAAE,MAAM,CAAC;IAChB,2DAA2D;IAC3D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,wDAAwD;IACxD,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,yCAAyC;IACzC,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;CACtB;AAED,qBAAa,aAAc,YAAW,SAAS;IAIjC,OAAO,CAAC,QAAQ,CAAC,IAAI;IAHjC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAa;IACpC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAe;gBAEZ,IAAI,EAAE,oBAAoB;IASvD,OAAO,CAAC,GAAG;IAIX,OAAO,CAAC,OAAO;IAMf,SAAS,CAAC,KAAK,EAAE,UAAU,GAAG,QAAQ;IAIhC,GAAG,CACP,KAAK,EAAE,UAAU,EACjB,WAAW,CAAC,EAAE,MAAM,EACpB,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,QAAQ,CAAC;IAsBd,GAAG,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAO/C,GAAG,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC;IAIrC,MAAM,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC;IAMxC,IAAI,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;IAS3B,IAAI,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;CAYrD;AAMD;;;;;;;GAOG;AACH,qBAAa,gBAAiB,YAAW,SAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,KAAK;IAAa,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAzC,KAAK,EAAE,SAAS,EAAmB,MAAM,EAAE,SAAS;IAEjF,SAAS,CAAC,KAAK,EAAE,UAAU,GAAG,QAAQ;IAWhC,GAAG,CACP,KAAK,EAAE,UAAU,EACjB,WAAW,CAAC,EAAE,MAAM,EACpB,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,QAAQ,CAAC;IAUd,GAAG,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAY/C,GAAG,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC;IAIrC,MAAM,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC;IAOxC,IAAI,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;CAIlC"}
|
|
@@ -27,6 +27,7 @@ export class MemoryBlobStore {
|
|
|
27
27
|
constructor(hasher = fnv128) {
|
|
28
28
|
this.hasher = hasher;
|
|
29
29
|
}
|
|
30
|
+
hashBytes(bytes) { return this.hasher(bytes); }
|
|
30
31
|
async put(bytes, contentType) {
|
|
31
32
|
const hash = this.hasher(bytes);
|
|
32
33
|
const meta = {
|
|
@@ -89,6 +90,9 @@ export async function createIndexedDbBlobStore(opts = {}, hasher = fnv128) {
|
|
|
89
90
|
req.onerror = () => rej(req.error);
|
|
90
91
|
});
|
|
91
92
|
return {
|
|
93
|
+
hashBytes(bytes) {
|
|
94
|
+
return hasher(bytes);
|
|
95
|
+
},
|
|
92
96
|
async put(bytes, contentType) {
|
|
93
97
|
const hash = hasher(bytes);
|
|
94
98
|
const meta = {
|
|
@@ -152,6 +156,9 @@ export class HttpBlobStore {
|
|
|
152
156
|
h['authorization'] = `Bearer ${this.opts.token}`;
|
|
153
157
|
return h;
|
|
154
158
|
}
|
|
159
|
+
hashBytes(bytes) {
|
|
160
|
+
return this.hasher(bytes);
|
|
161
|
+
}
|
|
155
162
|
async put(bytes, contentType, options) {
|
|
156
163
|
const hash = this.hasher(bytes);
|
|
157
164
|
const res = await this.fetchImpl(this.url(hash), {
|
|
@@ -239,6 +246,17 @@ export class LayeredBlobStore {
|
|
|
239
246
|
this.local = local;
|
|
240
247
|
this.remote = remote;
|
|
241
248
|
}
|
|
249
|
+
hashBytes(bytes) {
|
|
250
|
+
const local = this.local.hashBytes?.(bytes);
|
|
251
|
+
const remote = this.remote.hashBytes?.(bytes);
|
|
252
|
+
if (local && remote && local !== remote) {
|
|
253
|
+
throw new Error('@ifc-lite/collab: layered blob stores use different content hashers');
|
|
254
|
+
}
|
|
255
|
+
const hash = local ?? remote;
|
|
256
|
+
if (!hash)
|
|
257
|
+
throw new Error('@ifc-lite/collab: blob store cannot verify content identity');
|
|
258
|
+
return hash;
|
|
259
|
+
}
|
|
242
260
|
async put(bytes, contentType, options) {
|
|
243
261
|
// The signal must reach the REMOTE half in particular: `Promise.all` does
|
|
244
262
|
// not settle until both do, so a remote upload that hangs hangs this call
|
|
@@ -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":"AAAA;;+DAE+D;AAqE/D;;;GAGG;AACH,MAAM,CAAC,MAAM,MAAM,GAAe,CAAC,KAAK,EAAE,EAAE;IAC1C,MAAM,KAAK,GAAG,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;IAChE,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3B,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QACvB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAC3C,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAC1E,CAAC;QACD,GAAG,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;IACpB,CAAC;IACD,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAClE,CAAC,CAAC;AAEF,wEAAwE;AACxE,0EAA0E;AAC1E,wEAAwE;AAExE,MAAM,OAAO,eAAe;IAEG;IADZ,KAAK,GAAG,IAAI,GAAG,EAAmD,CAAC;IACpF,YAA6B,SAAqB,MAAM;QAA3B,WAAM,GAAN,MAAM,CAAqB;IAAG,CAAC;IAE5D,SAAS,CAAC,KAAiB,IAAc,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAErE,KAAK,CAAC,GAAG,CAAC,KAAiB,EAAE,WAAoB;QAC/C,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAChC,MAAM,IAAI,GAAa;YACrB,IAAI;YACJ,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,WAAW;YACX,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACrC,CAAC;QACF,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACtC,0EAA0E;QAC1E,uEAAuE;QACvE,sEAAsE;QACtE,sEAAsE;QACtE,mEAAmE;QACnE,uEAAuE;QACvE,uEAAuE;QACvE,mEAAmE;QACnE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;QACzF,OAAO,IAAI,CAAC;IACd,CAAC;IACD,KAAK,CAAC,GAAG,CAAC,IAAc;QACtB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACnC,OAAO,KAAK,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACpD,CAAC;IACD,KAAK,CAAC,GAAG,CAAC,IAAc;QACtB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IACD,KAAK,CAAC,MAAM,CAAC,IAAc;QACzB,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IACD,KAAK,CAAC,IAAI;QACR,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;IACvC,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,IAAc;QACvB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACnC,OAAO,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAC1C,CAAC;CACF;AAWD;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,OAAkC,EAAE,EACpC,SAAqB,MAAM;IAE3B,IAAI,OAAO,SAAS,KAAK,WAAW,EAAE,CAAC;QACrC,MAAM,IAAI,KAAK,CACb,qGAAqG,CACtG,CAAC;IACJ,CAAC;IACD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,uBAAuB,CAAC;IACtD,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,OAAO,CAAC;IAE5C,MAAM,EAAE,GAAG,MAAM,IAAI,OAAO,CAAc,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC5D,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QACvC,IAAI,CAAC,eAAe,GAAG,GAAG,EAAE;YAC1B,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,SAAS,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;QAChE,CAAC,CAAC;QACF,IAAI,CAAC,SAAS,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC5C,IAAI,CAAC,OAAO,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;IAEH,MAAM,EAAE,GAAG,CAAC,IAAwB,EAAE,EAAE,CAAC,EAAE,CAAC,WAAW,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IAEhG,MAAM,SAAS,GAAG,CAAI,GAAkB,EAAc,EAAE,CACtD,IAAI,OAAO,CAAI,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QAC1B,GAAG,CAAC,SAAS,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACtC,GAAG,CAAC,OAAO,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IAEL,OAAO;QACL,SAAS,CAAC,KAAK;YACb,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC;QACD,KAAK,CAAC,GAAG,CAAC,KAAiB,EAAE,WAAoB;YAC/C,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;YAC3B,MAAM,IAAI,GAAa;gBACrB,IAAI;gBACJ,UAAU,EAAE,KAAK,CAAC,UAAU;gBAC5B,WAAW;gBACX,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACrC,CAAC;YACF,MAAM,SAAS,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YAC5D,OAAO,IAAI,CAAC;QACd,CAAC;QACD,KAAK,CAAC,GAAG,CAAC,IAAI;YACZ,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;YACxD,IAAI,CAAC,KAAK;gBAAE,OAAO,IAAI,CAAC;YACxB,MAAM,KAAK,GAAI,KAA6C,CAAC,KAAK,CAAC;YACnE,OAAO,KAAK,YAAY,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC;QACrE,CAAC;QACD,KAAK,CAAC,GAAG,CAAC,IAAI;YACZ,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;YAC1D,OAAO,KAAK,GAAG,CAAC,CAAC;QACnB,CAAC;QACD,KAAK,CAAC,MAAM,CAAC,IAAI;YACf,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACjC,IAAI,CAAC,GAAG;gBAAE,OAAO,KAAK,CAAC;YACvB,MAAM,SAAS,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;YAC9C,OAAO,IAAI,CAAC;QACd,CAAC;QACD,KAAK,CAAC,IAAI;YACR,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC;YAC1D,OAAO,IAAkB,CAAC;QAC5B,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,IAAc;YACvB,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;YACxD,IAAI,CAAC,KAAK;gBAAE,OAAO,IAAI,CAAC;YACxB,OAAO,CAAE,KAA4B,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;QACtD,CAAC;KACkB,CAAC;AACxB,CAAC;AAiBD,MAAM,OAAO,aAAa;IAIK;IAHZ,MAAM,CAAa;IACnB,SAAS,CAAe;IAEzC,YAA6B,IAA0B;QAA1B,SAAI,GAAJ,IAAI,CAAsB;QACrD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC;QACpC,2EAA2E;QAC3E,4EAA4E;QAC5E,2EAA2E;QAC3E,qEAAqE;QACrE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,IAAI,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACnE,CAAC;IAEO,GAAG,CAAC,IAAc;QACxB,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,UAAU,IAAI,EAAE,CAAC;IACjE,CAAC;IAEO,OAAO,CAAC,KAA8B;QAC5C,MAAM,CAAC,GAA2B,EAAE,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,CAAC;QACvD,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK;YAAE,CAAC,CAAC,eAAe,CAAC,GAAG,UAAU,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QACtE,OAAO,CAAC,CAAC;IACX,CAAC;IAED,SAAS,CAAC,KAAiB;QACzB,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,GAAG,CACP,KAAiB,EACjB,WAAoB,EACpB,OAAwB;QAExB,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAChC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;YAC/C,MAAM,EAAE,KAAK;YACb,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,cAAc,EAAE,WAAW,IAAI,0BAA0B,EAAE,CAAC;YACpF,kEAAkE;YAClE,oEAAoE;YACpE,IAAI,EAAE,KAA4B;YAClC,gEAAgE;YAChE,oEAAoE;YACpE,GAAG,CAAC,OAAO,EAAE,MAAM,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;SACnD,CAAC,CAAC;QACH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,sCAAsC,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC;QACxF,CAAC;QACD,OAAO;YACL,IAAI;YACJ,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,WAAW;YACX,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACrC,CAAC;IACJ,CAAC;IACD,KAAK,CAAC,GAAG,CAAC,IAAc;QACtB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAC9E,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG;YAAE,OAAO,IAAI,CAAC;QACpC,IAAI,CAAC,GAAG,CAAC,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;QACjF,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,WAAW,EAAE,CAAC;QACpC,OAAO,IAAI,UAAU,CAAC,GAAG,CAAC,CAAC;IAC7B,CAAC;IACD,KAAK,CAAC,GAAG,CAAC,IAAc;QACtB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAC9F,OAAO,GAAG,CAAC,EAAE,CAAC;IAChB,CAAC;IACD,KAAK,CAAC,MAAM,CAAC,IAAc;QACzB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAChG,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG;YAAE,OAAO,KAAK,CAAC;QACrC,IAAI,CAAC,GAAG,CAAC,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,yCAAyC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;QACpF,OAAO,IAAI,CAAC;IACd,CAAC;IACD,KAAK,CAAC,IAAI;QACR,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,QAAQ,EAAE;YAChF,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,kBAAkB,EAAE,CAAC;SACtD,CAAC,CAAC;QACH,IAAI,CAAC,GAAG,CAAC,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,uCAAuC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;QAClF,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAyC,CAAC;QACxE,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;QACrC,OAAO,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC;IAC3B,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,IAAc;QACvB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAC9F,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG;YAAE,OAAO,IAAI,CAAC;QACpC,IAAI,CAAC,GAAG,CAAC,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,uCAAuC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;QAClF,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;QAC9C,OAAO;YACL,IAAI;YACJ,UAAU,EAAE,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACjC,WAAW,EAAE,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,SAAS;YACzD,UAAU,EAAE,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,SAAS;SAC1D,CAAC;IACJ,CAAC;CACF;AAED,wEAAwE;AACxE,0EAA0E;AAC1E,wEAAwE;AAExE;;;;;;;GAOG;AACH,MAAM,OAAO,gBAAgB;IACE;IAAmC;IAAhE,YAA6B,KAAgB,EAAmB,MAAiB;QAApD,UAAK,GAAL,KAAK,CAAW;QAAmB,WAAM,GAAN,MAAM,CAAW;IAAG,CAAC;IAErF,SAAS,CAAC,KAAiB;QACzB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,CAAC;QAC5C,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,CAAC;QAC9C,IAAI,KAAK,IAAI,MAAM,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;YACxC,MAAM,IAAI,KAAK,CAAC,qEAAqE,CAAC,CAAC;QACzF,CAAC;QACD,MAAM,IAAI,GAAG,KAAK,IAAI,MAAM,CAAC;QAC7B,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;QAC1F,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,GAAG,CACP,KAAiB,EACjB,WAAoB,EACpB,OAAwB;QAExB,0EAA0E;QAC1E,0EAA0E;QAC1E,sEAAsE;QACtE,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YAC/B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,CAAC;YAC3C,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;SAC/D,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IACD,KAAK,CAAC,GAAG,CAAC,IAAc;QACtB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,KAAK;YAAE,OAAO,KAAK,CAAC;QACxB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC3C,IAAI,MAAM,EAAE,CAAC;YACX,4CAA4C;YAC5C,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;gBAChC,oDAAoD;YACtD,CAAC,CAAC,CAAC;QACL,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,KAAK,CAAC,GAAG,CAAC,IAAc;QACtB,IAAI,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;QAC5C,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IACD,KAAK,CAAC,MAAM,CAAC,IAAc;QACzB,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YAC/B,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC;YACvB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC;SAC5C,CAAC,CAAC;QACH,OAAO,CAAC,IAAI,CAAC,CAAC;IAChB,CAAC;IACD,KAAK,CAAC,IAAI;QACR,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC1F,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3C,CAAC;CACF"}
|
package/dist/geometry/gc.d.ts
CHANGED
|
@@ -4,9 +4,9 @@
|
|
|
4
4
|
* Mesh blobs grow without bound during long sessions. This module
|
|
5
5
|
* implements an epoch + reference-count sweep:
|
|
6
6
|
*
|
|
7
|
-
* 1. `collectReferencedBlobHashes(doc)` walks every entity,
|
|
8
|
-
*
|
|
9
|
-
*
|
|
7
|
+
* 1. `collectReferencedBlobHashes(doc)` walks every entity and model slot,
|
|
8
|
+
* resolving geometry blobs and portable STEP/IFCZIP sidecars. Returns
|
|
9
|
+
* the set of currently-referenced hashes.
|
|
10
10
|
*
|
|
11
11
|
* 2. `planBlobSweep(store, referenced, opts)` returns the list of
|
|
12
12
|
* blob hashes that exist in `store` but aren't referenced. With
|
|
@@ -27,11 +27,11 @@ import type { BlobHash, BlobMeta, BlobStore } from './blob-store.js';
|
|
|
27
27
|
/**
|
|
28
28
|
* Collect every blob hash currently referenced from a Y.Doc.
|
|
29
29
|
*
|
|
30
|
-
* An entity's `geometryRef.geomId` points at a `geometry` top-level
|
|
31
|
-
*
|
|
32
|
-
*
|
|
33
|
-
*
|
|
34
|
-
* gc.
|
|
30
|
+
* An entity's `geometryRef.geomId` points at a `geometry` top-level entry
|
|
31
|
+
* whose `blobHash` (if any) we want to keep. Model slots can independently
|
|
32
|
+
* own a portable STEP/IFCZIP sidecar. We also include any `blobHash` that
|
|
33
|
+
* appears directly in `geometry.params.<*>` so apps that store auxiliary
|
|
34
|
+
* blob refs in params (e.g. textures) survive gc.
|
|
35
35
|
*/
|
|
36
36
|
export declare function collectReferencedBlobHashes(doc: Y.Doc): Set<BlobHash>;
|
|
37
37
|
export interface SweepOptions {
|