@onerjs/core 8.54.1 → 8.54.2
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/Collisions/gpuPicker.js +7 -6
- package/Collisions/gpuPicker.js.map +1 -1
- package/Engines/Extensions/engine.texture2DArrayImageSource.d.ts +6 -0
- package/Engines/Extensions/engine.texture2DArrayImageSource.js +9 -0
- package/Engines/Extensions/engine.texture2DArrayImageSource.js.map +1 -0
- package/Engines/Extensions/engine.texture2DArrayImageSource.pure.d.ts +7 -0
- package/Engines/Extensions/engine.texture2DArrayImageSource.pure.js +40 -0
- package/Engines/Extensions/engine.texture2DArrayImageSource.pure.js.map +1 -0
- package/Engines/Extensions/engine.texture2DArrayImageSource.types.d.ts +21 -0
- package/Engines/Extensions/engine.texture2DArrayImageSource.types.js +2 -0
- package/Engines/Extensions/engine.texture2DArrayImageSource.types.js.map +1 -0
- package/Engines/Extensions/pure.d.ts +1 -0
- package/Engines/Extensions/pure.js +1 -0
- package/Engines/Extensions/pure.js.map +1 -1
- package/Engines/WebGPU/Extensions/engine.texture2DArrayImageSource.d.ts +6 -0
- package/Engines/WebGPU/Extensions/engine.texture2DArrayImageSource.js +9 -0
- package/Engines/WebGPU/Extensions/engine.texture2DArrayImageSource.js.map +1 -0
- package/Engines/WebGPU/Extensions/engine.texture2DArrayImageSource.pure.d.ts +7 -0
- package/Engines/WebGPU/Extensions/engine.texture2DArrayImageSource.pure.js +23 -0
- package/Engines/WebGPU/Extensions/engine.texture2DArrayImageSource.pure.js.map +1 -0
- package/Engines/WebGPU/Extensions/pure.d.ts +1 -0
- package/Engines/WebGPU/Extensions/pure.js +1 -0
- package/Engines/WebGPU/Extensions/pure.js.map +1 -1
- package/Engines/engine.d.ts +30 -0
- package/Engines/thinNativeEngine.pure.js +4 -4
- package/Engines/thinNativeEngine.pure.js.map +1 -1
- package/Lights/Clustered/clusteredLightContainer.pure.js +6 -0
- package/Lights/Clustered/clusteredLightContainer.pure.js.map +1 -1
- package/Loading/Plugins/babylonFileLoader.d.ts +10 -0
- package/Loading/Plugins/babylonFileLoader.js +18 -0
- package/Loading/Plugins/babylonFileLoader.js.map +1 -1
- package/Loading/Plugins/babylonFileLoader.pure.js +10 -2
- package/Loading/Plugins/babylonFileLoader.pure.js.map +1 -1
- package/Materials/Node/Blocks/GaussianSplatting/gaussianSplattingBlock.pure.js +2 -1
- package/Materials/Node/Blocks/GaussianSplatting/gaussianSplattingBlock.pure.js.map +1 -1
- package/Materials/Node/nodeMaterial.pure.d.ts +13 -5
- package/Materials/Node/nodeMaterial.pure.js +20 -2
- package/Materials/Node/nodeMaterial.pure.js.map +1 -1
- package/Materials/Textures/index.d.ts +1 -0
- package/Materials/Textures/index.js +1 -0
- package/Materials/Textures/index.js.map +1 -1
- package/Materials/Textures/pure.d.ts +1 -0
- package/Materials/Textures/pure.js +1 -0
- package/Materials/Textures/pure.js.map +1 -1
- package/Materials/Textures/rawTexture2DArray.functions.d.ts +66 -0
- package/Materials/Textures/rawTexture2DArray.functions.js +130 -0
- package/Materials/Textures/rawTexture2DArray.functions.js.map +1 -0
- package/Materials/Textures/renderTargetTexture.pure.js +7 -0
- package/Materials/Textures/renderTargetTexture.pure.js.map +1 -1
- package/Meshes/GaussianSplatting/gaussianSplattingMesh.pure.d.ts +13 -0
- package/Meshes/GaussianSplatting/gaussianSplattingMesh.pure.js +15 -0
- package/Meshes/GaussianSplatting/gaussianSplattingMesh.pure.js.map +1 -1
- package/Misc/snapshotRenderingHelper.js +2 -1
- package/Misc/snapshotRenderingHelper.js.map +1 -1
- package/Physics/v2/Plugins/havokPlugin.js +15 -0
- package/Physics/v2/Plugins/havokPlugin.js.map +1 -1
- package/Physics/v2/characterController.d.ts +17 -0
- package/Physics/v2/characterController.js +40 -0
- package/Physics/v2/characterController.js.map +1 -1
- package/Rendering/IBLShadows/iblShadowsAccumulationPass.d.ts +3 -1
- package/Rendering/IBLShadows/iblShadowsAccumulationPass.js +25 -4
- package/Rendering/IBLShadows/iblShadowsAccumulationPass.js.map +1 -1
- package/Rendering/IBLShadows/iblShadowsRenderPipeline.pure.js +6 -5
- package/Rendering/IBLShadows/iblShadowsRenderPipeline.pure.js.map +1 -1
- package/Rendering/IBLShadows/iblShadowsSpatialBlurPass.d.ts +3 -1
- package/Rendering/IBLShadows/iblShadowsSpatialBlurPass.js +16 -4
- package/Rendering/IBLShadows/iblShadowsSpatialBlurPass.js.map +1 -1
- package/Rendering/IBLShadows/iblShadowsVoxelRenderer.pure.js +6 -5
- package/Rendering/IBLShadows/iblShadowsVoxelRenderer.pure.js.map +1 -1
- package/Rendering/IBLShadows/iblShadowsVoxelTracingPass.d.ts +3 -1
- package/Rendering/IBLShadows/iblShadowsVoxelTracingPass.js +16 -4
- package/Rendering/IBLShadows/iblShadowsVoxelTracingPass.js.map +1 -1
- package/Rendering/depthRenderer.d.ts +2 -0
- package/Rendering/depthRenderer.js +2 -0
- package/Rendering/depthRenderer.js.map +1 -1
- package/Rendering/depthRenderer.pure.js +3 -2
- package/Rendering/depthRenderer.pure.js.map +1 -1
- package/Rendering/fluidRenderer/fluidRenderer.pure.js +6 -0
- package/Rendering/fluidRenderer/fluidRenderer.pure.js.map +1 -1
- package/Rendering/geometryBufferRenderer.pure.js +5 -5
- package/Rendering/geometryBufferRenderer.pure.js.map +1 -1
- package/XR/features/WebXRBodyTracking.pure.d.ts +0 -28
- package/XR/features/WebXRBodyTracking.pure.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export * from "./engine.texture2DArrayImageSource.types.js";
|
|
2
|
+
/**
|
|
3
|
+
* Re-exports pure implementation and applies runtime side effects.
|
|
4
|
+
* Import engine.texture2DArrayImageSource.pure for tree-shakeable, side-effect-free usage.
|
|
5
|
+
*/
|
|
6
|
+
export * from "./engine.texture2DArrayImageSource.pure.js";
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export * from "./engine.texture2DArrayImageSource.types.js";
|
|
2
|
+
/**
|
|
3
|
+
* Re-exports pure implementation and applies runtime side effects.
|
|
4
|
+
* Import engine.texture2DArrayImageSource.pure for tree-shakeable, side-effect-free usage.
|
|
5
|
+
*/
|
|
6
|
+
export * from "./engine.texture2DArrayImageSource.pure.js";
|
|
7
|
+
import { RegisterEnginesExtensionsEngineTexture2DArrayImageSource } from "./engine.texture2DArrayImageSource.pure.js";
|
|
8
|
+
RegisterEnginesExtensionsEngineTexture2DArrayImageSource();
|
|
9
|
+
//# sourceMappingURL=engine.texture2DArrayImageSource.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"engine.texture2DArrayImageSource.js","sourceRoot":"","sources":["../../../../../dev/core/src/Engines/Extensions/engine.texture2DArrayImageSource.ts"],"names":[],"mappings":"AAAA,cAAc,0CAA0C,CAAC;AACzD;;;GAGG;AACH,cAAc,yCAAyC,CAAC;AAExD,OAAO,EAAE,wDAAwD,EAAE,MAAM,yCAAyC,CAAC;AACnH,wDAAwD,EAAE,CAAC","sourcesContent":["export * from \"./engine.texture2DArrayImageSource.types\";\r\n/**\r\n * Re-exports pure implementation and applies runtime side effects.\r\n * Import engine.texture2DArrayImageSource.pure for tree-shakeable, side-effect-free usage.\r\n */\r\nexport * from \"./engine.texture2DArrayImageSource.pure\";\r\n\r\nimport { RegisterEnginesExtensionsEngineTexture2DArrayImageSource } from \"./engine.texture2DArrayImageSource.pure\";\r\nRegisterEnginesExtensionsEngineTexture2DArrayImageSource();\r\n"]}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/** This file must only contain pure code and pure imports */
|
|
2
|
+
/**
|
|
3
|
+
* Register side effects for enginesExtensionsEngineTexture2DArrayImageSource.
|
|
4
|
+
* Adds AbstractEngine.updateTextureArrayLayerFromImageSource on the WebGL2 engine.
|
|
5
|
+
* Safe to call multiple times; only the first call has an effect.
|
|
6
|
+
*/
|
|
7
|
+
export declare function RegisterEnginesExtensionsEngineTexture2DArrayImageSource(): void;
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/** This file must only contain pure code and pure imports */
|
|
2
|
+
import { Logger } from "../../Misc/logger.js";
|
|
3
|
+
import { ThinEngine } from "../thinEngine.pure.js";
|
|
4
|
+
let _Registered = false;
|
|
5
|
+
/**
|
|
6
|
+
* Register side effects for enginesExtensionsEngineTexture2DArrayImageSource.
|
|
7
|
+
* Adds AbstractEngine.updateTextureArrayLayerFromImageSource on the WebGL2 engine.
|
|
8
|
+
* Safe to call multiple times; only the first call has an effect.
|
|
9
|
+
*/
|
|
10
|
+
export function RegisterEnginesExtensionsEngineTexture2DArrayImageSource() {
|
|
11
|
+
if (_Registered) {
|
|
12
|
+
return;
|
|
13
|
+
}
|
|
14
|
+
_Registered = true;
|
|
15
|
+
ThinEngine.prototype.updateTextureArrayLayerFromImageSource = function (texture, source, layer, invertY = false, premultiplyAlpha = false) {
|
|
16
|
+
if (this.webGLVersion < 2) {
|
|
17
|
+
Logger.Error("updateTextureArrayLayerFromImageSource is only supported in WebGL2.");
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
20
|
+
const gl = this._gl;
|
|
21
|
+
const target = gl.TEXTURE_2D_ARRAY;
|
|
22
|
+
const textureType = this._getWebGLTextureType(texture.type);
|
|
23
|
+
const glFormat = this._getInternalFormat(texture.format);
|
|
24
|
+
this._bindTextureDirectly(target, texture, true);
|
|
25
|
+
this._unpackFlipY(invertY);
|
|
26
|
+
if (premultiplyAlpha) {
|
|
27
|
+
gl.pixelStorei(gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL, 1);
|
|
28
|
+
}
|
|
29
|
+
gl.texSubImage3D(target, 0, 0, 0, layer, texture.width, texture.height, 1, glFormat, textureType, source);
|
|
30
|
+
if (texture.generateMipMaps) {
|
|
31
|
+
gl.generateMipmap(target);
|
|
32
|
+
}
|
|
33
|
+
if (premultiplyAlpha) {
|
|
34
|
+
gl.pixelStorei(gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL, 0);
|
|
35
|
+
}
|
|
36
|
+
this._bindTextureDirectly(target, null);
|
|
37
|
+
texture.isReady = true;
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=engine.texture2DArrayImageSource.pure.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"engine.texture2DArrayImageSource.pure.js","sourceRoot":"","sources":["../../../../../dev/core/src/Engines/Extensions/engine.texture2DArrayImageSource.pure.ts"],"names":[],"mappings":"AAAA,6DAA6D;AAI7D,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEhD,IAAI,WAAW,GAAG,KAAK,CAAC;AACxB;;;;GAIG;AACH,MAAM,UAAU,wDAAwD;IACpE,IAAI,WAAW,EAAE,CAAC;QACd,OAAO;IACX,CAAC;IACD,WAAW,GAAG,IAAI,CAAC;IAEnB,UAAU,CAAC,SAAS,CAAC,sCAAsC,GAAG,UAE1D,OAAwB,EACxB,MAAmB,EACnB,KAAa,EACb,UAAmB,KAAK,EACxB,mBAA4B,KAAK;QAEjC,IAAI,IAAI,CAAC,YAAY,GAAG,CAAC,EAAE,CAAC;YACxB,MAAM,CAAC,KAAK,CAAC,qEAAqE,CAAC,CAAC;YACpF,OAAO;QACX,CAAC;QAED,MAAM,EAAE,GAAG,IAAI,CAAC,GAA6B,CAAC;QAC9C,MAAM,MAAM,GAAG,EAAE,CAAC,gBAAgB,CAAC;QAEnC,MAAM,WAAW,GAAG,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC5D,MAAM,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAEzD,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;QACjD,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QAE3B,IAAI,gBAAgB,EAAE,CAAC;YACnB,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,8BAA8B,EAAE,CAAC,CAAC,CAAC;QACzD,CAAC;QAED,EAAE,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAwB,CAAC,CAAC;QAE5H,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;YAC1B,EAAE,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QAC9B,CAAC;QAED,IAAI,gBAAgB,EAAE,CAAC;YACnB,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,8BAA8B,EAAE,CAAC,CAAC,CAAC;QACzD,CAAC;QAED,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAExC,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IAC3B,CAAC,CAAC;AACN,CAAC","sourcesContent":["/** This file must only contain pure code and pure imports */\r\n\r\nimport { type ImageSource } from \"../../types\";\r\nimport { type InternalTexture } from \"../../Materials/Textures/internalTexture\";\r\nimport { Logger } from \"../../Misc/logger\";\r\nimport { ThinEngine } from \"../thinEngine.pure\";\r\n\r\nlet _Registered = false;\r\n/**\r\n * Register side effects for enginesExtensionsEngineTexture2DArrayImageSource.\r\n * Adds AbstractEngine.updateTextureArrayLayerFromImageSource on the WebGL2 engine.\r\n * Safe to call multiple times; only the first call has an effect.\r\n */\r\nexport function RegisterEnginesExtensionsEngineTexture2DArrayImageSource(): void {\r\n if (_Registered) {\r\n return;\r\n }\r\n _Registered = true;\r\n\r\n ThinEngine.prototype.updateTextureArrayLayerFromImageSource = function (\r\n this: ThinEngine,\r\n texture: InternalTexture,\r\n source: ImageSource,\r\n layer: number,\r\n invertY: boolean = false,\r\n premultiplyAlpha: boolean = false\r\n ): void {\r\n if (this.webGLVersion < 2) {\r\n Logger.Error(\"updateTextureArrayLayerFromImageSource is only supported in WebGL2.\");\r\n return;\r\n }\r\n\r\n const gl = this._gl as WebGL2RenderingContext;\r\n const target = gl.TEXTURE_2D_ARRAY;\r\n\r\n const textureType = this._getWebGLTextureType(texture.type);\r\n const glFormat = this._getInternalFormat(texture.format);\r\n\r\n this._bindTextureDirectly(target, texture, true);\r\n this._unpackFlipY(invertY);\r\n\r\n if (premultiplyAlpha) {\r\n gl.pixelStorei(gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL, 1);\r\n }\r\n\r\n gl.texSubImage3D(target, 0, 0, 0, layer, texture.width, texture.height, 1, glFormat, textureType, source as TexImageSource);\r\n\r\n if (texture.generateMipMaps) {\r\n gl.generateMipmap(target);\r\n }\r\n\r\n if (premultiplyAlpha) {\r\n gl.pixelStorei(gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL, 0);\r\n }\r\n\r\n this._bindTextureDirectly(target, null);\r\n\r\n texture.isReady = true;\r\n };\r\n}\r\n"]}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { type ImageSource } from "../../types.js";
|
|
2
|
+
import { type InternalTexture } from "../../Materials/Textures/internalTexture.js";
|
|
3
|
+
declare module "../abstractEngine.pure.js" {
|
|
4
|
+
/**
|
|
5
|
+
* Engine methods that upload decoded image sources into 2D array texture layers.
|
|
6
|
+
*/
|
|
7
|
+
interface AbstractEngine {
|
|
8
|
+
/**
|
|
9
|
+
* Uploads an image source (ImageBitmap, canvas, video, image element...) into a single layer of a 2D array texture.
|
|
10
|
+
* Unlike updateRawTexture2DArray, which uploads raw bytes, this uploads a decoded image source directly.
|
|
11
|
+
* This is a side-effect engine extension: import "core/Engines/Extensions/engine.texture2DArrayImageSource"
|
|
12
|
+
* (or the WebGPU counterpart) to make it available on the tree-shakeable engine path.
|
|
13
|
+
* @param texture defines the 2D array texture to update
|
|
14
|
+
* @param source defines the image source to upload
|
|
15
|
+
* @param layer defines the array layer (z index) to upload into
|
|
16
|
+
* @param invertY defines if the source must be stored with the Y axis inverted (false by default)
|
|
17
|
+
* @param premultiplyAlpha defines if the source alpha must be premultiplied (false by default)
|
|
18
|
+
*/
|
|
19
|
+
updateTextureArrayLayerFromImageSource(texture: InternalTexture, source: ImageSource, layer: number, invertY?: boolean, premultiplyAlpha?: boolean): void;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"engine.texture2DArrayImageSource.types.js","sourceRoot":"","sources":["../../../../../dev/core/src/Engines/Extensions/engine.texture2DArrayImageSource.types.ts"],"names":[],"mappings":"","sourcesContent":["import { type ImageSource } from \"../../types\";\r\nimport { type InternalTexture } from \"../../Materials/Textures/internalTexture\";\r\n\r\ndeclare module \"../abstractEngine.pure\" {\r\n /**\r\n * Engine methods that upload decoded image sources into 2D array texture layers.\r\n */\r\n // eslint-disable-next-line @typescript-eslint/naming-convention\r\n export interface AbstractEngine {\r\n /**\r\n * Uploads an image source (ImageBitmap, canvas, video, image element...) into a single layer of a 2D array texture.\r\n * Unlike updateRawTexture2DArray, which uploads raw bytes, this uploads a decoded image source directly.\r\n * This is a side-effect engine extension: import \"core/Engines/Extensions/engine.texture2DArrayImageSource\"\r\n * (or the WebGPU counterpart) to make it available on the tree-shakeable engine path.\r\n * @param texture defines the 2D array texture to update\r\n * @param source defines the image source to upload\r\n * @param layer defines the array layer (z index) to upload into\r\n * @param invertY defines if the source must be stored with the Y axis inverted (false by default)\r\n * @param premultiplyAlpha defines if the source alpha must be premultiplied (false by default)\r\n */\r\n updateTextureArrayLayerFromImageSource(texture: InternalTexture, source: ImageSource, layer: number, invertY?: boolean, premultiplyAlpha?: boolean): void;\r\n }\r\n}\r\n"]}
|
|
@@ -19,4 +19,5 @@ export * from "./engine.dynamicBuffer.pure.js";
|
|
|
19
19
|
export * from "./engine.readTexture.pure.js";
|
|
20
20
|
export * from "./engine.computeShader.pure.js";
|
|
21
21
|
export * from "./engine.textureSelector.pure.js";
|
|
22
|
+
export * from "./engine.texture2DArrayImageSource.pure.js";
|
|
22
23
|
//# sourceMappingURL=pure.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pure.js","sourceRoot":"","sources":["../../../../../dev/core/src/Engines/Extensions/pure.ts"],"names":[],"mappings":"AAAA,6DAA6D;AAC7D,kCAAkC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAC;AACxC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iCAAiC,CAAC;AAChD,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,sCAAsC,CAAC;AACrD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,mCAAmC,CAAC;AAClD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,+BAA+B,CAAC","sourcesContent":["/** Pure barrel — re-exports only side-effect-free modules */\n/* eslint-disable import/export */\nexport * from \"./engine.alpha.pure\";\nexport * from \"./engine.debugging.pure\";\nexport * from \"./engine.query.pure\";\nexport * from \"./engine.transformFeedback.pure\";\nexport * from \"./engine.multiview.pure\";\nexport * from \"./engine.rawTexture.pure\";\nexport * from \"./engine.dynamicTexture.pure\";\nexport * from \"./engine.videoTexture.pure\";\nexport * from \"./engine.multiRender.pure\";\nexport * from \"./engine.cubeTexture.pure\";\nexport * from \"./engine.prefilteredCubeTexture.pure\";\nexport * from \"./engine.renderTarget.pure\";\nexport * from \"./engine.renderTargetCube.pure\";\nexport * from \"./engine.renderTargetTexture.pure\";\nexport * from \"./engine.uniformBuffer.pure\";\nexport * from \"./engine.dynamicBuffer.pure\";\nexport * from \"./engine.readTexture.pure\";\nexport * from \"./engine.computeShader.pure\";\nexport * from \"./engine.textureSelector.pure\";\n"]}
|
|
1
|
+
{"version":3,"file":"pure.js","sourceRoot":"","sources":["../../../../../dev/core/src/Engines/Extensions/pure.ts"],"names":[],"mappings":"AAAA,6DAA6D;AAC7D,kCAAkC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAC;AACxC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iCAAiC,CAAC;AAChD,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,sCAAsC,CAAC;AACrD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,mCAAmC,CAAC;AAClD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,yCAAyC,CAAC","sourcesContent":["/** Pure barrel — re-exports only side-effect-free modules */\n/* eslint-disable import/export */\nexport * from \"./engine.alpha.pure\";\nexport * from \"./engine.debugging.pure\";\nexport * from \"./engine.query.pure\";\nexport * from \"./engine.transformFeedback.pure\";\nexport * from \"./engine.multiview.pure\";\nexport * from \"./engine.rawTexture.pure\";\nexport * from \"./engine.dynamicTexture.pure\";\nexport * from \"./engine.videoTexture.pure\";\nexport * from \"./engine.multiRender.pure\";\nexport * from \"./engine.cubeTexture.pure\";\nexport * from \"./engine.prefilteredCubeTexture.pure\";\nexport * from \"./engine.renderTarget.pure\";\nexport * from \"./engine.renderTargetCube.pure\";\nexport * from \"./engine.renderTargetTexture.pure\";\nexport * from \"./engine.uniformBuffer.pure\";\nexport * from \"./engine.dynamicBuffer.pure\";\nexport * from \"./engine.readTexture.pure\";\nexport * from \"./engine.computeShader.pure\";\nexport * from \"./engine.textureSelector.pure\";\nexport * from \"./engine.texture2DArrayImageSource.pure\";\n"]}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Re-exports pure implementation and applies runtime side effects.
|
|
3
|
+
* Import engine.texture2DArrayImageSource.pure for tree-shakeable, side-effect-free usage.
|
|
4
|
+
*/
|
|
5
|
+
export * from "../../Extensions/engine.texture2DArrayImageSource.types.js";
|
|
6
|
+
export * from "./engine.texture2DArrayImageSource.pure.js";
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Re-exports pure implementation and applies runtime side effects.
|
|
3
|
+
* Import engine.texture2DArrayImageSource.pure for tree-shakeable, side-effect-free usage.
|
|
4
|
+
*/
|
|
5
|
+
export * from "../../Extensions/engine.texture2DArrayImageSource.types.js";
|
|
6
|
+
export * from "./engine.texture2DArrayImageSource.pure.js";
|
|
7
|
+
import { RegisterEnginesWebGPUExtensionsEngineTexture2DArrayImageSource } from "./engine.texture2DArrayImageSource.pure.js";
|
|
8
|
+
RegisterEnginesWebGPUExtensionsEngineTexture2DArrayImageSource();
|
|
9
|
+
//# sourceMappingURL=engine.texture2DArrayImageSource.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"engine.texture2DArrayImageSource.js","sourceRoot":"","sources":["../../../../../../dev/core/src/Engines/WebGPU/Extensions/engine.texture2DArrayImageSource.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,cAAc,yDAAyD,CAAC;AACxE,cAAc,yCAAyC,CAAC;AAExD,OAAO,EAAE,8DAA8D,EAAE,MAAM,yCAAyC,CAAC;AACzH,8DAA8D,EAAE,CAAC","sourcesContent":["/**\r\n * Re-exports pure implementation and applies runtime side effects.\r\n * Import engine.texture2DArrayImageSource.pure for tree-shakeable, side-effect-free usage.\r\n */\r\nexport * from \"../../Extensions/engine.texture2DArrayImageSource.types\";\r\nexport * from \"./engine.texture2DArrayImageSource.pure\";\r\n\r\nimport { RegisterEnginesWebGPUExtensionsEngineTexture2DArrayImageSource } from \"./engine.texture2DArrayImageSource.pure\";\r\nRegisterEnginesWebGPUExtensionsEngineTexture2DArrayImageSource();\r\n"]}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/** This file must only contain pure code and pure imports */
|
|
2
|
+
/**
|
|
3
|
+
* Register side effects for enginesWebGPUExtensionsEngineTexture2DArrayImageSource.
|
|
4
|
+
* Adds AbstractEngine.updateTextureArrayLayerFromImageSource on the WebGPU engine.
|
|
5
|
+
* Safe to call multiple times; only the first call has an effect.
|
|
6
|
+
*/
|
|
7
|
+
export declare function RegisterEnginesWebGPUExtensionsEngineTexture2DArrayImageSource(): void;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/** This file must only contain pure code and pure imports */
|
|
2
|
+
import { ThinWebGPUEngine } from "../../thinWebGPUEngine.js";
|
|
3
|
+
let _Registered = false;
|
|
4
|
+
/**
|
|
5
|
+
* Register side effects for enginesWebGPUExtensionsEngineTexture2DArrayImageSource.
|
|
6
|
+
* Adds AbstractEngine.updateTextureArrayLayerFromImageSource on the WebGPU engine.
|
|
7
|
+
* Safe to call multiple times; only the first call has an effect.
|
|
8
|
+
*/
|
|
9
|
+
export function RegisterEnginesWebGPUExtensionsEngineTexture2DArrayImageSource() {
|
|
10
|
+
if (_Registered) {
|
|
11
|
+
return;
|
|
12
|
+
}
|
|
13
|
+
_Registered = true;
|
|
14
|
+
ThinWebGPUEngine.prototype.updateTextureArrayLayerFromImageSource = function (texture, source, layer, invertY = false, premultiplyAlpha = false) {
|
|
15
|
+
const gpuTextureWrapper = texture._hardwareTexture;
|
|
16
|
+
this._textureHelper.updateTexture(source, texture, texture.width, texture.height, 1, gpuTextureWrapper.format, layer, 0, invertY, premultiplyAlpha, 0, 0);
|
|
17
|
+
if (texture.generateMipMaps) {
|
|
18
|
+
this._generateMipmaps(texture, this._uploadEncoder);
|
|
19
|
+
}
|
|
20
|
+
texture.isReady = true;
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=engine.texture2DArrayImageSource.pure.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"engine.texture2DArrayImageSource.pure.js","sourceRoot":"","sources":["../../../../../../dev/core/src/Engines/WebGPU/Extensions/engine.texture2DArrayImageSource.pure.ts"],"names":[],"mappings":"AAAA,6DAA6D;AAK7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAEjE,IAAI,WAAW,GAAG,KAAK,CAAC;AACxB;;;;GAIG;AACH,MAAM,UAAU,8DAA8D;IAC1E,IAAI,WAAW,EAAE,CAAC;QACd,OAAO;IACX,CAAC;IACD,WAAW,GAAG,IAAI,CAAC;IAEnB,gBAAgB,CAAC,SAAS,CAAC,sCAAsC,GAAG,UAEhE,OAAwB,EACxB,MAAmB,EACnB,KAAa,EACb,UAAmB,KAAK,EACxB,mBAA4B,KAAK;QAEjC,MAAM,iBAAiB,GAAG,OAAO,CAAC,gBAAyC,CAAC;QAE5E,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,iBAAiB,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAE1J,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;YAC1B,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;QACxD,CAAC;QAED,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IAC3B,CAAC,CAAC;AACN,CAAC","sourcesContent":["/** This file must only contain pure code and pure imports */\r\n\r\nimport { type ImageSource } from \"../../../types\";\r\nimport { type InternalTexture } from \"../../../Materials/Textures/internalTexture\";\r\nimport { type WebGPUHardwareTexture } from \"../webgpuHardwareTexture\";\r\nimport { ThinWebGPUEngine } from \"core/Engines/thinWebGPUEngine\";\r\n\r\nlet _Registered = false;\r\n/**\r\n * Register side effects for enginesWebGPUExtensionsEngineTexture2DArrayImageSource.\r\n * Adds AbstractEngine.updateTextureArrayLayerFromImageSource on the WebGPU engine.\r\n * Safe to call multiple times; only the first call has an effect.\r\n */\r\nexport function RegisterEnginesWebGPUExtensionsEngineTexture2DArrayImageSource(): void {\r\n if (_Registered) {\r\n return;\r\n }\r\n _Registered = true;\r\n\r\n ThinWebGPUEngine.prototype.updateTextureArrayLayerFromImageSource = function (\r\n this: ThinWebGPUEngine,\r\n texture: InternalTexture,\r\n source: ImageSource,\r\n layer: number,\r\n invertY: boolean = false,\r\n premultiplyAlpha: boolean = false\r\n ): void {\r\n const gpuTextureWrapper = texture._hardwareTexture as WebGPUHardwareTexture;\r\n\r\n this._textureHelper.updateTexture(source, texture, texture.width, texture.height, 1, gpuTextureWrapper.format, layer, 0, invertY, premultiplyAlpha, 0, 0);\r\n\r\n if (texture.generateMipMaps) {\r\n this._generateMipmaps(texture, this._uploadEncoder);\r\n }\r\n\r\n texture.isReady = true;\r\n };\r\n}\r\n"]}
|
|
@@ -12,4 +12,5 @@ export * from "./engine.renderTarget.pure.js";
|
|
|
12
12
|
export * from "./engine.renderTargetCube.pure.js";
|
|
13
13
|
export * from "./engine.renderTargetTexture.pure.js";
|
|
14
14
|
export * from "./engine.videoTexture.pure.js";
|
|
15
|
+
export * from "./engine.texture2DArrayImageSource.pure.js";
|
|
15
16
|
//# sourceMappingURL=pure.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pure.js","sourceRoot":"","sources":["../../../../../../dev/core/src/Engines/WebGPU/Extensions/pure.ts"],"names":[],"mappings":"AAAA,6DAA6D;AAC7D,cAAc,qBAAqB,CAAC;AACpC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,qBAAqB,CAAC;AACpC,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,mCAAmC,CAAC;AAClD,cAAc,4BAA4B,CAAC","sourcesContent":["/** Pure barrel — re-exports only side-effect-free modules */\nexport * from \"./engine.alpha.pure\";\nexport * from \"./engine.computeShader.pure\";\nexport * from \"./engine.cubeTexture.pure\";\nexport * from \"./engine.debugging.pure\";\nexport * from \"./engine.dynamicTexture.pure\";\nexport * from \"./engine.multiRender.pure\";\nexport * from \"./engine.query.pure\";\nexport * from \"./engine.rawTexture.pure\";\nexport * from \"./engine.readTexture.pure\";\nexport * from \"./engine.renderTarget.pure\";\nexport * from \"./engine.renderTargetCube.pure\";\nexport * from \"./engine.renderTargetTexture.pure\";\nexport * from \"./engine.videoTexture.pure\";\n"]}
|
|
1
|
+
{"version":3,"file":"pure.js","sourceRoot":"","sources":["../../../../../../dev/core/src/Engines/WebGPU/Extensions/pure.ts"],"names":[],"mappings":"AAAA,6DAA6D;AAC7D,cAAc,qBAAqB,CAAC;AACpC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,qBAAqB,CAAC;AACpC,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,mCAAmC,CAAC;AAClD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,yCAAyC,CAAC","sourcesContent":["/** Pure barrel — re-exports only side-effect-free modules */\nexport * from \"./engine.alpha.pure\";\nexport * from \"./engine.computeShader.pure\";\nexport * from \"./engine.cubeTexture.pure\";\nexport * from \"./engine.debugging.pure\";\nexport * from \"./engine.dynamicTexture.pure\";\nexport * from \"./engine.multiRender.pure\";\nexport * from \"./engine.query.pure\";\nexport * from \"./engine.rawTexture.pure\";\nexport * from \"./engine.readTexture.pure\";\nexport * from \"./engine.renderTarget.pure\";\nexport * from \"./engine.renderTargetCube.pure\";\nexport * from \"./engine.renderTargetTexture.pure\";\nexport * from \"./engine.videoTexture.pure\";\nexport * from \"./engine.texture2DArrayImageSource.pure\";\n"]}
|
package/Engines/engine.d.ts
CHANGED
|
@@ -505,10 +505,40 @@ interface XRFrame {
|
|
|
505
505
|
* @param referenceSpace
|
|
506
506
|
*/
|
|
507
507
|
getViewerPose(referenceSpace: XRReferenceSpace): XRViewerPose | undefined;
|
|
508
|
+
|
|
509
|
+
/**
|
|
510
|
+
* The tracked body for this frame, when the body tracking feature is enabled.
|
|
511
|
+
* ref: https://immersive-web.github.io/body-tracking/#xrframe-interface
|
|
512
|
+
*/
|
|
513
|
+
body?: XRBody;
|
|
508
514
|
}
|
|
509
515
|
|
|
510
516
|
abstract class XRFrame implements XRFrame {}
|
|
511
517
|
|
|
518
|
+
/**
|
|
519
|
+
* Represents the XRBodySpace native interface as defined by the spec.
|
|
520
|
+
* An XRBodySpace is an XRSpace that additionally exposes a jointName.
|
|
521
|
+
* ref: https://immersive-web.github.io/body-tracking/#xrjointspace-interface
|
|
522
|
+
*/
|
|
523
|
+
interface XRBodySpace extends XRSpace {
|
|
524
|
+
readonly jointName: string;
|
|
525
|
+
}
|
|
526
|
+
|
|
527
|
+
/**
|
|
528
|
+
* Represents the native XRBody interface as defined by the spec.
|
|
529
|
+
* An XRBody is an iterable map of XRBodyJoint to XRBodySpace.
|
|
530
|
+
* ref: https://immersive-web.github.io/body-tracking/#xrbody-interface
|
|
531
|
+
*/
|
|
532
|
+
interface XRBody {
|
|
533
|
+
readonly size: number;
|
|
534
|
+
get(key: string): XRBodySpace | undefined;
|
|
535
|
+
forEach(callbackfn: (value: XRBodySpace, key: string, map: XRBody) => void): void;
|
|
536
|
+
[Symbol.iterator](): IterableIterator<[string, XRBodySpace]>;
|
|
537
|
+
entries(): IterableIterator<[string, XRBodySpace]>;
|
|
538
|
+
keys(): IterableIterator<string>;
|
|
539
|
+
values(): IterableIterator<XRBodySpace>;
|
|
540
|
+
}
|
|
541
|
+
|
|
512
542
|
/**
|
|
513
543
|
* Type of XR events available
|
|
514
544
|
*/
|
|
@@ -1383,10 +1383,10 @@ export class ThinNativeEngine extends ThinEngine {
|
|
|
1383
1383
|
}
|
|
1384
1384
|
}
|
|
1385
1385
|
createDynamicTexture(width, height, generateMipMaps, samplingMode) {
|
|
1386
|
-
//
|
|
1387
|
-
//
|
|
1388
|
-
width = Math.max(width, 1);
|
|
1389
|
-
height = Math.max(height, 1);
|
|
1386
|
+
// Canvas dimensions are integral in browsers. Coerce before allocating so the native dimensions and byte length agree.
|
|
1387
|
+
// Keep at least 1x1 because many bgfx methods assume a non-zero texture size.
|
|
1388
|
+
width = Math.max(Math.floor(width), 1);
|
|
1389
|
+
height = Math.max(Math.floor(height), 1);
|
|
1390
1390
|
return this.createRawTexture(new Uint8Array(width * height * 4), width, height, 5, false, false, samplingMode);
|
|
1391
1391
|
}
|
|
1392
1392
|
createVideoElement(constraints) {
|