@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 +1 -1
- package/src/viewer/Viewer.js +10 -11
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.
|
|
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",
|
package/src/viewer/Viewer.js
CHANGED
|
@@ -455,14 +455,13 @@ export class Viewer {
|
|
|
455
455
|
// logarithmicDepthBuffer: уменьшает z-fighting на почти копланарных поверхностях (часто в IFC).
|
|
456
456
|
// Это заметно снижает "мигание" тонких накладных деталей на фасадах.
|
|
457
457
|
// stencil: нужен для отрисовки "cap" по контуру сечения
|
|
458
|
-
//
|
|
459
|
-
//
|
|
460
|
-
|
|
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
|
-
//
|
|
489
|
-
try { this.scene.background =
|
|
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
|
-
// По требованиям: фон ВСЕГДА
|
|
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 =
|
|
2681
|
+
try { this.scene.background = null; } catch (_) {}
|
|
2683
2682
|
}
|
|
2684
2683
|
|
|
2685
2684
|
setAOEnabled(enabled) {
|