@sequent-org/ifc-viewer 1.0.6-ci.11.0 → 1.0.7-ci.10.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/README.md CHANGED
@@ -13,12 +13,7 @@ IFC 3D model viewer component for web applications. Основан на Three.js
13
13
  npm install @sequent-org/ifc-viewer
14
14
  ```
15
15
 
16
- 2. **Скопируйте WASM файл (один раз):**
17
- ```bash
18
- cp node_modules/web-ifc/web-ifc.wasm public/wasm/
19
- ```
20
-
21
- 3. **Используйте в коде:**
16
+ 2. **Используйте в коде:**
22
17
  ```javascript
23
18
  import { IfcViewer } from '@sequent-org/ifc-viewer'
24
19
 
@@ -30,7 +25,7 @@ IFC 3D model viewer component for web applications. Основан на Three.js
30
25
  await viewer.init()
31
26
  ```
32
27
 
33
- **Готово!** Пакет автоматически найдет WASM файл по стандартным путям.
28
+ **Готово!** WASM файл автоматически загружается из пакета. Никаких дополнительных настроек не требуется.
34
29
 
35
30
  ## 🚀 Установка
36
31
 
@@ -38,21 +33,14 @@ IFC 3D model viewer component for web applications. Основан на Three.js
38
33
  npm install @sequent-org/ifc-viewer
39
34
  ```
40
35
 
41
- ### 📁 Настройка WASM файла
36
+ ### Автоматическая настройка WASM
42
37
 
43
- После установки пакета скопируйте WASM файл в публичную папку:
44
-
45
- ```bash
46
- # Скопируйте web-ifc.wasm в папку public/wasm/
47
- cp node_modules/web-ifc/web-ifc.wasm public/wasm/
48
- ```
38
+ **WASM файл автоматически включается в пакет** - никаких дополнительных настроек не требуется!
49
39
 
50
- **Умный поиск:** Пакет автоматически ищет WASM файл по популярным путям:
51
- - `/wasm/web-ifc.wasm` (рекомендуемый)
52
- - `/web-ifc.wasm`
53
- - `/wasm/`
54
- - `/node_modules/web-ifc/web-ifc.wasm`
55
- - И другие стандартные пути
40
+ - WASM файл автоматически загружается из пакета
41
+ - Не нужно копировать файлы в публичную папку
42
+ - ✅ Работает "из коробки" в любом проекте
43
+ - ✅ Совместимо с любыми сборщиками (Vite, Webpack, Rollup)
56
44
 
57
45
  **Важно:** Пакет использует парсинг в главном потоке (Web Workers отключены) для максимальной совместимости с различными окружениями.
58
46
 
@@ -115,46 +103,36 @@ function showIfcModal(ifcUrl) {
115
103
  }
116
104
  ```
117
105
 
118
- **Настройка WASM файла в Laravel:**
106
+ **Настройка в Laravel:**
119
107
 
120
- 1. **Скопируйте WASM файл в public папку:**
121
- ```bash
122
- cp node_modules/web-ifc/web-ifc.wasm public/wasm/
123
- ```
124
-
125
- 2. **Или используйте Laravel Storage:**
126
- ```bash
127
- cp node_modules/web-ifc/web-ifc.wasm storage/app/public/
128
- php artisan storage:link
129
- ```
108
+ WASM файл автоматически загружается из пакета. Дополнительная настройка не требуется!
130
109
 
131
- 3. **Для кастомных путей:**
110
+ **Для кастомных путей (опционально):**
132
111
  ```javascript
133
112
  const viewer = new IfcViewer({
134
113
  container: container,
135
114
  ifcUrl: ifcUrl,
136
- wasmUrl: '/storage/web-ifc.wasm' // Путь к WASM в Laravel storage
115
+ wasmUrl: '/custom-path/web-ifc.wasm' // Только если нужен кастомный путь
137
116
  })
138
117
  ```
139
118
 
140
- **Важно для Laravel:** Убедитесь, что Vite настроен для обслуживания статических файлов из `public/` папки.
119
+ **Важно для Laravel:** Пакет работает "из коробки" без дополнительных настроек Vite.
141
120
 
142
121
  ## 🔧 Особенности и совместимость
143
122
 
144
123
  ### ✅ Что включено в пакет
145
124
 
146
125
  - **Автономные стили** - не требует Tailwind CSS, Bootstrap или других фреймворков
147
- - **Умный поиск WASM** - автоматический поиск по популярным путям
126
+ - **Автоматический WASM** - файл автоматически включается в пакет
148
127
  - **Отключенные Web Workers** - парсинг в главном потоке для максимальной совместимости
149
128
  - **Fallback защита** - автоматическое переключение на резервные пути при ошибках WASM
150
129
  - **Обработка ошибок** - graceful degradation при критических ошибках
151
- - **Поддержка wasmUrl** - гибкая настройка пути к WASM файлу
130
+ - **Поддержка wasmUrl** - гибкая настройка пути к WASM файлу (опционально)
152
131
 
153
132
  ### 🚫 Что НЕ включено
154
133
 
155
134
  - **IFCWorker** - Web Workers отключены для предотвращения проблем интеграции
156
135
  - **Внешние зависимости** - все стили и ресурсы включены в пакет
157
- - **WASM файл** - нужно скопировать из node_modules (один раз)
158
136
 
159
137
  ### 🎯 Совместимость
160
138
 
@@ -479,17 +457,17 @@ Cannot resolve module '@sequent-org/ifc-viewer'
479
457
 
480
458
  При помощи с интеграцией пакета учитывайте:
481
459
 
482
- 1. **Обязательно скопируйте WASM файл** в публичную папку проекта (один раз)
460
+ 1. **WASM файл автоматически включен** - никаких дополнительных настроек не требуется
483
461
  2. **Web Workers отключены** - не пытайтесь их включить
484
- 3. **Используйте параметр wasmUrl** для кастомных путей к WASM файлу
462
+ 3. **Используйте параметр wasmUrl** только для кастомных путей (опционально)
485
463
  4. **Пакет полностью автономен** - не требует внешних CSS фреймворков
486
464
  5. **Поддерживает все современные фреймворки** - React, Vue, Angular, Laravel
487
- 6. **Умный поиск WASM** - автоматически найдет файл по стандартным путям
465
+ 6. **Работает "из коробки"** - просто установите и используйте
488
466
 
489
467
  ### Отладка
490
468
 
491
469
  - Проверьте консоль на сообщение "Web Workers отключены"
492
- - Убедитесь, что WASM файл скопирован в публичную папку
470
+ - WASM файл автоматически загружается из пакета
493
471
  - Используйте DevTools → Network для проверки загрузки ресурсов
494
472
  - При проблемах используйте параметр `wasmUrl` для кастомного пути
495
473
 
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@sequent-org/ifc-viewer",
3
3
  "private": false,
4
- "version": "1.0.6-ci.11.0",
4
+ "version": "1.0.7-ci.10.0",
5
5
  "type": "module",
6
6
  "description": "IFC 3D model viewer component for web applications",
7
7
  "main": "src/index.js",
@@ -10,10 +10,12 @@
10
10
  ".": {
11
11
  "import": "./src/index.js"
12
12
  },
13
- "./style.css": "./src/style.css"
13
+ "./style.css": "./src/style.css",
14
+ "./wasm/web-ifc.wasm": "./wasm/web-ifc.wasm"
14
15
  },
15
16
  "files": [
16
17
  "src/",
18
+ "wasm/",
17
19
  "README.md"
18
20
  ],
19
21
  "keywords": [
@@ -2,6 +2,8 @@
2
2
  // Требует three@^0.149 и web-ifc-three совместимой версии
3
3
 
4
4
  import { IFCLoader } from "web-ifc-three/IFCLoader";
5
+ // Автоматический импорт WASM файла из пакета
6
+ import WEBIFC_WASM_URL from '/wasm/web-ifc.wasm?url';
5
7
  // Примечание: IFCWorker не используется, так как мы отключаем Web Workers
6
8
  // для стабильности работы в различных окружениях
7
9
 
@@ -79,15 +81,18 @@ export class IfcService {
79
81
  paths.push(this.wasmUrl);
80
82
  }
81
83
 
82
- // 2. Популярные пути по умолчанию
83
- paths.push(
84
- '/wasm/web-ifc.wasm', // Стандартный путь в public/wasm/
85
- '/web-ifc.wasm', // Корневой путь
86
- '/wasm/', // Директория wasm
87
- '/node_modules/web-ifc/web-ifc.wasm', // Прямо из node_modules
88
- './web-ifc.wasm', // Относительный путь
89
- 'web-ifc.wasm' // Просто имя файла
90
- );
84
+ // 2. WASM файл из пакета (автоматически включен в сборку)
85
+ try {
86
+ paths.push(WEBIFC_WASM_URL);
87
+ } catch (_) {}
88
+
89
+ try {
90
+ const wasmDir = new URL('.', WEBIFC_WASM_URL).href;
91
+ paths.push(wasmDir);
92
+ } catch (_) {}
93
+
94
+ // 3. Резервные пути для обратной совместимости
95
+ paths.push('/wasm/', '/wasm/web-ifc.wasm', '/web-ifc.wasm');
91
96
 
92
97
  return paths;
93
98
  }