three-stdlib 2.8.2 → 2.8.6

Sign up to get free protection for your applications and to get access to all the features.
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
  }