@combeenation/3d-viewer 3.1.1-beta2 → 4.0.0-alpha10

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/README.md CHANGED
@@ -33,6 +33,7 @@
33
33
  options: {
34
34
  preserveDrawingBuffer: true,
35
35
  stencil: true,
36
+ xrCompatible: false, // required to fix WebXR issue in Safari 15 as mentioned in the BabylonJS Forum: https://forum.babylonjs.com/t/safari-15-0-breaks-every-babylonjs-application/23973
36
37
  },
37
38
  },
38
39
  scene: {
@@ -17,7 +17,6 @@ export declare class Element extends ElementParameterizable {
17
17
  protected readonly _dottedNodes: Map<DottedPath, TransformNode>;
18
18
  protected readonly _parameterObservers: Map<string, ParameterObserver[]>;
19
19
  protected _highlightLayer?: HighlightLayer;
20
- protected _paintableTxtureId: number;
21
20
  readonly nodes: TransformNode[];
22
21
  /**
23
22
  * Constructor.
@@ -101,7 +100,7 @@ export declare class Element extends ElementParameterizable {
101
100
  /**
102
101
  * Draws a image onto a `paintable` defined via {@link PaintableDefinition}.
103
102
  */
104
- drawPaintable(paintable: string, imageSource: string): Element;
103
+ drawPaintable(paintable: string, imageSource: CanvasImageSource): Promise<Element>;
105
104
  /**
106
105
  * Draws a SVG string onto a `paintable` defined via {@link PaintableDefinition}.
107
106
  */
@@ -5,13 +5,13 @@ var tslib_1 = require("tslib");
5
5
  var highlightLayer_1 = require("@babylonjs/core/Layers/highlightLayer");
6
6
  var material_1 = require("@babylonjs/core/Materials/material");
7
7
  var standardMaterial_1 = require("@babylonjs/core/Materials/standardMaterial");
8
+ var dynamicTexture_1 = require("@babylonjs/core/Materials/Textures/dynamicTexture");
8
9
  var math_axis_1 = require("@babylonjs/core/Maths/math.axis");
9
10
  var math_color_1 = require("@babylonjs/core/Maths/math.color");
10
11
  var abstractMesh_1 = require("@babylonjs/core/Meshes/abstractMesh");
11
12
  var instancedMesh_1 = require("@babylonjs/core/Meshes/instancedMesh");
12
13
  var mesh_1 = require("@babylonjs/core/Meshes/mesh");
13
14
  var transformNode_1 = require("@babylonjs/core/Meshes/transformNode");
14
- var texture_1 = require("@babylonjs/core/Materials/Textures/texture");
15
15
  var lodash_es_1 = require("lodash-es");
16
16
  var babylonHelper_1 = require("../util/babylonHelper");
17
17
  var resourceHelper_1 = require("../util/resourceHelper");
@@ -38,7 +38,6 @@ var Element = /** @class */ (function (_super) {
38
38
  _this.name = name;
39
39
  _this._dottedNodes = new Map();
40
40
  _this._parameterObservers = new Map();
41
- _this._paintableTxtureId = 0;
42
41
  _this.nodes = [];
43
42
  if ((_a = process.env.NODE_ENV) === null || _a === void 0 ? void 0 : _a.toLowerCase().includes('dev')) {
44
43
  _this.assertPathDefinitions();
@@ -295,41 +294,59 @@ var Element = /** @class */ (function (_super) {
295
294
  * Draws a image onto a `paintable` defined via {@link PaintableDefinition}.
296
295
  */
297
296
  Element.prototype.drawPaintable = function (paintable, imageSource) {
298
- var node = this.getPaintableNode(paintable);
299
- if (!(node instanceof abstractMesh_1.AbstractMesh)) {
300
- throw new Error("The path must be an instance of \"AbstractMesh\" for paintable \"" + paintable + "\" " +
301
- ("in element \"" + this.id + "\"."));
302
- }
303
- if (node.material && !lodash_es_1.get(node.metadata, 'dirty.material')) {
304
- babylonHelper_1.cloneTransformNodeMaterial(node);
305
- }
306
- if (!node.material) {
307
- node.material = new standardMaterial_1.StandardMaterial(this.id + "." + paintable + ".material", this.variant.viewer.scene);
308
- }
309
- node.material.transparencyMode = material_1.Material.MATERIAL_ALPHATESTANDBLEND;
310
- if (!lodash_es_1.get(node.metadata, 'dirty.material.texture')) {
311
- // inject initial value and mark as dirty
312
- babylonHelper_1.injectTransformNodeMetadata(node, { dirty: { material: { texture: true } } }, false);
313
- }
314
- var paintableTexture = texture_1.Texture.CreateFromBase64String(imageSource, this.id + "." + paintable + ".texture." + this._paintableTxtureId, this.variant.viewer.scene, undefined, false);
315
- // NOTE: Paintable texture need an individual id, otherwise the already existing texture on this id does not get overwritten
316
- // Maybe think of a disposal logic here in the future
317
- this._paintableTxtureId++;
318
- babylonHelper_1.setMaterialTexture(node, paintableTexture, false);
319
- return this;
297
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
298
+ var paintableDefinition, node, widthAndHeight, texture, ctx;
299
+ return tslib_1.__generator(this, function (_a) {
300
+ paintableDefinition = this.getPaintableDefinition(paintable);
301
+ node = this.getPaintableNode(paintable);
302
+ if (!(node instanceof abstractMesh_1.AbstractMesh)) {
303
+ throw new Error("The path must be an instance of \"AbstractMesh\" for paintable \"" + paintable + "\" " +
304
+ ("in element \"" + this.id + "\"."));
305
+ }
306
+ if (node.material && !lodash_es_1.get(node.metadata, 'dirty.material')) {
307
+ babylonHelper_1.cloneTransformNodeMaterial(node);
308
+ }
309
+ if (!node.material) {
310
+ node.material = new standardMaterial_1.StandardMaterial(this.id + "." + paintable + ".material", this.variant.viewer.scene);
311
+ }
312
+ node.material.transparencyMode = material_1.Material.MATERIAL_ALPHATESTANDBLEND;
313
+ if (!lodash_es_1.get(node.metadata, 'dirty.material.texture')) {
314
+ // inject initial value and mark as dirty
315
+ babylonHelper_1.injectTransformNodeMetadata(node, { dirty: { material: { texture: true } } }, false);
316
+ }
317
+ widthAndHeight = {
318
+ width: imageSource.width,
319
+ height: imageSource.height
320
+ };
321
+ if (lodash_es_1.isNumber(paintableDefinition.textureOptions)) {
322
+ widthAndHeight.width = paintableDefinition.textureOptions;
323
+ widthAndHeight.height = paintableDefinition.textureOptions;
324
+ }
325
+ else if (lodash_es_1.isPlainObject(paintableDefinition.textureOptions)) {
326
+ widthAndHeight.width = paintableDefinition.textureOptions.width;
327
+ widthAndHeight.height = paintableDefinition.textureOptions.height;
328
+ }
329
+ texture = new dynamicTexture_1.DynamicTexture(this.id + "." + paintable + ".texture", widthAndHeight, this.variant.viewer.scene, false);
330
+ ctx = texture.getContext();
331
+ ctx.drawImage(imageSource, 0, 0);
332
+ texture.update(false);
333
+ babylonHelper_1.setMaterialTexture(node, texture, false);
334
+ return [2 /*return*/, this];
335
+ });
336
+ });
320
337
  };
321
338
  /**
322
339
  * Draws a SVG string onto a `paintable` defined via {@link PaintableDefinition}.
323
340
  */
324
341
  Element.prototype.drawPaintableFromSvg = function (paintable, svgSource) {
325
342
  return tslib_1.__awaiter(this, void 0, void 0, function () {
326
- var imageUrl;
343
+ var image;
327
344
  return tslib_1.__generator(this, function (_a) {
328
345
  switch (_a.label) {
329
- case 0: return [4 /*yield*/, resourceHelper_1.createImageUrlFromSvg(svgSource)];
346
+ case 0: return [4 /*yield*/, resourceHelper_1.createImageFromSvg(svgSource)];
330
347
  case 1:
331
- imageUrl = _a.sent();
332
- return [2 /*return*/, this.drawPaintable(paintable, imageUrl)];
348
+ image = _a.sent();
349
+ return [2 /*return*/, this.drawPaintable(paintable, image)];
333
350
  }
334
351
  });
335
352
  });
@@ -339,8 +356,14 @@ var Element = /** @class */ (function (_super) {
339
356
  */
340
357
  Element.prototype.drawPaintableFromImgSrc = function (paintable, imgSource) {
341
358
  return tslib_1.__awaiter(this, void 0, void 0, function () {
359
+ var image;
342
360
  return tslib_1.__generator(this, function (_a) {
343
- return [2 /*return*/, this.drawPaintable(paintable, imgSource)];
361
+ switch (_a.label) {
362
+ case 0: return [4 /*yield*/, resourceHelper_1.createImageFromImgSrc(imgSource)];
363
+ case 1:
364
+ image = _a.sent();
365
+ return [2 /*return*/, this.drawPaintable(paintable, image)];
366
+ }
344
367
  });
345
368
  });
346
369
  };
@@ -1 +1 @@
1
- {"version":3,"file":"element.js","sourceRoot":"","sources":["../../../../src/api/classes/element.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"element.js","sourceRoot":"","sources":["../../../../src/api/classes/element.ts"],"names":[],"mappings":";;;;AAAA,wEAAuE;AACvE,+DAA8D;AAC9D,+EAA8E;AAC9E,oFAAmF;AACnF,6DAA8D;AAC9D,+DAA0D;AAC1D,oEAAmE;AACnE,sEAAqE;AACrE,oDAAmD;AACnD,sEAAqE;AACrE,uCAAmG;AACnG,uDAgB+B;AAC/B,yDAA8F;AAC9F,2CAA0C;AAC1C,mEAAkE;AAClE,iCAAgC;AAChC,yCAAwC;AAGxC;;;;;;GAMG;AACH;IAA6B,mCAAsB;IAUlD;;OAEG;IACH,iBAAoC,OAAgB,EAChB,IAAY;;QADhD,YAEC,iBAAO,SAaP;QAfmC,aAAO,GAAP,OAAO,CAAS;QAChB,UAAI,GAAJ,IAAI,CAAQ;QAZ7B,kBAAY,GAAmC,IAAI,GAAG,EAAE,CAAC;QAEzD,yBAAmB,GAAqC,IAAI,GAAG,EAAE,CAAC;QAIrE,WAAK,GAAoB,EAAE,CAAC;QAQ3C,UAAK,OAAO,CAAC,GAAG,CAAC,QAAQ,0CAAE,WAAW,GAAG,QAAQ,CAAC,KAAK,GAAG;YACzD,KAAI,CAAC,qBAAqB,EAAE,CAAC;SAC7B;QACD,IAAM,KAAK,GAAG,KAAI,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG,CAC5C,UAAA,IAAI,IAAI,OAAA,kCAAkB,CAAE,IAAI,EAAE,KAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAI,CAAC,CAAE,EAAtD,CAAsD,CAC9D,CAAC;QACF,KAAI,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM,CAAE,UAAA,IAAI,IAAI,OAAA,CAAC,CAAC,IAAI,EAAN,CAAM,CAAqB,CAAC;QAC/D,KAAI,CAAC,YAAY,GAAG,gCAAgB,CACnC,KAAI,CAAC,KAAK,EACV,UAAA,IAAI,IAAI,OAAA,IAAI,YAAY,6BAAa,EAA7B,CAA6B,CACrC,CAAC;QACF,KAAI,CAAC,qBAAqB,EAAE,CAAC;;IAC9B,CAAC;IAMD,sBAAI,+BAAU;QAJd;;;WAGG;aACH;YACC,OAAO,uBAAU,CAAC,MAAM,CAAE,IAAI,CAAC,OAAO,CAAC,UAAU,CAAE,CAAC,OAAO,CAAE,IAAI,CAAC,IAAI,CAAE,CAAC;QAC1E,CAAC;;;OAAA;IAKD,sBAAI,uBAAE;QAHN;;WAEG;aACH;YACC,IAAM,UAAU,GAAG,uBAAU,CAAC,MAAM,CAAE,IAAI,CAAC,UAAU,CAAE,CAAC;YACxD,UAAU,CAAC,SAAS,EAAE,CAAC,CAAE,cAAc;YACvC,OAAO,UAAU,CAAC,IAAI,CAAC;QACxB,CAAC;;;OAAA;IAKD,sBAAI,+BAAU;QAHd;;WAEG;aACH;YACC,IAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,QAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACnE,IAAI,mBAAO,CAAE,UAAU,CAAE,EAAG;gBAC3B,OAAO;oBACN,KAAK,EAAE;wBACN,OAAO,EAAE,UAAU;qBACnB;iBACoB,CAAC;aACvB;YACD,OAAO,UAA+B,CAAC;QACxC,CAAC;;;OAAA;IAKD,sBAAI,oCAAe;QAHnB;;WAEG;aACH;YACC,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;QAC9B,CAAC;;;OAAA;IAKD,sBAAI,yCAAoB;QAHxB;;WAEG;aACH;YACC,OAAO,IAAI,CAAC,UAAU,CAAC,UAAU,IAAI,EAAE,CAAC;QACzC,CAAC;;;OAAA;IAKD,sBAAI,yCAAoB;QAHxB;;WAEG;aACH;YACC,OAAO,IAAI,CAAC,UAAU,CAAC,UAAU,IAAI,EAAE,CAAC;QACzC,CAAC;;;OAAA;IAMD,sBAAI,wCAAmB;QAJvB;;;WAGG;aACH;YACC,OAAO,iBAAK,CAAE,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE,IAAI,CAAC,UAAU,CAAE,CAAC;QACvE,CAAC;;;OAAA;IAKD,sBAAI,mCAAc;aAIlB;YACC,OAAO,IAAI,CAAC,eAAe,CAAC;QAC7B,CAAC;QATD;;WAEG;aACH,UAAmB,KAAiC;YACnD,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;QAC9B,CAAC;;;OAAA;IAMD;;OAEG;IACI,yBAAO,GAAd;QACC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAE,UAAA,IAAI;YACvB,IAAI,CAAC,OAAO,EAAE,CAAC;QAChB,CAAC,CAAE,CAAC;QACJ,OAAO,IAAI,CAAC;IACb,CAAC;IAED;;OAEG;IACI,yBAAO,GAAd,UAAgB,UAA8B;QAC7C,IAAM,WAAW,GAAG,uBAAU,CAAC,MAAM,CAAE,UAAU,CAAE,CAAC;QACpD,IAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAE,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAE,CAAC,GAAG,CAAE,UAAA,EAAE,IAAI,OAAA,EAAE,CAAC,IAAI,EAAP,CAAO,CAAE,CAAC;QACzE,IAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAE,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAE,CAAC;QACxD,IAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAE,WAAW,CAAC,IAAI,CAAE,CAAC,CAAC;QACtD,IAAI,CAAC,IAAI,EAAG;YACX,MAAM,IAAI,KAAK,CAAE,sBAAmB,WAAW,CAAC,IAAI,wCAAiC,IAAI,CAAC,EAAE,QAAI,CAAE,CAAC;SACnG;QACD,OAAO,IAAI,CAAC;IACb,CAAC;IAED;;OAEG;IACU,yBAAO,GAApB,UAAsB,UAA8B;;;;;4BACtC,qBAAM,IAAI,CAAC,OAAO,CAAE,UAAU,CAAE,EAAA;;wBAAvC,IAAI,GAAG,SAAgC;wBAC7C,IAAI,IAAI,YAAY,WAAI,EAAG;4BAC1B,sBAAO,IAAI,EAAC;yBACZ;wBACD,sBAAO,IAAI,EAAC;;;;KACZ;IAED;;OAEG;IACI,wCAAsB,GAA7B,UAA+B,IAAY;QAC1C,IAAI,CAAC,IAAI,CAAC,oBAAoB,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,EAAG;YACpE,MAAM,IAAI,KAAK,CAAE,oBAAiB,IAAI,iCAA0B,IAAI,CAAC,EAAE,QAAI,CAAE,CAAC;SAC9E;QACD,OAAO,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;IAED;;OAEG;IACI,wCAAsB,GAA7B,UAA+B,IAAY;QAC1C,IAAI,CAAC,IAAI,CAAC,oBAAoB,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,EAAG;YACpE,MAAM,IAAI,KAAK,CAAE,oBAAiB,IAAI,gDAAyC,IAAI,CAAC,EAAE,QAAI,CAAE,CAAC;SAC7F;QACD,OAAO,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;IAED;;OAEG;IACI,kCAAgB,GAAvB,UAAyB,IAAY;QACpC,OAAO,IAAI,CAAC,OAAO,CAAE,IAAI,CAAC,sBAAsB,CAAE,IAAI,CAAE,CAAC,IAAI,CAAE,CAAC;IACjE,CAAC;IAED;;OAEG;IACI,kCAAgB,GAAvB,UAAyB,IAAY;QACpC,OAAO,IAAI,CAAC,OAAO,CAAE,IAAI,CAAC,sBAAsB,CAAE,IAAI,CAAE,CAAC,IAAI,CAAE,CAAC;IACjE,CAAC;IAED;;;;;OAKG;IACU,kCAAgB,GAA7B,UAA+B,UAAyB;;;;;;;wBACvD,IAAI,CAAC,UAAU,EAAG;4BACjB,UAAU,GAAG,EAAE,CAAC;yBAChB;wBACK,aAAa,GAAG,qBAAS,CAAE,IAAI,CAAC,UAAU,CAAE,CAAC;wBACnD,iBAAK,CAAE,IAAI,CAAC,UAAU,EAAE,UAAU,CAAE,CAAC;wBAEjC,gBAAgB,GAAwC,EAAE,CAAC;4CACpD,SAAS;4BACnB,IAAM,iBAAiB,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;4BACnD,IAAM,iBAAiB,GAAG,OAAK,UAAU,CAAC,SAAS,CAAC,CAAC;4BACrD,OAAK,OAAO,CAAC,eAAe,CAAE,OAAK,OAAO,CAAC,6BAA6B,EAAE,SAAS,EAAE,iBAAiB,CAAE,CAAC;4BACzG,IAAI,iBAAiB,KAAK,iBAAiB,EAAG;;6BAE7C;4BACD,oBAAoB;4BACpB,IAAM,kBAAkB,GAAG,0BAAS,CAAE,OAAK,mBAAmB,EAAE,OAAK,kBAAkB,CAAE,CAAC;4BAC1F,IAAI,kBAAkB,CAAC,GAAG,CAAE,SAAS,CAAE,EAAG;gCACzC,IAAM,SAAS,GAAG,kBAAkB,CAAC,GAAG,CAAE,SAAS,CAAG,CAAC;gCACvD,gBAAgB,GAAG,kBAAM,CAAC,gBAAgB,EAAE,SAAS,CAAC,GAAG,CAAE,UAAA,QAAQ;oCAClE,IAAM,cAAc,GAAG,QAAQ,CAAE,KAAI,EAAE,iBAAiB,EAAE,iBAAiB,CAAE,CAAC;oCAC9E,OAAO,OAAO,CAAC,OAAO,CAAE,cAAc,CAAE,CAAC,IAAI,CAAE;wCAC9C,KAAI,CAAC,cAAc,CAAE,aAAK,CAAC,2BAA2B,EACrD,KAAI,EAAE,SAAS,EAAE,iBAAiB,EAAE,iBAAiB,CAAE,CAAC;oCAC1D,CAAC,CAAE,CAAC;gCACL,CAAC,CAAE,CAAE,CAAC;6BACN;;;wBAlBF,KAAW,SAAS,IAAI,IAAI,CAAC,UAAU;oCAA5B,SAAS;yBAmBnB;wBACD,qBAAM,OAAO,CAAC,GAAG,CAAE,gBAAgB,CAAE,EAAA;;wBAArC,SAAqC,CAAC;wBACtC,sBAAO,IAAI,EAAC;;;;KACZ;IAED;;;OAGG;IACI,sCAAoB,GAA3B,UAA6B,SAAiB,EAAE,QAA0B,EAAE,OAAa;QAAzF,iBAsBC;QArBA,IAAI,OAAO,IAAI,CAAC,CAAC,OAAO,YAAY,WAAW,CAAC,EAAG;YAClD,MAAM,IAAI,KAAK,CAAE,qFAAgF,IAAI,CAAC,EAAE,QAAI,CAAE,CAAC;SAC/G;QACD,IAAI,CAAC,IAAI,CAAC,oBAAoB,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,EAAG;YACzE,MAAM,IAAI,KAAK,CAAE,oBAAiB,SAAS,gDAAyC,IAAI,CAAC,EAAE,QAAI,CAAE,CAAC;SAClG;QACD,IAAM,IAAI,GAAG,IAAI,CAAC,gBAAgB,CAAE,SAAS,CAAE,CAAC;QAChD,IAAI,CAAC,CAAC,IAAI,YAAY,2BAAY,CAAC,EAAG;YACrC,MAAM,IAAI,KAAK,CAAE,uFAAkF,IAAI,CAAC,EAAE,QAAI,CAAE,CAAC;SACjH;QACD,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,YAAY,CAAC,6BAA6B,CAAC,GAAG,CAC9E,UAAE,SAAS,EAAE,UAAU;YACtB,IAAM,QAAQ,GAAG,qCAAqB,CAAE,IAAI,EAAE,KAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,KAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAE,CAAC;YACtG,IAAI,OAAO,EAAG;gBACb,OAAO,CAAC,KAAK,CAAC,GAAG,GAAM,QAAQ,CAAC,GAAG,OAAI,CAAC;gBACxC,OAAO,CAAC,KAAK,CAAC,IAAI,GAAM,QAAQ,CAAC,IAAI,OAAI,CAAC;aAC1C;YACD,QAAQ,CAAE,IAAI,EAAE,QAAQ,CAAE,CAAC;QAC5B,CAAC,CACD,CAAC;QACF,OAAO,IAAI,CAAC;IACb,CAAC;IAED;;OAEG;IACU,+BAAa,GAA1B,UAA4B,SAAiB,EAAE,WAA8B;;;;gBACtE,mBAAmB,GAAG,IAAI,CAAC,sBAAsB,CAAE,SAAS,CAAE,CAAC;gBAC/D,IAAI,GAAG,IAAI,CAAC,gBAAgB,CAAE,SAAS,CAAE,CAAC;gBAChD,IAAI,CAAC,CAAC,IAAI,YAAY,2BAAY,CAAC,EAAG;oBACrC,MAAM,IAAI,KAAK,CAAE,sEAAiE,SAAS,QAAI;yBAC9F,kBAAe,IAAI,CAAC,EAAE,QAAI,CAAA,CAAE,CAAC;iBAC9B;gBACD,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,eAAG,CAAE,IAAI,CAAC,QAAQ,EAAE,gBAAgB,CAAE,EAAG;oBAC9D,0CAA0B,CAAE,IAAI,CAAE,CAAC;iBACnC;gBACD,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAG;oBACpB,IAAI,CAAC,QAAQ,GAAG,IAAI,mCAAgB,CAAK,IAAI,CAAC,EAAE,SAAI,SAAS,cAAW,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAE,CAAC;iBACtG;gBACD,IAAI,CAAC,QAAQ,CAAC,gBAAgB,GAAG,mBAAQ,CAAC,0BAA0B,CAAC;gBACrE,IAAI,CAAC,eAAG,CAAE,IAAI,CAAC,QAAQ,EAAE,wBAAwB,CAAE,EAAG;oBACrD,yCAAyC;oBACzC,2CAA2B,CAAE,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,KAAK,CAAE,CAAC;iBACvF;gBAEK,cAAc,GAAG;oBACtB,KAAK,EAAE,WAAW,CAAC,KAAK;oBACxB,MAAM,EAAE,WAAW,CAAC,MAAM;iBAC1B,CAAC;gBACF,IAAI,oBAAQ,CAAE,mBAAmB,CAAC,cAAc,CAAE,EAAG;oBACpD,cAAc,CAAC,KAAK,GAAG,mBAAmB,CAAC,cAAc,CAAC;oBAC1D,cAAc,CAAC,MAAM,GAAG,mBAAmB,CAAC,cAAc,CAAC;iBAC3D;qBAAM,IAAI,yBAAa,CAAE,mBAAmB,CAAC,cAAc,CAAE,EAAG;oBAChE,cAAc,CAAC,KAAK,GAAG,mBAAmB,CAAC,cAAc,CAAC,KAAK,CAAC;oBAChE,cAAc,CAAC,MAAM,GAAG,mBAAmB,CAAC,cAAc,CAAC,MAAM,CAAC;iBAClE;gBAEK,OAAO,GAAG,IAAI,+BAAc,CAC9B,IAAI,CAAC,EAAE,SAAI,SAAS,aAAU,EACjC,cAAc,EACd,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,EACzB,KAAK,CACL,CAAC;gBAEI,GAAG,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;gBACjC,GAAG,CAAC,SAAS,CAAE,WAAW,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;gBAClC,OAAO,CAAC,MAAM,CAAE,KAAK,CAAE,CAAC;gBAExB,kCAAkB,CAAE,IAAI,EAAE,OAAO,EAAE,KAAK,CAAE,CAAC;gBAE3C,sBAAO,IAAI,EAAC;;;KACZ;IAED;;OAEG;IACU,sCAAoB,GAAjC,UAAmC,SAAiB,EAAE,SAAiB;;;;;4BACxD,qBAAM,mCAAkB,CAAE,SAAS,CAAE,EAAA;;wBAA7C,KAAK,GAAG,SAAqC;wBACnD,sBAAO,IAAI,CAAC,aAAa,CAAE,SAAS,EAAE,KAAK,CAAE,EAAC;;;;KAC9C;IAED;;OAEG;IACU,yCAAuB,GAApC,UAAsC,SAAiB,EAAE,SAAiB;;;;;4BAC3D,qBAAM,sCAAqB,CAAE,SAAS,CAAE,EAAA;;wBAAhD,KAAK,GAAG,SAAwC;wBACtD,sBAAO,IAAI,CAAC,aAAa,CAAE,SAAS,EAAE,KAAK,CAAE,EAAC;;;;KAC9C;IAED;;OAEG;IACO,uCAAqB,GAA/B;QAAA,iBA0NC;QAzNA,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAE,qBAAS,CAAC,OAAO,EAAE;YAChD,UAAQ,OAAgB,EAAE,QAAwB,EAAE,QAAwB;;;oBAE3E,IAAI;wBACH,OAAO,GAAG,qBAAS,CAAC,YAAY,CAAE,QAAQ,CAAE,CAAC;qBAC7C;oBAAC,OAAO,CAAC,EAAG;wBACZ,sBAAO;qBACP;oBACD,IAAI,OAAO,KAAK,IAAI,EAAG;wBACtB,OAAO,CAAC,KAAK,CAAC,OAAO,CAAE,UAAA,IAAI;4BAC1B,2CAA2B,CAAE,IAAI,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,SAAS,EAAE,EAAE,CAAE,CAAC;4BACtE,qCAAQ,CAAE,IAAI,CAAE,CAAC;wBAClB,CAAC,CAAE,CAAC;qBACJ;yBAAM,IAAI,OAAO,KAAK,KAAK,EAAG;wBAC9B,OAAO,CAAC,KAAK,CAAC,OAAO,CAAE,UAAA,IAAI;4BAC1B,2CAA2B,CAAE,IAAI,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,SAAS,EAAE,EAAE,CAAE,CAAC;4BACtE,uCAAU,CAAE,IAAI,CAAE,CAAC;wBACpB,CAAC,CAAE,CAAC;qBACJ;;;iBACD;SACD,CAAE,CAAC;QACJ,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAE,qBAAS,CAAC,OAAO,EAAE;YAChD,UAAQ,OAAgB,EAAE,QAAwB,EAAE,QAAwB;;oBAC3E,mFAAmF;oBACnF,OAAO,CAAC,KAAK,CAAC,OAAO,CAAE,UAAA,IAAI,IAAI,OAAA,IAAI,CAAC,OAAO,GAAG,qBAAS,CAAC,YAAY,CAAE,QAAQ,CAAE,EAAjD,CAAiD,CAAE,CAAC;;;iBACnF;SACD,CAAE,CAAC;QACJ,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAE,qBAAS,CAAC,QAAQ,EAAE;YACjD,UAAQ,OAAgB,EAAE,QAAwB,EAAE,QAAwB;;;oBACrE,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,CAAE,QAAQ,CAAC,QAAQ,EAAE,CAAE,CAAC;oBACpE,OAAO,CAAC,KAAK,CAAC,OAAO,CAAE,UAAA,IAAI;wBAC1B,mCAAmB,CAAC,IAAI,EAAE,UAAC,IAAmB;4BAC7C,IAAI,IAAI,YAAY,6BAAa,EAAG;gCACnC,MAAM,IAAI,KAAK,CAAE,0BAAuB,qBAAS,CAAC,QAAQ,QAAI;oCAC7D,wCAAwC;qCACxC,4BAAyB,IAAI,CAAC,EAAE,wBAAiB,OAAO,CAAC,EAAE,QAAI,CAAA,CAAE,CAAC;6BACnE;wBACF,CAAC,CAAC,CAAC;wBACH,2BAAW,CAAE,IAAI,EAAE,QAAQ,CAAE,CAAC;oBAC/B,CAAC,CAAE,CAAC;;;iBACJ;SACD,CAAE,CAAC;QACJ,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAE,qBAAS,CAAC,cAAc,EAAE;YACvD,UAAQ,OAAgB,EAAE,QAAwB,EAAE,QAAwB;;;oBACrE,KAAK,GAAG,qBAAS,CAAC,UAAU,CAAE,QAAQ,CAAE,CAAC;oBAC/C,OAAO,CAAC,KAAK,CAAC,OAAO,CAAE,UAAA,IAAI;wBAC1B,mCAAmB,CAAC,IAAI,EAAE,UAAC,IAAmB;4BAC7C,IAAI,IAAI,YAAY,6BAAa,EAAG;gCACnC,MAAM,IAAI,KAAK,CAAE,0BAAuB,qBAAS,CAAC,cAAc,QAAI;oCACnE,wCAAwC;qCACxC,4BAAyB,IAAI,CAAC,EAAE,wBAAiB,OAAO,CAAC,EAAE,QAAI,CAAA,CAAE,CAAC;6BACnE;wBACF,CAAC,CAAC,CAAC;wBACH,IAAI,CAAC,eAAG,CAAE,IAAI,CAAC,QAAQ,EAAE,gBAAgB,CAAE,EAAG;4BAC7C,0CAA0B,CAAE,IAAI,CAAE,CAAC;yBACnC;wBACD,IAAI,CAAC,eAAG,CAAE,IAAI,CAAC,QAAQ,EAAE,sBAAsB,CAAE,EAAG;4BACnD,yCAAyC;4BACzC,2CAA2B,CAAE,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAE,CAAC;yBAClF;wBACD,gCAAgB,CAAE,IAAI,EAAE,KAAK,CAAE,CAAC;oBACjC,CAAC,CAAE,CAAC;;;iBACJ;SACD,CAAE,CAAC;QACJ,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAE,qBAAS,CAAC,mBAAmB,EAAE;YAC5D,UAAQ,OAAgB,EAAE,QAAwB,EAAE,QAAwB;;;oBACrE,UAAU,GAAG,qBAAS,CAAC,WAAW,CAAE,QAAQ,CAAE,CAAC;oBACrD,OAAO,CAAC,KAAK,CAAC,OAAO,CAAE,UAAA,IAAI;wBAC1B,mCAAmB,CAAC,IAAI,EAAE,UAAC,IAAmB;4BAC7C,IAAI,IAAI,YAAY,6BAAa,EAAG;gCACnC,MAAM,IAAI,KAAK,CAAE,0BAAuB,qBAAS,CAAC,mBAAmB,QAAI;oCACxE,wCAAwC;qCACxC,4BAAyB,IAAI,CAAC,EAAE,wBAAiB,OAAO,CAAC,EAAE,QAAI,CAAA,CAAE,CAAC;6BACnE;wBACF,CAAC,CAAC,CAAC;wBACH,IAAI,CAAC,eAAG,CAAE,IAAI,CAAC,QAAQ,EAAE,gBAAgB,CAAE,EAAG;4BAC7C,0CAA0B,CAAE,IAAI,CAAE,CAAC;yBACnC;wBACD,IAAI,CAAC,eAAG,CAAE,IAAI,CAAC,QAAQ,EAAE,2BAA2B,CAAE,EAAG;4BACxD,yCAAyC;4BACzC,2CAA2B,CAAE,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAE,CAAC;yBACvF;wBACD,qCAAqB,CAAE,IAAI,EAAE,UAAU,CAAE,CAAC;oBAC3C,CAAC,CAAE,CAAC;;;iBACJ;SACD,CAAE,CAAC;QACJ,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAE,qBAAS,CAAC,kBAAkB,EAAE;YAC3D,UAAQ,OAAgB,EAAE,QAAwB,EAAE,QAAwB;;;oBACrE,SAAS,GAAG,qBAAS,CAAC,WAAW,CAAE,QAAQ,CAAE,CAAC;oBACpD,OAAO,CAAC,KAAK,CAAC,OAAO,CAAE,UAAA,IAAI;wBAC1B,mCAAmB,CAAC,IAAI,EAAE,UAAC,IAAmB;4BAC7C,IAAI,IAAI,YAAY,6BAAa,EAAG;gCACnC,MAAM,IAAI,KAAK,CAAE,0BAAuB,qBAAS,CAAC,kBAAkB,QAAI;oCACvE,wCAAwC;qCACxC,4BAAyB,IAAI,CAAC,EAAE,wBAAiB,OAAO,CAAC,EAAE,QAAI,CAAA,CAAE,CAAC;6BACnE;wBACF,CAAC,CAAC,CAAC;wBACH,IAAI,CAAC,eAAG,CAAE,IAAI,CAAC,QAAQ,EAAE,gBAAgB,CAAE,EAAG;4BAC7C,0CAA0B,CAAE,IAAI,CAAE,CAAC;yBACnC;wBACD,IAAI,CAAC,eAAG,CAAE,IAAI,CAAC,QAAQ,EAAE,0BAA0B,CAAE,EAAG;4BACvD,yCAAyC;4BACzC,2CAA2B,CAAE,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAE,CAAC;yBACtF;wBACD,oCAAoB,CAAE,IAAI,EAAE,SAAS,CAAE,CAAC;oBACzC,CAAC,CAAE,CAAC;;;iBACJ;SACD,CAAE,CAAC;QACJ,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAE,qBAAS,CAAC,eAAe,EAAE;YACxD,UAAQ,OAAgB,EAAE,QAAwB,EAAE,QAAwB;;;oBAC3E,0CAA0C;oBAC1C,MAAA,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAE,qBAAS,CAAC,WAAW,CAAE,0CAAE,OAAO,CAAE,UAAA,QAAQ;wBACvE,QAAQ,CAAE,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,OAAO,CAAC,WAAW,CAAE,CAAC;oBACnE,CAAC,EAAG;;;iBACJ;SACD,CAAE,CAAC;QACJ,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAE,qBAAS,CAAC,iBAAiB,EAAE;YAC1D,UAAQ,OAAgB,EAAE,QAAwB,EAAE,QAAwB;;;;oBAE3E,IAAI;wBACH,IAAI,GAAG,qBAAS,CAAC,YAAY,CAAE,QAAQ,CAAE,CAAC;qBAC1C;oBAAC,OAAO,CAAC,EAAG;wBACZ,sBAAO;qBACP;oBACD,QAAQ,IAAI,EAAG;wBACd,KAAK,IAAI;4BACR,IAAI,OAAO,CAAC,eAAe,EAAG;gCAC7B,MAAM;6BACN;4BACD,OAAO,CAAC,cAAc,GAAG,IAAI,+BAAc,CAC1C,uBAAU,CAAC,MAAM,CAAE,OAAO,CAAC,EAAE,CAAE,CAAC,OAAO,CAAE,WAAW,CAAE,CAAC,IAAI,EAC3D,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAC5B,CAAC;4BACF,MAAM;wBACP,KAAK,KAAK;4BACT,MAAA,OAAO,CAAC,cAAc,0CAAE,OAAO,GAAG;4BAClC,MAAM;qBACP;;;iBACD;SACD,CAAE,CAAC;QACJ,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAE,qBAAS,CAAC,WAAW,EAAE;YACpD,UAAQ,OAAgB,EAAE,QAAwB,EAAE,QAAwB;;;;;oBAC3E,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,qBAAS,CAAC,iBAAiB,CAAC,EAAG;wBAC/D,sBAAO;qBACP;oBACD,yEAAyE;oBACzE,MAAA,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAE,qBAAS,CAAC,iBAAiB,CAAE,0CAAE,OAAO,CAAE,UAAA,QAAQ;wBAC7E,QAAQ,CAAE,OAAO,EAAE,KAAI,CAAC,UAAU,CAAC,qBAAS,CAAC,iBAAiB,CAAC,EAAE,IAAI,CAAE,CAAC;oBACzE,CAAC,EAAG;oBAEJ,IAAI;wBACH,WAAW,GAAG,qBAAS,CAAC,YAAY,CAAE,QAAQ,CAAE,CAAC;qBACjD;oBAAC,OAAO,CAAC,EAAG;wBACZ,sBAAO;qBACP;oBACD,4DAA4D;oBAC5D,IAAI,WAAW,KAAK,IAAI,EAAG;wBAC1B,OAAO,CAAC,KAAK,CAAC,OAAO,CAAE,UAAA,IAAI;4BAC1B,mCAAmB,CAAC,IAAI,EAAE,UAAC,IAAmB;gCAC7C,IAAI,IAAI,YAAY,6BAAa,EAAG;oCACnC,MAAM,IAAI,KAAK,CAAE,0BAAuB,qBAAS,CAAC,WAAW,QAAI;wCAChE,wCAAwC;yCACxC,4BAAyB,IAAI,CAAC,EAAE,wBAAiB,OAAO,CAAC,EAAE,QAAI,CAAA,CAAE,CAAC;iCACnE;4BACF,CAAC,CAAC,CAAC;4BACH,IAAI,KAAK,GAAG,mBAAM,CAAC,KAAK,EAAE,CAAC;4BAC3B,IAAI,OAAO,CAAC,mBAAmB,CAAC,qBAAS,CAAC,eAAe,CAAC,EAAG;gCAC5D,KAAK,GAAG,qBAAS,CAAC,UAAU,CAAE,OAAO,CAAC,mBAAmB,CAAC,qBAAS,CAAC,eAAe,CAAC,CAAE,CAAC;6BACvF;4BACD,IAAK,OAAO,OAAO,CAAC,eAAe,KAAK,WAAW,EAAG;gCACrD,mCAAmB,CAAE,OAAO,CAAC,eAAe,EAAE,KAAK,EAAE,IAAI,CAAE,CAAC;6BAC5D;wBACF,CAAC,CAAE,CAAC;qBACJ;yBAAM,IAAI,WAAW,KAAK,KAAK,EAAG;wBAClC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAE,UAAA,IAAI;4BAC1B,IAAK,OAAO,OAAO,CAAC,eAAe,KAAK,WAAW,EAAG;gCACrD,wCAAwB,CAAE,OAAO,CAAC,eAAe,EAAE,IAAI,CAAE,CAAC;6BAC1D;wBACF,CAAC,CAAE,CAAC;qBACJ;;;iBACD;SACD,CAAE,CAAC;QACJ,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAE,qBAAS,CAAC,QAAQ,EAAE;YACjD,UAAQ,OAAgB,EAAE,QAAwB,EAAE,QAAwB;;oBAC3E,mFAAmF;oBACnF,OAAO,CAAC,KAAK,CAAC,OAAO,CAAE,UAAA,IAAI;wBAC1B,6DAA6D;wBAC7D,IAAI,CAAC,eAAG,CAAE,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAE,EAAG;4BACvC,IAAI,CAAC,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;yBACvD;wBACD,IAAI,CAAC,mBAAmB,CAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAE,CAAC;wBACnD,OAAO;wBACP,IAAM,QAAQ,GAAG,qBAAS,CAAC,WAAW,CAAE,QAAQ,CAAE,CAAC;wBACnD,IAAI,CAAC,SAAS,CAAE,gBAAI,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,EAAE,iBAAK,CAAC,KAAK,CAAE,CAAC;wBAClD,IAAI,CAAC,SAAS,CAAE,gBAAI,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,EAAE,iBAAK,CAAC,KAAK,CAAE,CAAC;wBAClD,IAAI,CAAC,SAAS,CAAE,gBAAI,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,EAAE,iBAAK,CAAC,KAAK,CAAE,CAAC;oBACnD,CAAC,CAAE,CAAC;;;iBACJ;SACD,CAAE,CAAC;QACJ,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAE,qBAAS,CAAC,QAAQ,EAAE;YACjD,UAAQ,OAAgB,EAAE,QAAwB,EAAE,QAAwB;;oBAC3E,mFAAmF;oBACnF,OAAO,CAAC,KAAK,CAAC,OAAO,CAAE,UAAA,IAAI;wBAC1B,6DAA6D;wBAC7D,IAAG,CAAC,eAAG,CAAE,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAE,EAAG;4BACtC,IAAI,CAAC,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;yBAC/C;wBACD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;wBACvC,SAAS;wBACT,IAAM,QAAQ,GAAG,qBAAS,CAAC,aAAa,CAAE,QAAQ,CAAE,CAAC;wBACrD,IAAI,CAAC,MAAM,CAAE,gBAAI,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,EAAE,iBAAK,CAAC,KAAK,CAAE,CAAC;wBAC/C,IAAI,CAAC,MAAM,CAAE,gBAAI,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,EAAE,iBAAK,CAAC,KAAK,CAAE,CAAC;wBAC/C,IAAI,CAAC,MAAM,CAAE,gBAAI,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,EAAE,iBAAK,CAAC,KAAK,CAAE,CAAC;oBAChD,CAAC,CAAE,CAAC;;;iBACJ;SACD,CAAE,CAAC;QACJ,OAAO,IAAI,CAAC;IACb,CAAC;IAED;;OAEG;IACO,4BAAU,GAApB,UAAsB,IAAmB;QAAzC,iBAmBC;QAlBA,IAAI,aAAa,GAAa,EAAE,CAAC;QACjC,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,OAAO,CAAE,UAAA,UAAU;YAC/C,aAAa,GAAG,iBAAK,CAAE,aAAa,EAAE,uBAAU,CAAC,MAAM,CAAE,UAAU,CAAE,CAAC,UAAU,CAAE,CAAC;QACpF,CAAC,CAAE,CAAC;QACJ,IAAM,SAAS,GAAG,UAAE,EAAc;YACjC,IAAM,kBAAkB,GAAG,CAAC,CAAC,aAAa,CAAC,IAAI,CAAE,UAAA,GAAG,IAAI,OAAA,GAAG,KAAK,EAAE,CAAC,IAAI,EAAf,CAAe,CAAE,CAAC;YAC1E,IAAM,eAAe,GAAG,CAAC,CAAC,KAAI,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,CAAE,UAAA,GAAG;gBAC/D,OAAO,EAAE,CAAC,IAAI,CAAC,UAAU,CAAE,KAAG,GAAG,GAAG,uBAAU,CAAC,SAAW,CAAE,CAAC;YAC9D,CAAC,CAAE,CAAC;YACJ,OAAO,kBAAkB,IAAI,eAAe,CAAC;QAC9C,CAAC,CAAC;QACF,IAAM,YAAY,GAAG,UAAE,EAAc;YACpC,IAAI,CAAC,KAAI,CAAC,eAAe,CAAC,OAAO,EAAG;gBACnC,OAAO,KAAK,CAAC;aACb;YACD,OAAO,CAAC,CAAC,KAAI,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,CAAE,UAAA,GAAG,IAAI,OAAA,EAAE,CAAC,IAAI,KAAK,GAAG,EAAf,CAAe,CAAE,CAAC;QACtE,CAAC,CAAC;QACF,OAAO,SAAS,CAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAE,IAAI,CAAC,YAAY,CAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAE,CAAC;IAC3F,CAAC;IAED;;;OAGG;IACO,uCAAqB,GAA/B;QAAA,iBAaC;;QAZA,IAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC;QACtD,IAAI,WAAW,CAAC,IAAI,KAAK,CAAC,EAAG;YAC5B,MAAM,IAAI,KAAK,CAAE,6CAA0C,IAAI,CAAC,EAAE,QAAI,CAAE,CAAC;SACzE;QACD,IAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,GAAG,CAAE,UAAA,IAAI,IAAI,OAAA,uBAAU,CAAC,MAAM,CAAE,IAAI,CAAE,CAAC,IAAI,EAA9B,CAA8B,CAAE,CAAC;QAC3F,IAAM,OAAO,SAAG,IAAI,CAAC,eAAe,CAAC,OAAO,0CAAE,GAAG,CAAE,UAAA,IAAI,IAAI,OAAA,uBAAU,CAAC,MAAM,CAAE,IAAI,CAAE,CAAC,IAAI,EAA9B,CAA8B,CAAE,CAAC;QAC5F,IAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAE,WAAW,CAAC,IAAI,EAAE,CAAE,CAAC,GAAG,CAAE,UAAA,UAAU,IAAI,OAAA,UAAU,CAAC,IAAI,EAAf,CAAe,CAAE,CAAC;QACnF,iBAAK,CAAU,OAAO,EAAE,OAAO,CAAE,CAAC,OAAO,CAAE,UAAA,IAAI;YAC9C,IAAI,IAAI,CAAC,OAAO,CAAE,IAAI,CAAE,KAAK,CAAC,CAAC,EAAG;gBACjC,MAAM,IAAI,KAAK,CAAE,sBAAmB,IAAI,wCAAiC,KAAI,CAAC,EAAE,QAAI,CAAE,CAAC;aACvF;QACF,CAAC,CAAE,CAAC;IACL,CAAC;IAEF,cAAC;AAAD,CAAC,AAzjBD,CAA6B,+CAAsB,GAyjBlD;AAzjBY,0BAAO"}
@@ -206,6 +206,10 @@ declare type CameraDefinition = {
206
206
  /**
207
207
  * `arc` is a default camera position where the 3D-model is the center and the camera rotates around the 3D-model.
208
208
  * More Information about `arc` in [ArcRotateCamera](https://doc.babylonjs.com/typedoc/classes/babylon.arcrotatecamera).
209
+ *
210
+ * NOTE: While "baked" camera definitions from a GLB or babylon file can currently not be instatiated within the `Specification`, it's still possible to use them in the viewer.\
211
+ * For the moment all camera definitions inside these files are automatically added to the scene and can be actived using the {@link switchCamera} function.\
212
+ * The `newCamera` input has to match the name of the camera node inside the GLB/babylon file.
209
213
  */
210
214
  type: 'arc';
211
215
  /**
@@ -22,9 +22,6 @@ declare const uuidv4: () => any;
22
22
  * Merges multiple maps.
23
23
  */
24
24
  declare const mergeMaps: <TKey, TValue>(...maps: Map<TKey, TValue>[]) => Map<TKey, TValue>;
25
- /**
26
- * Converts a svg string into an URL with a base64 representation of that image.\
27
- * This URL can be used as the basis of a paintable texture.
28
- */
29
- declare const createImageUrlFromSvg: (svgSrc: string) => Promise<string>;
30
- export { loadJson, loadText, debounce, uuidv4, mergeMaps, createImageUrlFromSvg };
25
+ declare const createImageFromSvg: (svgSrc: string) => Promise<HTMLImageElement>;
26
+ declare const createImageFromImgSrc: (imgSrc: string) => Promise<HTMLImageElement>;
27
+ export { loadJson, loadText, debounce, uuidv4, mergeMaps, createImageFromSvg, createImageFromImgSrc };
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createImageUrlFromSvg = exports.mergeMaps = exports.uuidv4 = exports.debounce = exports.loadText = exports.loadJson = void 0;
3
+ exports.createImageFromImgSrc = exports.createImageFromSvg = exports.mergeMaps = exports.uuidv4 = exports.debounce = exports.loadText = exports.loadJson = void 0;
4
4
  var tslib_1 = require("tslib");
5
5
  var event_1 = require("../classes/event");
6
6
  /**
@@ -114,26 +114,42 @@ var mergeMaps = function () {
114
114
  return resultMap;
115
115
  };
116
116
  exports.mergeMaps = mergeMaps;
117
- /**
118
- * Converts a svg string into an URL with a base64 representation of that image.\
119
- * This URL can be used as the basis of a paintable texture.
120
- */
121
- var createImageUrlFromSvg = function (svgSrc) {
117
+ var createImageFromSvg = function (svgSrc) {
122
118
  return tslib_1.__awaiter(this, void 0, void 0, function () {
123
- var svgWithAssetsEmbedded, svgBlob, imgUrl;
119
+ var svgWithAssetsEmbedded, svgEncoded;
124
120
  return tslib_1.__generator(this, function (_a) {
125
121
  switch (_a.label) {
126
122
  case 0: return [4 /*yield*/, _embedAssets(svgSrc)];
127
123
  case 1:
128
124
  svgWithAssetsEmbedded = _a.sent();
129
- svgBlob = new Blob([svgWithAssetsEmbedded], { type: 'image/svg+xml' });
130
- imgUrl = URL.createObjectURL(svgBlob);
131
- return [2 /*return*/, imgUrl];
125
+ svgEncoded = 'data:image/svg+xml,' + encodeURIComponent(svgWithAssetsEmbedded);
126
+ return [2 /*return*/, createImageFromImgSrc(svgEncoded)];
127
+ }
128
+ });
129
+ });
130
+ };
131
+ exports.createImageFromSvg = createImageFromSvg;
132
+ var createImageFromImgSrc = function (imgSrc) {
133
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
134
+ var img;
135
+ return tslib_1.__generator(this, function (_a) {
136
+ switch (_a.label) {
137
+ case 0:
138
+ img = new Image();
139
+ return [4 /*yield*/, new Promise(function (resolve) {
140
+ img.onload = function () {
141
+ setTimeout(resolve, 0);
142
+ };
143
+ img.src = imgSrc;
144
+ })];
145
+ case 1:
146
+ _a.sent();
147
+ return [2 /*return*/, img];
132
148
  }
133
149
  });
134
150
  });
135
151
  };
136
- exports.createImageUrlFromSvg = createImageUrlFromSvg;
152
+ exports.createImageFromImgSrc = createImageFromImgSrc;
137
153
  /**
138
154
  * Replaces all supported image & font URLs in the given SVG with their base64 representation.
139
155
  */
@@ -1 +1 @@
1
- {"version":3,"file":"resourceHelper.js","sourceRoot":"","sources":["../../../../src/api/util/resourceHelper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resourceHelper.js","sourceRoot":"","sources":["../../../../src/api/util/resourceHelper.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@combeenation/3d-viewer",
3
3
  "description": "Combeenation 3D Viewer",
4
- "version": "3.1.1-beta2",
4
+ "version": "4.0.0-alpha10",
5
5
  "homepage": "https://github.com/Combeenation/3d-viewer#readme",
6
6
  "keywords": [],
7
7
  "author": "",
@@ -1,14 +1,14 @@
1
1
  import { HighlightLayer } from '@babylonjs/core/Layers/highlightLayer';
2
2
  import { Material } from '@babylonjs/core/Materials/material';
3
3
  import { StandardMaterial } from '@babylonjs/core/Materials/standardMaterial';
4
+ import { DynamicTexture } from '@babylonjs/core/Materials/Textures/dynamicTexture';
4
5
  import { Axis, Space } from '@babylonjs/core/Maths/math.axis';
5
6
  import { Color3 } from '@babylonjs/core/Maths/math.color';
6
7
  import { AbstractMesh } from '@babylonjs/core/Meshes/abstractMesh';
7
8
  import { InstancedMesh } from '@babylonjs/core/Meshes/instancedMesh';
8
9
  import { Mesh } from '@babylonjs/core/Meshes/mesh';
9
10
  import { TransformNode } from '@babylonjs/core/Meshes/transformNode';
10
- import { Texture } from '@babylonjs/core/Materials/Textures/texture';
11
- import { cloneDeep, concat, get, isArray, merge, union } from 'lodash-es';
11
+ import { cloneDeep, concat, get, isArray, isNumber, isPlainObject, merge, union } from 'lodash-es';
12
12
  import {
13
13
  activateTransformNode as activate,
14
14
  addToHighlightLayer,
@@ -26,7 +26,7 @@ import {
26
26
  setMaterialRoughness,
27
27
  setMaterialTexture
28
28
  } from '../util/babylonHelper';
29
- import { createImageUrlFromSvg, mergeMaps } from '../util/resourceHelper';
29
+ import { createImageFromSvg, createImageFromImgSrc, mergeMaps } from '../util/resourceHelper';
30
30
  import { DottedPath } from './dottedPath';
31
31
  import { ElementParameterizable } from './elementParameterizable';
32
32
  import { Event } from './event';
@@ -48,8 +48,6 @@ export class Element extends ElementParameterizable {
48
48
 
49
49
  protected _highlightLayer?: HighlightLayer;
50
50
 
51
- protected _paintableTxtureId: number = 0;
52
-
53
51
  public readonly nodes: TransformNode[] = [];
54
52
 
55
53
  /**
@@ -282,7 +280,8 @@ export class Element extends ElementParameterizable {
282
280
  /**
283
281
  * Draws a image onto a `paintable` defined via {@link PaintableDefinition}.
284
282
  */
285
- public drawPaintable( paintable: string, imageSource: string ): Element {
283
+ public async drawPaintable( paintable: string, imageSource: CanvasImageSource ): Promise<Element> {
284
+ const paintableDefinition = this.getPaintableDefinition( paintable );
286
285
  const node = this.getPaintableNode( paintable );
287
286
  if( !(node instanceof AbstractMesh) ) {
288
287
  throw new Error( `The path must be an instance of "AbstractMesh" for paintable "${paintable}" ` +
@@ -300,18 +299,30 @@ export class Element extends ElementParameterizable {
300
299
  injectTransformNodeMetadata( node, { dirty: { material: { texture: true } } }, false );
301
300
  }
302
301
 
303
- const paintableTexture = Texture.CreateFromBase64String(
304
- imageSource,
305
- `${this.id}.${paintable}.texture.${this._paintableTxtureId}`,
302
+ const widthAndHeight = {
303
+ width: imageSource.width,
304
+ height: imageSource.height
305
+ };
306
+ if( isNumber( paintableDefinition.textureOptions ) ) {
307
+ widthAndHeight.width = paintableDefinition.textureOptions;
308
+ widthAndHeight.height = paintableDefinition.textureOptions;
309
+ } else if( isPlainObject( paintableDefinition.textureOptions ) ) {
310
+ widthAndHeight.width = paintableDefinition.textureOptions.width;
311
+ widthAndHeight.height = paintableDefinition.textureOptions.height;
312
+ }
313
+
314
+ const texture = new DynamicTexture(
315
+ `${this.id}.${paintable}.texture`,
316
+ widthAndHeight,
306
317
  this.variant.viewer.scene,
307
- undefined,
308
318
  false
309
319
  );
310
- // NOTE: Paintable texture need an individual id, otherwise the already existing texture on this id does not get overwritten
311
- // Maybe think of a disposal logic here in the future
312
- this._paintableTxtureId++;
313
320
 
314
- setMaterialTexture( node, paintableTexture, false );
321
+ const ctx = texture.getContext();
322
+ ctx.drawImage( imageSource, 0, 0);
323
+ texture.update( false );
324
+
325
+ setMaterialTexture( node, texture, false );
315
326
 
316
327
  return this;
317
328
  }
@@ -320,15 +331,16 @@ export class Element extends ElementParameterizable {
320
331
  * Draws a SVG string onto a `paintable` defined via {@link PaintableDefinition}.
321
332
  */
322
333
  public async drawPaintableFromSvg( paintable: string, svgSource: string ): Promise<Element> {
323
- const imageUrl = await createImageUrlFromSvg( svgSource );
324
- return this.drawPaintable( paintable, imageUrl );
334
+ const image = await createImageFromSvg( svgSource );
335
+ return this.drawPaintable( paintable, image );
325
336
  }
326
337
 
327
338
  /**
328
339
  * Draws an Image from source (URL/URI) onto a `paintable` defined via {@link PaintableDefinition}.
329
340
  */
330
341
  public async drawPaintableFromImgSrc( paintable: string, imgSource: string ): Promise<Element> {
331
- return this.drawPaintable( paintable, imgSource );
342
+ const image = await createImageFromImgSrc( imgSource );
343
+ return this.drawPaintable( paintable, image );
332
344
  }
333
345
 
334
346
  /**
@@ -230,6 +230,10 @@ type CameraDefinition = {
230
230
  /**
231
231
  * `arc` is a default camera position where the 3D-model is the center and the camera rotates around the 3D-model.
232
232
  * More Information about `arc` in [ArcRotateCamera](https://doc.babylonjs.com/typedoc/classes/babylon.arcrotatecamera).
233
+ *
234
+ * NOTE: While "baked" camera definitions from a GLB or babylon file can currently not be instatiated within the `Specification`, it's still possible to use them in the viewer.\
235
+ * For the moment all camera definitions inside these files are automatically added to the scene and can be actived using the {@link switchCamera} function.\
236
+ * The `newCamera` input has to match the name of the camera node inside the GLB/babylon file.
233
237
  */
234
238
  type: 'arc'
235
239
  /**
@@ -1,3 +1,4 @@
1
+ import { ResolvePlugin } from 'webpack';
1
2
  import { emitter, Event } from '../classes/event';
2
3
 
3
4
  /**
@@ -79,22 +80,28 @@ const mergeMaps = function <TKey, TValue>( ...maps: Map<TKey, TValue>[] ): Map<T
79
80
  return resultMap;
80
81
  };
81
82
 
82
- /**
83
- * Converts a svg string into an URL with a base64 representation of that image.\
84
- * This URL can be used as the basis of a paintable texture.
85
- */
86
- const createImageUrlFromSvg = async function( svgSrc: string ): Promise<string> {
83
+ const createImageFromSvg = async function( svgSrc: string ): Promise<HTMLImageElement> {
87
84
  // replace assets with their base64 versions in svg source code
88
85
  const svgWithAssetsEmbedded = await _embedAssets( svgSrc );
89
86
 
90
- // create blob from that
91
- const svgBlob = new Blob( [svgWithAssetsEmbedded], { type: 'image/svg+xml' } );
87
+ const svgEncoded = 'data:image/svg+xml,' + encodeURIComponent(svgWithAssetsEmbedded)
92
88
 
93
- // create URL that can be used in HTML (?)
94
- const imgUrl = URL.createObjectURL( svgBlob );
95
- return imgUrl;
89
+ return createImageFromImgSrc(svgEncoded);
96
90
  };
97
91
 
92
+ const createImageFromImgSrc = async function ( imgSrc: string ): Promise<HTMLImageElement> {
93
+ let img = new Image();
94
+
95
+ await new Promise(resolve => {
96
+ img.onload = () => {
97
+ setTimeout(resolve, 0);
98
+ }
99
+ img.src = imgSrc;
100
+ });
101
+
102
+ return img;
103
+ }
104
+
98
105
  /**
99
106
  * Replaces all supported image & font URLs in the given SVG with their base64 representation.
100
107
  */
@@ -152,5 +159,6 @@ export {
152
159
  debounce,
153
160
  uuidv4,
154
161
  mergeMaps,
155
- createImageUrlFromSvg
162
+ createImageFromSvg,
163
+ createImageFromImgSrc
156
164
  };
@@ -32,17 +32,26 @@
32
32
  "pages": [
33
33
  {
34
34
  "title": "Specification",
35
- "source": "./doc/Specification.md"
35
+ "source": "./doc/documentation/Specification.md"
36
36
  },
37
37
  {
38
38
  "title": "Parameters",
39
- "source": "./doc/Parameters.md"
39
+ "source": "./doc/documentation/Parameters.md"
40
40
  },
41
41
  {
42
42
  "title": "Paintables",
43
- "source": "./doc/Paintables.md"
43
+ "source": "./doc/documentation/Paintables.md"
44
+ }
45
+ ]
46
+ },
47
+ {
48
+ "title": "Best Practice",
49
+ "pages": [
50
+ {
51
+ "title": "How to change custom material properties",
52
+ "source": "./doc/best-practice/Custom-material-properties.md"
44
53
  }
45
54
  ]
46
55
  }
47
56
  ]
48
- }
57
+ }