Git Product home page Git Product logo

three-ts-types's Introduction

This repository is the home for the TypeScript types for three.js. Periodically the updates from this repository are pushed to DefinitelyTyped and released in the @types/three npm package.

We are using this repository as a home for the types instead of DefinitelyTyped because:

  • It is less daunting for users to raise issues or create PRs on a repository that is specific to three.js
  • It is easier to organize the process of making sure we're staying up-to-date with the changes in the three.js repository
  • It gives us more freedom to use our own process

Priorities and goals

The highest priority is making sure that there are no inaccurate types (or types for things that have been removed).

It is a goal to have complete public facing API types for all of the code in the src directory.

It is not a goal for the examples/jsm directory to have complete declaration files for every examples module due to the number of example modules and how quickly they are modified. If you would like to use an examples module that is missing types then create a PR to add the types or create an issue to request that we add the missing types for that module.

Testing

The tests are split into two directories: types/three/test/integration and types/three/test/unit.

Integration tests

The integration tests are usually runnable three.js code that has just been translated to TypeScript to make sure the types work. The three-examples is a special directory that holds the examples from the three.js repository with matching file names. If you want to add a integration test, you can just create a new file in the integration directory.

Unit tests

The unit tests are more fine-grained tests that focus on testing the types for a single file from the source code (either from the three.js core or the JSM addons). The directory structure of the unit tests matches the directory structure of the source code. These tests often contain type assertions as well to test the result of calling a method or to verify that the types produce an error in certain situations.

Contributing

Please see our Contributing Guidelines to help you get started.

FAQ

Why are the declaration files in a types/three/ directory and why is there a notNeededPackages.json?

This makes it easier to re-use the testing process used by DefinitelyTyped since they have a check to make sure the types are within a types directory as well a check for notNeededPackages.json. It also makes it possible to use typeRoots in the tsconfig.json so that the three types can be resolved correctly in the tests.

three-ts-types's People

Contributors

0b5vr avatar allcontributors[bot] avatar capnmidnight avatar cmhhelgeson avatar codyjasonbennett avatar demike avatar donmccurdy avatar hoodgail avatar joshuaellis avatar marwie avatar mattrossman avatar methuselah96 avatar michealparks avatar miko3k avatar mugen87 avatar noname0310 avatar oletus avatar puxiao avatar rafaelsc avatar renovate[bot] avatar robertlong avatar schwyzl avatar servinlp avatar sguimmara avatar suprhimp avatar vanruesc avatar wooster0 avatar xawill avatar ycw avatar zack2012 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

three-ts-types's Issues

Create single utility type to encapsulate color argument

Describe the feature you'd like:

Certain functions & properties have the type Color | string | number because they create a THREE.Color in the function and those are the arguments that THREE.Color can take, like the example below:

    renderPass: (
        renderer: WebGLRenderer,
        passMaterial: Material,
        renderTarget: WebGLRenderTarget,
        clearColor: Color | string | number,
        clearAlpha: Color | string | number,
    ) => void;

Suggested implementation:

Therefore we want to create a utility type so instead of typing Color | string | number we only need to write one, this would then need to replace all instances of the previous type across the codebase.

r130

Issue Tracker

This is used to track potential issues we need to investigate surrounding the r130 release.

Last checked: mrdoob/three.js@2383c1c0e4 (5 / 07 / 21).

Add @types/webxr to repo instead of duplicating & putting unknown

Describe the feature you'd like:

A lot of the XR classes such as XREstimatedLight would benefit hugely from using @types/webxr instead of us putting unknown or some fudged class.

export class SessionLightProbe<TLight extends THREE.Group = THREE.Group> {
    xrLight: TLight;
    renderer: WebGLRenderer;
    lightProbe: unknown; // here would be helpful
    xrWebGLBinding: unknown | null;  // here would be helpful
    estimationStartCallback: () => void;
    frameCallback: (this: SessionLightProbe, time: number, xrFrame: XRFrame) => void;

    constructor(
        xrLight: TLight,
        renderer: WebGLRenderer,
        lightProbe: unknown,
        environmentEstimation: boolean,
        estimationStartCallback: () => void,
    );

    updateReflection: () => void;

    onXRFrame: (time: number, xrFrame: XRFrame) => void;

    dispose: () => void;
}

We could copy the types, but then those types link to other types in the library, why duplicate?

wrong Gamepad used in XRInputSource.Gamepad

  • three version: 127
  • node version: 6.14.5
  • npm (or yarn) version:

Problem description:

The XRInputSource.gamepad has type Gamepad, which is defined as the generic lib.dom.d.ts Gamepad which is wrong (? the old nagivator.getamepad() gamepad?)

It should use an XRGamepad interface, something like

export interface XRGamepad {
    readonly id: string;
    readonly index: N;  // long
    readonly connected: boolean;
    readonly timestamp: DOMHighResTimeStamp;
    readonly mapping: GamepadMappingType;
    readonly axes: Float32Array;  // FrozenArray<double>;
    readonly buttons: GamepadButton[]; // FrozenArray<GamepadButton>;
}

Relevant code:

Suggested solution:

see XRGamepad definition above (not sure about FrozenArray)

Impossible to commit on windows 10 platform

yarn version 1.22.15

Problem description:

I added myself to contributors and when I want to commit, it fails with next message

git commit -m "added to contributors"
yarn run v1.22.15
$ E:\temp\three-ts-types\node_modules\.bin\pretty-quick pretty-quick
🔍  Finding changed files since git revision be55788.
🎯  Found 3 changed files.
✍️  Fixing up README.md.
✍️  Fixing up types/three/examples/jsm/controls/OrbitControls.d.ts.
✅  Everything is awesome!
Done in 1.13s.
yarn run v1.22.15
$ prettier --check .
Checking formatting...
[warn] .github\FUNDING.yml
[warn] .github\ISSUE_TEMPLATE\---bug-report.md
[warn] .github\ISSUE_TEMPLATE\---feature-request.md
[warn] .github\ISSUE_TEMPLATE\--support-question.md
[warn] .github\PULL_REQUEST_TEMPLATE.md
[warn] .github\workflows\CI.yml
[warn] .prettierrc.json
[warn] CODE_OF_CONDUCT.md
[warn] CONTRIBUTING.md
[warn] notNeededPackages.json
[warn] package.json
[warn] types\three\examples\jsm\animation\AnimationClipCreator.d.ts
[warn] types\three\examples\jsm\animation\CCDIKSolver.d.ts
[warn] types\three\examples\jsm\animation\MMDAnimationHelper.d.ts
[warn] types\three\examples\jsm\animation\MMDPhysics.d.ts
[warn] types\three\examples\jsm\cameras\CinematicCamera.d.ts
[warn] types\three\examples\jsm\controls\ArcballControls.d.ts
[warn] types\three\examples\jsm\controls\DragControls.d.ts
[warn] types\three\examples\jsm\controls\FirstPersonControls.d.ts
[warn] types\three\examples\jsm\controls\FlyControls.d.ts
[warn] types\three\examples\jsm\controls\PointerLockControls.d.ts
[warn] types\three\examples\jsm\controls\TrackballControls.d.ts
[warn] types\three\examples\jsm\controls\TransformControls.d.ts
[warn] types\three\examples\jsm\csm\CSM.d.ts
[warn] types\three\examples\jsm\csm\CSMHelper.d.ts
[warn] types\three\examples\jsm\csm\Frustum.d.ts
[warn] types\three\examples\jsm\csm\Shader.d.ts
[warn] types\three\examples\jsm\curves\CurveExtras.d.ts
[warn] types\three\examples\jsm\curves\NURBSCurve.d.ts
[warn] types\three\examples\jsm\curves\NURBSSurface.d.ts
[warn] types\three\examples\jsm\curves\NURBSUtils.d.ts
[warn] types\three\examples\jsm\deprecated\Geometry.d.ts
[warn] types\three\examples\jsm\effects\AnaglyphEffect.d.ts
[warn] types\three\examples\jsm\effects\AsciiEffect.d.ts
[warn] types\three\examples\jsm\effects\OutlineEffect.d.ts
[warn] types\three\examples\jsm\effects\ParallaxBarrierEffect.d.ts
[warn] types\three\examples\jsm\effects\PeppersGhostEffect.d.ts
[warn] types\three\examples\jsm\effects\StereoEffect.d.ts
[warn] types\three\examples\jsm\environments\RoomEnvironment.d.ts
[warn] types\three\examples\jsm\exporters\ColladaExporter.d.ts
[warn] types\three\examples\jsm\exporters\DRACOExporter.d.ts
[warn] types\three\examples\jsm\exporters\GLTFExporter.d.ts
[warn] types\three\examples\jsm\exporters\MMDExporter.d.ts
[warn] types\three\examples\jsm\exporters\OBJExporter.d.ts
[warn] types\three\examples\jsm\exporters\PLYExporter.d.ts
[warn] types\three\examples\jsm\exporters\STLExporter.d.ts
[warn] types\three\examples\jsm\exporters\USDZExporter.d.ts
[warn] types\three\examples\jsm\geometries\BoxLineGeometry.d.ts
[warn] types\three\examples\jsm\geometries\ConvexGeometry.d.ts
[warn] types\three\examples\jsm\geometries\DecalGeometry.d.ts
[warn] types\three\examples\jsm\geometries\LightningStrike.d.ts
[warn] types\three\examples\jsm\geometries\ParametricGeometries.d.ts
[warn] types\three\examples\jsm\geometries\ParametricGeometry.d.ts
[warn] types\three\examples\jsm\geometries\RoundedBoxGeometry.d.ts
[warn] types\three\examples\jsm\geometries\TeapotGeometry.d.ts
[warn] types\three\examples\jsm\geometries\TextGeometry.d.ts
[warn] types\three\examples\jsm\helpers\LightProbeHelper.d.ts
[warn] types\three\examples\jsm\helpers\PositionalAudioHelper.d.ts
[warn] types\three\examples\jsm\helpers\RectAreaLightHelper.d.ts
[warn] types\three\examples\jsm\helpers\VertexNormalsHelper.d.ts
[warn] types\three\examples\jsm\helpers\VertexTangentsHelper.d.ts
[warn] types\three\examples\jsm\interactive\HTMLMesh.d.ts
[warn] types\three\examples\jsm\interactive\InteractiveGroup.d.ts
[warn] types\three\examples\jsm\interactive\SelectionBox.d.ts
[warn] types\three\examples\jsm\interactive\SelectionHelper.d.ts
[warn] types\three\examples\jsm\libs\fflate.module.min.d.ts
[warn] types\three\examples\jsm\libs\stats.module.d.ts
[warn] types\three\examples\jsm\lights\LightProbeGenerator.d.ts
[warn] types\three\examples\jsm\lights\RectAreaLightUniformsLib.d.ts
[warn] types\three\examples\jsm\lines\Line2.d.ts
[warn] types\three\examples\jsm\lines\LineGeometry.d.ts
[warn] types\three\examples\jsm\lines\LineMaterial.d.ts
[warn] types\three\examples\jsm\lines\LineSegments2.d.ts
[warn] types\three\examples\jsm\lines\LineSegmentsGeometry.d.ts
[warn] types\three\examples\jsm\lines\Wireframe.d.ts
[warn] types\three\examples\jsm\lines\WireframeGeometry2.d.ts
[warn] types\three\examples\jsm\loaders\3DMLoader.d.ts
[warn] types\three\examples\jsm\loaders\3MFLoader.d.ts
[warn] types\three\examples\jsm\loaders\AMFLoader.d.ts
[warn] types\three\examples\jsm\loaders\BasisTextureLoader.d.ts
[warn] types\three\examples\jsm\loaders\BVHLoader.d.ts
[warn] types\three\examples\jsm\loaders\ColladaLoader.d.ts
[warn] types\three\examples\jsm\loaders\DDSLoader.d.ts
[warn] types\three\examples\jsm\loaders\DRACOLoader.d.ts
[warn] types\three\examples\jsm\loaders\EXRLoader.d.ts
[warn] types\three\examples\jsm\loaders\FBXLoader.d.ts
[warn] types\three\examples\jsm\loaders\FontLoader.d.ts
[warn] types\three\examples\jsm\loaders\GCodeLoader.d.ts
[warn] types\three\examples\jsm\loaders\GLTFLoader.d.ts
[warn] types\three\examples\jsm\loaders\HDRCubeTextureLoader.d.ts
[warn] types\three\examples\jsm\loaders\IFCLoader.d.ts
[warn] types\three\examples\jsm\loaders\KMZLoader.d.ts
[warn] types\three\examples\jsm\loaders\KTX2Loader.d.ts
[warn] types\three\examples\jsm\loaders\KTXLoader.d.ts
[warn] types\three\examples\jsm\loaders\LDrawLoader.d.ts
[warn] types\three\examples\jsm\loaders\LottieLoader.d.ts
[warn] types\three\examples\jsm\loaders\LUT3dlLoader.d.ts
[warn] types\three\examples\jsm\loaders\LUTCubeLoader.d.ts
[warn] types\three\examples\jsm\loaders\LWOLoader.d.ts
[warn] types\three\examples\jsm\loaders\MD2Loader.d.ts
[warn] types\three\examples\jsm\loaders\MDDLoader.d.ts
[warn] types\three\examples\jsm\loaders\MMDLoader.d.ts
[warn] types\three\examples\jsm\loaders\MTLLoader.d.ts
[warn] types\three\examples\jsm\loaders\NRRDLoader.d.ts
[warn] types\three\examples\jsm\loaders\OBJLoader.d.ts
[warn] types\three\examples\jsm\loaders\PCDLoader.d.ts
[warn] types\three\examples\jsm\loaders\PDBLoader.d.ts
[warn] types\three\examples\jsm\loaders\PLYLoader.d.ts
[warn] types\three\examples\jsm\loaders\PRWMLoader.d.ts
[warn] types\three\examples\jsm\loaders\PVRLoader.d.ts
[warn] types\three\examples\jsm\loaders\RGBELoader.d.ts
[warn] types\three\examples\jsm\loaders\RGBMLoader.d.ts
[warn] types\three\examples\jsm\loaders\STLLoader.d.ts
[warn] types\three\examples\jsm\loaders\SVGLoader.d.ts
[warn] types\three\examples\jsm\loaders\TDSLoader.d.ts
[warn] types\three\examples\jsm\loaders\TGALoader.d.ts
[warn] types\three\examples\jsm\loaders\TiltLoader.d.ts
[warn] types\three\examples\jsm\loaders\TTFLoader.d.ts
[warn] types\three\examples\jsm\loaders\VOXLoader.d.ts
[warn] types\three\examples\jsm\loaders\VRMLLoader.d.ts
[warn] types\three\examples\jsm\loaders\VRMLoader.d.ts
[warn] types\three\examples\jsm\loaders\VTKLoader.d.ts
[warn] types\three\examples\jsm\loaders\XYZLoader.d.ts
[warn] types\three\examples\jsm\math\Capsule.d.ts
[warn] types\three\examples\jsm\math\ColorConverter.d.ts
[warn] types\three\examples\jsm\math\ConvexHull.d.ts
[warn] types\three\examples\jsm\math\ImprovedNoise.d.ts
[warn] types\three\examples\jsm\math\Lut.d.ts
[warn] types\three\examples\jsm\math\MeshSurfaceSampler.d.ts
[warn] types\three\examples\jsm\math\OBB.d.ts
[warn] types\three\examples\jsm\math\Octree.d.ts
[warn] types\three\examples\jsm\math\SimplexNoise.d.ts
[warn] types\three\examples\jsm\misc\ConvexObjectBreaker.d.ts
[warn] types\three\examples\jsm\misc\GPUComputationRenderer.d.ts
[warn] types\three\examples\jsm\misc\Gyroscope.d.ts
[warn] types\three\examples\jsm\misc\MD2Character.d.ts
[warn] types\three\examples\jsm\misc\MD2CharacterComplex.d.ts
[warn] types\three\examples\jsm\misc\MorphAnimMesh.d.ts
[warn] types\three\examples\jsm\misc\MorphBlendMesh.d.ts
[warn] types\three\examples\jsm\misc\ProgressiveLightMap.d.ts
[warn] types\three\examples\jsm\misc\RollerCoaster.d.ts
[warn] types\three\examples\jsm\misc\TubePainter.d.ts
[warn] types\three\examples\jsm\misc\Volume.d.ts
[warn] types\three\examples\jsm\misc\VolumeSlice.d.ts
[warn] types\three\examples\jsm\modifiers\CurveModifier.d.ts
[warn] types\three\examples\jsm\modifiers\EdgeSplitModifier.d.ts
[warn] types\three\examples\jsm\modifiers\SimplifyModifier.d.ts
[warn] types\three\examples\jsm\modifiers\TessellateModifier.d.ts
[warn] types\three\examples\jsm\nodes\accessors\CameraNode.d.ts
[warn] types\three\examples\jsm\nodes\accessors\ColorsNode.d.ts
[warn] types\three\examples\jsm\nodes\accessors\LightNode.d.ts
[warn] types\three\examples\jsm\nodes\accessors\NormalNode.d.ts
[warn] types\three\examples\jsm\nodes\accessors\PositionNode.d.ts
[warn] types\three\examples\jsm\nodes\accessors\ReflectNode.d.ts
[warn] types\three\examples\jsm\nodes\accessors\ResolutionNode.d.ts
[warn] types\three\examples\jsm\nodes\accessors\ScreenUVNode.d.ts
[warn] types\three\examples\jsm\nodes\accessors\UVNode.d.ts
[warn] types\three\examples\jsm\nodes\core\AttributeNode.d.ts
[warn] types\three\examples\jsm\nodes\core\ConstNode.d.ts
[warn] types\three\examples\jsm\nodes\core\ExpressionNode.d.ts
[warn] types\three\examples\jsm\nodes\core\FunctionCallNode.d.ts
[warn] types\three\examples\jsm\nodes\core\FunctionNode.d.ts
[warn] types\three\examples\jsm\nodes\core\InputNode.d.ts
[warn] types\three\examples\jsm\nodes\core\Node.d.ts
[warn] types\three\examples\jsm\nodes\core\NodeBuilder.d.ts
[warn] types\three\examples\jsm\nodes\core\NodeFrame.d.ts
[warn] types\three\examples\jsm\nodes\core\NodeLib.d.ts
[warn] types\three\examples\jsm\nodes\core\NodeUniform.d.ts
[warn] types\three\examples\jsm\nodes\core\NodeUtils.d.ts
[warn] types\three\examples\jsm\nodes\core\StructNode.d.ts
[warn] types\three\examples\jsm\nodes\core\TempNode.d.ts
[warn] types\three\examples\jsm\nodes\core\VarNode.d.ts
[warn] types\three\examples\jsm\nodes\effects\BlurNode.d.ts
[warn] types\three\examples\jsm\nodes\effects\ColorAdjustmentNode.d.ts
[warn] types\three\examples\jsm\nodes\effects\LuminanceNode.d.ts
[warn] types\three\examples\jsm\nodes\inputs\BoolNode.d.ts
[warn] types\three\examples\jsm\nodes\inputs\ColorNode.d.ts
[warn] types\three\examples\jsm\nodes\inputs\CubeTextureNode.d.ts
[warn] types\three\examples\jsm\nodes\inputs\FloatNode.d.ts
[warn] types\three\examples\jsm\nodes\inputs\IntNode.d.ts
[warn] types\three\examples\jsm\nodes\inputs\Matrix3Node.d.ts
[warn] types\three\examples\jsm\nodes\inputs\Matrix4Node.d.ts
[warn] types\three\examples\jsm\nodes\inputs\PropertyNode.d.ts
[warn] types\three\examples\jsm\nodes\inputs\ReflectorNode.d.ts
[warn] types\three\examples\jsm\nodes\inputs\RTTNode.d.ts
[warn] types\three\examples\jsm\nodes\inputs\ScreenNode.d.ts
[warn] types\three\examples\jsm\nodes\inputs\TextureNode.d.ts
[warn] types\three\examples\jsm\nodes\inputs\Vector2Node.d.ts
[warn] types\three\examples\jsm\nodes\inputs\Vector3Node.d.ts
[warn] types\three\examples\jsm\nodes\inputs\Vector4Node.d.ts
[warn] types\three\examples\jsm\nodes\materials\BasicNodeMaterial.d.ts
[warn] types\three\examples\jsm\nodes\materials\MeshStandardNodeMaterial.d.ts
[warn] types\three\examples\jsm\nodes\materials\NodeMaterial.d.ts
[warn] types\three\examples\jsm\nodes\materials\nodes\BasicNode.d.ts
[warn] types\three\examples\jsm\nodes\materials\nodes\MeshStandardNode.d.ts
[warn] types\three\examples\jsm\nodes\materials\nodes\PhongNode.d.ts
[warn] types\three\examples\jsm\nodes\materials\nodes\RawNode.d.ts
[warn] types\three\examples\jsm\nodes\materials\nodes\SpriteNode.d.ts
[warn] types\three\examples\jsm\nodes\materials\nodes\StandardNode.d.ts
[warn] types\three\examples\jsm\nodes\materials\PhongNodeMaterial.d.ts
[warn] types\three\examples\jsm\nodes\materials\SpriteNodeMaterial.d.ts
[warn] types\three\examples\jsm\nodes\materials\StandardNodeMaterial.d.ts
[warn] types\three\examples\jsm\nodes\math\CondNode.d.ts
[warn] types\three\examples\jsm\nodes\math\MathNode.d.ts
[warn] types\three\examples\jsm\nodes\math\OperatorNode.d.ts
[warn] types\three\examples\jsm\nodes\misc\BumpMapNode.d.ts
[warn] types\three\examples\jsm\nodes\misc\NormalMapNode.d.ts
[warn] types\three\examples\jsm\nodes\misc\TextureCubeNode.d.ts
[warn] types\three\examples\jsm\nodes\misc\TextureCubeUVNode.d.ts
[warn] types\three\examples\jsm\nodes\Nodes.d.ts
[warn] types\three\examples\jsm\nodes\postprocessing\NodePass.d.ts
[warn] types\three\examples\jsm\nodes\postprocessing\NodePostProcessing.d.ts
[warn] types\three\examples\jsm\nodes\procedural\CheckerNode.d.ts
[warn] types\three\examples\jsm\nodes\procedural\NoiseNode.d.ts
[warn] types\three\examples\jsm\nodes\utils\BypassNode.d.ts
[warn] types\three\examples\jsm\nodes\utils\ColorSpaceNode.d.ts
[warn] types\three\examples\jsm\nodes\utils\JoinNode.d.ts
[warn] types\three\examples\jsm\nodes\utils\MaxMIPLevelNode.d.ts
[warn] types\three\examples\jsm\nodes\utils\SpecularMIPLevelNode.d.ts
[warn] types\three\examples\jsm\nodes\utils\SubSlot.d.ts
[warn] types\three\examples\jsm\nodes\utils\SwitchNode.d.ts
[warn] types\three\examples\jsm\nodes\utils\TimerNode.d.ts
[warn] types\three\examples\jsm\nodes\utils\UVTransformNode.d.ts
[warn] types\three\examples\jsm\nodes\utils\VelocityNode.d.ts
[warn] types\three\examples\jsm\objects\Lensflare.d.ts
[warn] types\three\examples\jsm\objects\LightningStorm.d.ts
[warn] types\three\examples\jsm\objects\MarchingCubes.d.ts
[warn] types\three\examples\jsm\objects\Reflector.d.ts
[warn] types\three\examples\jsm\objects\ReflectorForSSRPass.d.ts
[warn] types\three\examples\jsm\objects\ReflectorRTT.d.ts
[warn] types\three\examples\jsm\objects\Refractor.d.ts
[warn] types\three\examples\jsm\objects\ShadowMesh.d.ts
[warn] types\three\examples\jsm\objects\Sky.d.ts
[warn] types\three\examples\jsm\objects\Water.d.ts
[warn] types\three\examples\jsm\objects\Water2.d.ts
[warn] types\three\examples\jsm\physics\AmmoPhysics.d.ts
[warn] types\three\examples\jsm\postprocessing\AdaptiveToneMappingPass.d.ts
[warn] types\three\examples\jsm\postprocessing\AfterimagePass.d.ts
[warn] types\three\examples\jsm\postprocessing\BloomPass.d.ts
[warn] types\three\examples\jsm\postprocessing\BokehPass.d.ts
[warn] types\three\examples\jsm\postprocessing\ClearPass.d.ts
[warn] types\three\examples\jsm\postprocessing\CubeTexturePass.d.ts
[warn] types\three\examples\jsm\postprocessing\DotScreenPass.d.ts
[warn] types\three\examples\jsm\postprocessing\EffectComposer.d.ts
[warn] types\three\examples\jsm\postprocessing\FilmPass.d.ts
[warn] types\three\examples\jsm\postprocessing\GlitchPass.d.ts
[warn] types\three\examples\jsm\postprocessing\HalftonePass.d.ts
[warn] types\three\examples\jsm\postprocessing\LUTPass.d.ts
[warn] types\three\examples\jsm\postprocessing\MaskPass.d.ts
[warn] types\three\examples\jsm\postprocessing\OutlinePass.d.ts
[warn] types\three\examples\jsm\postprocessing\Pass.d.ts
[warn] types\three\examples\jsm\postprocessing\RenderPass.d.ts
[warn] types\three\examples\jsm\postprocessing\SAOPass.d.ts
[warn] types\three\examples\jsm\postprocessing\SavePass.d.ts
[warn] types\three\examples\jsm\postprocessing\ShaderPass.d.ts
[warn] types\three\examples\jsm\postprocessing\SMAAPass.d.ts
[warn] types\three\examples\jsm\postprocessing\SSAARenderPass.d.ts
[warn] types\three\examples\jsm\postprocessing\SSAOPass.d.ts
[warn] types\three\examples\jsm\postprocessing\SSRPass.d.ts
[warn] types\three\examples\jsm\postprocessing\SSRrPass.d.ts
[warn] types\three\examples\jsm\postprocessing\TAARenderPass.d.ts
[warn] types\three\examples\jsm\postprocessing\TexturePass.d.ts
[warn] types\three\examples\jsm\postprocessing\UnrealBloomPass.d.ts
[warn] types\three\examples\jsm\renderers\CSS2DRenderer.d.ts
[warn] types\three\examples\jsm\renderers\CSS3DRenderer.d.ts
[warn] types\three\examples\jsm\renderers\Projector.d.ts
[warn] types\three\examples\jsm\renderers\SVGRenderer.d.ts
[warn] types\three\examples\jsm\shaders\AfterimageShader.d.ts
[warn] types\three\examples\jsm\shaders\BasicShader.d.ts
[warn] types\three\examples\jsm\shaders\BleachBypassShader.d.ts
[warn] types\three\examples\jsm\shaders\BlendShader.d.ts
[warn] types\three\examples\jsm\shaders\BokehShader.d.ts
[warn] types\three\examples\jsm\shaders\BokehShader2.d.ts
[warn] types\three\examples\jsm\shaders\BrightnessContrastShader.d.ts
[warn] types\three\examples\jsm\shaders\ColorCorrectionShader.d.ts
[warn] types\three\examples\jsm\shaders\ColorifyShader.d.ts
[warn] types\three\examples\jsm\shaders\ConvolutionShader.d.ts
[warn] types\three\examples\jsm\shaders\CopyShader.d.ts
[warn] types\three\examples\jsm\shaders\DepthLimitedBlurShader.d.ts
[warn] types\three\examples\jsm\shaders\DigitalGlitch.d.ts
[warn] types\three\examples\jsm\shaders\DOFMipMapShader.d.ts
[warn] types\three\examples\jsm\shaders\DotScreenShader.d.ts
[warn] types\three\examples\jsm\shaders\FilmShader.d.ts
[warn] types\three\examples\jsm\shaders\FocusShader.d.ts
[warn] types\three\examples\jsm\shaders\FreiChenShader.d.ts
[warn] types\three\examples\jsm\shaders\FXAAShader.d.ts
[warn] types\three\examples\jsm\shaders\GammaCorrectionShader.d.ts
[warn] types\three\examples\jsm\shaders\GodRaysShader.d.ts
[warn] types\three\examples\jsm\shaders\HalftoneShader.d.ts
[warn] types\three\examples\jsm\shaders\HorizontalBlurShader.d.ts
[warn] types\three\examples\jsm\shaders\HorizontalTiltShiftShader.d.ts
[warn] types\three\examples\jsm\shaders\HueSaturationShader.d.ts
[warn] types\three\examples\jsm\shaders\KaleidoShader.d.ts
[warn] types\three\examples\jsm\shaders\LuminosityHighPassShader.d.ts
[warn] types\three\examples\jsm\shaders\LuminosityShader.d.ts
[warn] types\three\examples\jsm\shaders\MirrorShader.d.ts
[warn] types\three\examples\jsm\shaders\NormalMapShader.d.ts
[warn] types\three\examples\jsm\shaders\PixelShader.d.ts
[warn] types\three\examples\jsm\shaders\RGBShiftShader.d.ts
[warn] types\three\examples\jsm\shaders\SAOShader.d.ts
[warn] types\three\examples\jsm\shaders\SepiaShader.d.ts
[warn] types\three\examples\jsm\shaders\SMAAShader.d.ts
[warn] types\three\examples\jsm\shaders\SobelOperatorShader.d.ts
[warn] types\three\examples\jsm\shaders\SSAOShader.d.ts
[warn] types\three\examples\jsm\shaders\SSRrShader.d.ts
[warn] types\three\examples\jsm\shaders\SSRShader.d.ts
[warn] types\three\examples\jsm\shaders\SubsurfaceScatteringShader.d.ts
[warn] types\three\examples\jsm\shaders\TechnicolorShader.d.ts
[warn] types\three\examples\jsm\shaders\ToneMapShader.d.ts
[warn] types\three\examples\jsm\shaders\ToonShader.d.ts
[warn] types\three\examples\jsm\shaders\TriangleBlurShader.d.ts
[warn] types\three\examples\jsm\shaders\UnpackDepthRGBAShader.d.ts
[warn] types\three\examples\jsm\shaders\VerticalBlurShader.d.ts
[warn] types\three\examples\jsm\shaders\VerticalTiltShiftShader.d.ts
[warn] types\three\examples\jsm\shaders\VignetteShader.d.ts
[warn] types\three\examples\jsm\shaders\VolumeShader.d.ts
[warn] types\three\examples\jsm\shaders\WaterRefractionShader.d.ts
[warn] types\three\examples\jsm\utils\BufferGeometryUtils.d.ts
[warn] types\three\examples\jsm\utils\CameraUtils.d.ts
[warn] types\three\examples\jsm\utils\GeometryCompressionUtils.d.ts
[warn] types\three\examples\jsm\utils\GeometryUtils.d.ts
[warn] types\three\examples\jsm\utils\RoughnessMipmapper.d.ts
[warn] types\three\examples\jsm\utils\SceneUtils.d.ts
[warn] types\three\examples\jsm\utils\ShadowMapViewer.d.ts
[warn] types\three\examples\jsm\utils\SkeletonUtils.d.ts
[warn] types\three\examples\jsm\utils\UVsDebug.d.ts
[warn] types\three\examples\jsm\WebGL.d.ts
[warn] types\three\examples\jsm\webxr\ARButton.d.ts
[warn] types\three\examples\jsm\webxr\OculusHandModel.d.ts
[warn] types\three\examples\jsm\webxr\OculusHandPointerModel.d.ts
[warn] types\three\examples\jsm\webxr\Text2D.d.ts
[warn] types\three\examples\jsm\webxr\VRButton.d.ts
[warn] types\three\examples\jsm\webxr\XRControllerModelFactory.d.ts
[warn] types\three\examples\jsm\webxr\XREstimatedLight.d.ts
[warn] types\three\examples\jsm\webxr\XRHandMeshModel.d.ts
[warn] types\three\examples\jsm\webxr\XRHandModelFactory.d.ts
[warn] types\three\examples\jsm\webxr\XRHandPrimitiveModel.d.ts
[warn] types\three\index.d.ts
[warn] types\three\src\animation\AnimationAction.d.ts
[warn] types\three\src\animation\AnimationClip.d.ts
[warn] types\three\src\animation\AnimationMixer.d.ts
[warn] types\three\src\animation\AnimationObjectGroup.d.ts
[warn] types\three\src\animation\AnimationUtils.d.ts
[warn] types\three\src\animation\KeyframeTrack.d.ts
[warn] types\three\src\animation\PropertyBinding.d.ts
[warn] types\three\src\animation\PropertyMixer.d.ts
[warn] types\three\src\animation\tracks\BooleanKeyframeTrack.d.ts
[warn] types\three\src\animation\tracks\ColorKeyframeTrack.d.ts
[warn] types\three\src\animation\tracks\NumberKeyframeTrack.d.ts
[warn] types\three\src\animation\tracks\QuaternionKeyframeTrack.d.ts
[warn] types\three\src\animation\tracks\StringKeyframeTrack.d.ts
[warn] types\three\src\animation\tracks\VectorKeyframeTrack.d.ts
[warn] types\three\src\audio\Audio.d.ts
[warn] types\three\src\audio\AudioAnalyser.d.ts
[warn] types\three\src\audio\AudioContext.d.ts
[warn] types\three\src\audio\AudioListener.d.ts
[warn] types\three\src\audio\PositionalAudio.d.ts
[warn] types\three\src\cameras\ArrayCamera.d.ts
[warn] types\three\src\cameras\Camera.d.ts
[warn] types\three\src\cameras\CubeCamera.d.ts
[warn] types\three\src\cameras\OrthographicCamera.d.ts
[warn] types\three\src\cameras\PerspectiveCamera.d.ts
[warn] types\three\src\cameras\StereoCamera.d.ts
[warn] types\three\src\constants.d.ts
[warn] types\three\src\core\BufferAttribute.d.ts
[warn] types\three\src\core\BufferGeometry.d.ts
[warn] types\three\src\core\Clock.d.ts
[warn] types\three\src\core\EventDispatcher.d.ts
[warn] types\three\src\core\GLBufferAttribute.d.ts
[warn] types\three\src\core\InstancedBufferAttribute.d.ts
[warn] types\three\src\core\InstancedBufferGeometry.d.ts
[warn] types\three\src\core\InstancedInterleavedBuffer.d.ts
[warn] types\three\src\core\InterleavedBuffer.d.ts
[warn] types\three\src\core\InterleavedBufferAttribute.d.ts
[warn] types\three\src\core\Layers.d.ts
[warn] types\three\src\core\Object3D.d.ts
[warn] types\three\src\core\Raycaster.d.ts
[warn] types\three\src\core\Uniform.d.ts
[warn] types\three\src\extras\core\Curve.d.ts
[warn] types\three\src\extras\core\CurvePath.d.ts
[warn] types\three\src\extras\core\Path.d.ts
[warn] types\three\src\extras\core\Shape.d.ts
[warn] types\three\src\extras\core\ShapePath.d.ts
[warn] types\three\src\extras\curves\ArcCurve.d.ts
[warn] types\three\src\extras\curves\CatmullRomCurve3.d.ts
[warn] types\three\src\extras\curves\CubicBezierCurve.d.ts
[warn] types\three\src\extras\curves\CubicBezierCurve3.d.ts
[warn] types\three\src\extras\curves\Curves.d.ts
[warn] types\three\src\extras\curves\EllipseCurve.d.ts
[warn] types\three\src\extras\curves\LineCurve.d.ts
[warn] types\three\src\extras\curves\LineCurve3.d.ts
[warn] types\three\src\extras\curves\QuadraticBezierCurve.d.ts
[warn] types\three\src\extras\curves\QuadraticBezierCurve3.d.ts
[warn] types\three\src\extras\curves\SplineCurve.d.ts
[warn] types\three\src\extras\DataUtils.d.ts
[warn] types\three\src\extras\ImageUtils.d.ts
[warn] types\three\src\extras\PMREMGenerator.d.ts
[warn] types\three\src\extras\ShapeUtils.d.ts
[warn] types\three\src\geometries\BoxGeometry.d.ts
[warn] types\three\src\geometries\CircleGeometry.d.ts
[warn] types\three\src\geometries\ConeGeometry.d.ts
[warn] types\three\src\geometries\CylinderGeometry.d.ts
[warn] types\three\src\geometries\DodecahedronGeometry.d.ts
[warn] types\three\src\geometries\EdgesGeometry.d.ts
[warn] types\three\src\geometries\ExtrudeGeometry.d.ts
[warn] types\three\src\geometries\Geometries.d.ts
[warn] types\three\src\geometries\IcosahedronGeometry.d.ts
[warn] types\three\src\geometries\LatheGeometry.d.ts
[warn] types\three\src\geometries\OctahedronGeometry.d.ts
[warn] types\three\src\geometries\PlaneGeometry.d.ts
[warn] types\three\src\geometries\PolyhedronGeometry.d.ts
[warn] types\three\src\geometries\RingGeometry.d.ts
[warn] types\three\src\geometries\ShapeGeometry.d.ts
[warn] types\three\src\geometries\SphereGeometry.d.ts
[warn] types\three\src\geometries\TetrahedronGeometry.d.ts
[warn] types\three\src\geometries\TorusGeometry.d.ts
[warn] types\three\src\geometries\TorusKnotGeometry.d.ts
[warn] types\three\src\geometries\TubeGeometry.d.ts
[warn] types\three\src\geometries\WireframeGeometry.d.ts
[warn] types\three\src\helpers\ArrowHelper.d.ts
[warn] types\three\src\helpers\AxesHelper.d.ts
[warn] types\three\src\helpers\Box3Helper.d.ts
[warn] types\three\src\helpers\BoxHelper.d.ts
[warn] types\three\src\helpers\CameraHelper.d.ts
[warn] types\three\src\helpers\DirectionalLightHelper.d.ts
[warn] types\three\src\helpers\GridHelper.d.ts
[warn] types\three\src\helpers\HemisphereLightHelper.d.ts
[warn] types\three\src\helpers\PlaneHelper.d.ts
[warn] types\three\src\helpers\PointLightHelper.d.ts
[warn] types\three\src\helpers\PolarGridHelper.d.ts
[warn] types\three\src\helpers\SkeletonHelper.d.ts
[warn] types\three\src\helpers\SpotLightHelper.d.ts
[warn] types\three\src\lights\AmbientLight.d.ts
[warn] types\three\src\lights\AmbientLightProbe.d.ts
[warn] types\three\src\lights\DirectionalLight.d.ts
[warn] types\three\src\lights\DirectionalLightShadow.d.ts
[warn] types\three\src\lights\HemisphereLight.d.ts
[warn] types\three\src\lights\HemisphereLightProbe.d.ts
[warn] types\three\src\lights\Light.d.ts
[warn] types\three\src\lights\LightProbe.d.ts
[warn] types\three\src\lights\LightShadow.d.ts
[warn] types\three\src\lights\PointLight.d.ts
[warn] types\three\src\lights\PointLightShadow.d.ts
[warn] types\three\src\lights\RectAreaLight.d.ts
[warn] types\three\src\lights\SpotLight.d.ts
[warn] types\three\src\lights\SpotLightShadow.d.ts
[warn] types\three\src\loaders\AnimationLoader.d.ts
[warn] types\three\src\loaders\AudioLoader.d.ts
[warn] types\three\src\loaders\BufferGeometryLoader.d.ts
[warn] types\three\src\loaders\Cache.d.ts
[warn] types\three\src\loaders\CompressedTextureLoader.d.ts
[warn] types\three\src\loaders\CubeTextureLoader.d.ts
[warn] types\three\src\loaders\DataTextureLoader.d.ts
[warn] types\three\src\loaders\FileLoader.d.ts
[warn] types\three\src\loaders\ImageBitmapLoader.d.ts
[warn] types\three\src\loaders\ImageLoader.d.ts
[warn] types\three\src\loaders\Loader.d.ts
[warn] types\three\src\loaders\LoaderUtils.d.ts
[warn] types\three\src\loaders\LoadingManager.d.ts
[warn] types\three\src\loaders\MaterialLoader.d.ts
[warn] types\three\src\loaders\ObjectLoader.d.ts
[warn] types\three\src\loaders\TextureLoader.d.ts
[warn] types\three\src\materials\LineBasicMaterial.d.ts
[warn] types\three\src\materials\LineDashedMaterial.d.ts
[warn] types\three\src\materials\Material.d.ts
[warn] types\three\src\materials\Materials.d.ts
[warn] types\three\src\materials\MeshBasicMaterial.d.ts
[warn] types\three\src\materials\MeshDepthMaterial.d.ts
[warn] types\three\src\materials\MeshDistanceMaterial.d.ts
[warn] types\three\src\materials\MeshLambertMaterial.d.ts
[warn] types\three\src\materials\MeshMatcapMaterial.d.ts
[warn] types\three\src\materials\MeshNormalMaterial.d.ts
[warn] types\three\src\materials\MeshPhongMaterial.d.ts
[warn] types\three\src\materials\MeshPhysicalMaterial.d.ts
[warn] types\three\src\materials\MeshStandardMaterial.d.ts
[warn] types\three\src\materials\MeshToonMaterial.d.ts
[warn] types\three\src\materials\PointsMaterial.d.ts
[warn] types\three\src\materials\RawShaderMaterial.d.ts
[warn] types\three\src\materials\ShaderMaterial.d.ts
[warn] types\three\src\materials\ShadowMaterial.d.ts
[warn] types\three\src\materials\SpriteMaterial.d.ts
[warn] types\three\src\math\Box2.d.ts
[warn] types\three\src\math\Box3.d.ts
[warn] types\three\src\math\Color.d.ts
[warn] types\three\src\math\Cylindrical.d.ts
[warn] types\three\src\math\Euler.d.ts
[warn] types\three\src\math\Frustum.d.ts
[warn] types\three\src\math\Interpolant.d.ts
[warn] types\three\src\math\interpolants\CubicInterpolant.d.ts
[warn] types\three\src\math\interpolants\DiscreteInterpolant.d.ts
[warn] types\three\src\math\interpolants\LinearInterpolant.d.ts
[warn] types\three\src\math\interpolants\QuaternionLinearInterpolant.d.ts
[warn] types\three\src\math\Line3.d.ts
[warn] types\three\src\math\MathUtils.d.ts
[warn] types\three\src\math\Matrix3.d.ts
[warn] types\three\src\math\Matrix4.d.ts
[warn] types\three\src\math\Plane.d.ts
[warn] types\three\src\math\Quaternion.d.ts
[warn] types\three\src\math\Ray.d.ts
[warn] types\three\src\math\Sphere.d.ts
[warn] types\three\src\math\Spherical.d.ts
[warn] types\three\src\math\SphericalHarmonics3.d.ts
[warn] types\three\src\math\Triangle.d.ts
[warn] types\three\src\math\Vector2.d.ts
[warn] types\three\src\math\Vector3.d.ts
[warn] types\three\src\math\Vector4.d.ts
[warn] types\three\src\objects\Bone.d.ts
[warn] types\three\src\objects\Group.d.ts
[warn] types\three\src\objects\InstancedMesh.d.ts
[warn] types\three\src\objects\Line.d.ts
[warn] types\three\src\objects\LineLoop.d.ts
[warn] types\three\src\objects\LineSegments.d.ts
[warn] types\three\src\objects\LOD.d.ts
[warn] types\three\src\objects\Mesh.d.ts
[warn] types\three\src\objects\Points.d.ts
[warn] types\three\src\objects\Skeleton.d.ts
[warn] types\three\src\objects\SkinnedMesh.d.ts
[warn] types\three\src\objects\Sprite.d.ts
[warn] types\three\src\renderers\shaders\ShaderChunk.d.ts
[warn] types\three\src\renderers\shaders\ShaderLib.d.ts
[warn] types\three\src\renderers\shaders\UniformsLib.d.ts
[warn] types\three\src\renderers\shaders\UniformsUtils.d.ts
[warn] types\three\src\renderers\webgl\WebGLAttributes.d.ts
[warn] types\three\src\renderers\webgl\WebGLBindingStates.d.ts
[warn] types\three\src\renderers\webgl\WebGLBufferRenderer.d.ts
[warn] types\three\src\renderers\webgl\WebGLCapabilities.d.ts
[warn] types\three\src\renderers\webgl\WebGLClipping.d.ts
[warn] types\three\src\renderers\webgl\WebGLCubeMaps.d.ts
[warn] types\three\src\renderers\webgl\WebGLCubeUVMaps.d.ts
[warn] types\three\src\renderers\webgl\WebGLExtensions.d.ts
[warn] types\three\src\renderers\webgl\WebGLGeometries.d.ts
[warn] types\three\src\renderers\webgl\WebGLIndexedBufferRenderer.d.ts
[warn] types\three\src\renderers\webgl\WebGLInfo.d.ts
[warn] types\three\src\renderers\webgl\WebGLLights.d.ts
[warn] types\three\src\renderers\webgl\WebGLObjects.d.ts
[warn] types\three\src\renderers\webgl\WebGLProgram.d.ts
[warn] types\three\src\renderers\webgl\WebGLPrograms.d.ts
[warn] types\three\src\renderers\webgl\WebGLProperties.d.ts
[warn] types\three\src\renderers\webgl\WebGLRenderLists.d.ts
[warn] types\three\src\renderers\webgl\WebGLShader.d.ts
[warn] types\three\src\renderers\webgl\WebGLShadowMap.d.ts
[warn] types\three\src\renderers\webgl\WebGLState.d.ts
[warn] types\three\src\renderers\webgl\WebGLTextures.d.ts
[warn] types\three\src\renderers\webgl\WebGLUniforms.d.ts
[warn] types\three\src\renderers\webgl\WebGLUtils.d.ts
[warn] types\three\src\renderers\WebGL1Renderer.d.ts
[warn] types\three\src\renderers\WebGLCubeRenderTarget.d.ts
[warn] types\three\src\renderers\WebGLMultipleRenderTargets.d.ts
[warn] types\three\src\renderers\WebGLMultisampleRenderTarget.d.ts
[warn] types\three\src\renderers\WebGLRenderer.d.ts
[warn] types\three\src\renderers\WebGLRenderTarget.d.ts
[warn] types\three\src\renderers\webxr\WebXR.d.ts
[warn] types\three\src\renderers\webxr\WebXRController.d.ts
[warn] types\three\src\renderers\webxr\WebXRManager.d.ts
[warn] types\three\src\scenes\Fog.d.ts
[warn] types\three\src\scenes\FogExp2.d.ts
[warn] types\three\src\scenes\Scene.d.ts
[warn] types\three\src\textures\CanvasTexture.d.ts
[warn] types\three\src\textures\CompressedTexture.d.ts
[warn] types\three\src\textures\CubeTexture.d.ts
[warn] types\three\src\textures\DataTexture.d.ts
[warn] types\three\src\textures\DataTexture2DArray.d.ts
[warn] types\three\src\textures\DataTexture3D.d.ts
[warn] types\three\src\textures\DepthTexture.d.ts
[warn] types\three\src\textures\Texture.d.ts
[warn] types\three\src\textures\VideoTexture.d.ts
[warn] types\three\src\Three.d.ts
[warn] types\three\src\Three.Legacy.d.ts
[warn] types\three\src\utils.d.ts
[warn] types\three\test\buffergeometry\buffergeometry-instancing-interleaved.ts
[warn] types\three\test\cameras\camera-array.ts
[warn] types\three\test\cameras\camera-cinematic.ts
[warn] types\three\test\cameras\camera.ts
[warn] types\three\test\controls\controls-arcballcontrols.ts
[warn] types\three\test\controls\controls-transformcontrols.ts
[warn] types\three\test\core\core-eventDispatcher.ts
[warn] types\three\test\geometries\geometry-buffer.ts
[warn] types\three\test\geometries\geometry-cube.ts
[warn] types\three\test\geometries\geometry-parametric.ts
[warn] types\three\test\geometries\geometry-shapes.ts
[warn] types\three\test\lights\lights-hemisphere.ts
[warn] types\three\test\lights\lights-physical.ts
[warn] types\three\test\lights\lights-pointlights.ts
[warn] types\three\test\lights\lights-pointlights2.ts
[warn] types\three\test\lights\lights-rectarealight.ts
[warn] types\three\test\lights\lights-spotlight.ts
[warn] types\three\test\lines\lines-line2.ts
[warn] types\three\test\loaders\loaders-gltfloader-extensions.ts
[warn] types\three\test\loaders\loaders-gltfloader-plugin.ts
[warn] types\three\test\loaders\loaders-ifc.ts
[warn] types\three\test\loaders\loaders-mmdanimation.ts
[warn] types\three\test\loaders\loaders-obj-mtl.ts
[warn] types\three\test\loaders\loaders-svgloader.ts
[warn] types\three\test\loaders\loaders-tgaloader.ts
[warn] types\three\test\loaders\loaders-voxloader.ts
[warn] types\three\test\materials\materials-envmaps-hdr.ts
[warn] types\three\test\materials\materials-texture3d-partialupdate.ts
[warn] types\three\test\materials\materials-variations-basic.ts
[warn] types\three\test\materials\materials-variations-lambert.ts
[warn] types\three\test\materials\materials-variations-phong.ts
[warn] types\three\test\materials\materials-variations-physical.ts
[warn] types\three\test\materials\materials-variations-standard.ts
[warn] types\three\test\misc\misc-gpucomputationrender.ts
[warn] types\three\test\modifiers\modifiers-tessellation.ts
[warn] types\three\test\objects\instanced-mesh.ts
[warn] types\three\test\objects\objects-reflector.ts
[warn] types\three\test\postprocessing\postprocessing-effectcomposer-pass.ts
[warn] types\three\test\postprocessing\postprocessing-ssr.ts
[warn] types\three\test\postprocessing\postprocessing-ssrr.ts
[warn] types\three\test\renderers\renderers-renderTarget-multiple.ts
[warn] types\three\test\renderers\renderers-renderTarget-texture2DArray.ts
[warn] types\three\test\renderers\webxr\webxr-vr-cube.ts
[warn] types\three\test\shadowmap\shadowmap-progressive.ts
[warn] types\three\test\shadowmap\shadowmap-vsm.ts
[warn] types\three\test\utils\utils-webgl-marchingcubes.ts
[warn] types\three\test\utils\utils-webgl-portal.ts
[warn] types\three\test\webxr\webxr-ar-lighting.ts
[warn] types\three\test\webxr\webxr-vr-handinput-cubes.ts
[warn] types\three\three-tests.ts
[warn] types\three\tsconfig.json
[warn] types\three\tslint.json
[warn] Code style issues found in the above file(s). Forgot to run Prettier?
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
husky - pre-commit hook exited with code 1 (error)

Suggested solution:

I tried adding .gitattributes refs prettier/prettier#7825 , but it has not helped

Add policy for undocumented public items

Describe the feature you'd like:

Since types have to model 1:1, this will expose all items including the undocumented ones which are not supposed to be 'public', i suggest adding @remarks to those items:

ex. Euler.d.ts

/**
 * @remarks
 * This item is not mentioned on the threejs docs.
 **/
static RotationOrders: string[];

ex. mrdoob/three.js#23466

/**
 * @remarks
 * This item is not mentioned on the threejs docs.
 **/
setTexture( .. );

In case the items are removed from the src:

- /**
-  * @remarks
-  * This item is not mentioned on the threejs docs.
-  **/
-  setTexture( .. );

SkinnedMesh is missing method boneTransform

  • three version: 126

Problem description:

In BufferGeometryUtils.computeMorphedAttributes the passed argument is Mesh | Line | Point and checks for object.isSkinnedMesh it then tries to call boneTransform on the object, which exists in the method, but was assumed to be private as it's not in the documentation, but from this call here it's apparent the method should be public?

Relevant code:

Taken from BufferGeometryUtils.computeMorphedAttributes

if (object.isSkinnedMesh) {
      object.boneTransform(a, _vA)
      object.boneTransform(b, _vB)
      object.boneTransform(c, _vC)
}

Suggested solution:

export class SkinnedMesh<
    TGeometry extends BufferGeometry = BufferGeometry,
    TMaterial extends Material | Material[] = Material | Material[]
> extends Mesh<TGeometry, TMaterial> {
    constructor(geometry?: TGeometry, material?: TMaterial, useVertexTexture?: boolean);

    bindMode: string;
    bindMatrix: Matrix4;
    bindMatrixInverse: Matrix4;
    skeleton: Skeleton;
    readonly isSkinnedMesh: true;

    bind(skeleton: Skeleton, bindMatrix?: Matrix4): void;
    pose(): void;
    normalizeSkinWeights(): void;
    updateMatrixWorld(force?: boolean): void;
    boneTransform(index: number, target: Vector3): Vector3; // added this here
}

r129

Issue Tracker

This is used to track potential issues we need to investigate surrounding the r129 release.

Last checked: mrdoob/three.js@d39d82999f (27 / 05 / 21).

Quaternion types are missing

  • three: 0.131.3
  • node: 10.16.3
  • npm (or yarn) version: 1.19.0

Problem description:

The new Quaternion.d.ts is missing at least some important types

The latest version of @types/three, the following static method typing is missing from Quaternion.d.ts:

	static slerp(
		qa: Quaternion,
		qb: Quaternion,
		qm: Quaternion,
		t: number
	): Quaternion;

even though this is a static function in Quaternion.js (r130)

Suggested solution:

Copy over the types

Getting TS error about a property `does not exist on type 'Material | Material[]'`

What is your question:

I'm new to TS and three.js so I must be missing something basic. I can't figure out why I'm getting this error

index.ts:4:15 - error TS2339: Property 'depthTest' does not exist on type 'Material | Material[]'.
Property 'depthTest' does not exist on type 'Material[]'.

4 axes.material.depthTest = false;  // error Property 'depthTest' does not exist on type 'Material | Material[]'.

I was converting a working plain js version of a three.js tutorial to ts, and fixed all of the issues but this one. I've googled the heck out it ... I setup a simple program to simplify the issue, but I'm still stumped!

index.js

import * as THREE from "three";

const axes = new THREE.AxesHelper();
axes.material.depthTest = false;  // error Property 'depthTest' does not exist on type 'Material | Material[]'.
                                  // Property 'depthTest' does not exist on type 'Material[]'.

It seems to freak-out on the line from LineSegments.d.ts, maybe?
TMaterial extends Material | Material[] = Material | Material[]

Honestly, I'm confused by the | ... If I comment out the last | Material[] (e.g. // | Material[]) then the error goes away.
So, I'm confused :( Can't figure out what I'm doing wrong. Any info would be great!

(Oh, and it still compiles and runs fine despite the ts error!)
Thanks!

Using node 16.3.0

package.json

{
  "dependencies": {
    "three": "^0.129.0",
    "typescript": "^4.3.2"
  },
  "devDependencies": {
    "@types/node": "^15.12.2",
    "@types/three": "^0.129.1"
  }
}

tsconfig.json

{
  "compilerOptions": {
    "moduleResolution": "node",
    "target": "ES2016"
  }
}

DataTextureLoader.load - onLoad function takes two arguments

  • three version: 126

Problem description:

load(
  url: string,
  onLoad: (dataTexture: DataTexture) => void, // this is the problem
  onProgress?: (event: ProgressEvent) => void,
  onError?: (event: ErrorEvent) => void,
): void;

If you look at L98 of DataTextureLoader in three onLoad is called with two arguments. the return of this.parse

Suggested solution:

I'm not sure about this solution, it may need more investigation. But it might be the original object some of the settings the DataTexture has set....

    load(
        url: string,
        onLoad: (dataTexture: DataTexture, texData: object) => void,
        onProgress?: (event: ProgressEvent) => void,
        onError?: (event: ErrorEvent) => void,
    ): void;

has r127 been published to npm?

  • three version: 0.127.0
  • node version: 12.16.1
  • npm (or yarn) version: 1.22.4

Problem description:

I'm in the process of upgrading an app from three 125 to 127. I've done the upgrade to 126 successfully, using the version 0.126.2 of @types/three. So thanks a ton for taking ownership of those types.
And to upgrade to [email protected], I was expecting a similar version number for @types/three, but from what I see on https://www.npmjs.com/package/@types/three, 0.126.2 seems to be the latest published.

But then you seem to have released r127 https://github.com/three-types/three-ts-types/releases/tag/r127

Could it be that r127 has not yet been published to npm? Or I may be missing something obvious, so feel free to point me to the right direction if that's the case.

Relevant code:

N/A

Suggested solution:

N/A

r128

Issue Tracker

This is used to track potential issues we need to investigate surrounding the r128 release.

Last checked: mrdoob/three.js@a1cffe93fe (24 / 04 / 21).

0.132.1 serves type definition of r133 by mistake?

  • three version: Boundary between r132 / r133
  • node version: ----
  • npm (or yarn) version: ----

Problem description:

@types/three#0.132.1 .
I just noticed that the type signature of GLTFReference in GLTFLoader.d.ts has been changed to r133 's one by mistake.

You might possibly have been used dev instead of master when you publish 0.132.1 ...?

Relevant code:

GLTFLoader.d.ts @ @types/three#0.132.0:
https://unpkg.com/browse/@types/[email protected]/examples/jsm/loaders/GLTFLoader.d.ts

GLTFLoader.d.ts @ @types/three#0.132.1:
https://unpkg.com/browse/@types/[email protected]/examples/jsm/loaders/GLTFLoader.d.ts

The PR introduces the change ( three ):
mrdoob/three.js#21737

[RFC] Should BufferAttribute.array be TypedArray instead of ArrayLike?

Problem description:

Documented as BufferAttributes only being able to be given a TypedArray, but when you call attribute.array the return type is ArrayLike instead of a version of TypedArray – https://threejs.org/docs/#api/en/core/BufferAttribute

this becomes a problem in code like estimateBytesUsed in BufferGeometryUtils:

export function estimateBytesUsed(geometry: BufferGeometry) {
  let mem = 0
  for (let name in geometry.attributes) {
    const attr = geometry.getAttribute(name)
    mem += attr.count * attr.itemSize * (attr.array as TypedArray).BYTES_PER_ELEMENT // you have to typecase to get BYTES_PER_ELEMENT because it's not on ArrayLike
  }

  const indices = geometry.getIndex()
  mem += indices ? indices.count * indices.itemSize * (indices.array as TypedArray).BYTES_PER_ELEMENT : 0
  return mem
}

Suggested solution:

Could we use a generic to detect the type of TypedArray passed to the Attribute so that type is returned when we call attribute.array?

Issue: Some Declarations Might be `@deprecated`

Please help checking if the following declarations did exist before (=adds @deprecated),

or they're declared wrongly in the first place (=removes declarations)

Animation

AnimationUtils (src)

Core

BufferGeometry (src)

InstancedBufferGeometry (src)

Uniform (src)

Scenes

Scene (src)

  • onBeforeRender (inherit)
  • onAfterRender (inherit)

Math

Plane (src)

Textures

DataTexture (src)

  • format (override; should keep)

Renderers

WebGLRenderTarget (src)

export 'MathUtils' was not found in 'three/src/math/MathUtils'

  • three version: 128
  • node version: N/A
  • npm (or yarn) version: N/A

Problem description:

Hello!
I just upgraded to three 128 and I got this warning when importing MathUtils:

export 'MathUtils' was not found in 'three/src/math/MathUtils'

Relevant code:

Suggested solution:

Then I realised that the constant MathUtils was removed in mrdoob/three.js@354f955#diff-51e1b92f062cf4480aa81929bf6fdb7f5b1e33fd52adae367628639ab5ef5f84 to allow treeshaking. So MathUtils.d.ts should reflect that every function and constant is exported independently.

OBB.intersectsOBB epsilon argument should be optional

  • three version: - (current three.js github main branch)
  • node version: v14.15.4
  • npm (or yarn) version: npm 8.1.3

Problem description:

The second argument (epsilon) of OBB.intersectsOBB is required, even though the three.js code lets it default to Math.EPSILON
https://github.com/mrdoob/three.js/blob/dev/examples/jsm/math/OBB.js#L150

Relevant code:

firstObbInstance.intersectsOBB(otherObb); // ERROR: An argument for 'epsilon' was not provided

Suggested solution:

Change
https://github.com/three-types/three-ts-types/blob/master/types/three/examples/jsm/math/OBB.d.ts#L17
to make epsilon argument optional

Came from DefinitelyTyped/DefinitelyTyped#57959 @joshuaellis

Add missing dispose() methods

  • three version: 0.130.1
  • node version: v14.17.2
  • npm version: 6.14.13

Problem description:

It looks like some dispose() functions are missing.

Relevant code:

const axesHelper = new AxesHelper(5)
axesHelper.dispose()

 error TS2339: Property 'dispose' does not exist on type 'AxesHelper'.

Suggested solution:

Add dispose() function in helpers/AxesHelper.d.ts (and probably elsewhere).
See also: mrdoob/three.js#21577

Add Nodes

Describe the feature you'd like:

#129 (comment)

TLDR; Nodes is missing in three/examples/jsm/renderers/nodes and has partial support in three/examples/jsm/nodes. Would really appreciate some help getting these in order 🙏🏼

r133

Issue Tracker

This is used to track potential issues we need to investigate surrounding the r133 release.

  • [ ]

Last checked: mrdoob/three.js@2a741efea7 (30 / 08 / 21).

BufferGeometryUtils is now imported as `import * as BufferGeometryUtils from ...`

Describe the bug

With the release of 0.132.x the type definitions for BufferGeometryUtils appear to be broken.
I think the @types/three need to be updated accordingly. See:
https://github.com/mrdoob/three.js/wiki/Migration-Guide

To Reproduce

Import as suggested in the migration article:
import * as BufferGeometryUtils from "three/examples/jsm/utils/BufferGeometryUtils";

Use any of the utilities, i.e. BufferGeometryUtils.mergeVertices(geometry)

It break on the error:
Property 'mergeVertices' does not exist on type 'typeof ...

Live example

https://codesandbox.io/s/elated-rhodes-bifl9?file=/src/index.ts

Versions

three: 0.132.2
@types/three: 0.131.0

r138

r127

Issue Tracker

This is used to track potential issues we need to investigate surrounding the r127 release.

Last checked: mrdoob/three.js@0e8e04305a (30 / 03 / 21).

IFCLoader parse should return Mesh

  • three version: 0.129
  • node version: 12.16.0
  • npm version: 6.13.4

Problem description:

I think the parse method of the IFCLoader should return something and not void, isn't it @agviegas? For instance with the ColladaLoader, the user can directly use the parse method with the content of the Collada file as a string or a Buffer.

I saw you recently updated the typings for your library, but this remained untouched.

From what I read in the code, I think it outputs a Mesh (i.e. the output of the function generateAllGeometriesByMaterial).

Relevant code:

parse(data: ArrayBuffer | string): void;

Suggested solution:

parse(data: ArrayBuffer | string): Mesh;

r131

Issue Tracker

This is used to track potential issues we need to investigate surrounding the r131 release.

  • NAME (mrdoob/three.js#)

Last checked: mrdoob/three.js@8837fac2a9 (05 / 07 / 21).

Add WebGPU files

Describe the feature you'd like:

One of the biggest pieces of three that unknowingly to me is missing, is the webgpu and nodes files missing from examples/jsm/renderers. I've had a go myself at piecing it together and I think it needs someone who really understands it to make it work properly without countless bugs.

I do know currently you need to add @webgpu/types to the project as gpu is not yet officially extended from Navigator. There's a branch already with some work if someone wants to pick it up – r126-node-materiallight, but anyone is welcome to start from scratch.

Of course, we're all here to support where we can, this isn't a lone effort and it'd be great to have this in the repo.

r133

[feature] Make Meshes generic again

I believe we should undo this commit mrdoob/three.js@8c4ff57 & make meshes a generic again that would extend BufferGeometry and Material. Not doing so causes loads of headaches using React.useRef() with GLTF models & you end up having to Typecast every time you want to access a property on the material that isn't part of the default Material. Thoughts?

OrbitalControls -> Allow mouse control to be null

image
When using TypeScript the mouse control is not allowed to be nullable when in fact I wish to not have any control for that mouse button.

The typescript definition should allow MOUSE | undefined | null

Incorrect type definition for the setOpaqueSort / setTransparentSort

  • three version: 126

Problem description:

setOpaqueSort and setTransparentSort method arguments are documented as () => void thus passing a custom comparator in Typescript codebase leads to an error.

Here are the Type declarations:
https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/types/three/src/renderers/WebGLRenderer.d.ts#L289
https://github.com/three-types/three-ts-types/blob/master/types/three/src/renderers/WebGLRenderer.d.ts#L289
https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/types/three/src/renderers/webgl/WebGLRenderLists.d.ts#L55

Relevant code:

const painterSort = (a: Object, b: Object): number => { 
  return 0;
};
let renderer.setOpaqueSort(painterSort);

Suggested solution:

setOpaqueSort and setTransparentSortmethod argument types should be documented as:

(a: any, b: any) => number

The same goes for the sort method of the WebGLRenderLists.

r126

This issue exists to track the status of the changes for r126 that might also need type changes.

Last checked: mrdoob/three.js@29fbc8788a (24 / 02 / 21).

[infrastructure] automate this repo to the DT repo

It'd be good to get a pipeline working where the following steps occur:

  1. We push to the master branch of the repo
  2. Creates a PR into our DT fork with only the types folder
  3. Once merged, creates a PR to the original DT fork

It'd be good to have this on Github, however looking at p5-types set up I think it'd have to be some kind of node job on your machine (I could be wrong).

r132

Issue Tracker

This is used to track potential issues we need to investigate surrounding the r132 release.

Last checked: mrdoob/three.js@dc86b54624 (30 / 08 / 21).

InstancedMesh geometry & material are not optional

  • three version: 0.129.0
  • node version: 16
  • npm (or yarn) version: 7

Problem description:

geometry and material are not optional see pmndrs/racing-game#128

Relevant code:

    <instancedMesh ref={ref} args={[null, null, count]}>
      <boxGeometry args={[size, size, size]} />
      <meshBasicMaterial color="#5ecfff" transparent opacity={opacity} depthWrite={true} />
    </instancedMesh>

Suggested solution:

geometry & material should be optional.

Several missing functions/props for r128

  • three version: r128
  • "@types/three": "^0.92.20"

Problem description:

I updated my project from r124 to r128, installed the three typings as stated here, but still have a few functions/properties that are missing. I dont know if the typings are missing or whether they got replaced/removed. I still find them in the docs of threejs. Found nothing about it in the changelogs

Relevant code:

onBeforeCompile on MeshDepthMaterial

new THREE.MeshDepthMaterial().onBeforeCompile = (shader) => { } 

Property ‘onBeforeCompile’ does not exist on type ‘MeshDepthMaterial’.

renderer.render(…) render mesh instead of scene

this.renderer.render( mesh, camera )

Argument of type ‘Mesh’ is not assignable to parameter of type ‘Scene’.

Renderer outputencoding

renderer.outputEncoding = THREE.sRGBEncoding

Property ‘outputEncoding’ does not exist on type ‘WebGLRenderer’.

WebGLMultisampleRenderTarget

new THREE.WebGLMultisampleRenderTarget()

Property ‘WebGLMultisampleRenderTarget’ does not exist on type ‘typeof import("…/node_modules/@types/three/index")’.

mesh.material = [mat1, mat2, mat3, mat4, mat5, mat6]

Type ‘Material[]’ is not assignable to type ‘MeshBasicMaterial | MeshDepthMaterial | MeshLambertMaterial | MeshStandardMaterial | … 5 more … | MeshMaterialType[]’.

Do I have to make every Material type MeshMaterialType now?

Any help appreciated

r137

extending THREE.Curve

Hi, my question may be silly , but why I have this mistake, when I want to extend Curve ?

class Polyline3D extends THREE.Curve {
=> Generic type 'Curve' requires 1 type argument(s).ts(2314)

Add concrete types to the `image` and `mipmaps` properties of Texture

Describe the feature you'd like:

image: any; // HTMLImageElement or ImageData or { width: number, height: number } in some children;

mipmaps: any[]; // ImageData[] for 2D textures and CubeTexture[] for cube textures;

If it's certain that these are the only types they can have, then they can be added to the type declaration itself.

However, note that this is a breaking change for the transpilation of TS code which directly uses any sub-properties of these properties (except .image.width and .image.height, which are always present) or casts one of them to an unrelated type.

Suggested implementation:

    /**
     * @default THREE.Texture.DEFAULT_IMAGE
     */
    image: HTMLImageElement | ImageData | {width: number, height: number};

    /**
     * The array of the texture mipmaps ({@link ImageData} for 2D textures and {@link CubeTexture} for cube textures).
     * 
     * @default []
     */
    mipmaps: ImageData[] | CubeTexture[];

This is based on my understanding that if it's a 2D texture, then all of its mipmaps are of type ImageData, and if it's a cube texture, then all of its mipmaps are of type CubeTexture. If I'm wrong, then it should be mipmaps: (ImageData | CubeTexture)[] instead.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.