@sequent-org/ifc-viewer 1.2.4-ci.45.0 → 1.2.4-ci.46.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/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@sequent-org/ifc-viewer",
3
3
  "private": false,
4
- "version": "1.2.4-ci.45.0",
4
+ "version": "1.2.4-ci.46.0",
5
5
  "type": "module",
6
6
  "description": "IFC 3D model viewer component for web applications - fully self-contained with local IFCLoader",
7
7
  "main": "src/index.js",
@@ -455,14 +455,13 @@ export class Viewer {
455
455
  // logarithmicDepthBuffer: уменьшает z-fighting на почти копланарных поверхностях (часто в IFC).
456
456
  // Это заметно снижает "мигание" тонких накладных деталей на фасадах.
457
457
  // stencil: нужен для отрисовки "cap" по контуру сечения
458
- // ВАЖНО: фон всегда должен быть чисто белым и не зависеть от CSS-окружения (модалки/страницы).
459
- // Поэтому делаем рендер НЕпрозрачным (alpha: false) и задаём белый clearColor.
460
- this.renderer = new THREE.WebGLRenderer({ antialias: true, alpha: false, logarithmicDepthBuffer: true, stencil: true });
458
+ // Фон должен выглядеть белым всегда, но при этом сохраняем прежнее поведение рендера (прозрачный canvas),
459
+ // чтобы не менять визуальное смешивание (тени/пост-эффекты) относительно версии "до белого фона".
460
+ // Белизна обеспечивается фоном контейнера (IfcViewer.js), а canvas остаётся прозрачным.
461
+ this.renderer = new THREE.WebGLRenderer({ antialias: true, alpha: true, logarithmicDepthBuffer: true, stencil: true });
461
462
  this.renderer.setPixelRatio(Math.min(window.devicePixelRatio || 1, 2));
462
463
  this.renderer.autoClear = false; // управляем очисткой вручную для мульти-проходов
463
- try {
464
- this.renderer.setClearColor(0xffffff, 1);
465
- } catch (_) {}
464
+ try { this.renderer.setClearColor(0xffffff, 0); } catch (_) {}
466
465
  // Тени по умолчанию выключены (включаются только через setShadowsEnabled)
467
466
  this.renderer.shadowMap.enabled = false;
468
467
  this.renderer.shadowMap.type = THREE.PCFSoftShadowMap;
@@ -485,8 +484,8 @@ export class Viewer {
485
484
 
486
485
  // Сцена
487
486
  this.scene = new THREE.Scene();
488
- // Гарантируем белый фон сцены (в том числе для composer/pass-ов).
489
- try { this.scene.background = new THREE.Color(0xffffff); } catch (_) {}
487
+ // Оставляем фон сцены прозрачным (белый фон задаётся контейнером).
488
+ try { this.scene.background = null; } catch (_) {}
490
489
  // Оверлей-сцена для секущих манипуляторов (без клиппинга)
491
490
  this.sectionOverlayScene = new THREE.Scene();
492
491
 
@@ -2674,12 +2673,12 @@ export class Viewer {
2674
2673
  * @param {boolean} enabled
2675
2674
  */
2676
2675
  setStep3BackgroundEnabled(enabled) {
2677
- // По требованиям: фон ВСЕГДА чисто белый, и шаг 3 не должен менять фон сцены.
2678
- // Поэтому игнорируем "включение" и принудительно удерживаем белый фон.
2676
+ // По требованиям: фон ВСЕГДА белый (за счёт контейнера), и шаг 3 не должен менять фон сцены.
2677
+ // Поэтому игнорируем "включение" и удерживаем background прозрачным.
2679
2678
  if (!this.scene) return;
2680
2679
  this._step3Background.enabled = false;
2681
2680
  this._step3Background.snapshot = null;
2682
- try { this.scene.background = new THREE.Color(0xffffff); } catch (_) {}
2681
+ try { this.scene.background = null; } catch (_) {}
2683
2682
  }
2684
2683
 
2685
2684
  setAOEnabled(enabled) {