@xeokit/xeokit-sdk 2.6.77 → 2.6.78-rc1

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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"xeokit-sdk.min.es5.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
package/package.json CHANGED
@@ -1,16 +1,15 @@
1
1
  {
2
2
  "name": "@xeokit/xeokit-sdk",
3
- "version": "2.6.77",
3
+ "version": "2.6.78-rc1",
4
4
  "description": "3D BIM IFC Viewer SDK for AEC engineering applications. Open Source JavaScript Toolkit based on pure WebGL for top performance, real-world coordinates and full double precision",
5
5
  "module": "./dist/xeokit-sdk.es.js",
6
6
  "main": "./dist/xeokit-sdk.cjs.js",
7
7
  "types": "./types/index.d.ts",
8
8
  "scripts": {
9
- "build": "rollup --config rollup.config.js; rollup --config rollup.minified.config.js",
9
+ "build": "rollup --config rollup.config.js",
10
10
  "dev-build": "rollup --config rollup.dev.config.js",
11
11
  "docs": "rm -Rf ./docs/*; ./node_modules/.bin/esdoc",
12
12
  "typedocs": "rm -Rf ./docs/*; typedoc --tsconfig tsconfig.json",
13
- "publish": "npm publish --access public",
14
13
  "changelog": "git fetch; auto-changelog --commit-limit false --package --template changelog-template.hbs",
15
14
  "test": "npx percy exec -- npx playwright test"
16
15
  },
@@ -57,7 +56,10 @@
57
56
  "@loaders.gl/core": "^4.3.3",
58
57
  "@loaders.gl/gltf": "^4.3.3",
59
58
  "@loaders.gl/las": "^4.3.3",
60
- "html2canvas": "^1.4.1"
59
+ "@rollup/plugin-replace": "^6.0.2",
60
+ "core-js": "^3.42.0",
61
+ "html2canvas": "^1.4.1",
62
+ "pako": "^2.1.0"
61
63
  },
62
64
  "devDependencies": {
63
65
  "@babel/core": "^7.18.6",
@@ -66,6 +68,7 @@
66
68
  "@percy/playwright": "^1.0.7",
67
69
  "@playwright/test": "^1.49.1",
68
70
  "@rollup/plugin-babel": "^5.3.1",
71
+ "@rollup/plugin-commonjs": "^28.0.3",
69
72
  "@rollup/plugin-node-resolve": "^13.2.1",
70
73
  "@types/node": "^22.10.6",
71
74
  "auto-changelog": "^2.4.0",
@@ -1,6 +1,6 @@
1
- import {math} from '../../viewer/scene/math/math.js';
2
- import {Marker} from "../../viewer/scene/marker/Marker.js";
3
- import {utils} from "../../viewer/scene/utils.js";
1
+ import { Marker } from "../../viewer/scene/marker/Marker.js";
2
+ import { math } from '../../viewer/scene/math/math.js';
3
+ import { utils } from "../../viewer/scene/utils.js";
4
4
  import { addContextMenuListener } from '../lib/html/MenuEvent.js';
5
5
 
6
6
  const tempVec3a = math.vec3();
@@ -469,6 +469,7 @@ class Annotation extends Marker {
469
469
  * You can also call {@link AnnotationsPlugin#destroyAnnotation}.
470
470
  */
471
471
  destroy() {
472
+ window.clearTimeout(this._widthTimeout);
472
473
  if (this._marker) {
473
474
  if (!this._markerExternal) {
474
475
  this._marker.parentNode.removeChild(this._marker);
@@ -492,4 +493,4 @@ class Annotation extends Marker {
492
493
  }
493
494
  }
494
495
 
495
- export {Annotation};
496
+ export { Annotation };
@@ -1,25 +1,25 @@
1
- import { Plugin } from "../../viewer/Plugin.js";
2
- import { GLTFLoaderPlugin } from "../GLTFLoaderPlugin/GLTFLoaderPlugin.js";
3
- import { ifc2gltf } from "@creooxag/cxconverter";
1
+ // import { Plugin } from "../../viewer/Plugin.js";
2
+ // import { GLTFLoaderPlugin } from "../GLTFLoaderPlugin/GLTFLoaderPlugin.js";
3
+ // import { ifc2gltf } from "@creooxag/cxconverter";
4
4
 
5
- /**
6
- * Fetches a file from the given URL and returns its contents as text.
7
- *
8
- * @param {string} url - The URL to fetch the file from.
9
- * @returns {Promise<string>} A promise that resolves to the file contents.
10
- * @private
11
- */
12
- async function fetchFile(url) {
13
- try {
14
- const response = await fetch(url);
15
- if (!response.ok) {
16
- throw new Error(`HTTP error! Status: ${response.status}`);
17
- }
18
- return response.text();
19
- } catch (error) {
20
- console.error('Error fetching file:', error);
21
- }
22
- }
5
+ // /**
6
+ // * Fetches a file from the given URL and returns its contents as text.
7
+ // *
8
+ // * @param {string} url - The URL to fetch the file from.
9
+ // * @returns {Promise<string>} A promise that resolves to the file contents.
10
+ // * @private
11
+ // */
12
+ // async function fetchFile(url) {
13
+ // try {
14
+ // const response = await fetch(url);
15
+ // if (!response.ok) {
16
+ // throw new Error(`HTTP error! Status: ${response.status}`);
17
+ // }
18
+ // return response.text();
19
+ // } catch (error) {
20
+ // console.error('Error fetching file:', error);
21
+ // }
22
+ // }
23
23
 
24
24
  /**
25
25
  * {@link Viewer} plugin that uses [CxConverter](https://github.com/Creoox/cxconverter) to load BIM models directly from IFC files, using its WebAssembly buid from [npm package](https://www.npmjs.com/package/@creooxag/cxconverter).
@@ -29,58 +29,58 @@ async function fetchFile(url) {
29
29
  * ````javascript
30
30
  * import { CxConverterIFCLoaderPlugin, Viewer } from "../../dist/xeokit-sdk.es.js";
31
31
  * const cxConverterIFCLoaderPlugin = new CxConverterIFCLoaderPlugin(viewer);
32
- *
32
+ *
33
33
  * const sceneModel = await cxConverterIFCLoaderPlugin.load({
34
34
  * src: "../../assets/models/ifc/Duplex.ifc"
35
- * });
35
+ * });
36
36
  * ````
37
37
  See the code in action [here](https://xeokit.github.io/xeokit-sdk/examples/buildings/#cxConverterIFC_vbo_Duplex).
38
38
  */
39
39
 
40
- class CxConverterIFCLoaderPlugin extends Plugin {
41
- /**
42
- * @constructor
43
- * @param {Viewer} viewer The Viewer.
44
- * @param {Object} [cfg={}] Plugin configuration.
45
- */
46
- constructor(viewer, cfg = {}) {
47
- super("ifcLoader", viewer, cfg);
40
+ // class CxConverterIFCLoaderPlugin extends Plugin {
41
+ // /**
42
+ // * @constructor
43
+ // * @param {Viewer} viewer The Viewer.
44
+ // * @param {Object} [cfg={}] Plugin configuration.
45
+ // */
46
+ // constructor(viewer, cfg = {}) {
47
+ // super("ifcLoader", viewer, cfg);
48
48
 
49
- /**
50
- * The GLTFLoaderPlugin used internally to load the converted GLTF.
51
- * @type {GLTFLoaderPlugin}
52
- */
53
- this.gltfLoader = new GLTFLoaderPlugin(this.viewer);
54
- }
49
+ // /**
50
+ // * The GLTFLoaderPlugin used internally to load the converted GLTF.
51
+ // * @type {GLTFLoaderPlugin}
52
+ // */
53
+ // this.gltfLoader = new GLTFLoaderPlugin(this.viewer);
54
+ // }
55
55
 
56
- /**
57
- * Loads an IFC model from the given source.
58
- *
59
- * @param {Object} [params={}] Loading parameters.
60
- * @param {string} params.src Path to an IFC file.
61
- * @param {Function} [params.progressCallback] Callback to track loading progress.
62
- * @param {Function} [params.progressTextCallback] Callback to track loading progress with text updates.
63
- * @returns {Promise<SceneModel>} A promise that resolves to the loaded SceneModel.
64
- */
65
- async load(params = {}) {
66
- if (!params.src) {
67
- this.error("load() param expected: src");
68
- }
69
- const data = await fetchFile(params.src);
70
- const { gltf, metaData } = await ifc2gltf(
71
- data,
72
- {
73
- remote: true,
74
- progressCallback: params.progressCallback,
75
- progressTextCallback: params.progressTextCallback
76
- }
77
- );
78
- const sceneModel = this.gltfLoader.load({
79
- id: "myModel",
80
- gltf: gltf,
81
- metaModelJSON: metaData
82
- });
83
- return sceneModel;
84
- }
85
- }
86
- export { CxConverterIFCLoaderPlugin };
56
+ // /**
57
+ // * Loads an IFC model from the given source.
58
+ // *
59
+ // * @param {Object} [params={}] Loading parameters.
60
+ // * @param {string} params.src Path to an IFC file.
61
+ // * @param {Function} [params.progressCallback] Callback to track loading progress.
62
+ // * @param {Function} [params.progressTextCallback] Callback to track loading progress with text updates.
63
+ // * @returns {Promise<SceneModel>} A promise that resolves to the loaded SceneModel.
64
+ // */
65
+ // async load(params = {}) {
66
+ // if (!params.src) {
67
+ // this.error("load() param expected: src");
68
+ // }
69
+ // const data = await fetchFile(params.src);
70
+ // const { gltf, metaData } = await ifc2gltf(
71
+ // data,
72
+ // {
73
+ // remote: true,
74
+ // progressCallback: params.progressCallback,
75
+ // progressTextCallback: params.progressTextCallback
76
+ // }
77
+ // );
78
+ // const sceneModel = this.gltfLoader.load({
79
+ // id: "myModel",
80
+ // gltf: gltf,
81
+ // metaModelJSON: metaData
82
+ // });
83
+ // return sceneModel;
84
+ // }
85
+ // }
86
+ // export { CxConverterIFCLoaderPlugin };
@@ -1 +1 @@
1
- export * from "./CxConverterIFCLoaderPlugin.js";
1
+ // export * from "./CxConverterIFCLoaderPlugin.js";
@@ -9,13 +9,13 @@
9
9
  */
10
10
 
11
11
  import {utils} from "../../../viewer/scene/utils.js";
12
- import * as p from "./lib/pako.js";
12
+ import pako from 'pako/dist/pako.esm.mjs';
13
13
  import {math} from "../../../viewer/scene/math/math.js";
14
14
 
15
- let pako = window.pako || p;
16
- if (!pako.inflate) { // See https://github.com/nodeca/pako/issues/97
17
- pako = pako.default;
18
- }
15
+ // let pako = window.pako || p;
16
+ // if (!pako.inflate) { // See https://github.com/nodeca/pako/issues/97
17
+ // pako = pako.default;
18
+ // }
19
19
 
20
20
  const decompressColor = (function () {
21
21
  const color2 = new Float32Array(3);
@@ -3,15 +3,15 @@
3
3
  */
4
4
 
5
5
  import {utils} from "../../../viewer/scene/utils.js";
6
- import * as p from "./lib/pako.js";
6
+ import pako from 'pako/dist/pako.esm.mjs';
7
7
  import {math} from "../../../viewer/scene/math/math.js";
8
8
  import {geometryCompressionUtils} from "../../../viewer/scene/math/geometryCompressionUtils.js";
9
9
  import {JPEGMediaType, PNGMediaType} from "../../../viewer/scene/constants/constants.js";
10
10
 
11
- let pako = window.pako || p;
12
- if (!pako.inflate) { // See https://github.com/nodeca/pako/issues/97
13
- pako = pako.default;
14
- }
11
+ // let pako = window.pako || p;
12
+ // if (!pako.inflate) { // See https://github.com/nodeca/pako/issues/97
13
+ // pako = pako.default;
14
+ // }
15
15
 
16
16
  const tempVec4a = math.vec4();
17
17
  const tempVec4b = math.vec4();
@@ -3,16 +3,16 @@
3
3
  */
4
4
 
5
5
  import {utils} from "../../../viewer/scene/utils.js";
6
- import * as p from "./lib/pako.js";
6
+ import pako from 'pako/dist/pako.esm.mjs';
7
7
  import {math} from "../../../viewer/scene/math/math.js";
8
8
  import {geometryCompressionUtils} from "../../../viewer/scene/math/geometryCompressionUtils.js";
9
9
  import {JPEGMediaType, PNGMediaType} from "../../../viewer/scene/constants/constants.js";
10
10
  import { buildVectorTextGeometry } from "../../../viewer/index.js";
11
11
 
12
- let pako = window.pako || p;
13
- if (!pako.inflate) { // See https://github.com/nodeca/pako/issues/97
14
- pako = pako.default;
15
- }
12
+ // let pako = window.pako || p;
13
+ // if (!pako.inflate) { // See https://github.com/nodeca/pako/issues/97
14
+ // pako = pako.default;
15
+ // }
16
16
 
17
17
  const tempVec4a = math.vec4();
18
18
  const tempVec4b = math.vec4();
@@ -526,11 +526,11 @@ function load(viewer, options, inflatedData, sceneModel, metaModel, manifestCtx)
526
526
  text: axisLabel,
527
527
  size: 2
528
528
  });
529
-
529
+
530
530
  geometryArrays.decompressedPositions = ifcLabel.positions;
531
531
  geometryArrays.geometryIndices = ifcLabel.indices;
532
532
  geometryArrays.geometryPositions = null;
533
-
533
+
534
534
  geometryValid = (geometryArrays.decompressedPositions.length > 0 && geometryArrays.geometryIndices.length > 0);
535
535
  break;
536
536
  default:
@@ -564,7 +564,7 @@ function load(viewer, options, inflatedData, sceneModel, metaModel, manifestCtx)
564
564
  }
565
565
  geometryArrays.geometryPositions = null;
566
566
  }
567
-
567
+
568
568
  geometryArraysCache[geometryId] = geometryArrays;
569
569
  }
570
570
  }
@@ -723,7 +723,7 @@ function load(viewer, options, inflatedData, sceneModel, metaModel, manifestCtx)
723
723
  text: axisLabel,
724
724
  size: 2
725
725
  });
726
-
726
+
727
727
  geometryPositions = ifcLabel.positions;
728
728
  geometryIndices = ifcLabel.indices;
729
729
 
@@ -9,13 +9,13 @@ DEPRECATED
9
9
  */
10
10
 
11
11
  import {utils} from "../../../viewer/scene/utils.js";
12
- import * as p from "./lib/pako.js";
12
+ import pako from 'pako/dist/pako.esm.mjs';
13
13
  import {math} from "../../../viewer/scene/math/math.js";
14
14
 
15
- let pako = window.pako || p;
16
- if (!pako.inflate) { // See https://github.com/nodeca/pako/issues/97
17
- pako = pako.default;
18
- }
15
+ // let pako = window.pako || p;
16
+ // if (!pako.inflate) { // See https://github.com/nodeca/pako/issues/97
17
+ // pako = pako.default;
18
+ // }
19
19
 
20
20
  function extract(elements) {
21
21
  return {
@@ -7,13 +7,13 @@ Parser for .XKT Format V3
7
7
  */
8
8
 
9
9
  import {utils} from "../../../viewer/scene/utils.js";
10
- import * as p from "./lib/pako.js";
10
+ import pako from 'pako/dist/pako.esm.mjs';
11
11
  import {math} from "../../../viewer/scene/math/math.js";
12
12
 
13
- let pako = window.pako || p;
14
- if (!pako.inflate) { // See https://github.com/nodeca/pako/issues/97
15
- pako = pako.default;
16
- }
13
+ // let pako = window.pako || p;
14
+ // if (!pako.inflate) { // See https://github.com/nodeca/pako/issues/97
15
+ // pako = pako.default;
16
+ // }
17
17
 
18
18
  function extract(elements) {
19
19
  return {
@@ -7,12 +7,12 @@ Parser for .XKT Format V4
7
7
  */
8
8
 
9
9
  import {utils} from "../../../viewer/scene/utils.js";
10
- import * as p from "./lib/pako.js";
10
+ import pako from 'pako/dist/pako.esm.mjs';
11
11
 
12
- let pako = window.pako || p;
13
- if (!pako.inflate) { // See https://github.com/nodeca/pako/issues/97
14
- pako = pako.default;
15
- }
12
+ // let pako = window.pako || p;
13
+ // if (!pako.inflate) { // See https://github.com/nodeca/pako/issues/97
14
+ // pako = pako.default;
15
+ // }
16
16
 
17
17
  function extract(elements) {
18
18
  return {
@@ -7,12 +7,12 @@
7
7
  */
8
8
 
9
9
  import {utils} from "../../../viewer/scene/utils.js";
10
- import * as p from "./lib/pako.js";
10
+ import pako from 'pako/dist/pako.esm.mjs';
11
11
 
12
- let pako = window.pako || p;
13
- if (!pako.inflate) { // See https://github.com/nodeca/pako/issues/97
14
- pako = pako.default;
15
- }
12
+ // let pako = window.pako || p;
13
+ // if (!pako.inflate) { // See https://github.com/nodeca/pako/issues/97
14
+ // pako = pako.default;
15
+ // }
16
16
 
17
17
  function extract(elements) {
18
18
  return {
@@ -5,14 +5,14 @@
5
5
  */
6
6
 
7
7
  import {utils} from "../../../viewer/scene/utils.js";
8
- import * as p from "./lib/pako.js";
8
+ import pako from 'pako/dist/pako.esm.mjs';
9
9
  import {math} from "../../../viewer/scene/math/math.js";
10
10
  import {geometryCompressionUtils} from "../../../viewer/scene/math/geometryCompressionUtils.js";
11
11
 
12
- let pako = window.pako || p;
13
- if (!pako.inflate) { // See https://github.com/nodeca/pako/issues/97
14
- pako = pako.default;
15
- }
12
+ // let pako = window.pako || p;
13
+ // if (!pako.inflate) { // See https://github.com/nodeca/pako/issues/97
14
+ // pako = pako.default;
15
+ // }
16
16
 
17
17
  function extract(elements) {
18
18
 
@@ -5,14 +5,14 @@
5
5
  */
6
6
 
7
7
  import {utils} from "../../../viewer/scene/utils.js";
8
- import * as p from "./lib/pako.js";
8
+ import pako from 'pako/dist/pako.esm.mjs';
9
9
  import {math} from "../../../viewer/scene/math/math.js";
10
10
  import {geometryCompressionUtils} from "../../../viewer/scene/math/geometryCompressionUtils.js";
11
11
 
12
- let pako = window.pako || p;
13
- if (!pako.inflate) { // See https://github.com/nodeca/pako/issues/97
14
- pako = pako.default;
15
- }
12
+ // let pako = window.pako || p;
13
+ // if (!pako.inflate) { // See https://github.com/nodeca/pako/issues/97
14
+ // pako = pako.default;
15
+ // }
16
16
 
17
17
  function extract(elements) {
18
18
 
@@ -5,14 +5,14 @@
5
5
  */
6
6
 
7
7
  import {utils} from "../../../viewer/scene/utils.js";
8
- import * as p from "./lib/pako.js";
8
+ import pako from 'pako/dist/pako.esm.mjs';
9
9
  import {math} from "../../../viewer/scene/math/math.js";
10
10
  import {geometryCompressionUtils} from "../../../viewer/scene/math/geometryCompressionUtils.js";
11
11
 
12
- let pako = window.pako || p;
13
- if (!pako.inflate) { // See https://github.com/nodeca/pako/issues/97
14
- pako = pako.default;
15
- }
12
+ // let pako = window.pako || p;
13
+ // if (!pako.inflate) { // See https://github.com/nodeca/pako/issues/97
14
+ // pako = pako.default;
15
+ // }
16
16
 
17
17
  const tempVec4a = math.vec4();
18
18
  const tempVec4b = math.vec4();
@@ -5,14 +5,14 @@
5
5
  */
6
6
 
7
7
  import {utils} from "../../../viewer/scene/utils.js";
8
- import * as p from "./lib/pako.js";
8
+ import pako from 'pako/dist/pako.esm.mjs';
9
9
  import {math} from "../../../viewer/scene/math/math.js";
10
10
  import {geometryCompressionUtils} from "../../../viewer/scene/math/geometryCompressionUtils.js";
11
11
 
12
- let pako = window.pako || p;
13
- if (!pako.inflate) { // See https://github.com/nodeca/pako/issues/97
14
- pako = pako.default;
15
- }
12
+ // let pako = window.pako || p;
13
+ // if (!pako.inflate) { // See https://github.com/nodeca/pako/issues/97
14
+ // pako = pako.default;
15
+ // }
16
16
 
17
17
  const tempVec4a = math.vec4();
18
18
  const tempVec4b = math.vec4();