Skip to content

Commit ec240b9

Browse files
chore: Release v2.6.111 dist files and docs
1 parent f70838c commit ec240b9

6 files changed

Lines changed: 117 additions & 90 deletions

File tree

dist/xeokit-sdk.cjs.js

Lines changed: 39 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
/**
2-
* xeokit-sdk v2.6.109
3-
* Commit: 3796b67f0bbcca7382160e5030522506fb49a54e
4-
* Built: 2026-05-08T06:25:43.604Z
2+
* xeokit-sdk v2.6.111
3+
* Commit: f70838c6581084cf8401daf800ff7c14582ec11a
4+
* Built: 2026-05-27T11:07:01.143Z
55
*/
66

77
if (typeof window !== 'undefined') {
8-
window.__XEOKIT__ = { version: '2.6.109', commit: '3796b67f0bbcca7382160e5030522506fb49a54e', built: '2026-05-08T06:25:43.604Z' };
8+
window.__XEOKIT__ = { version: '2.6.111', commit: 'f70838c6581084cf8401daf800ff7c14582ec11a', built: '2026-05-27T11:07:01.143Z' };
99
}
1010

1111
'use strict';
@@ -59077,26 +59077,18 @@ class CameraUpdater {
5907759077

5907859078
if (updates.rotateDeltaY !== 0 || updates.rotateDeltaX !== 0) {
5907959079

59080-
if ((!configs.firstPerson) && configs.followPointer && pivotController.getPivoting()) {
59081-
pivotController.continuePivot(updates.rotateDeltaY, updates.rotateDeltaX);
59082-
pivotController.showPivot();
59083-
59084-
} else {
59085-
59080+
if (configs.firstPerson) {
5908659081
if (updates.rotateDeltaX !== 0) {
59087-
if (configs.firstPerson) {
59088-
camera.pitch(-updates.rotateDeltaX);
59089-
} else {
59090-
camera.orbitPitch(updates.rotateDeltaX);
59091-
}
59082+
camera.pitch(-updates.rotateDeltaX);
5909259083
}
59093-
5909459084
if (updates.rotateDeltaY !== 0) {
59095-
if (configs.firstPerson) {
59096-
camera.yaw(updates.rotateDeltaY);
59097-
} else {
59098-
camera.orbitYaw(updates.rotateDeltaY);
59099-
}
59085+
camera.yaw(updates.rotateDeltaY);
59086+
}
59087+
}
59088+
else {
59089+
if (configs.followPointer && pivotController.getPivoting()){
59090+
pivotController.continuePivot(updates.rotateDeltaY, updates.rotateDeltaX);
59091+
pivotController.showPivot();
5910059092
}
5910159093
}
5910259094

@@ -127276,6 +127268,7 @@ class XKTLoaderPlugin extends Plugin {
127276127268
* @param {ArrayBuffer} [params.xkt] The *````.xkt````* file data, as an alternative to the ````src```` parameter.
127277127269
* @param {String} [params.metaModelSrc] Path or URL to an optional metadata file, as an alternative to the ````metaModelData```` parameter.
127278127270
* @param {*} [params.metaModelData] JSON model metadata, as an alternative to the ````metaModelSrc```` parameter.
127271+
* @param {Boolean} [params.loadIntoMetaScene=true] Whether to load metadata into MetaScene, otherwise expose as SceneModel::metadata.
127279127272
* @param {String} [params.manifestSrc] Path or URL to a JSON manifest file that provides paths to ````.xkt```` files to load as parts of the model. Use this option to load models that have been split into
127280127273
* multiple XKT files. See [tutorial](https://xeokit.io/blog/automatically-splitting-large-models-for-better-performance) for more info.
127281127274
* @param {Object} [params.manifest] A JSON manifest object (as an alternative to a path or URL) that provides paths to ````.xkt```` files to load as parts of the model. Use this option to load models that have been split into
@@ -127371,10 +127364,30 @@ class XKTLoaderPlugin extends Plugin {
127371127364

127372127365
const modelId = sceneModel.id; // In case ID was auto-generated
127373127366

127374-
const metaModel = new MetaModel({
127375-
metaScene: this.viewer.metaScene,
127376-
id: modelId
127377-
});
127367+
const loadIntoMetaScene = (! ("loadIntoMetaScene" in params)) || params.loadIntoMetaScene;
127368+
const metaModel = (loadIntoMetaScene
127369+
? new MetaModel({
127370+
id: modelId,
127371+
metaScene: this.viewer.metaScene
127372+
})
127373+
: (function() {
127374+
let firstMetadata = null;
127375+
let modelMetadata = null;
127376+
return {
127377+
loadData: metadata => {
127378+
if (! firstMetadata) {
127379+
firstMetadata = metadata;
127380+
} else {
127381+
if (! modelMetadata) {
127382+
modelMetadata = { };
127383+
Object.entries(firstMetadata).forEach(([ k, v ]) => modelMetadata[k] = Array.isArray(v) ? v.slice(0) : v);
127384+
}
127385+
Object.entries(metadata).forEach(([ k, v ]) => { if (Array.isArray(v)) { v.forEach(e => modelMetadata[k].push(e)); } });
127386+
}
127387+
},
127388+
finalize: () => sceneModel.metadata = modelMetadata || firstMetadata
127389+
};
127390+
})());
127378127391

127379127392
this.viewer.scene.canvas.spinner.processes++;
127380127393

@@ -127387,7 +127400,7 @@ class XKTLoaderPlugin extends Plugin {
127387127400
metaModel.finalize();
127388127401
this.viewer.scene.canvas.spinner.processes--;
127389127402
sceneModel.once("destroyed", () => {
127390-
this.viewer.metaScene.destroyMetaModel(metaModel.id);
127403+
loadIntoMetaScene && this.viewer.metaScene.destroyMetaModel(metaModel.id);
127391127404
});
127392127405
this.scheduleTask(() => {
127393127406
if (sceneModel.destroyed) {

dist/xeokit-sdk.es.js

Lines changed: 39 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
/**
2-
* xeokit-sdk v2.6.109
3-
* Commit: 3796b67f0bbcca7382160e5030522506fb49a54e
4-
* Built: 2026-05-08T06:25:43.604Z
2+
* xeokit-sdk v2.6.111
3+
* Commit: f70838c6581084cf8401daf800ff7c14582ec11a
4+
* Built: 2026-05-27T11:07:01.143Z
55
*/
66

77
if (typeof window !== 'undefined') {
8-
window.__XEOKIT__ = { version: '2.6.109', commit: '3796b67f0bbcca7382160e5030522506fb49a54e', built: '2026-05-08T06:25:43.604Z' };
8+
window.__XEOKIT__ = { version: '2.6.111', commit: 'f70838c6581084cf8401daf800ff7c14582ec11a', built: '2026-05-27T11:07:01.143Z' };
99
}
1010

1111
/** @private */
@@ -59073,26 +59073,18 @@ class CameraUpdater {
5907359073

5907459074
if (updates.rotateDeltaY !== 0 || updates.rotateDeltaX !== 0) {
5907559075

59076-
if ((!configs.firstPerson) && configs.followPointer && pivotController.getPivoting()) {
59077-
pivotController.continuePivot(updates.rotateDeltaY, updates.rotateDeltaX);
59078-
pivotController.showPivot();
59079-
59080-
} else {
59081-
59076+
if (configs.firstPerson) {
5908259077
if (updates.rotateDeltaX !== 0) {
59083-
if (configs.firstPerson) {
59084-
camera.pitch(-updates.rotateDeltaX);
59085-
} else {
59086-
camera.orbitPitch(updates.rotateDeltaX);
59087-
}
59078+
camera.pitch(-updates.rotateDeltaX);
5908859079
}
59089-
5909059080
if (updates.rotateDeltaY !== 0) {
59091-
if (configs.firstPerson) {
59092-
camera.yaw(updates.rotateDeltaY);
59093-
} else {
59094-
camera.orbitYaw(updates.rotateDeltaY);
59095-
}
59081+
camera.yaw(updates.rotateDeltaY);
59082+
}
59083+
}
59084+
else {
59085+
if (configs.followPointer && pivotController.getPivoting()){
59086+
pivotController.continuePivot(updates.rotateDeltaY, updates.rotateDeltaX);
59087+
pivotController.showPivot();
5909659088
}
5909759089
}
5909859090

@@ -127272,6 +127264,7 @@ class XKTLoaderPlugin extends Plugin {
127272127264
* @param {ArrayBuffer} [params.xkt] The *````.xkt````* file data, as an alternative to the ````src```` parameter.
127273127265
* @param {String} [params.metaModelSrc] Path or URL to an optional metadata file, as an alternative to the ````metaModelData```` parameter.
127274127266
* @param {*} [params.metaModelData] JSON model metadata, as an alternative to the ````metaModelSrc```` parameter.
127267+
* @param {Boolean} [params.loadIntoMetaScene=true] Whether to load metadata into MetaScene, otherwise expose as SceneModel::metadata.
127275127268
* @param {String} [params.manifestSrc] Path or URL to a JSON manifest file that provides paths to ````.xkt```` files to load as parts of the model. Use this option to load models that have been split into
127276127269
* multiple XKT files. See [tutorial](https://xeokit.io/blog/automatically-splitting-large-models-for-better-performance) for more info.
127277127270
* @param {Object} [params.manifest] A JSON manifest object (as an alternative to a path or URL) that provides paths to ````.xkt```` files to load as parts of the model. Use this option to load models that have been split into
@@ -127367,10 +127360,30 @@ class XKTLoaderPlugin extends Plugin {
127367127360

127368127361
const modelId = sceneModel.id; // In case ID was auto-generated
127369127362

127370-
const metaModel = new MetaModel({
127371-
metaScene: this.viewer.metaScene,
127372-
id: modelId
127373-
});
127363+
const loadIntoMetaScene = (! ("loadIntoMetaScene" in params)) || params.loadIntoMetaScene;
127364+
const metaModel = (loadIntoMetaScene
127365+
? new MetaModel({
127366+
id: modelId,
127367+
metaScene: this.viewer.metaScene
127368+
})
127369+
: (function() {
127370+
let firstMetadata = null;
127371+
let modelMetadata = null;
127372+
return {
127373+
loadData: metadata => {
127374+
if (! firstMetadata) {
127375+
firstMetadata = metadata;
127376+
} else {
127377+
if (! modelMetadata) {
127378+
modelMetadata = { };
127379+
Object.entries(firstMetadata).forEach(([ k, v ]) => modelMetadata[k] = Array.isArray(v) ? v.slice(0) : v);
127380+
}
127381+
Object.entries(metadata).forEach(([ k, v ]) => { if (Array.isArray(v)) { v.forEach(e => modelMetadata[k].push(e)); } });
127382+
}
127383+
},
127384+
finalize: () => sceneModel.metadata = modelMetadata || firstMetadata
127385+
};
127386+
})());
127374127387

127375127388
this.viewer.scene.canvas.spinner.processes++;
127376127389

@@ -127383,7 +127396,7 @@ class XKTLoaderPlugin extends Plugin {
127383127396
metaModel.finalize();
127384127397
this.viewer.scene.canvas.spinner.processes--;
127385127398
sceneModel.once("destroyed", () => {
127386-
this.viewer.metaScene.destroyMetaModel(metaModel.id);
127399+
loadIntoMetaScene && this.viewer.metaScene.destroyMetaModel(metaModel.id);
127387127400
});
127388127401
this.scheduleTask(() => {
127389127402
if (sceneModel.destroyed) {

0 commit comments

Comments
 (0)