three-stdlib 2.8.2 → 2.8.6

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 (103) hide show
  1. package/{BufferGeometryUtils-582025b8.js → BufferGeometryUtils-1a7a235c.js} +2 -1
  2. package/{BufferGeometryUtils-9eb5c2e7.js → BufferGeometryUtils-971dfde3.js} +0 -0
  3. package/animation/MMDAnimationHelper.d.ts +17 -17
  4. package/animation/MMDPhysics.d.ts +3 -3
  5. package/csm/CSM.d.ts +47 -22
  6. package/csm/CSMHelper.d.ts +20 -7
  7. package/effects/OutlineEffect.d.ts +4 -4
  8. package/effects/OutlineEffect.js +8 -2
  9. package/exporters/GLTFExporter.js +5 -10
  10. package/geometries/ConvexGeometry.d.ts +1 -1
  11. package/geometries/ParametricGeometries.d.ts +4 -2
  12. package/helpers/RectAreaLightHelper.d.ts +3 -3
  13. package/index.cjs.js +1 -1
  14. package/index.d.ts +9 -4
  15. package/index.js +9 -4
  16. package/libs/MotionControllers.cjs.js +1 -0
  17. package/libs/MotionControllers.js +403 -0
  18. package/loaders/AssimpLoader.js +39 -10
  19. package/loaders/ColladaLoader.js +22 -5
  20. package/loaders/EXRLoader.js +5 -1
  21. package/loaders/FBXLoader.js +10 -2
  22. package/loaders/GLTFLoader.cjs.js +1 -1
  23. package/loaders/GLTFLoader.d.ts +44 -20
  24. package/loaders/GLTFLoader.js +0 -1
  25. package/loaders/LDrawLoader.d.ts +6 -0
  26. package/loaders/MTLLoader.d.ts +18 -18
  27. package/loaders/RGBMLoader.d.ts +10 -10
  28. package/loaders/RGBMLoader.js +253 -178
  29. package/loaders/SVGLoader.d.ts +5 -3
  30. package/loaders/SVGLoader.js +10 -5
  31. package/loaders/lwo/IFFParser.js +4 -1
  32. package/math/OBB.d.ts +1 -1
  33. package/misc/GPUComputationRenderer.d.ts +8 -6
  34. package/misc/MD2CharacterComplex.js +9 -2
  35. package/misc/Volume.d.ts +2 -0
  36. package/modifiers/CurveModifier.cjs.js +1 -1
  37. package/modifiers/CurveModifier.js +1 -1
  38. package/modifiers/EdgeSplitModifier.cjs.js +1 -1
  39. package/modifiers/SimplifyModifier.cjs.js +1 -1
  40. package/nodes/inputs/ColorNode.d.ts +2 -2
  41. package/nodes/inputs/TextureNode.d.ts +3 -2
  42. package/nodes/materials/StandardNodeMaterial.d.ts +1 -1
  43. package/nodes/materials/nodes/StandardNode.d.ts +1 -0
  44. package/nodes/utils/ColorSpaceNode.d.ts +1 -1
  45. package/nodes/utils/JoinNode.d.ts +1 -0
  46. package/objects/MarchingCubes.d.ts +12 -4
  47. package/objects/Reflector.d.ts +4 -2
  48. package/objects/ReflectorForSSRPass.d.ts +6 -6
  49. package/objects/Refractor.d.ts +4 -2
  50. package/objects/Water.d.ts +4 -3
  51. package/objects/Water2.d.ts +12 -3
  52. package/package.json +2 -3
  53. package/postprocessing/ClearPass.d.ts +3 -3
  54. package/postprocessing/SAOPass.d.ts +3 -2
  55. package/postprocessing/SSAARenderPass.d.ts +3 -3
  56. package/postprocessing/SSAOPass.d.ts +3 -2
  57. package/postprocessing/SSRPass.d.ts +14 -17
  58. package/postprocessing/TAARenderPass.d.ts +2 -2
  59. package/renderers/CSS2DRenderer.d.ts +5 -1
  60. package/renderers/CSS3DRenderer.d.ts +5 -1
  61. package/renderers/webgpu/WebGPUTextures.js +62 -41
  62. package/shaders/SSRShader.d.ts +1 -2
  63. package/utils/BufferGeometryUtils.cjs.js +1 -1
  64. package/utils/BufferGeometryUtils.js +2 -1
  65. package/utils/LDrawUtils.cjs.js +1 -1
  66. package/utils/LDrawUtils.d.ts +5 -0
  67. package/utils/LDrawUtils.js +1 -1
  68. package/utils/RoughnessMipmapper.js +5 -1
  69. package/utils/SceneUtils.d.ts +10 -12
  70. package/utils/ShadowMapViewer.js +4 -1
  71. package/webxr/OculusHandModel.cjs.js +1 -0
  72. package/webxr/OculusHandModel.d.ts +19 -0
  73. package/webxr/OculusHandModel.js +72 -0
  74. package/webxr/OculusHandPointerModel.cjs.js +1 -0
  75. package/webxr/OculusHandPointerModel.d.ts +63 -0
  76. package/webxr/OculusHandPointerModel.js +248 -0
  77. package/webxr/Text2D.cjs.js +1 -0
  78. package/webxr/Text2D.d.ts +3 -0
  79. package/webxr/Text2D.js +32 -0
  80. package/webxr/VRButton.cjs.js +1 -1
  81. package/webxr/VRButton.js +17 -1
  82. package/webxr/XRControllerModelFactory.cjs.js +1 -1
  83. package/webxr/XRControllerModelFactory.js +65 -66
  84. package/webxr/XREstimatedLight.cjs.js +1 -1
  85. package/webxr/XREstimatedLight.js +1 -0
  86. package/webxr/XRHandMeshModel.cjs.js +1 -0
  87. package/webxr/XRHandMeshModel.d.ts +11 -0
  88. package/webxr/XRHandMeshModel.js +55 -0
  89. package/webxr/XRHandModelFactory.cjs.js +1 -1
  90. package/webxr/XRHandModelFactory.d.ts +3 -3
  91. package/webxr/XRHandModelFactory.js +47 -50
  92. package/webxr/XRHandPrimitiveModel.cjs.js +1 -1
  93. package/webxr/XRHandPrimitiveModel.d.ts +1 -1
  94. package/webxr/XRHandPrimitiveModel.js +31 -41
  95. package/csm/Frustum.d.ts +0 -16
  96. package/csm/Shader.d.ts +0 -6
  97. package/loaders/XLoader.d.ts +0 -19
  98. package/shaders/FresnelShader.d.ts +0 -13
  99. package/shaders/ParallaxShader.d.ts +0 -20
  100. package/utils/RoughnessMipmapper.d.ts +0 -7
  101. package/webxr/XRHandOculusMeshModel.cjs.js +0 -1
  102. package/webxr/XRHandOculusMeshModel.d.ts +0 -23
  103. package/webxr/XRHandOculusMeshModel.js +0 -89
@@ -485,7 +485,8 @@ function computeMorphedAttributes(object) {
485
485
 
486
486
  const morphInfluences = object.morphTargetInfluences;
487
487
 
488
- if (material.morphTargets && morphAttribute && morphInfluences) {
488
+ if ( // @ts-expect-error
489
+ material.morphTargets && morphAttribute && morphInfluences) {
489
490
  _morphA.set(0, 0, 0);
490
491
 
491
492
  _morphB.set(0, 0, 0);
@@ -14,34 +14,34 @@ import { CCDIKSolver } from './CCDIKSolver';
14
14
  import { MMDPhysics } from './MMDPhysics';
15
15
 
16
16
  export interface MMDAnimationHelperParameter {
17
- sync?: boolean;
18
- afterglow?: number;
19
- resetPhysicsOnLoop?: boolean;
17
+ sync?: boolean | undefined;
18
+ afterglow?: number | undefined;
19
+ resetPhysicsOnLoop?: boolean | undefined;
20
20
  }
21
21
 
22
22
  export interface MMDAnimationHelperAddParameter {
23
- animation?: AnimationClip | AnimationClip[];
24
- physics?: boolean;
25
- warmup?: number;
26
- unitStep?: number;
27
- maxStepNum?: number;
28
- gravity?: number;
29
- delayTime?: number;
23
+ animation?: AnimationClip | AnimationClip[] | undefined;
24
+ physics?: boolean | undefined;
25
+ warmup?: number | undefined;
26
+ unitStep?: number | undefined;
27
+ maxStepNum?: number | undefined;
28
+ gravity?: number | undefined;
29
+ delayTime?: number | undefined;
30
30
  }
31
31
 
32
32
  export interface MMDAnimationHelperPoseParameter {
33
- resetPose?: boolean;
34
- ik?: boolean;
35
- grant?: boolean;
33
+ resetPose?: boolean | undefined;
34
+ ik?: boolean | undefined;
35
+ grant?: boolean | undefined;
36
36
  }
37
37
 
38
38
  export interface MMDAnimationHelperMixer {
39
39
  looped: boolean;
40
- mixer?: AnimationMixer;
40
+ mixer?: AnimationMixer | undefined;
41
41
  ikSolver: CCDIKSolver;
42
42
  grantSolver: GrantSolver;
43
- physics?: MMDPhysics;
44
- duration?: number;
43
+ physics?: MMDPhysics | undefined;
44
+ duration?: number | undefined;
45
45
  }
46
46
 
47
47
  export class MMDAnimationHelper {
@@ -77,7 +77,7 @@ export class MMDAnimationHelper {
77
77
  }
78
78
 
79
79
  export interface AudioManagerParameter {
80
- delayTime?: number;
80
+ delayTime?: number | undefined;
81
81
  }
82
82
 
83
83
  export class AudioManager {
@@ -1,9 +1,9 @@
1
1
  import { Bone, Euler, Matrix4, Object3D, Quaternion, SkinnedMesh, Vector3 } from 'three';
2
2
 
3
3
  export interface MMDPhysicsParameter {
4
- unitStep?: number;
5
- maxStepNum?: number;
6
- gravity?: Vector3;
4
+ unitStep?: number | undefined;
5
+ maxStepNum?: number | undefined;
6
+ gravity?: Vector3 | undefined;
7
7
  }
8
8
 
9
9
  export class MMDPhysics {
package/csm/CSM.d.ts CHANGED
@@ -1,36 +1,61 @@
1
+ import { Camera, Vector3, DirectionalLight, Material, Vector2, Object3D } from 'three';
2
+
3
+ export enum CMSMode {
4
+ practical = 'practical',
5
+ uniform = 'uniform',
6
+ logarithmic = 'logarithmic',
7
+ custom = 'custom',
8
+ }
9
+
10
+ export interface CMSParameters {
11
+ camera?: Camera;
12
+ parent?: Object3D;
13
+ cascades?: number;
14
+ maxFar?: number;
15
+ mode?: CMSMode;
16
+ shadowMapSize?: number;
17
+ shadowBias?: number;
18
+ lightDirection?: Vector3;
19
+ lightIntensity?: number;
20
+ lightNear?: number;
21
+ lightFar?: number;
22
+ lightMargin?: number;
23
+ customSplitsCallback?: (cascades: number, cameraNear: number, cameraFar: number, breaks: number[]) => void;
24
+ }
25
+
1
26
  export class CSM {
2
- constructor(data: any);
3
- camera: any;
4
- parent: any;
5
- cascades: any;
6
- maxFar: any;
7
- mode: any;
8
- shadowMapSize: any;
9
- shadowBias: any;
10
- lightDirection: any;
11
- lightIntensity: any;
12
- lightNear: any;
13
- lightFar: any;
14
- lightMargin: any;
15
- customSplitsCallback: any;
27
+ constructor(data?: CMSParameters);
28
+ camera: Camera;
29
+ parent: Object3D;
30
+ cascades: number;
31
+ maxFar: number;
32
+ mode: CMSMode;
33
+ shadowMapSize: number;
34
+ shadowBias: number;
35
+ lightDirection: Vector3;
36
+ lightIntensity: number;
37
+ lightNear: number;
38
+ lightFar: number;
39
+ lightMargin: number;
40
+ customSplitsCallback: (cascades: number, cameraNear: number, cameraFar: number, breaks: number[]) => void;
16
41
  fade: boolean;
17
- mainFrustum: Frustum;
18
- frustums: any[];
19
- breaks: any[];
20
- lights: any[];
21
- shaders: Map<any, any>;
42
+ mainFrustum: CSMFrustrum;
43
+ frustums: CSMFrustrum[];
44
+ breaks: number[];
45
+ lights: DirectionalLight[];
46
+ shaders: Map<unknown, string>;
22
47
  createLights(): void;
23
48
  initCascades(): void;
24
49
  updateShadowBounds(): void;
25
50
  getBreaks(): void;
26
51
  update(): void;
27
52
  injectInclude(): void;
28
- setupMaterial(material: any): void;
53
+ setupMaterial(material: Material): void;
29
54
  updateUniforms(): void;
30
- getExtendedBreaks(target: any): void;
55
+ getExtendedBreaks(target: Vector2[]): void;
31
56
  updateFrustums(): void;
32
57
  remove(): void;
33
58
  dispose(): void;
34
59
  }
35
60
 
36
- import Frustum from './Frustum.js';
61
+ import CSMFrustrum from './CSMFrustum.js';
@@ -1,13 +1,26 @@
1
- export class CSMHelper {
2
- constructor(csm: any);
3
- csm: any;
1
+ import {
2
+ Box3Helper,
3
+ BufferGeometry,
4
+ Group,
5
+ LineBasicMaterial,
6
+ LineSegments,
7
+ Mesh,
8
+ MeshBasicMaterial,
9
+ PlaneGeometry,
10
+ } from 'three';
11
+
12
+ import { CSM } from './CSM';
13
+
14
+ export class CSMHelper<TCSM extends CSM = CSM> extends Group {
15
+ constructor(csm: TCSM);
16
+ csm: TCSM;
4
17
  displayFrustum: boolean;
5
18
  displayPlanes: boolean;
6
19
  displayShadowBounds: boolean;
7
- frustumLines: any;
8
- cascadeLines: any[];
9
- cascadePlanes: any[];
10
- shadowLines: any[];
20
+ frustumLines: LineSegments<BufferGeometry, LineBasicMaterial>;
21
+ cascadeLines: Box3Helper[];
22
+ cascadePlanes: Array<Mesh<PlaneGeometry, MeshBasicMaterial>>;
23
+ shadowLines: Box3Helper[];
11
24
  updateVisibility(): void;
12
25
  update(): void;
13
26
  }
@@ -1,10 +1,10 @@
1
1
  import { Camera, Scene, Vector2, Vector4, WebGLRenderer, WebGLRenderTarget, WebGLShadowMap } from 'three';
2
2
 
3
3
  export interface OutlineEffectParameters {
4
- defaultThickness?: number;
5
- defaultColor?: number[];
6
- defaultAlpha?: number;
7
- defaultKeepAlive?: boolean;
4
+ defaultThickness?: number | undefined;
5
+ defaultColor?: number[] | undefined;
6
+ defaultAlpha?: number | undefined;
7
+ defaultKeepAlive?: boolean | undefined;
8
8
  }
9
9
 
10
10
  export class OutlineEffect {
@@ -185,7 +185,10 @@ const OutlineEffect = function (renderer, parameters) {
185
185
  material.uniforms.outlineAlpha.value = originalMaterial.opacity;
186
186
 
187
187
  if (outlineParameters !== undefined) {
188
- if (outlineParameters.thickness !== undefined) material.uniforms.outlineThickness.value = outlineParameters.thickness;
188
+ if (outlineParameters.thickness !== undefined) {
189
+ material.uniforms.outlineThickness.value = outlineParameters.thickness;
190
+ }
191
+
189
192
  if (outlineParameters.color !== undefined) material.uniforms.outlineColor.value.fromArray(outlineParameters.color);
190
193
  if (outlineParameters.alpha !== undefined) material.uniforms.outlineAlpha.value = outlineParameters.alpha;
191
194
  }
@@ -216,7 +219,10 @@ const OutlineEffect = function (renderer, parameters) {
216
219
  }
217
220
 
218
221
  material.transparent = outlineParameters.alpha !== undefined && outlineParameters.alpha < 1.0 ? true : originalMaterial.transparent;
219
- if (outlineParameters.keepAlive !== undefined) cache[originalMaterial.uuid].keepAlive = outlineParameters.keepAlive;
222
+
223
+ if (outlineParameters.keepAlive !== undefined) {
224
+ cache[originalMaterial.uuid].keepAlive = outlineParameters.keepAlive;
225
+ }
220
226
  } else {
221
227
  material.transparent = originalMaterial.transparent;
222
228
  material.visible = originalMaterial.visible;
@@ -1902,29 +1902,24 @@ class GLTFMaterialsVolumeExtension {
1902
1902
 
1903
1903
  writeMaterial(material, materialDef) {
1904
1904
  if (!(material instanceof MeshPhysicalMaterial && // @ts-expect-error
1905
- material.isMeshPhysicalMaterial) || // @ts-expect-error
1906
- material.thickness === 0) {
1905
+ material.isMeshPhysicalMaterial) || material.thickness === 0) {
1907
1906
  return;
1908
1907
  }
1909
1908
 
1910
1909
  const writer = this.writer;
1911
1910
  const extensionsUsed = writer.extensionsUsed;
1912
1911
  const extensionDef = {};
1913
- extensionDef.thickness = // @ts-expect-error
1914
- material.thickness; // @ts-expect-error
1912
+ extensionDef.thickness = material.thickness;
1915
1913
 
1916
1914
  if (material.thicknessMap) {
1917
1915
  const thicknessMapDef = {
1918
- index: writer.processTexture( // @ts-expect-error
1919
- material.thicknessMap)
1916
+ index: writer.processTexture(material.thicknessMap)
1920
1917
  };
1921
- writer.applyTextureTransform(thicknessMapDef, // @ts-expect-error
1922
- material.thicknessMap);
1918
+ writer.applyTextureTransform(thicknessMapDef, material.thicknessMap);
1923
1919
  extensionDef.thicknessTexture = thicknessMapDef;
1924
1920
  }
1925
1921
 
1926
- extensionDef.attenuationDistance = //@ts-expect-error
1927
- material.attenuationDistance;
1922
+ extensionDef.attenuationDistance = material.attenuationDistance;
1928
1923
  extensionDef.attenuationColor = //@ts-expect-error
1929
1924
  material.attenuationTint.toArray();
1930
1925
  materialDef.extensions = materialDef.extensions || {};
@@ -1,5 +1,5 @@
1
1
  import { BufferGeometry, Vector3 } from 'three';
2
2
 
3
3
  export class ConvexGeometry extends BufferGeometry {
4
- constructor(points: Vector3[]);
4
+ constructor(points?: Vector3[]);
5
5
  }
@@ -1,8 +1,10 @@
1
- import { Curve, ParametricGeometry, Vector3 } from 'three';
1
+ import { Curve, Vector3 } from 'three';
2
+
3
+ import { ParametricGeometry } from './ParametricGeometry';
2
4
 
3
5
  export namespace ParametricGeometries {
4
6
  function klein(v: number, u: number, target: Vector3): Vector3;
5
- function plane(width: number, height: number, target: Vector3): Vector3;
7
+ function plane(width: number, height: number): (u: number, v: number, target: Vector3) => Vector3;
6
8
  function mobius(u: number, t: number, target: Vector3): Vector3;
7
9
  function mobius3d(u: number, t: number, target: Vector3): Vector3;
8
10
 
@@ -1,10 +1,10 @@
1
- import { Color, Line, RectAreaLight } from 'three';
1
+ import { Line, RectAreaLight, ColorRepresentation } from 'three';
2
2
 
3
3
  export class RectAreaLightHelper extends Line {
4
- constructor(light: RectAreaLight, color?: Color | string | number);
4
+ constructor(light: RectAreaLight, color?: ColorRepresentation);
5
5
 
6
6
  light: RectAreaLight;
7
- color: Color | string | number | undefined;
7
+ color: ColorRepresentation | undefined;
8
8
 
9
9
  dispose(): void;
10
10
  }