@crystaldesign/real-time-viewer 26.7.0-beta.2 → 26.7.0-beta.3

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.
@@ -3161,6 +3161,7 @@ var customMat = /*#__PURE__*/function () {
3161
3161
  var setDataRow,
3162
3162
  sceneStore,
3163
3163
  url,
3164
+ normalizedEnvironment,
3164
3165
  doReCtrTex,
3165
3166
  _mat,
3166
3167
  res,
@@ -3178,9 +3179,13 @@ var customMat = /*#__PURE__*/function () {
3178
3179
  url.searchParams.append('isStdMat', _customMat.isStdMat.toString());
3179
3180
  url.searchParams.append('blob', _customMat.blob);
3180
3181
  url.searchParams.append('isIDM3D', _customMat.isIDM3D.toString());
3182
+ if (_customMat.idm3DEnvironment) {
3183
+ normalizedEnvironment = _customMat.idm3DEnvironment.trim();
3184
+ if (normalizedEnvironment) url.searchParams.append('idm3DEnvironment', normalizedEnvironment);
3185
+ }
3181
3186
  url.searchParams.append('debug', JSON.stringify(!!sceneStore.apiConfig.useDebugUrl));
3182
3187
  if (_customMat.tiling) url.searchParams.append('tiling', JSON.stringify(_customMat.tiling));
3183
- _context.prev = 9;
3188
+ _context.prev = 10;
3184
3189
  // need to re construct the textures, due to data loss(tiling, mimetype, etc.) on glbasync export after parse/serialize of a mat
3185
3190
  // just triggers the right things for that to work, texture itself is cached so no real perf impact
3186
3191
  doReCtrTex = function doReCtrTex(texture) {
@@ -3195,18 +3200,18 @@ var customMat = /*#__PURE__*/function () {
3195
3200
  reCtrTex._mimeType = texture.url.endsWith('.jpg') ? 'image/jpeg' : 'image/png';
3196
3201
  return reCtrTex;
3197
3202
  };
3198
- _context.next = 13;
3203
+ _context.next = 14;
3199
3204
  return fetch(url.toString(), {
3200
3205
  method: 'GET',
3201
3206
  headers: {
3202
3207
  Authorization: "Bearer ".concat(sceneStore.jwt)
3203
3208
  }
3204
3209
  });
3205
- case 13:
3210
+ case 14:
3206
3211
  _mat = _context.sent;
3207
- _context.next = 16;
3212
+ _context.next = 17;
3208
3213
  return _mat.json();
3209
- case 16:
3214
+ case 17:
3210
3215
  res = _context.sent;
3211
3216
  parsedMat = PBRMetallicRoughnessMaterial.Parse(res, _customMat.scene, '');
3212
3217
  parsedMat.baseTexture = doReCtrTex(parsedMat.baseTexture);
@@ -3226,9 +3231,9 @@ var customMat = /*#__PURE__*/function () {
3226
3231
  mat: parsedMat,
3227
3232
  found: true
3228
3233
  });
3229
- case 27:
3230
- _context.prev = 27;
3231
- _context.t0 = _context["catch"](9);
3234
+ case 28:
3235
+ _context.prev = 28;
3236
+ _context.t0 = _context["catch"](10);
3232
3237
  if (setDataRow) useUtilStoreContext().setAnalyzeDataRow({
3233
3238
  type: 'MAT',
3234
3239
  found: false,
@@ -3237,17 +3242,17 @@ var customMat = /*#__PURE__*/function () {
3237
3242
  path: _customMat.blob,
3238
3243
  sizeMb: 0
3239
3244
  });
3240
- case 30:
3245
+ case 31:
3241
3246
  mat = new PBRMetallicRoughnessMaterial(_customMat.name, sceneStore.scene);
3242
3247
  return _context.abrupt("return", {
3243
3248
  mat: mat,
3244
3249
  found: true
3245
3250
  });
3246
- case 32:
3251
+ case 33:
3247
3252
  case "end":
3248
3253
  return _context.stop();
3249
3254
  }
3250
- }, _callee, null, [[9, 27]]);
3255
+ }, _callee, null, [[10, 28]]);
3251
3256
  }));
3252
3257
  return function customMat(_x) {
3253
3258
  return _ref.apply(this, arguments);
@@ -3258,6 +3263,13 @@ function _createForOfIteratorHelper$3(r, e) { var t = "undefined" != typeof Symb
3258
3263
  function _unsupportedIterableToArray$3(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$3(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray$3(r, a) : void 0; } }
3259
3264
  function _arrayLikeToArray$3(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
3260
3265
  getLogger('RealTimeViewer', 'FindAsset');
3266
+ var DEFAULT_IDM3D_ENVIRONMENT = 'diva.ro';
3267
+ function getIDM3DEnvironment(idm3DEnvironment) {
3268
+ if (!idm3DEnvironment) return DEFAULT_IDM3D_ENVIRONMENT;
3269
+ var normalizedEnvironment = idm3DEnvironment.trim();
3270
+ if (!normalizedEnvironment) return DEFAULT_IDM3D_ENVIRONMENT;
3271
+ return normalizedEnvironment;
3272
+ }
3261
3273
  function findAssets(_x, _x2) {
3262
3274
  return _findAssets.apply(this, arguments);
3263
3275
  }
@@ -3340,7 +3352,7 @@ function _findAssets() {
3340
3352
  }));
3341
3353
  return _importGeo.apply(this, arguments);
3342
3354
  };
3343
- importGeo = function _importGeo2(_x13, _x14) {
3355
+ importGeo = function _importGeo2(_x14, _x15) {
3344
3356
  return _importGeo.apply(this, arguments);
3345
3357
  };
3346
3358
  _unifyAndSetStdMats = function _unifyAndSetStdMats3() {
@@ -3366,7 +3378,7 @@ function _findAssets() {
3366
3378
  case 8:
3367
3379
  name = 'std_' + name;
3368
3380
  _context.next = 11;
3369
- return createOrGetMaterial(name, path, splittedName[0], true, true, false, undefined, true);
3381
+ return createOrGetMaterial(name, path, splittedName[0], true, true, false, undefined, undefined, true);
3370
3382
  case 11:
3371
3383
  mat = _context.sent;
3372
3384
  if (!mat.found) utilStore.setAnalyzeDataRow({
@@ -3434,7 +3446,7 @@ function _findAssets() {
3434
3446
  }));
3435
3447
  return _unifyAndSetStdMats.apply(this, arguments);
3436
3448
  };
3437
- unifyAndSetStdMats = function _unifyAndSetStdMats2(_x11, _x12) {
3449
+ unifyAndSetStdMats = function _unifyAndSetStdMats2(_x12, _x13) {
3438
3450
  return _unifyAndSetStdMats.apply(this, arguments);
3439
3451
  };
3440
3452
  sceneStore = useSceneStoreContext();
@@ -3449,7 +3461,7 @@ function _findAssets() {
3449
3461
  _iterator = _createForOfIteratorHelper$3(assets.geos);
3450
3462
  _context5.prev = 11;
3451
3463
  _loop = /*#__PURE__*/_regeneratorRuntime.mark(function _loop() {
3452
- var geo, path, idm_path, mesh, cachedGeo;
3464
+ var geo, path, idm_path, idm3DEnvironment, mesh, cachedGeo;
3453
3465
  return _regeneratorRuntime.wrap(function _loop$(_context3) {
3454
3466
  while (1) switch (_context3.prev = _context3.next) {
3455
3467
  case 0:
@@ -3457,7 +3469,8 @@ function _findAssets() {
3457
3469
  path = sceneStore.apiConfig.diva3darchive + '/' + geo.blob + '/' + geo.catCodex + '/AR/';
3458
3470
  if (geo.isIDM3D) {
3459
3471
  idm_path = geo.name.split('.');
3460
- path = sceneStore.apiConfig.diva3darchive + '/IDM3D_ARCHIV/GEOMETRIES/' + idm_path[0] + '/' + idm_path[1] + '/';
3472
+ idm3DEnvironment = getIDM3DEnvironment(geo.idm3DEnvironment);
3473
+ path = sceneStore.apiConfig.diva3darchive + '/IDM3D_ARCHIV/' + idm3DEnvironment + '/GEOMETRIES/' + idm_path[0] + '/' + idm_path[1] + '/';
3461
3474
  }
3462
3475
  //! check if cached
3463
3476
  if (!cache.find(function (cachedElement) {
@@ -3554,7 +3567,7 @@ function _findAssets() {
3554
3567
  return _context4.abrupt("return", 1);
3555
3568
  case 5:
3556
3569
  _context4.next = 7;
3557
- return createOrGetMaterial(mat.id + '_' + mat.name, mat.blob, mat.name, true, false, !!mat.isIDM3D, {
3570
+ return createOrGetMaterial(mat.id + '_' + mat.name, mat.blob, mat.name, true, false, !!mat.isIDM3D, mat.idm3DEnvironment, {
3558
3571
  tileU: mat.tileU,
3559
3572
  tileV: mat.tileV
3560
3573
  }, true);
@@ -3574,7 +3587,7 @@ function _findAssets() {
3574
3587
  _context4.t3 = newCache;
3575
3588
  _context4.t4 = mat.id;
3576
3589
  _context4.next = 17;
3577
- return createOrGetMaterial(mat.id + '_' + mat.name, mat.blob, mat.name, true, false, !!mat.isIDM3D, {
3590
+ return createOrGetMaterial(mat.id + '_' + mat.name, mat.blob, mat.name, true, false, !!mat.isIDM3D, mat.idm3DEnvironment, {
3578
3591
  tileU: mat.tileU,
3579
3592
  tileV: mat.tileV
3580
3593
  }, true);
@@ -3639,11 +3652,11 @@ function _findAssets() {
3639
3652
  }));
3640
3653
  return _findAssets.apply(this, arguments);
3641
3654
  }
3642
- function createOrGetMaterial(_x3, _x4, _x5, _x6, _x7, _x8, _x9, _x10) {
3655
+ function createOrGetMaterial(_x3, _x4, _x5, _x6, _x7, _x8, _x9, _x10, _x11) {
3643
3656
  return _createOrGetMaterial.apply(this, arguments);
3644
3657
  }
3645
3658
  function _createOrGetMaterial() {
3646
- _createOrGetMaterial = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee4(name, blob, fileName, checkExisting, isStdMat, isIDM3D, tiling, setDataRow) {
3659
+ _createOrGetMaterial = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee4(name, blob, fileName, checkExisting, isStdMat, isIDM3D, idm3DEnvironment, tiling, setDataRow) {
3647
3660
  var sceneStore, uiStore, _iterator5, _step5, cachedMaterial, mat, material;
3648
3661
  return _regeneratorRuntime.wrap(function _callee4$(_context6) {
3649
3662
  while (1) switch (_context6.prev = _context6.next) {
@@ -3690,6 +3703,7 @@ function _createOrGetMaterial() {
3690
3703
  mat = {
3691
3704
  isStdMat: !!isStdMat,
3692
3705
  isIDM3D: isIDM3D,
3706
+ idm3DEnvironment: idm3DEnvironment,
3693
3707
  blob: blob,
3694
3708
  name: name,
3695
3709
  fileName: fileName,
@@ -6,6 +6,7 @@ export interface CustomMaterial {
6
6
  blob: string;
7
7
  isStdMat: boolean;
8
8
  isIDM3D: boolean;
9
+ idm3DEnvironment?: string;
9
10
  scene: Scene;
10
11
  tiling?: {
11
12
  tileU: number;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/CustomMaterial/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAC9C,OAAO,EAAE,4BAA4B,EAAE,MAAM,4DAA4D,CAAC;AAK1G,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,KAAK,CAAC;IACb,MAAM,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;CAC3C;AAGD,QAAA,MAAM,SAAS,cAAqB,cAAc,eAAc,OAAO,KAAU,OAAO,CAAC;IAAE,GAAG,EAAE,4BAA4B,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,CAoD7I,CAAC;AAEF,eAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/CustomMaterial/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAC9C,OAAO,EAAE,4BAA4B,EAAE,MAAM,4DAA4D,CAAC;AAK1G,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,KAAK,EAAE,KAAK,CAAC;IACb,MAAM,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;CAC3C;AAGD,QAAA,MAAM,SAAS,cAAqB,cAAc,eAAc,OAAO,KAAU,OAAO,CAAC;IAAE,GAAG,EAAE,4BAA4B,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,CAwD7I,CAAC;AAEF,eAAe,SAAS,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/parser/findAssets/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AAGrE,OAAO,EAAE,UAAU,EAAW,MAAM,UAAU,CAAC;AAE/C,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAMpC,wBAA8B,UAAU,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE;;;GA0J1E"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/parser/findAssets/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AAGrE,OAAO,EAAE,UAAU,EAAW,MAAM,UAAU,CAAC;AAE/C,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAcpC,wBAA8B,UAAU,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE;;;GAsK1E"}
@@ -81,6 +81,7 @@ export interface HQS_Geo {
81
81
  name: string;
82
82
  tempGeoPath?: string;
83
83
  isIDM3D?: boolean;
84
+ idm3DEnvironment?: string;
84
85
  blob: string;
85
86
  catCodex: string;
86
87
  isResizedGeo?: boolean;
@@ -89,6 +90,7 @@ export interface HQS_Mat {
89
90
  id: string;
90
91
  name: string;
91
92
  isIDM3D?: boolean;
93
+ idm3DEnvironment?: string;
92
94
  tileU: number;
93
95
  tileV: number;
94
96
  tempSubsPath?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/parser/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/parser/types.ts"],"names":[],"mappings":"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"}