@onerjs/core 8.31.9 → 8.32.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.
Files changed (71) hide show
  1. package/Behaviors/Cameras/autoRotationBehavior.d.ts +4 -0
  2. package/Behaviors/Cameras/autoRotationBehavior.js +7 -0
  3. package/Behaviors/Cameras/autoRotationBehavior.js.map +1 -1
  4. package/Behaviors/Cameras/bouncingBehavior.d.ts +5 -0
  5. package/Behaviors/Cameras/bouncingBehavior.js +8 -0
  6. package/Behaviors/Cameras/bouncingBehavior.js.map +1 -1
  7. package/Behaviors/Cameras/framingBehavior.d.ts +4 -0
  8. package/Behaviors/Cameras/framingBehavior.js +7 -0
  9. package/Behaviors/Cameras/framingBehavior.js.map +1 -1
  10. package/Behaviors/Cameras/interpolatingBehavior.d.ts +7 -2
  11. package/Behaviors/Cameras/interpolatingBehavior.js +12 -4
  12. package/Behaviors/Cameras/interpolatingBehavior.js.map +1 -1
  13. package/Behaviors/Meshes/attachToBoxBehavior.d.ts +5 -0
  14. package/Behaviors/Meshes/attachToBoxBehavior.js +8 -1
  15. package/Behaviors/Meshes/attachToBoxBehavior.js.map +1 -1
  16. package/Behaviors/Meshes/baseSixDofDragBehavior.d.ts +5 -2
  17. package/Behaviors/Meshes/baseSixDofDragBehavior.js +8 -0
  18. package/Behaviors/Meshes/baseSixDofDragBehavior.js.map +1 -1
  19. package/Behaviors/Meshes/fadeInOutBehavior.d.ts +5 -0
  20. package/Behaviors/Meshes/fadeInOutBehavior.js +6 -0
  21. package/Behaviors/Meshes/fadeInOutBehavior.js.map +1 -1
  22. package/Behaviors/Meshes/handConstraintBehavior.d.ts +5 -0
  23. package/Behaviors/Meshes/handConstraintBehavior.js +8 -0
  24. package/Behaviors/Meshes/handConstraintBehavior.js.map +1 -1
  25. package/Behaviors/Meshes/multiPointerScaleBehavior.d.ts +5 -0
  26. package/Behaviors/Meshes/multiPointerScaleBehavior.js +8 -0
  27. package/Behaviors/Meshes/multiPointerScaleBehavior.js.map +1 -1
  28. package/Behaviors/Meshes/pointerDragBehavior.d.ts +1 -1
  29. package/Behaviors/Meshes/pointerDragBehavior.js.map +1 -1
  30. package/Behaviors/Meshes/sixDofDragBehavior.js +1 -1
  31. package/Behaviors/Meshes/sixDofDragBehavior.js.map +1 -1
  32. package/Behaviors/Meshes/surfaceMagnetismBehavior.d.ts +5 -0
  33. package/Behaviors/Meshes/surfaceMagnetismBehavior.js +7 -0
  34. package/Behaviors/Meshes/surfaceMagnetismBehavior.js.map +1 -1
  35. package/Behaviors/behavior.d.ts +4 -0
  36. package/Behaviors/behavior.js.map +1 -1
  37. package/Cameras/geospatialCamera.d.ts +4 -5
  38. package/Cameras/geospatialCamera.js +42 -29
  39. package/Cameras/geospatialCamera.js.map +1 -1
  40. package/Cameras/geospatialCameraMovement.js +1 -1
  41. package/Cameras/geospatialCameraMovement.js.map +1 -1
  42. package/Engines/abstractEngine.js +2 -2
  43. package/Engines/abstractEngine.js.map +1 -1
  44. package/Helpers/sceneHelpers.js +1 -1
  45. package/Helpers/sceneHelpers.js.map +1 -1
  46. package/Lights/index.d.ts +1 -0
  47. package/Lights/index.js +1 -0
  48. package/Lights/index.js.map +1 -1
  49. package/Lights/lightingVolume.d.ts +89 -0
  50. package/Lights/lightingVolume.js +426 -0
  51. package/Lights/lightingVolume.js.map +1 -0
  52. package/Materials/GaussianSplatting/gaussianSplattingMaterial.d.ts +7 -0
  53. package/Materials/GaussianSplatting/gaussianSplattingMaterial.js +19 -5
  54. package/Materials/GaussianSplatting/gaussianSplattingMaterial.js.map +1 -1
  55. package/Materials/floatingOriginMatrixOverrides.js +6 -5
  56. package/Materials/floatingOriginMatrixOverrides.js.map +1 -1
  57. package/Materials/uniformBuffer.d.ts +1 -0
  58. package/Materials/uniformBuffer.js +8 -1
  59. package/Materials/uniformBuffer.js.map +1 -1
  60. package/Meshes/GaussianSplatting/gaussianSplattingMesh.d.ts +5 -2
  61. package/Meshes/GaussianSplatting/gaussianSplattingMesh.js +138 -45
  62. package/Meshes/GaussianSplatting/gaussianSplattingMesh.js.map +1 -1
  63. package/ShadersWGSL/gaussianSplattingDepth.fragment.d.ts +0 -1
  64. package/ShadersWGSL/gaussianSplattingDepth.fragment.js +0 -2
  65. package/ShadersWGSL/gaussianSplattingDepth.fragment.js.map +1 -1
  66. package/ShadersWGSL/lightingVolume.compute.d.ts +5 -0
  67. package/ShadersWGSL/lightingVolume.compute.js +27 -0
  68. package/ShadersWGSL/lightingVolume.compute.js.map +1 -0
  69. package/package.json +1 -1
  70. package/scene.js +6 -4
  71. package/scene.js.map +1 -1
@@ -1,10 +1,8 @@
1
1
  // Do not edit.
2
2
  import { ShaderStore } from "../Engines/shaderStore.js";
3
3
  import "./ShadersInclude/gaussianSplattingFragmentDeclaration.js";
4
- import "./ShadersInclude/shadowMapFragmentExtraDeclaration.js";
5
4
  const name = "gaussianSplattingDepthPixelShader";
6
5
  const shader = `#include<gaussianSplattingFragmentDeclaration>
7
- #include<shadowMapFragmentExtraDeclaration>
8
6
  varying vPosition: vec2f;varying vColor: vec4f;fn checkDiscard(inPosition: vec2f,inColor: vec4f)->vec4f {var A : f32=-dot(inPosition,inPosition);var alpha : f32=exp(A)*inColor.a;
9
7
  #if defined(SM_SOFTTRANSPARENTSHADOW) && SM_SOFTTRANSPARENTSHADOW==1
10
8
  if (A<-4.) {discard;}
@@ -1 +1 @@
1
- {"version":3,"file":"gaussianSplattingDepth.fragment.js","sourceRoot":"","sources":["../../../../dev/core/src/ShadersWGSL/gaussianSplattingDepth.fragment.ts"],"names":[],"mappings":"AAAA,eAAe;AACf,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,uDAAuD,CAAC;AAC/D,OAAO,oDAAoD,CAAC;AAE5D,MAAM,IAAI,GAAG,mCAAmC,CAAC;AACjD,MAAM,MAAM,GAAG;;;;;;;;;;;;;;;;CAgBd,CAAC;AACF,aAAa;AACb,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;IACtC,WAAW,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;AAChD,CAAC;AACD,gBAAgB;AAChB,MAAM,CAAC,MAAM,qCAAqC,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC","sourcesContent":["// Do not edit.\nimport { ShaderStore } from \"../Engines/shaderStore\";\nimport \"./ShadersInclude/gaussianSplattingFragmentDeclaration\";\nimport \"./ShadersInclude/shadowMapFragmentExtraDeclaration\";\n\nconst name = \"gaussianSplattingDepthPixelShader\";\nconst shader = `#include<gaussianSplattingFragmentDeclaration>\n#include<shadowMapFragmentExtraDeclaration>\nvarying vPosition: vec2f;varying vColor: vec4f;fn checkDiscard(inPosition: vec2f,inColor: vec4f)->vec4f {var A : f32=-dot(inPosition,inPosition);var alpha : f32=exp(A)*inColor.a;\n#if defined(SM_SOFTTRANSPARENTSHADOW) && SM_SOFTTRANSPARENTSHADOW==1\nif (A<-4.) {discard;}\n#else\nif (A<-1.) {discard;}\n#endif\nreturn vec4f(inColor.rgb,alpha);}\n#define CUSTOM_FRAGMENT_DEFINITIONS\n@fragment\nfn main(input: FragmentInputs)->FragmentOutputs {fragmentOutputs.color=checkDiscard(fragmentInputs.vPosition,fragmentInputs.vColor);\n#if defined(SM_SOFTTRANSPARENTSHADOW) && SM_SOFTTRANSPARENTSHADOW==1\nvar alpha : f32=fragmentOutputs.color.a;\n#endif\n}\n`;\n// Sideeffect\nif (!ShaderStore.ShadersStoreWGSL[name]) {\n ShaderStore.ShadersStoreWGSL[name] = shader;\n}\n/** @internal */\nexport const gaussianSplattingDepthPixelShaderWGSL = { name, shader };\n"]}
1
+ {"version":3,"file":"gaussianSplattingDepth.fragment.js","sourceRoot":"","sources":["../../../../dev/core/src/ShadersWGSL/gaussianSplattingDepth.fragment.ts"],"names":[],"mappings":"AAAA,eAAe;AACf,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,uDAAuD,CAAC;AAE/D,MAAM,IAAI,GAAG,mCAAmC,CAAC;AACjD,MAAM,MAAM,GAAG;;;;;;;;;;;;;;;CAed,CAAC;AACF,aAAa;AACb,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;IACtC,WAAW,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;AAChD,CAAC;AACD,gBAAgB;AAChB,MAAM,CAAC,MAAM,qCAAqC,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC","sourcesContent":["// Do not edit.\nimport { ShaderStore } from \"../Engines/shaderStore\";\nimport \"./ShadersInclude/gaussianSplattingFragmentDeclaration\";\n\nconst name = \"gaussianSplattingDepthPixelShader\";\nconst shader = `#include<gaussianSplattingFragmentDeclaration>\nvarying vPosition: vec2f;varying vColor: vec4f;fn checkDiscard(inPosition: vec2f,inColor: vec4f)->vec4f {var A : f32=-dot(inPosition,inPosition);var alpha : f32=exp(A)*inColor.a;\n#if defined(SM_SOFTTRANSPARENTSHADOW) && SM_SOFTTRANSPARENTSHADOW==1\nif (A<-4.) {discard;}\n#else\nif (A<-1.) {discard;}\n#endif\nreturn vec4f(inColor.rgb,alpha);}\n#define CUSTOM_FRAGMENT_DEFINITIONS\n@fragment\nfn main(input: FragmentInputs)->FragmentOutputs {fragmentOutputs.color=checkDiscard(fragmentInputs.vPosition,fragmentInputs.vColor);\n#if defined(SM_SOFTTRANSPARENTSHADOW) && SM_SOFTTRANSPARENTSHADOW==1\nvar alpha : f32=fragmentOutputs.color.a;\n#endif\n}\n`;\n// Sideeffect\nif (!ShaderStore.ShadersStoreWGSL[name]) {\n ShaderStore.ShadersStoreWGSL[name] = shader;\n}\n/** @internal */\nexport const gaussianSplattingDepthPixelShaderWGSL = { name, shader };\n"]}
@@ -0,0 +1,5 @@
1
+ /** @internal */
2
+ export declare const lightingVolumeComputeShaderWGSL: {
3
+ name: string;
4
+ shader: string;
5
+ };
@@ -0,0 +1,27 @@
1
+ // Do not edit.
2
+ import { ShaderStore } from "../Engines/shaderStore.js";
3
+ const name = "lightingVolumeComputeShader";
4
+ const shader = `struct Params {invViewProjMatrix : mat4x4f,
5
+ startVertexIndex: u32,
6
+ step: f32,
7
+ tesselation: u32,};@group(0) @binding(0) var shadowMap : texture_2d<f32>;@group(0) @binding(1) var<uniform> params : Params;@group(0) @binding(2) var<storage,read_write> positions : array<f32>;@compute @workgroup_size(8,8,1)
8
+ fn main(@builtin(global_invocation_id) global_id : vec3u) {let coord=global_id.xy;
9
+ #ifdef KEEP_EDGES
10
+ if (any(coord>=vec2u(params.tesselation)) || any(coord<=vec2u(0))) {
11
+ #else
12
+ if (any(coord>=vec2u(params.tesselation+1))) {
13
+ #endif
14
+ return;}
15
+ let stepY=floor(params.step*f32(coord.y));let depthCoord=vec2u(u32(floor(f32(coord.x)*params.step)),u32(stepY));var depth=textureLoad(shadowMap,depthCoord,0).r;
16
+ #ifdef MOVE_FAR_DEPTH_TO_NEAR
17
+ if (depth==1.0) {depth=0.0;}
18
+ #endif
19
+ let halfTesselation=f32(params.tesselation>>1);let ndc=vec4f((f32(coord.x)-halfTesselation)/halfTesselation,(f32(coord.y)-halfTesselation)/halfTesselation,depth,1.0);var worldCoords=params.invViewProjMatrix*ndc;let idx=params.startVertexIndex+(coord.y*(params.tesselation+1)+coord.x)*3;positions[idx]=worldCoords.x/worldCoords.w;positions[idx+1]=worldCoords.y/worldCoords.w;positions[idx+2]=worldCoords.z/worldCoords.w;}
20
+ `;
21
+ // Sideeffect
22
+ if (!ShaderStore.ShadersStoreWGSL[name]) {
23
+ ShaderStore.ShadersStoreWGSL[name] = shader;
24
+ }
25
+ /** @internal */
26
+ export const lightingVolumeComputeShaderWGSL = { name, shader };
27
+ //# sourceMappingURL=lightingVolume.compute.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lightingVolume.compute.js","sourceRoot":"","sources":["../../../../dev/core/src/ShadersWGSL/lightingVolume.compute.ts"],"names":[],"mappings":"AAAA,eAAe;AACf,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAErD,MAAM,IAAI,GAAG,6BAA6B,CAAC;AAC3C,MAAM,MAAM,GAAG;;;;;;;;;;;;;;;;CAgBd,CAAC;AACF,aAAa;AACb,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;IACtC,WAAW,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;AAChD,CAAC;AACD,gBAAgB;AAChB,MAAM,CAAC,MAAM,+BAA+B,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC","sourcesContent":["// Do not edit.\nimport { ShaderStore } from \"../Engines/shaderStore\";\n\nconst name = \"lightingVolumeComputeShader\";\nconst shader = `struct Params {invViewProjMatrix : mat4x4f,\nstartVertexIndex: u32,\nstep: f32,\ntesselation: u32,};@group(0) @binding(0) var shadowMap : texture_2d<f32>;@group(0) @binding(1) var<uniform> params : Params;@group(0) @binding(2) var<storage,read_write> positions : array<f32>;@compute @workgroup_size(8,8,1)\nfn main(@builtin(global_invocation_id) global_id : vec3u) {let coord=global_id.xy;\n#ifdef KEEP_EDGES\nif (any(coord>=vec2u(params.tesselation)) || any(coord<=vec2u(0))) {\n#else\nif (any(coord>=vec2u(params.tesselation+1))) {\n#endif\nreturn;}\nlet stepY=floor(params.step*f32(coord.y));let depthCoord=vec2u(u32(floor(f32(coord.x)*params.step)),u32(stepY));var depth=textureLoad(shadowMap,depthCoord,0).r;\n#ifdef MOVE_FAR_DEPTH_TO_NEAR\nif (depth==1.0) {depth=0.0;}\n#endif\nlet halfTesselation=f32(params.tesselation>>1);let ndc=vec4f((f32(coord.x)-halfTesselation)/halfTesselation,(f32(coord.y)-halfTesselation)/halfTesselation,depth,1.0);var worldCoords=params.invViewProjMatrix*ndc;let idx=params.startVertexIndex+(coord.y*(params.tesselation+1)+coord.x)*3;positions[idx]=worldCoords.x/worldCoords.w;positions[idx+1]=worldCoords.y/worldCoords.w;positions[idx+2]=worldCoords.z/worldCoords.w;}\n`;\n// Sideeffect\nif (!ShaderStore.ShadersStoreWGSL[name]) {\n ShaderStore.ShadersStoreWGSL[name] = shader;\n}\n/** @internal */\nexport const lightingVolumeComputeShaderWGSL = { name, shader };\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@onerjs/core",
3
- "version": "8.31.9",
3
+ "version": "8.32.0",
4
4
  "main": "index.js",
5
5
  "module": "index.js",
6
6
  "types": "index.d.ts",
package/scene.js CHANGED
@@ -4746,10 +4746,12 @@ export class Scene {
4746
4746
  Vector3.CheckExtends(minBox, min, max);
4747
4747
  Vector3.CheckExtends(maxBox, min, max);
4748
4748
  }
4749
- return {
4750
- min: min,
4751
- max: max,
4752
- };
4749
+ return min.x === Number.MAX_VALUE
4750
+ ? { min: Vector3.Zero(), max: Vector3.Zero() }
4751
+ : {
4752
+ min: min,
4753
+ max: max,
4754
+ };
4753
4755
  }
4754
4756
  // Picking
4755
4757
  // eslint-disable-next-line jsdoc/require-returns-check